Мы подключили Telegram-бота к MAX за пару дней — и не переписали ни строчки backend
У нашей команды был рабочий Telegram-бот. Сценарии написаны, backend работает, интеграции с CRM и LLM давно в проде. Когда встал вопрос "а давайте выведем его ещё и в MAX" — казалось, это займёт пару часов. Подумаешь, ещё один канал.
Не займёт. Новый мессенджер почти всегда тащит за собой свой API, свою модель событий, другую клавиатуру и другую механику кнопок. Написать бота "ещё и под MAX" с нуля — значит завести вторую кодовую базу и удвоить расходы на поддержку. Не наш вариант.
Поэтому мы сделали BOT2MAX — технологию-переходник между Telegram Bot API и MAX. Не отдельный продукт, а слой совместимости, который можно встроить в свою инфраструктуру.
Как это работает: бот как ни в чём не бывало отправляет привычные команды Telegram Bot API. Шлюз перехватывает их и сам переводит в вызовы MAX API. А когда пользователь пишет боту в MAX или жмёт кнопку — событие прилетает обратно в привычном для бота Telegram-формате. Backend и бизнес-логику переписывать не нужно вообще.
Самым неприятным оказалось не общение с API, а идентификаторы. Бот может одинаково выглядеть на уровне "есть текст, есть кнопка", но как только доходит до редактирования конкретного сообщения или обработки конкретного нажатия — обе платформы должны понимать, что речь об одной и той же сущности. Без надёжного сопоставления ID редактирование сообщений и повторные операции быстро начинают ломаться.
Ещё пришлось повозиться с кнопками (Telegram и MAX по-разному их описывают) и с подтверждением нажатий — в MAX это отдельный технический шаг, без него кнопка в интерфейсе "зависает", как будто её и не нажимали.
В итоге вместо второй версии бота — один шлюз, который берёт на себя всю разницу между платформами. Дешевле в разработке, дешевле в поддержке, и существующий бот не замечает, что теперь живёт сразу в двух мессенджерах. Делитесь, что думаете по поводу такого решения?

















