GramIO API Reference / @gramio/contexts/dist / PreCheckoutQueryContext
Class: PreCheckoutQueryContext<Bot>
Defined in: contexts/index.d.ts:7164
This object contains information about an incoming pre-checkout query.
Extends
Context<Bot>.Constructor<PreCheckoutQueryContext<Bot>>.PreCheckoutQuery.SendMixin<Bot>.ChatActionMixin<Bot>.CloneMixin<Bot,PreCheckoutQueryContext<Bot>,PreCheckoutQueryContextOptions<Bot>>
Type Parameters
| Type Parameter |
|---|
Bot extends BotLike |
Constructors
Constructor
new PreCheckoutQueryContext<
Bot>(options):PreCheckoutQueryContext<Bot>
Defined in: contexts/index.d.ts:7167
Parameters
| Parameter | Type |
|---|---|
options | PreCheckoutQueryContextOptions<Bot> |
Returns
PreCheckoutQueryContext<Bot>
Overrides
Constructor
new PreCheckoutQueryContext(...
args):PreCheckoutQueryContext
Defined in: contexts/index.d.ts:7164
Parameters
| Parameter | Type |
|---|---|
...args | any[] |
Returns
PreCheckoutQueryContext
Overrides
Context<Bot>.constructor
Properties
| Property | Modifier | Type | Description | Inherited from | Defined in |
|---|---|---|---|---|---|
bot | public | Bot | - | Context.bot | contexts/index.d.ts:5240 |
isTopicMessage | public | () => boolean | - | SendMixin.isTopicMessage | contexts/index.d.ts:5458 |
payload | public | TelegramPreCheckoutQuery | The raw data that is used for this Context | PreCheckoutQuery.payload | contexts/index.d.ts:7166 |
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():
string
Defined in: contexts/index.d.ts:5455
Returns
string
Inherited from
SendMixin.businessConnectionId
chatId
Get Signature
get chatId():
number
Defined in: contexts/index.d.ts:5454
Returns
number
Inherited from
currency
Get Signature
get currency():
TelegramCurrencies
Defined in: contexts/index.d.ts:4897
Three-letter ISO 4217 currency code
Returns
Inherited from
from
Get Signature
get from():
User
Defined in: contexts/index.d.ts:4893
User who sent the query
Returns
Inherited from
id
Get Signature
get id():
string
Defined in: contexts/index.d.ts:4891
Unique query identifier
Returns
string
Inherited from
invoicePayload
Get Signature
get invoicePayload():
string
Defined in: contexts/index.d.ts:4908
Bot specified invoice payload
Returns
string
Inherited from
PreCheckoutQuery.invoicePayload
orderInfo
Get Signature
get orderInfo():
OrderInfo
Defined in: contexts/index.d.ts:4912
Order info provided by the user
Returns
Inherited from
senderId
Get Signature
get senderId():
number
Defined in: contexts/index.d.ts:4895
Sender ID
Returns
number
Inherited from
shippingOptionId
Get Signature
get shippingOptionId():
string
Defined in: contexts/index.d.ts:4910
Identifier of the shipping option chosen by the user
Returns
string
Inherited from
PreCheckoutQuery.shippingOptionId
threadId
Get Signature
get threadId():
number
Defined in: contexts/index.d.ts:5457
Returns
number
Inherited from
totalAmount
Get Signature
get totalAmount():
number
Defined in: contexts/index.d.ts:4906
Total price in the smallest units of the currency (integer, not float/double). For example, for a price of US$ 1.45 pass amount = 145. See the exp parameter in currencies.json, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies).
Returns
number
Inherited from
Methods
answer()
answer(
params):Promise<true>
Defined in: contexts/index.d.ts:7175
Answers to the pending pre-checkout query. An alias for answerPreCheckoutQuery
Parameters
| Parameter | Type |
|---|---|
params | Optional<AnswerPreCheckoutQueryParams, "pre_checkout_query_id"> |
Returns
Promise<true>
answerPreCheckoutQuery()
answerPreCheckoutQuery(
params):Promise<true>
Defined in: contexts/index.d.ts:7173
Answers to the pending pre-checkout query
Parameters
| Parameter | Type |
|---|---|
params | Optional<AnswerPreCheckoutQueryParams, "pre_checkout_query_id"> |
Returns
Promise<true>
clone()
clone(
options?):PreCheckoutQueryContext
Defined in: contexts/index.d.ts:5935
Parameters
| Parameter | Type |
|---|---|
options? | PreCheckoutQueryContextOptions |
Returns
PreCheckoutQueryContext
Inherited from
createActionController()
createActionController(
action,params?):ChatActionController<Bot>
Defined in: contexts/index.d.ts:5924
Parameters
| Parameter | Type |
|---|---|
action | SendChatActionAction |
params? | Pick<SendChatActionParams, "business_connection_id" | "message_thread_id"> & object & CreateActionControllerParams |
Returns
ChatActionController<Bot>
Deprecated
Creates a controller that when start()ed executes sendChatAction(action) every interval milliseconds until stop()ped
Inherited from
ChatActionMixin.createActionController
getChatBoosts()
getChatBoosts(
userId):Promise<TelegramUserChatBoosts>
Defined in: contexts/index.d.ts:5586
Returns chat boosts by the user
Parameters
| Parameter | Type |
|---|---|
userId | number |
Returns
Promise<TelegramUserChatBoosts>
Inherited from
hasOrderInfo()
hasOrderInfo():
this is Require<PreCheckoutQueryContext<Bot>, "orderInfo">
Defined in: contexts/index.d.ts:7171
Checks if the query has orderInfo property
Returns
this is Require<PreCheckoutQueryContext<Bot>, "orderInfo">
hasShippingOptionId()
hasShippingOptionId():
this is Require<PreCheckoutQueryContext<Bot>, "shippingOptionId">
Defined in: contexts/index.d.ts:7169
Checks if the query has shippingOptionId property
Returns
this is Require<PreCheckoutQueryContext<Bot>, "shippingOptionId">
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
send()
send(
text,params?):Promise<MessageContext<Bot>>
Defined in: contexts/index.d.ts:5469
Sends message to current chat.
Pass a branded @gramio/format rich value (Markdown RichString or a native structured block/message 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; } | RichStringLike |
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:5517
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:5513
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:5541
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:5533
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:5529
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:5543
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:5511
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:5525
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:5509
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:5523
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:5560
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:5547
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:5539
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:5545
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:5507
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:5531
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:5471
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:5478
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:5535
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:5527
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:5515
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:5519
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:5521
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:5537
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: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 |
|---|---|
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:5584
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: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 |
|---|---|
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:5505
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);