Discord.js:无法读取未定义的属性'type'

编程入门 行业动态 更新时间:2024-10-07 22:26:23

Discord.js:无法读取未定义的<a href=https://www.elefans.com/category/jswz/34/1771415.html style=属性'type'"/>

Discord.js:无法读取未定义的属性'type'

所以,我试图制造一个机器人,在这种情况下,是通道创建/删除命令,没有任何关于JS的知识(对此我很讨厌),但进展不顺利

这里是代码:

}else if (args[0] === "delete") {
      console.log('deleting')
      let ch = message.content.split(`${bot.prefix}vchannel ${args[0]}`).join('')
      let fetchedChannel = message.guild.channels.cache.find(r=>r.name === ch)
      if (fetchedChannel.type === "voice") {
        fetchedChannel.delete()
      message.channel.send(`Голосовой канал ${ch} удален`).then(msg=>msg.delete({timeout:5000}))
      console.log('delete complete')
      }
    }
    }

并且有错误:

(node:5216) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'type' of undefined

我试图删除ch

}else if (args[0] === "delete") {
      console.log('deleting')
      let fetchedChannel = message.guild.channels.cache.find(r=>r.name === args[1].join(''))
      if (fetchedChannel.type === "voice") {
        fetchedChannel.delete()
      message.channel.send(`Голосовой канал ${args[1].join('')} удален`).then(msg=>msg.delete({timeout:5000}))
      console.log('delete complete')
      }
    }
    }

但出现其他错误:

TypeError: args[1].join is not a function

尝试过自己找到解决方案,但我失败了

[请帮助,我要疯了。

如果需要更多代码,我可以发送。

而且,我的英语不好,我会犯错,请原谅我

回答如下:

[在您的第一个代码中,该错误表示channel中没有message.guild.channels.cache具有name === ch,因此fetchedChannelundefined。这是未找到的稳定结果。

在第二个代码中,如果args[1]是字符串,则试图在不能使用的字符串上使用数组方法join

如果有调试器,请使用它来跟踪变量的更改和值。如果您没有,请使用console.log输出中间值。

清单:

  • message.content是否为包含${bot.prefix}vchannel ${args[0]}的字符串?该行代码只是删除了所有出现的${bot.prefix}vchannel ${args[0]},因为您拆分并加入了""

  • args[1]是否是您需要的字符串?

更多推荐

Discord.js:无法读取未定义的属性'type'

本文发布于:2024-05-07 08:57:47,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1755504.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:属性   未定义   js   Discord   type

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!