Скрипт проходит по личным диалогам выбранного сообщества, ищет сообщения от имени группы по свежему или старому периоду и удаляет их пачками. Подходит для экстренной зачистки после спам-рассылки через скомпрометированный ключ.
Для использования вам понадобится ваш токен и ID группы.1000 = до 1000 сообщений внутри каждого ЛС.
Необязательно. Для старых дат помогает точнее найти и удалить сообщения.
О скрипте
Этот инструмент нужен для аварийных ситуаций с личными сообщениями сообщества. Он проходит по ЛС выбранной группы, находит свежие сообщения от имени сообщества за указанный период и удаляет их пачками через VK API. Скрипт полезен не только после взлома: он помогает быстро убрать несанкционированную рассылку, случайно отправленное сообщение, дубль рассылки, письмо с неправильной ссылкой, ошибочной ценой, промокодом, датой, вложением или текстом. Перед реальным удалением можно запустить тестовый режим и увидеть, сколько сообщений будет найдено.
Преимущества
- Массовый проход по личным диалогам сообщества
- Фильтр по периоду в часах, чтобы не трогать старую переписку
- По умолчанию удаляются только сообщения, отправленные от имени сообщества
- Режим delete_for_all для попытки удалить сообщения у получателей
- Тестовый режим для предварительного подсчёта без удаления
- Настройка лимита: сколько последних сообщений читать внутри каждого диалога
- Подробный лог по найденным, удалённым, заблокированным и ошибочным сообщениям
- Подходит для зачистки после взлома, ошибочной рассылки, повторной отправки или рассылки не той аудитории
Как использовать
- Сначала устраните причину: отзовите скомпрометированный ключ, остановите рассылку или отключите ошибочный сценарий
- Вставьте токен с правами на сообщения выбранного сообщества
- Выберите нужную группу или укажите её ID
- Задайте период в часах: например, с момента взлома или случайной отправки
- Укажите, сколько последних сообщений проверять в каждом ЛС: по умолчанию 1000
- Оставьте включённым фильтр «только сообщения от имени сообщества», если нужно убрать именно рассылку
- Сначала включите тестовый режим и посмотрите количество найденных сообщений
- Если объём выглядит правильно, отключите тестовый режим и запустите очистку
- Проверьте итоговый отчёт: удалено, VK отказал удалить у получателей, ошибок API
Часто задаваемые вопросы
Он нужен, когда из лички сообщества ушла рассылка, которую надо срочно убрать: после взлома или утечки API-ключа, при несанкционированной отправке сотрудником или подрядчиком, при случайном запуске рассылки, при дубле сообщения, неправильной ссылке, цене, промокоде, дате, вложении или тексте.
Да, если спам ушёл именно из сообщений сообщества и у вас есть рабочий токен с доступом к messages для этой группы. Но сначала нужно закрыть причину взлома: отозвать скомпрометированный токен, поменять доступы и остановить источник рассылки.
Да. Задайте короткий период после отправки, оставьте фильтр сообщений от имени сообщества и сначала запустите тестовый режим. Так можно проверить, что скрипт нашёл именно эту рассылку, а не старую переписку.
Скрипт не редактирует сообщения, а удаляет найденные свежие сообщения. Если VK разрешит delete_for_all, они исчезнут у получателей; если VK откажет, такие сообщения попадут в отдельный счётчик.
Скрипт включает delete_for_all, если включён соответствующий переключатель. VK может отказать для части сообщений, например если истёк допустимый срок удаления у всех; такие случаи попадают в счётчик «VK отказал».
Да. Главная настройка — период в часах. Скрипт читает историю от новых сообщений к старым и останавливается, когда доходит до сообщений старше выбранного периода.
По умолчанию нет: включён фильтр «только сообщения от имени сообщества». Его можно выключить, но для аварийной зачистки рассылки обычно оставляют включённым.
Это лимит проверки внутри одного диалога. Например, 1000 означает: в каждом личном диалоге сообщества проверить до 1000 последних сообщений. Если рассылка свежая и была одним сообщением, обычно достаточно значения по умолчанию.
Тестовый режим показывает, сколько сообщений будет найдено, но ничего не удаляет. Это снижает риск удалить не ту переписку, особенно если период выбран слишком широко или в диалогах была активная ручная коммуникация.