Удаление сообщений Discordpy от определенного пользователя

#python #discord #discord.py

#python #Discord #discord.py

Вопрос:

В настоящее время я пытаюсь удалить сообщения, отправленные определенным пользователем, однако я получаю сообщение об ошибке:

Команда вызвала исключение: AttributeError: объект ‘list’ не имеет атрибута ‘author’

Я не уверен, почему это происходит, любая помощь будет с благодарностью принята.

 @client.command()
async def message_test(ctx, channel: discord.TextChannel):

    def user_filter(message):
        return message.author.id == 627862713242222632

    messages = [m.content async for m in channel.history().filter(user_filter)]
    print(messages)  # prints the list we get from the line above
    me = messages.author == 627862713242222632
    deleted = await channel.purge(limit=100, check=me)
    await channel.send('Deleted {} message(s)'.format(len(deleted)))
 

Ответ №1:

Написанный вами код вообще не имеет никакого смысла. Вот как удалить 100 сообщений с определенным идентификатором пользователя.

 def is_user_message(message):
    return message.author.id == some_user_id

await channel.purge(limit=100, check=is_user_message)