Для удаления всех сообщений от определённого пользователя через vkbottle, вам потребуется использовать метод messages.delete() с параметром "delete_for_all" установленным в значение "1".
Вот пример кода для удаления всех сообщений от определённого пользователя через vkbottle:
import logging from vkbottle import Bot, Message bot = Bot() @bot.on.message() async def handle_messages(message: Message): user_id = <id_пользователя> # ID пользователя, чьи сообщения нужно удалить if message.from_id == user_id: try: await message.api.messages.delete(message_ids=[message.id], delete_for_all=1) except Exception as e: logging.error(f"Ошибка при удалении сообщений: {e}") # Добавьте другую логику обработки сообщений, если нужно bot.run_polling()
В этом примере мы создаем бота с использованием библиотеки vkbottle и регистрируем обработчик сообщений с помощью декоратора @bot.on.message(). В обработчике мы проверяем, отправитель сообщения (message.from_id) и сравниваем его с ID пользователя, чьи сообщения мы хотим удалить. Если отправитель совпадает, мы вызываем метод messages.delete() с параметром delete_for_all=1 и передаем в качестве аргумента список ID сообщений, которые нужно удалить.
Обратите внимание, что вам потребуется получить токен доступа для вашего сообщества VK и добавить его в код, чтобы ваш бот мог работать.
Кроме того, помните, что VK имеет ограничения на удаление сообщений, поэтому вы не сможете удалить все сообщения сразу, если их количество превышает лимит. В этом случае вам нужно будет делать вызовы метода messages.delete() пакетно, например, по 100 сообщений за раз.