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

Python实现Discord Bot的!addpoints命令报错求助

解决!addpoints命令报错问题

1. 修复语法错误(missing ) after argument list)

这个报错是代码括号不匹配或字符串拼接格式错误导致的。正确的消息发送写法有两种:

  • 使用模板字符串(推荐):
message.channel.send(`You added ${numOfPoints} points`);
  • 普通字符串拼接:
message.channel.send("You added " + numOfPoints + " points");

2. 修复ReferenceError: message is not defined

这个错误说明你的命令逻辑没有正确获取到message对象,需要把命令处理代码放在对应的消息事件回调里:

// Discord.js v14+ 使用 messageCreate 事件
client.on('messageCreate', (message) => {
  // 忽略机器人自身消息和非!开头的消息
  if (message.author.bot || !message.content.startsWith('!')) return;

  const args = message.content.slice(1).split(/ +/);
  const command = args.shift().toLowerCase();

  if (command === 'addpoints') {
    const numOfPoints = args[0];
    // 检查用户是否输入了点数
    if (!numOfPoints) return message.reply('请输入要添加的点数!');
    message.channel.send(`You added ${numOfPoints} points`);
  }
});

如果是Discord.js v12及更早版本,把messageCreate换成message事件即可。

额外提示

  • 必须确保你的机器人代码已经正确初始化了客户端,并且登录成功。
  • 要验证用户输入的点数是否为有效数字,避免后续逻辑出错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 13:02:02