Telegram-бот для приглашения участников и массовых рассылок с продвинутыми анти-блокировочными механизмами.
- ✅ Сбор пользователей из чатов по сообщениям или количеству
- ✅ Автоматическое приглашение в целевой чат
- ✅ Массовая рассылка сообщений
- ✅ Мультиаккаунт с ротацией
- ✅ Кэширование участников (SQLite)
- ✅ Система авторизации по ключам
- ✅ Управление задачами (пауза, отмена, возобновление)
- ✅ Прогресс-бары и детальная статистика
- ✅ Анти-блокировочные механизмы
- 🛡️ Случайные задержки между приглашениями (40-70 сек по умолчанию)
- 🛡️ Умная обработка FloodWait — автоматическая пауза с увеличенным временем (×1.5)
- 🛡️ Ротация аккаунтов — round-robin балансировка нагрузки
- 🛡️ Retry logic — автоматическое повторение при ошибках (3 попытки)
- 🛡️ Кэширование участников — предотвращение дублирования через SQLite
- 🛡️ Фильтрация ботов — автоматический пропуск ботов
- 🛡️ Проверка membership — не приглашает уже состоящих в чате
- 🛡️ Обработка privacy — корректная обработка ограничений приватности
- 🛡️ Фоновый health-check — автоматическая проверка аккаунтов каждые 5 минут
# Установка зависимостей
pip install -r requirements.txt
# Настройка переменных окружения
cp .env.example .env
# Редактирование .env
# Запуск
python main.py# Сборка образа
docker build -t inviter-bot .
# Запуск
docker run -d --name inviter \
-v $(pwd)/data:/app/data \
-v $(pwd)/sessions:/app/sessions \
--env-file .env \
inviter-bot# Копирование на сервер
scp -r inviter/ user@server:/opt/inviter/
# Запуск скрипта деплоя
ssh user@server 'bash /opt/inviter/deploy_bot.sh'| Переменная | Описание | По умолчанию |
|------------|----------|--------------| | BOT_TOKEN | Токен Telegram-бота | - | | API_ID | Telegram API ID | 0 | | API_HASH | Telegram API hash | - | | ADMIN_USER_IDS | ID администраторов | - | | MAX_CONCURRENT_TASKS | Макс. одновременных задач | 10 | | MAX_TASKS_PER_USER | Макс. задач на пользователя | 5 | | MIN_INVITE_DELAY | Мин. задержка приглашения (сек) | 40 | | MAX_INVITE_DELAY | Макс. задержка приглашения (сек) | 70 | | FLOOD_WAIT_MULTIPLIER | Множитель FloodWait | 1.5 | | MAX_RETRIES | Макс. попыток при ошибке | 3 | | HEALTH_CHECK_INTERVAL | Интервал health-check (сек) | 300 | | MAX_ACCOUNTS_PER_TASK | Макс инвайтов на аккаунт | 3 | | SESSION_TIMEOUT | Таймаут сессии (сек) | 1800 |
Inviter/
├── main.py # Монолитный бот (v2.0)
├── .env.example # Пример конфигурации
├── requirements.txt # Зависимости
├── Dockerfile # Docker-образ
├── deploy_bot.sh # Скрипт деплоя
├── IMPROVEMENTS.md # Документация улучшений
├── sessions/ # Telegram сессии
├── data/ # Данные (auth, tasks, cache)
└── logs/ # Логи (по дням)
Бот собирает детальную статистику:
- Количество успешных/неудачных инвайтов
- Количество пользователей с privacy restrictions
- Количество уже состоящих в чате
- Информация об аккаунте (session file)
- Прогресс-бар в реальном времени
- Используйте несколько аккаунтов для распределения нагрузки
- Не превышайте 100 инвайтов в час на один аккаунт
- Регулярно меняйте задержки для имитации поведения человека
- Следите за health-check в логах
- Делайте резервные копии базы данных кэша
- Проверьте логи:
logs/YYYY-MM-DD.log - Увеличьте
MIN_INVITE_DELAYиMAX_INVITE_DELAY - Увеличьте
FLOOD_WAIT_MULTIPLIER - Используйте больше аккаунтов
- Проверьте
API_IDиAPI_HASH - Убедитесь, что сессии в
sessions/валидны - Перезапустите бота для recovery сессий
- Уменьшите
MAX_CONCURRENT_TASKS - Проверьте скорость интернета
- Убедитесь, что нет блокировок провайдера
При создании issue укажите:
- Версию бота (v2.0)
- Логи за дату проблемы
- Конфигурацию из
.env - Описание проблемы
Версия: 2.0.0 Дата: 2025-07-23 Статус: ✅ Production Ready