Como Criar um Bot para o Telegram em PHP (Parte 3)

Luiz Marcus
Aug 29, 2017 · 3 min read

No segundo post sobre como desenvolver um bot para o Telegram, eu implementei em PHP tanto o bot quanto o parser usado para retirar os resultados das loterias do site do G1. Porém, ao finalizar toda a implementação, nosso bot ainda não era capaz de responder automaticamente às solicitações.

Neste post, eu irei demonstrar como fazer com que o bot responda aos comandos enviados pelo usuário de forma automática. Para isso, será necessário conhecermos uma funcionalidade da API do Telegram chamada Webhook.

O Webhook serve para integrar o bot com a página que define o seu comportamento. Dessa forma, quando um comando é enviado ao bot, a API do Telegram dispara um evento, o qual despacha a mensagem via HTTP para URL da página configurada junto ao Webhook.

Agora que já conhecemos o Webhook, podemos partir para setar o Webhook do nosso bot. Para isso, a API do Telegram possui o método setWebhook. Ele recebe como parâmetro a URL da página que “responde” pelo bot. Para que essa URL seja considerada válida pelo método setWebhook, é preciso que ela suporte o protocolo HTTPS. Sabendo disso, para chamar o método setWebhook é só abrir o browser e digitar o seguinte:

https://api.telegram.org/bot(SEU_TOKEN)/setwebhook?url=https://(SUA_URL)/seubot.php

Após acessar a URL na formatação acima, a resposta da API do Telegram será a seguinte:

{“ok”:true,”result”:true,”description”:”Webhook was set”}

Feito isso, devemos fazer alguns ajustes no arquivo loterias.php. A parte alterada está comentada no código a seguir.

Pronto, agora você já pode conversar com o seu bot e ver como ele responde automaticamente aos comandos enviados. Para verificar como o bot da loteria ficou ao final de todo este tutorial, você pode observar a sequência de imagens abaixo.

Digite “/start” para começar.

Quando o teclado de opções abrir, escolha a loteria que deseja ver o resultado.

Após escolher a loteria, o resultado é exibido pelo bot.

Que tal adicionar o bot que acabamos de criar no seu Telegram? Para isso, procure por “loteriascaixabot” no app ou acesse o seguinte link: https://telegram.me/loteriascaixabot.

Um detalhe importante que esqueci de comentar anteriormente foi que caso seja necessário remover o Webhook, basta usar a seguinte URL: https://api.telegram.org/bot(SEU_TOKEN)/setwebhook?url=

Para visualizar o código-fonte do bot que foi desenvolvido neste tutorial, acesse: Telegram Bot.

Agora que você já sabe como criar um bot para o Telegram, use a sua criatividade. Os bots podem resolver muitos problemas pelo mundo a fora. =]

E ai, gostou do tutorial? Ficou com alguma dúvida? Então, deixe um comentário!


Originally published at luizmarcus.com on May 29, 2016.

)

Luiz Marcus

Written by

System Analyst and Master in Computer Science

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade