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

使用discord.js的Discord机器人斜杠命令无响应如何解决?

解决Discord斜杠命令“Application not responding”问题

1. 确保在3秒内完成交互回复

Discord要求所有交互必须在3秒内发送回复,超时就会触发该提示。你的代码直接调用interaction.reply理论上没问题,但如果代码中存在未展示的同步耗时任务,会拖慢回复速度。

如果有耗时操作,改用deferReply先告知Discord机器人正在处理,之后再编辑回复:

execute(interaction) {
    // 先发延迟回复,避免超时
    interaction.deferReply({ ephemeral: true });
    // 执行耗时操作...
    // 后续编辑回复内容
    interaction.editReply({ content: "Pong" });
}

2. 正确处理异步操作的错误

interaction.reply返回Promise,未捕获的错误会导致回复失败且无提示。建议给execute函数加上async/await并捕获异常:

async execute(interaction) {
    try {
        await interaction.reply({ content: "Pong", ephemeral: true });
    } catch (error) {
        console.error("回复失败:", error);
        // 若已错过3秒窗口,尝试发送跟进消息
        if (!interaction.replied) {
            await interaction.followUp({ content: "抱歉,无法完成回复", ephemeral: true });
        }
    }
}

3. 验证命令注册与权限配置

  • 确认命令已正确部署:全局命令需等待约1小时生效,服务器命令通常几分钟内生效;若未部署,命令不会被Discord识别。
  • 暂时注释权限设置测试:你的命令限制了仅管理员可执行,若测试用户无对应权限,可能被拦截(虽不会直接触发超时提示,但可排除权限干扰):
// .setDefaultMemberPermissions(PermissionFlagsBits.Administrator),

4. 检查机器人连接与权限

  • 确认机器人代码正常启动,控制台无网关连接错误日志。
  • 检查机器人角色权限:确保机器人在目标服务器拥有Send Messages等必要的消息发送权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 09:25:40