Javascript Discord.js/使所有人静音

Javascript Discord.js/使所有人静音,javascript,discord.js,Javascript,Discord.js,因此,我编写了下面的代码,该代码将使给定通道中的所有成员静音: client.on('message', message => { if (message.content == 'sh!') { let channel = message.member.voice.channel for (let member of channel.members) { member[1].setMute(true)

因此,我编写了下面的代码,该代码将使给定通道中的所有成员静音:

client.on('message', message => {
     if (message.content == 'sh!') {
         let channel = message.member.voice.channel
         for (let member of channel.members) {
             member[1].setMute(true)
         }
     }
})
但是它不起作用,我也不知道为什么,因为我不知道setMute()函数是如何工作的


编辑:我不确定如何访问每个成员并将其静音。

设置静音功能是成员语音状态对象的一部分。您直接从GuildMember对象本身使用它。您可能已经知道,voice state对象是GuildMember对象的属性“voice”。这就是解决方案:

// change this
member[1].setMute(true);
// to this
member[1].voice.setMute(true);
VoiceChannel的属性成员是一个Discord集合(从Javascript映射扩展而来),我将使用forEach循环进行迭代,以避免底层迭代

这应该起作用:

client.on('message', message => {
  if (message.content == 'sh!') {
    const members = message.member.voice.channel.members;

    members.forEach(member => {
      member.voice.setMute(true);
    });
  }
});
以下是一些有用的链接:



设置静音功能是成员语音状态对象的一部分。您直接从GuildMember对象本身使用它。您可能已经知道,voice state对象是GuildMember对象的属性“voice”。这就是解决方案:

// change this
member[1].setMute(true);
// to this
member[1].voice.setMute(true);
VoiceChannel的属性成员是一个Discord集合(从Javascript映射扩展而来),我将使用forEach循环进行迭代,以避免底层迭代

这应该起作用:

client.on('message', message => {
  if (message.content == 'sh!') {
    const members = message.member.voice.channel.members;

    members.forEach(member => {
      member.voice.setMute(true);
    });
  }
});
以下是一些有用的链接:



为什么
成员[1]。设置静音(true)
而不是
成员。设置静音(true)
让频道=message.member.voice.channel.members
当它真的是频道成员的集合时,你为什么要调用这个
频道
?然后在
频道上迭代。members
也似乎是错误的,因为我认为集合没有额外的
members
property。如果不添加members属性,它将无法使用。不管怎么说,我对Discord.js还是个新手,StackOverview的答案显然已经过时了,因为
member[1]。setMute(true)
而不是
member.setMute(true)
让channel=message.member.voice.channel.members
这个频道实际上是频道成员的集合,你为什么要叫它
channel
?然后在
频道上迭代。members
也似乎是错误的,因为我认为集合没有额外的
members
property。如果不添加members属性,它将无法使用。不管怎样,我对Discord.js还是新手,StackOverview的答案显然已经过时了