Imposta le notifiche Discord con il plugin discourse-chat-integration

Puoi provare a ricaricare la pagina? Dopo aver abilitato il plugin sarà necessario aggiornare la pagina.

3 Mi Piace

Ora lo vedo, grazie!

Ehi ragazzi. Sto ricevendo un errore durante la configurazione di questo plugin con Discord. Il canale è stato creato e il webhook è stato configurato con il plugin.

Ora ricevo questo errore.

E quando invio un test, ottengo questo errore.

E i log mi mostrano questo.

Qualsiasi aiuto sarebbe apprezzato.

Puoi condividere il contenuto della scheda “info” per questo? Se puoi copiare/incollare, sarebbe ottimo: è difficile leggere i log da uno screenshot.

1 Mi Piace

Messaggio (2 copie segnalate)

Test provider fallito {:error_key=>nil, :message=>{:content=>"", :embeds=>[{:title=>"FAYN Rule Book [Alliance/Announcements] ", :color=>12525102, :description=>"[image] \nFAYN è un gruppo di Corporazioni che collaborano come collettivo per far crescere sia l'individuo che il gruppo all'interno di queste linee guida e regole. \nStrumenti di Amministrazione\nCome parte di FAYN, sei tenuto a collegare TUTTI i tuoi personaggi, per quanto insignificanti, al tuo personaggio principale su SeAT. Questo fa parte dei requisiti di reclutamento e supporta la gestione continua della nostra corp...", :url=>"https://forum.darksideoftheeclipse.co.uk/t/fayn-rule-book/45/1", :author=>{:name=>"@PJHustle", :url=>"https://forum.darksideoftheeclipse.co.uk/u/PJHustle", :icon_url=>"https://forum.darksideoftheeclipse.co.uk/user_avatar/forum.darksideoftheeclipse.co.uk/pjhustle/45/4_2.png"}}]}, :response_body=>"<html>\r\n<head><title>403 Forbidden</title></head>\r\n<body>\r\n<center><h1>403 Forbidden</h1></center>\r\n<hr><center>cloudflare</center>\r\n</body>\r\n</html>\r\n"}

Backtrace

/var/www/discourse/plugins/discourse-chat-integration/app/controllers/chat_controller.rb:43:in `rescue in test'
/var/www/discourse/plugins/discourse-chat-integration/app/controllers/chat_controller.rb:22:in `test'
actionpack-6.0.3.3/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack-6.0.3.3/lib/abstract_controller/base.rb:195:in `process_action'
actionpack-6.0.3.3/lib/action_controller/metal/rendering.rb:30:in `process_action'
actionpack-6.0.3.3/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
activesupport-6.0.3.3/lib/active_support/callbacks.rb:112:in `block in run_callbacks'
/var/www/discourse/app/controllers/application_controller.rb:354:in `block in with_resolved_locale'
i18n-1.8.5/lib/i18n.rb:313:in `with_locale'
/var/www/discourse/app/controllers/application_controller.rb:354:in `with_resolved_locale'

Env

HTTP HOSTS: forum.darksideoftheeclipse.co.uk

La prima cosa da fare è contattare l’assistenza Discord con queste informazioni e chiedere perché ciò sta accadendo.

1 Mi Piace

Sì, forse. Ma mi tiro indietro. Non sono uno sviluppatore e non ho idea di cosa fare o cosa chiedere. Non capisco molto di questa cosa. Ho solo pubblicato questo perché prima funzionava, ora no.

Forse è perché Discord sta cambiando delle cose? Non ne ho idea.
Ho la sensazione che non sarò l’unico ad avere questo problema presto.

È utile condividere, stiamo solo sottolineando che, in base ai dati, sembra che il problema sia dal lato di Discord. Non possiamo controllarlo.

1 Mi Piace

Ho trovato il problema.

Il webhook di Discord è cambiato da discordapp.com a discord.com.
Quando ho modificato il webhook da discord.com a discordapp.com, ha iniziato a funzionare.

Quindi per ora funziona. Ho inviato un ticket al supporto di Discord con questo problema.
Ma non sono sicuro di dove risieda il problema al momento: su Discord o sull’app?

Modifica: ho modificato l’URL del webhook su Discourse.

5 Mi Piace

Grazie per aver pubblicato la soluzione. Stavo diventando pazzo nel cercare di risolvere questo problema.

Ciao.

Anche io ho lo stesso problema. Visualizzo il messaggio DiscourseChat::ProviderError quando faccio clic su test in Plugins - Integrazioni chat, e ricevo un errore 403 forbidden dall’URL del webhook di Discord.

Hai qualche suggerimento per risolverlo?

Devi comunque modificare l’URL del tuo webhook per utilizzare il dominio discordapp.com invece di discord.com.

4 Mi Piace

Ehi. Questo ha risolto il mio problema. Grazie.

