Files
New-Alan/src/main.rs
2023-03-08 23:53:12 -05:00

52 lines
1.5 KiB
Rust

/* TODO: Use tracing for better debugging following events */
use std::env;
use serenity::prelude::*;
use serenity::framework::standard::{StandardFramework};
// This trait adds the `register_songbird` and `register_songbird_with` methods
// to the client builder below, making it easy to install this voice client.
// The voice client can be retrieved in any command using `songbird::get(ctx).await`.
use songbird::SerenityInit;
mod commands;
use commands::*;
mod events;
use events::*;
#[tokio::main]
async fn main() {
// Trace async functions
tracing_subscriber::fmt::init();
// Configure the client with your Discord bot token in the environment.
let token = env::var("DISCORD_TOKEN").expect("Expected a token in the environment");
// Set gateway intents, which decides what events the bot will be notified about
let intents = GatewayIntents::GUILD_MESSAGES
| GatewayIntents::GUILD_VOICE_STATES
| GatewayIntents::GUILD_MESSAGE_REACTIONS
| GatewayIntents::GUILD_MESSAGE_TYPING
| GatewayIntents::DIRECT_MESSAGES
| GatewayIntents::DIRECT_MESSAGE_REACTIONS
| GatewayIntents::DIRECT_MESSAGE_TYPING
| GatewayIntents::MESSAGE_CONTENT;
let framework = StandardFramework::new()
.configure(|c| c.prefix("ALAN! "))
.group(&GENERAL_GROUP);
let mut client =
Client::builder(&token, intents)
.event_handler(Handler)
.framework(framework)
.register_songbird()
.await.expect("Err creating client");
if let Err(why) = client.start().await {
println!("Client error: {:?}", why);
}
}