mihakot/notification-telegram

Laravel Telegram notifications channel

v0.2.5 2023-10-29 10:41 UTC

This package is auto-updated.

Last update: 2024-04-29 11:47:29 UTC


README

pipeline status Latest Version on Packagist Software License Total Downloads

[TOC]

Настройка

Установка пакета

Установка пакета через composer:

composer require mihakot/notification-telegram

При необходимости можно опубликовать файл конфигурации

@php artisan vendor:publish --vendor NotificationChannels\Telegram\TelegramServiceProvider

Настройка вашего Telegram Bot

Зарегистрировать бота через @BotFather и получить Bot API Token.

Затем сконфигурировать его в .env вашего приложения

TELEGRAM_API_TOKEN={YOUR_API_TOKEN}

Данная переменная используется в файле конфигурации, но вы можете использовать другие значения в момент вызова метода.

\NotificationChannels\Telegram\Telegram::message()
->setToken('ВАШ_ТОКЕН')

Получение Chat ID

Для отправки уведомлений требуется знать Chat ID.

Получить его можно через webhook или через Telegram::updates()

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

Теперь можете использовать канал telegram в методе via() внутри класса Notification.

# пример использования

use Illuminate\Notifications\Notification;

class NotifyUser extends Notification
{
    public function via($notifiable)
    {
        return ["telegram"];
    }

    public function toTelegram($notifiable)
    {
        return \NotificationChannels\Telegram\Telegram::message()
            // Получатель
            ->to($notifiable->telegram_chat_id)
            ->content("Hello there!")
            ->line("Your are welcome!")
            ->line("Thank you!")
    }
}

Общедоступные методы

// установка токена
->setToken() 

// установка адреса api
->setApiBaseUri() 
 
// получатель события
->to()

// добавление кнопки с действием к сообщению
->button()

// добавление дополнительных опций
->options() 

Получение последних данных

\NotificationChannels\Telegram\Telegram::updates()
->get() 

Доступные методы

Telegram API getUpdates

# количество получаемых событий 
->limit()

# получаемые события, номер последнего получаемого события (последнее полученное + 1)  
->latest()

# получить события
->get()

Отправка сообщения

\NotificationChannels\Telegram\Telegram::message()
->to('Chat ID')
->content('YOUR_MESSAGE')
->send() 

Доступные методы

# текст уведомления
->content()

# добавление строки к уведомлению 
->line()

# добавление экранированной строки к уведомлению
->escapedLine()

# добавление blade шаблона в качестве уведомления
->view()

# отправка сообщения
->send()

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email mihakot@gmail.com instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.