11 releases (4 breaking)
0.5.3 | Jun 13, 2020 |
---|---|
0.5.2 | May 26, 2020 |
0.4.2 | May 24, 2020 |
0.4.0 | Apr 30, 2020 |
0.1.0 | Mar 13, 2020 |
#105 in #async-std
29 downloads per month
145KB
3K
SLoC
A powerful async Rust library for interacting with Discord's API
Even thought this library is usable, it still under development, so don't use for production yet.
Note that this library doesn't support the 100% of discord API yet, for example voice. See
TODO list
to more information.
Installation
cargo add panda
or in Cargo.toml
panda = "0.5.3"
Configuring async runtime
panda supports tokio
and async-std
runtimes, by default it uses tokio
,
to use async-std
change the feature flags in Cargo.toml
[dependencies.panda]
version = "0.5.3"
default-features = false
features = ["async-std-runtime"]
Example usage
It will print the bot name when the bot is ready.
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut client = panda::new("your token here").await?;
client.on_ready(|s, ready| async move {
println!("Bot {} is ready", ready.user.username);
Ok(())
});
client.start().await?;
Ok(())
}
All events are in the Discord Documentation, and to use it in client, you have to use client.on_
plus
the event in snake case.
TODO list
- Finish http requests.
- Improve panda error.
- Add voice support.
- Improve documentation.
- Add tests
Dependencies
~14–32MB
~517K SLoC