Skip to content

green-api/maxbot-api-client-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MaxBot API Client (Go)

maxbot-api-client-go — это библиотека для интеграции с API MAX Bot. Этот проект предоставляет структурированный интерфейс для взаимодействия с конфигурациями бота, управления сообщениями, отправки медиафайлов и подписки на события через long-polling.

Для использования библиотеки потребуется получить токен бота в консоли разработчика MAX API.

API

Документацию по REST API MAX можно найти по ссылке [https://dev.max.ru/docs-api]. Библиотека является оберткой для REST API, поэтому документация по указанной выше ссылке также применима к используемым здесь моделям и параметрам запроса.

Поддержка

Support Support Support

Руководства и новости

Guides News News

Установка

Убедитесь, что у вас установлена версия 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"
)

Использование и примеры

Как инициализировать клиент:

bot, err := api.New(client.Config{
    BaseURL: "https://platform-api.max.ru",
    Token:   "YOUR_BOT_TOKEN",
})
if err != nil {
    log.Fatal().Err(err).Msg("failed to init MAX API")
}

Как получить информацию о боте:

Ссылка на пример: GetBot/main.go

response, err := bot.Bots.GetBot(context.Background())

Как отправить сообщение:

Ссылка на пример: SendMessage/main.go

response, err := bot.Messages.SendMessage(context.Background(), models.SendMessageReq{
    UserID: 1234567890,
    Text: "Hello world!",
})

Как легко отправить файл (по ссылке или локальный):

Ссылка на пример: SendFile/main.go

response, err := bot.Helpers.SendFile(context.Background(), models.SendFileReq{
    ChatID:     exampleChatID,
    FileSource: "cmd/examples/assets/file.txt",
})
response, err := bot.Helpers.SendFile(context.Background(), models.SendFileReq{
    ChatID:     exampleChatID,
    FileSource: "https://storage.yandexcloud.net/sw-prod-03-test/ChatBot/corgi.jpg",
})

Как вручную загрузить файл (для кастомных вложений):

Ссылка на пример: UploadFile/main.go

response, err := bot.Uploads.UploadFile(context.Background(), models.UploadFileReq{
    Type:     models.UploadImage,
    FilePath: "/path/to/your/image.png",
})

Как получить входящее уведомление:

Ссылка на пример: GetUpdates/main.go

response, err := bot.Subscriptions.GetUpdates(context.Background())

Список примеров

Описание Ссылка на пример
Как отправить сообщение SendMessage/main.go
Как получить информацию о боте GetBot/main.go
Как отправить файл SendFile/main.go
Как загрузить файл UploadFile/main.go
Как получить входящее уведомление GetUpdates/main.go

Список всех методов библиотеки

Метод API Описание Ссылка на документацию MAX Ссылка на документацию библиотеки
Bots.GetBot Получает информацию о боте GetBot GetBot
Bots.PatchBot Изменяет информацию о боте PatchBot
Chats.GetChats Возвращает список групповых чатов, в которых участвовал бот GetChats GetChats
Chats.GetChat Возвращает информацию о групповом чате по его ID GetChat GetChat
Chats.EditChat Позволяет редактировать информацию о групповом чате EditChat EditChat
Chats.DeleteChat Удаляет групповой чат для всех участников DeleteChat DeleteChat
Chats.SendAction Позволяет отправлять следующие действия бота в групповой чат SendAction SendAction
Chats.GetPinnedMessage Возвращает закрепленное сообщение в чате GetPinnedMessage GetPinnedMessage
Chats.PinMessage Закрепляет сообщение в групповом чате PinMessage PinMessage
Chats.UnpinMessage Удаляет закрепленное сообщение в групповом чате UnpinMessage UnpinMessage
Chats.GetChatMembership Возвращает членство бота в групповом чате GetChatMembership GetChatMembership
Chats.LeaveChat Удаляет бота из группового чата LeaveChat LeaveChat
Chats.GetChatAdmins Возвращает список всех администраторов группового чата GetChatAdmins GetChatAdmins
Chats.SetChatAdmins Назначает участника группы администратором SetChatAdmins SetChatAdmins
Chats.DeleteAdmin Отменяет права администратора пользователя в групповом чате DeleteAdmin DeleteAdmin
Chats.GetChatMembers Возвращает список участников группового чата GetChatMembers GetChatMembers
Chats.AddMembers Добавляет участников в групповой чат AddMembers AddMembers
Chats.DeleteMember Удаляет участника из группового чата DeleteMember DeleteMember
Subscriptions.GetSubscriptions Возвращает список подписок на уведомления веб-хуков GetSubscriptions GetSubscriptions
Subscriptions.Subscribe Настраивает доставку событий бота через веб-хук Subscribe Subscribe
Subscriptions.Unsubscribe Отменяет подписку бота на получение обновлений через веб-хук Unsubscribe Unsubscribe
Subscriptions.GetUpdates Получает входящие обновления GetUpdates GetUpdates
Upload.UploadFile Загружает файл на серверы MAX для последующей передачи UploadFile UploadFile
Helpers.SendFile Упрощает отправку файлов, автоматически определяя URL или путь SendFile
Messages.GetMessages Возвращает информацию о сообщении или массив сообщений из чата GetMessages GetMessages
Messages.SendMessage Отправляет текстовое или медиа-сообщение указанному пользователю или в чат SendMessage SendMessage
Messages.EditMessage Редактирует текст или медиафайл ранее отправленного сообщения EditMessage EditMessage
Messages.DeleteMessage Удаляет сообщение из чата DeleteMessage DeleteMessage
Messages.GetMessage Извлекает содержимое и метаданные конкретного сообщения по его ID GetMessage GetMessage
Messages.GetVideoInfo Возвращает подробную информацию о прикрепленном видео GetVideoInfo GetVideoInfo
Messages.AnswerCallback Отправляет ответ после того, как пользователь нажмет кнопку AnswerCallback AnswerCallback

Packages

 
 
 

Contributors

Languages