max-messenger-bot/max-bot-symfony-bundle

Symfony bundle for Max Messenger Bot API

Maintainers

Package info

github.com/max-messenger-bot/max-bot-symfony-bundle

Type:symfony-bundle

pkg:composer/max-messenger-bot/max-bot-symfony-bundle

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

0.1.0 2026-05-28 23:20 UTC

This package is auto-updated.

Last update: 2026-05-28 23:25:48 UTC


README

Symfony-бандл для интеграции Max Messenger Bot API PHP SDK в Symfony-приложения.

Бандл регистрирует готовые сервисы в DI-контейнере, предоставляет webhook-контроллер, команду для запуска long polling и набор управляющих команд для работы с ботом из консоли.

Требования

  • PHP 8.2+
  • Symfony 6.4 или 7.x

Установка

composer require max-messenger-bot/symfony-bundle

Зарегистрируйте бандл в config/bundles.php:

return [
    // ...
    MaxMessenger\Bot\Bundle\MaxBotBundle::class => ['all' => true],
];

Создайте файл конфигурации config/packages/max_bot.yaml:

max_bot:
    access_token: '%env(MAX_BOT_TOKEN)%'
    webhook_secret: '%env(MAX_BOT_SECRET)%'

Добавьте переменные окружения в .env:

MAX_BOT_TOKEN=your-access-token
MAX_BOT_SECRET=your-webhook-secret

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

1. Создайте обработчик событий

// src/Bot/GreetingHandler.php

use MaxMessenger\Bot\Bundle\Contract\MaxBotHandlerInterface;
use MaxMessenger\Bot\MaxBot;
use MaxMessenger\Bot\MaxBot\Event\BotStartedEvent;
use MaxMessenger\Bot\MaxBot\Event\MessageCreatedEvent;

final class GreetingHandler implements MaxBotHandlerInterface
{
    public function register(MaxBot $bot): void
    {
        $bot->onBotStarted(function (BotStartedEvent $event): bool {
            $event->sendToChat('Привет! Я бот на Symfony.');
            return true;
        });

        $bot->onMessageCreated(function (MessageCreatedEvent $event): bool {
            $event->reply('Ваше сообщение получено.', true);
            return true;
        });
    }
}

Благодаря autoconfigure, сервис подхватывается автоматически — никакой ручной регистрации не нужно.

2. Выберите режим работы

Webhook — добавьте маршрут в config/routes.yaml:

max_bot:
    resource: '@MaxBotBundle/config/routes.php'
    type: php

Long polling — запустите команду:

php bin/console max-bot:run-polling

Консольные команды

Команда Описание
max-bot:run-polling Запуск бота в режиме long polling
max-bot:debug Long polling с выводом сырых событий (для отладки)
max-bot:chats Список чатов бота с пагинацией
max-bot:delete-chats Удаление чатов, где бот является владельцем
max-bot:subscribe Регистрация webhook-подписки
max-bot:subscriptions Просмотр активных webhook-подписок
max-bot:unsubscribe Удаление webhook-подписки

Все команды берут access token из конфигурации Symfony — запрашивать его вручную не нужно.

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

Документация основного SDK

Подробнее о работе с событиями, сообщениями и API-клиентом читайте в документации max-messenger-bot/max-bot-api-php.