Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript discord.js当出现';在我的取消静音命令中没有提到_Javascript_Discord.js - Fatal编程技术网

Javascript discord.js当出现';在我的取消静音命令中没有提到

Javascript discord.js当出现';在我的取消静音命令中没有提到,javascript,discord.js,Javascript,Discord.js,所以我做了一个静音和取消静音的命令,静音的效果很好,我只需要添加一些东西,取消静音的效果也很好,但是当没有提到的人(例如q!unmute,而不是q!unmute[user])时,机器人崩溃了,我尝试了catch之类的东西,但我真的不明白它们是如何工作的,我对js是个新手,这是应发送“您必须提及用户”错误的字符串: 以下是代码的其余部分: module.exports = { name: 'unmute', description: 'unmutes a muted member'

所以我做了一个静音和取消静音的命令,静音的效果很好,我只需要添加一些东西,取消静音的效果也很好,但是当没有提到的人(例如q!unmute,而不是q!unmute[user])时,机器人崩溃了,我尝试了catch之类的东西,但我真的不明白它们是如何工作的,我对js是个新手,这是应发送“您必须提及用户”错误的字符串:

以下是代码的其余部分:

module.exports = {
    name: 'unmute',
    description: 'unmutes a muted member',
    execute(message, args, Discord) {

        if (message.member.hasPermission('MANAGE_ROLES')) {

            const role = message.guild.roles.cache.find(role => role.name === 'Muted');
            const member = message.mentions.members.first();
            var unmuteChannel = message.guild.channels.cache.find(channel => channel.name.includes("modlogs"));

            const unmuteEmbed = new Discord.MessageEmbed()
            .addField("Unmuted user", member)
            .setFooter(`Unmuted by ${message.author.tag}`)
            .setTimestamp();

            
            member.roles.remove(role);
            message.channel.send(`${member} Has Been Unmuted`);
            unmuteChannel.send(unmuteEmbed); 
        
        if (!member) return message.channel.send("You have to mention a valid member");

        }
        
    }
}

我希望您能在代码中帮助检查所提到的用户是否为空,但它位于函数的末尾。我认为,在获得值后立即输入if应该会起作用:

module.exports={
名称:“取消静音”,
description:“取消静音成员的静音”,
执行(消息、参数、不一致){
if(message.member.hasPermission('MANAGE_ROLES')){
const role=message.guild.roles.cache.find(role=>role.name=='Muted');
const member=message.indications.members.first();
if(!member)返回message.channel.send(“您必须提及有效的成员”);
var unmutexchannel=message.guild.channels.cache.find(channel=>channel.name.includes(“modlogs”);
const unmuteEmbed=new Discord.MessageEmbed()
.addField(“非静音用户”,成员)
.setFooter(`unmute by${message.author.tag}`)
.setTimestamp();
member.roles.remove(角色);
message.channel.send(`${member}已取消静音`);
unmutexchannel.send(unmutexembed);
}
}
}
移动

if(!member)返回message.channel.send(“您必须提及有效的成员”);
下面是定义成员的位置

const member=message.indetions.members.first();

设置变量后,尝试将错误处理移到右侧。
module.exports = {
    name: 'unmute',
    description: 'unmutes a muted member',
    execute(message, args, Discord) {

        if (message.member.hasPermission('MANAGE_ROLES')) {

            const role = message.guild.roles.cache.find(role => role.name === 'Muted');
            const member = message.mentions.members.first();
            var unmuteChannel = message.guild.channels.cache.find(channel => channel.name.includes("modlogs"));

            const unmuteEmbed = new Discord.MessageEmbed()
            .addField("Unmuted user", member)
            .setFooter(`Unmuted by ${message.author.tag}`)
            .setTimestamp();

            
            member.roles.remove(role);
            message.channel.send(`${member} Has Been Unmuted`);
            unmuteChannel.send(unmuteEmbed); 
        
        if (!member) return message.channel.send("You have to mention a valid member");

        }
        
    }
}