当前位置: 首页 > 知识库问答 >
问题:

Discord.js/静音大家

艾敏学
2023-03-14

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

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()函数是如何工作的。

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

共有1个答案

龚奇逸
2023-03-14

“设置静音”功能是成员语音状态对象的一部分。您直接从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);
    });
  }
});

这里有一些有用的链接:
文本频道#成员|discord.js
收藏|discord.js
地图-JavaScript|MDN

 类似资料:
  • 我目前正在开发一个不和谐机器人,可以静音/聋哑语音聊天的一部分。它的工作,但我遇到了一些问题。当机器人试图让一大群玩家静音时,他们一个接一个地静音。当其中一个玩家的网络连接变慢时,他们下面的所有玩家都必须等到该玩家静音。这意味着一个静音/非静音可能需要5个玩家长达10秒的时间,这对于我使用它的目的来说太长了。 静音/隔音过程的简化代码: (其中“玩家”是一个包含GuildMember对象的数组)

  • 我在挑拨离间。js静音机器人,我有一些问题。 当有人使用命令将时间设置为,原因设置为。但是如果他们使用

  • 所以我为我的不和谐机器人做了一个静音命令,它会发现是否存在一个“静音”角色,如果不存在,机器人会创建一个“静音”角色,然后把这个角色给提到的成员,目前当我运行命令时,它只给我一个如果命令写入错误,它应该发送的嵌入。 我仍然无法找出问题所在以及原因,我非常想知道代码中的错误以及是否还有我不知道的错误。

  • 我刚开始用node学习javascript。js和我正在尝试创建一个音乐机器人,我已经设置了命令处理程序和所有东西,但是,当我尝试运行play命令时,我一直会遇到这个错误 错误:未找到FFmpeg/avconv!在功能上。getInfo(C:\Users\johnd\OneDrive\Desktop\discordBot\node\u modules\prism media\src\core\FF

  • 我想制作一个可分页队列命令,这样我就可以用反应控制整个队列。但是,每当我运行命令时,总是会出现错误。因此,我希望每当消息作者对⏹" 反应。这是我的密码: 但是,即使在机器人对停止反应作出反应时删除它。我从bot收到一条消息,说发生了一个错误。我无法理解为什么,也无法理解如何解决它。你能帮我吗?提前谢谢!

  • 我想制造一个播放音频文件的不和谐机器人。现在,它加入语音通道并播放音频文件,但之后拒绝离开。我的代码在下面。谁能建议一些修复,使我的机器人将离开语音频道?