You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

discord.js报TypeError: 无法读取undefined的channels属性如何解决

报错原因

TypeError: Cannot read property 'channels' of undefined 报错的核心是execute函数接收的client参数为undefined,根因是你在主文件调用该命令的execute方法时,没有正确传递client实例作为第三个参数。

修复方案

这里提供两种可选修复方式,按需选择即可:

  • 方式一:修改主文件的命令调用逻辑(适用需要统一传参的场景)
    找到你主文件(通常为index.js/bot.js)中监听消息事件、调用命令execute的代码,补传client参数:
// 原错误的调用写法示例
command.execute(message, args)
// 修改为补传第三个参数client
command.execute(message, args, client)
  • 方式二:直接通过message对象获取client实例(更稳妥,无需修改主文件逻辑)
    discord.js的message对象本身已挂载client实例,直接修改你send命令里的报错行即可:
// 原错误行
client.channels.cache.get('877718113976746015').send(sendEmbed);
// 修改为
message.client.channels.cache.get('877718113976746015').send(sendEmbed);
额外优化点

你当前代码中存在拼写错误,会导致动态头像不生效,可同步修复:
将.setThumbnail(message.author.displayAvatarURL({ dyanmic: true }))中的dyanmic改为正确拼写dynamic。

内容的提问来源于stack exchange,提问作者giggleshotter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 12:33:02