Skip to content

Latest commit

 

History

History
208 lines (158 loc) · 14.4 KB

File metadata and controls

208 lines (158 loc) · 14.4 KB

MaxBot API Client (Python)

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

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

API

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

Поддержка

Support Support Support

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

Guides News News

Установка

Убедитесь, что у вас установлен Python версии 3.8 или выше:

python --version

Установите библиотеку:

pip install -e .

Импорт:

from maxbot_api_client_python import API, Config

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

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

try:
    bot = API(Config(
    base_url="https://platform-bot.max.ru",  # Base url for MAX API requests
    token="YOUR_BOT_TOKEN",                  # Max bot token
    global_rps=25,
    timeout=35
))
except ValueError as e:
    print(f"Initialization error: {e}")

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

  • Ссылка на синхронный пример: GetBot.py
response = bot.bots.GetBot()
  • Ссылка на асинхронный пример: GetBotAsync.py
response = await bot.bots.GetBotAsync()

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

response = bot.messages.SendMessage(SendMessageReq(
    user_id=1234567890,
    text="Hello world!"
))
  • Ссылка на асинхронный пример: SendMessage.py
response = await bot.messages.SendMessageAsync(SendMessageReq(
    user_id=1234567890,
    text="Hello world from Async!"
))

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

  • Ссылка на синхронный пример: SendFile.py
response = bot.helpers.SendFile(SendFileReq(
    chat_id=1234567890,
    text="Check this!",
    file_source="https://example.com/image.png"
))
response = await bot.helpers.SendFileAsync(SendFileReq(
    chat_id=1234567890,
    text="Посмотри на этот файл!",
    file_source="https://example.com/image.png"
))

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

  • Ссылка на синхронный пример: UploadFile.py
response = bot.uploads.UploadFile(UploadFileReq(
    type=UploadType.IMAGE,
    file_path="examples/assets/file.png"
))
response = await bot.uploads.UploadFileAsync(UploadFileReq(
    type=UploadType.IMAGE,
    file_path="examples/assets/file.png"
))

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

  • Ссылка на синхронный пример: GetUpdates.py
response = bot.subscriptions.GetUpdates(GetUpdatesReq(
    marker=0,
    timeout=30
))
response = await bot.subscriptions.GetUpdatesAsync(GetUpdatesReq(
    marker=0,
    timeout=30
))

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

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

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

Метод 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