使用机器人向 Slack 发布消息

SAL*_*SAL 2 php api permissions slack-api slack

我有一个松弛实例,我是唯一的用户(到目前为止)。我正在尝试使用机器人帐户发布一条简单的“hello world”消息,因此该消息不会显示为来自我的帐户。

$url = "https://slack.com/api/chat.postMessage?token=xoxb-XXXXXX&channel=general&text=hello%20world";
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HEADER, TRUE); 
curl_setopt($ch, CURLOPT_NOBODY, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
$head = curl_exec($ch); 
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
curl_close($ch); 
Run Code Online (Sandbox Code Playgroud)

当我使用xoxp-XXXXoAuth 令牌发布时,它效果很好,只不过它来自我的帐户。当我使用xoxb-XXXX令牌发帖时,我会收到"error": "not_in_channel"回复。我收到了chat:write:user用户范围错误 - 尽管我已向我的应用程序授予了所有 50 个权限。

如何设置我的 Slack 应用程序以允许从应用程序上的机器人帐户而不是从我的帐户进行此写入?

Cal*_*iri 6

解决方案很简单。

  1. 您的机器人需要bot机器人用户的范围。
  2. 确保您正在使用bot access token
  3. 邀请机器人加入频道