PHPackages                             batyukovstudio/max-laravel-notification-channel - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. batyukovstudio/max-laravel-notification-channel

ActiveLibrary[Mail &amp; Notifications](/categories/mail)

batyukovstudio/max-laravel-notification-channel
===============================================

MAX Notifications Channel for Laravel

v1.0.1(3mo ago)02MITPHPPHP ^8.3CI passing

Since Mar 31Pushed 3mo agoCompare

[ Source](https://github.com/batyukovstudio/max-laravel-notification-channel)[ Packagist](https://packagist.org/packages/batyukovstudio/max-laravel-notification-channel)[ Docs](https://github.com/batyukovstudio/max-laravel-notification-channel)[ RSS](/packages/batyukovstudio-max-laravel-notification-channel/feed)WikiDiscussions main Synced 4w ago

READMEChangelog (2)Dependencies (12)Versions (4)Used By (0)

Установка
---------

[](#установка)

Пакет `batyukovstudio/max-laravel-notification-channel` добавляет канал уведомлений Laravel для [MAX Bot API](https://dev.max.ru/docs-api).

```
composer require batyukovstudio/max-laravel-notification-channel
```

Добавьте переменные в `.env`:

```
MAX_BOT_TOKEN=your-max-bot-token
MAX_API_BASE_URI=https://platform-api.max.ru
```

После этого опишите конфигурацию в `config/services.php`:

```
'max' => [
    'token' => env('MAX_BOT_TOKEN'),
    'base_uri' => env('MAX_API_BASE_URI', 'https://platform-api.max.ru'),
],
```

Пакет читает настройки из конфигурации приложения через `config('services.max.*')`, а не напрямую из `.env`. Такой подход корректно работает с `php artisan config:cache`, потому что вызовы `env()` остаются только внутри конфигурационных файлов Laravel.

Использование
-------------

[](#использование)

Верните канал MAX из метода `via()` вашего уведомления и сформируйте сообщение в методе `toMax()`.

```
use Illuminate\Notifications\Notification;
use NotificationChannels\Max\MaxChannel;
use NotificationChannels\Max\MaxMessage;

class InvoicePaid extends Notification
{
    public function via($notifiable): array
    {
        return [MaxChannel::class];
    }

    public function toMax($notifiable): MaxMessage
    {
        return MaxMessage::create('Оплата получена')
            ->toUser($notifiable->max_user_id)
            ->markdown()
            ->button('Открыть счёт', 'https://example.com/invoice/1');
    }
}
```

Если получатель не указан прямо в сообщении, канал попытается определить его через `routeNotificationForMax()`:

```
public function routeNotificationForMax(): int|array
{
    return $this->max_user_id;

    // или:
    // return ['chat_id' => $this->max_chat_id];
}
```

Прямое использование API
------------------------

[](#прямое-использование-api)

```
use NotificationChannels\Max\MaxClient;
use NotificationChannels\Max\MaxMessage;

$message = MaxMessage::create('Здравствуйте!')
    ->toUser(12345)
    ->html();

$response = app(MaxClient::class)->sendMessage($message);
```

Сообщение можно отправить и напрямую через fluent builder:

```
MaxMessage::create('Проверка связи')
    ->toUser(12345)
    ->send();
```

Возможности
-----------

[](#возможности)

- Текстовые сообщения с форматированием `markdown` и `html`.
- Построение inline-клавиатуры с кнопками `callback`, `link`, `request_contact`, `request_geo_location`, `open_app`, `message`.
- Загрузка файлов `image`, `video`, `audio`, `file` через MAX Upload API.
- Получение обновлений через `MaxUpdates`.
- Работа с webhook-подписками через `MaxSubscription`.
- Ответы на callback через `MaxCallbackAnswer`.
- Редактирование, удаление и получение сообщений через `MaxClient`.

Архитектура Porto SAP
---------------------

[](#архитектура-porto-sap)

Внутренняя реализация пакета организована по Porto SAP:

- `src/Containers/MessengerSection/*` содержит Actions и Tasks для отправки уведомлений, загрузки файлов, обновлений, подписок и callback-ответов.
- `src/Ship/*` содержит общую инфраструктуру: транспорт, enum'ы, traits и исключения.
- Публичные точки входа остаются простыми: `MaxChannel`, `MaxClient`, `MaxMessage`, `MaxUpdates`, `MaxSubscription`, `MaxCallbackAnswer`.

Примеры
-------

[](#примеры)

### Получение обновлений через long polling

[](#получение-обновлений-через-long-polling)

```
use NotificationChannels\Max\MaxUpdates;

$updates = MaxUpdates::create()
    ->limit(100)
    ->timeout(30)
    ->types(['message_created', 'message_callback'])
    ->get();
```

### Подписка на webhook

[](#подписка-на-webhook)

```
use NotificationChannels\Max\MaxSubscription;

MaxSubscription::create('https://example.com/max/webhook')
    ->updateTypes(['message_created', 'bot_started'])
    ->secret('secret_12345')
    ->subscribe();
```

### Ответ на callback

[](#ответ-на-callback)

```
use NotificationChannels\Max\MaxCallbackAnswer;
use NotificationChannels\Max\MaxMessage;

MaxCallbackAnswer::create($callbackId)
    ->notification('Готово')
    ->message(
        MaxMessage::create('Сообщение обновлено')
            ->buttonWithCallback('Ещё раз', 'retry')
    )
    ->send();
```

Тестирование
------------

[](#тестирование)

```
composer test
```

Разработчик
-----------

[](#разработчик)

Разработчик пакета: ООО «Студия Батюкова»

- Сайт: [www.batyukovstudio.com](https://www.batyukovstudio.com/)
- Email:
- Телефон: +7 963 053 1333

ООО «Студия Батюкова» разрабатывает сайты, интернет-магазины и веб-приложения для малого бизнеса, корпораций и государственных организаций. Компания проектирует UX/UI-дизайн в Figma, помогает выстраивать удобный пользовательский опыт, автоматизировать бизнес-процессы и внедрять интеграции с CRM, ERP, платёжными системами, складскими решениями и другими внешними сервисами под задачи проекта.

Студия Батюкова выполняет разработку сайтов и интернет-магазинов под ключ, включая сложные проекты на авторской CMS с упором на безопасность, производительность и полную кастомизацию под бизнес-процессы заказчика. Компания создаёт UX/UI-дизайн в Figma, проектирует архитектуру, реализует frontend и backend, проводит тестирование и развивает цифровые продукты без шаблонных ограничений.

Отдельное направление работы студии — интеграции с внешними системами: CRM, ERP, эквайрингом, службами доставки, складскими платформами, платёжными решениями и любыми другими сервисами через API. Если вам нужен не только пакет, а полноценная коммерческая разработка, команда ООО «Студия Батюкова» берёт на себя полный цикл: аналитику, дизайн, разработку, SEO-направление, автоматизацию и техническую поддержку.

Лицензия
--------

[](#лицензия)

Пакет распространяется по лицензии MIT.

Это означает, что его можно использовать, копировать, изменять и распространять как в коммерческих, так и в некоммерческих целях, включая закрытые корпоративные проекты, без требования открывать исходный код вашего приложения.

Единственное обязательное условие MIT: при распространении нужно сохранять текст лицензии и уведомление об авторских правах.

###  Health Score

38

—

LowBetter than 83% of packages

Maintenance82

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

91d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2201597?v=4)[Eugene Batyukov](/maintainers/Batyukov)[@batyukov](https://github.com/batyukov)

---

Top Contributors

[![batyukov](https://avatars.githubusercontent.com/u/2201597?v=4)](https://github.com/batyukov "batyukov (6 commits)")

---

Tags

laravelnotificationMessengermaxmax notificationmax notifications channel

###  Code Quality

TestsPest

Static AnalysisPHPStan

### Embed Badge

![Health badge](/badges/batyukovstudio-max-laravel-notification-channel/health.svg)

```
[![Health](https://phpackages.com/badges/batyukovstudio-max-laravel-notification-channel/health.svg)](https://phpackages.com/packages/batyukovstudio-max-laravel-notification-channel)
```

###  Alternatives

[spatie/laravel-health

Monitor the health of a Laravel application

87411.3M154](/packages/spatie-laravel-health)[laravel-notification-channels/telegram

Telegram Notifications Channel for Laravel

1.1k3.7M42](/packages/laravel-notification-channels-telegram)[psalm/plugin-laravel

Psalm plugin for Laravel

3345.1M337](/packages/psalm-plugin-laravel)[propaganistas/laravel-disposable-email

Disposable email validator

6012.9M7](/packages/propaganistas-laravel-disposable-email)[laravel/ai

The official AI SDK for Laravel.

1.0k2.1M165](/packages/laravel-ai)[laravel-notification-channels/discord

Laravel notification driver for Discord.

2381.4M13](/packages/laravel-notification-channels-discord)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
