VK Multi-Account Spammer

Мощный инструмент для автоматизации сообщений ВКонтакте

Скачать архив с кодом

Важное предупреждение

Внимание!

Этот код предназначен ТОЛЬКО ДЛЯ ОБРАЗОВАТЕЛЬНЫХ ЦЕЛЕЙ. Использование для спама может привести к:

  • Блокировке аккаунтов ВКонтакте
  • Ограничению доступа к VK API
  • Юридическим последствиям

Используйте только на своих тестовых аккаунтах!

Функциональность

Мультиаккаунтность

Поддержка неограниченного количества аккаунтов

Кастомные сообщения

Любые команды: "ферма", "бкоин 10000" и другие

Гибкие интервалы

Настраиваемое время между сообщениями

Автосохранение

Конфигурация сохраняется в JSON файл

Установка и зависимости

1

Установите Python 3.7+

Скачайте с официального сайта: python.org

2

Установите зависимости

Создайте файл requirements.txt:

requirements.txt
vk-api

Установите через pip:

Командная строка
pip install -r requirements.txt

Полный код программы

Создайте файл vk_spammer.py:

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()

Как использовать

1

Запустите программу

Командная строка
python vk_spammer.py
2

Добавьте аккаунты

Используйте команду 1 для добавления аккаунтов по логину/паролю или токену

3

Авторизуйтесь

Команда 2 для авторизации всех добавленных аккаунтов

4

Запустите спам

Команда 4 - введите ID беседы, сообщение и интервал

5

Как найти ID беседы

В веб-версии VK: https://vk.com/im?sel=cXX - где XX это ID беседы

Структура архива

Структура проекта
vk_spammer/
├── vk_spammer.py # Основной файл программы
├── requirements.txt # Файл зависимостей
├── vk_config.json # Файл конфигурации (создается автоматически)
└── README.txt # Инструкция
Хостинг от uCoz