Боты в мессенджере MAX: чем отличаются от Telegram
Заметки после того, как мы написали одного бота под оба мессенджера сразу. Без восторгов и без снисходительности.
Когда компания переносит рабочие чаты в MAX, первым делом выясняется: привычные боты туда не переезжают. У мессенджера своё API, и писать приходится заново.
Мы написали. Ниже — то, что выяснилось на практике, а не из документации.
Таблица отличий
| Что | Telegram | MAX |
|---|---|---|
| История чата до подключения | недоступна ни одним способом | доступна |
| Голосовые сообщения | приходят, расшифровываются | боту не передаются вовсе |
| Правка и удаление своих сообщений | без жёсткого срока | 24 часа |
| События на редактирование сообщений | есть | нет |
| Клавиатура вместо поля ввода | есть | не принимается |
| Личка с человеком | по идентификатору чата | по идентификатору пользователя |
| Вебхуки | любой валидный сертификат | требуется сертификат доверенного CA |
История переписки — то, чего нет у Telegram
В Telegram бот принципиально не видит, что было до его добавления. Это не настройка и не тариф, это устройство платформы. Поэтому любой сервис с пересказом переписки в Telegram начинает работать «с сегодняшнего дня».
В MAX историю чата прочитать можно. Практический смысл: подключили бота — и сразу спросили, что было вчера. Для команды, которая переезжает и хочет забрать контекст, это ощутимо.
Голосовые — то, чего нет у MAX
Здесь придётся быть занудным, потому что вопрос всплывает постоянно.
Когда человек отправляет в MAX голосовое, бот получает событие вида «пришло сообщение» — и всё. Ни вложения, ни текста, ни идентификатора чата. То есть даже ответить «я не умею читать голосовые» некуда: адресата в событии нет. В истории через GET /messages голосовых тоже не видно.
Вывод простой: если сервис обещает расшифровку голоса в MAX — попросите показать на живом сообщении, а не на странице с функциями.
Мелочи, которые всплывают потом
Сутки на правку. Бот может исправить своё сообщение только 24 часа. Для интерфейса, где нажатие кнопки правит то же сообщение, это значит: у старых сообщений кнопки перестают работать, и нужен запасной путь — отправить новое.
Личка открывается иначе. В Telegram идентификатор чата и пользователя совпадают, в MAX — нет. Мы на этом обожглись: письма владельцу — предупреждение об окончании подписки, начисление бонуса — уходили в пустоту, пока не стали открывать диалог по идентификатору пользователя.
Курсор апдейтов надо хранить. Long polling в MAX отдаёт маркер, и если его не сохранить между перезапусками, после рестарта теряются непрочитанные события. В Telegram та же логика с update_id, но там про это все знают.
Что до сих пор одинаково
Бот видит сообщения группы без упоминания — в Telegram для этого выключается privacy mode, в MAX это поведение по умолчанию. Список участников недоступен нигде, а их количество известно сразу: getChatMemberCount в Telegram, participants_count в MAX.
И главное общее: смена типа чата ломает привязку. В Telegram при превращении группы в супергруппу меняется идентификатор — подписку и настройки придётся переносить руками, если сервис об этом не позаботился.
Вопросы и ответы
Работают ли Telegram-боты в MAX?
Может ли бот в MAX читать переписку до своего подключения?
Почему в MAX не работает расшифровка голосовых?
Нужны ли боту права администратора в чате MAX?
Что ещё стоит знать перед подключением?
«Заместитель AI» — бот для рабочих чатов в Telegram и MAX: напоминания, пересказ переписки и память компании. От 390 ₽ в месяц за чат, данные — в России.
Посмотреть тарифы