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

Discord.js开发报错TypeError: message.reply is not a function问题咨询

错误原因

你遇到的TypeError: message.reply is not a function报错,核心问题是命令执行函数的传参顺序不匹配:

  • 在index.js中调用命令的execute方法时,你传入的参数顺序是 Prefix, client, message, args
  • 但在rps.js中定义execute方法时,你设置的接收参数顺序是 Prefix, message, args

这就导致rps.js里拿到的message变量实际是client对象,自然不存在reply方法。

修复方法

两种方案任选其一即可:

方案1:修改命令文件的参数接收顺序

将所有命令文件(此处为rps.js)的execute参数顺序调整为和调用时一致:

// rps.js 中修改execute定义即可,其余代码不变
execute(Prefix, client, message, args) {
  // 原有逻辑代码
}

如果后续你的命令逻辑不需要用到client对象,也可以直接用占位变量接收忽略即可。

方案2:修改index.js的传参逻辑

如果你的所有命令都不需要用到client对象,直接调整index.js里的调用逻辑,删掉多余的client传参:

// index.js 中找到try块里的调用代码,修改为:
client.commands.get(command).execute(Prefix, message, args);
其他优化提示
  • 你当前代码里的No_Choice_Reply、Game_Tie_Reply没有加const/let声明,属于隐式全局变量,容易引发变量污染问题,建议补充声明关键字。
  • 你目前使用的是discord.js v12及更早版本的message事件,若后续升级到v13以上版本,该事件已被废弃,需要替换为messageCreate事件,同时初始化Client时需要补充对应网关意图配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 03:30:01