MUST be unique per logical interaction within its chat and stable across
redelivery, or '' when the transport cannot guarantee that. Never a
per-user or per-control constant (sender id, payload): core dedupes on
chatId + interactionId, so a reused id silently drops the user's next
interaction. See the INBOUND ID CONTRACT on IProvider.
OptionalrespondEpoch ms by which acknowledgeInteraction() must run, if the transport enforces one.
When the interaction happened, in epoch milliseconds (see InboundMessage.timestamp).
A UI interaction that is NOT a free message: Telegram callback_query, Discord component click / slash command.
datais the provider-defined id the bot set when building the control.respondByis the ack deadline (Discord 3s / Telegram spinner). When the provider declarescapabilities.interactionsRequireAckthe core callsacknowledgeInteractionexactly once per interaction: withtextfromctx.acknowledge(text), otherwise deferred ({ defer: true }) before the handler's first send, shortly beforerespondBy, or when routing ends, whichever comes first. Without the capability the core acks only onctx.acknowledge().