Telegram · Max · ChatGPT · CRON

Превратите шум групповых чатов в структурированные инсайты

TG-Max Sniffer слушает чаты Telegram и Max, отбирает нужные сообщения по вашему расписанию и превращает их в готовые сводки, дайджесты и оповещения с помощью ChatGPT.

  • 2мессенджера из коробки
  • задач анализа
  • 5полей CRON-выражений
  • OpenAI · Azure · Ollamaсовместимые LLM

Реалтайм-приём сообщений

Вебхуки Telegram и Max пишут события напрямую в вашу MySQL — ни polling, ни задержек.

🧠

Любая GPT-модель

OpenAI, Azure OpenAI, LM Studio, Ollama — любая модель, совместимая с Chat Completions API.

🕒

Гибкий CRON

Каждая задача — своё расписание: ежечасно, по будням, каждые 15 минут в рабочее время.

🔒

Self-hosted

Данные не уходят в облака. Docker Compose для разработки, Kubernetes для продакшена.

Сценарии применения

Один инструмент — десятки задач

Мы собрали самые частые сценарии, которые наши пользователи закрывают с помощью TG-Max Sniffer. Достаточно описать задачу в виде промпта и CRON-расписания — остальное сделает планировщик.

  1. №1 по запросам

    Утренние дайджесты рабочих чатов

    За ночь в чате 400 сообщений? Получите краткую сводку в 09:00: ключевые темы, принятые решения, открытые вопросы и ответственных.

    • CRON: 0 9 * * 1-5
    • Кому: руководителям команд, продактам, тимлидам
  2. №2 по запросам

    Мониторинг чатов поддержки

    Каждые 15 минут проверяем чат поддержки на срочные обращения, классифицируем их и отправляем приоритетные в личку дежурного.

    • CRON: */15 9-18 * * 1-5
    • Кому: службам поддержки, операционным командам
  3. №3 по запросам

    Аналитика комьюнити и аудитории

    Раз в неделю формируем отчёт по активному комьюнити: что обсуждают, кто лидер мнений, какие фичи просят, какие жалобы повторяются.

    • CRON: 0 18 * * 5
    • Кому: комьюнити-менеджерам, маркетингу, продуктовым исследователям
  4. Растущий сегмент

    Контроль удалённых команд

    Дневные сводки активности по каждому проектному чату: прогресс, блокеры, упомянутые задачи, ответственные.

    • CRON: 0 19 * * 1-5
    • Кому: CTO, PM, руководителям подразделений
  5. Сигналы и ключевые слова

    Точечный мониторинг чатов на упоминания брендов, конкурентов, триггерных тем — с немедленным оповещением.

    • CRON: */5 * * * *
    • Кому: бренд-менеджерам, SMM, PR-командам
  6. Образовательные чаты и онлайн-курсы

    Ежедневная подборка вопросов учеников, частые непонимания тем, рекомендации, какие материалы пересмотреть.

    • CRON: 0 21 * * *
    • Кому: онлайн-школам, преподавателям, авторам курсов
Как это работает

От вебхука до готового ответа — за один тик планировщика

Под капотом — простая, прозрачная архитектура без скрытой магии и вендор-лока.

  1. 1

    Сбор сообщений

    Telegram и Max шлют вебхуки на ваш сервер. Сервис webhook валидирует и кладёт сообщения в MySQL — со всей метаинформацией: автор, время, чат, ID.

  2. 2

    Задача и расписание

    Вы описываете задачу: чат-источник, CRON-расписание, шаблон промпта с плейсхолдером {messages:...} и куда отправить результат.

  3. 3

    Анализ нейросетью

    Планировщик каждую минуту проверяет задачи. Когда время совпадает — подставляет нужные сообщения в промпт и отправляет в OpenAI API.

  4. 4

    Доставка результата

    Ответ GPT улетает в указанный чат Telegram или Max и сохраняется в БД для истории и аналитики токенов.

scheduled_tasks · пример SQL
INSERT INTO scheduled_tasks (chat_id, name, cron_expression, prompt_template,
                             target_bot_id, target_chat_external_id)
VALUES (
  1,
  'Утренний дайджест',
  '0 9 * * 1-5',
  'Сообщения, поступившие за ночь:

{messages:status=unprocessed;since=9h}

Выдели: 1) срочные вопросы, 2) принятые решения,
3) задачи с ответственными.',
  1,
  '-1001234567890'
);
Возможности

Всё, что нужно для продакшен-уровня

📨

Telegram и Max в одной системе

Универсальная модель данных: messengers → bots → chats → messages. Один интерфейс — два мессенджера.

🧩

Плейсхолдеры выборки

