> ## Documentation Index
> Fetch the complete documentation index at: https://botmesh.afaya.com.co/llms.txt
> Use this file to discover all available pages before exploring further.

# InboundInteraction<TRaw>

> Interface exported by @botmesh/core.

Defined in: [core/provider.ts:288](https://github.com/andresayac/botmesh/blob/main/packages/core/src/core/provider.ts#L288)

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()`.

## Type Parameters

| Type Parameter | Default type |
| - | - |
|  `TRaw` | `unknown` |

## Properties

### interactionId

```ts theme={null}
interactionId: string;
```

Defined in: [core/provider.ts:296](https://github.com/andresayac/botmesh/blob/main/packages/core/src/core/provider.ts#L296)

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](https://botmesh.afaya.com.co/api/core/interfaces/IProvider.md).

***

### ref

```ts theme={null}
ref: MessageRef;
```

Defined in: [core/provider.ts:297](https://github.com/andresayac/botmesh/blob/main/packages/core/src/core/provider.ts#L297)

***

### chat

```ts theme={null}
chat: ChatInfo;
```

Defined in: [core/provider.ts:298](https://github.com/andresayac/botmesh/blob/main/packages/core/src/core/provider.ts#L298)

***

### senderInfo

```ts theme={null}
senderInfo: SenderInfo;
```

Defined in: [core/provider.ts:299](https://github.com/andresayac/botmesh/blob/main/packages/core/src/core/provider.ts#L299)

***

### from

```ts theme={null}
from: string;
```

Defined in: [core/provider.ts:300](https://github.com/andresayac/botmesh/blob/main/packages/core/src/core/provider.ts#L300)

***

### sender

```ts theme={null}
sender: string;
```

Defined in: [core/provider.ts:301](https://github.com/andresayac/botmesh/blob/main/packages/core/src/core/provider.ts#L301)

***

### chatId

```ts theme={null}
chatId: string;
```

Defined in: [core/provider.ts:302](https://github.com/andresayac/botmesh/blob/main/packages/core/src/core/provider.ts#L302)

***

### senderId

```ts theme={null}
senderId: string;
```

Defined in: [core/provider.ts:303](https://github.com/andresayac/botmesh/blob/main/packages/core/src/core/provider.ts#L303)

***

### isGroup

```ts theme={null}
isGroup: boolean;
```

Defined in: [core/provider.ts:304](https://github.com/andresayac/botmesh/blob/main/packages/core/src/core/provider.ts#L304)

***

### kind

```ts theme={null}
kind: "list" | "button" | "command" | "modal" | "autocomplete";
```

Defined in: [core/provider.ts:305](https://github.com/andresayac/botmesh/blob/main/packages/core/src/core/provider.ts#L305)

***

### data

```ts theme={null}
data: string;
```

Defined in: [core/provider.ts:306](https://github.com/andresayac/botmesh/blob/main/packages/core/src/core/provider.ts#L306)

***

### respondBy?

```ts theme={null}
respondBy?: number;
```

Defined in: [core/provider.ts:308](https://github.com/andresayac/botmesh/blob/main/packages/core/src/core/provider.ts#L308)

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

***

### timestamp

```ts theme={null}
timestamp: number;
```

Defined in: [core/provider.ts:310](https://github.com/andresayac/botmesh/blob/main/packages/core/src/core/provider.ts#L310)

When the interaction happened, in epoch milliseconds (see [InboundMessage.timestamp](https://botmesh.afaya.com.co/api/core/interfaces/InboundMessage.md#timestamp)).

***

### raw

```ts theme={null}
raw: TRaw;
```

Defined in: [core/provider.ts:311](https://github.com/andresayac/botmesh/blob/main/packages/core/src/core/provider.ts#L311)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.