vegas / laravel-notification-channel-max
Max (platform-api.max.ru) notification channel for Laravel
Package info
github.com/vegas-dev/laravel-notification-channel-max
pkg:composer/vegas/laravel-notification-channel-max
Requires
- php: ^7.2|^8.0
- guzzlehttp/guzzle: ^7.0
- illuminate/notifications: ^7.0|^8.0|^9.0|^10.0
Requires (Dev)
- mockery/mockery: ^1.4
- orchestra/testbench: ^5.0|^6.0|^7.0|^8.0
- phpunit/phpunit: ^9.0
README
Этот пакет позволяет легко отправлять уведомления через Max в Laravel.
Содержание
- Установка
- Настройка сервиса Max
- Использование
- Доступные методы сообщения
- Список изменений
- Тестирование
- Безопасность
- Участие в разработке
- Авторы
- Лицензия
Установка
Вы можете установить пакет через composer:
composer require vegas/laravel-notification-channel-max
Настройка сервиса Max
Добавьте токен вашего бота Max в файл config/services.php:
// config/services.php ... 'max-bot-api' => [ 'token' => env('MAX_BOT_TOKEN'), ], ...
Вы также можете установить идентификатор чата/пользователя по умолчанию в этом же файле, если это необходимо, хотя обычно он передается через модель Notifiable.
Использование
Вы можете использовать канал в методе via() внутри вашего уведомления:
use Vegas\MaxNotificationChannel\MaxChannel; use Vegas\MaxNotificationChannel\Messages\MaxMessage; use Illuminate\Notifications\Notification; class NewLead extends Notification { public function via($notifiable) { return [MaxChannel::class]; } public function toMax($notifiable) { return MaxMessage::create("Новая заявка на сайте!") ->to('12345678') ->button('Посмотреть заявку', url('/admin/leads/'.$notifiable->id)); } }
В вашей модели Notifiable убедитесь, что вы добавили метод routeNotificationForMax(), который возвращает ID чата или ID пользователя, куда должно быть отправлено уведомление (если вы не указываете ->to() явно):
public function routeNotificationForMax() { return $this->max_chat_id; }
Доступные методы сообщения
content(string): Установить текст сообщения.to(string): Установить ID получателя (чата или пользователя). Если указано в уведомлении, переопределяет методrouteNotificationForMax.button(string $text, string $url, int $row = 0): Добавить кнопку со ссылкой.link(string): Добавить URL-ссылку к сообщению (в API этоlink_url).notify(bool): Установить флаг уведомления (звуковой сигнал/пуш).format(string): Установить формат сообщения (markdown,htmlилиplain).
Список изменений
Пожалуйста, смотрите CHANGELOG для получения дополнительной информации о последних изменениях.
Тестирование
composer test
Пакет поставляется с набором тестов с использованием PHPUnit. Убедитесь, что вы установили все зависимости разработки (composer install).
Безопасность
Если вы обнаружите какие-либо проблемы, связанные с безопасностью, пожалуйста, используйте трекер задач.
Авторы
Лицензия
Лицензия MIT. Пожалуйста, смотрите файл лицензии для получения дополнительной информации.