Slack bot无法将消息发布到私人频道

时间:2017-04-07 02:26:20

标签: bots private channel slack

我关注Slack bot post message documents

在发布到公共频道时效果很好,但在发布到私有频道时会收到错误[error] => channel_not_found,我甚至会将channel_name更改为频道ID(例如:G1HCG4BQ9

我已获得chat:write:userchat:write:bot权限

的授权

6 个答案:

答案 0 :(得分:8)

您是否邀请机器人进入频道?如果机器人不是会员,机器人不能在私人频道中发帖 - 您需要像对待某人一样邀请它进入频道。

@YourBotsName会做到的!

答案 1 :(得分:2)

我遇到了同样的问题,并且能够使用chat.postEphemeral与应用配置的OAuth Access Token页面中提供的OAuth & Permissions解决问题,该页面应该可以OAuth Access Token访问3}}

请注意,有两种不同的令牌类型,Bot User OAuth Access TokenBot User OAuth Access Token。当我尝试使用channel_not_found在与其他用户进行私密聊天时向用户发送短暂消息时,我收到了与您相同的错误消息:OAuth Access Token但是,当它正常工作时使用'TEST SUITE'

有关不同令牌类型的详细信息,请参阅https://api.slack.com/apps/APP-ID-GOES-HERE/oauth

答案 2 :(得分:2)

我遇到了同样的问题。您需要使用 slack 命令邀请在私人频道中手动添加您的机器人

/invite @yourBotName

不要忘记从 chat:write 添加 OAuthS 范围 Features/OAuth & Permissions

答案 3 :(得分:1)

Sam Mullin的答案是正确的,这是您需要研究的第一点。

但是对我来说,那还是没有解决。我不考虑传入webhook(https://api.slack.com/messaging/webhooks),因为这也是一种选择,但就我而言不是。

让我进步的是,松弛在其api方法f.e中具有“测试程序”标签来测试请求。 https://api.slack.com/methods/chat.postMessage/test。当您填写数据并提交时,您在url中看到的请求还包含“令牌”和“漂亮”参数。我仅将令牌参数添加到授权标头中,这对我不起作用,因此我也将其添加为参数。对于漂亮的论点,我将其设置为与短信相同。

我不确定安全性问题,直接传递令牌时,有人可以对此进行纠正。但这对我有用。

答案 4 :(得分:1)

我今天遇到了同样的问题,您必须手动将应用添加到所需的私人频道。

答案 5 :(得分:-2)

尝试明确设置as_user: false并使用团队访问令牌而不是僵尸用户的令牌。