discord.py使用下拉菜单不发响应出现Interaction Failed如何解决
问题解答
Discord 对所有组件交互(下拉菜单、按钮等)有强制要求:必须在3秒内返回响应,否则就会弹出「Interaction Failed」提示,该规则无法绕过。你看到的其他机器人点击后没有回复消息,是因为使用了静默响应,仅向Discord服务端确认交互已接收处理,不需要向用户展示任何回复内容。
你只需要把代码中注释标记的响应行替换为静默响应的调用即可:
# 把原来的 await res.respond(content=f"U have clicked {label}") 替换为下面的代码 await res.defer_update()
补充说明:
- 如果后续有需要给触发用户发送仅自己可见的提示,可以使用带
ephemeral参数的响应方式:
这种方式其他用户看不到该回复,也不会在频道内产生新消息。await res.respond(f"你已选择{label}", ephemeral=True) - 注意所有响应调用必须在交互触发后3秒内执行,否则还是会触发失败提示。
内容的提问来源于stack exchange,提问作者Vinurk
相关产品推荐
相关产品推荐

