GramIO API Reference / @gramio/contexts/dist / MessageDraft
Class: MessageDraft<Bot>
Defined in: contexts/index.d.ts:5436
A handle to a streaming plain-text message draft — the await using companion to SendMixin.streamMessage's iterable form, mirroring RichMessageDraft.
Append pieces (strings or FormattableString-shaped { text, entities }); throttled previews go out via sendMessageDraft, and text past MESSAGE_TEXT_LIMIT | 4096 chars rolls over into a new message. finalize persists every segment via sendMessage; await using finalizes on scope exit.
Example
await using draft = ctx.streamMessage();
for await (const token of llm) draft.append(token); // or draft.append(format`…`)
// scope exit → one (or more, if long) sendMessage calls persist the outputType Parameters
| Type Parameter |
|---|
Bot extends BotLike |
Constructors
Constructor
new MessageDraft<
Bot>(bot,chatId,options?,draftIdBase?,businessConnectionId?,threadId?):MessageDraft<Bot>
Defined in: contexts/index.d.ts:5438
Parameters
| Parameter | Type |
|---|---|
bot | Bot |
chatId | number |
options? | StreamMessageOptions |
draftIdBase? | number |
businessConnectionId? | string |
threadId? | number |
Returns
MessageDraft<Bot>
Accessors
finalized
Get Signature
get finalized():
boolean
Defined in: contexts/index.d.ts:5442
Whether finalize has already run.
Returns
boolean
text
Get Signature
get text():
string
Defined in: contexts/index.d.ts:5440
Accumulated text of the current (not-yet-finalized) segment.
Returns
string
Methods
[asyncDispose]()
[asyncDispose]():
Promise<void>
Defined in: contexts/index.d.ts:5451
await using hook — finalizes on scope exit unless the stream was aborted.
Returns
Promise<void>
append()
append(
piece):this
Defined in: contexts/index.d.ts:5444
Append a piece (string or { text, entities }); entity offsets are relative to the piece.
Parameters
| Parameter | Type |
|---|---|
piece | MessageDraftAppend |
Returns
this
finalize()
finalize():
Promise<MessageContext<Bot>[]>
Defined in: contexts/index.d.ts:5449
Persist every segment via sendMessage, in order. Idempotent — repeated calls return the same array. Returns [] if nothing was appended.
Returns
Promise<MessageContext<Bot>[]>