Во-первых, я хотел бы отметить, что я новичок в Python.
Я пытаюсь написать команду, которая позволяет пользователю изменять цвет своей роли через бота.Однако я столкнулся со многими проблемами, на которые не могу найти ответ.
Первая проблема заключалась в том, что я не мог получить доступ к роли пользователя, вызывающего команду.Я решил, однако, пропустить это и перейти прямо к определенной роли.Поэтому я сделал этот код:
@client.command(pass_context=1)
async def changecolor(ctx, NewColor):
author = ctx.message.author
server = ctx.message.author.server
dictOfColors = { '1' : discord.Color.default(),
'2' : discord.Color.teal(),
'3' : discord.Color.dark_teal(),
'4' : discord.Color.green(),
'5' : discord.Color.dark_green(),
'6' : discord.Color.blue(),
'7' : discord.Color.purple(),
'8' : discord.Color.dark_purple(),
'9' : discord.Color.magenta(),
'10' : discord.Color.dark_magenta(),
'11' : discord.Color.gold(),
'12' : discord.Color.dark_gold(),
'13' : discord.Color.orange(),
'14' : discord.Color.dark_orange(),
'15' : discord.Color.red(),
'16' : discord.Color.dark_red() }
role = discord.utils.get(server.roles, name='New Member')
if NewColor in dictOfColors:
await client.edit_role(server, role, colour=NewColor)
Но когда я пытаюсь: .changecolor 5
получает эту ошибку:
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'NoneType' object has no attribute 'name'
Можете ли вы дать мне подсказку, что я делаю неправильно?