0
votes

Basically This command is giving one major issue and that the fact that when the user is muted he won't be unmuted because of the command not responding back to the mute command

const Discord = require('discord.js');
const fs = module.require('fs');

module.exports.run = async (client, message, args) => {

    if (!message.member.hasPermission('MANAGE_MESSAGES')) return;

    let unMute = message.mentions.members.first() || message.guild.members.cache.get(args[0]);
    if (!unMute) {
        let exampleEmbed = new Discord.MessageEmbed()
        .setDescription("__UNMUTE INFO__")
        .setColor(client.colors.success)
        .setThumbnail(client.user.displayAvatarURL())
        .addField(`Unmute Command`, `Unmutes a mentioned user.`)
        .addField(`Unmute Command`, `Unmutes User By Id.`)
        .addField("Example", `${client.config.prefix}Unmutes @user`)
        .addField("Example", `${client.config.prefix}Unmutes  @id`)
    
        message.channel.send(exampleEmbed);
    return;
}

    let role = message.guild.roles.cache.find(r => r.name === 'Muted');
        message.channel.send(`Please Check roles to be sure user was unmuted`);
    if (!role || !unMute.roles.cache.has(role.id)) return message.channel.send(`That user is not muted.`);

    if (!role || !unMute.roles.cache.has(User.id)) return message.channel.send(`----`);
    let guild = message.guild.id;
    let member = client.mutes[unMute.id];
    if (member) {
        if (member === message.guild.id) {
            delete client.mutes[unMute.id];

            fs.writeFile("./mutes.json", JSON.stringify(client.mutes), err => {
                if (err) throw err;
            })

            await unMute.roles.remove(role.id);
            message.channel.send(`:white_check_mark: ${unMute} Has been unmuted.`);
        }
        return;
    }
    await unMute.roles.remove(role.id);
    message.channel.send(`:white_check_mark: ${unMute} Has been unmuted.`);
    
    message.delete();


}


module.exports.config = {
    name: 'unmute',
    description: 'Unmute a user.',
    access: 'Manage Messages Permission',
    usage: 'unmute @vision'
}

I'm Also getting an error message when manually unmuting the user (node:6604) UnhandledPromiseRejectionWarning: ReferenceError: User is not defined

Any Form of help would be greatly appreciated and thank you for your time.

1

1 Answers

0
votes

On the line if (!role || !unMute.roles.cache.has(User.id)) return message.channel.send('----'), you reference the variable User, but you haven't definied it anywhere, and even if it was defined, you need a role not a member or user. I'm pretty sure it should instead be Role.id. Also, not 100% sure on this, but I tnink it should just be Role not Role.id.