Available methods

sendMessageDraft()

Use this method to stream a partial message to a user while the message is being generated. Note that the streamed draft is ephemeral and acts as a temporary 30-second preview - once the output is finalized, you must call sendMessage with the complete message to persist it in the user's chat. Returns True on success.

parameters

parametertyperequireddescription
chat_idnumberrequiredUnique identifier for the target private chat
message_thread_idnumberoptionalUnique identifier for the target message thread
draft_idnumberrequiredUnique identifier of the message draft; must be non-zero. Changes to drafts with the same identifier are animated.
textstringoptionalText of the message to be sent, 0-4096 characters after entities parsing. Pass an empty text to show a “Thinking…” placeholder.
parse_modestringoptionalMode for parsing entities in the message text. See formatting options for more details.
entitiesMessageEntity[]optionalA JSON-serialized list of special entities that appear in message text, which can be specified instead of parse_mode

returns

boolean

usage in yaebal

not (yet) hard-typed on Api — call it through the generic .call<T>() escape hatch documented in @yaebal/types.

bot.ts
import type { SendMessageDraftParams } from "@yaebal/types";

await bot.api.call<boolean>("sendMessageDraft", {
  chat_id: 123456789,
  draft_id: 1,
} satisfies SendMessageDraftParams);

context shortcut

also available as ctx.sendMessageDraft() on 16 context types — see @yaebal/contexts.

context shortcut
/** Use this method to stream a partial message to a user while the message is being generated. Note that the streamed draft is ephemeral and acts as a temporary 30-second preview - once the output is finalized, you **must** call [sendMessage](https://core.telegram.org/bots/api/#sendmessage) with the complete message to persist it in the user's chat. Returns *True* on success. */
ctx.sendMessageDraft(params: Omit<SendMessageDraftParams, "chat_id">)