From 756c16e06f94c946ac023a0bf33fb140b0726083 Mon Sep 17 00:00:00 2001 From: naseif Date: Thu, 25 Nov 2021 08:36:21 +0000 Subject: [PATCH] [Enhancement] `addrole` command now can take role mention, name or id! deleted useless code from the interaction function --- commands/Admin/addrole.js | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/commands/Admin/addrole.js b/commands/Admin/addrole.js index 10fca15..2c3f8c3 100644 --- a/commands/Admin/addrole.js +++ b/commands/Admin/addrole.js @@ -1,19 +1,23 @@ const { SlashCommandBuilder } = require("@discordjs/builders"); const { Permissions } = require("discord.js"); const { embedMessage } = require("../../modules/embedSimple"); -const { getGuildUserFromMention } = require("../../modules/getUserFromMention"); +const { + getGuildUserFromMention, + getRoleFromMention, +} = require("../../modules/getUserFromMention"); module.exports = { name: "addrole", args: true, description: "Adds a role for a user", - usage: "addrole ", + usage: "addrole ", async run(message, args, client) { const guildUser = getGuildUserFromMention(args[0], message); const roleName = args[1]; - const roleToGive = message.guild.roles.cache.find( - (role) => role.name === `${roleName}` - ); + const roleToGive = + message.guild.roles.cache.find( + (role) => role.name === `${roleName}` || role.id === roleName + ) || (await getRoleFromMention(args[1], message)); if (!args[0]) return await message.channel.send({ @@ -92,18 +96,17 @@ module.exports = { .addUserOption((option) => option.setName("user").setDescription("Select a user").setRequired(true) ) - .addStringOption((option) => - option.setName("role").setDescription("role name").setRequired(true) + .addRoleOption((option) => + option + .setName("role") + .setDescription("role you wish to add to the user") + .setRequired(true) ), async execute(interaction, client) { await interaction.deferReply(); const user = interaction.options.getMember("user"); - const roleName = interaction.options.getString("role"); - const roleToGive = interaction.guild.roles.cache.find( - (role) => role.name === `${roleName}` - ); + const newRole = interaction.options.getRole("role"); - if (!roleToGive) return await interaction.followUp({embeds: [embedMessage("RED", `❌ | Role does not exist!`)]}); if (!interaction.member.permissions.has([Permissions.FLAGS.ADMINISTRATOR])) return await interaction.followUp({ embeds: [ @@ -115,12 +118,12 @@ module.exports = { }); try { - await user.roles.add(roleToGive); + await user.roles.add(newRole); await interaction.followUp({ embeds: [ embedMessage( "#9dcc37", - `✅ | ${user} has been given ${roleToGive} Role!` + `✅ | ${user} has been granted ${newRole} Role!` ), ], });