因此,我编写了下面的代码,该代码将使给定通道中的所有成员静音:
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);
});
}
});
这里有一些有用的链接:
文本频道#成员|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收到一条消息,说发生了一个错误。我无法理解为什么,也无法理解如何解决它。你能帮我吗?提前谢谢!
我想制造一个播放音频文件的不和谐机器人。现在,它加入语音通道并播放音频文件,但之后拒绝离开。我的代码在下面。谁能建议一些修复,使我的机器人将离开语音频道?