【问题标题】:Discord.py embed colorDiscord.py 嵌入颜色
【发布时间】:2020-06-17 21:39:45
【问题描述】:

嘿,我正在使用脚本从一台服务器发布到另一台嵌入,但我需要在这部分代码中更改转发嵌入(输出)的颜色,您还更改页脚,所以我假设我必须在那里设置嵌入颜色。我已经尝试了很多方法,例如:

embed=discord.Embed(color=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')
    ```

【问题讨论】:

    标签: python python-3.x discord discord.py


    【解决方案1】:

    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,您需要用新值覆盖它。

    【讨论】:

    • 嘿,感谢您的回复,遗憾的是,如果我将您的部分添加到脚本中,它会在第 80 行出现错误IMAGE
    • 我删除了导致错误的全部内容,但现在我得到未定义的错误imgur.com/a/rz1GPs7
    • 你的第一张截图。您没有正确缩进代码。第二个:您没有删除所有内容。
    • 是的,只是注意到了,但未定义的命中不同:D
    猜你喜欢
    • 2021-05-06
    • 1970-01-01
    • 2021-03-31
    • 2021-11-09
    • 1970-01-01
    • 2020-12-25
    • 2022-01-01
    • 2020-12-09
    • 2022-01-19
    相关资源
    最近更新 更多