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

不一致js:GuildMember的setMute命令不起作用?

郁灿
2023-03-14

我目前正试图将静音功能编程到discord机器人上。它已启用服务器权限“静音成员”。

这是每当我调用mute命令时运行的代码:

if(!receiverG.mute) { 
                            message.channel.send(`${receiver} muted by ${sender}.`)
                            receiverG.setMute(true, remaining); 
                        } 
else {
                            message.channel.send(`${receiver} unmuted by ${sender}.`)
                            receiverG.setMute(false, remaining); 
}
message.channel.send(receiverG.mute); 

因此,此代码的连续调用应该切换为静音,但message.channel.send.每次都会发送false,表明该成员从未静音。我不清楚静音功能是如何与不和谐一起工作的。我在某处读到它是基于角色的——如果是这样,那么setMute()命令的意义是什么?

文档:https://discord.js.org/#/docs/main/stable/class/GuildMember?scrollTo=setMute

共有1个答案

阎志义
2023-03-14

setMute()返回promise。因此,在发送成员状态之前,必须等待其完成。

js prettyprint-override">await receiverG.setMute(true, remaining);

请记住wait只能在异步函数中使用。如果promise被拒绝,请确保还捕获并处理一个错误(. cat()try... cat)。

至于setMute()的功能,它应该相当于右键单击语音频道中的成员并选择Server Mute

 类似资料:
  • 我得到了一个unban命令代码,在控制台中出现以下错误: (节点:9348)未处理的PromisejectionWarning:TypeError:无法读取未定义的at对象的属性“member”。在客户端执行(C:\Users\19nik\Documents\GitHub\bot project\commands\unban.js:9:22)。(C:\Users\19nik\Documents\G

  • 我只是在Windows中安装jdk和jre版本8。环境变量已设置。我尝试在cmd中运行“java-version”,它显示了安装的java版本。但是当我尝试用“javac projectname”编译java项目时,系统说javac不能被识别为内部命令或外部命令。有谁能告诉我怎么修好它吗? 下面是我的环境变量: C:\users\foody>echo%路径%C:\ProgramData\Oracl

  • 我开发了一个工具,使用JSch(一个java库,用于通过ssh与其他机器通信)一次性向不同的linux机器发送一行命令 因此,我们的客户需要更改所有机器上的密码。谷歌帮助我达到了这一点: 其中“123”是新密码。 命令将执行,但这始终是输出: 这表明命令没有成功。 请注意,这是一个运行linux的小型设备。这是一个私人编译的版本,尽可能紧凑。其实我对linux了解不多! 这是机器信息: 密码帮助:

  • 上面的代码正在运行。 我没有得到任何错误,但我也希望机器人显示他们是afk的原因,当他们提到。有人能帮忙吗?

  • 问题内容: 我正在运行Ubuntu 10.10 64位。我安装了ia32-libs以及Android Debug Bridge版本1.0.26。 我的问题: >>> ???????????? 没有权限 >>>> sudo:adb:找不到命令 >>>错误:设备权限不足 我想这些都有关。这是相关信息。 使用运行CM6.1的植根Moto Droid和运行基于CM7的ROM植根的G-Tab,可以得到相同的

  • 我正在尝试创建一个不和谐的机器人。js。它显示没有错误,可以联机并完美运行。但是,当我尝试运行命令时,bot不会说任何话,甚至不会发出错误消息。我的代码在这里: