use crate::{Context, Error}; use poise::serenity_prelude::{self as serenity, Activity}; /// Pings the bot #[poise::command(prefix_command, slash_command)] pub async fn ping(ctx: Context<'_>) -> Result<(), Error> { ctx.say("Pong!").await?; Ok(()) } /// Shows information about the bot #[poise::command(prefix_command, slash_command)] pub async fn about(ctx: Context<'_>) -> Result<(), Error> { let current_version = env!("CARGO_PKG_VERSION"); if let Err(e) = ctx .send(|m| { m.embed(|e| { e.title("Glitch"); e.description("A pony who just wants to help out!"); e.field("Creator", "<@118455061222260736>", true); e.field("Avatar", "<@678816040146436117>", true); e.field("Action GIFs", "<@678816040146436117>", true); e.field("Support the author!", "https://ko-fi.com/muirrum", false); e.footer(|f| { f.text(format!("Running version: {}", current_version)) }) }) }) .await { return Err(e.into()); } Ok(()) } #[poise::command(prefix_command, slash_command, context_menu_command = "User Info")] pub async fn userinfo( ctx: Context<'_>, #[description = "The user to get info on"] user: serenity::User, ) -> Result<(), Error> { Ok(()) } #[poise::command(prefix_command, slash_command, owners_only, hide_in_help)] pub async fn set_status( ctx: Context<'_>, #[description = "Custom game to play"] game: String, ) -> Result<(), Error> { ctx.discord().set_activity(Activity::playing(game)).await; Ok(()) }