Как забрать у пользователя роль, зная только его ID? Discord.py

У меня есть ID пользователя, и я хочу забрать у него роль. Как это можно сделать? Как я понял, мне нужен объект member. Спасибо!

Все, что у меня есть:

<RawReactionActionEvent 

message_id=889129526414688307 

user_id=760854742305079349 

channel_id=880382991476613160 

guild_id=761950725508956160 

emoji=  < PartialEmoji animated=False name='1️⃣' id=None>

event_type='REACTION_REMOVE' member=None>

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

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

Создаем команду и принимаем id пользователя в виде аргумента.

В переменную ROLE_ID укажите id роли, которую хотите выдать/забрать.

Код большой, потому что в нем прописано большинство возможных исключений

from discord.ext import commands
import discord

bot = commands.Bot(command_prefix='!', intents=discord.Intents.all())

ROLE_ID = 794985313692286998

@bot.command()
async def give_role(ctx, user_id: int=None):
    if ctx.channel.type == discord.ChannelType.private:
        await ctx.send('Данную команду нельзя использовать в личных сообщениях!')
        return
    if user_id == None:
        await ctx.send('Укажите `id` пользователя!')
        return
    else:
        member = discord.utils.get(ctx.guild.members, id=user_id)
        role = discord.utils.get(ctx.guild.roles, id=ROLE_ID)
        await member.add_roles(role)

@bot.event
async def on_command_error(ctx, error):
    if isinstance(error, commands.errors.BadArgument):
        await ctx.send(f'{ctx.author.mention}, укажите `id` пользователя. Не удалось преобразовать указанный аргумент в число!')

bot.run('TOKEN')
→ Ссылка
Автор решения: Daniel

В результате я создал глобальную переменную(словарь) и в нее записал ID и member. Но если бота перезапустить, то вся эта информация стирается(

→ Ссылка