From c7727474c9d701e49f99370771c701174eec78d1 Mon Sep 17 00:00:00 2001 From: DeSqBlocki <53398124+DeSqBlocki@users.noreply.github.com> Date: Thu, 13 Feb 2025 21:31:42 +0100 Subject: [PATCH] Update channel.js --- commands/discord/channel.js | 44 +++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/commands/discord/channel.js b/commands/discord/channel.js index 6858278..2ad3f8b 100644 --- a/commands/discord/channel.js +++ b/commands/discord/channel.js @@ -54,6 +54,29 @@ async function getChannel(interaction) { }, 5000)) } } +async function unsetChannel(interaction) { + const event = interaction.options.getString('event') + const db = mClient.db('guilds') + const coll = db.collection(interaction.guild.id) + + try { + await coll.deleteOne({ + event: event + }) + + return interaction.editReply({ + content: `Channel for Event: ${event} has been unset`, + flags: MessageFlags.Ephemeral + }) + } catch (error) { + return interaction.editReply({ + content: `**[ERROR]:** ${event} is currently not set to any channel`, + flags: MessageFlags.Ephemeral + }).then(setTimeout(() => { + interaction.deleteReply() + }, 5000)) + } +} module.exports = { data: new SlashCommandBuilder() .setName('channel') @@ -100,6 +123,24 @@ module.exports = { ]) .setRequired(true) ) + ) + .addSubcommand(s => + s + .setName('unset') + .setDescription('unset channel for certain events') + .addStringOption(o => + o + .setName('event') + .setDescription('choose the event') + .addChoices([ + { "name": "When a user joins this server", "value": "GuildMemberAdd" }, + { "name": "When a user left this server", "value": "GuildMemberRemove" }, + { "name": "When it's a users birthday", "value": "Discord/Birthday" }, + { "name": "When debug logs are sent", "value": "Discord/Logs" }, + { "name": "When stream is live", "value": "Twitch/Online" } + ]) + .setRequired(true) + ) ), async execute(interaction) { if (!interaction.member.permissions.has("ADMINISTRATOR")) { @@ -116,6 +157,9 @@ module.exports = { case "get": getChannel(interaction) break; + case "unset": + unsetChannel(interaction) + break; default: break; }