【发布时间】:2021-05-27 09:55:58
【问题描述】:
我正在尝试在 discord python 中创建一个颜色选择器命令,允许人们使用十六进制代码选择自定义颜色。它通过创建一个名为消息作者的角色,然后将角色的颜色设置为使用命令 db!color(十六进制代码)在聊天中发送的十六进制代码来实现此目的。但由于某种原因,我得到了错误
SyntaxError: invalid hexadecimal literal
这是代码
elif message.content.startswith('db!color'):
role = str(message.author)
color = message.content.replace('db!color ', '')
guild = message.author.guild
sleep(0.3)
print(color)
if get(message.guild.roles, name=role):
await role.edit(guild=message.guild, role=role, color=discord.Color(0x + int(color))
else:
await guild.create_role(role=role, color=discord.Color(0x + int(color))
【问题讨论】:
-
SyntaxError 可能来自最后一行:
cord.Color(0x + int(color))其中0x不是有效的“十六进制文字。我猜你想加上引号:"0x" + str(color)
标签: python url-rewriting discord discord.py