Мощный инструмент для автоматизации сообщений ВКонтакте
Скачать архив с кодомЭтот код предназначен ТОЛЬКО ДЛЯ ОБРАЗОВАТЕЛЬНЫХ ЦЕЛЕЙ. Использование для спама может привести к:
Используйте только на своих тестовых аккаунтах!
Поддержка неограниченного количества аккаунтов
Любые команды: "ферма", "бкоин 10000" и другие
Настраиваемое время между сообщениями
Конфигурация сохраняется в JSON файл
Скачайте с официального сайта: python.org
Создайте файл requirements.txt:
vk-api
Установите через pip:
pip install -r requirements.txt
Создайте файл vk_spammer.py:
import vk_api import threading import time import json import os from datetime import datetime class VKSpammer: def __init__(self): self.accounts = [] self.sessions = [] self.running = False self.config_file = "vk_config.json" def load_config(self): """Загрузка конфигурации из файла""" if os.path.exists(self.config_file): with open(self.config_file, 'r', encoding='utf-8') as f: config = json.load(f) self.accounts = config.get('accounts', []) return True return False def save_config(self): """Сохранение конфигурации в файл""" config = {'accounts': self.accounts} with open(self.config_file, 'w', encoding='utf-8') as f: json.dump(config, f, ensure_ascii=False, indent=2) def add_account(self, login, password, token=None): """Добавление аккаунта""" account = { 'login': login, 'password': password, 'token': token } self.accounts.append(account) self.save_config() print(f"Аккаунт {login} добавлен!") def auth_accounts(self): """Авторизация всех аккаунтов""" self.sessions = [] for account in self.accounts: try: if account.get('token'): # Авторизация по токену vk_session = vk_api.VkApi(token=account['token']) else: # Авторизация по логину/паролю vk_session = vk_api.VkApi( login=account['login'], password=account['password'] ) vk_session.auth() vk = vk_session.get_api() user_info = vk.users.get()[0] session_info = { 'vk': vk, 'session': vk_session, 'user_id': user_info['id'], 'name': f"{user_info['first_name']} {user_info['last_name']}" } self.sessions.append(session_info) print(f"✅ Успешная авторизация: {session_info['name']}") except Exception as e: print(f"❌ Ошибка авторизации для {account['login']}: {e}") def send_message(self, vk, peer_id, message): """Отправка сообщения""" try: vk.messages.send( peer_id=peer_id, message=message, random_id=vk_api.utils.get_random_id() ) print(f"📨 Сообщение отправлено: {message}") return True except Exception as e: print(f"❌ Ошибка отправки: {e}") return False def spam_worker(self, session_info, peer_id, message, interval): """Рабочий поток для спама""" vk = session_info['vk'] name = session_info['name'] print(f"👤 {name} начал работу в беседе {peer_id}") while self.running: try: self.send_message(vk, peer_id, message) # Ждем указанный интервал for _ in range(interval * 60 * 60): # конвертируем часы в секунды if not self.running: break time.sleep(1) except Exception as e: print(f"❌ Ошибка в потоке {name}: {e}") time.sleep(60) # Ждем минуту при ошибке def start_spam(self, peer_id, message, interval_hours=5): """Запуск спама""" if not self.sessions: print("❌ Нет авторизованных аккаунтов!") return self.running = True print(f"🚀 Запуск спама в беседу {peer_id}") print(f"💬 Сообщение: {message}") print(f"⏰ Интервал: {interval_hours} часов") # Создаем потоки для каждого аккаунта threads = [] for session in self.sessions: thread = threading.Thread( target=self.spam_worker, args=(session, peer_id, message, interval_hours) ) thread.daemon = True thread.start() threads.append(thread) print("✅ Все потоки запущены!") return threads def stop_spam(self): """Остановка спама""" self.running = False print("🛑 Спам остановлен") def show_accounts(self): """Показать все аккаунты""" if not self.accounts: print("📝 Аккаунты не добавлены") return print("\n📋 Список аккаунтов:") for i, account in enumerate(self.accounts, 1): print(f"{i}. {account['login']}") def main(): spammer = VKSpammer() # Загружаем конфигурацию if spammer.load_config(): print("📂 Конфигурация загружена") print("🤖 VK Спаммер запущен!") print("Доступные команды:") print("1 - Добавить аккаунт") print("2 - Авторизовать аккаунты") print("3 - Показать аккаунты") print("4 - Запустить спам") print("5 - Остановить спам") print("6 - Выход") while True: try: command = input("\nВведите команду: ").strip() if command == "1": print("\n➕ Добавление аккаунта") login = input("Логин/email: ") password = input("Пароль: ") token = input("Токен (если есть, иначе Enter): ") or None spammer.add_account(login, password, token) elif command == "2": print("\n🔐 Авторизация аккаунтов...") spammer.auth_accounts() elif command == "3": spammer.show_accounts() elif command == "4": if not spammer.sessions: print("❌ Сначала авторизуйте аккаунты!") continue print("\n🎯 Запуск спама") peer_id = input("ID беседы: ") message = input("Сообщение для спама: ") try: interval = float(input("Интервал в часах (по умолчанию 5): ") or 5) except ValueError: interval = 5 spammer.start_spam(peer_id, message, interval) print("✅ Спам запущен! Для остановки введите команду 5") elif command == "5": spammer.stop_spam() elif command == "6": spammer.stop_spam() print("👋 Выход...") break else: print("❌ Неизвестная команда") except KeyboardInterrupt: print("\n🛑 Прервано пользователем") spammer.stop_spam() break except Exception as e: print(f"❌ Ошибка: {e}") if __name__ == "__main__": main()
python vk_spammer.py
Используйте команду 1 для добавления аккаунтов по логину/паролю или токену
Команда 2 для авторизации всех добавленных аккаунтов
Команда 4 - введите ID беседы, сообщение и интервал
В веб-версии VK: https://vk.com/im?sel=cXX - где XX это ID беседы
vk_spammer/ ├── vk_spammer.py # Основной файл программы ├── requirements.txt # Файл зависимостей ├── vk_config.json # Файл конфигурации (создается автоматически) └── README.txt # Инструкция