tamaq2048 / slack-summarizer

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

SlackClientクラスの例外定義 #15

Open tamaq2048 opened 1 year ago

tamaq2048 commented 1 year ago
  1. load_messages メソッドで、conversations_history APIを呼び出す際に、limit=1000 としていますが、これは一度に取得できるメッセージの最大数です。もしチャンネルに1000件以上のメッセージがある場合、has_moreresponse_metadata.next_cursor を使って、次のページのメッセージを取得する必要があります。

  2. load_messages メソッドで、conversations_join APIを呼び出す際に、エラーが発生した場合、プログラムは終了します。これは、特定のチャンネルのメッセージの取得に失敗した場合、他のチャンネルのメッセージも取得できなくなります。代わりに、エラーをログに記録し、次のチャンネルに進むことを検討してください。

  3. _get_channels_info メソッドで、conversations_list APIを呼び出す際に、exclude_archived=True としていますが、これはアーカイブされたチャンネルを除外するためです。しかし、channel["is_archived"] のチェックも行っているため、このパラメータは不要かもしれません。

  4. _get_channels_info メソッドで、channel["is_ext_shared"]channel["purpose"]["value"] のチェックを行っていますが、これは conversations_list APIのレスポンスに含まれる情報です。APIのレスポンスが変更された場合、このコードは機能しなくなる可能性があります。APIのドキュメントを確認し、これらのフィールドが常に含まれることを確認してください。

  5. replace_user_id_with_name メソッドで、ユーザーIDをユーザー名に置き換えていますが、ユーザーが退職または削除された場合、そのユーザーIDは users リストに存在しない可能性があります。そのため、get_user_name メソッドが None を返す場合、ユーザーIDをそのまま表示するか、別のテキストに置き換えることを検討してください。

  6. postSummary メソッドで、chat_postMessage APIを呼び出す際に、response["ok"] のチェックを行っていますが、これはAPIのレスポンスが成功したことを示します。しかし、APIのレスポンスが失敗した場合、SlackApiError が発生します。そのため、このチェックは不要かもしれません。