Как избавиться от ошибки role is a required argument that is missing.?
async def Rainbow(ctx, role : disnake.Role):
if ctx.message.author.id in acces_id:
guild = ctx.guild
role = disnake.utils.get(ctx.message.guild.roles, name = "Радужный доступ")
user = ctx.message.author
await guild.create_role(name="Радужный доступ", colour = disnake.colour(0xff0033))
await user.add_roles(ctx.message.author, role)
else:
await ctx.send("Уходи")
Возможно я в глаза дол#люсь, но я не понимаю в чем ошибка, Гуглил много раз
Ответы (1 шт):
Автор решения: q r t s
→ Ссылка
Во-первых о ошибке.
Она говорит о том, что вы при написании команды prefixRainbow не указываете обязательный аргумент role в строке:
async def Rainbow(ctx, role : disnake.Role):
То есть должно это выглядеть примерно так:
+Rainbow @role
Во-вторых зачем вы получаете сначала роль:
role = disnake.utils.get(ctx.message.guild.roles, name = "Радужный доступ")
А потом ещё и создаете такую же:
await guild.create_role(name="Радужный доступ", colour = disnake.colour(0xff0033))
Вы либо взяли код из интернета, либо просто не понимаете о чём пишете.
Исправьте свой код, либо попробуйте мою версию:
async def Rainbow(ctx):
if ctx.author.id in #id:
guild = ctx.guild
role = disnake.utils.get(ctx.guild.roles, name = "Радужный доступ")
user = ctx.author
if role is None:
role = await guild.create_role(name="Радужный доступ", colour = disnake.colour(0xff0033))
await user.add_roles(role)
else:
await ctx.send("Вы не можете использовать эту команду.")