vvb / max-laravel
Laravel-пакет для интеграции с API мессенджера Max (боты, WebApp, уведомления, webhook).
Package info
pkg:composer/vvb/max-laravel
v0.0.1
2026-08-09 10:32 UTC
Requires
- php: ^8.2
- ext-fileinfo: *
- guzzlehttp/guzzle: ^7.0|^8.0
- psr/log: ^3.0
Requires (Dev)
- ext-pdo_sqlite: *
- laravel/framework: ^11.0|^12.0|^13.0
- orchestra/testbench: ^9.0|^10.0|^11.0
- phpstan/phpstan: ^2.2
- phpunit/phpunit: ^10.0|^11.0|^12.0|^13.0
Suggests
- ext-pdo: Required to enable optional database persistence (config max.database.enabled).
- ext-pdo_mysql: Required to persist updates to a MySQL database.
- ext-pdo_pgsql: Required to persist updates to a PostgreSQL database.
- ext-pdo_sqlite: Required to persist updates to a SQLite database.
This package is auto-updated.
Last update: 2026-08-09 10:58:35 UTC
README
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.