【问题标题】:Discord bot command bugDiscord 机器人命令错误
【发布时间】:2021-08-14 05:22:12
【问题描述】:

请帮我找出为什么这不起作用:

client.on("message", (message) => {
    const channel = message.channel
    const members = channel.members
    if (message.content.startsWith(prefix + "muteall")) {
        message.guild.channels.cache.filter((c) => c.type == "voice").forEach((voicechannel) => {

              voicechannel.members.forEach((x) => {
                member.voice.setMute(true)
                member.voice.setDeaf(true)
              });

            });
            return message.channel.send("Svi su mutovani!")
}
  });
  client.on("message", (message) => {
    if (message.content.startsWith(prefix + "unmuteall")) {
        message.guild.channels.cache.filter((c) => c.type == "voice").forEach((voicechannel) => {

              voicechannel.members.forEach((x) => {
                member.voice.setMute(false)
                member.voice.setDeaf(false)
              });

            });
            return message.channel.send("Svi su unmutovani!")
}
  });

机器人可以工作,但在调用取消静音命令后它会崩溃并给出以下错误:

Cannot read property 'setMute' of undefined

【问题讨论】:

  • (x) => 声明迭代中的每个元素都将被标记为x,但您尝试使用member

标签: javascript discord discord.js


【解决方案1】:

在您的forEach 回调中,您将成员命名为x,但尝试访问member

您需要将(x) => { 替换为(member) => {

【讨论】:

    猜你喜欢
    • 2018-05-06
    • 2021-10-06
    • 2019-12-14
    • 2021-01-01
    • 2019-01-12
    • 2020-07-08
    • 2021-03-11
    • 2021-07-22
    相关资源
    最近更新 更多