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.