Скрипт, который позволяет выйти со всех пабликов, клубов, а также почистить личные переписки.
Настройки
Код на python:
[HIDE]
[/HIDE]
Как получить токен?
Настройки
Код:
# Вставьте ваш токен
ACCESS_TOKEN = 'YOU_TOKEN'
UNSUBSCRIBE_GROUPS = True # Отписаться от всех групп
UNSUBSCRIBE_PUBLICS = True # Отписаться от всех пабликов
CLEAR_MESSAGES = True # Очистить историю сообщений
CLEAR_ARCHIVED_CHATS = True # Очистить архивированные чаты
DELAY_BETWEEN_REQUESTS = 1 # Задержка между запросами (в секундах)
[HIDE]
Python:
import vk_api
from vk_api.exceptions import ApiError
import time
# Вставьте ваш токен
ACCESS_TOKEN = 'YOU_TOKEN'
# Настройки: Укажите, что нужно удалить
UNSUBSCRIBE_GROUPS = True # Отписаться от всех групп
UNSUBSCRIBE_PUBLICS = True # Отписаться от всех пабликов
CLEAR_MESSAGES = True # Очистить историю сообщений
CLEAR_ARCHIVED_CHATS = True # Очистить архивированные чаты
DELAY_BETWEEN_REQUESTS = 1 # Задержка между запросами (в секундах)
# Создаем сессию VK API
vk_session = vk_api.VkApi(token=ACCESS_TOKEN)
vk = vk_session.get_api()
def get_all_groups():
groups = []
offset = 0
while True:
try:
response = vk.groups.get(filter='groups', count=1000, offset=offset)
items = response.get('items', [])
if not items:
break
groups.extend(items)
offset += len(items)
time.sleep(DELAY_BETWEEN_REQUESTS)
except ApiError as e:
print(f"Ошибка при получении списка групп: {e}")
break
return groups
def get_all_publics():
publics = []
offset = 0
while True:
try:
response = vk.groups.get(filter='publics', count=1000, offset=offset)
items = response.get('items', [])
if not items:
break
publics.extend(items)
offset += len(items)
time.sleep(DELAY_BETWEEN_REQUESTS)
except ApiError as e:
print(f"Ошибка при получении списка пабликов: {e}")
break
return publics
def unsubscribe_from_groups(groups):
for group_id in groups:
try:
vk.groups.leave(group_id=group_id)
print(f"Отписались от группы с ID: {group_id}")
time.sleep(DELAY_BETWEEN_REQUESTS)
except ApiError as e:
print(f"Не удалось отписаться от группы с ID {group_id}: {e}")
def unsubscribe_from_publics(publics):
for public_id in publics:
try:
vk.groups.leave(group_id=public_id)
print(f"Отписались от паблика с ID: {public_id}")
time.sleep(DELAY_BETWEEN_REQUESTS)
except ApiError as e:
print(f"Не удалось отписаться от паблика с ID {public_id}: {e}")
def get_all_conversations(filter_type='all'):
if filter_type not in ['all', 'archive']:
raise ValueError("Неверное значение filter_type. Допустимые значения: 'all', 'archive'.")
conversations = []
offset = 0
while True:
try:
response = vk.messages.getConversations(filter=filter_type, count=200, offset=offset)
items = response.get('items', [])
if not items:
break
conversations.extend([item['conversation']['peer']['id'] for item in items])
offset += len(items)
time.sleep(DELAY_BETWEEN_REQUESTS)
except ApiError as e:
print(f"Ошибка при получении списка диалогов: {e}")
break
return conversations
def clear_message_history(conversations):
for peer_id in conversations:
try:
vk.messages.deleteConversation(peer_id=peer_id)
print(f"Очищена история с ID: {peer_id}")
time.sleep(DELAY_BETWEEN_REQUESTS)
except ApiError as e:
print(f"Не удалось очистить историю с ID {peer_id}: {e}")
def main():
if UNSUBSCRIBE_GROUPS:
print("Начинаем отписку от групп...")
groups = get_all_groups()
unsubscribe_from_groups(groups)
print("Отписка от групп завершена.")
if UNSUBSCRIBE_PUBLICS:
print("Начинаем отписку от пабликов...")
publics = get_all_publics()
unsubscribe_from_publics(publics)
print("Отписка от пабликов завершена.")
if CLEAR_MESSAGES:
print("Начинаем очистку истории сообщений...")
conversations = get_all_conversations(filter_type='all')
clear_message_history(conversations)
print("Очистка истории сообщений завершена.")
if CLEAR_ARCHIVED_CHATS:
print("Начинаем очистку архивированных чатов...")
archived_conversations = get_all_conversations(filter_type='archive')
clear_message_history(archived_conversations)
print("Очистка архивированных чатов завершена.")
if __name__ == '__main__':
main()
Как получить токен?
-
У вас нет разрешения на просмотр ссылки, пожалуйста Вход или Регистрация— удобный инструмент для получения токена.
- Откройте сайт.
- Выберите приложение (например, "Kate Mobile").
- Авторизуйтесь в VK.
- Скопируйте токен из адресной строки.
- python3 -m venv env (создаем окружение)
- source env/bin/activate (входим в окружение)
- pip install vk_api
- настройте скрипт (вставить токен, выбрать параметры удаления)
- python vk.py (запустить обработку)
Код:
Начинаем отписку от групп...
Отписка от групп завершена.
Начинаем отписку от пабликов...
Отписка от пабликов завершена.
Начинаем очистку истории сообщений...
Очистка истории сообщений завершена.
Начинаем очистку архивированных чатов...
Очистка архивированных чатов завершена.
Очищена история с ID: 1
Очищена история с ID: 2
Отписались от группы с ID: 23