我正在编写一个机器人,它将使除一组管理员之外的大多数用户的某些频道只读。这意味着机器人需要获得删除用户消息的权限。当我尝试使用机器人删除一条消息时,我得到了cant_delete_message回复。我知道我需要另一个令牌,一个以 xoxp 开头的令牌(我已经有了 xoxb)。
我已经阅读了很多关于这个主题的教程和文档,但我认为它们大多不适合我的用例:我不想用 Slack 创建和注册一个应用程序,因为这只会在内部使用。
我怎样才能得到这个主令牌?
为了能够通过您的机器人删除其他用户的消息,您需要以下内容:
chat.delete您在 Slack 应用程序的安装过程中获得用户令牌,您将始终收到两个令牌:用户令牌(称为访问令牌)和机器人令牌。
请注意,您将需要一个 Slack 应用程序(包括机器人用户) - 它不适用于自定义机器人用户。
有关机器人用户的官方文档示例:
{
"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"
}
}
Run Code Online (Sandbox Code Playgroud)
为了验证这里是官方文档关于该主题的内容:
与典型用户令牌一起使用时,只能删除该用户发布的消息。
与管理员用户的用户令牌一起使用时,可能会删除工作区中发布的大多数消息。
与机器人用户的令牌一起使用时,只能删除该机器人用户发布的消息。