Laravel Telegram Bot

Laravel Telegram Bot is a Laravel-friendly PHP SDK for the official Telegram Bot API. It is built for Laravel 13 applications. It keeps the core client usable outside Laravel where practical, and adds Laravel package discovery, configuration, facade access, webhook receiving, console helpers, and typed request DTOs for the workflows where stronger payload validation reduces production risk.
The package targets Telegram Bot API 10.0, released on 2026-05-08. The raw call(method, parameters) API is always available, so newly released Telegram methods can be used before a typed helper is added.
Compatibility
Area | Supported versions or behavior |
|---|---|
PHP |
|
Laravel |
|
HTTP client | Guzzle |
Telegram API target | Telegram Bot API 10.0 |
Request formats | JSON by default, multipart when |
Main package namespace |
|
Laravel namespaces |
|
Version v1.19.1 is the final 1.x release for older host applications. Starting with v2.0.0, the package supports only PHP 8.4 and Laravel 13.
What The Package Provides
Capability | Where to read next |
|---|---|
Composer installation and package discovery | |
Single-bot and multi-bot config | |
Constructor injection, facade calls, channel mappings, and raw calls | |
BotFather, chat ID, topic ID, and safe delivery setup | |
Artisan install, identity, webhook, update discovery, and delivery-test commands | |
Incoming Telegram webhook route, secret validation, handlers, and events | |
File uploads and custom HTTP clients | |
Business, managed bots, Stars, paid media, Passport, and Games DTOs | |
Supported method matrix | |
Full native method reference |
Recommended Integration Path
Step | Action | Result |
|---|---|---|
1 | Install the package with Composer. | Laravel discovers the service provider and facade. |
2 | Publish config or run |
|
3 | Store bot tokens and secrets in environment variables. | Credentials stay out of committed files. |
4 | Add a channel mapping for common destinations. | Application code can call |
5 | Verify the bot with | Token and Telegram identity are checked before delivery. |
6 | Send a test message with | The full Laravel -> Telegram path is verified. |
7 | Configure webhooks only when the application is ready for incoming updates. |
|
Which Calling Style To Use
Use case | Recommended surface |
|---|---|
Normal Laravel service, job, listener, or controller | Constructor injection of |
Static-style convenience in small code paths |
|
Reusable destination such as alerts, deployments, or inbox |
|
Multiple bots with different tokens |
|
Newly released Telegram method |
|
Business, managed bot, Stars, Passport, paid media, or Games payloads | Typed DTOs under |
Source Of Truth
The package documentation is aligned with these primary sources:
When Telegram publishes new Bot API changes, maintainers should update the SDK surface, tests, public docs, Writerside topics, and release notes together.