Install this package through Composer. Run this command in your project's terminal:
composer require php-telegram-bot/laravelExecute the following command to publish the folder structure to your Laravel application:
php artisan telegram:publishThis also includes a dummy /start command to give you a quick start.
Since we're using the database part of php-telegram-bot you should run the migrations so the database schema gets installed:
php artisan migrateAnd add the following lines to your .env file:
TELEGRAM_API_TOKEN=
TELEGRAM_BOT_USERNAME=
TELEGRAM_API_URL=
TELEGRAM_ADMINS=TELEGRAM_API_TOKEN and TELEGRAM_BOT_USERNAME should be filled with the corresponding data from @BotFather
TELEGRAM_API_URL is optional and can be filled with the URL to your custom Bot API Server if you want to use one.
TELEGRAM_ADMINS is optional and a comma-separated list of Telegram User IDs that gets passed to the enableAdmins command of php-telegram-bot to enable admin commands for those users.
After that you can run php artisan telegram:set-webhook if your development server is reachable from the outside or you're using a custom bot api server.
Or php artisan telegram:fetch to start fetching your updates via polling.
telegram:fetch command, if you change your code.
For further basic configuration of this Laravel package you do not need to create any configuration files.
Artisan terminal commands for the Webhook usage (remember, that you need an HTTPS server for it):
# Use this method to specify a url and receive incoming updates via an outgoing webhook
php artisan telegram:set-webhook
# List of available options:
# --d|drop-pending-updates : Drop all pending updates
# --a|all-update-types : Explicitly allow all updates (including "chat_member")
# --allowed-updates= : Define allowed updates (comma-seperated)
# Use this method to remove webhook integration if you decide to switch back to getUpdates
php artisan telegram:delete-webhook
# List of available options:
# --d|drop-pending-updates : Pass to drop all pending updatesArtisan terminal commands for the Telegram getUpdates method:
# Fetches Telegram updates periodically
php artisan telegram:fetch
# List of available options:
# --a|all-update-types : Explicitly allow all updates (including "chat_member")
# --allowed-updates= : Define allowed updates (comma-seperated)Artisan terminal command for Telegram Server logging out:
# Sends a logout to the currently registered Telegram Server
php artisan telegram:logoutArtisan terminal command for closing Telegram Server:
# Sends a close to the currently registered Telegram Server
php artisan telegram:closeArtisan terminal command for publishing Telegram command folder structure in your project:
# Publishes folder structure for Telegram Commands
# Default StartCommand class will be created
php artisan telegram:publishArtisan terminal command for creating new Telegram command class in your project:
# Create a new Telegram Bot Command class
# e.g. php artisan make:telegram-command Menu --> will make User command class MenuCommand
# e.g. php artisan make:telegram-command Genericmessage --system --> will make System command class GenericmessageCommand
php artisan make:telegram-command
# List of available options:
# name : Name of the Telegram Command
# --a|admin : Generate a AdminCommand
# --s|system : Generate a SystemCommand
# Without admin or system option default User command will be createdPlease see the license file for more information.