Skip to content

Latest commit

 

History

History
123 lines (90 loc) · 3.18 KB

File metadata and controls

123 lines (90 loc) · 3.18 KB

Telegram Notifications Channel Plus for Laravel 5.3 [WIP]

Latest Version on Packagist Software License Total Downloads

This package makes it easy to send Telegram notification using Telegram Bot API with Laravel 5.3.

Contents

Installation

You can install the package via composer:

composer require mavinoo/telegrambot:dev-master

You must install the service provider:

// config/app.php
'providers' => [
    ...
    NotificationChannelsPlus\Telegrambot\TelegrambotServiceProvider::class,
],

Setting up your Telegram Bot

Talk to @BotFather and generate a Bot API Token.

Then, configure your Telegram Bot API Token:

// config/services.php
...
'telegram-bot-api' => [
    'token' => env('TELEGRAM_BOT_TOKEN', 'YOUR BOT TOKEN HERE')
],
...

Usage sendMessage

You can now use the channel in your via() method inside the Notification class.

use NotificationChannelsPlus\Telegrambot\TelegramChannel;
use NotificationChannelsPlus\Telegrambot\TelegramMessage;
use Illuminate\Notifications\Notification;

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

    public function toTelegram($notifiable)
    {
        $url = url('/invoice/' . $this->invoice->id);

        $tg = TelegramMessage::create()
		    ->to($this->user->telegram_user_id)
		    ->content("*HELLO!* \n One of your invoices has been paid!")
		    ->button('View Invoice', $url)
		    ->getResult();
	return $tg;
    }
}

Usage sendPhoto

You can now use the channel in your via() method inside the Notification class.

use NotificationChannelsPlus\Telegrambot\TelegramChannel;
use NotificationChannelsPlus\Telegrambot\TelegramMessage;
use Illuminate\Notifications\Notification;

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

    public function toTelegram($notifiable)
    {
        $url = url('/invoice/' . $this->invoice->id);

        $tg = TelegramMessage::create()
		    ->to($this->user->telegram_user_id)
		    ->sendPhoto([
			'caption'   =>  'Hello Mohammad',
			'photo'     =>  'http://www.ilovegenerator.com/large/i-love-mohamed-132309992962.png',
		    ])
		    ->button('View Invoice', $url)
		    ->getResult();
	    
	return $tg;
    }
}

Alternatives

For advance usage, please consider using telegram-bot-sdk instead.

License

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