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

Discord斜杠命令返回Unknown interaction(404-10062)错误求助

Discord斜杠命令报错:404 Not Found (error code: 10062): Unknown interaction

问题场景

使用discord.py开发的斜杠命令,已通过interaction.response.defer()处理异步响应,但执行到followup.send()时抛出404错误,命令逻辑已完成但无法发送最终确认消息。

示例代码:

@bot.tree.command(name="evaluate")
async def evaluate(interaction: discord.Interaction):
    await interaction.response.defer(ephemeral=True)
    await asyncio.sleep(10)
    await interaction.followup.send("Command works")

错误堆栈:

File "/home/container/.local/lib/python3.11/site-packages/discord/app_commands/commands.py", line 862, in _do_call
    return await self._callback(interaction, **params)  # type: ignore
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/container/bot.py", line 282, in evaluate
    await interaction.response.defer(ephemeral=False, thinking=True)
  File "/home/container/.local/lib/python3.11/site-packages/discord/interactions.py", line 636, in defer
    await adapter.create_interaction_response(
  File "/home/container/.local/lib/python3.11/site-packages/discord/webhook/async_.py", line 218, in request
    raise NotFound(response, data)
discord.errors.NotFound: 404 Not Found (error code: 10062): Unknown interaction

成因分析

  • 交互响应超时:Discord强制要求必须在3秒内对交互做出响应(包括defer)。如果defer()调用前存在耗时操作(如数据库查询、外部API请求),Discord会提前标记该交互为失效,后续followup请求自然找不到对应交互。另外,defer后的交互有效期为15分钟,若命令执行时间超出这个范围也会触发错误。
  • 重复调用defer:每个交互只能被响应一次(defer或直接send)。从错误堆栈看,实际代码中可能多次调用了interaction.response.defer(),第一次响应后交互状态已变更,第二次调用会直接导致404。
  • Discord API/网络异常:偶尔会遇到Discord API节点故障,导致defer的响应未被正确记录,后续followup请求无法匹配到有效交互会话。容器部署的机器人还可能存在网络隔离、DNS解析异常等问题。
  • 机器人缓存/连接异常:discord.py客户端连接不稳定、内部缓存未同步交互信息,会导致后续followup时无法识别有效交互。

解决方案

  • 优先执行defer:将await interaction.response.defer()放在命令函数的最开头,确保在任何耗时操作前完成响应。示例代码的写法是正确的,但要检查实际代码中是否存在前置耗时逻辑。
  • 禁止重复响应:排查代码,确保每个交互只调用一次interaction.response.defer()或interaction.response.send_message(),避免重复操作导致交互状态失效。
  • 处理网络异常:给followup操作添加异常捕获,尝试重试发送,或向用户提示“命令已执行,但结果发送失败”。容器部署时检查网络配置,确保机器人能正常访问Discord API。
  • 重启机器人:若怀疑是缓存或连接问题,重启机器人可重置客户端状态,同步最新的交互缓存。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 09:55:10