GramIO API Reference / @gramio/contexts/dist / MessageGenerationStoppedContext
Class: MessageGenerationStoppedContext<Bot>
Defined in: contexts/index.d.ts:6807
Called when a user stops an in-progress message draft.
Extends
Context<Bot>.Constructor<MessageGenerationStoppedContext<Bot>>.MessageGenerationStopped.SendMixin<Bot>.CloneMixin<Bot,MessageGenerationStoppedContext<Bot>,MessageGenerationStoppedContextOptions<Bot>>
Type Parameters
| Type Parameter |
|---|
Bot extends BotLike |
Constructors
Constructor
new MessageGenerationStoppedContext<
Bot>(options):MessageGenerationStoppedContext<Bot>
Defined in: contexts/index.d.ts:6809
Parameters
| Parameter | Type |
|---|---|
options | MessageGenerationStoppedContextOptions<Bot> |
Returns
MessageGenerationStoppedContext<Bot>
Overrides
Constructor
new MessageGenerationStoppedContext(...
args):MessageGenerationStoppedContext
Defined in: contexts/index.d.ts:6807
Parameters
| Parameter | Type |
|---|---|
...args | any[] |
Returns
MessageGenerationStoppedContext
Overrides
Context<Bot>.constructor
Properties
| Property | Modifier | Type | Description | Inherited from | Defined in |
|---|---|---|---|---|---|
bot | public | Bot | - | Context.bot | contexts/index.d.ts:5240 |
payload | public | TelegramMessageGenerationStopped | The raw data that is used for this Context | MessageGenerationStopped.payload | contexts/index.d.ts:6808 |
update? | public | TelegramUpdate | - | Context.update | contexts/index.d.ts:5242 |
updateId? | public | number | - | Context.updateId | contexts/index.d.ts:5241 |
updateType | protected | UpdateName | - | Context.updateType | contexts/index.d.ts:5243 |
Accessors
[toStringTag]
Get Signature
get [toStringTag]():
string
Defined in: contexts/index.d.ts:5246
Returns
string
Inherited from
businessConnectionId
Get Signature
get businessConnectionId():
undefined
Defined in: contexts/index.d.ts:6813
Message-generation updates aren't associated with a business connection.
Returns
undefined
Inherited from
SendMixin.businessConnectionId
chat
Get Signature
get chat():
Chat
Defined in: contexts/index.d.ts:4730
Chat in which the message was being generated.
Returns
Inherited from
chatId
Get Signature
get chatId():
number
Defined in: contexts/index.d.ts:4732
Unique identifier of the chat.
Returns
number
Inherited from
MessageGenerationStopped.chatId
chatType
Get Signature
get chatType():
TelegramChatType
Defined in: contexts/index.d.ts:4734
Type of the chat.
Returns
Inherited from
MessageGenerationStopped.chatType
draftId
Get Signature
get draftId():
number
Defined in: contexts/index.d.ts:4738
Unique identifier of the message draft which was stopped.
Returns
number
Inherited from
MessageGenerationStopped.draftId
senderId
Get Signature
get senderId():
undefined
Defined in: contexts/index.d.ts:6811
Message-generation updates aren't sent on behalf of a user.
Returns
undefined
Inherited from
threadId
Get Signature
get threadId():
number
Defined in: contexts/index.d.ts:4736
Unique identifier of the message thread, if the draft belongs to one.
Returns
number
Inherited from
MessageGenerationStopped.threadId
Methods
clone()
clone(
options?):MessageGenerationStoppedContext
Defined in: contexts/index.d.ts:5934
Parameters
| Parameter | Type |
|---|---|
options? | MessageGenerationStoppedContextOptions |
Returns
MessageGenerationStoppedContext
Inherited from
getChatBoosts()
getChatBoosts(
userId):Promise<TelegramUserChatBoosts>
Defined in: contexts/index.d.ts:5585
Returns chat boosts by the user
Parameters
| Parameter | Type |
|---|---|
userId | number |
Returns
Promise<TelegramUserChatBoosts>
Inherited from
is()
is<
T>(rawTypes):this is InstanceType<ContextsMapping<Bot>[T]> & GetDerives<Bot, T> & (IsAny<Bot["__Derives"]> extends true ? {} : Bot["__Derives"] extends {} ? Bot["__Derives"]["global"] & Bot["__Derives"][T] : {})
Defined in: contexts/index.d.ts:5249
Type Parameters
| Type Parameter |
|---|
T extends UpdateName |
Parameters
| Parameter | Type |
|---|---|
rawTypes | MaybeArray<SoftString<T>> |
Returns
this is InstanceType<ContextsMapping<Bot>[T]> & GetDerives<Bot, T> & (IsAny<Bot["__Derives"]> extends true ? {} : Bot["__Derives"] extends {} ? Bot["__Derives"]["global"] & Bot["__Derives"][T] : {})
Inherited from
isTopicMessage()
isTopicMessage():
boolean
Defined in: contexts/index.d.ts:6815
A thread identifier on this update is authoritative for follow-up sends.
Returns
boolean
send()
send(
text,params?):Promise<MessageContext<Bot>>
Defined in: contexts/index.d.ts:5468
Sends message to current chat.
Pass a @gramio/format RichString (from @gramio/format/rich) and it is sent via sendRichMessage instead — bot.api.* stays 1:1; the method is chosen here.
Parameters
| Parameter | Type |
|---|---|
text | string | { toString: string; } |
params? | Optional<SendMessageParams, "text" | "chat_id"> |
Returns
Promise<MessageContext<Bot>>
Inherited from
sendAnimation()
sendAnimation(
animation,params?):Promise<MessageContext<Bot>>
Defined in: contexts/index.d.ts:5516
Sends animation to current chat
Parameters
| Parameter | Type |
|---|---|
animation | string | Blob |
params? | Optional<SendAnimationParams, "animation" | "chat_id"> |
Returns
Promise<MessageContext<Bot>>
Inherited from
sendAudio()
sendAudio(
audio,params?):Promise<MessageContext<Bot>>
Defined in: contexts/index.d.ts:5512
Sends audio to current chat
Parameters
| Parameter | Type |
|---|---|
audio | string | Blob |
params? | Optional<SendAudioParams, "audio" | "chat_id"> |
Returns
Promise<MessageContext<Bot>>
Inherited from
sendChatAction()
sendChatAction(
action,params?):Promise<true>
Defined in: contexts/index.d.ts:5540
Sends chat action to current chat
Parameters
| Parameter | Type |
|---|---|
action | SendChatActionAction |
params? | Optional<SendChatActionParams, "chat_id" | "action"> |
Returns
Promise<true>
Inherited from
sendChecklist()
sendChecklist(
params):Promise<MessageContext<Bot>>
Defined in: contexts/index.d.ts:5532
Sends checklist to current chat
Parameters
| Parameter | Type |
|---|---|
params | Optional<SendChecklistParams, "chat_id"> |
Returns
Promise<MessageContext<Bot>>
Inherited from
sendContact()
sendContact(
params):Promise<MessageContext<Bot>>
Defined in: contexts/index.d.ts:5528
Sends contact to current chat
Parameters
| Parameter | Type |
|---|---|
params | Optional<SendContactParams, "chat_id"> |
Returns
Promise<MessageContext<Bot>>
Inherited from
sendDice()
sendDice(
emoji,params?):Promise<MessageContext<Bot>>
Defined in: contexts/index.d.ts:5542
Sends dice
Parameters
| Parameter | Type |
|---|---|
emoji | SendDiceEmoji |
params? | Partial<SendDiceParams> |
Returns
Promise<MessageContext<Bot>>
Inherited from
sendDocument()
sendDocument(
document,params?):Promise<MessageContext<Bot>>
Defined in: contexts/index.d.ts:5510
Sends document to current chat
Parameters
| Parameter | Type |
|---|---|
document | string | Blob |
params? | Optional<SendDocumentParams, "document" | "chat_id"> |
Returns
Promise<MessageContext<Bot>>
Inherited from
sendInvoice()
sendInvoice(
params):Promise<MessageContext<Bot>>
Defined in: contexts/index.d.ts:5524
Sends invoice to current user
Parameters
| Parameter | Type |
|---|---|
params | Optional<SendInvoiceParams, "chat_id"> |
Returns
Promise<MessageContext<Bot>>
Inherited from
sendLivePhoto()
sendLivePhoto(
livePhoto,photo,params?):Promise<MessageContext<Bot>>
Defined in: contexts/index.d.ts:5508
Sends live photo to current chat
Parameters
| Parameter | Type |
|---|---|
livePhoto | string | Blob |
photo | string | Blob |
params? | Optional<SendLivePhotoParams, "photo" | "live_photo" | "chat_id"> |
Returns
Promise<MessageContext<Bot>>
Inherited from
sendLocation()
sendLocation(
latitude,longitude,params?):Promise<MessageContext<Bot>>
Defined in: contexts/index.d.ts:5522
Sends location to current chat
Parameters
| Parameter | Type |
|---|---|
latitude | number |
longitude | number |
params? | Optional<SendLocationParams, "chat_id" | "latitude" | "longitude"> |
Returns
Promise<MessageContext<Bot>>
Inherited from
sendMedia()
sendMedia<
T>(query):ReturnType<Textends"animation"? (animation,params?) =>Promise<MessageContext<Bot>> :Textends"audio"? (audio,params?) =>Promise<MessageContext<Bot>> :Textends"document"? (document,params?) =>Promise<MessageContext<Bot>> :Textends"photo"? (photo,params?) =>Promise<MessageContext<Bot>> :Textends"sticker"? (sticker,params?) =>Promise<MessageContext<Bot>> :Textends"video_note"? (videoNote,params?) =>Promise<MessageContext<Bot>> :Textends"video"? (video,params?) =>Promise<MessageContext<...>> :Textends"voice"? (voice,params?) =>Promise<...> : () =>never>
Defined in: contexts/index.d.ts:5559
Automatically uses correct media method to send media
Type Parameters
| Type Parameter |
|---|
T extends string |
Parameters
| Parameter | Type |
|---|---|
query | object & tSendMethods |
Returns
ReturnType<T extends "animation" ? (animation, params?) => Promise<MessageContext<Bot>> : T extends "audio" ? (audio, params?) => Promise<MessageContext<Bot>> : T extends "document" ? (document, params?) => Promise<MessageContext<Bot>> : T extends "photo" ? (photo, params?) => Promise<MessageContext<Bot>> : T extends "sticker" ? (sticker, params?) => Promise<MessageContext<Bot>> : T extends "video_note" ? (videoNote, params?) => Promise<MessageContext<Bot>> : T extends "video" ? (video, params?) => Promise<MessageContext<...>> : T extends "voice" ? (voice, params?) => Promise<...> : () => never>
Example
context.sendMedia({
type: 'photo',
photo: MediaUpload.path('./image.png'),
caption: 'good image yes yes'
})Inherited from
sendMediaGroup()
sendMediaGroup(
mediaGroup,params?):Promise<MessageContext<Bot>[]>
Defined in: contexts/index.d.ts:5546
Sends media group to current chat
Parameters
| Parameter | Type |
|---|---|
mediaGroup | (TelegramInputMediaAudio | TelegramInputMediaDocument | TelegramInputMediaLivePhoto | TelegramInputMediaPhoto | TelegramInputMediaVideo)[] |
params? | Optional<SendMediaGroupParams, "media" | "chat_id"> |
Returns
Promise<MessageContext<Bot>[]>
Inherited from
sendMessageDraft()
sendMessageDraft(
params):Promise<true>
Defined in: contexts/index.d.ts:5538
Sends a message draft to the current private chat
Parameters
| Parameter | Type |
|---|---|
params | Optional<SendMessageDraftParams, "chat_id"> |
Returns
Promise<true>
Inherited from
sendPaidMedia()
sendPaidMedia(
paidMedia,starCount,params?):Promise<MessageContext<Bot>>
Defined in: contexts/index.d.ts:5544
Sends paid media to current chat
Parameters
| Parameter | Type |
|---|---|
paidMedia | TelegramInputPaidMedia[] |
starCount | number |
params? | Optional<SendPaidMediaParams, "media" | "chat_id" | "star_count"> |
Returns
Promise<MessageContext<Bot>>
Inherited from
sendPhoto()
sendPhoto(
photo,params?):Promise<MessageContext<Bot>>
Defined in: contexts/index.d.ts:5506
Sends photo to current chat
Parameters
| Parameter | Type |
|---|---|
photo | string | Blob |
params? | Optional<SendPhotoParams, "photo" | "chat_id"> |
Returns
Promise<MessageContext<Bot>>
Inherited from
sendPoll()
sendPoll(
params):Promise<MessageContext<Bot>>
Defined in: contexts/index.d.ts:5530
Sends poll to current chat
Parameters
| Parameter | Type |
|---|---|
params | Optional<SendPollParams, "chat_id"> |
Returns
Promise<MessageContext<Bot>>
Inherited from
sendRichMessage()
sendRichMessage(
richMessage,params?):Promise<MessageContext<Bot>>
Defined in: contexts/index.d.ts:5470
Sends rich message to current chat
Parameters
| Parameter | Type |
|---|---|
richMessage | TelegramInputRichMessage |
params? | Optional<SendRichMessageParams, "chat_id" | "rich_message"> |
Returns
Promise<MessageContext<Bot>>
Inherited from
sendRichMessageDraft()
sendRichMessageDraft(
richMessage,draftId,params?):Promise<true>
Defined in: contexts/index.d.ts:5477
Streams a partial rich message draft to the current chat. The streamed draft is ephemeral and acts as a temporary 30-second preview — once the output is finalized, you must call sendRichMessage with the complete message to persist it.
Parameters
| Parameter | Type |
|---|---|
richMessage | TelegramInputRichMessage |
draftId | number |
params? | Optional<SendRichMessageDraftParams, "chat_id" | "rich_message" | "draft_id"> |
Returns
Promise<true>
Inherited from
SendMixin.sendRichMessageDraft
sendSticker()
sendSticker(
sticker,params?):Promise<MessageContext<Bot>>
Defined in: contexts/index.d.ts:5534
Sends sticker
Parameters
| Parameter | Type |
|---|---|
sticker | string | Blob |
params? | Optional<SendStickerParams, "sticker" | "chat_id"> |
Returns
Promise<MessageContext<Bot>>
Inherited from
sendVenue()
sendVenue(
params):Promise<MessageContext<Bot>>
Defined in: contexts/index.d.ts:5526
Sends venue to current chat
Parameters
| Parameter | Type |
|---|---|
params | Optional<SendVenueParams, "chat_id"> |
Returns
Promise<MessageContext<Bot>>
Inherited from
sendVideo()
sendVideo(
video,params?):Promise<MessageContext<Bot>>
Defined in: contexts/index.d.ts:5514
Sends video to current chat
Parameters
| Parameter | Type |
|---|---|
video | string | Blob |
params? | Optional<SendVideoParams, "video" | "chat_id"> |
Returns
Promise<MessageContext<Bot>>
Inherited from
sendVideoNote()
sendVideoNote(
videoNote,params?):Promise<MessageContext<Bot>>
Defined in: contexts/index.d.ts:5518
Sends video note to current chat
Parameters
| Parameter | Type |
|---|---|
videoNote | string | Blob |
params? | Optional<SendVideoNoteParams, "video_note" | "chat_id"> |
Returns
Promise<MessageContext<Bot>>
Inherited from
sendVoice()
sendVoice(
voice,params?):Promise<MessageContext<Bot>>
Defined in: contexts/index.d.ts:5520
Sends voice to current chat
Parameters
| Parameter | Type |
|---|---|
voice | string | Blob |
params? | Optional<SendVoiceParams, "voice" | "chat_id"> |
Returns
Promise<MessageContext<Bot>>
Inherited from
stopPoll()
stopPoll(
messageId,params?):Promise<Poll>
Defined in: contexts/index.d.ts:5536
Stops poll in current chat
Parameters
| Parameter | Type |
|---|---|
messageId | number |
params? | Partial<StopPollParams> |
Returns
Promise<Poll>
Inherited from
streamMessage()
Call Signature
streamMessage(
options?):MessageDraft<Bot>
Defined in: contexts/index.d.ts:5582
Streams message drafts to the current chat, finalizing each completed draft as a sent message.
Two forms (mirroring SendMixin.streamRichMessage):
- Iterable — pass an Iterable/AsyncIterable of
MessageDraftPiece; it's drained and the array of sent messages is returned. - Handle — call with no iterable to get a MessageDraft:
append()pieces andfinalize(), or useawait usingto finalize on scope exit.
Both use sendMessageDraft for live previews and sendMessage to finalize each 4096-char segment.
Parameters
| Parameter | Type |
|---|---|
options? | StreamMessageOptions |
Returns
MessageDraft<Bot>
Example
// iterable form
const messages = await context.streamMessage(llmStream);
// handle form (auto-finalize)
await using draft = context.streamMessage();
for await (const token of llm) draft.append(token);Inherited from
Call Signature
streamMessage(
stream,options?):Promise<MessageContext<Bot>[]>
Defined in: contexts/index.d.ts:5583
Streams message drafts to the current chat, finalizing each completed draft as a sent message.
Two forms (mirroring SendMixin.streamRichMessage):
- Iterable — pass an Iterable/AsyncIterable of
MessageDraftPiece; it's drained and the array of sent messages is returned. - Handle — call with no iterable to get a MessageDraft:
append()pieces andfinalize(), or useawait usingto finalize on scope exit.
Both use sendMessageDraft for live previews and sendMessage to finalize each 4096-char segment.
Parameters
| Parameter | Type |
|---|---|
stream | Iterable<MessageDraftPiece, any, any> | AsyncIterable<MessageDraftPiece, any, any> |
options? | StreamMessageOptions |
Returns
Promise<MessageContext<Bot>[]>
Example
// iterable form
const messages = await context.streamMessage(llmStream);
// handle form (auto-finalize)
await using draft = context.streamMessage();
for await (const token of llm) draft.append(token);Inherited from
streamRichMessage()
Call Signature
streamRichMessage(
options?):RichMessageDraft<Bot>
Defined in: contexts/index.d.ts:5503
Stream a rich message to the current chat, draft-first.
The hard part of sendRichMessageDraft is the contract: the draft is an ephemeral ~30-second preview, and you must finalize it with sendRichMessage or the message vanishes. This helper owns that lifecycle (throttled previews, a single finalize), so you can't forget it.
Two forms:
- Handle —
const draft = ctx.streamRichMessage(); draft.append(chunk); … await draft.finalize(). Withawait using, finalize runs automatically on scope exit. - Iterable — pass an (async) iterable of chunks; it's drained, finalized, and the sent message is returned.
A chunk is a @gramio/format RichString or a raw rich-markdown string.
Parameters
| Parameter | Type |
|---|---|
options? | StreamRichMessageOptions |
Returns
RichMessageDraft<Bot>
Example
// handle form (auto-finalize)
await using draft = ctx.streamRichMessage();
for await (const token of llm) draft.append(rich`${token}`);
// iterable form
const message = await ctx.streamRichMessage(llmStream);Inherited from
Call Signature
streamRichMessage(
stream,options?):Promise<MessageContext<Bot>>
Defined in: contexts/index.d.ts:5504
Stream a rich message to the current chat, draft-first.
The hard part of sendRichMessageDraft is the contract: the draft is an ephemeral ~30-second preview, and you must finalize it with sendRichMessage or the message vanishes. This helper owns that lifecycle (throttled previews, a single finalize), so you can't forget it.
Two forms:
- Handle —
const draft = ctx.streamRichMessage(); draft.append(chunk); … await draft.finalize(). Withawait using, finalize runs automatically on scope exit. - Iterable — pass an (async) iterable of chunks; it's drained, finalized, and the sent message is returned.
A chunk is a @gramio/format RichString or a raw rich-markdown string.
Parameters
| Parameter | Type |
|---|---|
stream | Iterable<RichChunk, any, any> | AsyncIterable<RichChunk, any, any> |
options? | StreamRichMessageOptions |
Returns
Promise<MessageContext<Bot>>
Example
// handle form (auto-finalize)
await using draft = ctx.streamRichMessage();
for await (const token of llm) draft.append(rich`${token}`);
// iterable form
const message = await ctx.streamRichMessage(llmStream);