@botmesh/core - v2.0.0-alpha.2
    Preparing search index...

    Interface InboundInteraction<TRaw>

    A UI interaction that is NOT a free message: Telegram callback_query, Discord component click / slash command. data is the provider-defined id the bot set when building the control. respondBy is the ack deadline (Discord 3s / Telegram spinner). When the provider declares capabilities.interactionsRequireAck the core calls acknowledgeInteraction exactly once per interaction: with text from ctx.acknowledge(text), otherwise deferred ({ defer: true }) before the handler's first send, shortly before respondBy, or when routing ends, whichever comes first. Without the capability the core acks only on ctx.acknowledge().

    interface InboundInteraction<TRaw = unknown> {
        interactionId: string;
        ref: MessageRef;
        chat: ChatInfo;
        senderInfo: SenderInfo;
        from: string;
        sender: string;
        chatId: string;
        senderId: string;
        isGroup: boolean;
        kind: "list" | "button" | "command" | "modal" | "autocomplete";
        data: string;
        respondBy?: number;
        timestamp: number;
        raw: TRaw;
    }

    Type Parameters

    • TRaw = unknown
    Index
    interactionId: string

    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.

    chat: ChatInfo
    senderInfo: SenderInfo
    from: string
    sender: string
    chatId: string
    senderId: string
    isGroup: boolean
    kind: "list" | "button" | "command" | "modal" | "autocomplete"
    data: string
    respondBy?: number

    Epoch ms by which acknowledgeInteraction() must run, if the transport enforces one.

    timestamp: number

    When the interaction happened, in epoch milliseconds (see InboundMessage.timestamp).

    raw: TRaw