Ciao, esiste un modo per creare automaticamente post su Discourse partendo dai messaggi inviati su Discord?
Ciao Sam! Benvenuto nella nostra community. Dai un’occhiata a Set up Discord notifications with the discourse-chat-integration plugin
In futuro, prova a usare la ricerca
- molte domande sono già state discusse qui e la ricerca è molto efficace nel trovarle.
Grazie, ma ho cercato e questo non è ciò che sto cercando: si tratta di un passaggio da Discourse a Discord, non da Discord a Discourse.
Esempio di scenario:
Un canale su Discord riceve un messaggio, che viene poi inviato a Discourse, dove viene creato un thread con le relative informazioni.
L’integrazione con le chat può farlo su Slack; stai cercando che la funzione dei trascritti dei messaggi venga implementata per Discord.
Grazie, quindi non esiste un modo automatizzato per farlo.
Potresti farlo con un bot Discord personalizzato che copia il contenuto dei messaggi e invia una richiesta POST al tuo forum.
Questo richiederebbe un hosting aggiuntivo, a meno che tu non voglia scrivere il tuo bot in discordrb e utilizzare un plugin sul tuo forum.
Prova a usare questo:
https://meta.discourse.org/t/how-to-connect-discourse-with-hundreds-of-apps-using-integromat/
Grazie, ho provato questo ma per qualche motivo non riesco a far funzionare la variabile con l’ID del messaggio giusto impostata correttamente.
Il loro supporto tecnico può probabilmente aiutarti a capire come risolvere il problema.
Come funzionerebbe in termini di autorizzazioni e invocazione?
Vorresti che tutti i messaggi venissero copiati o solo quelli di un canale specifico? Verranno tutti aggiunti a un unico argomento? Cosa farebbe creare un nuovo argomento?
Tutti gli utenti di Discord avrebbero il diritto di farlo?
Dove finirebbe? Senza una categoria?
Solo i messaggi nel canale di invoco, idealmente fino a un punto di arresto specificato.
Un modo sofisticato per farlo sarebbe:
- fare clic su “Rispondi” sul primo messaggio che si desidera pubblicare
- scrivere @IlTuoAccountBotIntegrazioneDiscourse, aggiungendo opzionalmente
transcripto una delle sue traduzioni alla fine - viene pubblicato su Discourse un trascritto da quel messaggio fino al momento attuale, limitato a circa 50 messaggi, come utente attivo se possibile
Potresti rendere la cosa ancora più avanzata se vuoi consentire un input interattivo, come impostare un punto di arresto personalizzato, escludere alcuni messaggi o scegliere una categoria di destinazione personalizzata. Questa è la migliore esperienza utente che riesco a immaginare senza richiedere un dialogo continuo.
In realtà, rendere questo processo interattivo sarebbe abbastanza semplice:
const BASE_URL = "https://discourse.example.com";
// precondizioni:
// msg.type == REPLY (19)
// msg.mentions o msg.mention_roles contengono il bot
// questo è in JS ma dovrebbe essere in Ruby
function onMentionWithReply(msg) {
discord.sendMessage({
content: "<" + BASE_URL +
"/chat-integration/discord/make-transcript/" +
msg.channel_id + "/" +
msg.message_reference.message_id + ".." + msg.id +
">";
type: REPLY,
message_reference: { message_id: msg.id },
});
}
Dove /chat-integration/discord/make-transcript/:channel_id/:id1..:id2 renderebbe una pagina interattiva su Discourse dove è possibile visualizzare in anteprima i messaggi e finalizzarli.
Problemi da considerare:
- È necessario verificare i permessi dell’utente che accede a quella pagina per evitare di divulgare impropriamente i trascritti.
Attualmente, ho un collegamento da Slack a Trello e da Trello a Discord, quindi vorrei che quei messaggi venissero pubblicati su Discord, o forse che Trello creasse un nuovo messaggio sotto un argomento specifico.
Troppi posti dove pubblicare e non abbastanza tempo! ![]()
Grazie, ci darò un’occhiata
Oh! Scusa, non avevo capito che l’integrazione non pubblicava in entrambe le direzioni, come fa invece l’integrazione con Slack.
In generale mi chiedo… perché vorresti farlo? Rischieresti di intasare la memoria a lungo termine di Discourse con chiacchiere.
Nessun problema, i post del canale che voglio pubblicare su Discourse sono annunci di nuovi aggiornamenti del gioco. È molto dispendioso in termini di tempo pubblicare la stessa cosa in più posti, e Discourse viene spesso dimenticato. Quindi sto cercando di ridurre il mio carico di lavoro e, allo stesso tempo, spero di aumentare l’attività su Discourse.
Ok, ho trovato una soluzione alternativa che, immagino, dovrà andare bene.
Ho dovuto usare Zapier (lo svantaggio è che il piano gratuito non è sufficiente per coprire i post) per collegare il mio Trello a Discourse e rispondere a un thread che ho dovuto creare per questo scopo.
Quindi ora il flusso è:
API dal database dei post a Slack, Slack crea una card su Trello, Trello pubblica su Discord e Discourse. ![]()
Ma ora ho un loop in cui Discourse ripubblica su Discord lol. C’è un modo per escludere i miei post da questo?
Ho aggiunto una funzionalità correlata a: Discord Bot Construction Kit 🤖 - #79 by merefield
Se designi un Canale come “Canale degli Annunci”, qualsiasi messaggio scritto lì verrà pubblicato sul tuo Topic Discourse designato.
(L’aggiornamento monitora anche gli annunci da Discourse che vengono copiati su Discord nello stesso canale)
Questo succede anche nella mia implementazione, ma non è un loop infinito: conferma semplicemente che il Post è stato aggiunto. Puoi evitarlo posizionando il Topic Discord su Discourse in un luogo diverso ed evitando le Categorie monitorate.
Grazie mille, questo potrebbe davvero risparmiarmi l’uso di un’altra app di terze parti! Dovrò solo vedere come gestisce i link alle immagini.
In realtà non sto capendo bene le tue istruzioni: non riesco a trovare questa opzione nei menu di Discourse sotto Plugin e non capisco come installare il tuo plugin.
Per favore, pubblica problemi specifici relativi alle istruzioni nel Topic del plugin.
Il tuo problema è attualmente un po’ vago per poterti aiutare. Assicurati di aver letto attentamente l’OP, poi pubblica un problema specifico e sarò felice di aiutarti.