mavinoo / telegrambot by mavinoo

Telegram Notifications Driver
24
1
3
Package Data
Maintainer Username: mavinoo
Maintainer Contact: wordpress.iran@gmail.com (Mohammad Ghanbari)
Package Create Date: 2017-08-20
Package Last Update: 2017-08-28
Language: PHP
License: MIT
Last Refreshed: 2024-12-23 03:00:58
Package Statistics
Total Downloads: 24
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 1
Total Watchers: 3
Total Forks: 0
Total Open Issues: 0

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.