Kit de Construção de Bot do Slack 🤖

Resumo: é um kit de construção de integração de bot do Slack.

Isso tem como objetivo fornecer uma base para construir um bot mais rico (ou mais rico!) que possa se integrar ao seu Discourse e permitir que você escreva Ruby simples para controlar seu bot.

Nesta fase, é um tanto experimental!

Se você quiser que eu ajude a escrever um bot rico para um propósito específico, você pode me contratar, caso contrário, faça um fork e tente!

NB Existe uma ferramenta oficial para integração básica com o chat do Slack: Discourse Chat Integration. Se suas necessidades forem atendidas por este plugin, use-o, ele é oficialmente suportado pela equipe principal. O foco deste plugin é fornecer uma plataforma para a construção de um bot personalizado.

:link: GitHub: GitHub - merefield/discourse-slack-bot: Get your Discourse to run a bot on Slack and use it to integrate the two systems https://github.com/merefield/discourse-slack-bot
:arrow_right: Instalar: Siga o guia de instalação de plugins.

Funcionalidades

Semelhante, embora menos desenvolvido, ao meu Bot do Discord, ele fornece alguma funcionalidade pronta para uso.

No momento, isso é limitado a:

  • sincronização de chat - copia o chat do Slack para um Tópico no Discourse
  • um comando para copiar o histórico de chat para o Discourse (@nomedobot copiahist <número de mensagens>)

Configuração

As configurações são diretas:

Você também precisa configurar o Open ID Connect para funcionar com o Slack:

Por favor, observe:

  • Isso usa o Slack Classic Bot, mais fácil de configurar (as permissões são realmente simples)

A FAZER

Atualmente, ele suporta apenas Bots Clássicos do Slack. A razão para isso é que ele utiliza bibliotecas de API Gem existentes que só suportam totalmente os Bots Clássicos neste estágio da maneira necessária para integração com o Discourse. A migração para o estilo mais novo de bots exigirá um trabalho significativo na API Gem, que não foi o foco deste MVP. Em um futuro distante, os bots clássicos serão descontinuados. Esperamos que tenhamos tempo para trabalhar na API antes disso, especialmente se houver interesse.

Créditos:

A equipe do Discourse forneceu financiamento para este MVP, obrigado! :pray: @erlend_sh , @markvanlan @david

9 curtidas

Planejo tentar isso na quarta-feira, o que quero alcançar é o seguinte:

  • Atualização do Slack quando um usuário posta pela primeira vez
  • Atualização do Slack quando um tópico não tem resposta por um tempo determinado

Primeiro, isso é factível e, se for, você tem algo para me referenciar para me ajudar a alcançar isso?

Obrigado Joe :slight_smile:

1 curtida

Joe, não tenho capacidade para avaliar isso fora de um contrato, mas não posso imaginar que será muito difícil.

Só uma coisa a notar: isso está indo na direção oposta ao que foi implementado até agora, apenas tenha isso em mente.

Espero que o método de autenticação e a API básica não tenham mudado desde que isso foi criado.

Com certeza aceitarei um PR para essas adições.

Se você acabar achando muito complicado, consideraria um contrato para implementá-lo em seu nome. Entre em contato comigo via PM se esse for o caso.

Boa sorte!