async def vanity(ctx, rolename=None, hexcolour=None):
savepath = "--"
userFile = os.path.join(savepath, str(ctx.author.id) + ".txt")
server = client.get_guild(--)
if os.path.exists(userFile):
await ctx.send("No")
if rolename == None:
await ctx.send("Please include a name")
elif hexcolour == None:
await ctx.send("Please include a hexadecimal colour value")
elif os.path.exists(userFile):
vanityFile = open(userFile, "a+")
vanityFile = vanityFile.read()
await ctx.send(vanityFile)
vanityrole = server.get_role(int(vanityFile))
vanityrole = vanityrole.edit(name = str(rolename), colour = int("0x" + hexcolour, 16))
else:
vanityFile = open(userFile, "a+")
vanityrole = await server.create_role(name = str(rolename), colour = int("0x" + hexcolour, 16))
vanityFile = vanityFile.write(str(vanityrole.id))
await client.add_roles(ctx.author, vanityrole)
Это мой код (с некоторыми вещами, пропущенными по соображениям конфиденциальности), когда я запускаю его, я получаю сообщение об ошибке
vanityrole = await server.create_role(name = str(rolename), colour = int("0x" + hexcolour, 16))
File "/home/--/.local/lib/python3.7/site-packages/discord/guild.py", line 1589, in create_role
fields['color'] = colour.value
AttributeError: 'int' object has no attribute 'value'
Мой код предназначен для того, чтобы кто-то мог редактировать / создавать свою роль тщеславия сервер. В данный момент я борюсь с тем, как получить цвет, который пользователь вводит в команду, и установить для него роль с помощью шестнадцатеричного цвета.