Выкладываю свою разработку. Панель для управления парком Telegram-аккаунтов через MTProto: рассылки, автоответы на LLM, комментинг, инвайты, реакции, прогрев.
Раздел здесь технический, поэтому пишу не про оффер, а про то, как устроено и где были грабли. Про цены пара строк в самом конце, чтобы не выглядело как обход правил.
Задача
Есть N аккаунтов Telegram. Нужно, чтобы они работали параллельно, не палили друг друга общим отпечатком и не выбивались из лимитов, которые Telegram нигде не документирует.
Три подзадачи, которые решаются по-разному:
- Изоляция: каждый аккаунт должен выглядеть отдельным клиентом
- Учёт состояния: знать, кто в ограничении и сколько ещё
- Обработка входящих: ответы приходят пачками, человек не успевает
Изоляция аккаунтов
Каждый аккаунт привязан к своему прокси, и без него в работу не уходит. Это не про анонимность, а про то, что несколько сессий с одного адреса связываются между собой тривиально.
Отдельная колонка - причина простоя. Строка "Пауза от Telegram, ещё 5 ч 48 мин" означает: сессия жива, но действия сейчас вернут ошибку.
Практический вывод, который дался не сразу. Основной источник смертности аккаунтов не первое ограничение, а второе, полученное сразу после первого. Аккаунт выглядит рабочим, его ставят в очередь, он получает FLOOD_WAIT повторно, и дальше уже необратимо. Пока состояние не было видно в интерфейсе, так терялось больше половины парка.
Лимиты, которых нет в документации
Telegram не публикует пороги. Их приходится выводить эмпирически и держать адаптивными.
Здесь запуск на 486 адресатов с тремя вариантами первого сообщения: доставлено 92, 98 и 90 процентов.
Полезнее процентов колонка ошибок. Она коррелирует не с текстом, а с состоянием отправляющих аккаунтов. Резкий рост доли ошибок - сигнал останавливать очередь, а не переписывать сообщение. У нас это в итоге стало отдельным правилом: превышение порога ошибок ставит запуск на паузу автоматически.
Прогрев как снижение аномальности
Свежая сессия, которая сразу начинает рассылать, аномальна по любому разумному признаку: нет истории, нет входящих, нет подписок, активность стартует с нуля до максимума мгновенно.
Прогрев набивает эту историю: чтение каналов, реакции, вступления, переписки по расписанию с разбросом. Пресеты разные под новый аккаунт, восстановление после ограничения и поддержание активности в простое.
Последний недооценивают. Аккаунт, молчавший две недели и внезапно стартовавший, аномален не меньше нового.
LLM в ответах и почему ей нельзя доверять доводить
Самая интересная часть с инженерной точки зрения.
Ответы на первое сообщение приходят неравномерно: больше половины в первый час, дальше хвост на сутки. Человек с пятью открытыми окнами обрабатывает первые двадцать, остальные ждут до утра.
Решение: ответивший автоматически переводится в диалог, вся история переписки передаётся туда же, дальше отвечает модель по правилам, заданным обычным текстом.
Два момента, которые оказались обязательными.
Первый - разные профили ответов на аккаунт. Одинаковые формулировки с нескольких аккаунтов в одной нише вычисляются за день, это самый сильный признак автоматизации из всех.
Второй - песочница. Пишешь реплику собеседника и смотришь ответ конкретного аккаунта, наружу ничего не уходит. Без неё правила отлаживаются на живых людях, что плохо кончается.
Все диалоги в одном списке с фильтрами. Кнопка "Взять" переводит разговор на оператора.
Здесь принципиальное ограничение, заданное намеренно: модель не доводит сделку. Она удерживает контекст до подключения человека, и всё. Автоответ лучше тишины ровно до момента, когда начинает принимать решения.
Остальные модули коротко
Комментинг под новыми постами отслеживаемых каналов. Текст генерируется под конкретный пост, есть предпросмотр на реальном посте до отправки и задержка, чтобы не оказаться первым комментарием через две секунды после публикации.
Инвайтер с распределением по аккаунтам и задержками. Права на приглашение выдаются на время задачи и снимаются после - лишние администраторы в группе не нужны никому.
Реакции с вероятностным распределением по эмодзи и ротацией, чтобы под постом не появлялось тридцать одинаковых за секунду.
Что не умеет
Чтобы не создавать ложных ожиданий.
- Не обходит ограничения Telegram, только учитывает их и не усугубляет
- Не поставляет аккаунты и прокси, работает с вашими
- Не гарантирует выживаемость: качество аккаунтов и адекватность нагрузки на нашей стороне не лечатся
Формально о доступе
Веб-панель, self-hosted версии нет. Тарификация по количеству мест под аккаунт: 10 мест - 24 доллара в месяц, 50 - 59, 100 - 99. Лимитов на количество действий внутри нет, ограничение только со стороны Telegram.
7 дней бесплатно без карты, чтобы проверить на своих аккаунтах.
teletraff.com, контакт: @tele_traff
Готов ответить по любой части архитектуры в теме. Отдельно интересна критика по разделу про эмпирические лимиты - если кто-то снимал пороги системно, а не подбором, расскажите как.