LoginSignup
1

More than 1 year has passed since last update.

Slack:スレッドにおけるメッセージの親子関係をSlack APIで判別するには

Posted at

SlackのスレッドのメッセージをSlack API取得するには、 conversations.replies (https://slack.com/api/conversations.replies) メソッドを利用します。

このメソッドを利用することで、親メッセージに関連するスレッド内の子メッセージを取得することや、子メッセージに対応する親メッセージのメッセージID( thread_ts )を取得することができます。

また、指定されたメッセージがスレッドの親であるのか、子であるのか、あるいはスレッドではない独立したメッセージあるのかを判断することができます。今回は、そのメッセージがスレッドであるか・スレッドではないかと、スレッドの親メッセージであるか・スレッドの子メッセージではないかをSlack APIで判別できるか確認してみました。

スレッドではない(単一メッセージ)の場合

image.png

当該メッセージのメッセージID( ts )をクエリ引数にセットすることで、結果を取得することができます。

この場合、スレッドではないため thread_ts は出力されません。

image.png

スレッドの親メッセージの場合

image.png

スレッドの親メッセージのメッセージID( ts )をクエリ引数にセットすることで、結果を取得することができます。

親メッセージもスレッドの一部であるため、スレッド親メッセージにthread_ts が出力されます。また、 thread_tsts の値は同一となりますので、これによりスレッドの親メッセージあることを判別することができます。

また、スレッドの子メッセージもあわせて取得されます。

image.png

スレッドの子メッセージの場合

image.png

スレッドの子メッセージのメッセージID( ts )をクエリ引数にセットすることで、結果を取得することができます。

親メッセージのメッセージIDは、 thread_ts として出力されます。また、親メッセージとは異なり thread_tsts は一致しませんので、これによりスレッドの子メッセージであることを判別することができます。

image.png

参考

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1