DMを除く全チャンネルのメッセージを購読するBOTイベントの追加
ras0q opened this issue · 3 comments
ras0q commented
一般ユーザーに対しては/wsのtimeline_streaming
コマンドでアクティビティの流量を管理することができる
https://apis.trap.jp/#/notification/ws
現状BOTで全メッセージを購読するためには以下の方法がある
- 全チャンネルを購読する
- 一定期間ごとにGET /messagesを取得する
どちらもworkaroundっぽいのでBOTに対しても/bot/wsにtimeline_streaming
コマンドを追加するかANY_MESSAGE_CREATED
のようなイベントを追加したい
ras0q commented
timeline_streaming
コマンドの場合HTTPモードは対応しないことになる?
ras0q commented
対象BOTのfilter→一斉送信処理→この段階で初めてHTTP/WSモードを確認してそれぞれの送信方法で送信
の流れになってるからここに「任意のBOT(filter段階で弾かれる可能性がある)のうちtimeline_streaming
をon
にした特定のWebsocketセッションに送信」の処理を含めるのが厳しそう
なのでセッション単位ではなくてBOT単位で実装する(ANY_MESSAGE_CREATED
方式)がいいかも
関係ないけどBOTに対してtimeline
という言葉を使うのも違和感がある
motoki317 commented
現在の「参加チャンネルを設定して、そこからのみイベントを受け取る」という概念を壊してしまうので、慎重になったほうが良い
→「ユーザーがどのbotが反応可能かを見ることができる」
→「最小限の負荷を自然に設定することができる」
という利点を壊してしまう懸念がある
作るとしても、ユースケースが少ないなら、特権botのみへの実装が良いと思う