panda

Crates.iopanda
lib.rspanda
version0.5.3
sourcesrc
created_at2020-03-13 18:53:25.287254
updated_at2020-06-13 19:31:07.22133
descriptionAn async Rust library for Discord
homepage
repositoryhttps://github.com/xyaman/panda
max_upload_size
id218312
size196,236
Diego BarrĂ­a (xyaman)

documentation

README



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
Commit count: 38

cargo fmt