Download the PHP package blacky0892/laravel-max-bot without Composer
On this page you can find all versions of the php package blacky0892/laravel-max-bot. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package laravel-max-bot
Laravel MAX Bot
Laravel-пакет для удобной работы с MAX Bot API в приложениях на Laravel.
Пакет предоставляет:
- HTTP-клиент для запросов к MAX Bot API;
- удобную обёртку для отправки сообщений пользователям и в чаты;
- сервис для управления webhook-подписками;
- сервис для ответа на callback-события;
- встроенный webhook-роут для приёма входящих обновлений;
- artisan-команды для генерации handler-класса и регистрации webhook;
- базовую интеграцию с контейнером Laravel через Service Provider и Facade.
Пакет находится в активной разработке. API может расширяться в следующих версиях.
Требования
- PHP 8.2+
- Laravel 10 / 11 / 12
Установка
Установите пакет через Composer:
Опубликуйте конфигурационный файл:
Настройка
Добавьте переменные в .env:
Конфигурация
После публикации будет создан файл config/max.php.
Пример:
Описание параметров
token— токен вашего бота MAX.base_url— базовый URL API.timeout— таймаут HTTP-запросов.connect_timeout— таймаут соединения.retry_times— количество повторных попыток при ошибках.retry_sleep— задержка между повторами в миллисекундах.webhook_secret— секрет для проверки входящих webhook-запросов.route.enabled— включить автоматическую регистрацию webhook-роута.route.path— путь для webhook.webhook.handler— класс обработчика входящих обновлений.
Быстрый старт
Обработка входящих обновлений
Чтобы обрабатывать входящие webhook-запросы, создайте класс-обработчик, реализующий интерфейс HandlesMaxUpdates.
И укажите этот класс в .env:
После изменения конфигурации очистите кэш:
Можно воспользоваться командой для генерации демо-версии обработчика
Это создаст файл app/Services/Max/MaxWebhookHandler.php.
Можно указать своё имя или путь:
Регистрация webhook одной командой
Когда приложение уже доступно по HTTPS и роут webhook включён, можно зарегистрировать подписку прямо из artisan:
По умолчанию команда:
- берёт
APP_URLиз.env; - добавляет к нему
MAX_ROUTE_PATH; - использует
MAX_WEBHOOK_SECRET; - подписывает на
message_created,message_callback,bot_started.
Можно передать свои параметры:
Если нужно сначала посмотреть, что будет отправлено, а не выполнять запрос:
Получение информации о боте
Отправка сообщения пользователю
Отправка сообщения в чат
Редактирование сообщения
Удаление сообщения
Получение сообщений
Работа с вложениями
Загрузка файла по пути
Загрузка файла из UploadedFile
Отправка видео в чат
Сейчас в пакете есть готовый метод
sendVideoToChat(). Поддержку остальных типов вложений можно добавить аналогичным образом.
Работа с webhook-подписками
Получить список подписок
Создать подписку
Удалить подписку
Callback-события
Если пользователь нажал на кнопку и MAX прислал callback, на него можно ответить так:
Также пакет умеет извлекать callback_id из update-массива:
Встроенный webhook-роут
Если MAX_ROUTE_ENABLED=true, пакет автоматически регистрирует POST-роут:
Путь можно изменить через MAX_ROUTE_PATH.
Проверка секрета
Если задан MAX_WEBHOOK_SECRET, пакет проверяет заголовок:
Если секрет не совпадает, запрос будет отклонён с HTTP 403.
Объект Update
Пакет содержит вспомогательный объект Blacky0892\Max\Support\Update, который упрощает работу с входящими payload.
Основные методы
Пример сценария запуска webhook
- Установить пакет.
- Настроить
.env. - Опубликовать конфиг.
- Создать handler-класс.
- Убедиться, что роут доступен по HTTPS.
- Выполнить
php artisan max:webhook-register. - Начать принимать события.
Лицензия
MIT
Автор
Blacky0892 [email protected]