From d39a56111cc7457f5b7d3602fc0fdef9ddb056ab Mon Sep 17 00:00:00 2001 From: Tom Watson Date: Sat, 18 Apr 2026 17:35:20 +0200 Subject: [PATCH] Merge pull request #12 from twatson/ban-error-message Added error checks to kick and ban for better error messaging --- src/commands/moderation/ban.ts | 12 +++++++++++- src/commands/moderation/kick.ts | 11 +++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/commands/moderation/ban.ts b/src/commands/moderation/ban.ts index 8eebd7d..6f13ab8 100644 --- a/src/commands/moderation/ban.ts +++ b/src/commands/moderation/ban.ts @@ -26,10 +26,20 @@ export default { if (!member.permissions.has(PermissionsBitField.Flags.BanMembers)) { return } - + const target = interaction.options.getUser('target', true); const reason = interaction.options.getString('reason') ?? 'No reason provided'; + if (target.id === interaction.user.id) { + await interaction.reply({ content: `${emojis.rightArrow2} You cannot ban yourself.`, ephemeral: true }); + return; + } + + if (target.id === interaction.guild?.ownerId) { + await interaction.reply({ content: `${emojis.rightArrow2} You cannot ban the server owner.`, ephemeral: true }); + return; + } + const confirm = new ButtonBuilder() .setCustomId('confirm') .setLabel('Confirm Ban') diff --git a/src/commands/moderation/kick.ts b/src/commands/moderation/kick.ts index 63932b7..86cad19 100644 --- a/src/commands/moderation/kick.ts +++ b/src/commands/moderation/kick.ts @@ -30,6 +30,17 @@ export default { const target = interaction.options.getUser('target', true); const reason = interaction.options.getString('reason') ?? 'No reason provided'; + if (target.id === interaction.user.id) { + await interaction.reply({ content: `${emojis.rightArrow2} You cannot ban yourself.`, ephemeral: true }); + return; + } + + if (target.id === interaction.guild?.ownerId) { + await interaction.reply({ content: `${emojis.rightArrow2} You cannot ban the server owner.`, ephemeral: true }); + return; + } + + const confirm = new ButtonBuilder() .setCustomId('confirm') .setLabel('Confirm Ban')