【问题标题】:Using a bot to post a message to Slack使用机器人向 Slack 发布消息
【发布时间】:2019-12-13 05:03:42
【问题描述】:

我有一个松弛实例,我是唯一的用户(到目前为止)。我正在尝试使用机器人帐户发布一条简单的“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); 

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

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

【问题讨论】:

    标签: php api permissions slack slack-api


    【解决方案1】:

    解决方案很简单。

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

    【讨论】:

    • 早上好,Caleb,我也看到了。我已经添加了所有范围 - 为机器人用户提供了每次访问权限,但错误仍然存​​在。
    • @SAL 尝试邀请机器人加入频道
    • 谢谢 - 这完全成功了。当我设置它可以发布到的频道时,我假设机器人可以访问该频道。真的很感激。简单的答案是最好的!
    • @SAL 乐于助人
    猜你喜欢
    • 1970-01-01
    • 2019-10-28
    • 2017-09-02
    • 2016-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-20
    • 1970-01-01
    相关资源
    最近更新 更多