Created
March 7, 2023 13:43
-
-
Save barrybtw/d4244e26b35d7e728fb818c52167a2db to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| use dotenv::dotenv; | |
| use std::env; | |
| use serenity::async_trait; | |
| use serenity::framework::standard::macros::{command, group}; | |
| use serenity::framework::standard::{CommandResult, StandardFramework}; | |
| use serenity::model::channel::Message; | |
| use serenity::prelude::*; | |
| #[group] | |
| #[commands(ping)] | |
| struct General; | |
| struct Handler; | |
| #[async_trait] | |
| impl EventHandler for Handler {} | |
| #[tokio::main] | |
| async fn main() { | |
| dotenv().ok(); | |
| let framework = StandardFramework::new() | |
| .configure(|c| c.prefix("!")) | |
| .group(&GENERAL_GROUP); | |
| // Login with a bot token from the environment | |
| let token = env::var("DISCORD_TOKEN").expect("Discord token missing!"); | |
| let intents = GatewayIntents::non_privileged() | GatewayIntents::MESSAGE_CONTENT; | |
| let mut client = Client::builder(token, intents) | |
| .event_handler(Handler) | |
| .framework(framework) | |
| .await | |
| .expect("Error creating client"); | |
| // start listening for events by starting a single shard | |
| if let Err(why) = client.start().await { | |
| println!("An error occurred while running the client: {:?}", why); | |
| } | |
| } | |
| #[command] | |
| async fn ping(ctx: &Context, msg: &Message) -> CommandResult { | |
| msg.reply(ctx, "Pong!").await?; | |
| Ok(()) | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment