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

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.

Like what you read? Give Luiz Marcus a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.