Devi installarlo come qualsiasi altro plugin di Discourse: Install Plugins in Discourse. Quindi installeresti il plugin Automation e il tuo plugin che aggiunge gli script personalizzati. Il motivo per cui funziona è dovuto ai metodi definiti qui: https://github.com/discourse/discourse-automation/blob/main/lib/plugin/instance.rb. Nell’esempio di codice che ho pubblicato sopra, vedrai che lo script personalizzato viene aggiunto con una chiamata a add_automation_scriptable.
Nota: non installare l’automazione di esempio dal mio repository GitHub, prendila solo come esempio di come estendere il plugin Automation. (Ho dimenticato di averci collegato qui e l’ho aggiornato in modo che funzioni solo con la mia versione forkata del plugin Discourse Automation. Il codice a cui ho collegato qui è ancora valido: Create custom Automations - #6 by simon. Aggiornerò l’esempio di script di automazione il prima possibile in modo che funzioni senza le modifiche che ho apportato alla mia versione forkata del plugin Automation.)
La mia preoccupazione era infondata. Questa condizione non è necessaria:
if automation.script == "user_update_summary_email_options" && (context["kind"] == "user_added_to_group" || context["kind"] == "user_removed_from_group")
Aggiornerò presto l’esempio.