westacks / telebot-laravel
Telebot adapter for Laravel
Installs: 10 028
Dependents: 0
Suggesters: 0
Security: 0
Stars: 9
Watchers: 2
Forks: 3
Open Issues: 0
Requires
- php: ^8.0
- guzzlehttp/guzzle: ^6.0 || ^7.0
- illuminate/support: ^5.5 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0
- westacks/telebot: ^3.0
Requires (Dev)
- laravel/pint: ^1.0
- orchestra/testbench: ^3.5 || ^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0
- phpunit/phpunit: ^8.0 || ^9.0 || ^10.0
- rector/rector: ^0.17
README
TeleBot is a PHP library for telegram bots development. This project is a Laravel adapter for TeleBot
Documentation
Documentation for the library can be found on the website.
Features
Laravel Support
Library provides a Facade, artisan commands and notification channel to simplify the development process of your bot, if you are using Laravel:
Facade
TeleBot::getMe(); TeleBot::bot('bot2')->getMe();
Automatic webhook generation
After you insert your bot token, to create a webhook you need only to fire the following command:
$ php artisan telebot:webhook --setup
Route for handling updates is generated automatically for your APP_URL
Long polling
If you are not using webhook, or want to use bot in local or test environment, you may start long polling by only firyng this command:
$ php artisan telebot:polling
Setup commands autocompletion
The following command will automatically setup autocompletion for all registered bot commands on Telegram servers:
$ php artisan telebot:commands --setup
Notification channel
<?php namespace App\Notifications; use Illuminate\Notifications\Notification; use WeStacks\TeleBot\Laravel\TelegramNotification; class TelegramNotification extends Notification { public function via($notifiable) { return ['telegram']; } public function toTelegram($notifiable) { return (new TelegramNotification)->bot('bot') ->sendMessage([ 'chat_id' => $notifiable->telegram_chat_id, 'text' => 'Hello, from Laravel\'s notifications!' ]) ->sendMessage([ 'chat_id' => $notifiable->telegram_chat_id, 'text' => 'Second message' ]); } }
Log driver
You may log your application errors by sending them to some Telegram chat. Simply add new log driver to a config/logging.php
:
'telegram' => [ 'driver' => 'custom', 'via' => \WeStacks\TeleBot\Laravel\Log\TelegramLogger::class, 'level' => 'debug', 'bot' => 'bot', 'chat_id' => env('TELEGRAM_LOG_CHAT_ID') // Any chat where bot can write messages. ]
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.