diff --git a/commands/config.js b/commands/config.js index 6f16974..83df6bc 100644 --- a/commands/config.js +++ b/commands/config.js @@ -264,14 +264,17 @@ module.exports = { const channelColor = GuildDB.customChannelStatus ? '+ ' : '- '; const botAdminRole = GuildDB.botAdmin ? `\n╚➤ <@&${GuildDB.botAdmin}>` : ''; const botAdminRoleColor = GuildDB.botAdmin ? `+ ` : '- '; - + const excludedRolesColor = GuildDB.excludedRoles.length > 0 ? `+ ` : '- '; + const excludedRolesInfo = GuildDB.excludedRoles.length > 0 ? '\n╚➤ \`/excluded\` to view' : ''; + const settingsEmbed = new EmbedBuilder() .setColor(client.config.Colors.Default) .setTitle('Current Guild Configurations') .addFields( { name: 'Guild ID', value: `\`\`\`arm\n${GuildDB.serverID}\`\`\``, inline: true }, { name: 'Has Allowed Channels?', value: `\`\`\`diff\n${channelColor}${GuildDB.customChannelStatus}\`\`\`${channelsInfo}`, inline: true }, - { name: 'Has bot admin role?', value: `\`\`\`diff\n${botAdminRoleColor}${client.exists(GuildDB.botAdmin)}\`\`\`${botAdminRole}`, inline: true }, + { name: 'Has bot admin role?', value: `\`\`\`diff\n${botAdminRoleColor}${client.exists(GuildDB.botAdmin)}\`\`\`${botAdminRole}`, inline: true }, + { name: 'Excluded roles?', value: `\`\`\`diff\n${excludedRolesColor}${GuildDB.excludedRoles.length > 0}\`\`\`${excludedRolesInfo}` }, ); return interaction.send({ embeds: [settingsEmbed] }); diff --git a/commands/excluded.js b/commands/excluded.js new file mode 100644 index 0000000..a4db0ec --- /dev/null +++ b/commands/excluded.js @@ -0,0 +1,46 @@ +const { EmbedBuilder } = require('discord.js'); + +module.exports = { + name: "excluded", + debug: false, + global: false, + description: "view a list of excluded roles", + usage: "", + permissions: { + channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], + member: [], + }, + options: [], + SlashCommand: { + /** + * + * @param {require("../structures/QuarksBot")} client + * @param {import("discord.js").Message} message + * @param {string[]} args + * @param {*} param3 + */ + run: async (client, interaction, args, { GuildDB }) => { + if (GuildDB.excludedRoles.length == 0) { + let noExcludes = new EmbedBuilder() + .setColor(client.config.Colors.Default) + .setTitle('Excluded Roles') + .setDescription('> There have been no configured channels'); + + return interaction.send({ embeds: [noExcludes] }); + } + + let excluded = new EmbedBuilder() + .setColor(client.config.Colors.Default) + .setTitle('Channels') + + let des = '*These roles you cannot use to claim an armband.'; + for (let i = 0; i < GuildDB.excludedRoles.length; i++) { + des += `\n> <@&${GuildDB.excludedRoles[i]}>`; + } + excluded.setDescription(des); + + return interaction.send({ embeds: [excluded] }); + }, + }, + Interactions: {} +} diff --git a/package.json b/package.json index 5cb4f05..01d364f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dayz-armbands", - "version": "4.3.2", + "version": "4.4.0", "description": "A Discord Bot to handle DayZ server flags and armbands for in game factions.", "main": "index.js", "nodemonConfig": {