GramIO API Reference / @gramio/contexts/dist / RichMessageDraft
Class: RichMessageDraft<Bot>
Defined in: contexts/index.d.ts:5399
A handle to a streaming rich-message draft.
Append fragments as they are generated — preview updates are sent (throttled) via sendRichMessageDraft. The draft is ephemeral (a ~30-second preview), so you MUST finalize it to persist a real message. await using finalizes automatically on scope exit.
Example
await using draft = ctx.streamRichMessage();
for await (const token of llm) draft.append(token); // token = RichString | rich-markdown
// scope exit → one sendRichMessage persists the full messageType Parameters
| Type Parameter |
|---|
Bot extends BotLike |
Constructors
Constructor
new RichMessageDraft<
Bot>(bot,chatId,options?,businessConnectionId?,threadId?):RichMessageDraft<Bot>
Defined in: contexts/index.d.ts:5401
Parameters
| Parameter | Type |
|---|---|
bot | Bot |
chatId | number |
options? | StreamRichMessageOptions |
businessConnectionId? | string |
threadId? | number |
Returns
RichMessageDraft<Bot>
Accessors
draftId
Get Signature
get draftId():
number
Defined in: contexts/index.d.ts:5405
The draft id used for every preview update.
Returns
number
finalized
Get Signature
get finalized():
boolean
Defined in: contexts/index.d.ts:5407
Whether finalize has already run.
Returns
boolean
markdown
Get Signature
get markdown():
string
Defined in: contexts/index.d.ts:5403
Current accumulated rich-markdown.
Returns
string
Methods
[asyncDispose]()
[asyncDispose]():
Promise<void>
Defined in: contexts/index.d.ts:5418
await using hook — finalizes on scope exit unless the stream was aborted.
Returns
Promise<void>
append()
append(
chunk):this
Defined in: contexts/index.d.ts:5409
Append a fragment (a RichString or raw rich-markdown) and schedule a throttled preview.
Parameters
| Parameter | Type |
|---|---|
chunk | RichChunk |
Returns
this
finalize()
finalize(
params?):Promise<MessageContext<Bot>>
Defined in: contexts/index.d.ts:5416
Persist the streamed draft as a real message via sendRichMessage. Idempotent — repeated calls return the same MessageContext. Pass params to override the finalizing call.
Parameters
| Parameter | Type |
|---|---|
params? | Optional<SendRichMessageParams, "chat_id" | "rich_message"> |
Returns
Promise<MessageContext<Bot>>
set()
set(
content):this
Defined in: contexts/index.d.ts:5411
Replace the entire draft content and schedule a preview.
Parameters
| Parameter | Type |
|---|---|
content | RichChunk |
Returns
this