/php-telegram-bot-laravel

Laravel package for PHP Telegram Bot Library

Primary LanguagePHPMIT LicenseMIT

Telegram Bot Package for Laravel 6.x, 7.x, and 8.x

Build Status Code Coverage Code Quality Latest Stable Version Total Downloads Downloads Month Minimum PHP Version License

This package helps easily integrate PHP Telegram Bot library in Laravel application.

Table of Contents

Installation

Install this package through Composer.

Edit your project's composer.json file to require php-telegram-bot/laravel

Create composer.json file:

{
    "name": "yourproject/yourproject",
    "type": "project",
    "require": {
        "php-telegram-bot/laravel": "^1.0"
    }
}

And run composer update

Or run a command in your command line:

composer require php-telegram-bot/laravel

Copy the package config and migrations to your project with the publish command:

php artisan vendor:publish --provider="PhpTelegramBot\Laravel\ServiceProvider"

After run migration command

php artisan migrate

In the config you have to specify Telegram API KEY

Usage

You can inject PhpTelegramBot\Laravel\PhpTelegramBotContract in anywhere and use bot instance

For example:

<?php
namespace App\Http\Controllers;

use PhpTelegramBot\Laravel\PhpTelegramBotContract;

class CustomController extends Controller
{
    public function handle(PhpTelegramBotContract $telegramBot)
    {
        // Call handle method
        $telegramBot->handle();
        
        // Or set webhook 
        $hookUrl = 'https://hook.url';
        $telegramBot->setWebhook($hookUrl);
        
        // Or handle telegram getUpdates request
        $telegramBot->handleGetUpdates();
    }
}

More details about usage you can see on the PHP Telegram Bot docs: https://github.com/php-telegram-bot/core#instructions

TODO

write more tests

Troubleshooting

If you like living on the edge, please report any bugs you find on the php-telegram-bot/laravel issues page.

Contributing

Pull requests are welcome. See CONTRIBUTING.md for information.

License

Please see the LICENSE included in this repository for a full copy of the MIT license, which this project is licensed under.

Credits

Full credit list in CREDITS