
Как мой Telegram-парсер ослеп на проде: чиним пропуск лидов через Active Pull (Python, n8n, LLM)
chernyaevi 4 минуты назад Как мой Telegram-парсер ослеп на проде: чиним пропуск лидов через Active Pull (Python, n8n, LLM) Средний 5 мин 8 Python * Мессенджеры * Проектирование API * Анализ и проектирование систем *...
Anthropic — What company has the best second artificial intelligence model at the end of June?
Значимый прорыв формирует отрасль ИИ: chernyaevi 4 минуты назад Как мой Telegram-парсер ослеп на проде: чиним пропуск лидов через Active Pull (Python, n8n, LLM) Средний 5 мин 8 Python * Мессенджеры * Проектирование API * Анализ и проектирование систем * Управление продажами * Туториал Мне понадобился двухконтурный парсер Telegram-чатов для лидогенерации (искать клиентов на услуги автоматизации и разработки ботов). Стек: Python (Telethon) на сервере ➔ Webhook ➔ n8n ➔ LLM (OpenAI) ➔ Google Таблицы + Уведомления. В этой статье я покажу, как я столкнулся с абсолютной «слепотой» парсера на боевых чатах, почему стандартный слушатель events.
NewMessage не годится для продакшена и как я перевел архитектуру на Active Pull. В итоге я получил неубиваемую систему, которая не пропускает ни одного сообщения и экономит сотни долларов на токенах OpenAI благодаря грамотной локальной фильтрации. Иллюзия работыЛогика была простой: скрипт берет список целевых чатов, стоп-слов и интентов из Google Таблицы (через n8n), слушает чаты, фильтрует мусор и шлет потенциальные лиды в n8n, где нейросеть делает финальную квалификацию (Lead / Not Lead).
Технические детали
Я написал код, запустил в закрытой тестовой группе. Парсер мгновенно ловил сообщения и пушил их в вебхук. Всё супер, выкатываю на прод.
И тут начинается просто жесть. В реальных «боевых» чатах (их было около 26) стояла абсолютная тишина. Ни одного лида за сутки.
При этом мой аккаунт-ищейка 100% состоял в этих группах. Хотя лидов из тестовой группы ловил на ура.... Разбор ошибок: Баги первого слояПрежде чем я докопался до архитектурной проблемы Телеграма, я выгреб пачку локальных граблей.
Отраслевые последствия
Грабли 1: Флоаты из Exceln8n отдавал ID чатов из Google Таблиц в формате float (например, -100123456789. Telethon оперирует строгими int. Естественно, сравнение строк "-100123456789.
0" == "-100123456789" давало False, и парсер молча отбрасывал сообщения. Фикс: Написал функцию clean_id(), жестко отрезающую . 0 и приводящую всё к целому числу.
Грабли 2: DDoS самого себя (FloodWait)В старом коде на каждое входящее событие (до проверки текста) вызывался await event. В высоконагруженных чатах это генерировало сотни запросов к API в минуту. Telegram либо кидал FloodWaitError, либо тихо рвал сокет.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





