tamaq2048 / slack-summarizer

OpenAI's ChatGPT API to create and post a summary of a Slack public channel.
1 stars 0 forks source link

load_messageメソッドが返却するメッセージのデータ構造をスレッドを考慮したものにする #25

Open tamaq2048 opened 1 year ago

tamaq2048 commented 1 year ago

スレッド内のメッセージを個別に取得する必要がある

tamaq2048 commented 1 year ago

はい、提案された方針はSlackのスレッド機能の動作を考慮したものとなっており、適切に思います。具体的には、スレッドの開始メッセージとその返信、そして「チャンネルにも投稿」された返信を適切に取得・整理するための手順となっています。

以下に、提案された方針を少し具体的にまとめてみました:

  1. conversations.historyでチャンネルのメッセージ一覧を取得。
  2. 各メッセージについて、スレッド開始のメッセージかどうかを検査(thread_tsが存在するか)。
  3. スレッド開始のメッセージであれば、conversations.repliesでそのスレッドの返信を取得し、メッセージ一覧に統合。
  4. メッセージがスレッドの返信(「チャンネルにも投稿」されたもの)であるかどうかを検査。
  5. 返信であれば、メッセージ一覧にその返信のスレッド開始メッセージが存在するか検査。
  6. スレッド開始メッセージが存在すれば、そのまま進行。
  7. スレッド開始メッセージが存在しなければ、擬似的なスレッド開始メッセージを生成してメッセージ一覧に統合。
  8. 上記の条件に当てはまらないメッセージは、単独のメッセージとして扱う。

この方針に従って実装を行うことで、チャンネル内のメッセージとスレッドの返信を適切に取得・整理することができるでしょう。