我正在编写一个机器人,除了一组管理员之外,它会为大多数用户提供只读通道。这意味着机器人需要删除用户消息的权限。当我尝试使用机器人删除消息时,我得到了cant_delete_message
。我知道我需要另一个令牌,一个以xoxp开头的令牌(我已经有了xoxb)。
我已经阅读了很多关于这个主题的教程和文档,但我认为他们的用例大多不顺利:我不想创建和注册Slack的应用程序,因为这只会是内部使用。
如何获得此主令牌?
答案 0 :(得分:3)
为了能够通过机器人删除其他用户的消息,您需要以下内容:
chat.delete
您在Slack App的安装过程中获得用户令牌,您将始终收到两个令牌:用户令牌(称为访问令牌)和机器人令牌。
请注意,您需要一个Slack应用程序(包括机器人用户) - 它不适用于自定义机器人用户。
来自僵尸用户offical documentation的示例:
{
"access_token": "xoxp-XXXXXXXX-XXXXXXXX-XXXXX",
"scope": "incoming-webhook,commands,bot",
"team_name": "Team Installing Your Hook",
"team_id": "XXXXXXXXXX",
"incoming_webhook": {
"url": "https://hooks.slack.com/TXXXXX/BXXXXX/XXXXXXXXXX",
"channel": "#channel-it-will-post-to",
"configuration_url": "https://teamname.slack.com/services/BXXXXX"
},
"bot":{
"bot_user_id":"UTTTTTTTTTTR",
"bot_access_token":"xoxb-XXXXXXXXXXXX-TTTTTTTTTTTTTT"
}
}
要验证这里是官方文档中有关该主题的内容:
与典型用户令牌一起使用时,可能只会删除已发布的邮件 该用户。
与管理员用户的用户令牌一起使用时,可能会删除 大多数消息都发布在工作区中。
与僵尸用户一起使用时 令牌,可能只删除该机器人用户发布的消息。