Гибкий синтаксис {messages:status=unprocessed;since=2h;accounts=111,222} для фильтрации по статусу, периоду и отправителям.

Полноценный CRON

Поддерживаются *, диапазоны 1-5, перечисления 1,3,5, шаги */5 — без внешних зависимостей.

🪄

Свой системный промпт

Для каждой задачи — собственный system prompt, модель GPT и шаблон ответа. Кастомизируется без правки кода.

🛡️

Защита от двойного запуска

Поле last_run_at и поминутная защита гарантируют ровно одно выполнение задачи в минуту.

📊

Учёт токенов и стоимости

Каждый запуск записывает prompt_tokens, completion_tokens, модель и полный текст ответа.

🔁

Несколько задач — один батч

Флаг mark=0 позволяет нескольким задачам читать один и тот же набор сообщений без конфликтов.

🚦

«Нет сигнала» — нет шума

Если GPT отвечает «Нет сигнала» — сообщение в чат не уходит. Никакого спама от тишины.

🐳

Docker и Kubernetes

Готовые манифесты k8s/ и docker-compose.yml — поднимается одной командой.

📜

Live-логи в браузере

Сервис logviewer на 127.0.0.1:8082 с цветной подсветкой уровней и авто-обновлением.

🧮

Готовые SQL-дашборды

В DASHBOARD_QUERIES.md — 13 готовых запросов: топ задач, расход токенов, необработанные сообщения.

🧰

Админ-панель

Отдельное приложение для управления ботами, задачами, результатами и разборами без правки SQL руками.

Админ-панель

Управляйте задачами и результатами визуально

Отдельная панель администрирования позволяет работать с ботами, чатами, задачами анализа, результатами и сообщениями без ручных SQL-запросов.

Задачи анализа

Полный список scheduled_tasks с фильтрами, статусом и временем последнего запуска.

Редактор задачи

Визуальный конструктор CRON, подсказки по плейсхолдерам, выбор модели и чата-получателя.

Результаты и токены

История analysis_runs: ответ GPT, использованные сообщения, расход токенов и стоимость.

Лента сообщений

Постраничный просмотр messages с фильтром по статусу, дате и автору.

Боты и чаты

Управление токенами, статусом ботов и привязкой к чатам Telegram и Max.

Дашборд

Сводные графики: количество сообщений, расход токенов, активность задач по дням.

Технологии

Стек, который не удивит вашего DevOps

  • PHP 8.2строгая типизация
  • MySQL 8.0window functions
  • Apache 2.4вебхук-приёмник
  • Docker Composeлокальная разработка
  • Kubernetesпрод-окружение
  • OpenAI API+ Azure / Ollama
  • Telegram Bot APIчерез PHPTelebot
  • Max Bot APIчерез PHPMaxBot
FAQ

Часто задаваемые вопросы

Какие мессенджеры поддерживаются?

Telegram и Max — через официальные Bot API. Подключаются по вебхуку, поддерживают групповые чаты, каналы и личные диалоги.

Можно ли использовать локальную модель вместо OpenAI?

Да. Сервис работает с любым endpoint, совместимым с OpenAI Chat Completions API. Подходят Azure OpenAI, LM Studio, Ollama (с OpenAI-совместимым режимом) — нужно лишь поменять OPENAI_API_URL и ключ.

Где хранятся данные?

В вашей собственной MySQL-базе, развёрнутой рядом с сервисом. Никаких облачных сторонних хранилищ — только выбранный вами LLM-провайдер получает текст промпта.

Как часто планировщик проверяет задачи?

По умолчанию — раз в минуту (CHECK_INTERVAL_SECONDS=60). Этот интервал настраивается в .env.

Что будет, если GPT нечего сказать?

Если ответ модели содержит «Нет сигнала», сообщение в чат-получатель не отправляется — никакого спама в тихие часы.

Можно ли подключить несколько ботов одного мессенджера?

Да. Таблица bots поддерживает любое количество ботов каждого мессенджера. Вебхуки используют параметр ?bot_id=N и маршрутизируются автоматически.

Есть ли админ-панель?

Да, админ-панель поставляется как отдельный проект. Она позволяет управлять ботами, задачами, расписаниями, результатами и сообщениями без ручных SQL-запросов.

Сколько стоит сервис?

Сам сервис — self-hosted и бесплатный. Вы платите только за токены выбранного LLM-провайдера и собственную инфраструктуру (один небольшой VPS справится с десятками задач).

Готовы превратить чаты в аналитику?

Запустите TG-Max Sniffer на своём сервере за 5 минут. Подключите Telegram и Max, опишите первую задачу — и получайте структурированные сводки от ChatGPT по расписанию.

Self-hosted · Open architecture · Telegram + Max + OpenAI