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

Discord API报错Unknown interaction:/ping命令无法正常响应

问题解决:Discord机器人/ping命令显示“正在思考…”无响应,报Unknown interaction错误

问题现象

运行Discord机器人的/ping命令时,命令一直卡在“正在思考…”状态无响应,捕获到未处理错误:

Nov 8 06:22:06 PM   [🚨Anti-Crash] :: Unhandled Rejection/Catch
Nov 8 06:22:06 PM  DiscordAPIError: Unknown interaction
Nov 8 06:22:06 PM      at RequestHandler.execute (/opt/render/project/src/node_modules/discord.js/src/rest/RequestHandler.js:350:13)
Nov 8 06:22:06 PM      at processTicksAndRejections (node:internal/process/task_queues:96:5)
Nov 8 06:22:06 PM      at async RequestHandler.push (/opt/render/project/src/node_modules/discord.js/src/rest/RequestHandler.js:51:14)
Nov 8 06:22:06 PM      at async CommandInteraction.deferReply (/opt/render/project/src/node_modules/discord.js/src/structures/interfaces/InteractionResponses.js:61:5)
Nov 8 06:22:06 PM      at async Object.execute (/opt/render/project/src/Commands/ping.js:11:5) {
Nov 8 06:22:06 PM    method: 'post',
Nov 8 06:22:06 PM    path: '/interactions/1171862223220654120/aW50ZXJhY3Rpb246MTE3MTg2MjIyMzIyMDY1NDEyMDp0U1g1c0UwcWo4ZUhndVdoUTlXRlYzTmp2UjBtRjRFOFZtOUFwNndaRHlEWTBXNjJYQ1RvUWlJdjVpRkp3TDA1NmJtcVRHeVNZZ2s3UVoxMWF0ZWU1cVk2Rkk4a3BKY0E0VWtWd21uREMxQkJwOTdLeWRtZlhoNzlXakRyMDk0Yg/callback',
Nov 8 06:22:06 PM    code: 10062,
Nov 8 06:22:06 PM    httpStatus: 404,
Nov 8 06:22:06 PM    requestData: { json: { type: 5, data: [Object] }, files: [] }
Nov 8 06:22:06 PM  }

对应的/ping命令代码:

const { SlashCommandBuilder } = require('@discordjs/builders');
module.exports = {
  data: new SlashCommandBuilder()
    .setName('ping')
    .setDescription('Replies with pong!'),
  async execute(interaction) {
    await interaction.deferReply({ephemeral: true});
    await interaction.editReply({ content: `🏓Pong! 
    ${interaction.client.ws.ping} ms`, ephemeral: true ,});
  },
};

错误原因

Unknown interaction(错误码10062)的核心是Discord服务器无法识别你的交互请求,常见触发场景:

  • 响应超时:Discord要求用户触发命令后,必须在3秒内发起首次响应(包括deferReply),超时后Discord会丢弃该交互会话,后续请求直接返回404
  • 重复响应:同一交互被多次调用回复/延迟回复接口
  • 机器人与Discord网关的连接异常,导致交互令牌失效

解决方案

1. 简化响应逻辑(最直接解决当前问题)

你的ping命令逻辑简单,不需要延迟回复,直接用reply替代deferReply + editReply,避免不必要的异步等待:

const { SlashCommandBuilder } = require('@discordjs/builders');
module.exports = {
  data: new SlashCommandBuilder()
    .setName('ping')
    .setDescription('Replies with pong!'),
  async execute(interaction) {
    await interaction.reply({ 
      content: `🏓Pong! ${interaction.client.ws.ping} ms`, 
      ephemeral: true 
    });
  },
};

2. 确保首次响应不超时

如果后续有耗时操作必须用延迟回复,要保证deferReply在3秒内执行:

  • 检查机器人所在服务器的网络延迟,避免网络卡顿拖慢请求
  • 排查命令执行前是否有阻塞性代码占用线程,导致deferReply被延迟调用

3. 增加错误捕获

在代码中添加错误处理,避免未处理的Promise rejection:

async execute(interaction) {
  try {
    await interaction.deferReply({ephemeral: true});
    await interaction.editReply({ 
      content: `🏓Pong! ${interaction.client.ws.ping} ms`, 
      ephemeral: true 
    });
  } catch (error) {
    if (error.code === 10062) {
      console.log(`交互超时:${interaction.id}`);
    } else {
      console.error('命令执行出错:', error);
    }
  }
}

4. 检查机器人连接状态

重启机器人,确保其与Discord网关的连接正常。如果部署在第三方平台(如你这里的Render),检查平台是否有网络限制或进程休眠机制导致连接中断。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 16:25:19