Creazione bot su discourse

Esiste un modo per creare un bot su Discourse che risponda ai miei comandi, in modo simile a come ho creato molti dei miei bot Discord?

In sostanza, so che ci sono vari plugin che posso installare, ma secondo me sarebbe molto più facile da mantenere se potessi semplicemente avere un bot che possa ascoltare il testo in un commento piuttosto che cercare di installare plugin che rischiano di creare problemi, specialmente se il manutentore decide di non voler più mantenere il plugin.

1 Mi Piace

Avrai bisogno di un plugin.

Dai un’occhiata al mio plugin Frotz come esempio/punto di partenza

I plugin solo API come questo tendono ad essere più stabili nel tempo, quindi non preoccuparti dell’instabilità. Tutto il codice richiede comunque manutenzione. Ho apportato modifiche minime a Frotz-bot nel tempo.

Dai un’occhiata al mio plugin Discord bot per vedere come puoi scrivere codice basato su eventi come nuovi post:

Le tue esigenze potrebbero essere soddisfatte da:

Se desideri un maggiore controllo sul destino del codice, mantieni tu stesso un fork/repo.

6 Mi Piace

Se vuoi davvero che sia completamente separato, potresti usare una combinazione di webhook per recapitare eventi al tuo bot e l’API delle richieste HTTP per far sì che il tuo bot apporti modifiche in Discourse.

Documentazione API di Discourse

Come accenna @merefield, è possibile creare plugin che non sovrascrivono la funzionalità principale, ma vengono invece notificati per gli eventi e interagiscono con le API principali, che sono più facili da mantenere e meno propensi ad avere effetti collaterali indesiderati.

Seguire la strada dei webhook/API richiede anche l’impostazione di uno stack per eseguire il tuo bot e garantire che sia sempre disponibile mentre Discourse è disponibile, entrambi gratuiti con un plugin caricato in Discourse.

Scrivere un plugin richiederebbe l’apprendimento di Ruby e una certa familiarità con le classi di Discourse, ma se sei già in grado di scrivere e mantenere un bot in qualcos’altro, sono sicuro che potresti imparare ciò che è necessario abbastanza rapidamente.

3 Mi Piace

Ah sì, anche quello, buon punto Simon!

Grazie a tutti per i vostri suggerimenti, li esaminerò sicuramente. :smiley:

questo può essere fatto nel post/commento,
è possibile avere un bot in una chat di gruppo?
vedo che c’è un webhook in arrivo che potrebbe inviare messaggi a una chat di gruppo,
ma sembra che non ci sia modo di avere un account bot che ascolti i messaggi della chat, per poi fare qualcosa di conseguenza…?

Sì, ad esempio:

supporta chat di gruppo (così come argomenti, messaggi privati…)

(Questo è un bot puramente AI senza comandi (l’interfaccia è al 100% in linguaggio naturale, quindi non è necessario) ma la struttura sarebbe la stessa)

1 Mi Piace

grazie @merefield

con un plugin, potrebbe aggiungere un gestore/listener di eventi per i messaggi delle chat di gruppo.
Ho un server endpoint REST che gestisce gli eventi webhook, che funziona bene per aggiungere un bot ai post/commenti.
ma sfortunatamente, non ci sono eventi attivati per i messaggi delle chat di gruppo, non funziona in quel modo… :frowning: