Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.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
Node.js 您好,我正在为discord bot编写一些代码,当我执行取消静音和静音时,我正在尝试让它发送消息_Node.js_Discord.js - Fatal编程技术网

Node.js 您好,我正在为discord bot编写一些代码,当我执行取消静音和静音时,我正在尝试让它发送消息

Node.js 您好,我正在为discord bot编写一些代码,当我执行取消静音和静音时,我正在尝试让它发送消息,node.js,discord.js,Node.js,Discord.js,我正在为discord bot编写一些代码,在我执行取消静音和静音的过程中,我试图让它发送一条消息,如果它们已经被静音或未静音,但我无法正确执行任何帮助都会非常有用。 多谢各位 module.exports = { name: 'unmute', description: "This unmutes a member", execute(message, args){ if (message.member.ha

我正在为discord bot编写一些代码,在我执行取消静音和静音的过程中,我试图让它发送一条消息,如果它们已经被静音或未静音,但我无法正确执行任何帮助都会非常有用。 多谢各位

module.exports = {
    name: 'unmute',
    description: "This unmutes a member",
    execute(message, args){
        
            if (message.member.hasPermission('MUTE_MEMBERS')) {
                
                if (member.roles.cache.has(mainRoleId)){
                return message.channel.send('Provided member isnt muted');

                }else{

                const target = message.mentions.users.first();
        if(target){
            let mainRole = message.guild.roles.cache.find(role => role.name === 'Verified');
            let muteRole = message.guild.roles.cache.find(role => role.name === 'MUTED');

            let memberTarget= message.guild.members.cache.get(target.id);

            memberTarget.roles.remove(muteRole.id);
            memberTarget.roles.add(mainRole.id);
            message.channel.send(`<@${memberTarget.user.id}> has been unmuted`);
        } else{
            message.channel.send('Cant find that member!');
        }         
        }else { 
             message.reply('you do not have permissions to use this command');
            }
        }
    }
module.exports={
名称:“取消静音”,
description:“这将取消成员的静音”,
执行(消息,参数){
if(message.member.hasPermission('MUTE_MEMBERS')){
if(member.roles.cache.has(mainRoleId)){
返回message.channel.send('提供的成员未静音');
}否则{
const target=message.indications.users.first();
如果(目标){
让mainRole=message.guild.roles.cache.find(role=>role.name==='Verified');
让muteRole=message.guild.roles.cache.find(role=>role.name=='MUTED');
让memberTarget=message.guild.members.cache.get(target.id);
memberTarget.roles.remove(muteRole.id);
memberTarget.roles.add(mainRole.id);
message.channel.send(`has unmute`);
}否则{
message.channel.send('找不到该成员!');
}         
}否则{
message.reply('您没有使用此命令的权限');
}
}
}

mainRoleId
和被静音的成员之间有什么关系?如果我正确理解您的推理,您应该声明
let muteRole=message.guild.roles.cache.find(role=>role.name====“muted”);
If
语句的开头,然后使用

 if (!member.roles.cache.has(muteRoleId)){
                return message.channel.send('Provided member isn't muted.');

一旦有人忘记传递参数,您的机器人就会崩溃。请记住,在命令开始时进行一些傻瓜式检查,如下所示(假设您要传递args中未静音的人,这是必需的参数):



现在,对于标题中的问题,给出了我的回答,并且有一个函数
if(member.roles.cache.has(muteRoleId))
您应该能够自己解决它。

您好,当我做if
(member.roles.cache.has(muteRoleId))
的时候{在代码末尾显示红色,好像有错误
if(condition){}else{}else{}
不正确,因为在第一个
else
执行后,没有逻辑方法到达第二个else。请尝试:
if(condition){}else if(condition){}else(condition){}else{code>
 if (!member.roles.cache.has(muteRoleId)){
                return message.channel.send('Provided member isn't muted.');
const target = message.mentions.users.first();
if (!args[0]) return message.reply(`not enough arguments!`);
if (message.mentions.users.first() == undefined) return message.reply(`user not found!`);