# adiscord An API and Gateway Discord wrapper in Rust ## Installation Use the package manager [cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html) to install adiscord. ### API installation ```bash cargo add adiscord cargo add tokio --features rt-multi-thread ``` ### Gateway installation ```bash 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 ```rust 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 ```rust 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](https://choosealicense.com/licenses/mit/)