メッセージング
Slack のコアメッセージング API における投稿、その場での更新、書式、レート制限
このセクションが扱う範囲
bot がチャンネルに送り込むもの — 単発の通知、スレッド返信、cron ジョブがその場で更新し続ける ピン留めのステータスボード — そのほぼすべては chat.postMessage と chat.update という 2 つの メソッドに支えられている。この 2 つを正しく使えるかどうかは、おおむね次の 3 点に集約される。 メッセージ本文を正しく組み立てること(Block Kit か素の mrkdwn か)、chat.update にできること とできないことを把握すること、そして両メソッドが課すレート制限の内側に収まることだ。
このセクションの内容
投稿と Block Kit —
chat.postMessageの要点。チャンネルの 指定方法、thread_tsによるスレッド化、blocks+textのフォールバック、主要なブロック 種別、そして unfurl フラグその場での更新 —
chat.updateがもつ絶対的な読み取り専用保証、 ピン留めダッシュボードのパターン、Table ブロックの制限書式 —
mrkdwnと Block Kit のrich_text、エスケープ、メンション、 リンク、日付トークン、そして素のmrkdwnがブロックに勝る場面レート制限 — Tier 1〜4 のモデル、
Retry-Afterの扱い、チャンネル 単位のメッセージ投稿制限、そして 2025〜2026 年の非 Marketplace アプリ向けレート制限変更
2 つのメソッド、それぞれの制約
どちらのメソッドも書き込む先は同じ面(チャンネルのメッセージ)だが、課される制約は異なる。 chat.postMessage は新しいメッセージを作るもので、適切なスコープさえあればどのアプリからでも 呼べる。一方 chat.update が触れるのは、呼び出し元のアプリ自身が投稿したメッセージだけだ — それが Slack の提供する bot 書き込み可能な面のなかで最も強い読み取り専用保証になる理由は その場での更新を参照。通知を流し続けるのではなく、リアルタイムに 更新されるステータスボードが目的なら、まず手を伸ばすべきはピン留めメッセージに対する chat.update のパターンだ。