Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.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的discord语音频道中静音/取消静音?_Javascript_Discord_Discord.js - Fatal编程技术网

Javascript 如何在discord.js的discord语音频道中静音/取消静音?

Javascript 如何在discord.js的discord语音频道中静音/取消静音?,javascript,discord,discord.js,Javascript,Discord,Discord.js,我正在尝试创建一个机器人,通过添加一个角色“TempMute”,使当前在语音频道中的每个人都静音。然后,当我发送/unmuteAll时,我希望所有具有“TempMute”标记的人都将该标记移除。我尝试过几种不同的方法,但都没有成功。我正在使用discord.js版本12.2.0 const Discord = require('discord.js'); voiceChatChannelId="123456789" bot.on('message', (message)

我正在尝试创建一个机器人,通过添加一个角色“TempMute”,使当前在语音频道中的每个人都静音。然后,当我发送/unmuteAll时,我希望所有具有“TempMute”标记的人都将该标记移除。我尝试过几种不同的方法,但都没有成功。我正在使用discord.js版本12.2.0

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


voiceChatChannelId="123456789"

bot.on('message', (message) => {
    var vc = bot.channels.cache.get(voiceChatChannelId);

    if (message.content == '/muteAll') {
        for (let member of vc.members){
            //add members all to "TempMute" role
        }
    }

    else if (message.content == '/unmuteAll') {
        for (let member of vc.members){
            //remove ALL members from role "TempMute"
        }
    }
});

由于您已经拥有了,因此可以使用或方法添加或删除角色


bot.on('message',(message)=>{
var vc=bot.channels.cache.get(voiceChatChannelId);
如果(message.content=='/muteAll'){
for(让vc.members.array()的成员){
//将所有成员添加到“临时静音”角色
member.roles.add(“RoleID”)
}
}
else if(message.content='/unmuteAll'){
for(让vc.members.array()的成员){
//从角色“TempMute”中删除所有成员
member.roles.remove(“RoleID”)
}
}
});

我收到一个错误“TypeError:无法读取未定义的属性'remove'。我(服务器所有者)和另一个帐户(用作没有特殊管理员权限的测试acc)都在语音频道中。请尝试
console.log(成员)
console.log(成员.角色)
。这些都是未定义的吗?console.log(member.roles)未定义,console.log(member)打印每个用户的所有json信息。问题是您试图循环通过
集合
,而不首先将其转换为
数组
(或者您可以使用
集合#forEach
)。检查我的更新代码。