pikadick/commands/
ping.rs

1use anyhow::Context as _;
2use serenity::builder::{
3    CreateInteractionResponse,
4    CreateInteractionResponseMessage,
5};
6
7/// Create a slash command
8pub fn create_slash_command() -> anyhow::Result<pikadick_slash_framework::Command> {
9    pikadick_slash_framework::CommandBuilder::new()
10        .name("ping")
11        .description("Respond with pong")
12        .on_process(|ctx, interaction, _args: ()| async move {
13            let message_builder = CreateInteractionResponseMessage::new().content("pong");
14            let response = CreateInteractionResponse::Message(message_builder);
15            interaction.create_response(&ctx.http, response).await?;
16            Ok(())
17        })
18        .build()
19        .context("failed to build command")
20}