Telegram Client API: Триггеры И Действия
Этот документ описывает отдельный продуктовый слой для работы через Telegram Client API, а не через обычный Bot API.
Client API подходит для сценариев, где система должна не только отвечать пользователю как бот, но и читать историю чатов, наблюдать за событиями, анализировать участников, собирать сообщения, выполнять синхронизацию и строить парсер поверх реальных чатов, групп и каналов.
Чем Client API Отличается От Bot API
Bot API лучше подходит для:
- ответа пользователям от имени бота
- кнопок, меню и сценариев диалога
- простых webhook-driven интеграций
Client API лучше подходит для:
- чтения истории чатов
- мониторинга групп и каналов
- извлечения участников
- анализа сообщений и медиа
- парсинга переписок
- синхронизации состояния чата
Практически это означает, что в продукте имеет смысл отделять:
Bot APIсценарииClient APIсценарии- гибридные сценарии, где чтение идёт через Client API, а действия ответа или уведомления через Bot API
Продуктовые Категории
Для Client API узлы удобно группировать так:
СобытияЧатыСообщенияУчастникиПарсингСинхронизацияАналитикаИнтеграцииМодерацияУправление ботом
Возможные Триггеры
Базовые Триггеры
Ручной запускWebhookПо расписаниюПо таймеруПри синхронизации чатаПри обновлении индекса
Триггеры По Новым Сообщениям
Новое сообщение в чатеНовое сообщение в личкеНовое сообщение в группеНовое сообщение в супергруппеНовое сообщение в каналеНовое исходящее сообщениеНовое входящее сообщение
Триггеры По Типу Контента
Новое текстовое сообщениеНовое сообщение с фотоНовое сообщение с видеоНовое сообщение с документомНовое сообщение с голосовымНовое сообщение с аудиоНовое сообщение с GIFНовое сообщение со ссылкойНовое сообщение с упоминаниемНовое пересланное сообщениеНовое сообщение с подписью
Триггеры По Изменениям Сообщений
Сообщение отредактированоСообщение удаленоСообщение закрепленоСообщение открепленоПоявилась реакцияИзменился счётчик реакцийПоявился ответ на сообщение
Триггеры По Событиям Участников
Новый участникУчастник вышелУчастник был удалёнИзменился статус участникаПользователь стал администраторомПользователь перестал быть администраторомИзменились права участника
Триггеры По Изменениям Чата
Изменилось название чатаИзменилась аватарка чатаИзменилась информация о чатеИзменился закрепИзменился список администраторов
Триггеры По Состоянию И Управлению Ботом
Бот запущенБот остановленБот перезапущенБот подключенБот отключенСессия авторизованаСессия истеклаОшибка авторизацииОшибка подключенияWebhook установленWebhook удалёнPolling запущенPolling остановленПолучена команда управления
Возможные Действия
Действия С Чатом
Получить информацию о чатеПолучить список диалоговПолучить тип чатаПолучить ссылку / username чатаСчитать метаданные чатаСинхронизировать чатСравнить состояние чата
Действия С Сообщениями
Получить последние N сообщенийПолучить сообщения за периодПолучить историю сообщенийПолучить сообщение по IDПолучить ответы на сообщениеПолучить тред / обсуждениеПолучить пересланные сообщенияПолучить закреплённые сообщенияПолучить сообщения пользователяПолучить сообщения с медиаПолучить сообщения со ссылкамиПолучить сообщения с упоминаниями
Действия С Участниками
Получить участников группыПолучить администраторовПолучить профиль участникаПолучить статус участникаПроверить наличие пользователя в чатеПолучить участников по ролиСинхронизировать участников чатаСравнить состав группыОпределить новых участниковОпределить выбывших участников
Примечание:
Определить выбывших участников обычно означает сравнение текущего состава с предыдущим сохранённым снимком, а не мгновенное получение "всех ушедших" из Telegram по одному запросу.
Действия Парсинга Текста
Извлечь сущности из текстаИзвлечь ссылкиИзвлечь emailИзвлечь телефонИзвлечь username / mentionИзвлечь хэштегиИзвлечь дату и времяИзвлечь цену / суммуИзвлечь адресИзвлечь код / номер / идентификаторВыделить ключевые словаОпределить языкКлассифицировать сообщениеОпределить темуОпределить тональностьОпределить спам / рекламу
Действия Нормализации И Подготовки
Очистить текстНормализовать текстУдалить служебные символыПривести текст к единому видуУбрать дубликатыРазбить текст на блокиСклеить сообщенияОбрезать до лимитаПреобразовать форматирование в plain text
Действия С Медиа
Получить file_id / media referenceСчитать метаданные файлаОпределить MIME-типСкачать вложениеИзвлечь подпись к медиаРаспознать текст из изображенияРаспознать текст из документаТранскрибировать голосовоеИзвлечь превью
Действия Аналитики
Подсчитать сообщения по пользователямНайти активных участниковНайти неактивных участниковПостроить топ авторовПодсчитать сообщения за периодПостроить статистику по типам контентаСобрать популярные ссылкиСобрать популярные темыСуммаризировать переписку
Действия Синхронизации
Синхронизировать историю сообщенийСинхронизировать только новые сообщенияСинхронизировать медиаОбновить локальный индекс чатаСохранить снимок состава группыСравнить текущий и прошлый снимокВосстановить пропущенные сообщенияПересчитать агрегаты
Интеграции И Хранение
Записать в базуЗаписать в Google SheetsСохранить JSONСохранить сырой payloadОтправить в WebhookОтправить в CRMСоздать лид / заявкуОтправить уведомление админуПоставить задачу во внешнюю систему
Действия Управления И Модерации
Отправить сообщениеОтветить на сообщениеРедактировать сообщениеУдалить сообщениеПереслать сообщениеЗакрепить сообщениеОткрепить сообщениеПоставить реакциюОграничить пользователяСнять ограниченияЗаблокировать пользователяРазблокировать пользователяУдалить участникаНазначить администраторомСнять администратора
Действия Управления Ботом
Запустить ботаОстановить ботаПерезапустить ботаВключить обработку обновленийОтключить обработку обновленийПереключить режим polling / webhookУстановить webhookУдалить webhookПроверить статус webhookПроверить статус ботаПроверить статус клиентской сессииАвторизовать сессиюПереавторизовать сессиюОбновить токен / ключВыбрать рабочий аккаунтСменить рабочий чат / источникЗагрузить конфиг ботаОбновить конфиг ботаВключить сценарийОтключить сценарийПерезапустить сценарийОстановить все сценарииПроверить healthcheckОчистить очередь обновленийЛогировать состояние бота
Разделение На Реалистичные И Осторожные Возможности
Обычно Реалистично
Получить историю сообщенийПолучить последние N сообщенийПолучить участников группыПолучить администраторовПолучить профиль участникаСинхронизировать участников чатаСравнить состав группыРаспознать текст из изображенияТранскрибировать голосовоеЗаписать в базуОтправить в Webhook
Требует Осторожной Формулировки
Получить всех пользователей группыПолучить всех ушедших участниковПолучить всю историю без ограниченийМгновенно синхронизировать большой каналГарантированно извлечь все медиа и весь контент
Такие формулировки лучше заменять на более точные:
Получить доступных участниковОпределить выбывших участников по сравнению со снимкомСинхронизировать доступную историюЗагрузить последние сообщения
Рекомендуемый MVP Для Product-слоя Client API
Триггеры
Ручной запускПо расписаниюНовое сообщение в чатеНовое сообщение с медиаСообщение отредактированоНовый участник
Действия
Получить информацию о чатеПолучить последние N сообщенийПолучить историю сообщенийПолучить участников группыПолучить администраторовИзвлечь сущности из текстаКлассифицировать сообщениеРаспознать текст из изображенияТранскрибировать голосовоеСинхронизировать участников чатаСравнить состав группыЗаписать в базуОтправить в WebhookОтправить уведомление админуПроверить статус ботаПереключить режим polling / webhook
Рекомендуемый Extended Набор
Триггеры
Новое сообщение в каналеНовое пересланное сообщениеСообщение удаленоПоявилась реакцияУчастник вышелИзменился статус участникаИзменилась информация о чате
Действия
Получить тред / обсуждениеПолучить сообщения пользователяПолучить сообщения со ссылкамиПолучить сообщения с упоминаниямиОпределить языкОпределить темуОпределить тональностьОпределить спам / рекламуСуммаризировать перепискуПодсчитать сообщения по пользователямНайти активных участниковСохранить снимок состава группыСинхронизировать медиаСохранить JSONПоставить задачу во внешнюю системуПерезапустить ботаВключить сценарийОтключить сценарий
Рекомендация По UI
В интерфейсе лучше не смешивать узлы Client API и Bot API в одну плоскую кучу.
Практичный вариант:
- отдельная категория
Telegram Bot API - отдельная категория
Telegram Client API - отдельная категория
Парсинг и аналитика
Так пользователю будет понятнее, что:
- один набор узлов работает как бот
- другой набор читает и анализирует чаты
- а parser-слой может использовать данные из обоих источников