Création de bot sur Discourse

Existe-t-il un moyen de créer un bot sur Discourse qui répondrait à mes commandes, de la même manière que j’ai créé plusieurs de mes bots Discord ?

En gros, je sais qu’il existe divers plugins que je peux installer, mais dans mon esprit, il serait beaucoup plus facile pour moi à maintenir si je pouvais simplement avoir un bot qui pourrait écouter le texte dans un commentaire plutôt que d’essayer d’installer des plugins qui risquent de tout gâcher et surtout si le mainteneur décide qu’il ne veut plus maintenir le plugin.

1 « J'aime »

Vous aurez besoin d’un plugin.

Jetez un œil à mon plugin Frotz comme exemple/point de départ

Les plugins uniquement API comme celui-ci ont tendance à être plus stables au fil du temps, ne vous inquiétez donc pas de l’instabilité. Tout code nécessite de toute façon une maintenance. J’ai apporté des changements minimes à Frotz-bot au fil du temps.

Jetez un œil à mon plugin Discord bot pour voir comment vous pouvez écrire du code en réponse à des événements tels que de nouveaux messages :

Vos besoins pourraient être satisfaits par :

Si vous souhaitez plus de contrôle sur le destin du code, maintenez vous-même une fork/un dépôt.

6 « J'aime »

Si vous voulez vraiment qu’il soit entièrement séparé, vous pourriez utiliser une combinaison de webhooks pour livrer des événements à votre bot et l’API de requêtes HTTP pour que votre bot apporte des modifications dans Discourse.

Docs de l’API Discourse

Comme @merefield le suggère, il est possible de créer des plugins qui ne remplacent pas la fonctionnalité principale, mais qui sont plutôt notifiés des événements et interagissent avec les API principales, ce qui est plus facile à maintenir et moins susceptible d’avoir des effets secondaires indésirables.

Opter pour la voie des webhooks/API nécessite également de mettre en place une pile pour exécuter votre bot et s’assurer qu’il est toujours disponible pendant que Discourse est disponible, deux choses qui sont gratuites avec un plugin chargé dans Discourse.

Écrire un plugin nécessiterait d’apprendre Ruby et de se familiariser avec les classes Discourse, mais si vous êtes déjà capable d’écrire et de maintenir un bot dans autre chose, je suis sûr que vous pourriez apprendre ce qui est nécessaire assez rapidement.

3 « J'aime »

Ah oui, ça aussi, bonne remarque Simon !

Merci à tous pour vos suggestions — je vais certainement les examiner toutes. :smiley:

cela peut être fait dans le post/commentaire,
est-il possible d’avoir un bot dans un chat de groupe ?
Je vois qu’il y a un webhook entrant qui pourrait envoyer des messages à un chat de groupe,
mais il semble qu’il n’y ait aucun moyen d’avoir un compte bot qui écoute les messages du chat, puis fasse quelque chose en conséquence… ?

Oui, par exemple :

prend en charge le chat de groupe (ainsi que les sujets, les MP…)

(C’est un bot purement IA sans commandes (l’interface est 100% en langage naturel, donc ce n’est pas nécessaire), mais la structure serait la même)

1 « J'aime »

Merci @merefield

Avec un plugin, il pourrait ajouter un gestionnaire/écouteur d’événements pour les messages de chat de groupe.
J’ai un serveur de point de terminaison REST qui gère les événements webhook, ce qui fonctionne bien pour ajouter un bot au post/commentaire.
Mais malheureusement, aucun événement n’est déclenché pour les messages de chat de groupe, ça ne fonctionne pas comme ça… :frowning: