Pular para o conteúdo

Instalação

Instale o pacote em seu projeto Laravel:

Terminal window
composer require hybridgram/tgbot-laravel

Publique o arquivo de configuração do pacote:

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

Isso criará o arquivo config/hybridgram.php onde você pode configurar seus bots.

Adicione as seguintes variáveis ao seu arquivo .env:

# Token do seu bot do @BotFather
BOT_TOKEN=seu_token_bot
# ID do bot (opcional, padrão é 'main')
# Se não especificado, BOT_TOKEN será usado como identificador
BOT_ID=main
# Modo de recebimento de atualizações: POLLING ou WEBHOOK
TELEGRAM_UPDATE_MODE=POLLING
# Caminho para o arquivo de rotas (opcional)
TELEGRAM_ROUTES_FILE=routes/telegram.php

Se você estiver usando o modo Webhook, adicione:

# URL do webhook
TELEGRAM_WEBHOOK_URL=https://seu-dominio.com/telegram/bot/webhook/main
# Token secreto para segurança (opcional)
TELEGRAM_SECRET_TOKEN=seu_token_secreto
# Porta para processamento de webhook (se usar manipulador Go)
TELEGRAM_WEBHOOK_PORT=9070
# Caminho para certificado SSL (se necessário)
TELEGRAM_CERTIFICATE_PATH=/path/to/certificate.pem
# Descartar atualizações pendentes ao configurar webhook
TELEGRAM_WEBHOOK_DROP_PENDING=false

Para o modo Polling:

# Limite de atualizações por solicitação (padrão 100)
TELEGRAM_POLLING_LIMIT=100
# Tempo limite da solicitação em segundos (padrão 0)
TELEGRAM_POLLING_TIMEOUT=0
# Tipos de atualização permitidos (separados por vírgula)
ALLOWED_TELEGRAM_UPDATES=message,callback_query

Crie um arquivo para definir as rotas do seu bot. Por padrão, é 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, 'Olá! 👋');
});

Após a instalação, certifique-se de que:

  1. ✅ O pacote está instalado via Composer
  2. ✅ O arquivo de configuração foi publicado
  3. ✅ As variáveis de ambiente foram configuradas
  4. ✅ O arquivo de rotas foi criado