refluxer
Rust API wrapper for Fluxer — a free and open source instant messaging and VoIP platform.
Features
- HTTP REST API — typed client for Fluxer's HTTP API with rate limiting
- WebSocket Gateway — real-time event stream with auto-reconnect
- High-level Client — event handler framework for building bots
- Feature flags — include only what you need
Quick Start
[]
= { = "0.1", = ["client"] }
= { = "1", = ["macros", "rt-multi-thread"] }
= "0.1"
use Message;
use ;
;
async
Feature Flags
| Feature | Description | Default |
|---|---|---|
http |
REST client + models | yes |
gateway |
WebSocket Gateway (includes http) |
no |
client |
High-level framework (includes gateway) |
no |
HTTP-Only Usage
[]
= "0.1" # default features = ["http"]
let http = new?;
let user = http.get_current_user.await?;
Self-Hosted Instances
let http = builder
.token
.base_url
.build?;
Examples
Lightweight examples live in refluxer/examples:
FLUXER_TOKEN=your_token
FLUXER_TOKEN=your_token
Dependency-heavy examples are standalone Cargo projects so they do not affect the main crate's dependency graph:
Bot examples require FLUXER_TOKEN. card_bot also requires OPENAI_API_KEY.
Release Checks
Publishing
Publishing is automated by GitHub Actions when a v* tag is pushed. The tag
version must match the crate version, for example v0.2.0.
The repository must have a CARGO_REGISTRY_TOKEN secret with permission to
publish refluxer.
License
MIT