2017-08-01 13 views
0

私は、スラックのAPIを使ってチャンネルからスラックボットを削除したいと思っています。 私はchannels.kickを試しましたが、ボットはユーザーではないので、そのように削除することはできません。私はこれまでのところ、インターウェットやSlacks APIのドキュメントでは解決策を見つけられませんでした。Slack APIチャンネルからボットを取り除く

+0

私は誰に投票したか、なぜ投票したのかはわかりませんが、これはSlack APIの使い方に関する正式なプログラミングの質問です。 –

答えて

0

あなたは正しくありません。ボットユーザーは、APIメソッドを使ってパブリックチャンネルまたはプライベートチャンネルから削除できます。私は確認するためにプライベートチャンネルでそれをテストしました。

これはなぜあなたのために動作しない別の理由が必要です。以下の理由のいずれかがあなたのケースに当てはまるかどうかを確認してください。また、理由を特定するのに非常に役立つように、APIから取得しているエラーメッセージを提供してください。ボットのユーザーがあなたのために動作しない場合があります蹴る理由

は、ここではいくつかの潜在的な理由です:

  • 間違った方法:channels.kickはプライベートチャンネルのためのパブリックチャネル、使用groups.kickのために動作します。
  • 間違ったトークン:ボットトークンはキックの方法を使用できません。そのAPIメソッドを呼び出すには、ユーザーアクセストークンを使用する必要があります。 (user_is_botエラーが発生します)
  • 自分を削除しようとしました:ユーザーは自分自身を蹴ることはできません。 (cant_kick_selfエラーが発生します)
  • チャンネルIDを使用していません:チャンネルIDを入力する必要がある場合、名前は機能しません。 (あなたがchannel_not_foundエラーになるだろう)

あなたの質問に基づいて、私はあなたがボットを蹴ることができないことを(間違って)と仮定してみましょうこれ、あなたがuser_is_botエラーを取得していると仮定します。その場合、解決策は、メソッドを実行するためにユーザートークン(ボットトークンではない)を使用することです。

+0

ありがとう、ボットを削除しようとすると、私は自分のアプリの 'OAuthアクセストークン'を使います。 APIドキュメントの状態は '\t 認証トークンです。 scope:channels:write'(https://api.slack.com/methods/channels.kick)が必要なので、私は自分のアプリのトークンを使うべきだと思ったのです。しかし、私が正しく理解すれば、私は自分のユーザーのトークンを使うべきですか? – SheperdOfFire

+0

Iは弛みからこの応答得た: 'オブジェクト(はstdClass)#3(2){ [ "OK"] => BOOL(偽) [ "エラー"] => ストリング(14) "USER_NOT_FOUND" } 'https://slack.com/api/channels.kick – SheperdOfFire

+0

アプリトークンを呼び出すと問題ありません。あなたのエラーに基づいて: 'channels.kick'で正しいユーザーIDを使用していますか?あなたは 'users.list'からボットユーザーのユーザーIDを取得します。 –

関連する問題