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
-
Su aplicación necesita el alcance del
bot
y un usuario del bot -
Abra un canal de mensajes directos desde su aplicación con el usuario con
im.open
. Obtiene una identificación de mensaje directo. -
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.