Il comando `/discourse post` si blocca su "Caricamento della trascrizione..."

Il comando post di Discourse funziona solo in un canale

Ora, probabilmente è colpa mia, ma non riesco a capire cosa non va. Ho esaminato tutti i thread sull’argomento e mi farebbe molto piacere avere un aiuto. Ho controllato e ricontrollato i permessi della mia app Slack e posso confermare che funziona al 100%… ma solo in uno dei miei canali!

/discourse post 20

Quindi so che il token di accesso è configurato e funziona correttamente. Tuttavia, in tutti gli altri canali del mio team Slack, il comando sopra restituisce semplicemente

Caricamento della trascrizione...

e basta. Si tratta tutti di canali pubblici e ho provato ogni possibile combinazione di impostazioni. L’unico canale che funziona è stato creato oggi, ma quando ne ho creato un altro nuovo per fare un test, non ha funzionato. Non so nemmeno da dove iniziare a risolvere il problema. Gli unici log di cui sono a conoscenza in Discourse sono

./launcher logs app

ma non sembra esserci assolutamente nulla lì. Quale impostazione potrei aver trascurato che consente il funzionamento del post solo in un canale e dove dovrei cercare per eseguire il debug di questo problema?

Questo argomento è stato separato da

1 Mi Piace

Verifica se puoi pubblicare da Discourse verso i canali a cui stai cercando di pubblicare da Discourse. Il mio sospetto è che il problema sia che devi aggiungere l’app che hai creato al canale prima di poter pubblicare da o verso di esso.

2 Mi Piace

@simon Penso che possa essere stato proprio questo! Sarò onesto, sono un po’ confuso sul funzionamento dell’app Slack. Dato che sono riuscito a eseguire comandi /discourse ... in qualsiasi canale Slack e l’app sembrava essere installata a livello globale, pensavo di aver “aggiunto” l’app in ogni modo necessario. Tuttavia, quando invito esplicitamente il mio utente Discourse in un altro canale con /invite, inizia a funzionare!

/invite @Discourse 
/discourse post 20

Ciò che è molto fastidioso è che Slack non mi mostra nemmeno che il mio utente @discourse è nel mio canale dopo averlo aggiunto. Il numero di utenti nell’interfaccia Slack non cambia e se visualizzo tutti i membri del canale, il mio utente app non è elencato lì. Immagino che questo sia un limite di Slack stesso, non di Discourse.

Sarebbe bello non dover invitare l’utente Discourse in ogni canale Slack del mio team (buon Dio, ne abbiamo un mucchio), ma suppongo che questo debba essere un limite di Slack per le app? Inoltre, possiamo aggiungere un miglioramento al plugin chat di Discourse per rilevare questo problema e mostrare un messaggio di errore più utile?

3 Mi Piace

La prima volta che ho provato a configurarlo, sono rimasto sorpreso di dover aggiungere l’app Discourse a ogni canale. Continuerò a cercare eventuali modi per aggirare questo requisito.

È possibile che Slack restituisca a Discourse un messaggio di errore quando un’azione fallisce perché l’app non ha i permessi per pubblicare/leggere nel canale. Se fosse così, utilizzare quell’errore per aggiungere un avviso alla voce del canale su Discourse sarebbe utile per il debug di questo tipo di problema. Non sono sicuro che sia possibile, ma controllerò se Slack restituisce a Discourse informazioni utili per questo caso.

3 Mi Piace

Sembra corretto. Ho effettuato test solo con Slack. Quando Discourse tenta di pubblicare in un canale Slack a cui l’app non è stata aggiunta, viene visualizzato un avviso nella pagina delle integrazioni di chat e un messaggio di errore sopra il canale interessato:

Cliccando sull’icona dell’errore per un canale a cui l’app non è stata aggiunta, viene rivelato il problema:

{
  "error_key": null,
  "request": "",
  "response_code": "200",
  "response_body": "{\"ok\":false,\"error\":\"not_in_channel\"}"
}

È possibile che Discourse possa analizzare quel messaggio di errore per fornire all’utente dettagli su cosa è necessario fare per risolvere il problema.

Quando provo a pubblicare su Discourse con un comando slash da un canale a cui l’app non è stata aggiunta, viene generato un errore Job exception: break from proc-closure su Discourse da slack_command_controller.rb:86. Non sono sicuro che ci siano informazioni sufficienti restituite da Slack per creare un messaggio di errore significativo in questo caso.

2 Mi Piace

Potremmo anche rispondere a quell’errore tentando di unirci al canale, richiedendo l’autorizzazione channels.join.

2 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.