Kit de construcción de Slack Bot 🤖

Resumen: Es un kit de construcción de integraciones para bots de Slack.

Esto está destinado a proporcionar una base para construir un bot más enriquecido que pueda integrarse con tu Discourse y permitirte escribir Ruby simple para controlar tu bot.

¡Es algo experimental en esta etapa!

Si quieres que te ayude a escribir un bot enriquecido para un propósito específico, puedes contratarme, de lo contrario, haz un fork y ¡pruébalo!

NB Hay una herramienta oficial para la integración básica con el chat de Slack: Discourse Chat Integration. Si tus necesidades se cumplen con este plugin, úsalo, cuenta con el soporte oficial del equipo principal. El enfoque de este plugin está destinado a proporcionar una plataforma para construir un bot a medida.

: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: Sigue la guía de instalación de plugins.

Características

Similar, aunque menos desarrollado, a mi Bot de Discord, proporciona algunas funcionalidades listas para usar.

Por el momento, esto se limita a:

  • Sincronización de chat: copia el chat de Slack a un Tema en Discourse
  • Un comando para copiar el historial de chat a Discourse (@nombre_del_bot copyhist <número de mensajes>)

Configuración

La configuración es sencilla:

También necesitas configurar Open ID Connect para trabajar con Slack:

Por favor, ten en cuenta:

  • Esto utiliza el Bot Clásico de Slack, más fácil de configurar (los permisos son realmente simples)

TODO

Actualmente solo soporta Bots Clásicos de Slack. La razón es que aprovecha las bibliotecas de la API de Gem existentes que solo soportan completamente los Bots Clásicos en esta etapa de la manera necesaria para integrarse con Discourse. La migración a un estilo más nuevo de bots requerirá un trabajo significativo en la API de Gem, que no fue un enfoque de este MVP. En un futuro lejano, los bots clásicos serán retirados. Esperamos que lleguemos a trabajar en la API antes de ese momento, especialmente si hay interés.

Créditos:

El equipo de Discourse proporcionó financiación para este MVP, ¡gracias! :pray: @erlend_sh , @markvanlan @david

9 Me gusta

Tengo previsto intentar esto el miércoles, lo que quiero lograr es lo siguiente:

  • Actualización en Slack cuando un usuario publica por primera vez
  • Actualización en Slack cuando un tema no ha tenido respuesta en un tiempo establecido

En primer lugar, ¿son esto factibles y, si es así, tienes alguna referencia que me pueda ayudar a lograrlo?

Gracias, Joe :sonrisa:

1 me gusta

Joe, no tengo la capacidad para evaluar eso fuera de un contrato, pero no puedo imaginar que sea demasiado difícil.

Solo una cosa a tener en cuenta: eso va en la dirección opuesta a la que se ha implementado actualmente, tenlo en cuenta.

Espero que el método de autenticación y la API básica no hayan cambiado desde que se construyó esto.

Definitivamente aceptaría un PR para esas adiciones.

Si terminas encontrándolo demasiado complicado, consideraría un contrato para implementarlo en tu nombre. Contáctame por PM si ese es el caso.

¡Muchísima suerte!