Discord.py Подскажите пожалуйста. Как выдать unban по ID?

Прошу прощение за возможно глупый вопрос. Как можно выдать анбан пользователю по идентификатору в Discord?

@bot.command()
@commands.has_permissions(administrator=True)
async def unban(ctx, member: discord.member, reason, id: int):
    user = await ctx.fetch_user(id)
    if reason == None:
        await ctx.send(f'{member.mention} получил амнистию!')

    messageok = (f'С участника {member.mention} была снята блокировка **по причине: {reason}**')

    await member.send(f'С вас была снята блокировка на сервере: {ctx.guild.name}, добро пожаловать!')
    await ctx.send(messageok)
    await ctx.guild.unban(user)
    
    
@unban.error
async def unban_error(ctx, error, member: discord.Member):
    if isinstance(error, MissingPermissions):
        await ctx.send(f'{member.mention}, **у вас нет доступа к снятию блокировок!**')

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

Автор решения: s_l_a_v_k_a
  1. Когда вы передаёте переменной member класс discord.Member, вы берёте людей, которые есть на сервере.
@bot.command()
@commands.has_permissions(administrator=True)
async def unban(ctx, member = None, *, reason = "Отстуствует"):
    if not member:
        await ctx.send("Укажите ID пользователя!")
    elif len(member) > 18:
        await ctx.send("Укажите ID пользователя!")
    else:
        try:
            member = int(member)
            user   = await bot.fetch_user(member)
        except:
            return

        await ctx.guild.unban(user, reason=reason)
        await ctx.send(f"С участника <@!{user.id}> была снята блокировка **по причине: {reason}**!")
        await user.send(f'С вас была снята блокировка на сервере: {ctx.guild.name}, добро пожаловать!')
@unban.error
async def unban_error(ctx, error, member: discord.Member):
    if isinstance(error, MissingPermissions):
        await ctx.send(f'{member.mention}, **у вас нет доступа к снятию блокировок!**')
→ Ссылка