diff --git a/src/command/fun.rs b/src/command/fun.rs index e69de29..866dddb 100644 --- a/src/command/fun.rs +++ b/src/command/fun.rs @@ -0,0 +1,29 @@ +use crate::Context; +use crate::Error; + +use rand::prelude::SliceRandom; +use rand::*; + +/// mrow +#[poise::command(slash_command)] +pub async fn meow(ctx: Context<'_>) -> Result<(), Error> { + let meows = [ + "meow", + "mrow", + "mrrrp", + "mraaw", + "bwrrrr", + "mrrghh", + "waoaugh,,,,", + ]; + let response = { + let mut rng = rand::thread_rng(); + match rng.gen_bool(0.1) { + true => "woof", + false => meows.choose(&mut rng).unwrap(), + } + }; + ctx.say(response).await?; + info!("Executed command `meow` successfully"); + Ok(()) +} diff --git a/src/command/mod.rs b/src/command/mod.rs index 1ba8b87..74733b0 100644 --- a/src/command/mod.rs +++ b/src/command/mod.rs @@ -1,2 +1,3 @@ pub mod devel; +pub mod fun; pub mod util; diff --git a/src/main.rs b/src/main.rs index ed7bf68..669fc9a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -24,6 +24,8 @@ mod command; use crate::command::{ // Commands for development and testing devel::*, + // Fun!!! + fun::*, // Useful commands for mods util::*, }; @@ -75,13 +77,17 @@ async fn main() { // | ADD COMMANDS HERE | // +---------------------------------------------------------+ commands: vec![ + // Util age(), info(), add_channel(), remove_channel(), list_channels(), + // Dev shutdown(), restart(), + // Fun + meow(), ], initialize_owners: true, ..Default::default()