Задание: Max. ЮЗЕР БОТ В MAX (Дистанционная работа)
ТЗ на разработку юзер-бота «MaxBot» для мессенджера MAX 1. Назначение - Автономный бот, имитирующий живого пользователя. - Автоматический поиск собеседников, отправка первых сообщений, ведение диалога по сценариям, сбор статистики. 2. Особенности платформы (влияние на бота) - Регистрация только по номеру телефона (SMS-код) → нужен ввод кода (ручной или через API SMS). - Общение только с контактами из телефонной книги → требуется эмуляция добавления номеров. - Нет публичного API → используем MasterBot или reverse engineering мобильного клиента. - Поддержка медиа (стикеры, голосовые) – опционально. - География 40+ стран – настраиваемые фильтры и номера. - Отсутствие сквозного шифрования – упрощает мониторинг трафика. 3. Функциональные требования - Авторизация: вход по номеру, приём SMS, установка имени, загрузка фото (опционально). Хранение JWT-сессии, автоматическое обновление. Мультиаккаунтность (10–15 аккаунтов). - Управление контактами: доступ к телефонной книге (эмуляция на Android через ADB/ContentProvider, на iOS – ручное или эмулятор). Автоматическое добавление номеров перед отправкой. Альтернатива – через ботов знакомств (TINDMEET) по мэтчу. - Поиск собеседников: сканирование контактов или свайп в ботах знакомств. Фильтры: пол, возраст, гео, категории. - Отправка первого сообщения: по шаблонам (с переменными) или через ChatGPT API. Поддержка стикеров. - Обработка ответов: два режима – простой (завершающее сообщение) и продвинутый (сценарий с ключевыми словами). Отложенные ответы – возможность задать таймер (например, «напиши через 2 месяца»). - Администрирование: Telegram-бот с командами `/start`, `/stop`, `/status`, `/stats`, `/add_contact`. Опционально веб-панель. Поддержка прокси (HTTP/SOCKS). 4. Технические требования - Стек: Python 3.10+ (asyncio + aiohttp) или Node.js. Хранение – SQLite/PostgreSQL (история, контакты, настройки, отложенные задачи). - Взаимодействие с MAX: через MasterBot или reverse engineering (эмуляция запросов, заголовков, jitter-задержки). - Антидетект: случайные паузы (30 сек – 5 мин), ротация User-Agent и прокси, эмуляция чтения сообщений, лимит новых чатов (30–50/сутки на аккаунт). - Логирование: JSON-логи с уровнями, интеграция с Sentry, метрики (отправленные/ответы/активные диалоги). 5. Сценарии работы (основные) - Запуск → авторизация, загрузка настроек. - Поиск кандидата (контакты или боты знакомств). - Добавление контакта (эмуляция). - Отправка первого сообщения (шаблон/ИИ) → запись в историю. - Ожидание ответа (WebSocket/polling). - Обработка входящего – по сценарию (немедленно или отложенно). - Циклическая пауза для имитации человека. 6. Интерфейс управления - Telegram-бот с командами для запуска/остановки, просмотра статуса, статистики, ручного добавления контактов. 7. Критерии приёмки - Авторизация и поддержка сессии. - Корректное добавление контактов. - Отправка не чаще 1 раза в 30 мин. - Обработка входящих и отложенных ответов. - Полное логирование. - Работа через Telegram-команды. - Стабильность при 10–15 аккаунтах одновременно. 8. План (ориентировочно 6–7 недель) 1. Reverse engineering / MasterBot, клиент авторизации – 2 нед. 2. Управление контактами – 1 нед. 3. Отправка/приём сообщений – 1 нед. 4. Шаблоны и ИИ-генерация – 3 дня. 5. Таймеры, фильтры, логирование – 1 нед. 6. Telegram-бот управления – 3 дня. 7. Тестирование, антидетект, прокси – 1 нед. 9. Риски и митигация - Бан аккаунтов → резидентские прокси, паузы, лимиты. - Изменение API → выделить слой API, легко обновляемый. - Сложность с контактами (iOS) → для MVP использовать Android-эмуляторы или ручное добавление. - Перегрузка → асинхронность, ограничение параллельных задач. - Недостаток валюты (если нужна) → мониторинг баланса и уведомление администратора.