Как сделать чтобы кто-то отмечал роль в определенном канале и он получал эту роль на Discord.py

Например кто-то отметит в канале #роли @123 и бот выдавал бы роль @123 этому человеку


Ответы (1 шт):

Автор решения: RAINGM

В принципе можно через on_message

@commands.Cog.listener()
async def on_message(self, message):
    role = discord.utils.get(message.author.guild.roles, id=role_id)
    channel = discord.utils.get(message.author.guild.text_channels, id=channel_id)
    if message.content == role.mention:
        if message.channel == channel:
            await message.author.add_roles(role)
            return await message.channel.send(f'{message.author.mention} Вам добавлена роль {role.name}')
→ Ссылка