【发布时间】:2018-01-08 13:16:49
【问题描述】:
我想使用 slack 的 API 从频道中删除一个 slack 机器人。 我试过channels.kick 但当然,机器人不是用户,所以不能这样删除。到目前为止,我还没有在 interwet 或 Slacks API 文档上找到任何解决方案。
【问题讨论】:
-
我不知道谁投票关闭以及为什么,但在我看来,这是一个关于如何使用 Slack API 的合法编程问题。
我想使用 slack 的 API 从频道中删除一个 slack 机器人。 我试过channels.kick 但当然,机器人不是用户,所以不能这样删除。到目前为止,我还没有在 interwet 或 Slacks API 文档上找到任何解决方案。
【问题讨论】:
你说的不对。您可以使用 API 方法从公共频道或私人频道中删除机器人用户。我只是在私人频道上测试了它以确认。
因此,这对您不起作用一定还有其他原因。请检查以下任何原因是否适用于您的情况。另外,请提供您从 API 获得的错误消息,因为这将有助于确定原因。
以下是踢出机器人用户可能对您不起作用的一些潜在原因:
user_is_bot 错误)cant_kick_self 错误)channel_not_found 错误)根据您的问题,我假设您收到了 user_is_bot 错误,这让您(错误地)假设您无法踢机器人。在这种情况下,解决方案是使用用户令牌(而不是机器人令牌)来执行该方法。
【讨论】:
OAuth Access Token。 API 文档声明“身份验证令牌”。需要范围:channels:write` (api.slack.com/methods/channels.kick),这就是为什么我认为我应该使用我的应用程序的令牌。但如果我理解正确,我应该使用我的用户的令牌?
object(stdClass)#3 (2) { ["ok"]=> bool(false) ["error"]=> string(14) "user_not_found" } when call slack.com/api/channels.kick
channels.kick 中使用了正确的用户 ID?您从 users.list 获取机器人用户的用户 ID。