Перейти к содержанию

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,
})

Документация по методам сервиса#