feat(commands/moderation): adding the anyhow result return

This commit is contained in:
Raphael 2026-02-25 21:53:27 +01:00
parent b6958cf043
commit e0711a2a13
No known key found for this signature in database

View file

@ -1,5 +1,3 @@
use std::sync::atomic::AtomicU64;
use crate::commands::{CommandCategory, CommandEntry, SlashCommand}; use crate::commands::{CommandCategory, CommandEntry, SlashCommand};
use crate::config::EmojiConfig; use crate::config::EmojiConfig;
@ -7,19 +5,10 @@ use serenity::all::{
CommandInteraction, CommandOptionType, Context, CreateCommand, CreateCommandOption, CreateInteractionResponse, CreateInteractionResponseMessage, EditInteractionResponse, GetMessages, InteractionContext, Message, MessageId, Permissions CommandInteraction, CommandOptionType, Context, CreateCommand, CreateCommandOption, CreateInteractionResponse, CreateInteractionResponseMessage, EditInteractionResponse, GetMessages, InteractionContext, Message, MessageId, Permissions
}; };
use sqlx::PgPool; use sqlx::PgPool;
use tracing::info; use tracing::{debug, info};
use anyhow::Result;
pub struct Clear { pub struct Clear;
pub command_id: AtomicU64,
}
impl Clear {
pub fn new() -> Self {
Self {
command_id: AtomicU64::new(0),
}
}
}
#[serenity::async_trait] #[serenity::async_trait]
impl SlashCommand for Clear { impl SlashCommand for Clear {
@ -35,10 +24,6 @@ impl SlashCommand for Clear {
&CommandCategory::Moderation &CommandCategory::Moderation
} }
fn command_id_ref(&self) -> &AtomicU64 {
&self.command_id
}
fn register(&self) -> CreateCommand { fn register(&self) -> CreateCommand {
info!("\t✅ | {}", self.name()); info!("\t✅ | {}", self.name());
let mut options: Vec<CreateCommandOption> = Vec::new(); let mut options: Vec<CreateCommandOption> = Vec::new();
@ -64,8 +49,10 @@ impl SlashCommand for Clear {
command: &CommandInteraction, command: &CommandInteraction,
_database: &PgPool, _database: &PgPool,
_emoji: &EmojiConfig, _emoji: &EmojiConfig,
) -> Result<(), serenity::Error> { ) -> Result<()> {
let amount: u8 = command.data.options.get(0).unwrap().value.as_i64().expect("REASON") as u8; debug!("Clear command called");
let amount: u8 = command.data.options.iter().find(|opt | opt.kind() == CommandOptionType::Integer)
.unwrap().value.as_i64().expect("REASON") as u8;
let message: CreateInteractionResponseMessage = CreateInteractionResponseMessage::new() let message: CreateInteractionResponseMessage = CreateInteractionResponseMessage::new()
.content(format!("{} | Start to clear", _emoji.answer.loading)) .content(format!("{} | Start to clear", _emoji.answer.loading))
.ephemeral(true); .ephemeral(true);
@ -102,5 +89,5 @@ impl SlashCommand for Clear {
} }
inventory::submit! { inventory::submit! {
CommandEntry { create: || Box::new(Clear::new()) } CommandEntry { create: || Box::new(Clear) }
} }