@proqmain

Как исправить «AttributeError: 'str' object has no attribute 'id'»?

Пишу бота на питоне, и мне понадобилось, чтобы бот банил того, кто удаляет 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 юзера

Но оно не помогает.
  • Вопрос задан
  • 458 просмотров
Пригласить эксперта
Ответы на вопрос 1
SoreMix
@SoreMix
yellow
Метод ban не принимает строку

https://discordpy.readthedocs.io/en/stable/api.htm...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы