Como fazer um bot para o Telegram em PHP

2 minutos de leitura

Atualizado em:

[caption id="attachment_1537" align="aligncenter" width="900"]Como fazer um bot para o Telegram em PHP Como fazer um bot para o Telegram em PHP[/caption]

Este é um exemplo básico de como fazer um bot do Telegram em PHP. Bots do Telegram são robôs que se comportam como uma conversa no Telegram, porém respondem a comando definidos pelo programador, neste exemplo configuraremos usaremos um 'webhook' para receber as requisições, este bot aplicará as classes de filtros gramáticas, que já postei anteriormente aqui no blog.

Este exemplo criei a partir do exemplo da própria documentação do Telegram. Confira também toda a documentação no site do Telegram.

Solicitando uma chave de acesso ao Telegram

Como todas as requisições serão feitas por uma conexão HTTP, é necessário ter uma chave de acesso privada para o seu bot, para isso, inicie uma conversa com o BotFather e digite /newbot ele irá te perguntar o nome do seu bot e gerar uma chave de acesso no final, guarde ela, usaremos mais adiante.

[caption id="attachment_1533" align="aligncenter" width="566"]Criando um bot no BotFather Criando um bot no BotFather[/caption]

Projeto

Diferente do exemplo anterior que demonstrei em Java, onde são realizadas várias requisições a todo momento ao servidor do Telegram para conferir se há alguma nova requisição para ser tratada, neste exemplo usaremos o recurso de 'Webhook', que basicamente dirá ao Telegram que, para cada nova requisição ao bot, será repassada para um endereço público na web, que será nosso PHP, onde será tratado.

index.php


Neste exemplo usarei as funções que publiquei a um tempo atrás no blog, que são recursos para corrigir um texto, acerta acentuações, pontuações, letras maiúsculas no inicio das frase, dentre outros, a função pode ser obtida aqui. Crie um arquivo filtro.php com o conteúdo doas funções de filtro, serão importadas em 'include 'filtro.php';'

No define BOT_TOKEN, informe a chave fornecida pelo BotFather.

No define WEBHOOK_URL, informe o caminho do ser arquivo em seu servidor.

DICA 1: Proteja esta URL em seu site, crie um diretório 'secreto' em seu servidor, com o valor da chave do bot por exemplo: https://www.paulocollares.com.br/bots/[CHAVE]/index.php

 

DICA 2: A URL do Webhook tem que ser obrigatoriamente uma url segura (https), seu o seu domínio não possui uma conexão segura configurada, você pode tentar usar a do seu servidor, caso for uma conta compartilhada.
No meu caso, por exemplo, meu site está hospedado na Hostgator, se tentar acessar https://www.paulocollares.com.br/ encontrará um erro de configuração, mas o endereço da Hostgator está configurado corretamente, sabendo que posso acessar meu diretório pelo domínio do DNS, configurei meu webhook assim: https://ns136.hostgator.com.br/~[USUARIO]/bots/[CHAVE]/index.php

Suba os arquivos para seu servidor, e acesse a primeira vez para configurar o webhook:

  • Criar: https:// ... /bots/[CHAVE]/index.php?webhook=create
  • Remover: Criar: https:// ... /bots/[CHAVE]/index.php?webhook=delete

Seu bot já está pronto para receber e tratar as requisições:

[caption id="attachment_1536" align="aligncenter" width="543"]Bot em uso Bot em uso[/caption]

Você pode conferir este meu exemplo aqui.

Um abraço, e fiquem na Paz.

Deixe um comentário