[英]Discord.js - I'am trying to create a discord bot that mutes all connected members in a voicechannel
我一直在尝试创建一个不和谐的机器人,使某个语音通道的所有成员静音,该程序执行时没有错误,但没有任何反应。
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');
}
}
先感谢您!
GuildMember
没有名为VoiceState
属性,而是voice
,它是一个VoiceState
。
for (const [channelID, channel] of channels) {
for (const [memberID, member] of channel.members) {
member.voice.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'
});
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.