Создание собственного клиента для API Max: от идей до реализации

Если у вас есть бот в Telegram, вы уже, вероятно, обратили внимание на Max — его популярность растёт. При поиске Go-клиента для работы с API я нашёл несколько забытых проектов и официальный клиент, который, к сожалению, не справился с задачами. Я решил создать свой собственный клиент, который будет более удобным. Приведу детали разработки.

Никто не предложил подходящий клиент с роутером и удобным контекстом на подобие telebot. Так как официальная документация не всегда соответствовала действительности, мне пришлось вручную сверять информацию и дополнять отсутствующие типы. Основные правила разработки: отсутствие внешних зависимостей, возврат ошибок, поддержка контекста и высокая тестируемость.

В конечном итоге был создан клиент, который позволяет отправлять сообщения с инлайн-кнопками, обрабатывать их нажатия, загружать медиа и выводить адекватные ошибки. С новым клиентом процесс стал гораздо легче и понятнее, а его тестируемость достигла 89%.

Теперь работа с API Max значительно упрощена, и я уже готов перейти к созданию фреймворка для упрощения разработки ботов. Готовые решения можно найти на GitHub: github.com/maxigo-bot/maxigo-client.