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

Discord.JS斜杠命令提示‘应用未响应’,控制台无报错

问题分析与修复方案

核心问题

  • 错误绑定message事件:斜杠命令的处理逻辑完全不需要监听message事件——你在execute函数里加的这个监听器根本不会触发(当前客户端只开了Guilds意图,没有消息相关权限,且斜杠命令的触发流程和普通消息完全无关),这直接导致交互因超时没收到回复,弹出"Application did not respond"提示。
  • 获取发起者的方式错误:斜杠命令的发起者信息存在interaction.user里,不需要通过message.author获取。
  • 重复绑定隐患:每次执行命令都会新增一个message监听器,后续会导致逻辑混乱。

修复后的代码

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

module.exports = {
    data: new SlashCommandBuilder()
        .setName('cleanthedecks')
        .setDescription('Tells a user to clean the decks'),
    async execute(interaction) {
        // 直接通过interaction.user拿到命令发起者
        await interaction.reply(`${interaction.user} Get the decks cleaned immediately with /deckscrub`);
        console.log(interaction.user);
    }
}

额外提醒

  • 命令模块里不需要重新创建Client实例,Discord.js的命令处理器会自动传递所需对象,你当前代码里的client实例完全多余,甚至可能引发冲突。
  • 如果要处理普通消息,需要给客户端开启GatewayIntentBits.MessageContent和GatewayIntentBits.GuildMessages权限意图,但斜杠命令不需要这些。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 20:46:04