С ростом популярности мессенджера Max, разработчики все больше обращают внимание на создание ботов для этой платформы. Начав с официального Go-клиента, многие столкнулись с рядом функциональных проблем. Например, отсутствие поддержки context.Context, конструкторов для кнопок и исчезающие инлайн-клавиатуры. Это побудило автора разработать собственный клиент, который стал бы полноценной альтернативой.
При создании нового клиента использовалась OpenAPI-схема и ручное сверение данных с официального сайта платформы. Основные принципы: минимальные зависимости на стандартные библиотеки, возврат ошибок без «логирования» в defer, использование context.Context в каждом методе и легкость тестирования.
Клиент позволяет отправлять сообщения и обрабатывать инлайн-кнопки, а также предоставляет удобные методы для загрузки медиафайлов. Все ошибки обрабатываются на уровне вызывающего кода. С помощью нового решения удалось создать чистый и понятный API, который легко расширять и тестировать.
Теперь на подходе фреймворк с роутером и middleware, который значительно упростит разработку бот-приложений на платформе Max.