Penso che il plugin stesso dovrebbe supportare il nuovo formato del dominio API in un aggiornamento.

2 Mi Piace

Fantastico, ha funzionato anche per me.


Sto ricevendo questi errori nella console e il canale del plugin non si sta caricando. È a causa di un tema e devo disattivarlo?

Devi controllare la configurazione del tuo server, che cambia a seconda che tu stia usando Apache o Nginx. Puoi cercare quel messaggio :love_you_gesture:

Tornando all’argomento, sarebbe possibile aggiungere le miniature e ridurre il messaggio citato su Discord? È molto lungo e interrompe la nostra chat :neutral_face:

A proposito, grazie per il vostro lavoro (di tutta la comunità), come sempre!

C’era un errore nel log:

/var/www/discourse/plugins/discourse-chat-integration/app/controllers/chat_controller.rb:43:in `rescue in test'
/var/www/discourse/plugins/discourse-chat-integration/app/controllers/chat_controller.rb:22:in `test'
actionpack-6.1.4.1/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack-6.1.4.1/lib/abstract_controller/base.rb:228:in `process_action'
actionpack-6.1.4.1/lib/action_controller/metal/rendering.rb:30:in `process_action'
actionpack-6.1.4.1/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
activesupport-6.1.4.1/lib/active_support/callbacks.rb:117:in `block in run_callbacks'
/var/www/discourse/app/controllers/application_controller.rb:397:in `block in with_resolved_locale'
i18n-1.8.10/lib/i18n.rb:314:in `with_locale'
/var/www/discourse/app/controllers/application_controller.rb:397:in `with_resolved_locale'

Ho appena modificato l’URL del webhook da discord.com a discordapp.com e ora tutto funziona correttamente :+1:

3 Mi Piace

La mia motivazione iniziale nel cercare un’integrazione tra Discourse e Discord era quella di iniettare i post segnalati in Discord per una notifica e una revisione più rapide tra un team di persone. Il plugin standard non supporta questa funzionalità. Ora, l’iniezione dei post segnalati in Discord è supportata qui.

Tieni presente che probabilmente esiste un modo più “alla Ruby” per farlo; forse l’evento on(:reviewable) dovrebbe utilizzare una coda specifica per gli elementi da revisionare, e passare il flag booleano è un po’ un workaround. Inoltre, potrebbero esserci altre funzionalità più generiche da implementare per gli elementi da revisionare, ma questa soluzione funziona per le mie esigenze.

Procedi con cautela: non ho intenzione di proporre questa modifica al progetto principale, poiché non prevedo di supportare nulla oltre a Discord, né di dedicare più tempo agli altri problemi di miglioramento identificati sopra.

Il risultato finale è questo…

1 Mi Piace

Ciao a tutti.
Il webhook con Discord funziona correttamente… tranne che il contenuto del messaggio è vuoto. L’argomento/risposta di Discourse non viene visualizzato sul server Discord.

Se includo un ‘contenuto del messaggio Discord di integrazione chat’, questa parte è ben inclusa.

Grazie.

Ce l’ho fatta, finalmente, con un po’ di tentativi. Per chi verrà dopo di me…

Queste istruzioni dicono:

:warning: NOTA : Se ricevi un errore quando usi il webhook, assicurati che il nome del dominio sia discordapp.com invece di discord.com.

Quando ho copiato il mio webhook da Discord, era nel seguente formato. https://discordapp.com/api/webhooks/xxx/yyy-zzz-aaa

quindi, le istruzioni sopra sono coerenti con l’URL che Discord fornisce.

Il problema si presenta quando si seguono le istruzioni. Le impostazioni del plugin rifiutano lo schema URL documentato e accettano lo schema URL che è proibito. È come se da qualche parte nel codice mancasse il “!”

Fortunatamente, l’URL del webhook funziona quando uso il secondo indirizzo, come mostrato nello screenshot qui sotto.

Quindi alcuni suggerimenti che potrebbero chiarire questo problema, per il prossimo che potrebbe non fare tanti tentativi quanto me:

  1. Aggiorna il validatore in modo che “discordapp.com” passi e “discord.com” fallisca
  2. Aggiorna il validatore in modo che sia “discordapp.com” che “discord.com” passino
  3. Aggiorna il testo delle istruzioni per non avere quella nota contraddittoria.

Suggerimenti bonus,
sotto l’impostazione “Setup Discourse”:
Passaggio 0: dopo aver installato il plugin, abilita il plugin
passaggio 1: fornisci uno screenshot
passaggio 3: fornisci uno screenshot

Sono un po’ preoccupato che Discord smetta di supportare lo schema “sbagliato” che sto usando attualmente, quindi mi piacerebbe se Discourse potesse risolvere questo problema in modo che non debba usare la soluzione prima che Discord interrompa il mio URL alternativo.