📎 Webclip
Criando um chat bot com Hubot, Slack, Docker e Azure
O texto apresenta o Hubot como um chat bot mais poderoso que o Slackbot, integrado por adaptadores a serviços como Slack, HipChat, Campfire e Skype. Também mostra exemplos de funções que ele pode executar com scripts, como comandos ligados a GitHub, YouTube, clima, Wolfram Alpha, lembretes e pomodoros.
Fichamento#
- O Slack é usado na Lambda3 há alguns meses e ajuda na comunicação da equipe.
- O Slack oferece integrações com ferramentas como Visual Studio Team Services e GitHub.
- O Slackbot responde a mensagens simples, como repetir “bom dia” quando alguém escreve “bom dia”.
- O Hubot é um chat bot feito pelo GitHub, escrito em CoffeeScript, que roda sobre NodeJS e é livre.
- O Hubot usa adaptadores para se integrar a aplicações de chat, incluindo Slack, HipChat, Campfire e Skype.
- O Hubot depende de scripts para responder a comandos e traz scripts padrão pelo pacote hubot-scripts.
- A lista de comandos mostra funções ligadas a GitHub, buscas, clima, traduções, lembretes, pomodoros e relatórios de presença.
- O autor cria o Hubot com yeoman usando “yo hubot” e define nome, autor e adaptador.
- A integração com Slack exige criar o app do Hubot na página do Slack e obter uma API key.
- Para guardar dados, o Hubot usa um brain com Azure Storage por meio do pacote hubot-azure-scripts.
- A configuração do brain pede o nome da storage account e a chave de acesso.
- Os scripts do Hubot são ativados pelos arquivos hubot-scripts.json e external-scripts.json.
- Para rodar localmente, o autor usa um script que configura variáveis de ambiente públicas e seguras.
- A tentativa de rodar o Hubot como Azure website trouxe problemas com npm e com alguns pacotes de extensão.
- A solução escolhida foi usar Docker, com um Dockerfile baseado em Node e um docker-compose.yml simples.
- O docker-compose repassa variáveis de ambiente seguras e permite subir o serviço como daemon.
- O servidor final é um Ubuntu no Azure, e o Docker simplifica o deploy e a movimentação do serviço.
- O texto conclui que o Slack, o Hubot e o Azure permitem experimentar a solução com pouco custo.
