adiscord

Crates.ioadiscord
lib.rsadiscord
version0.0.10
sourcesrc
created_at2023-03-26 15:19:08.605789
updated_at2023-09-10 21:01:42.834443
descriptionAn API and Gateway Discord wrapper in Rust
homepage
repositoryhttps://github.com/MoskalykA/adiscord
max_upload_size
id821294
size37,116
MoskalykA (MoskalykA)

documentation

https://docs.rs/adiscord

README

adiscord

An API and Gateway Discord wrapper in Rust

Installation

Use the package manager cargo to install adiscord.

API installation

cargo add adiscord
cargo add tokio --features rt-multi-thread

Gateway installation

cargo add adiscord --features gateway
cargo add adiscord_intents
cargo add tokio --features rt-multi-thread

Usage

(These examples require dotenv to be installed in order to have .env files. Here is the command cargo add dotenv)

Example with the API

use adiscord::Client;
use dotenv_codegen::dotenv;

#[tokio::main]
async fn main() {
    // Client initialisation
    let mut client = Client::new(dotenv!("TOKEN"));

    // Recover a server from its ID
    match client.guild.get("1089521338286342195").await {
        Ok(guild) => println!("{:?}", guild.name),
        Err(error) => println!("{:?}", error),
    };
}

Example with the Gateway

use adiscord::Client;
use adiscord_intents::Intent;
use dotenv_codegen::dotenv;

#[tokio::main]
async fn main() {
    // Client initialisation
    let mut client = Client::new(dotenv!("TOKEN"));

    // Receive heartbeat messages, delete this line if you do not wish to do so
    client.set_heartbeat_ack(true);

    // Send all the permissions you need from your bot to discord
    client.all_intents();

    // The ready event will be launched once your bot is connected
    client.on_ready(|ready| {
        println!("{:?}", ready);
    });
}

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT

Commit count: 134

cargo fmt