スレッドへ投稿したメッセージの ts を thread_ts として使うとどうなるか

結果は、「スレッドへ投稿したメッセージと同じスレッドに投稿される」です。

2つ目の ts を使った結果、2つ目と同じスレッドに投稿

確認コード

すこし楽するためにjqコマンドを使ってます。

準備

最低限必要となるトークンとチャンネルIDは何度もコピーするのが面倒くさいので以下のように環境変数に置いておきます。

# bash
export t=xoxp-xxx-xxx-xxx-xxxxx
export c=xxxxx
# fish
# set -l t xoxp-xxx-xxx-xxx-xxxxx
# set -l c xxxxx

$tがトークン、$cをチャンネルIDとして使っていきます。

ベースとなるメッセージを投稿

以下は適当なチャンネルに「a]とだけ投稿し、結果のtsを表示するコマンドです。

# bash
export u="https://slack.com/api/chat.postMessage?token=$t&channel=$c&text=a"
# fish
# set -l u "https://slack.com/api/chat.postMessage?token=$t&channel=$c&text=a"
curl -Ss $u | jq -r .ts

1555394677.001400というような値が得られます。

ts を thead_ts に設定してスレッドに投稿

先程の1555394677.001400thread_tsというクエリに置いて再度コマンドを叩くことでそのスレッドへメッセージを投稿できます。またそのメッセージのtsが表示されるのでコピーしておきます。

# bash
export u="https://slack.com/api/chat.postMessage?token=$t&channel=$c&text=aa&thread_ts=1555394677.001400"
# fish
# set -l u "https://slack.com/api/chat.postMessage?token=$t&channel=$c&text=aa&thread_ts=1555394677.001400"
curl -Ss $u | jq -r .ts

そして、1555395278.001500が得られました。

ここまでの流れで Slack の画面は以下のようになっているはずです。

2つ投稿した Slack 画面

スレッド投稿メッセージの ts を thread_ts に設定して再度スレッドに投稿

以下を実行します。

# bash
export u="https://slack.com/api/chat.postMessage?token=$t&channel=$c&text=aaa&thread_ts=1555395278.001500"
# fish
# set -l u "https://slack.com/api/chat.postMessage?token=$t&channel=$c&text=aaa&thread_ts=1555395278.001500"
curl -Ss $u | jq -r .ts

冒頭に書いた結果が得られたはずです。

データとしてはどうなっているか

conversations.repliesで取得して見た所、最後に投稿したメッセージのthread_ts1555394677.001400(最初のメッセージのts)が設定されていました。