Creando bot en discourse

¿Hay alguna forma de crear un bot en Discourse que responda a mis comandos, de forma similar a como he creado muchos de mis bots de Discord?

Básicamente, sé que hay varios plugins que puedo instalar, pero en mi opinión, me sería mucho más fácil de mantener si pudiera tener un bot que pudiera escuchar el texto en un comentario en lugar de intentar instalar plugins que son propensos a causar problemas y especialmente si el mantenedor decide que ya no quiere mantener el plugin.

1 me gusta

Necesitarás un plugin.

Echa un vistazo a mi plugin Frotz como ejemplo/punto de partida

Los plugins solo de API como este tienden a ser más estables con el tiempo, así que no te preocupes por la inestabilidad. Todo el código requiere mantenimiento en cualquier caso. He hecho cambios mínimos en Frotz-bot con el tiempo.

Echa un vistazo a mi plugin de bot de Discord para ver cómo puedes escribir código contra eventos como nuevas publicaciones:

Tus necesidades podrían ser cubiertas por:

Si quieres más control sobre el destino del código, mantén una bifurcación/repositorio tú mismo.

6 Me gusta

Si realmente quieres que esté completamente separado, podrías usar una combinación de webhooks para entregar eventos a tu bot y la API de solicitudes HTTP para que tu bot realice cambios en Discourse.

Documentación de la API de Discourse

Sin embargo, como alude @merefield, es posible crear plugins que no anulen la funcionalidad principal, sino que sean notificados de eventos e interactúen con las API principales, que son más fáciles de mantener y menos propensas a tener efectos secundarios no deseados.

Ir por la ruta de webhooks/API también requiere configurar una pila para ejecutar tu bot y asegurarte de que siempre esté disponible mientras Discourse está disponible, todo lo cual viene gratis con un plugin cargado en Discourse.

Escribir un plugin requeriría aprender Ruby y familiarizarse con las clases de Discourse, pero si ya eres capaz de escribir y mantener un bot en otra cosa, estoy seguro de que podrías aprender lo necesario bastante rápido.

3 Me gusta

¡Ah sí, eso también, buen punto Simon!

Gracias a todos por sus sugerencias. Definitivamente las revisaré. :smiley:

esto se puede hacer en la publicación/comentario,
¿es posible tener un bot en un chat grupal?
Veo que hay un webhook entrante que podría enviar mensajes a un chat grupal,
pero parece que no hay forma de tener una cuenta de bot que escuche los mensajes del chat y luego haga algo en consecuencia… ?

Sí, por ejemplo:

admite chat grupal (así como temas, mensajes privados…)

(Este es un bot puramente de IA sin comandos (la interfaz es 100% lenguaje natural, por lo que no es necesario), pero la estructura sería la misma)

1 me gusta

gracias @merefield

con un plugin, podría agregar un manejador/escuchador de eventos para mensajes de chat grupal.
Tengo un servidor de punto final REST que maneja los eventos de webhook, eso funciona bien para agregar un bot a la publicación/comentario.
pero desafortunadamente, no se disparan eventos para los mensajes de chat grupal, no funciona de esa manera… :frowning: