A simple and lightweight Laravel 4.2 and Laravel 5.* wrapper to interact with Telegram Bot.
- First of all, you should create a Telegram Bot, you can use Bot Father to do that;
- Create a Telegram chat room (group) and add the Bot to this group, now the Bot can send messages!
- After publish the package, open the telegram config file and provide all the required information.
- The Laravel Telegram Service Provider can be installed via ...
composer require ricardofontanelli/laravel-telegram:1.0
or Composer by requiring the ricardofontanelli/laravel-telegram
package in your project's composer.json
{
"require": {
"ricardofontanelli/laravel-telegram": "1.0"
}
}
Then run a composer update
php composer update
- To use the Laravel Telegram Service Provider, you must register the provider when bootstrapping your application. If you are using Laravel >= 5.5, the package supports Automatic Package Discovery, skip to the step 3.
In Laravel find the providers
key in your config/app.php
and register the Laravel Telegram Service Provider.
'providers' => array(
// ...
'RicardoFontanelli\LaravelTelegram\TelegramServiceProvider',
)
Find the aliases
key in your config/app.php
and add the Laravel Telegram facade alias.
'aliases' => array(
// ...
'Telegram' => 'RicardoFontanelli\LaravelTelegram\TelegramFacade',
)
- After that, run the command above to publish the Telegram config file, you must provide your Telegram Bot credentials and chat room information.
Now, you should publish the package to generate the config file, after that, edit the config file with your Telegram Bot credentials.
The config file will be generate here: app/config/packages/ricardofontanelli/laravel-telegram/config.php
php artisan config:publish ricardofontanelli/laravel-telegram
The config file will be generate here: app/config/telegram.php
php artisan vendor:publish --provider="RicardoFontanelli\LaravelTelegram\TelegramServiceProvider"
Now you can use it by php artisan tinker
and run:
// Send a message
Telegram::sendMessage('default', 'Here we go!');
// or async
Telegram::async()->sendMessage('default', 'Here we go!');
The first value is the config key name of the chat/group id where the Bot will publicate the message, you can provide the chat/group id directly.
// Send an async message
Telegram::getMe()->getResult();
// Send an async message
Telegram::getUpdates()->getResult();
The class has use a magic method to call unsuported methods:
$params = ['method'=>'GET'];
Telegram::getWebhookInfo($params)->getResult()
You can use the variable $params
to send query parameters and define the HTTP method (according the Telegram Bot Api documentation).
You can find more here (Telegram Bot API)[https://core.telegram.org/bots/api], but if you need to call a method that the class doesn't support, feel free to send a PR.