From 7f675f4185f12b1d2c5987bec05965800ea9e2a6 Mon Sep 17 00:00:00 2001 From: SowinskiBraeden Date: Fri, 8 Nov 2024 12:56:29 -0800 Subject: [PATCH] update/disconnect nitrado credentials command --- commands/server.js | 61 +++++++++++++++++++++++++++++++++++++++++++++- package.json | 2 +- 2 files changed, 61 insertions(+), 2 deletions(-) diff --git a/commands/server.js b/commands/server.js index b0870fb..6ba757f 100644 --- a/commands/server.js +++ b/commands/server.js @@ -20,6 +20,12 @@ module.exports = { value: "initialize", type: CommandOptions.SubCommand, }, + { + name: "disconnect", + description: "Delete your Nitrado server from the bot database", + value: "disconnect", + type: CommandOptions.SubCommand, + }, { name: "ban-player", description: "Ban a player from the DayZ server", @@ -150,6 +156,26 @@ module.exports = { return interaction.showModal(NitradoCredentials); + } else if (args[0].name == 'disconnect') { + + const prompt = new EmbedBuilder() + .setTitle(`Delete your Nitrado Server?`) + .setDescription('**Notice:** This will completely delete your configured Nitrado server from the bot database.') + .setColor(client.config.Colors.Yellow) + + const opt = new ActionRowBuilder() + .addComponents( + new ButtonBuilder() + .setCustomId(`DeleteNitrado-yes-${interaction.member.user.id}`) + .setLabel("Yes") + .setStyle(ButtonStyle.Danger), + new ButtonBuilder() + .setCustomId(`DeleteNitrado-no-${interaction.member.user.id}`) + .setLabel("No") + .setStyle(ButtonStyle.Success) + ) + + return interaction.send({ embeds: [prompt], components: [opt], flags: (1 << 6) }); } if (!client.exists(GuildDB.Nitrado) || !client.exists(GuildDB.Nitrado.ServerID)) return interaction.send({ embeds: [new EmbedBuilder().setColor(client.config.Colors.Red).setDescription(`**Notice:**\nThis Discord guild has not been configured with a Nitrado DayZ server. To configure your guild, use `)] }); @@ -312,7 +338,40 @@ module.exports = { return interaction.update({ embeds: [], components: [], content: 'Cancelled Overwriting Nitrado Server Information', flags: (1 << 6) }); } } - } + }, + + DeleteNitrado: { + run: async(client, interaction, GuildDB) => { + if (!interaction.customId.endsWith(interaction.member.user.id)) + return interaction.reply({ content: 'This interaction is not for you', flags: (1 << 6) }); + + if (interaction.customId.split('-')[1] == 'yes') { + await client.dbo.collection('guilds').updateOne({ "server.serverID": GuildDB.serverID }, { $set: { "Nitrado": null } }, (err, _) => { + if (err) client.sendInternalError(interaction, err); + }); + + return interaction.update({ + embeds: [ + new EmbedBuilder() + .setColor(client.config.Colors.Green) + .setDescription(`**Success**\n> Successfully removed your Nitrado credentials from the database.`) + ], + components: [], + flags: (1 << 6) + }); + } else { + return interaction.update({ + embeds: [ + new EmbedBuilder() + .setColor(client.config.Colors.Green) + .setDescription(`**Cancelled**\n> Your Nitrado credentials were not removed from the database.`) + ], + components: [], + flags: (1 << 6) + }); + } + } + }, } } diff --git a/package.json b/package.json index 500a53b..454ea6d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dayzr-bot", - "version": "13.3.1", + "version": "13.3.2", "description": "A General Purpose Discord Bot for DayZ Nitrado Servers.", "main": "index.js", "nodemonConfig": {