不和谐.js - 我正在尝试创建一个不和谐机器人,使语音通道中的所有连接成员静音



我一直在尝试创建一个discord bot,它可以让某个语音通道的所有成员静音,程序执行时没有出错,但什么也没发生。

let among_us_channel = message.guild.channels.cache.find(c => c.id === '751440430847098934');
let group_of_channels = message.guild.channels.cache.find(c => c.id === '599377349531795471');
const channels = message.guild.channels.cache.filter(c => c.parentID === '599377349531795471' && c.type === 2);

for (const [channelID, channel] of channels) {
for (const [memberID, member] of channel.members) {
member.VoiceState.setMute(true, 'Game Started');
}
}

提前谢谢!

如果你的意图是让一个频道的每个人都静音,并且你不介意硬编码它的id。那么就这么简单:

// Gets The Channel
const channel = message.guild.channels.cache.get(`channelId`);
// Iterate through it's members
channel.members.forEach(member => {
member.voice.setMute(true); // Mute em'
});

不管怎样,看起来你正试图将某个类别中的每个频道静音。如果是这样的话,试试这个:

// Get the children of the category
const channels = message.guild.channels.cache.get(`categoryId`).children;
// Iterate through then
channels.forEach(channel => {
if(channel.type === 'voice') {          // check if it is a voice channel
channel.members.forEach(member => {   // Iterate through it's members
member.voice.setMute(true);         // Mute em'
});
}
});

GuildMember没有名为VoiceState的属性,但voiceVoiceState


for (const [channelID, channel] of channels) {
for (const [memberID, member] of channel.members) {
member.voice.setMute(true, 'Game Started');
}
}

最新更新