Как сделать команду выдачи ролей?
Помогите. Я хочу сделать команду для выдачи ролей на discord.py. Вот как она должна выполняться: ?grant @упоминание пользователя @упоминание роли. Например ?grant @Fox#1632 @ Moderator. Можете дать код.
Простой 1 комментарий
@client.command() async def news(ctx, member: discord.Member = None): if member is None: role = ctx.guild.get_role( ID роли которую хочешь выдать ) await ctx.author.add_roles(role) await ctx.send( embed=discord.Embed( description=f"**Вы взяли себе роль **", color=discord.Color.purple(), ) ) else: role = ctx.guild.get_role( ID роли которую хочешь выдать ) await ctx.author.add_roles(role) await ctx.send( embed=discord.Embed( description=f"Вы выдали **** роль ", color=discord.Color.purple(), ) )
Чтобы указать человека мы добавляем в параметр ctx member = None то есть Участника
Параметром if member is None мы говорим если Участник не ввел ник то роль выдаст ему
Параметром else мы говорим наоборот если Пользаватель указал Участника то выдат роль то му кому он указал
Параметром ctx.author.add_roles(role) мы говорил что мы участнику выдадим роль
Pavlosik, Спасибо но как получать роль не в коде, а в сообщении например @ User эту часть я не могу реализовать .
В любом случае бот дает роль автору сообщения а пользователя надо получить по упоминанию. И роль так же. Если что заранее спасибо.
Дмитрий Null, role: discord.Role = None этим параметром мы говорим то что
если роль упоминули и его нету то она добавит его в список,
if role is None: await ctx.send(f"****, укажите роль, которую вы желайте выдать")