Add more words to the censored words list

This commit is contained in:
2025-08-18 19:17:37 -03:00
parent 2f99b32aea
commit 31bb63a77a
11 changed files with 363 additions and 16 deletions
+1
View File
@@ -5,3 +5,4 @@
pub mod commands;
pub mod events;
pub mod permissions;
+36
View File
@@ -0,0 +1,36 @@
use async_trait::async_trait;
use crate::{
framework::commands::{CommandError, context::CommandContext, permissions::Permission},
state::State,
};
#[derive(Debug)]
pub struct GuildOnlyPermission;
#[async_trait]
impl Permission<State> for GuildOnlyPermission {
async fn check(&self, ctx: &CommandContext<State>) -> Result<bool, CommandError> {
Ok(ctx.event.guild_id.is_none())
}
}
#[derive(Debug)]
pub struct ServerModeratorPermission;
#[async_trait]
impl Permission<State> for ServerModeratorPermission {
async fn check(&self, ctx: &CommandContext<State>) -> Result<bool, CommandError> {
let member = ctx
.rt
.http
.guild_member(ctx.event.guild_id.unwrap(), ctx.event.author.id)
.await
.map_err(CommandError::DiscordAPIFailed)?
.model()
.await
.map_err(CommandError::DiscordDeserializationFailed)?;
Ok(true)
}
}