我关注Slack bot post message documents
在发布到公共频道时效果很好,但在发布到私有频道时会收到错误[error] => channel_not_found
,我甚至会将channel_name更改为频道ID(例如:G1HCG4BQ9
)
我已获得chat:write:user
和chat:write:bot
权限
答案 0 :(得分:8)
您是否邀请机器人进入频道?如果机器人不是会员,机器人不能在私人频道中发帖 - 您需要像对待某人一样邀请它进入频道。
@YourBotsName会做到的!
答案 1 :(得分:2)
我遇到了同样的问题,并且能够使用chat.postEphemeral与应用配置的OAuth Access Token
页面中提供的OAuth & Permissions
解决问题,该页面应该可以OAuth Access Token
访问3}}
请注意,有两种不同的令牌类型,Bot User OAuth Access Token
和Bot 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
并使用团队访问令牌而不是僵尸用户的令牌。