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

discord.js斜杠命令异常:返回‘应用未响应’,无法读取命令

解决Discord.js斜杠命令返回“The application did not respond”的问题

出现该提示且无日志输出,说明机器人大概率未接收到交互事件,或命令加载流程存在核心问题,以下是针对性排查和解决步骤:

1. 确认interactionCreate事件已正确注册

你的index.js调用了loadEvents但未提供eventHandler代码,大概率是事件未被正确加载到客户端。检查eventHandler.js是否正确遍历Events文件夹并注册事件:

const { loadFiles } = require("../Functions/fileLoader");

async function loadEvents(client) {
  const Files = await loadFiles("Events");
  Files.forEach((file) => {
    const event = require(file);
    // 区分单次触发事件与持续监听事件
    if (event.once) {
      client.once(event.name, (...args) => event.execute(...args, client));
    } else {
      client.on(event.name, (...args) => event.execute(...args, client));
    }
  });
}

module.exports = { loadEvents };

同时确保interactionCreate.js放在Events文件夹下,路径层级正确。

2. 补全命令加载流程

你的index.js仅加载了事件,未执行命令加载逻辑,导致client.commands为空,且未向Discord平台注册命令。在index.js中添加命令加载调用:

const { GatewayIntentBits, Collection, Partials, Client } = require('discord.js');
const { Guilds, GuildMessages, GuildMembers } = GatewayIntentBits;
const { User, Message, GuildMember, ThreadMember } = Partials;
const { loadEvents } = require('./Handlers/eventHandler');
const { loadCommands } = require('./Handlers/commandHandler'); // 引入命令加载器

require('dotenv').config();
const client = new Client({
  intents: [Guilds, GuildMessages, GuildMembers],
  partials: [User, Message, GuildMember, ThreadMember]
});

client.events = new Collection();
client.commands = new Collection();

loadEvents(client);
loadCommands(client); // 执行命令加载逻辑

client.login(process.env.BOT_TOKEN);

3. 添加日志与错误捕获排查

在interactionCreate的处理逻辑开头添加日志,确认是否接收到交互:

execute(interaction, client) {
  console.log(`收到斜杠命令请求:${interaction.commandName}`); // 新增日志
  if (!interaction.isChatInputCommand()) return;
  // ... 原有代码
}

同时给命令执行环节添加try-catch,避免未处理错误导致无响应:

// 替换原有command.execute调用
try {
  await command.execute(interaction, client);
} catch (error) {
  console.error('命令执行失败:', error);
  await interaction.reply({
    content: '执行命令时发生错误,请联系管理员。',
    ephemeral: true
  });
}

4. 验证命令文件格式

确保Commands文件夹下的命令文件正确导出data和execute结构,示例:

const { SlashCommandBuilder } = require('discord.js');

module.exports = {
  data: new SlashCommandBuilder()
    .setName('test')
    .setDescription('测试斜杠命令'),
  async execute(interaction) {
    await interaction.reply('命令执行成功!');
  }
};

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 01:18:00