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

Discord机器人启动后无法响应命令问题求助

问题分析与修复方案

代码核心问题:

  1. Client初始化语法错误:partials配置被错误地单独写在构造函数外,根本没有生效,正确写法是把intents和partials放在同一个配置对象里传入。
  2. 事件监听错误:
    • 使用once('message')只会触发一次事件,之后不再监听消息,应该用on持续监听。
    • 最新版discord.js(v14+)已废弃message事件,改用messageCreate事件,原事件不会触发,这是命令无响应的关键原因。

修正后的完整代码:

const Discord = require("discord.js");
// 合并intents和partials到同一配置对象
const client = new Discord.Client({
  intents: 32767, // 开发环境可启用所有意图,生产建议按需开启
  partials: ['MESSAGE', 'CHANNEL', 'REACTION', 'USER', 'GUILD_MEMBER']
});

client.on('ready', () => {
  console.log('Estoy ON')
  client.user.setActivity('Ark Survival Evolved', { type: "PLAYING"});
});

// 改用messageCreate事件,用on持续监听
client.on('messageCreate', (message) => {
  // 排除机器人自身消息,避免循环触发
  if (message.author.bot) return;
  if(message.content.startsWith('ping')) {
    message.channel.send(`pong 🏓!!`);
  }
});

client.login('MY TOKEN');

额外检查项:

  • 登录Discord开发者门户,在Bot页面开启消息内容意图(Message Content Intent),保存后重启机器人。
  • 确保机器人邀请到服务器时,拥有发送消息和读取消息历史的权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 03:55:28