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

Discord.py编辑消息时如何删除已有的Embed?

问题根因

你使用的embed=None是discord.py旧版单Embed接口的参数,Discord API现已支持单条消息挂载最多10个Embed,discord.py适配该特性后,单独传embed=None不会触发已有Embed的清除逻辑,API会默认保留消息原有的全部Embed内容。

解决方法

通用方案(适配discord.py v1.7及以上、v2.x全版本)

编辑消息时传入空列表给embeds参数,即可直接清空所有已有Embed:

await message.edit(content="New Message", embeds=[])

超老版本兼容方案(discord.py v1.7以下)

如果用的是未支持embeds参数的远古版本,可以传入空Embed对象覆盖原有内容:

import discord
await message.edit(content="New Message", embed=discord.Embed())
注意事项
  • 机器人默认仅有权限编辑自身发送的消息,编辑其他用户的消息需要拥有对应频道的管理消息权限,部分场景下即使有该权限也无法编辑非自身发送的用户消息
  • 如果需要保留部分Embed,只需将待保留的Embed对象放入embeds参数的列表中即可,未出现在列表中的原有Embed会被自动删除

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 09:15:03