message extras
telegram messages have many optional controls: replies, link previews, notifications, protection, reactions, captions, entities, keyboards, and effects.
reply parameters
ctx.reply() fills reply parameters for the current message. use raw params when you
need custom threading behavior.
await ctx.reply("threaded reply");
await ctx.send("manual reply", {
reply_parameters: { message_id: ctx.message!.message_id },
});link previews
await ctx.send("https://yaebal.pages.dev", {
link_preview_options: {
is_disabled: false,
prefer_large_media: true,
},
});reactions
generated contexts expose convenience shortcuts like ctx.react() when you use createBot() from the meta package.
bot.on("message:text", async (ctx) => {
await ctx.react("🔥");
});other send options
await ctx.reply("pick", {
protect_content: true,
disable_notification: true,
reply_markup: new InlineKeyboard().text("ok", "ok"),
});formatting
prefer entity-based formatting through @yaebal/fmt or core builders. it avoids broken markdown/html escaping and makes user interpolation safe.