Skip to content
This repository has been archived by the owner on Oct 4, 2021. It is now read-only.
/ panda Public archive

An async Rust library for Discord

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

xyaman/panda

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation



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

About

An async Rust library for Discord

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages