Skip to content

Repository files navigation

vvb/max-laravel

Laravel-пакет для интеграции с API мессенджера Max: боты, webhook, WebApp и уведомления.

  • PHP: 8.2+
  • Laravel: 11 / 12 / 13
  • Поддержка кастомного CA-сертификата (в комплекте — сертификат Минцифры).

Установка

composer require vvb/max-laravel

Быстрый старт

  1. Задайте токен бота в .env:
MAX_BOT_TOKEN=ваш_токен
  1. Отправьте сообщение:
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 с токеном
  • WebhookUpdateDispatcher для раздачи по событиям, 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.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors