Skip to content

Установка

Установите пакет в ваш Laravel проект:

Terminal window
composer require hybridgram/tgbot-laravel

Публикация конфигурации

Section titled “Публикация конфигурации”

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

Terminal window
php artisan vendor:publish --provider="HybridGram\Providers\TelegramServiceProvider"

Это создаст файл config/hybridgram.php, в котором вы сможете настроить работу с ботами.

Настройка переменных окружения

Section titled “Настройка переменных окружения”

Добавьте следующие переменные в ваш .env файл:

# Токен вашего бота от @BotFather
BOT_TOKEN=ваш_токен_бота
# ID бота (опционально, по умолчанию 'main')
# Если не указать, будет использоваться BOT_TOKEN в качестве идентификатора
BOT_ID=main
# Режим получения обновлений: POLLING или WEBHOOK
TELEGRAM_UPDATE_MODE=POLLING
# Путь к файлу с роутами (опционально)
TELEGRAM_ROUTES_FILE=routes/telegram.php

Дополнительные настройки для Webhook

Section titled “Дополнительные настройки для Webhook”

Если вы используете режим Webhook, добавьте:

# URL для вебхука
TELEGRAM_WEBHOOK_URL=https://ваш-домен.com/telegram/bot/webhook/main
# Secret token для безопасности (опционально)
TELEGRAM_SECRET_TOKEN=ваш_секретный_токен
# Порт для обработки вебхуков (если используете Go обработчик)
TELEGRAM_WEBHOOK_PORT=9070
# Путь к SSL сертификату (если требуется)
TELEGRAM_CERTIFICATE_PATH=/path/to/certificate.pem
# Удалить ожидающие обновления при установке вебхука
TELEGRAM_WEBHOOK_DROP_PENDING=false

Для режима Polling:

# Лимит обновлений за один запрос (по умолчанию 100)
TELEGRAM_POLLING_LIMIT=100
# Таймаут запроса в секундах (по умолчанию 0)
TELEGRAM_POLLING_TIMEOUT=0
# Разрешенные типы обновлений (через запятую)
ALLOWED_TELEGRAM_UPDATES=message,callback_query

Создайте файл для определения роутов вашего бота. По умолчанию это routes/telegram.php:

<?php
use HybridGram\Facades\TelegramRouter;
use HybridGram\Core\Routing\RouteData\CommandData;
TelegramRouter::onCommand('/start', function(CommandData $data) {
$telegram = app(\HybridGram\Telegram\TelegramBotApi::class);
$telegram->sendMessage($data->chatId, 'Привет! 👋');
});

После установки убедитесь, что:

  1. ✅ Пакет установлен через Composer
  2. ✅ Конфигурационный файл опубликован
  3. ✅ Переменные окружения настроены
  4. ✅ Файл роутов создан