PHPackages                             botgate/laravel - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. botgate/laravel

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

botgate/laravel
===============

Laravel integration for the BotGate PHP SDK - Telegram Bot API proxy

v1.0.0(yesterday)00MITPHPPHP ^8.2

Since Jun 22Pushed yesterdayCompare

[ Source](https://github.com/Alexby8/botgate-laravel)[ Packagist](https://packagist.org/packages/botgate/laravel)[ Docs](https://bot-gate.ru/)[ RSS](/packages/botgate-laravel/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (6)Versions (2)Used By (0)

BotGate for Laravel
===================

[](#botgate-for-laravel)

**BotGate** — шлюз (прокси) для Telegram Bot API: приложение шлёт запросы в BotGate, а он проксирует их к Telegram с зарубежного сервера, благодаря чему боты стабильно работают из России без личных прокси и VPN. Единый API-ключ, шифрование токенов, webhook с повторами и статистика доступны в личном кабинете на [bot-gate.ru](https://bot-gate.ru/).

Этот пакет интегрирует [BotGate SDK](https://github.com/Alexby8/botgate-php-sdk) с Laravel: сервис-провайдер, фасад, готовый маршрут вебхука с проверкой подписи и событие для входящих обновлений Telegram.

Пакет не содержит бизнес-логики — он принимает и валидирует обновления, а дальше вы обрабатываете их в своих слушателях.

Требования
----------

[](#требования)

- PHP `^8.2`
- Laravel `11.x` или `12.x`

Установка
---------

[](#установка)

```
composer require botgate/laravel
```

Сервис-провайдер и фасад регистрируются автоматически (package auto-discovery).

Опубликуйте конфигурацию:

```
php artisan vendor:publish --tag=botgate-config
```

Настройка
---------

[](#настройка)

Добавьте переменные в `.env`:

```
BOTGATE_API_KEY=ваш-api-ключ
BOTGATE_BASE_URL=https://bot-gate.ru
BOTGATE_WEBHOOK_SECRET=ваш-секрет-вебхука

# опционально
BOTGATE_TIMEOUT=30
BOTGATE_RETRY_MAX=3
BOTGATE_RETRY_BASE_DELAY_MS=500
BOTGATE_WEBHOOK_PATH=botgate/webhook
```

Использование
-------------

[](#использование)

Вызовы Bot API через фасад:

```
use BotGate\Laravel\Facades\BotGate;

BotGate::bot('public-bot-id')->call('sendMessage', [
    'chat_id' => 123456789,
    'text' => 'Привет из Laravel!',
]);
```

Доступ к нижележащему SDK-клиенту и конфигурации:

```
BotGate::client(); // BotGate\Client
BotGate::config(); // BotGate\Config
```

Вебхук
------

[](#вебхук)

Пакет регистрирует маршрут `POST` по пути из `botgate.webhook.path` (по умолчанию `/botgate/webhook`, имя маршрута `botgate.webhook`). На маршрут навешивается middleware `VerifyBotGateSignature`, который проверяет заголовок `X-BotGate-Signature` по секрету `BOTGATE_WEBHOOK_SECRET`. При неверной подписи возвращается `403`.

Укажите этот URL как адрес вебхука вашего бота в BotGate.

### Обработка обновлений

[](#обработка-обновлений)

Каждое проверенное обновление публикуется как событие `BotGate\Laravel\Events\BotGateUpdateReceived`. Подпишитесь на него, например в `AppServiceProvider::boot()`:

```
use BotGate\DTO\UpdateType;
use BotGate\Laravel\Events\BotGateUpdateReceived;
use Illuminate\Support\Facades\Event;

Event::listen(function (BotGateUpdateReceived $event): void {
    $update = $event->update; // BotGate\DTO\Update

    if ($update->is(UpdateType::Message)) {
        $message = $update->message();
        // ваша логика
    }
});
```

Либо создайте отдельный класс-слушатель в `app/Listeners` (Laravel найдёт его автоматически).

Свой HTTP-клиент
----------------

[](#свой-http-клиент)

Транспорт инвертирован: если в контейнере связан `BotGate\Http\HttpClientInterface`, клиент использует его, иначе берёт реализацию SDK по умолчанию (Guzzle + повторные попытки). Чтобы подменить транспорт, добавьте биндинг в своём сервис-провайдере:

```
use BotGate\Http\HttpClientInterface;

$this->app->bind(HttpClientInterface::class, function () {
    return new MyHttpClient(/* ... */);
});
```

Конфигурация
------------

[](#конфигурация)

Все параметры находятся в `config/botgate.php` и читаются из `BOTGATE_*` переменных окружения. Маршрут, middleware и имя заголовка подписи также настраиваются в секции `webhook`.

Лицензия
--------

[](#лицензия)

[MIT](LICENSE) © BotGate

###  Health Score

39

—

LowBetter than 85% of packages

Maintenance100

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/13970618?v=4)[Alexby8](/maintainers/Alexby8)[@Alexby8](https://github.com/Alexby8)

---

Top Contributors

[![Alexby8](https://avatars.githubusercontent.com/u/13970618?v=4)](https://github.com/Alexby8 "Alexby8 (2 commits)")

---

Tags

laravelwebhookbottelegrambotgate

###  Code Quality

Static AnalysisPHPStan

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

![Health badge](/badges/botgate-laravel/health.svg)

```
[![Health](https://phpackages.com/badges/botgate-laravel/health.svg)](https://phpackages.com/packages/botgate-laravel)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3345.1M337](/packages/psalm-plugin-laravel)[larastan/larastan

Larastan - Discover bugs in your code without running it. A phpstan/phpstan extension for Laravel

6.4k51.0M7.5k](/packages/larastan-larastan)[laravel/mcp

Rapidly build MCP servers for your Laravel applications.

76518.2M118](/packages/laravel-mcp)[spatie/laravel-export

Create a static site bundle from a Laravel app

672139.5k6](/packages/spatie-laravel-export)[defstudio/telegraph

A laravel facade to interact with Telegram Bots

815320.5k3](/packages/defstudio-telegraph)[api-platform/laravel

API Platform support for Laravel

59156.3k11](/packages/api-platform-laravel)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
