Ad formats
Six ad formats in a Telegram conversation: text, media, and four rich formats. Try the full consent and quiz flows below.
Schematic examples advertising Sidekick. Placeholders indicate photos, animations, and slides; rich scenes use the same renderer as the API.
Text ad
textLinked ad copy is appended to the bot reply. A standard inline keyboard button sits below the message, outside its text. This example shows /ad; /fetch also lets you retrieve text separately and place it yourself.
Photo or animation
imageA separate photo or animation with an ad caption. A standard inline keyboard button sits below the media message. Available through /ad/fetch and /ad/fetch-image.
Sponsored response
responseA separate rich message below the bot reply: brand name, ad copy, a button inside the message, and a Sponsored footer.
The brand logo is a custom emoji beside the name inside the message. Without custom_emoji support, Sidekick keeps only the name. The current API returns only the ad in ad.send; the bot sends its original reply separately. This is the Sidekick integration flow, not a Telegram rich-message limitation. Telegram Bot API ↗
Sponsored card
cardBrand name, banner, short copy, one button, and a Sponsored footer. The button is part of the rich message, unlike the keyboard below a standard photo.
Consent ad
consentA question with “Tell me” and “Not interested” buttons. Accepting reveals slides, copy, and a link button; declining ends the scene. In private chats, the same ad message is updated.
Quiz
quizAn invitation → three multiple-choice questions → a result with an explanation, image, and button. Each step updates the same message in private chats. “Take it again” returns to the first question.
Match percentages are configured in the campaign, not calculated prediction scores. The most frequent answer index selects the result; ties use the lower index.
Integration guide →Ephemeral messages in groups
Ephemeral is a rich-message delivery mode, not another creative format. The group scenario requires receiver and group parameters; see the HTTP delivery guide for the complete example.
Rich delivery →