[英]How to mute/unmute all in discord voice channel for discord.js?
我正在嘗試創建一個機器人,通過向他們添加角色“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"
}
}
});
由於您已經擁有GuildMember
您可以使用GuildMember.roles
.add
或GuildMember.roles
.remove
方法來添加或刪除角色。
bot.on('message', (message) => {
var vc = bot.channels.cache.get(voiceChatChannelId);
if (message.content == '/muteAll') {
for (let member of vc.members.array()){
//add members all to "TempMute" role
member.roles.add("RoleID")
}
}
else if (message.content == '/unmuteAll') {
for (let member of vc.members.array()){
//remove ALL members from role "TempMute"
member.roles.remove("RoleID")
}
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.