Если у вас есть бот в Телеграме, вы, вероятно, уже обратили внимание на Max — его аудитория активно растет. В поисках удобного Go-клиента, кроме официального, я наткнулся на несколько заброшенных репозиториев и понесенные бездействием проекты. Выбор пал на официальный клиент, однако, вскоре стало понятно, что это не так просто, как казалось. Отсутствие контекстов, проблемная инлайн-клавиатура и другие неожиданные сложности привели к мысли о создании собственного клиента.

В итоге, разработка нового клиента на базе OpenAPI-схемы и источников документации dev.max.ru началась. Я избрал несколько правил для разработки: минимизация зависимостей, возвращение ошибок, обязательный контекст и легкость в тестировании. После написания нескольких функций, включая отправку сообщений и загрузку медиа, я смог создать рабочий прототип.

Теперь мой maxigo-client включает 38 методов API и охватывает 16 типов обновлений с покрытием тестами на 89%. С такой основой дальше предполагается разработка фреймворка с роутером и middleware для создания более сложных ботов. Готовое решение доступно на GitHub, а идеи и отзывы можно оставлять в PR или Issues. Вы уже пишете ботов для Max?