# zynko (Rust)
Biblioteca oficial para bots do [Zynko](https://zynko.org) em Rust: gateway com reconexão,
servidores, canais e membros sempre atualizados, a API inteira, comandos com "/", cartões e
botões. Com a feature `voice`, o bot entra em salas de voz, toca áudio e ouve quem fala.
```sh
cargo add zynko tokio --features tokio/full
cargo add zynko --features voice # para voz
```
```rust
use zynko::{async_trait, Client, EventHandler, HandlerResult, Intents, Message};
struct Bot;
#[async_trait]
impl EventHandler for Bot {
async fn message_create(&self, _ctx: Client, msg: Message) -> HandlerResult {
if !msg.mine() && msg.content == "!ping" {
msg.reply("pong").await?;
}
Ok(())
}
}
#[tokio::main]
async fn main() -> zynko::Result<()> {
Client::builder(std::env::var("ZYNKO_TOKEN").expect("ZYNKO_TOKEN"))
.intents(Intents::GUILDS | Intents::MESSAGES)
.event_handler(Bot)
.build()?
.start()
.await
}
```
Exemplos em `examples/`: `ping`, `dado` (comandos, cartão e botão) e `musica`
(`cargo run --example musica --features voice`).
Enquanto o pacote não está no crates.io, use pelo caminho da pasta:
`zynko = { path = "../caminho/para/sdk/rust" }`.
No Windows, a voz precisa do runtime estático do C: veja `.cargo/config.toml` nesta pasta.
Documentação: [docs.zynko.org/bots/rust](https://docs.zynko.org/bots/rust).