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 Me gusta

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 me gusta

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 Me gusta

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 me gusta

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 Me gusta

¡Los comandos de barra ahora funcionan en los hilos de Slack! Mira :backhand_index_pointing_down:t3:

¿Hay alguna posibilidad de que se añada soporte para un comando de barra dentro de un hilo que publique una transcripción? :crossed_fingers:t3:

6 Me gusta

Realmente quiero que esto sea cierto porque me facilitaría mucho la vida, pero no veo nada al respecto en la documentación de la API de Slack. Me pregunto si le dieron a Giphy un acceso especial de prueba alfa. ¿Ves alguna documentación que yo no vea?

Más información, posiblemente: Hoy en el trabajo, una persona en un hilo se quejó de que Slack no permitía /giphy en los hilos y publicó una imagen de Slack indicándole que no era compatible en los hilos, mientras que otra persona usó /giphy con éxito en el mismo hilo. Parece que podría haber alguna prueba A/B en curso aquí.

1 me gusta

¡Buenas noticias! Acabo de fusionar un cambio en el plugin que agrega soporte para la API de “Atajos” de Slack. Ahora puedes presionar el \u003ckbd\u003e…\u003c/kbd\u003e en un hilo, hacer clic en “Publicar en Discourse” y se te mostrará un botón que te llevará directamente a Discourse. ¡Adiós a las complicaciones con los comandos de barra o los enlaces permanentes de los hilos!

Para que esto funcione, necesitarás la última versión de chat-integration y deberás modificar tu aplicación de Slack siguiendo este nuevo paso de configuración:

Como siempre, háznos saber si tienes alguna retroalimentación :slight_smile:

cc @mcwumbly @galligan @mcdanlj

9 Me gusta

:star_struck::star_struck::star_struck:

¡Increíble!

Acabo de intentar añadir esta funcionalidad y, por desgracia, he recibido el siguiente error:

Error: no se pudo obtener el historial del canal desde Slack

Lo intenté con nuestro mensaje más reciente de Slack.

¿Has seguido todas las instrucciones de configuración en este tema? En particular, ¿le has otorgado al bot todos los ámbitos necesarios?

¡Encontré el problema! Nuestra aplicación de integración de chat no estaba en el canal desde el que intentaba publicar. Después de invitar a la aplicación al canal, pude publicar una transcripción. Gracias.

  • ¿Es posible agregar automáticamente la aplicación de integración de chat a todos los canales de Slack, tanto ahora como en el caso de cualquier nuevo canal que se cree en el futuro?

  • Cambiar el texto del botón «Continuar en Discourse» por algo como «Crear transcripción» o el nombre del acceso directo (por defecto «Publicar en Discourse», pero modificable) tendría sentido desde una perspectiva de UX, dado que no todos los sitios de Discourse se llaman a sí mismos Discourse.

2 Me gusta

Lamentablemente, no creo que sea posible, pero me encantaría estar equivocado. Investigaré si podemos mejorar el mensaje de error para que te proporcione instrucciones sobre cómo añadir el bot al canal.

:+1: buen punto. Sin duda podemos actualizar el valor predeterminado para eliminar la palabra «Discourse». Pero mientras tanto, deberías poder buscar «Continuar en Discourse» en el panel de administración y cambiarlo por lo que prefieras: Customize text in Discourse

Edición: el texto predeterminado del botón ahora es Continuar en el foro.

4 Me gusta

Seguí todos los pasos descritos en el hilo de Slack. Agregué todos los ámbitos descritos allí (incluso agregué algunos adicionales) e invité a la aplicación a los canales relevantes.

El problema es que en el 1% de los casos parece funcionar, mira aquí:

Pero en el 99% de los canales públicos, obtengo el error: “Error: no se pueden obtener usuarios de Slack”

Y en los mensajes directos: “Error: no se puede obtener el historial del canal de Slack”

1 me gusta