python - Discord.py 嵌入颜色
问题描述
嘿,我正在使用脚本从一台服务器发布到另一台嵌入,但我需要从代码中更改这部分转发嵌入(输出)的颜色,您还更改页脚等等,所以我假设我必须在那里设置嵌入颜色。我已经尝试了很多方法,例如:
嵌入=不和谐。嵌入(颜色=0xd10a07)
if message.channel.id in channels_forward_embed:
dest_channel_id = channels_forward_embed[message.channel.id]
if message.embeds:
embed = message.embeds[0]
embed.set_footer(text="TEST | TEST", icon_url="pictureurl")
else:
return
try:
await self.cog.send_embed(dest_channel_id, embed)
except:
print('Error sending embed')
```
解决方案
https://discordpy.readthedocs.io/en/latest/api.html?highlight=embed#discord.Embed.colour
嵌入的颜色代码。别名为颜色。这可以在初始化期间设置。
嵌入颜色只能在初始化期间设置。之后您无法更改嵌入颜色。
embed = message.embeds[0]
在这里,您正在从现有嵌入中复制嵌入。然后你打电话set_footer
。没有类似的等效命令set_color
。
你要做的是:
embed_dict = message.embeds[0].to_dict()
embed_dict['colour'] = 0xd10a07
embed = discord.Embed.from_dict(**embed_dict)
embed.set_footer(text="TEST | TEST", icon_url="pictureurl")
这将使用完全相同的标题、描述等初始化新嵌入,但颜色经过修改。
注意:我还不能测试它。不能保证我的代码可以正常工作,但它的概念应该可以正常工作。让我知道它是否有效。如果它不工作,print(embed_dict)
它应该在color
某个地方设置一个你需要用新值覆盖的集合。
推荐阅读
- javascript - 删除 Javascript 中的空子数组
- javascript - Angular 7表单提交不适用于文件
- typescript - 扩展接口与其他方式使其全球化
- java - 无法加载 RSA 私钥来签署字符串
- python - 使用 Flask 将 Json 推送到 Firebase 时出现 500 内部服务器错误
- python - 在 python GEKKO 或 matlab APM 中指定解决方案文件的输出目录
- c# - 当 Marshal.SizeOf 已过时时,如何从泛型类型中获取结构的大小?
- java - 如何从弹性4j TimeLimitter 中抛出自定义异常?
- docker - 无人机 ci 部署到谷歌计算引擎
- android - 构建和部署私有 apk