Discord Bot无响应报Cannot read properties of undefined错误
错误原因
报错由拼写错误引发:代码中访问消息频道属性时写为message.chanel,但Discord.js中Message对象对应所属频道的正确属性名是message.channel,拼写漏写了字母n。访问不存在的属性会得到undefined值,后续对undefined调用.send()方法就会抛出Cannot read properties of undefined运行时错误,导致回复逻辑中断,无法返回"pong"响应。
另外贴出的代码还缺失事件回调函数、事件监听方法的闭合括号,属于语法层面的疏漏。
修复方案
- 修正属性拼写错误,将
message.chanel改为message.channel - 补全代码缺失的闭合括号
修复后的完整可运行代码如下:
client.on("messageCreate", message => { if(message.content === "ping") { message.channel.send("pong") } })
- 额外检查配置:需要在Discord开发者后台对应Bot的设置页,开启Message Content Intent(消息内容意图)开关,否则Bot无法读取用户发送的普通消息内容,即使代码逻辑正确也无法响应指令。
内容的提问来源于stack exchange,提问作者abyssal plains
相关产品推荐
相关产品推荐

