Discord.js: GuildMember 的 setMute 命令不起作用?
Discord.js: GuildMember's setMute command not working?
我目前正在尝试将静音功能编程到 discord 机器人上。它启用了服务器权限 "mute members"。
这是每当我调用静音命令时得到 运行 的代码:
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.(receiverG.mute) 每次都发送 "false",表明该成员从未被静音。我不清楚静音功能如何与不和谐一起使用。我在某处读到它是基于角色的——如果是这样,那么 setMute() 命令的意义何在?
文档:https://discord.js.org/#/docs/main/stable/class/GuildMember?scrollTo=setMute
setMute()
returns一个承诺。因此,您必须等待完成后才能发送会员状态。
await receiverG.setMute(true, remaining);
请记住,await
只能在异步函数中使用。如果承诺被拒绝(.catch()
或 try...catch
),请确保也捕获并处理错误。
至于setMute()
的功能,应该相当于在语音频道中右击成员选择Server Mute
。
我目前正在尝试将静音功能编程到 discord 机器人上。它启用了服务器权限 "mute members"。
这是每当我调用静音命令时得到 运行 的代码:
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.(receiverG.mute) 每次都发送 "false",表明该成员从未被静音。我不清楚静音功能如何与不和谐一起使用。我在某处读到它是基于角色的——如果是这样,那么 setMute() 命令的意义何在?
文档:https://discord.js.org/#/docs/main/stable/class/GuildMember?scrollTo=setMute
setMute()
returns一个承诺。因此,您必须等待完成后才能发送会员状态。
await receiverG.setMute(true, remaining);
请记住,await
只能在异步函数中使用。如果承诺被拒绝(.catch()
或 try...catch
),请确保也捕获并处理错误。
至于setMute()
的功能,应该相当于在语音频道中右击成员选择Server Mute
。