не работает unban в дискорд боте (disnake)
Написал unban.py(мой код разделен на коги) у меня что-то вышло, но не сработало. Работает все это с слэшом и при попытке ввести ID пользователя выходит ошибка в дискорде: "Введите корректный числовой код". Помогите пожалуйста КОД:
from disnake.ext import commands
class Unban(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.slash_command(brief="<ID пользователя>", description="Разбанить пользователя по ID")
@commands.has_permissions(ban_members=True)
async def unban(self, ctx, user_id: int):
try:
user = await self.bot.fetch_user(user_id)
await ctx.guild.unban(user)
except disnake.NotFound:
return await ctx.send("Пользователь не найден в списке забаненных.")
except disnake.Forbidden:
return await ctx.send("У меня нет прав на разбан пользователя.")
embed = disnake.Embed(
title="Разбан",
description=f"Пользователь {user.mention} был разбанен.\nПожалуйста, не нарушайте больше правила.",
color=disnake.Color.green()
)
# Проверка наличия аватара
if user.avatar:
embed.set_thumbnail(url=user.avatar.url)
embed.set_footer(text=f"Модератор: {ctx.author}#{ctx.author.discriminator}")
await ctx.send(embed=embed)
def setup(bot):
bot.add_cog(Unban(bot))```
Ответы (1 шт):
Автор решения: Ander
→ Ссылка
ID пользователя больше по размеру чем int. Поэтому или используй свободное поле без указанного типа данных и преобразуй в int при поиске или настрой их в commands.Param(). Более детально смотри данный метод в документации диснейка.
Надеюсь я не поздно ответил