Qual è il processo corretto per l'automazione personalizzata?

Sono un principiante e ho alcune domande sul tutorial sulla creazione di automazioni personalizzate.

Ho provato per la prima volta a scrivere script di automazione direttamente nell’ambiente di sviluppo di GitHub Codespace (non conosco la sintassi, il codice è stato scritto da Claude).
Dopo la modifica, la struttura dei file dovrebbe essere la seguente:

plugins/automation/
├── lib/
│   └── discourse_automation/
│       ├── scripts.rb                 # Modificato
│       └── scripts/
│           ├── ...                    # Altri script
│           └── remove_expired_group_members.rb  # Aggiunto
└── config/
    └── locales/
        ├── server.en.yml              # Modificato
        ├── client.en.yml              # Modificato
        ├── server.zh_CN.yml           # Modificato
        └── client.zh_CN.yml           # Modificato

Tuttavia, non sono sicuro che sia possibile operare in questo modo in un ambiente di produzione.
Inoltre, non sono sicuro che tali modifiche vengano perse con un rebuild o con l’aggiornamento del plugin automation, quindi non oso provarle in produzione. Forse dovrei presentare una richiesta di funzionalità in modo che venga aggiunta dai manutentori del plugin?

Spero che gli amici esperti possano indicarmi il flusso di lavoro corretto, dalla scrittura dei test all’applicazione in un ambiente di produzione.
Grazie mille!

1 Mi Piace

Credo che dovrà essere in un nuovo plugin.
Puoi dare un’occhiata a:

3 Mi Piace

Ho controllato il link che mi hai fornito.
Potresti spiegarmi perché dovrei usare i plugin invece di creare script all’interno dell’automazione dei plugin?

  1. Non sono un professionista e sembra che creare un plugin sia più difficile.
  2. Ho molte funzionalità da implementare, il che sembra richiedere la creazione di molti plugin? (Anche se mi piacciono i plugin, possono essere condivisi)
1 Mi Piace

Se non sbaglio, se apporti modifiche al plugin, queste verranno sovrascritte la prossima volta che ci sarà un aggiornamento.

4 Mi Piace

OK, questo è quello che temevo
Quindi la funzionalità di automazione personalizzata non sembra essere molto utile per gli utenti? :joy:
Controllerò di nuovo la documentazione e, se non funziona, proverò a creare un plugin

2 Mi Piace

Penso che il tutorial (che è una bozza) manchi di queste informazioni. Spiega come creare nuove automazioni, ma non dove farlo. Le risposte menzionano esempi di plugin, come quello collegato da @NateDhaliwal.

Simon suggerisce anche di dare un’occhiata al plugin data explorer: Create custom Automations - #6 by simon.

Dipende da cosa intendi per “utente”? :smile: Come sviluppatore, puoi certamente creare un nuovo plugin che aggiunga automazioni. Questo è il modo corretto per farlo.

Dato che menzioni di non capire il codice, ma di essere in grado di usare l’IA per questo, forse troverai interessante questa discussione. Claude & Discourse-related development. How good is it?.

Attualmente sto sperimentando con questo (ma ho vaghe nozioni di codice – non abbastanza per creare anche un semplice plugin da solo!), e condividerò presto la mia recente esperienza al riguardo.

Dato che Claude ti ha indirizzato a modificare il plugin di automazione, potresti voler perfezionare i tuoi prompt e far sì che l’IA segua effettivamente le buone pratiche.

3 Mi Piace

No. Ciò che la rende un’automazione personalizzata è che non è una predefinita. Dovrai aggiungerne una nuova in un plugin. GitHub - scossar/automation-script-example: An example of how to add a custom script to the Discourse Automation plugin., collegato nel tutorial. Puoi iniziare da quello e provare a dire a qualsiasi IA che desideri aggiungere una nuova personalizzazione.

Cosa vuoi che faccia la tua automazione personalizzata?

1 Mi Piace

Ho bisogno di uno script di automazione che rimuova automaticamente i membri del gruppo dopo la scadenza.
Imposta il gruppo e la durata, e l’utente viene rimosso automaticamente alla scadenza.

Ad esempio:
Impostazione: Gruppo VIP, durata di 30 giorni.
Dopo che un utente si unisce al gruppo VIP, viene rimosso dopo 30 giorni.

Sono sempre più confuso sul fatto che il plugin di automazione possa salvare gli script di automazione che scrivo io stesso (i commenti precedenti indicano che verrebbero sovrascritti).

Se fossi tu, come useresti di solito il plugin di automazione?
Potresti descrivere esattamente come lo useresti (nel caso in cui gli script e i trigger integrati del plugin di automazione non soddisfino le esigenze)?
Penso di poter imparare come funzionano le funzionalità personalizzate dalla descrizione del tuo scenario.

Come si aggiungono gli utenti al gruppo vip? O forse ha senso che ciò che li aggiunge al gruppo li rimuova anche. Questo è ciò che fa il plugin di sottoscrizione, per esempio.

Le automazioni non vengono rimosse, ma la modifica del codice nel tuo container sì.

Hai bisogno di un trigger per quando un utente viene aggiunto a un gruppo e di un’azione per rimuoverlo da un gruppo dopo un certo periodo di tempo. Non sono sicuro di quanto sia facile farlo.

1 Mi Piace