Rust implementation of the Harmony chat protocol. Currently implements a lightweight client and a client API (powered by hrpc), along with auto generated API via hrpc-build.
nix-shell
(or nix develop
if you use flakes) should get you covered.protoc
is in your PATH
env variable.
build.rs
fails, make sure to set: PROTOC
env variable to your protoc
executablePROTOC_INCLUDE
env variable to wherever protobuf include files are located, most likely in /usr/share/include
.echo_bot
: Showcases a simple message echo bot that operates in a guild. It will repost messages whenever someone else posts a message.message_log
: Showcases a simple message log bot that operates in a guild. It will log messages to the console whenever someone posts a message.cmd_bot
: A more complex bot that responds to "commands". The commands are:
GUILD_INVITE=invite cargo run --example example_name
.parking_lot
feature if you want to use parking_lot sync
types instead of std::sync
.client
feature for a lightweight client implementation and the client API.request_method
feature to enable a request method in Client
which allows you to make requests using Client::request().gen_client
feature to generate client service code.gen_server
feature to generate server service code.gen_chat
feature to generate chat service code.gen_auth
feature to generate auth service code.gen_voice
feature to generate voice service code.gen_mediaproxy
feature to generate media proxy service code.gen_harmonytypes
feature to generate common Harmony types.Minimum Supported Rust Version: previous stable.
Changing MSRV is not considered a semver-breaking change.