web-dev-qa-db-fra.com

Slack bot ne peut pas poster de message sur un canal privé

Je suis Slack bot post message messages

cela fonctionne parfaitement lors de la publication sur la chaîne publique, mais obtenez une erreur [error] => channel_not_found lorsque je poste sur une chaîne privée, je change même channel_name en channel ID (ex: G1HCG4BQ9)

J'ai déjà autorisé avec les deux chat:write:user et chat:write:bot autorisations

14
ytdm

Avez-vous invité le bot sur la chaîne? Un bot ne peut pas publier sur une chaîne privée s'il n'est pas membre - vous devez l'inviter sur la chaîne comme vous le feriez pour une personne.

@YourBotsName le fera!

11
Sam Mullin

J'ai rencontré ce même problème et j'ai pu le résoudre en utilisant chat.postEphemeral avec le OAuth Access Token disponible dans le OAuth & Permissions page de la configuration de votre application, qui devrait être accessible à l'adresse https://api.slack.com/apps/APP-ID-GOES-HERE/oauth

Notez qu'il existe deux types de jetons différents, le OAuth Access Token et Bot User OAuth Access Token. Lorsque j'ai essayé d'utiliser le Bot User OAuth Access Token pour envoyer un message éphémère à un utilisateur alors qu'il était en conversation privée avec un autre utilisateur, j'ai reçu le même message d'erreur que vous: channel_not_found, cependant, cela a fonctionné correctement lors de l'utilisation de OAuth Access Token.

Voir ici pour plus de détails sur les différents types de jetons.

2
adamc