Golang MAX BOT API Library#
Golang MAX BOT API Library — это библиотека для интеграции с MAX BOT API. Этот проект предоставляет структурированный интерфейс для взаимодействия с конфигурациями бота, управления сообщениями, отправки медиафайлов и подписки на события через long-polling.
Для использования библиотеки потребуется получить токен бота в консоли разработчика MAX API.
Установка#
Убедитесь, что у вас установлена версия Go не ниже 1.20
go version
Создайте Go модуль, если он не создан:
go mod init ModuleName
Установите библиотеку:
go get github.com/green-api/maxbot-api-client-go
Импорт:
import(
"github.com/green-api/maxbot-api-client-go"
)
Использование и примеры#
Как инициализировать клиент:
cfg := bot.Config{
BaseURL: "https://platform-api.max.ru",
Token: "YOUR_BOT_TOKEN",
GlobalRPS: 25,
Timeout: 35 * time.Second,
}
Client, err := maxbot.New(cfg)
if err != nil {
panic(err)
}
Как получить информацию о боте:
response, err := bot.Bots.GetBot(context.Background())
Как отправить сообщение:
response, err := bot.Messages.SendMessage(context.Background(), models.SendMessageReq{
UserID: 1234567890,
Text: "Hello world!",
})
response, err := bot.Helpers.SendFile(context.Background(), models.SendFileReq{
ChatID: 1234567890,
Text: "Посмотри на этот файл!",
FileSource: "[https://example.com/image.png](https://example.com/image.png)", // или "/local/path/to/file.pdf"
})
response, err := bot.Uploads.UploadFile(context.Background(), models.UploadFileReq{
Type: m.UploadImage,
FilePath: "/path/to/your/image.png",
})
Как получить входящее уведомление:
updates, err := bot.Subscriptions.GetUpdates(context.Background(), models.GetUpdatesReq{
Offset: 0,
Timeout: 30,
})