【问题标题】:How do I change a role color using a hex color code argument?如何使用十六进制颜色代码参数更改角色颜色?
【发布时间】:2021-07-19 06:15:12
【问题描述】:

我正在尝试使用带有十六进制颜色代码参数的命令更改角色的颜色(角色的名称是用户的名称)。我尝试了以下代码,但机器人什么也没做。它具有管理员权限和 discord.Intents.all()

@client.command(name="color")
async def role_color(ctx, arg):
    name = ctx.author.name
    guild_id = ctx.guild.id
    guild = discord.utils.find(lambda g: g.id == guild_id, client.guilds)
    role = discord.utils.get(guild.roles, name=name)
    await role.edit(color=f"0x{arg}")

【问题讨论】:

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


【解决方案1】:

如Role.edit 中所述,您必须传入discord.Colour 的实例或int 值。这意味着您必须转换arg。谢天谢地,您希望 arg 是十六进制代码,因此我们可以立即将其转换为 int(无需添加“0x”)。

await role.edit(color=int(arg, 16))

【讨论】:

    猜你喜欢
    • 2022-01-04
    • 1970-01-01
    • 2011-09-20
    • 2011-10-25
    • 2020-06-14
    相关资源
    最近更新 更多