webhook create bot apps slack-api

slack-api - create - slack bot permissions



¿Cómo unirse a un canal de Slack como usuario del bot de mensajería en tiempo real? (3)

channels.join no está permitido para usuarios de bot. Me gustaría que mi bot que usa RTM escuche canales distintos al que se indica en la página de integración de bot.

No veo una manera de cambiar los canales en la página de integración de bot:

¿Es esto solo una limitación de los bots o me estoy perdiendo algo fundamental aquí?


En realidad, no lo he intentado, pero espero que primero pueda llamar a channel. channels.join en nombre de un usuario real (por ejemplo, usted mismo), luego llame a channels.invite como ese usuario para agregar el bot a ese canal. Espero que eso esté permitido, y luego permitiría que el bot interactúe con ese canal. De esta forma puedes automatizar todo.


Esta es una limitación de los bots a partir de mayo de 2017 debido a un error que presenta: consulte la respuesta de paulhammod en https://github.com/slackapi/node-slack-sdk/issues/26 . La forma correcta de agregar un bot es el comando de barra diagonal /invite @<bot.user> <channel_name> como se señaló @MattGifford.

Sin embargo, @nafg introdujo una solución interesante. Si genera un API_TOKEN personal para su cuenta, puede usarlo para invitar a un bot. Por ejemplo, en python uno podría ejecutar:

import slackclient sc = slackclient.SlackClient(<PERSONAL_API_TOKEN>) sc.api_call(''channels.invite'', channel=<channel_id>, user=<user_id>)

Esto invitará al bot al canal. Si desea automatizar la invitación a su bot a nuevos canales, puede consultar los escuchas de eventos en la API que se encuentra en https://api.slack.com/rtm

Siempre que permita que su API_TOKEN se use para ese propósito, parece que funcionará según sea necesario, aunque menos conveniente.


Tuve el mismo problema y no estaba seguro de por qué mi bot solo escuchaba ciertos canales.

Tu bot tendrá que ser invitado a cada canal por un usuario. Ejecute este comando dentro del canal requerido en la aplicación Slack para hacerlo

/invite @<your_bot_name>

Una vez en el canal deberían poder escuchar los eventos.