PHPackages                             max-messenger-bot/max-bot-api-php - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. max-messenger-bot/max-bot-api-php

ActiveLibrary[API Development](/categories/api)

max-messenger-bot/max-bot-api-php
=================================

PHP SDK for the Max Messenger Bot API

0.3.6(2d ago)392313MITPHPPHP ^8.2

Since Apr 16Pushed 1w ago1 watchersCompare

[ Source](https://github.com/max-messenger-bot/max-bot-api-php)[ Packagist](https://packagist.org/packages/max-messenger-bot/max-bot-api-php)[ RSS](/packages/max-messenger-bot-max-bot-api-php/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (25)Versions (16)Used By (3)

Max Messenger Bot API — PHP SDK
===============================

[](#max-messenger-bot-api--php-sdk)

[![](docs/Images/bot-icon.webp)](docs/Images/bot-icon.webp)

Этот SDK предназначен для работы с Max API в полностью объектно-ориентированном формате. Все запросы, ответы и события сервера представлены в строго типизированном объектном виде, никаких array shapes (object-like arrays).

Весь задокументированный функционал реализован, включая возможность возобновления загрузки файлов.

Представление данных в виде объектов делает этот пакет предпочтительным для новичков: не нужно разбираться в документации и изучать структуру данных API Max — IDE сама подскажет доступные поля и методы.

**Актуальность:** 23 июня 2026 г.
**Версия схемы API:** 0.0.32

```
use MaxMessenger\Bot\MaxApiClient;

$apiClient = new MaxApiClient('your-access-token');

$apiClient->sendMessageToUser(12345678, 'Привет');
```

```
use MaxMessenger\Bot\MaxBot;
use MaxMessenger\Bot\MaxBot\Event\BotStartedEvent;
use MaxMessenger\Bot\MaxBot\Event\MessageCreatedEvent;

$bot = new MaxBot('your-access-token', 'your-secret');

$bot->onBotStarted(function (BotStartedEvent $event): void {
    $event->sendToChat(sprintf('Здравствуйте, %s!', $event->getUser()->getFirstName()));
});

$bot->onMessageCreated(function (MessageCreatedEvent $event): void {
    $message = $event->getMessage()->getText();
    // Обработка сообщения
    $event->reply('Ваше сообщение получено.', true);
});

$bot->handleFromGlobal();
```

Warning

По поводу ошибок в клиенте, пожалуйста обращайтесь ко мне напрямую:

- Max: [Евгений](https://max.ru/u/f9LHodD0cOID7ezkLpMv_5wNX9YmRCmk-0bp4q1uWCRtrdClF9F21Buxhyk)
- Telegram: [mj4444ru](https://t.me/mj4444ru)

Note

Вы можете заметить некоторые отличия реализации от официальной документации. На самом деле, официальная документация может содержать неточности или иметь дублирующиеся способы получения данных.

Warning

При написании бота, используйте [инструменты отладки](docs/Tools.md), они сильно упростят разработку.

Некоторые недокументированные в официальном API функции могут быть отключены на стороне Max. Когда они писались и тестировались, они работали.

Если вы думаете, что этот пакет слишком сложный
-----------------------------------------------

[](#если-вы-думаете-что-этот-пакет-слишком-сложный)

1. Если Вам нужно просто отправить сообщение, то никакие пакеты Вам не нужны, просто прочитайте главу **Отправка сообщений используя curl** в разделе [Отправка сообщений](docs/Examples/SendingMessages.md).
2. Если Вам нужно что-то ещё, прочитайте раздел [Очень простой бот](docs/VerySimpleBot.md).

Основные особенности
--------------------

[](#основные-особенности)

- Это полностью объектно-ориентированный клиент без array shapes (object-like arrays).
- Для работы с клиентом не требуется изучение официального API.
- В большинстве случаев для понимания работы, Вам достаточно будет посмотреть [примеры кода](./docs/Examples/README.md).
- Есть валидация данных в моделях запросов (можно отключить).
- Реализована загрузка файлов на сервера обоими поддерживаемыми способами.
- Имеются утилиты (скрипты) для тестирования и отладки обработки событий сервера.
- Весь функционал разбит на слои (бот, API Max клиент, HTTP клиент для API Max, Curl HTTP клиент), каждый слой может быть частично или полностью заменён Вашей реализацией (используются интерфейсы и многие внутренние методы объявлены как публичные).
- Код реализован с возможностью написания тестов для любой части Вашего кода.
- API Max клиент реализован на основе официальной документации API Max в формате `yaml`.
    - Объектная модель, имена моделей, имена параметров сохранены. Документирование откорректировано и дополнено.
    - Дополнительно добавлено множество методов, упрощающих работу с API.

Документация в коде
-------------------

[](#документация-в-коде)

I believe that in-code documentation should be in English. However, due to a lack of resources to translate the documentation into English, the in-code documentation is presented in Russian.

Я считаю, что документация в публичном коде должна быть на английском языке. Однако из-за нехватки ресурсов для перевода документации на английский язык, документация в коде представлена на русском языке.

Установка
---------

[](#установка)

```
composer require max-messenger-bot/max-bot-api-php
```

### Требования

[](#требования)

- PHP 8.2+
- Расширение `ext-mbstring`

### Зависимости

[](#зависимости)

- `mj4444/simple-http-client` ^0.2 — HTTP-клиент для выполнения запросов

Примеры
-------

[](#примеры)

Больше примеров смотрите в документации в разделе [примеры](docs/Examples/README.md).

### Обработка событий сервера через Webhook (основной метод)

[](#обработка-событий-сервера-через-webhook-основной-метод)

```
use MaxMessenger\Bot\MaxBot;
use MaxMessenger\Bot\MaxBot\Event\BotStartedEvent;
use MaxMessenger\Bot\MaxBot\Event\MessageCreatedEvent;

$bot = new MaxBot('your-access-token', 'your-secret');

// Добавление обработчика команды
$bot->getCommandHandler()
    ->onCommand('start', function (MessageCreatedEvent $event): bool {
        // Обработка команды /start
        return true;
    });

// Добавление обработчика присоединения нового пользователя
$bot->onBotStarted(function (BotStartedEvent $event): bool {
    // Обработка события
    return true;
});

// Добавление обработчика сообщений
$bot->onMessageCreated(function (MessageCreatedEvent $event): bool {
    // Обработка нового сообщения
    $event->reply('Ваше сообщение получено', true);
    return true;
});

$bot->handleFromGlobal();
```

### Обработка событий сервера через Long Polling

[](#обработка-событий-сервера-через-long-polling)

```
use MaxMessenger\Bot\MaxBot;

$bot = new MaxBot('your-access-token', 'your-secret');

// Добавление обработчиков

// Запуск обработки событий с сервера
$marker = null;
while (true) {
    $marker = $bot->handleFromServer(marker: $marker);
    usleep(100000);
}
```

### Отправка сообщений

[](#отправка-сообщений)

#### Отправка простого сообщения

[](#отправка-простого-сообщения)

```
use MaxMessenger\Bot\MaxApiClient;

$apiClient = new MaxApiClient('your-access-token');

$apiClient->sendMessageToUser(12345678, 'Привет');
```

#### Отправка сообщения с кнопкой

[](#отправка-сообщения-с-кнопкой)

```
use MaxMessenger\Bot\MaxApiClient;
use MaxMessenger\Bot\Model\Request\NewMessageBody;

$apiClient = new MaxApiClient('your-access-token');

$message = NewMessageBody::make('Сообщение с клавиатурой');
$message->addInlineKeyboard()->addLinkButton('Документация', 'https://dev.max.ru/docs-api');
$apiClient->sendMessageToUser(12345678, $message);
```

#### Отправка сообщения с файлом

[](#отправка-сообщения-с-файлом)

```
use MaxMessenger\Bot\MaxApiClient;
use MaxMessenger\Bot\Model\Request\NewMessageBody;

$apiClient = new MaxApiClient('your-access-token');

$message = NewMessageBody::new()
    ->addFileAttachment($fileToken);
$apiClient->sendMessageToUser(12345678, $message);
```

#### Загрузка файлов на сервера Max

[](#загрузка-файлов-на-сервера-max)

Для загрузки файлов на сервера Max установите и используйте пакет [max-messenger-bot/max-bot-uploader-php](https://github.com/max-messenger-bot/max-bot-uploader-php).

```
composer require max-messenger-bot/max-bot-uploader-php
```

Документация
------------

[](#документация)

- [Начало работы](docs/GettingStarted.md)
- [Инструменты разработчика](docs/Tools.md)
- [Список документации](docs/README.md)

###  Health Score

45

—

FairBetter than 91% of packages

Maintenance96

Actively maintained with recent releases

Popularity21

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~5 days

Total

15

Last Release

2d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/95adc63b893241604860f7db48dafdbdd3db24e4040a04330e77ffbcc77e60c0?d=identicon)[mj4444](/maintainers/mj4444)

---

Top Contributors

[![mj4444ru](https://avatars.githubusercontent.com/u/9354685?v=4)](https://github.com/mj4444ru "mj4444ru (24 commits)")

---

Tags

phpapisdkbotMessengermaxmax-botmax messenger

###  Code Quality

TestsCodeception

Static AnalysisPsalm

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/max-messenger-bot-max-bot-api-php/health.svg)

```
[![Health](https://phpackages.com/badges/max-messenger-bot-max-bot-api-php/health.svg)](https://phpackages.com/packages/max-messenger-bot-max-bot-api-php)
```

###  Alternatives

[bushlanov-dev/max-bot-api-client-php

Max Bot API Client library

486.3k](/packages/bushlanov-dev-max-bot-api-client-php)[jstolpe/instagram-graph-api-php-sdk

Instagram Graph API PHP SDK

138110.7k2](/packages/jstolpe-instagram-graph-api-php-sdk)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
