Criando um bot no Telegram com o IBM Watson

No último post vimos como é possível integrar o Watson junto do Facebook, o quão difícil seria fazer isso para o Telegram? A resposta: é mais fácil ainda.

Eu vou assumir aqui que você já criou o seu conteúdo na API do Conversation (se você não sabe do que eu tô falando entre aqui) e que você já possui o cloud foundry instalado na sua máquina (para baixar e aprender como usar o cf cli acesse aqui).

Criando o seu bot no Telegram

Para criar o seu bot você precisa apenas conversar com um bot chamado @BotFather (sim, é um bot que cria bots). Você pode fazer isso pela interface celular ou pela interface web deles.

O primeiro comando é o /newbot pra começar tudo, em seguida você deve responder outras duas perguntas sendo que a primeira é o nome do bot e a segunda o identificador dele (aqui você é obrigado a terminar com “bot”). Se tudo der certo a sua conversa será igual a essa aí embaixo, anote o seu token.

Integrando com o Watson

Assim como fizemos para o Facebook você precisa criar um orquestrador que conectará o Telegram com o Watson aqui vamos criar uma aplicação Node.Js. Basta seguir os seguintes:

  1. Crie uma aplicação web com Node.JS (link direto ou vá em catálogo > cloud foundry apps > SDK for Node.js™)
  2. Insira o nome do seu app e aperte criar.
  3. Clique em ‘Download Starter Code
  4. Abra o arquivo app.js e altere o código para o que está nesse gist no GitHub substituindo as linhas 12, 13, 19 e 25 com as suas informações.
  5. Edite o package.json adicionando as seguintes linhas em dependencies:
"node-telegram-bot-api": "0.24.0",
"watson-developer-cloud": "^2.8.1"

7. Para enviar o código alterado para o Bluemix você deve abrir o console (windows + R e depois cmd), navegar até a pasta onde está o seu projeto e fazer um push com o cloud foundry:

cf push

Fim

Pronto, agora que seu bot já funciona no Telegram é só passar o Identificador dele pra todo mundo testar!