Immagina che un membro abbia selezionato gruppi e sottocategorie di suo interesse.
Voglio inviare un annuncio a coloro che hanno selezionato uno di questi gruppi e sottocategorie.
Esempio: In una città composta dalla città principale globale, diversi quartieri e materie.
L’utente può selezionare:
Una materia specifica (che è un gruppo generale),
Un gruppo nel suo quartiere per questa materia,
Un gruppo in altri due quartieri per questa materia,
Una seconda materia specifica (che è un gruppo generale),
Tutti i gruppi in tutti i quartieri per questa materia,
Il gruppo principale per la città principale;
Se desidero inviare un’e-mail a uno o più gruppi o sottocategorie in questi gruppi, alcuni utenti potrebbero ricevere più di un’e-mail dello stesso annuncio, specialmente se la persona ha selezionato il gruppo della città principale che inoltrerebbe le informazioni da tutti i quartieri, più alcuni sottogruppi, ecc.
La domanda: Come posso preparare una mailing list che tocchi più gruppi e sottocategorie di destinazione, senza duplicati, e inviare quel messaggio?
Ho bisogno di usare uno script esterno?
Ho bisogno di un elaboratore di posta elettronica esterno?
Grazie, sai se possiamo automatizzare ciò, ad esempio richiedendo all’API di ricevere messaggi per ogni nuova registrazione/ritiro di un membro o selezione di gruppo/categoria, e ricevere solo le nuove modifiche OPPURE (meno buono) l’intera lista con il loro gruppo/categoria, che può essere richiesta da un programma Python? (Posso gestire la programmazione in Python). La domanda riguarda più la comunicazione automatica tra Discourse e Python E Python e l’elaboratore di posta elettronica.
Discourse fornisce una robusta API REST che ti consente di:
Elencare tutti gli utenti, i gruppi e le appartenenze utente-gruppo
Monitorare le nuove registrazioni degli utenti e le azioni di adesione/uscita dai gruppi (tramite polling o webhook)
Recuperare le configurazioni di appartenenza alle categorie
Puoi interrogare l’elenco completo o tentare di monitorare le modifiche recenti. Per un rilevamento completo delle modifiche incrementali, potrebbe essere necessario implementare controlli basati sul tempo e gestire le differenze a livello locale. L’autenticazione viene gestita tramite intestazioni HTTP (Api-Key, Api-Username).
Tuttavia, per un controllo più efficiente e integrato, consiglio di creare un plugin Discourse personalizzato. Un plugin viene eseguito all’interno dell’ambiente del server Discourse e fornisce un accesso diretto ai dettagli interni di Discourse, come:
Aggiornamenti delle appartenenze di utenti, gruppi e categorie
Hook per eventi del ciclo di vita per registrazioni e modifiche ai gruppi
Accesso diretto alle API interne e al database di Discourse
Questo approccio ti offre capacità in tempo reale e maggiore flessibilità per implementare flussi di lavoro automatizzati come la gestione della posta elettronica o la segmentazione degli utenti.
@EMHmark7 sei riuscito a capire come vuoi far funzionare questa cosa?
In Discourse, un modo per ottenere ciò che desideri è creare categorie e consentire ai membri della community di “iscriversi” a tali categorie scegliendo il livello di notifica “watch”. Le opzioni Default categories watching o Default categories watching first post sono utili per avere una categoria di annunci sul tuo sito, per raggiungere tutti sul tuo sito.
Credo ci siano modi per gestire quanto sopra in base all’appartenenza a un gruppo o ad altri criteri, ma non lo faccio da un po’ di tempo: forse qualcun altro ha una ricetta da condividere.
Un altro approccio è inviare messaggi privati direttamente ai gruppi: se invii un messaggio privato a una manciata di gruppi e lo stesso membro fa parte di più gruppi, non ci saranno duplicazioni.
Ma mi sembra che tu possa essere alla ricerca di uno strumento diverso, se ciò che desideri non è un forum o una community in cui le persone accedono per partecipare alle discussioni, ma piuttosto un insieme di mailing list che inviano email.