Laravel-пакет для интеграции с API мессенджера Max: боты, webhook, WebApp и уведомления.
- PHP: 8.2+
- Laravel: 11 / 12 / 13
- Поддержка кастомного CA-сертификата (в комплекте — сертификат Минцифры).
composer require vvb/max-laravel- Задайте токен бота в
.env:
MAX_BOT_TOKEN=ваш_токен- Отправьте сообщение:
use Vvb\Max\DTO\NewMessageBody;
Max::send(userId: 123456, body: new NewMessageBody([
'text' => 'Привет!',
'notify' => true,
]));
$me = Max::getMe();- Типизированные DTO — все объекты API маппятся в readonly-классы с
fromArray()/toArray() - Inline-клавиатуры —
KeyboardBuilderс цепочкой методов и авто-рядами - Медиафайлы — двухэтапная загрузка: upload → send с токеном
- Webhook —
UpdateDispatcherдля раздачи по событиям, middleware для верификации подписи - Уведомления — Laravel Notification Channel для отправки через
Notifiable - Фасад —
Max::send(),Max::getMe(),Max::upload()и другие методы - MiniApp/initData — не реализовано, в разработке, появится в следующих версиях пакета
Тесты разделены на два testsuite: Core (standalone PHPUnit, без Testbench) и Laravel (Orchestra Testbench).
# Core-тесты (DTO, сервисы, клавиатуры) — быстрые, без зависимостей фреймворка
composer test:core
# Laravel-тесты (ServiceProvider, Artisan-команды, DI) — через Testbench
composer test:laravel
# Все тесты
composer test| Раздел | Описание |
|---|---|
| Установка и настройка | Конфигурация, переменные окружения, быстрый старт |
| Примеры использования | Полноценные сценарии: бот-помощник, рассылка, чат-менеджер |
| Справочник DTO | Все DTO-классы и JSON-структуры |
| Inline-клавиатуры | KeyboardBuilder, типы кнопок, ограничения |
| Медиафайлы | Загрузка и отправка файлов |
| Artisan-команды | Команды для работы с API через консоль |
| Webhook и Callbacks | Обработка событий, маршруты, верификация |
| База данных | Запись обновлений в БД: включение, миграции, standalone |
| API Reference | Методы фасада и MaxApiService |
| Архитектура | Core/Laravel разделение, слои |
| Laravel Notifications | Отправка уведомлений через Notification Channel |
MIT.