summaryrefslogtreecommitdiff
path: root/src/commands/moderation/actions.rs
diff options
context:
space:
mode:
authorseth <[email protected]>2023-12-15 01:14:15 -0500
committerseth <[email protected]>2023-12-15 16:41:13 -0500
commite38a441e37ec1a1dff07cf8bcff3e36a411709aa (patch)
tree4bb305a9981fca674c765eda35ec155f83b55367 /src/commands/moderation/actions.rs
parent89f34a53f7f89261bd23ebd06fb7531d6ceca101 (diff)
remove moderation commands
this was mainly an experiment; i don't think we need them
Diffstat (limited to 'src/commands/moderation/actions.rs')
-rw-r--r--src/commands/moderation/actions.rs84
1 files changed, 0 insertions, 84 deletions
diff --git a/src/commands/moderation/actions.rs b/src/commands/moderation/actions.rs
deleted file mode 100644
index f7ba7b7..0000000
--- a/src/commands/moderation/actions.rs
+++ /dev/null
@@ -1,84 +0,0 @@
-use crate::colors::Colors;
-use crate::Context;
-
-use color_eyre::eyre::{eyre, Result};
-use log::*;
-use poise::serenity_prelude::{CreateEmbed, User};
-
-fn create_moderation_embed(
- title: String,
- user: &User,
- delete_messages_days: Option<u8>,
- reason: String,
-) -> impl FnOnce(&mut CreateEmbed) -> &mut CreateEmbed {
- let reason = if reason.is_empty() {
- "n/a".to_string()
- } else {
- reason
- };
-
- let fields = [
- ("User", format!("{} ({})", user.name, user.id), false),
- ("Reason", reason, false),
- (
- "Deleted messages",
- format!("Last {} days", delete_messages_days.unwrap_or(0)),
- false,
- ),
- ];
-
- |e: &mut CreateEmbed| e.title(title).fields(fields).color(Colors::Red)
-}
-
-/// ban a user
-#[poise::command(
- slash_command,
- prefix_command,
- required_permissions = "BAN_MEMBERS",
- default_member_permissions = "BAN_MEMBERS"
-)]
-pub async fn ban_user(
- ctx: Context<'_>,
- user: User,
- delete_messages_days: Option<u8>,
- reason: Option<String>,
-) -> Result<()> {
- let days = delete_messages_days.unwrap_or(1);
- let guild = ctx
- .guild()
- .ok_or_else(|| eyre!("Couldn't get guild from message; Unable to ban!"))?;
-
- let reason = reason.unwrap_or_default();
-
- debug!("Banning user {} with reason {reason}", user.id);
- guild.ban_with_reason(ctx, &user, days, &reason).await?;
-
- let embed = create_moderation_embed("User banned!".to_string(), &user, Some(days), reason);
-
- ctx.send(|m| m.embed(embed)).await?;
-
- Ok(())
-}
-
-/// kick a user
-#[poise::command(
- slash_command,
- prefix_command,
- required_permissions = "KICK_MEMBERS",
- default_member_permissions = "KICK_MEMBERS"
-)]
-pub async fn kick_user(ctx: Context<'_>, user: User, reason: Option<String>) -> Result<()> {
- let guild = ctx
- .guild()
- .ok_or_else(|| eyre!("Couldn't get guild from message; Unable to ban!"))?;
-
- let reason = reason.unwrap_or_default();
-
- debug!("Kicking user {} for reason {reason}", user.id);
- guild.kick_with_reason(ctx, &user, &reason).await?;
-
- let embed = create_moderation_embed("User kicked!".to_string(), &user, None, reason);
- ctx.send(|m| m.embed(embed)).await?;
-
- Ok(())
-}