Пишу бота на питоне, и мне понадобилось, чтобы бот банил того, кто удаляет 3 канала на сервере (бот для защиты серверов), но вылезает ошибка:
Ignoring exception in on_guild_channel_delete
Traceback (most recent call last):
File "C:\Users\123\AppData\Roaming\Python\Python38\site-packages\discord\client.py", line 343, in _run_event
await coro(*args, **kwargs)
File "c:/Users/123/Desktop/te.py", line 30, in on_guild_channel_delete
await guild.ban(member, reason="Удаление каналов")
File "C:\Users\123\AppData\Roaming\Python\Python38\site-packages\discord\guild.py", line 2026, in ban
await self._state.http.ban(user.id, self.id, delete_message_days, reason=reason)
AttributeError: 'str' object has no attribute 'id'
Код:
@bot.event
async def on_guild_channel_delete(channel):
guild = channel.guild
async for entry in guild.audit_logs(limit=3, action=discord.AuditLogAction.channel_delete):
member = "{0.user.id}".format(entry)
await guild.ban(member, reason="Удаление каналов")
Я пробовал:
member = "{0.user}".format(entry) # в коде сверху бот получает id юзера
Но оно не помогает.