2017-10-30 6 views
0

私はreceives eventsというアプリを作りました。Slack API:特定のチャンネルでのみイベントを受信しますか?

デフォルトでは、スコープchannels:historyは、アプリケーションを追加したユーザーのすべてのパブリックチャンネルにあるすべてのメッセージのイベントを受信できます。

理想的には、ユーザーは一部のチャンネルのみに制限することができます。これはアプリの設定で行います。 (。アプリが受け取る任意のイベントは、世界読める行われます)

今私は2つのオプションを参照してください。

  1. をメッセージイベントは、チャネルID(ない名前)が含まれています。つまり、コードを設定してユーザーがそれを信頼する方法があると仮定すると、コードはチャネルでフィルタリングできます。

  2. a bot user(ユーザーが特定のチャンネルに追加できる)は、a bot user(ただし、アプリケーションは読み取り専用ですが)を作成します。

もっと良い方法がありますか?

答えて

1

ボットユーザー(オプション2)を使用したくない場合は、唯一の方法は、アプリの不要なチャンネルからのメッセージを除外することです。作成された新しいメッセージ(アプリケーションから送信されたメッセージを含む)ごとにメッセージイベントが届きます。 メッセージイベントには既にchannel IDが含まれているため、それに基づいて簡単にフィルタリングできます。

例:(Source

{ 
    "type": "message", 
    "channel": "C2147483705", 
    "user": "U2147483697", 
    "text": "Hello world", 
    "ts": "1355517523.000005" 
} 

あなたが事前にチャンネルを選択することができますイベントの設定にはパラメータはありません。しかし、これは再発する質問のように思われるので、私はこれについてSlackチームに機能要求を送ることを提案します。

関連する問題