javascript - Discord.js TypeError:无法读取未定义的属性“id”-channel.id
问题描述
(在 discord.js Javascript 中工作)
我正在努力让用户只能在我的#commands 频道中使用命令。我在命令的开头有这段代码。
if (msg === prefix + 'DAILY') {
if (msg.channel.id === '29124657224757826') {
在尝试使其仅在一个通道中工作之前,日常命令运行良好。这是我在第二行中收到的错误消息:
if (msg.channel.id === '394615572257570826') {
^
TypeError: Cannot read property 'id' of undefined
我相信我只需要一个 channel.id 变量,那么我将如何设置它?如果这不是解决办法,那是什么?提前致谢。
解决方案
就像评论说的那样,命令处理程序中的第一行需要是 msg.content 而不仅仅是消息。另一个问题是没有定义味精。我敢打赌,这是因为您的命令处理程序不是 msg,而是类似于 message 的其他东西。基于来自此的另一个类似问题
您想要做的是使用 msg.guild.channels.find() 查找频道。我的问题是您在第 2 行之后要做什么,您正在寻找与 id 匹配的频道,这可能会让您更好地理解
推荐阅读
- amazon-web-services - lambda 中的 AWS Cognito 用户池 AdminCreateUser 不返回错误也不返回数据
- node.js - 有没有办法在特定时间后自动更新特定字段?
- c - 如何在 C 中写入的字节数不超过缓冲区中的字节数?
- r - R在data.table中查找区间
- python - Python Tkinter 背景
- html - 当页脚出现在移动设备上时,将页脚移到键盘上方
- python - 在开发中使用烧瓶和在生产中使用 nginx 提供静态文件
- c# - 如何在 linq 查询中使用反射?RSS
- vhdl - Extra variable assignment in VHDL code makes it not work and get error "can't infer register" and "couldn't implement registers"
- deep-learning - 实施问题:用于模式识别的 Deep ConvNet