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

使用discord.py时interaction.response.send_message()返回None,无法获取消息ID

解决discord.py中interaction.response.send_message返回None无法获取消息ID的问题

问题原因

interaction.response.send_message() 方法的设计返回值就是None,它仅负责向Discord服务器发送交互响应,不会直接返回创建的Message对象,这是discord.py交互系统的既定行为。

解决方案

要获取这条响应消息的对象,需在发送响应后调用 await interaction.original_response() 方法,该方法会返回对应响应的Message实例,之后即可从中提取消息ID。

修改后的关键代码如下:

# 先发送响应,此时不返回Message对象
await interaction.response.send_message(view=view, embed=embed)
# 获取刚发送的响应消息对象
message = await interaction.original_response()
# 给view的属性赋值消息ID
view.original_message_id = message.id

注意事项

  • 必须在调用interaction.response.send_message()之后再调用original_response(),否则会因响应未创建而抛出错误。
  • 如果后续需要发送额外的跟进消息,可使用interaction.followup.send(),该方法会直接返回对应的Message对象。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 12:17:06