Slack threads and chat integration plugin transcripts

For ‘Private Channels’ you need to add the groups:history scope. For “Direct Messages” you need to add the im:history scope. You will need to ‘reinstall’ the app for changes to scopes to take effect (Slack’s UI should have prompted you to do this).

Are you seeing anything at /logs when the errors occur?

2 Mi Piace

I tried adding these scopes, and reinstalling:

groups:history
im:history
mpim:history

Still getting that 422, but don’t see anything obvious in the Discourse logs in the admin panel (this is a hosted instance, so I don’t have direct access to other logs).

1 Mi Piace

I used the /discourse post command from a public channel to great effect… but threads are now more common in many channels than main channel conversations, so still hopeful that some day this will work in a thread…

Update: w00t! just tried it again and it worked!

/discourse post https://ourdomain.slack.com/archives/C0591LA4X/p1529529151000359?thread_ts=1529528304.000177&cid=C0592LA4X

as did:

/discourse post thread https://ourdomain.slack.com/archives/C0592LA4X/p1529528304000177

Another update: I was also able to post a thread from a private channel. :tada:

9 Mi Piace

I got an error when using post transcript in a public channel:

{
	"message": "Job exception: undefined method `[]' for nil:NilClass\n",
	"progname": null,
	"severity": 3,
	"backtrace": "/var/www/discourse/plugins/discourse-chat-integration/lib/discourse_chat/provider/slack/slack_message.rb:38:in `block in text'\n/var/www/discourse/plugins/discourse-chat-integration/lib/discourse_chat/provider/slack/slack_message.rb:30:in `gsub'\n/var/www/discourse/plugins/discourse-chat-integration/lib/discourse_chat/provider/slack/slack_message.rb:30:in `text'\n/var/www/discourse/plugins/discourse-chat-integration/lib/discourse_chat/provider/slack/slack_message.rb:62:in `processed_text_with_attachments'\n/var/www/discourse/plugins/discourse-chat-integration/lib/discourse_chat/provider/slack/slack_transcript.rb:155:in `block in build_slack_ui'\n/var/www/discourse/plugins/discourse-chat-integration/lib/discourse_chat/provider/slack/slack_transcript.rb:155:in `map'\n/var/www/discourse/plugins/discourse-chat-integration/lib/discourse_chat/provider/slack/slack_transcript.rb:155:in `build_slack_ui'\n/var/www/discourse/plugins/discourse-chat-integration/lib/discourse_chat/provider/slack/slack_command_controller.rb:95:in `block in process_post_request'\n/var/www/discourse/lib/scheduler/defer.rb:70:in `block in do_work'\n/var/www/discourse/vendor/bundle/ruby/2.5.0/gems/rails_multisite-2.0.4/lib/rails_multisite/connection_management.rb:63:in `with_connection'\n/var/www/discourse/lib/scheduler/defer.rb:68:in `do_work'\n/var/www/discourse/lib/scheduler/defer.rb:59:in `block (2 levels) in start_thread'",
	"count": 9,
	"env": {
		"message": "Running deferred code 'Processing slack transcript request'"
	},
	"protected": false
}
1 Mi Piace

Hello, did you managed to fix this? I have the same one.

To close the loop here - @mbugowski kindly contributed a pull request to fix the issue:

@tony612 if you update to the latest version it should now work.

5 Mi Piace

I comandi slash funzionano ora nei thread di Slack! Vedi :backhand_index_pointing_down:t3:

C’è la possibilità di vedere il supporto per un comando slash all’interno di un thread che pubblica una trascrizione? :crossed_fingers:t3:

6 Mi Piace

Vorrei davvero che fosse vero perché mi renderebbe la vita molto più facile, ma non trovo nulla a riguardo nella documentazione dell’API di Slack. Mi chiedo se abbiano concesso a Giphy un accesso speciale per i test in fase alpha. Vedi tu qualche documentazione che io non vedo?

Altre informazioni, forse: oggi al lavoro, una persona in una conversazione si è lamentata del fatto che Slack non consentisse /giphy nei thread e ha pubblicato un’immagine in cui Slack indicava che non era supportato nei thread, mentre un’altra persona ha utilizzato /giphy con successo nella stessa conversazione. Sembra che ci possa essere un test A/B in corso qui.

1 Mi Piace

Buone notizie! Ho appena unito una modifica al plugin che aggiunge il supporto per le “Scorciatoie” (Shortcuts) dell’API di Slack. Ora puoi premere il tasto su un thread, selezionare “Invia a Discourse” e ti verrà mostrata una pulsante che ti porta direttamente a Discourse. Niente più problemi con i comandi slash o i permalink dei thread!

Per far funzionare questa funzionalità, avrai bisogno dell’ultima versione di chat-integration e dovrai modificare la tua app Slack seguendo questo nuovo passaggio nella configurazione:

Come sempre, facci sapere se hai qualche feedback :slight_smile:

cc @mcwumbly @galligan @mcdanlj

9 Mi Piace

:star_struck::star_struck::star_struck:

Incredibile!

Ho appena provato ad aggiungere questa funzionalità e, purtroppo, ho ricevuto un

Errore: impossibile recuperare la cronologia del canale da Slack

L’ho provato sul nostro ultimo messaggio su Slack.

Hai seguito tutte le istruzioni di configurazione in questo argomento? In particolare, hai concesso al bot tutti gli scope necessari?

Ho trovato il problema! La nostra app di integrazione chat non era presente nel canale da cui stavo cercando di pubblicare. Dopo aver invitato l’app nel canale, sono riuscito a pubblicare una trascrizione. Grazie.

  • È possibile aggiungere automaticamente l’app di integrazione chat in ogni canale Slack, sia ora che per eventuali nuovi canali creati in futuro?

  • Modificare il testo del pulsante “Continua su Discourse” in qualcosa come “Crea trascrizione” o il nome della scorciatoia (predefinito “Pubblica su Discourse”, ma modificabile) avrebbe senso dal punto di vista UX, dato che non tutti i siti Discourse si definiscono tali.

2 Mi Piace

Purtroppo non credo sia possibile, ma mi piacerebbe avere torto su questo. Controllerò se possiamo migliorare il messaggio di errore qui, in modo che fornisca istruzioni su come aggiungere il bot al canale.

:+1: ottimo punto. Possiamo certamente aggiornare l’impostazione predefinita per rimuovere la parola “Discourse”. Nel frattempo, dovresti essere in grado di cercare “Continua su Discourse” nel pannello di amministrazione e modificarlo come preferisci: Customize text in Discourse

Modifica: il testo predefinito del pulsante è ora Continua sul Forum

4 Mi Piace

Ho seguito tutti i passaggi descritti nel thread di Slack. Ho aggiunto tutti gli scope descritti lì (ne ho aggiunti anche di extra) e ho invitato l’app nei canali pertinenti.

Il problema è che per l’1% dei casi sembra funzionare, vedi qui:

Ma nel 99% dei casi nei canali pubblici ricevo l’errore: “Errore: impossibile recuperare gli utenti da Slack”

E nei DM: “Errore: impossibile recuperare la cronologia del canale da Slack”

1 Mi Piace