Construindo Chatbots no G Suit

O que eu preciso para construir meu próprio chatbot?

Martin Manriquez Leon
Bots Brasil
5 min readJan 26, 2020

--

Fotografia por: @christianw
Fotografia por: @christianw

Chatbots, ou “bots”, são programas de computador que interagem com as pessoas de uma maneira que imita a interação humana até certo ponto. A interação pode variar em complexidade, desde consultas simples baseadas em palavras-chave a sistemas de conversação elaborados usando processamento de linguagem natural e técnicas de IA. Essa forma conversacional de interação homem-computador pode atuar como uma estrutura para muitos tipos de aplicativos úteis.

Os primeiros chatbots incluíam curiosidades acadêmicas como Eliza (1964) e Julia (1994), mas agora os bots estão trabalhando por toda a Internet no atendimento ao cliente, como assistentes virtuais como o Google Assistant e em muitas outras funções.

Bots no bate-papo do Hangouts

Os bots no bate-papo do Hangouts aparecem como usuários especiais marcados como BOT. Como as pessoas, os bots podem participar de salas de bate-papo e responder a mensagens diretas. Mas, diferentemente das pessoas, os robôs só veem mensagens endereçadas a elas quando uma pessoa as menciona em uma sala de bate-papo ou quando uma pessoa lhes envia uma mensagem direta.

Como um bot acessa os dados do usuário?

Para operar de uma maneira útil, um bot precisa saber quem o chama e como abordar essa pessoa. Além desses dados básicos de identidade, os bots não têm acesso aos dados do usuário, a menos que sejam explicitamente concedidos pelo usuário:

Por padrão, os bots podem apenas ler a identidade básica dos usuários que os invocam. Essas informações incluem o nome de exibição do usuário, ID do usuário, endereço de email e imagem do avatar.

Se um bot precisar acessar outros dados para realizar seu trabalho, peça ao usuário para conceder acesso adicional.

Independência do Usuário

Alguns bots não estão associados a nenhum usuário específico: qualquer pessoa pode adicionar um bot a uma sala ou removê-lo. Depois que o bot é adicionado a uma sala, qualquer um pode mencionar.

Alguns casos de uso para chatbots

Adicionar bots a uma plataforma de conversa, como o Hangouts Chat, permite às pessoas fazer perguntas, emitir comandos etc. Sem mudar o contexto. Em seu back-end, um bot pode acessar outros sistemas, atuando como intermediário para esses sistemas.

Essa capacidade de fornecer acesso a uma ampla gama de recursos e ferramentas, mantendo uma experiência cognitiva unificada, pode fornecer uma excelente estrutura para muitos tipos de aplicativos, incluindo:

  • Gerenciamento de fluxo de trabalho
  • Instalação e configuração
  • Geração de pedidos
  • Pesquisar
  • Coleta de dados

Exemplos específicos

Alguns exemplos de baixo nível do tipo de coisa que um bot pode fazer na sala de bate-papo incluem:

Buscar informações: um chatbot pode recuperar informações com base em consultas de texto estruturadas ou livres inseridas pelo usuário.

Ticket de arquivo: um chatbot pode gerar um novo relatório de incidente ou outro artefato, usando as informações fornecidas pelo usuário.

Esforço coordenado: um chatbot pode melhorar a maneira como os membros da equipe interagem entre si, fornecendo “memória da equipe”, recursos de programação etc.

Integrando um chatbot ao G Suite

Se você está pensando em criar um bot do Hangouts que será integrado ao G Suite, considere implementar o bot no Apps Script . Isso dá ao seu bot acesso fácil aos serviços e dados do G Suite, como planilhas, apresentações, documentos e calendário.

API de bate-papo do Hangouts

A API de bate-papo do Hangouts fornece várias maneiras pelas quais você pode integrar seus bots nas salas de bate-papo e no DM, mas não fornece nem determina nenhuma maneira específica de implementar a lógica do bot. Você pode criar um bot simples baseado em comando ou usar qualquer tipo de serviços ou módulos de processamento de linguagem e inteligência artificial que desejar, e pode fazê-lo em uma variedade de plataformas, incluindo:

  • Script de aplicativo
  • Google Cloud Platform
  • Servidor HTTP na nuvem ou local

No artigo a seguir, você pode ver as diferentes arquiteturas de implementação do Bot para obter mais informações sobre este tópico.

Recursos padrão

Ao configurar um bot no Chat do Hangouts, você deve fornecer uma identidade; Isto consiste em:

  • O nome do bot
  • Uma imagem de avatar para o bot
  • Identidade do desenvolvedor de bot

Os bots também devem fornecer um comando de ajuda ou o equivalente para ajudar os usuários a começar a usar o bot.

Comunicação de bot com o Chat do Hangouts

Os robôs podem receber mensagens do Chat do Hangouts e enviar mensagens para eles. Essas mensagens usam formatos de mensagem definidos, que podem ser exibidos como simples mensagens de texto ou cartões interativos no bate-papo do Hangouts.

Bots em mensagens diretas (DM)

Você pode configurar um bot para responder a mensagens diretas. Isso fornece uma interface de conversação individual que envolve um único usuário.

Bots em salas de chat

Você pode adicionar um bot a uma sala de bate-papo para responder ao conteúdo específico que aparece na sala. Por exemplo, você pode especificar que qualquer mensagem que comece com “@mibot” seja passada para um aplicativo mibot e a resposta apareça na sala de bate-papo.

O Chat do Hangouts se comunica com seu bot por meio de um ponto final, que pode ser um dos seguintes tipos:

  • HTTP (serviço da web) pode acomodar vários estilos de interação.
  • O Cloud Pub / Sub permite que nosso bot se inscreva em um tópico que transmita mensagens do Hangouts Chat, mesmo que a implementação esteja protegida por um firewall.

Você pode verificar a seção Tipos de pontos finais para obter mais informações sobre as diferentes maneiras de conectar o Hangouts Chat ao nosso bot.

Documentação original do G Suite que eu levei para escrever este artigo:

Documentação que poderia ajudá-lo a criar chatbots em outras plataformas:

--

--

Martin Manriquez Leon
Bots Brasil

GDG and Facebook Deveveloper Circle Lead 💙Passionate about M.L.🔬 DataSciences 🧮 & Astronomy 🛰