replyとdeferReply、updateとdeferUpdateの違い
Discord から interactionCreate
イベントが発行された場合、クライアントは3秒以内に応答することが期待されている。
> Interaction tokens are valid for 15 minutes and can be used to send followup messages but you must send an initial response within 3 seconds of receiving the event. If the 3 second deadline is exceeded, the token will be invalidated.
しかし、3秒で応答が返せない可能性があることも現実にはあり得る。
その場合は deferReply
、 deferUpdate
を用いる
15分まで待ってくれるけど、進捗表示とかするべき…

deferReply
、 deferUpdate
を使用した場合結果は editReply
を用いて送信する
それ以外の場合は reply
、 update
を用いることができる
deferしたあと( editReply
前)
過去の仕様との互換性の都合で DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE
( deferReply
)を使用した場合 followUp
メソッドを用いることもできる
>When using this endpoint directly after responding to an interaction with DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE, this endpoint will function as Edit Original Interaction Response for backwards compatibility. In this case, no new message will be created, and the loading message will be edited instead. The ephemeral flag will be ignored, and the value you provided in the initial defer response will be preserved, as an existing message's ephemeral state cannot be changed. This behavior is deprecated, and you should use the Edit Original Interaction Response endpoint in this case instead.
ref