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

discord.js机器人命令无响应问题求助(附完整代码)

Discord.js机器人无法响应命令的解决方案

核心问题分析

  • 事件监听错误:discord.js v14及以上版本已废弃message事件,改用messageCreate事件,原代码无法监听到用户消息。
  • 缺失消息内容权限:读取用户消息内容需要MessageContent网关意图,且必须在Discord开发者后台手动开启该权限。
  • 冗余的机器人消息判断:原代码通过用户名和 discriminator 判断机器人消息,不如直接使用msg.author.bot可靠。

修改后的代码实现

index.js 修改版

const { Client, GatewayIntentBits } = require('discord.js');
// 补充MessageContent意图,用于读取消息内容
const robot = new Client({ 
  intents: [ 
    GatewayIntentBits.Guilds, 
    GatewayIntentBits.GuildMessages,
    GatewayIntentBits.MessageContent
  ] 
});
const comms = require("./comms.js"); 
let config = require('./config.json'); 
let prefix = config.prefix;
let token = config.token; 

robot.on("ready", function() {
  console.log(robot.user.username + " пробудився, і готовий ділитися мудрістю...");
});

// 将message事件替换为messageCreate
robot.on('messageCreate', (msg) => { 
  // 直接过滤机器人发送的消息
  if (msg.author.bot) return;

  // 检查消息是否以设定的前缀开头
  if (!msg.content.startsWith(prefix)) return;

  // 提取命令名和参数
  const args = msg.content.slice(prefix.length).trim().split(/ +/);
  const commandName = args.shift().toLowerCase();

  // 查找匹配的命令并执行
  const targetCommand = comms.comms.find(cmd => cmd.name === commandName);
  if (targetCommand) {
    targetCommand.out(robot, msg, args);
  }
});

robot.login(token);

comms.js 优化版(可选)

let config = require('./config.json');
let prefix = config.prefix;

function test(robot, mess, args) {
  mess.channel.send('Test!')
}
function greeting(robot, mess, args) {
  mess.reply("Вітаю тебе! Почуй мою мудрість, і ставатимеш як я...")
}

// 直接定义命令数组,无需额外push操作
module.exports.comms = [
  {
    name: "test",
    out: test,
    about: "Тестова команда"
  },
  {
    name: "greeting",
    out: greeting,
    about: "Команда для вітання"
  }
];

必须的后台配置步骤

  1. 打开Discord开发者门户,找到你的机器人应用。
  2. 切换到「Bot」标签页。
  3. 在「Privileged Gateway Intents」区域,开启「Message Content Intent」权限。
  4. 重启机器人,测试!greeting和!test命令是否正常响应。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 19:45:41