slack slack-api

slack - Cómo enviar mensajes directos a un usuario como aplicación en el canal de aplicaciones



slack-api (2)

¿Cómo es posible enviar un mensaje slack directamente al usuario, por user.id como aplicación?

esta aplicación tiene alcance: bot, canales: escribir, emoji: leer, usuarios: leer, usuarios: leer.

Encuentro cómo enviar mensajes solo como DM o por webhooks, pero no hay margen para eso. ¿Alguien tiene idea?


Hay una forma alternativa de resolver esto, que puede ser más adecuada si su aplicación usa un bot para operar con Slack API.

chat.postMessage llamar chat.postMessage método de la API chat.postMessage y especificar un argumento de channel igual al ID de usuario (por ejemplo, U0G9QF9C6 ) que desea as_user y el argumento as_user es verdadero. Detalles importantes: asegúrese de estar utilizando el token de acceso a bot (aprenda here cómo obtenerlo).

Ejemplo:

curl -X POST "https://slack.com/api/chat.postMessage" -H "accept: application/json" -d token=BOT_ACCESS_TOKEN -d channel=U0G9QF3C6 -d text=Hello -d as_user=true

De esta manera, su mensaje siempre se enviará en nombre (nombre e ícono) de su bot y se mostrará como un mensaje directo en el canal de la aplicación (YourAppChannel en la barra lateral de Slack).

En comparación con el enfoque de @ErikKalkoken, no es necesario crear un canal por adelantado y, como resultado, realizar un seguimiento de su ID (puede ser bueno o malo según sus necesidades).


Si entiendo su pregunta correctamente, desea enviar mensajes directos a los usuarios en el canal de la aplicación en lugar del canal slackbot estándar.

Para hacer eso necesitas

  1. Su aplicación necesita el alcance del bot y un usuario del bot
  2. Abra un canal de mensajes directos desde su aplicación con el usuario con im.open . Obtiene una identificación de mensaje directo.
  3. Envíe un mensaje con chat.postMessage al ID del canal de mensaje directo

Asegúrese de usar su token de acceso a bot (no el token de acceso de usuario) desde su aplicación Slack.

El alcance del bot le otorga todos los permisos necesarios para abrir y enviar DM a los usuarios desde su canal de bot. No se requieren otros ámbitos.

También puede usar los nuevos métodos de conversations , que funcionan para todo tipo de canales para hacer lo mismo.

Vea también esta pregunta sobre el mismo tema.