2017-08-01 65 views
0

我想使用slack的API從通道中刪除一個slack bot。 我試過channels.kick但是當然,bot不是一個用戶,所以它不能被刪除。到目前爲止,我還沒有在interwet或Slacks API文檔中找到任何解決方案。Slack API從通道中刪除bot

+0

我不知道是誰投票結束和爲什麼,但在我看來這是一個關於如何使用Slack API的合法編程問題。 –

回答

0

你是不正確的。您可以使用API​​方法從公共頻道或私人頻道中刪除bot用戶。我只是在一個私人頻道上進行測試以確認。

所以一定有另一個原因,爲什麼這不適合你。請檢查下列任何原因是否適用於您的案件。另外,請提供您從API獲得的錯誤消息,因爲這將有助於確定原因。

這裏有一些潛在的原因踢殭屍用戶可能不會爲你工作:

  • 錯誤的方法:channels.kick僅適用於公共頻道,使用groups.kick私人渠道。
  • 錯誤令牌:機器人令牌無法使用踢球方法​​。您需要使用用戶訪問令牌來調用該API方法。 (你會得到user_is_bot錯誤)
  • 試圖刪除自己:用戶不能踢自己。 (你會得到cant_kick_self錯誤)
  • 不使用通道ID:kick方法要求您提供通道ID,名稱將不起作用。 (你會得到channel_not_found錯誤)

根據您的問題,我會假設你得到user_is_bot錯誤,這讓你承擔(錯誤地),你不能踢一個機器人。在這種情況下,解決方案將使用用戶令牌(而不是bot令牌)來執行該方法。

+0

謝謝,當我嘗試刪除bot時,我使用了我的應用的「OAuth訪問令牌」。 API文檔陳述了'\t 身份驗證令牌。 需要範圍:channels:write'(https://api.slack.com/methods/channels.kick),這就是爲什麼我認爲我應該使用我的應用程序的令牌。但是,如果我理解正確,我應該使用我的用戶的令牌? – SheperdOfFire

+0

我從鬆弛這樣的響應:'對象(stdClass的)#3(2){ [ 「OK」] => 布爾(假) [ 「錯誤」] => 串(14) 「user_not_found」 } '調用https://slack.com/api/channels.kick – SheperdOfFire

+0

時,應用令牌沒問題。根據你的錯誤:你確定你在'channels.kick'中使用了正確的用戶ID嗎?你從'users.list'獲得bot用戶的用戶ID。 –