7#include <nlohmann/json_fwd.hpp>
411 using Ptr = std::shared_ptr<AcceptedGiftTypes>;
447 using Ptr = std::shared_ptr<AffiliateInfo>;
487 using Ptr = std::shared_ptr<Animation>;
547 using Ptr = std::shared_ptr<Audio>;
573 std::optional<std::string>
title { };
609 using Ptr = std::shared_ptr<BackgroundFill>;
611 std::variant<std::shared_ptr<BackgroundFillSolid>, std::shared_ptr<BackgroundFillGradient>,
612 std::shared_ptr<BackgroundFillFreeformGradient>>
624 using Ptr = std::shared_ptr<BackgroundFillFreeformGradient>;
648 using Ptr = std::shared_ptr<BackgroundFillGradient>;
681 using Ptr = std::shared_ptr<BackgroundFillSolid>;
705 using Ptr = std::shared_ptr<BackgroundType>;
707 std::variant<std::shared_ptr<BackgroundTypeFill>, std::shared_ptr<BackgroundTypeWallpaper>,
708 std::shared_ptr<BackgroundTypePattern>, std::shared_ptr<BackgroundTypeChatTheme>>
720 using Ptr = std::shared_ptr<BackgroundTypeChatTheme>;
743 using Ptr = std::shared_ptr<BackgroundTypeFill>;
755 std::shared_ptr<BackgroundFill>
fill { };
773 using Ptr = std::shared_ptr<BackgroundTypePattern>;
790 std::shared_ptr<BackgroundFill>
fill { };
817 using Ptr = std::shared_ptr<BackgroundTypeWallpaper>;
856 using Ptr = std::shared_ptr<Birthdate>;
871 std::optional<std::int32_t>
year { };
882 using Ptr = std::shared_ptr<BotAccessSettings>;
892 std::optional<std::vector<std::shared_ptr<User>>>
addedUsers { };
903 using Ptr = std::shared_ptr<BotCommand>;
934 using Ptr = std::shared_ptr<BotCommandScope>;
936 std::variant<std::shared_ptr<BotCommandScopeDefault>, std::shared_ptr<BotCommandScopeAllPrivateChats>,
937 std::shared_ptr<BotCommandScopeAllGroupChats>, std::shared_ptr<BotCommandScopeAllChatAdministrators>,
938 std::shared_ptr<BotCommandScopeChat>, std::shared_ptr<BotCommandScopeChatAdministrators>,
939 std::shared_ptr<BotCommandScopeChatMember>>
951 using Ptr = std::shared_ptr<BotCommandScopeAllChatAdministrators>;
969 using Ptr = std::shared_ptr<BotCommandScopeAllGroupChats>;
987 using Ptr = std::shared_ptr<BotCommandScopeAllPrivateChats>;
1005 using Ptr = std::shared_ptr<BotCommandScopeChat>;
1030 using Ptr = std::shared_ptr<BotCommandScopeChatAdministrators>;
1055 using Ptr = std::shared_ptr<BotCommandScopeChatMember>;
1085 using Ptr = std::shared_ptr<BotCommandScopeDefault>;
1103 using Ptr = std::shared_ptr<BotDescription>;
1119 using Ptr = std::shared_ptr<BotName>;
1135 using Ptr = std::shared_ptr<BotShortDescription>;
1152 using Ptr = std::shared_ptr<BotSubscriptionUpdated>;
1180 using Ptr = std::shared_ptr<BusinessBotRights>;
1267 using Ptr = std::shared_ptr<BusinessConnection>;
1295 std::shared_ptr<BusinessBotRights>
rights { };
1311 using Ptr = std::shared_ptr<BusinessIntro>;
1337 using Ptr = std::shared_ptr<BusinessLocation>;
1358 using Ptr = std::shared_ptr<BusinessMessagesDeleted>;
1385 using Ptr = std::shared_ptr<BusinessOpeningHours>;
1395 std::vector<std::shared_ptr<BusinessOpeningHoursInterval>>
openingHours { };
1406 using Ptr = std::shared_ptr<BusinessOpeningHoursInterval>;
1429 using Ptr = std::shared_ptr<CallbackGame>;
1444 using Ptr = std::shared_ptr<CallbackQuery>;
1459 std::shared_ptr<MaybeInaccessibleMessage>
message { };
1477 std::optional<std::string>
data { };
1494 using Ptr = std::shared_ptr<Chat>;
1504 std::int64_t
id { };
1553 using Ptr = std::shared_ptr<ChatAdministratorRights>;
1661 using Ptr = std::shared_ptr<ChatBackground>;
1666 std::shared_ptr<BackgroundType>
type { };
1677 using Ptr = std::shared_ptr<ChatBoost>;
1709 using Ptr = std::shared_ptr<ChatBoostAdded>;
1725 using Ptr = std::shared_ptr<ChatBoostRemoved>;
1757 using Ptr = std::shared_ptr<ChatBoostSource>;
1759 std::variant<std::shared_ptr<ChatBoostSourcePremium>, std::shared_ptr<ChatBoostSourceGiftCode>,
1760 std::shared_ptr<ChatBoostSourceGiveaway>>
1774 using Ptr = std::shared_ptr<ChatBoostSourceGiftCode>;
1800 using Ptr = std::shared_ptr<ChatBoostSourceGiveaway>;
1842 using Ptr = std::shared_ptr<ChatBoostSourcePremium>;
1865 using Ptr = std::shared_ptr<ChatBoostUpdated>;
1886 using Ptr = std::shared_ptr<ChatFullInfo>;
1894 std::int64_t
id { };
2023 std::optional<std::string>
bio { };
2193 using Ptr = std::shared_ptr<ChatInviteLink>;
2224 std::optional<std::string>
name { };
2263 using Ptr = std::shared_ptr<ChatJoinRequest>;
2293 std::optional<std::string>
bio { };
2316 using Ptr = std::shared_ptr<ChatLocation>;
2339 using Ptr = std::shared_ptr<ChatMember>;
2341 std::variant<std::shared_ptr<ChatMemberOwner>, std::shared_ptr<ChatMemberAdministrator>,
2342 std::shared_ptr<ChatMemberMember>, std::shared_ptr<ChatMemberRestricted>,
2343 std::shared_ptr<ChatMemberLeft>, std::shared_ptr<ChatMemberBanned>>
2355 using Ptr = std::shared_ptr<ChatMemberAdministrator>;
2486 using Ptr = std::shared_ptr<ChatMemberBanned>;
2516 using Ptr = std::shared_ptr<ChatMemberLeft>;
2539 using Ptr = std::shared_ptr<ChatMemberMember>;
2551 std::optional<std::string>
tag { };
2572 using Ptr = std::shared_ptr<ChatMemberOwner>;
2605 using Ptr = std::shared_ptr<ChatMemberRestricted>;
2617 std::optional<std::string>
tag { };
2725 using Ptr = std::shared_ptr<ChatMemberUpdated>;
2778 using Ptr = std::shared_ptr<ChatOwnerChanged>;
2794 using Ptr = std::shared_ptr<ChatOwnerLeft>;
2811 using Ptr = std::shared_ptr<ChatPermissions>;
2908 using Ptr = std::shared_ptr<ChatPhoto>;
2944 using Ptr = std::shared_ptr<ChatShared>;
2974 std::optional<std::vector<std::shared_ptr<PhotoSize>>>
photo { };
2985 using Ptr = std::shared_ptr<Checklist>;
3000 std::vector<std::shared_ptr<ChecklistTask>>
tasks { };
3022 using Ptr = std::shared_ptr<ChecklistTask>;
3027 std::int32_t
id { };
3037 std::optional<std::vector<std::shared_ptr<MessageEntity>>>
textEntities { };
3064 using Ptr = std::shared_ptr<ChecklistTasksAdded>;
3076 std::vector<std::shared_ptr<ChecklistTask>>
tasks { };
3087 using Ptr = std::shared_ptr<ChecklistTasksDone>;
3116 using Ptr = std::shared_ptr<ChosenInlineResult>;
3154 using Ptr = std::shared_ptr<Community>;
3162 std::int64_t
id { };
3178 using Ptr = std::shared_ptr<CommunityChatAdded>;
3195 using Ptr = std::shared_ptr<CommunityChatRemoved>;
3206 using Ptr = std::shared_ptr<Contact>;
3246 using Ptr = std::shared_ptr<CopyTextButton>;
3262 using Ptr = std::shared_ptr<Dice>;
3285 using Ptr = std::shared_ptr<DirectMessagePriceChanged>;
3308 using Ptr = std::shared_ptr<DirectMessagesTopic>;
3334 using Ptr = std::shared_ptr<Document>;
3381 using Ptr = std::shared_ptr<EncryptedCredentials>;
3409 using Ptr = std::shared_ptr<EncryptedPassportElement>;
3424 std::optional<std::string>
data { };
3442 std::optional<std::vector<std::shared_ptr<PassportFile>>>
files { };
3474 std::optional<std::vector<std::shared_ptr<PassportFile>>>
translation { };
3491 using Ptr = std::shared_ptr<ExternalReplyInfo>;
3544 std::optional<std::vector<std::shared_ptr<PhotoSize>>>
photo { };
3639 using Ptr = std::shared_ptr<File>;
3679 using Ptr = std::shared_ptr<ForceReply>;
3710 using Ptr = std::shared_ptr<ForumTopic>;
3748 using Ptr = std::shared_ptr<ForumTopicClosed>;
3759 using Ptr = std::shared_ptr<ForumTopicCreated>;
3791 using Ptr = std::shared_ptr<ForumTopicEdited>;
3796 std::optional<std::string>
name { };
3814 using Ptr = std::shared_ptr<ForumTopicReopened>;
3826 using Ptr = std::shared_ptr<Game>;
3841 std::vector<std::shared_ptr<PhotoSize>>
photo { };
3848 std::optional<std::string>
text { };
3854 std::optional<std::vector<std::shared_ptr<MessageEntity>>>
textEntities { };
3871 using Ptr = std::shared_ptr<GameHighScore>;
3898 using Ptr = std::shared_ptr<GeneralForumTopicHidden>;
3910 using Ptr = std::shared_ptr<GeneralForumTopicUnhidden>;
3921 using Ptr = std::shared_ptr<Gift>;
4004 using Ptr = std::shared_ptr<GiftBackground>;
4030 using Ptr = std::shared_ptr<GiftInfo>;
4067 std::optional<std::string>
text { };
4072 std::optional<std::vector<std::shared_ptr<MessageEntity>>>
entities { };
4095 using Ptr = std::shared_ptr<Gifts>;
4100 std::vector<std::shared_ptr<Gift>>
gifts { };
4111 using Ptr = std::shared_ptr<Giveaway>;
4116 std::vector<std::shared_ptr<Chat>>
chats { };
4174 using Ptr = std::shared_ptr<GiveawayCompleted>;
4206 using Ptr = std::shared_ptr<GiveawayCreated>;
4223 using Ptr = std::shared_ptr<GiveawayWinners>;
4298 using Ptr = std::shared_ptr<InaccessibleMessage>;
4325 using Ptr = std::shared_ptr<InlineKeyboardButton>;
4351 std::optional<std::string>
url { };
4428 using Ptr = std::shared_ptr<InlineKeyboardMarkup>;
4445 using Ptr = std::shared_ptr<InlineQuery>;
4498 using Ptr = std::shared_ptr<InlineQueryResult>;
4500 std::variant<std::shared_ptr<InlineQueryResultCachedAudio>, std::shared_ptr<InlineQueryResultCachedDocument>,
4501 std::shared_ptr<InlineQueryResultCachedGif>, std::shared_ptr<InlineQueryResultCachedMpeg4Gif>,
4502 std::shared_ptr<InlineQueryResultCachedPhoto>, std::shared_ptr<InlineQueryResultCachedSticker>,
4503 std::shared_ptr<InlineQueryResultCachedVideo>, std::shared_ptr<InlineQueryResultCachedVoice>,
4504 std::shared_ptr<InlineQueryResultArticle>, std::shared_ptr<InlineQueryResultAudio>,
4505 std::shared_ptr<InlineQueryResultContact>, std::shared_ptr<InlineQueryResultGame>,
4506 std::shared_ptr<InlineQueryResultDocument>, std::shared_ptr<InlineQueryResultGif>,
4507 std::shared_ptr<InlineQueryResultLocation>, std::shared_ptr<InlineQueryResultMpeg4Gif>,
4508 std::shared_ptr<InlineQueryResultPhoto>, std::shared_ptr<InlineQueryResultVenue>,
4509 std::shared_ptr<InlineQueryResultVideo>, std::shared_ptr<InlineQueryResultVoice>>
4521 using Ptr = std::shared_ptr<InlineQueryResultArticle>;
4553 std::optional<std::string>
url { };
4586 using Ptr = std::shared_ptr<InlineQueryResultAudio>;
4658 using Ptr = std::shared_ptr<InlineQueryResultCachedAudio>;
4715 using Ptr = std::shared_ptr<InlineQueryResultCachedDocument>;
4782 using Ptr = std::shared_ptr<InlineQueryResultCachedGif>;
4850 using Ptr = std::shared_ptr<InlineQueryResultCachedMpeg4Gif>;
4918 using Ptr = std::shared_ptr<InlineQueryResultCachedPhoto>;
4990 using Ptr = std::shared_ptr<InlineQueryResultCachedSticker>;
5030 using Ptr = std::shared_ptr<InlineQueryResultCachedVideo>;
5102 using Ptr = std::shared_ptr<InlineQueryResultCachedVoice>;
5164 using Ptr = std::shared_ptr<InlineQueryResultContact>;
5235 using Ptr = std::shared_ptr<InlineQueryResultDocument>;
5320 using Ptr = std::shared_ptr<InlineQueryResultGame>;
5355 using Ptr = std::shared_ptr<InlineQueryResultGif>;
5448 using Ptr = std::shared_ptr<InlineQueryResultLocation>;
5537 using Ptr = std::shared_ptr<InlineQueryResultMpeg4Gif>;
5631 using Ptr = std::shared_ptr<InlineQueryResultPhoto>;
5717 using Ptr = std::shared_ptr<InlineQueryResultVenue>;
5808 using Ptr = std::shared_ptr<InlineQueryResultVideo>;
5908 using Ptr = std::shared_ptr<InlineQueryResultVoice>;
5974 using Ptr = std::shared_ptr<InlineQueryResultsButton>;
6010 using Ptr = std::shared_ptr<InputChecklist>;
6033 std::vector<std::shared_ptr<InputChecklistTask>>
tasks { };
6054 using Ptr = std::shared_ptr<InputChecklistTask>;
6060 std::int32_t
id { };
6078 std::optional<std::vector<std::shared_ptr<MessageEntity>>>
textEntities { };
6089 using Ptr = std::shared_ptr<InputContactMessageContent>;
6120 using Ptr = std::shared_ptr<InputInvoiceMessageContent>;
6155 std::vector<std::shared_ptr<LabeledPrice>>
prices { };
6253 using Ptr = std::shared_ptr<InputLocationMessageContent>;
6299 using Ptr = std::shared_ptr<InputMedia>;
6301 std::variant<std::shared_ptr<InputMediaAnimation>, std::shared_ptr<InputMediaAudio>,
6302 std::shared_ptr<InputMediaDocument>, std::shared_ptr<InputMediaLivePhoto>,
6303 std::shared_ptr<InputMediaPhoto>, std::shared_ptr<InputMediaVideo>>
6315 using Ptr = std::shared_ptr<InputMediaAnimation>;
6394 using Ptr = std::shared_ptr<InputMediaAudio>;
6463 using Ptr = std::shared_ptr<InputMediaDocument>;
6523 using Ptr = std::shared_ptr<InputMediaLink>;
6546 using Ptr = std::shared_ptr<InputMediaLivePhoto>;
6607 using Ptr = std::shared_ptr<InputMediaLocation>;
6640 using Ptr = std::shared_ptr<InputMediaPhoto>;
6693 using Ptr = std::shared_ptr<InputMediaSticker>;
6725 using Ptr = std::shared_ptr<InputMediaVenue>;
6784 using Ptr = std::shared_ptr<InputMediaVideo>;
6881 using Ptr = std::shared_ptr<InputMediaVoiceNote>;
6933 using Ptr = std::shared_ptr<InputMessageContent>;
6935 std::variant<std::shared_ptr<InputTextMessageContent>, std::shared_ptr<InputRichMessageContent>,
6936 std::shared_ptr<InputLocationMessageContent>, std::shared_ptr<InputVenueMessageContent>,
6937 std::shared_ptr<InputContactMessageContent>, std::shared_ptr<InputInvoiceMessageContent>>
6950 using Ptr = std::shared_ptr<InputPaidMedia>;
6952 std::variant<std::shared_ptr<InputPaidMediaLivePhoto>, std::shared_ptr<InputPaidMediaPhoto>,
6953 std::shared_ptr<InputPaidMediaVideo>>
6965 using Ptr = std::shared_ptr<InputPaidMediaLivePhoto>;
6999 using Ptr = std::shared_ptr<InputPaidMediaPhoto>;
7025 using Ptr = std::shared_ptr<InputPaidMediaVideo>;
7097 using Ptr = std::shared_ptr<InputPollMedia>;
7099 std::variant<std::shared_ptr<InputMediaAnimation>, std::shared_ptr<InputMediaAudio>,
7100 std::shared_ptr<InputMediaDocument>, std::shared_ptr<InputMediaLivePhoto>,
7101 std::shared_ptr<InputMediaLocation>, std::shared_ptr<InputMediaPhoto>,
7102 std::shared_ptr<InputMediaVenue>, std::shared_ptr<InputMediaVideo>>
7114 using Ptr = std::shared_ptr<InputPollOption>;
7131 std::optional<std::vector<std::shared_ptr<MessageEntity>>>
textEntities { };
7136 std::shared_ptr<InputPollOptionMedia>
media { };
7149 using Ptr = std::shared_ptr<InputPollOptionMedia>;
7151 std::variant<std::shared_ptr<InputMediaAnimation>, std::shared_ptr<InputMediaLink>,
7152 std::shared_ptr<InputMediaLivePhoto>, std::shared_ptr<InputMediaLocation>,
7153 std::shared_ptr<InputMediaPhoto>, std::shared_ptr<InputMediaSticker>, std::shared_ptr<InputMediaVenue>,
7154 std::shared_ptr<InputMediaVideo>>
7167 using Ptr = std::shared_ptr<InputProfilePhoto>;
7169 std::variant<std::shared_ptr<InputProfilePhotoStatic>, std::shared_ptr<InputProfilePhotoAnimated>>
value;
7180 using Ptr = std::shared_ptr<InputProfilePhotoAnimated>;
7211 using Ptr = std::shared_ptr<InputProfilePhotoStatic>;
7243 using Ptr = std::shared_ptr<InputRichBlock>;
7245 std::variant<std::shared_ptr<InputRichBlockParagraph>, std::shared_ptr<InputRichBlockSectionHeading>,
7246 std::shared_ptr<InputRichBlockPreformatted>, std::shared_ptr<InputRichBlockFooter>,
7247 std::shared_ptr<InputRichBlockDivider>, std::shared_ptr<InputRichBlockMathematicalExpression>,
7248 std::shared_ptr<InputRichBlockAnchor>, std::shared_ptr<InputRichBlockList>,
7249 std::shared_ptr<InputRichBlockBlockQuotation>, std::shared_ptr<InputRichBlockPullQuotation>,
7250 std::shared_ptr<InputRichBlockCollage>, std::shared_ptr<InputRichBlockSlideshow>,
7251 std::shared_ptr<InputRichBlockTable>, std::shared_ptr<InputRichBlockDetails>,
7252 std::shared_ptr<InputRichBlockMap>, std::shared_ptr<InputRichBlockAnimation>,
7253 std::shared_ptr<InputRichBlockAudio>, std::shared_ptr<InputRichBlockPhoto>,
7254 std::shared_ptr<InputRichBlockVideo>, std::shared_ptr<InputRichBlockVoiceNote>,
7255 std::shared_ptr<InputRichBlockThinking>>
7267 using Ptr = std::shared_ptr<InputRichBlockAnchor>;
7290 using Ptr = std::shared_ptr<InputRichBlockAnimation>;
7318 using Ptr = std::shared_ptr<InputRichBlockAudio>;
7330 std::shared_ptr<InputMediaAudio>
audio { };
7346 using Ptr = std::shared_ptr<InputRichBlockBlockQuotation>;
7358 std::vector<std::shared_ptr<InputRichBlock>>
blocks { };
7374 using Ptr = std::shared_ptr<InputRichBlockCollage>;
7386 std::vector<std::shared_ptr<InputRichBlock>>
blocks { };
7402 using Ptr = std::shared_ptr<InputRichBlockDetails>;
7419 std::vector<std::shared_ptr<InputRichBlock>>
blocks { };
7435 using Ptr = std::shared_ptr<InputRichBlockDivider>;
7453 using Ptr = std::shared_ptr<InputRichBlockFooter>;
7465 std::shared_ptr<RichText>
text { };
7476 using Ptr = std::shared_ptr<InputRichBlockList>;
7488 std::vector<std::shared_ptr<InputRichBlockListItem>>
items { };
7499 using Ptr = std::shared_ptr<InputRichBlockListItem>;
7504 std::vector<std::shared_ptr<InputRichBlock>>
blocks { };
7526 std::optional<std::string>
type { };
7538 using Ptr = std::shared_ptr<InputRichBlockMap>;
7582 using Ptr = std::shared_ptr<InputRichBlockMathematicalExpression>;
7605 using Ptr = std::shared_ptr<InputRichBlockParagraph>;
7617 std::shared_ptr<RichText>
text { };
7628 using Ptr = std::shared_ptr<InputRichBlockPhoto>;
7640 std::shared_ptr<InputMediaPhoto>
photo { };
7656 using Ptr = std::shared_ptr<InputRichBlockPreformatted>;
7668 std::shared_ptr<RichText>
text { };
7684 using Ptr = std::shared_ptr<InputRichBlockPullQuotation>;
7696 std::shared_ptr<RichText>
text { };
7712 using Ptr = std::shared_ptr<InputRichBlockSectionHeading>;
7724 std::shared_ptr<RichText>
text { };
7740 using Ptr = std::shared_ptr<InputRichBlockSlideshow>;
7752 std::vector<std::shared_ptr<InputRichBlock>>
blocks { };
7768 using Ptr = std::shared_ptr<InputRichBlockTable>;
7780 std::vector<std::vector<std::shared_ptr<RichBlockTableCell>>>
cells { };
7809 using Ptr = std::shared_ptr<InputRichBlockThinking>;
7822 std::shared_ptr<RichText>
text { };
7833 using Ptr = std::shared_ptr<InputRichBlockVideo>;
7845 std::shared_ptr<InputMediaVideo>
video { };
7861 using Ptr = std::shared_ptr<InputRichBlockVoiceNote>;
7890 using Ptr = std::shared_ptr<InputRichMessage>;
7895 std::optional<std::vector<std::shared_ptr<InputRichBlock>>>
blocks { };
7902 std::optional<std::string>
html { };
7915 std::optional<std::vector<std::shared_ptr<InputRichMessageMedia>>>
media { };
7938 using Ptr = std::shared_ptr<InputRichMessageContent>;
7954 using Ptr = std::shared_ptr<InputRichMessageMedia>;
7965 std::variant<std::shared_ptr<InputMediaAnimation>, std::shared_ptr<InputMediaAudio>,
7966 std::shared_ptr<InputMediaPhoto>, std::shared_ptr<InputMediaVideo>,
7967 std::shared_ptr<InputMediaVoiceNote>>
7979 using Ptr = std::shared_ptr<InputSticker>;
8022 using Ptr = std::shared_ptr<InputStoryContent>;
8024 std::variant<std::shared_ptr<InputStoryContentPhoto>, std::shared_ptr<InputStoryContentVideo>>
value;
8035 using Ptr = std::shared_ptr<InputStoryContentPhoto>;
8061 using Ptr = std::shared_ptr<InputStoryContentVideo>;
8104 using Ptr = std::shared_ptr<InputTextMessageContent>;
8121 std::optional<std::vector<std::shared_ptr<MessageEntity>>>
entities { };
8137 using Ptr = std::shared_ptr<InputVenueMessageContent>;
8189 using Ptr = std::shared_ptr<Invoice>;
8231 using Ptr = std::shared_ptr<KeyboardButton>;
8309 using Ptr = std::shared_ptr<KeyboardButtonPollType>;
8316 std::optional<std::string>
type { };
8329 using Ptr = std::shared_ptr<KeyboardButtonRequestChat>;
8407 using Ptr = std::shared_ptr<KeyboardButtonRequestManagedBot>;
8435 using Ptr = std::shared_ptr<KeyboardButtonRequestUsers>;
8484 using Ptr = std::shared_ptr<LabeledPrice>;
8508 using Ptr = std::shared_ptr<Link>;
8524 using Ptr = std::shared_ptr<LinkPreviewOptions>;
8535 std::optional<std::string>
url { };
8564 using Ptr = std::shared_ptr<LivePhoto>;
8569 std::optional<std::vector<std::shared_ptr<PhotoSize>>>
photo { };
8619 using Ptr = std::shared_ptr<Location>;
8663 using Ptr = std::shared_ptr<LocationAddress>;
8679 std::optional<std::string>
city { };
8698 using Ptr = std::shared_ptr<LoginUrl>;
8738 using Ptr = std::shared_ptr<ManagedBotCreated>;
8744 std::shared_ptr<User>
bot { };
8756 using Ptr = std::shared_ptr<ManagedBotUpdated>;
8767 std::shared_ptr<User>
bot { };
8778 using Ptr = std::shared_ptr<MaskPosition>;
8814 using Ptr = std::shared_ptr<MaybeInaccessibleMessage>;
8816 std::variant<std::shared_ptr<Message>, std::shared_ptr<InaccessibleMessage>>
value;
8830 using Ptr = std::shared_ptr<MenuButton>;
8832 std::variant<std::shared_ptr<MenuButtonCommands>, std::shared_ptr<MenuButtonWebApp>,
8833 std::shared_ptr<MenuButtonDefault>>
8845 using Ptr = std::shared_ptr<MenuButtonCommands>;
8863 using Ptr = std::shared_ptr<MenuButtonDefault>;
8881 using Ptr = std::shared_ptr<MenuButtonWebApp>;
8913 using Ptr = std::shared_ptr<Message>;
9118 std::optional<std::string>
text { };
9124 std::optional<std::vector<std::shared_ptr<MessageEntity>>>
entities { };
9179 std::optional<std::vector<std::shared_ptr<PhotoSize>>>
photo { };
9381 std::shared_ptr<GiftInfo>
gift { };
9588 using Ptr = std::shared_ptr<MessageAutoDeleteTimerChanged>;
9605 using Ptr = std::shared_ptr<MessageEntity>;
9656 std::optional<std::string>
url { };
9697 using Ptr = std::shared_ptr<MessageId>;
9717 using Ptr = std::shared_ptr<MessageOrigin>;
9719 std::variant<std::shared_ptr<MessageOriginUser>, std::shared_ptr<MessageOriginHiddenUser>,
9720 std::shared_ptr<MessageOriginChat>, std::shared_ptr<MessageOriginChannel>>
9732 using Ptr = std::shared_ptr<MessageOriginChannel>;
9770 using Ptr = std::shared_ptr<MessageOriginChat>;
9804 using Ptr = std::shared_ptr<MessageOriginHiddenUser>;
9832 using Ptr = std::shared_ptr<MessageOriginUser>;
9860 using Ptr = std::shared_ptr<MessageReactionCountUpdated>;
9891 using Ptr = std::shared_ptr<MessageReactionUpdated>;
9937 using Ptr = std::shared_ptr<OrderInfo>;
9942 std::optional<std::string>
name { };
9969 using Ptr = std::shared_ptr<OwnedGift>;
9971 std::variant<std::shared_ptr<OwnedGiftRegular>, std::shared_ptr<OwnedGiftUnique>>
value;
9982 using Ptr = std::shared_ptr<OwnedGiftRegular>;
10020 std::optional<std::vector<std::shared_ptr<MessageEntity>>>
entities { };
10078 using Ptr = std::shared_ptr<OwnedGiftUnique>;
10141 using Ptr = std::shared_ptr<OwnedGifts>;
10151 std::vector<std::shared_ptr<OwnedGift>>
gifts { };
10168 using Ptr = std::shared_ptr<PaidMedia>;
10170 std::variant<std::shared_ptr<PaidMediaLivePhoto>, std::shared_ptr<PaidMediaPhoto>,
10171 std::shared_ptr<PaidMediaPreview>, std::shared_ptr<PaidMediaVideo>>
10183 using Ptr = std::shared_ptr<PaidMediaInfo>;
10204 using Ptr = std::shared_ptr<PaidMediaLivePhoto>;
10227 using Ptr = std::shared_ptr<PaidMediaPhoto>;
10239 std::vector<std::shared_ptr<PhotoSize>>
photo { };
10250 using Ptr = std::shared_ptr<PaidMediaPreview>;
10283 using Ptr = std::shared_ptr<PaidMediaPurchased>;
10304 using Ptr = std::shared_ptr<PaidMediaVideo>;
10327 using Ptr = std::shared_ptr<PaidMessagePriceChanged>;
10344 using Ptr = std::shared_ptr<PassportData>;
10350 std::vector<std::shared_ptr<EncryptedPassportElement>>
data { };
10370 using Ptr = std::shared_ptr<PassportElementError>;
10372 std::variant<std::shared_ptr<PassportElementErrorDataField>, std::shared_ptr<PassportElementErrorFrontSide>,
10373 std::shared_ptr<PassportElementErrorReverseSide>, std::shared_ptr<PassportElementErrorSelfie>,
10374 std::shared_ptr<PassportElementErrorFile>, std::shared_ptr<PassportElementErrorFiles>,
10375 std::shared_ptr<PassportElementErrorTranslationFile>,
10376 std::shared_ptr<PassportElementErrorTranslationFiles>,
10377 std::shared_ptr<PassportElementErrorUnspecified>>
10390 using Ptr = std::shared_ptr<PassportElementErrorDataField>;
10431 using Ptr = std::shared_ptr<PassportElementErrorFile>;
10466 using Ptr = std::shared_ptr<PassportElementErrorFiles>;
10501 using Ptr = std::shared_ptr<PassportElementErrorFrontSide>;
10536 using Ptr = std::shared_ptr<PassportElementErrorReverseSide>;
10571 using Ptr = std::shared_ptr<PassportElementErrorSelfie>;
10606 using Ptr = std::shared_ptr<PassportElementErrorTranslationFile>;
10642 using Ptr = std::shared_ptr<PassportElementErrorTranslationFiles>;
10678 using Ptr = std::shared_ptr<PassportElementErrorUnspecified>;
10712 using Ptr = std::shared_ptr<PassportFile>;
10744 using Ptr = std::shared_ptr<PhotoSize>;
10781 using Ptr = std::shared_ptr<Poll>;
10786 std::string
id { };
10906 using Ptr = std::shared_ptr<PollAnswer>;
10943 using Ptr = std::shared_ptr<PollMedia>;
10980 std::optional<std::vector<std::shared_ptr<PhotoSize>>>
photo { };
11007 using Ptr = std::shared_ptr<PollOption>;
11062 using Ptr = std::shared_ptr<PollOptionAdded>;
11095 using Ptr = std::shared_ptr<PollOptionDeleted>;
11128 using Ptr = std::shared_ptr<PreCheckoutQuery>;
11133 std::string
id { };
11177 using Ptr = std::shared_ptr<PreparedInlineMessage>;
11182 std::string
id { };
11199 using Ptr = std::shared_ptr<PreparedKeyboardButton>;
11204 std::string
id { };
11216 using Ptr = std::shared_ptr<ProximityAlertTriggered>;
11242 using Ptr = std::shared_ptr<ReactionCount>;
11247 std::shared_ptr<ReactionType>
type { };
11264 using Ptr = std::shared_ptr<ReactionType>;
11266 std::variant<std::shared_ptr<ReactionTypeEmoji>, std::shared_ptr<ReactionTypeCustomEmoji>,
11267 std::shared_ptr<ReactionTypePaid>>
11279 using Ptr = std::shared_ptr<ReactionTypeCustomEmoji>;
11302 using Ptr = std::shared_ptr<ReactionTypeEmoji>;
11328 using Ptr = std::shared_ptr<ReactionTypePaid>;
11346 using Ptr = std::shared_ptr<RefundedPayment>;
11388 using Ptr = std::shared_ptr<ReplyKeyboardMarkup>;
11393 std::vector<std::vector<std::shared_ptr<KeyboardButton>>>
keyboard { };
11446 using Ptr = std::shared_ptr<ReplyKeyboardRemove>;
11474 using Ptr = std::shared_ptr<ReplyParameters>;
11550 using Ptr = std::shared_ptr<ResponseParameters>;
11578 using Ptr = std::shared_ptr<RevenueWithdrawalState>;
11580 std::variant<std::shared_ptr<RevenueWithdrawalStatePending>, std::shared_ptr<RevenueWithdrawalStateSucceeded>,
11581 std::shared_ptr<RevenueWithdrawalStateFailed>>
11593 using Ptr = std::shared_ptr<RevenueWithdrawalStateFailed>;
11611 using Ptr = std::shared_ptr<RevenueWithdrawalStatePending>;
11629 using Ptr = std::shared_ptr<RevenueWithdrawalStateSucceeded>;
11662 using Ptr = std::shared_ptr<RichBlock>;
11665 std::shared_ptr<RichBlockParagraph>, std::shared_ptr<RichBlockSectionHeading>,
11666 std::shared_ptr<RichBlockPreformatted>, std::shared_ptr<RichBlockFooter>, std::shared_ptr<RichBlockDivider>,
11667 std::shared_ptr<RichBlockMathematicalExpression>, std::shared_ptr<RichBlockAnchor>,
11668 std::shared_ptr<RichBlockList>, std::shared_ptr<RichBlockBlockQuotation>,
11669 std::shared_ptr<RichBlockPullQuotation>, std::shared_ptr<RichBlockCollage>, std::shared_ptr<RichBlockSlideshow>,
11670 std::shared_ptr<RichBlockTable>, std::shared_ptr<RichBlockDetails>, std::shared_ptr<RichBlockMap>,
11671 std::shared_ptr<RichBlockAnimation>, std::shared_ptr<RichBlockAudio>, std::shared_ptr<RichBlockPhoto>,
11672 std::shared_ptr<RichBlockVideo>, std::shared_ptr<RichBlockVoiceNote>, std::shared_ptr<RichBlockThinking>>
11684 using Ptr = std::shared_ptr<RichBlockAnchor>;
11707 using Ptr = std::shared_ptr<RichBlockAnimation>;
11740 using Ptr = std::shared_ptr<RichBlockAudio>;
11768 using Ptr = std::shared_ptr<RichBlockBlockQuotation>;
11780 std::vector<std::shared_ptr<RichBlock>>
blocks { };
11796 using Ptr = std::shared_ptr<RichBlockCaption>;
11817 using Ptr = std::shared_ptr<RichBlockCollage>;
11829 std::vector<std::shared_ptr<RichBlock>>
blocks { };
11845 using Ptr = std::shared_ptr<RichBlockDetails>;
11862 std::vector<std::shared_ptr<RichBlock>>
blocks { };
11878 using Ptr = std::shared_ptr<RichBlockDivider>;
11896 using Ptr = std::shared_ptr<RichBlockFooter>;
11919 using Ptr = std::shared_ptr<RichBlockList>;
11931 std::vector<std::shared_ptr<RichBlockListItem>>
items { };
11942 using Ptr = std::shared_ptr<RichBlockListItem>;
11952 std::vector<std::shared_ptr<RichBlock>>
blocks { };
11985 using Ptr = std::shared_ptr<RichBlockMap>;
12029 using Ptr = std::shared_ptr<RichBlockMathematicalExpression>;
12052 using Ptr = std::shared_ptr<RichBlockParagraph>;
12075 using Ptr = std::shared_ptr<RichBlockPhoto>;
12087 std::vector<std::shared_ptr<PhotoSize>>
photo { };
12108 using Ptr = std::shared_ptr<RichBlockPreformatted>;
12136 using Ptr = std::shared_ptr<RichBlockPullQuotation>;
12164 using Ptr = std::shared_ptr<RichBlockSectionHeading>;
12192 using Ptr = std::shared_ptr<RichBlockSlideshow>;
12204 std::vector<std::shared_ptr<RichBlock>>
blocks { };
12220 using Ptr = std::shared_ptr<RichBlockTable>;
12232 std::vector<std::vector<std::shared_ptr<RichBlockTableCell>>>
cells { };
12258 using Ptr = std::shared_ptr<RichBlockTableCell>;
12303 using Ptr = std::shared_ptr<RichBlockThinking>;
12327 using Ptr = std::shared_ptr<RichBlockVideo>;
12360 using Ptr = std::shared_ptr<RichBlockVoiceNote>;
12388 using Ptr = std::shared_ptr<RichMessage>;
12393 std::vector<std::shared_ptr<RichBlock>>
blocks { };
12415 using Ptr = std::shared_ptr<RichText>;
12418 std::shared_ptr<RichTextBold>, std::shared_ptr<RichTextItalic>, std::shared_ptr<RichTextUnderline>,
12419 std::shared_ptr<RichTextStrikethrough>, std::shared_ptr<RichTextSpoiler>, std::shared_ptr<RichTextDateTime>,
12420 std::shared_ptr<RichTextTextMention>, std::shared_ptr<RichTextSubscript>, std::shared_ptr<RichTextSuperscript>,
12421 std::shared_ptr<RichTextMarked>, std::shared_ptr<RichTextCode>, std::shared_ptr<RichTextCustomEmoji>,
12422 std::shared_ptr<RichTextMathematicalExpression>, std::shared_ptr<RichTextUrl>,
12423 std::shared_ptr<RichTextEmailAddress>, std::shared_ptr<RichTextPhoneNumber>,
12424 std::shared_ptr<RichTextBankCardNumber>, std::shared_ptr<RichTextMention>, std::shared_ptr<RichTextHashtag>,
12425 std::shared_ptr<RichTextCashtag>, std::shared_ptr<RichTextBotCommand>, std::shared_ptr<RichTextAnchor>,
12426 std::shared_ptr<RichTextAnchorLink>, std::shared_ptr<RichTextReference>, std::shared_ptr<RichTextReferenceLink>>
12438 using Ptr = std::shared_ptr<RichTextAnchor>;
12461 using Ptr = std::shared_ptr<RichTextAnchorLink>;
12490 using Ptr = std::shared_ptr<RichTextBankCardNumber>;
12518 using Ptr = std::shared_ptr<RichTextBold>;
12541 using Ptr = std::shared_ptr<RichTextBotCommand>;
12569 using Ptr = std::shared_ptr<RichTextCashtag>;
12597 using Ptr = std::shared_ptr<RichTextCode>;
12620 using Ptr = std::shared_ptr<RichTextCustomEmoji>;
12649 using Ptr = std::shared_ptr<RichTextDateTime>;
12683 using Ptr = std::shared_ptr<RichTextEmailAddress>;
12711 using Ptr = std::shared_ptr<RichTextHashtag>;
12739 using Ptr = std::shared_ptr<RichTextItalic>;
12762 using Ptr = std::shared_ptr<RichTextMarked>;
12785 using Ptr = std::shared_ptr<RichTextMathematicalExpression>;
12808 using Ptr = std::shared_ptr<RichTextMention>;
12836 using Ptr = std::shared_ptr<RichTextPhoneNumber>;
12864 using Ptr = std::shared_ptr<RichTextReference>;
12892 using Ptr = std::shared_ptr<RichTextReferenceLink>;
12920 using Ptr = std::shared_ptr<RichTextSpoiler>;
12943 using Ptr = std::shared_ptr<RichTextStrikethrough>;
12966 using Ptr = std::shared_ptr<RichTextSubscript>;
12989 using Ptr = std::shared_ptr<RichTextSuperscript>;
13012 using Ptr = std::shared_ptr<RichTextTextMention>;
13040 using Ptr = std::shared_ptr<RichTextUnderline>;
13063 using Ptr = std::shared_ptr<RichTextUrl>;
13091 using Ptr = std::shared_ptr<SentGuestMessage>;
13107 using Ptr = std::shared_ptr<SentWebAppMessage>;
13125 using Ptr = std::shared_ptr<SharedUser>;
13155 std::optional<std::vector<std::shared_ptr<PhotoSize>>>
photo { };
13166 using Ptr = std::shared_ptr<ShippingAddress>;
13207 using Ptr = std::shared_ptr<ShippingOption>;
13212 std::string
id { };
13222 std::vector<std::shared_ptr<LabeledPrice>>
prices { };
13233 using Ptr = std::shared_ptr<ShippingQuery>;
13238 std::string
id { };
13264 using Ptr = std::shared_ptr<StarAmount>;
13289 using Ptr = std::shared_ptr<StarTransaction>;
13297 std::string
id { };
13336 using Ptr = std::shared_ptr<StarTransactions>;
13352 using Ptr = std::shared_ptr<Sticker>;
13448 using Ptr = std::shared_ptr<StickerSet>;
13489 using Ptr = std::shared_ptr<Story>;
13499 std::int32_t
id { };
13510 using Ptr = std::shared_ptr<StoryArea>;
13520 std::shared_ptr<StoryAreaType>
type { };
13531 using Ptr = std::shared_ptr<StoryAreaPosition>;
13574 using Ptr = std::shared_ptr<StoryAreaType>;
13576 std::variant<std::shared_ptr<StoryAreaTypeLocation>, std::shared_ptr<StoryAreaTypeSuggestedReaction>,
13577 std::shared_ptr<StoryAreaTypeLink>, std::shared_ptr<StoryAreaTypeWeather>,
13578 std::shared_ptr<StoryAreaTypeUniqueGift>>
13591 using Ptr = std::shared_ptr<StoryAreaTypeLink>;
13615 using Ptr = std::shared_ptr<StoryAreaTypeLocation>;
13649 using Ptr = std::shared_ptr<StoryAreaTypeSuggestedReaction>;
13683 using Ptr = std::shared_ptr<StoryAreaTypeUniqueGift>;
13707 using Ptr = std::shared_ptr<StoryAreaTypeWeather>;
13742 using Ptr = std::shared_ptr<SuccessfulPayment>;
13807 using Ptr = std::shared_ptr<SuggestedPostApprovalFailed>;
13819 std::shared_ptr<SuggestedPostPrice>
price { };
13830 using Ptr = std::shared_ptr<SuggestedPostApproved>;
13841 std::shared_ptr<SuggestedPostPrice>
price { };
13857 using Ptr = std::shared_ptr<SuggestedPostDeclined>;
13879 using Ptr = std::shared_ptr<SuggestedPostInfo>;
13890 std::shared_ptr<SuggestedPostPrice>
price { };
13908 using Ptr = std::shared_ptr<SuggestedPostPaid>;
13943 using Ptr = std::shared_ptr<SuggestedPostParameters>;
13948 std::shared_ptr<SuggestedPostPrice>
price { };
13967 using Ptr = std::shared_ptr<SuggestedPostPrice>;
13992 using Ptr = std::shared_ptr<SuggestedPostRefunded>;
14017 using Ptr = std::shared_ptr<SwitchInlineQueryChosenChat>;
14055 using Ptr = std::shared_ptr<TextQuote>;
14067 std::optional<std::vector<std::shared_ptr<MessageEntity>>>
entities { };
14093 using Ptr = std::shared_ptr<TransactionPartner>;
14095 std::variant<std::shared_ptr<TransactionPartnerUser>, std::shared_ptr<TransactionPartnerChat>,
14096 std::shared_ptr<TransactionPartnerAffiliateProgram>, std::shared_ptr<TransactionPartnerFragment>,
14097 std::shared_ptr<TransactionPartnerTelegramAds>, std::shared_ptr<TransactionPartnerTelegramApi>,
14098 std::shared_ptr<TransactionPartnerOther>>
14111 using Ptr = std::shared_ptr<TransactionPartnerAffiliateProgram>;
14140 using Ptr = std::shared_ptr<TransactionPartnerChat>;
14168 using Ptr = std::shared_ptr<TransactionPartnerFragment>;
14191 using Ptr = std::shared_ptr<TransactionPartnerOther>;
14209 using Ptr = std::shared_ptr<TransactionPartnerTelegramAds>;
14227 using Ptr = std::shared_ptr<TransactionPartnerTelegramApi>;
14250 using Ptr = std::shared_ptr<TransactionPartnerUser>;
14295 std::optional<std::vector<std::shared_ptr<PaidMedia>>>
paidMedia { };
14323 using Ptr = std::shared_ptr<UniqueGift>;
14399 using Ptr = std::shared_ptr<UniqueGiftBackdrop>;
14409 std::shared_ptr<UniqueGiftBackdropColors>
colors { };
14425 using Ptr = std::shared_ptr<UniqueGiftBackdropColors>;
14457 using Ptr = std::shared_ptr<UniqueGiftColors>;
14498 using Ptr = std::shared_ptr<UniqueGiftInfo>;
14552 using Ptr = std::shared_ptr<UniqueGiftModel>;
14585 using Ptr = std::shared_ptr<UniqueGiftSymbol>;
14612 using Ptr = std::shared_ptr<Update>;
14787 using Ptr = std::shared_ptr<User>;
14795 std::int64_t
id { };
14897 using Ptr = std::shared_ptr<UserChatBoosts>;
14902 std::vector<std::shared_ptr<ChatBoost>>
boosts { };
14913 using Ptr = std::shared_ptr<UserProfileAudios>;
14934 using Ptr = std::shared_ptr<UserProfilePhotos>;
14944 std::vector<std::vector<std::shared_ptr<PhotoSize>>>
photos { };
14955 using Ptr = std::shared_ptr<UserRating>;
14990 using Ptr = std::shared_ptr<UsersShared>;
15000 std::vector<std::shared_ptr<SharedUser>>
users { };
15011 using Ptr = std::shared_ptr<Venue>;
15058 using Ptr = std::shared_ptr<Video>;
15094 std::optional<std::vector<std::shared_ptr<PhotoSize>>>
cover { };
15104 std::optional<std::vector<std::shared_ptr<VideoQuality>>>
qualities { };
15133 using Ptr = std::shared_ptr<VideoChatEnded>;
15149 using Ptr = std::shared_ptr<VideoChatParticipantsInvited>;
15154 std::vector<std::shared_ptr<User>>
users { };
15165 using Ptr = std::shared_ptr<VideoChatScheduled>;
15183 using Ptr = std::shared_ptr<VideoChatStarted>;
15194 using Ptr = std::shared_ptr<VideoNote>;
15236 using Ptr = std::shared_ptr<VideoQuality>;
15281 using Ptr = std::shared_ptr<Voice>;
15321 using Ptr = std::shared_ptr<WebAppData>;
15343 using Ptr = std::shared_ptr<WebAppInfo>;
15360 using Ptr = std::shared_ptr<WebhookInfo>;
15423 using Ptr = std::shared_ptr<WriteAccessAllowed>;
TGBOT_API void to_json(nlohmann::json &json, const AcceptedGiftTypes &value)
TGBOT_API void from_json(const nlohmann::json &json, AcceptedGiftTypes &value)
This object describes the types of gifts that can be gifted to a user or a chat.
bool unlimitedGifts
True, if unlimited regular gifts are accepted.
bool giftsFromChannels
True, if transfers of unique gifts from channels are accepted.
std::shared_ptr< AcceptedGiftTypes > Ptr
bool limitedGifts
True, if limited regular gifts are accepted.
bool uniqueGifts
True, if unique gifts or gifts that can be upgraded to unique for free are accepted.
bool premiumSubscription
True, if a Telegram Premium subscription is accepted.
Contains information about the affiliate that received a commission via this transaction.
std::int32_t commissionPerMille
The number of Telegram Stars received by the affiliate for each 1000 Telegram Stars received by the b...
std::shared_ptr< Chat > affiliateChat
Optional. The chat that received an affiliate commission if it was received by a chat.
std::shared_ptr< AffiliateInfo > Ptr
std::optional< std::int32_t > nanostarAmount
Optional. The number of 1/1000000000 shares of Telegram Stars received by the affiliate; from -999999...
std::int32_t amount
Integer amount of Telegram Stars received by the affiliate from the transaction, rounded to 0; can be...
std::shared_ptr< User > affiliateUser
Optional. The bot or the user that received an affiliate commission if it was received by a bot or a ...
This object represents an animation file (GIF or H.264/MPEG-4 AVC video without sound).
std::int32_t duration
Duration of the video in seconds as defined by the sender.
std::optional< std::int64_t > fileSize
Optional. File size in bytes. It can be bigger than 2^31 and some programming languages may have diff...
std::string fileUniqueId
Unique identifier for this file, which is supposed to be the same over time and for different bots....
std::optional< std::string > fileName
Optional. Original animation filename as defined by the sender.
std::shared_ptr< Animation > Ptr
std::int32_t height
Video height as defined by the sender.
std::shared_ptr< PhotoSize > thumbnail
Optional. Animation thumbnail as defined by the sender.
std::int32_t width
Video width as defined by the sender.
std::optional< std::string > mimeType
Optional. MIME type of the file as defined by the sender.
std::string fileId
Identifier for this file, which can be used to download or reuse the file.
This object represents an audio file to be treated as music by the Telegram clients.
std::optional< std::string > mimeType
Optional. MIME type of the file as defined by the sender.
std::optional< std::string > performer
Optional. Performer of the audio as defined by the sender or by audio tags.
std::int32_t duration
Duration of the audio in seconds as defined by the sender.
std::optional< std::string > title
Optional. Title of the audio as defined by the sender or by audio tags.
std::optional< std::int64_t > fileSize
Optional. File size in bytes. It can be bigger than 2^31 and some programming languages may have diff...
std::shared_ptr< Audio > Ptr
std::optional< std::string > fileName
Optional. Original filename as defined by the sender.
std::shared_ptr< PhotoSize > thumbnail
Optional. Thumbnail of the album cover to which the music file belongs.
std::string fileId
Identifier for this file, which can be used to download or reuse the file.
std::string fileUniqueId
Unique identifier for this file, which is supposed to be the same over time and for different bots....
The background is a gradient fill.
static TGBOT_API const std::string TYPE
std::string type
Type of the background fill, always “gradient”
std::int32_t rotationAngle
Clockwise rotation angle of the background fill in degrees; 0-359.
std::int32_t topColor
Top color of the gradient in the RGB24 format.
std::int32_t bottomColor
Bottom color of the gradient in the RGB24 format.
std::shared_ptr< BackgroundFillGradient > Ptr
This object describes the way a background is filled based on the selected colors....
std::shared_ptr< BackgroundFill > Ptr
std::variant< std::shared_ptr< BackgroundFillSolid >, std::shared_ptr< BackgroundFillGradient >, std::shared_ptr< BackgroundFillFreeformGradient > > value
The background is filled using the selected color.
static TGBOT_API const std::string TYPE
std::int32_t color
The color of the background fill in the RGB24 format.
std::shared_ptr< BackgroundFillSolid > Ptr
std::string type
Type of the background fill, always “solid”
The background is taken directly from a built-in chat theme.
std::string themeName
Name of the chat theme, which is usually an emoji.
static TGBOT_API const std::string TYPE
std::string type
Type of the background, always “chat_theme”
std::shared_ptr< BackgroundTypeChatTheme > Ptr
The background is automatically filled based on the selected colors.
std::int32_t darkThemeDimming
Dimming of the background in dark themes, as a percentage; 0-100.
std::shared_ptr< BackgroundTypeFill > Ptr
std::shared_ptr< BackgroundFill > fill
The background fill.
std::string type
Type of the background, always “fill”
static TGBOT_API const std::string TYPE
This object describes the type of a background. Currently, it can be one of BackgroundTypeFill Backgr...
std::variant< std::shared_ptr< BackgroundTypeFill >, std::shared_ptr< BackgroundTypeWallpaper >, std::shared_ptr< BackgroundTypePattern >, std::shared_ptr< BackgroundTypeChatTheme > > value
std::shared_ptr< BackgroundType > Ptr
The background is a .PNG or .TGV (gzipped subset of SVG with MIME type “application/x-tgwallpattern”)...
std::int32_t intensity
Intensity of the pattern when it is shown above the filled background; 0-100.
std::shared_ptr< BackgroundTypePattern > Ptr
std::shared_ptr< BackgroundFill > fill
The background fill that is combined with the pattern.
std::shared_ptr< Document > document
Document with the pattern.
std::optional< bool > isInverted
Optional. True, if the background fill must be applied only to the pattern itself....
static TGBOT_API const std::string TYPE
std::string type
Type of the background, always “pattern”
std::optional< bool > isMoving
Optional. True, if the background moves slightly when the device is tilted.
The background is a wallpaper in the JPEG format.
std::optional< bool > isBlurred
Optional. True, if the wallpaper is downscaled to fit in a 450x450 square and then box- blurred with ...
std::optional< bool > isMoving
Optional. True, if the background moves slightly when the device is tilted.
std::string type
Type of the background, always “wallpaper”
std::int32_t darkThemeDimming
Dimming of the background in dark themes, as a percentage; 0-100.
std::shared_ptr< BackgroundTypeWallpaper > Ptr
std::shared_ptr< Document > document
Document with the wallpaper.
static TGBOT_API const std::string TYPE
Describes the birthdate of a user.
std::int32_t month
Month of the user's birth; 1-12.
std::optional< std::int32_t > year
Optional. Year of the user's birth.
std::int32_t day
Day of the user's birth; 1-31.
std::shared_ptr< Birthdate > Ptr
This object describes the access settings of a bot.
std::shared_ptr< BotAccessSettings > Ptr
bool isAccessRestricted
True, if only selected users can access the bot. The bot's owner can always access it.
std::optional< std::vector< std::shared_ptr< User > > > addedUsers
Optional. The list of other users who have access to the bot if the access is restricted.
This object represents a bot command.
std::string command
Text of the command; 1-32 characters. Can contain only lowercase English letters, digits and undersco...
std::shared_ptr< BotCommand > Ptr
std::string description
Description of the command; 1-256 characters.
std::optional< bool > isEphemeral
Optional. True, if the command sends an ephemeral message, which can be seen only by the sender of th...
Represents the scope of bot commands, covering all group and supergroup chat administrators.
std::shared_ptr< BotCommandScopeAllChatAdministrators > Ptr
std::string type
Scope type, must be all_chat_administrators.
static TGBOT_API const std::string TYPE
Represents the scope of bot commands, covering all group and supergroup chats.
std::shared_ptr< BotCommandScopeAllGroupChats > Ptr
static TGBOT_API const std::string TYPE
std::string type
Scope type, must be all_group_chats.
Represents the scope of bot commands, covering all private chats.
std::shared_ptr< BotCommandScopeAllPrivateChats > Ptr
static TGBOT_API const std::string TYPE
std::string type
Scope type, must be all_private_chats.
Represents the scope of bot commands, covering all administrators of a specific group or supergroup c...
std::int64_t chatId
Unique identifier for the target chat or username of the target supergroup in the format @username....
static TGBOT_API const std::string TYPE
std::string type
Scope type, must be chat_administrators.
std::shared_ptr< BotCommandScopeChatAdministrators > Ptr
Represents the scope of bot commands, covering a specific chat.
std::int64_t chatId
Unique identifier for the target chat or username of the target supergroup in the format @username....
static TGBOT_API const std::string TYPE
std::shared_ptr< BotCommandScopeChat > Ptr
std::string type
Scope type, must be chat.
Represents the scope of bot commands, covering a specific member of a group or supergroup chat.
std::shared_ptr< BotCommandScopeChatMember > Ptr
static TGBOT_API const std::string TYPE
std::int64_t userId
Unique identifier of the target user.
std::string type
Scope type, must be chat_member.
std::int64_t chatId
Unique identifier for the target chat or username of the target supergroup in the format @username....
Represents the default scope of bot commands. Default commands are used if no commands with a narrowe...
std::shared_ptr< BotCommandScopeDefault > Ptr
std::string type
Scope type, must be default.
static TGBOT_API const std::string TYPE
This object represents the scope to which bot commands are applied. Currently, the following 7 scopes...
std::shared_ptr< BotCommandScope > Ptr
std::variant< std::shared_ptr< BotCommandScopeDefault >, std::shared_ptr< BotCommandScopeAllPrivateChats >, std::shared_ptr< BotCommandScopeAllGroupChats >, std::shared_ptr< BotCommandScopeAllChatAdministrators >, std::shared_ptr< BotCommandScopeChat >, std::shared_ptr< BotCommandScopeChatAdministrators >, std::shared_ptr< BotCommandScopeChatMember > > value
This object represents the bot's description.
std::string description
The bot's description.
std::shared_ptr< BotDescription > Ptr
This object represents the bot's name.
std::string name
The bot's name.
std::shared_ptr< BotName > Ptr
This object represents the bot's short description.
std::shared_ptr< BotShortDescription > Ptr
std::string shortDescription
The bot's short description.
This object contains information about changes to a user payment subscription toward the current bot.
std::string invoicePayload
Bot-specified invoice payload.
std::string state
The new state of the subscription. Currently, it can be one of “canceled” if the user canceled the su...
std::shared_ptr< User > user
User who subscribed for payments toward the bot.
std::shared_ptr< BotSubscriptionUpdated > Ptr
Represents the rights of a business bot.
std::optional< bool > canViewGiftsAndStars
Optional. True, if the bot can view gifts and the amount of Telegram Stars owned by the business acco...
std::shared_ptr< BusinessBotRights > Ptr
std::optional< bool > canEditUsername
Optional. True, if the bot can edit the username of the business account.
std::optional< bool > canDeleteAllMessages
Optional. True, if the bot can delete all private messages in managed chats.
std::optional< bool > canManageStories
Optional. True, if the bot can post, edit and delete stories on behalf of the business account.
std::optional< bool > canEditProfilePhoto
Optional. True, if the bot can edit the profile photo of the business account.
std::optional< bool > canEditName
Optional. True, if the bot can edit the first and last name of the business account.
std::optional< bool > canTransferAndUpgradeGifts
Optional. True, if the bot can transfer and upgrade gifts owned by the business account.
std::optional< bool > canChangeGiftSettings
Optional. True, if the bot can change the privacy settings pertaining to gifts for the business accou...
std::optional< bool > canTransferStars
Optional. True, if the bot can transfer Telegram Stars received by the business account to its own ac...
std::optional< bool > canDeleteSentMessages
Optional. True, if the bot can delete messages sent by the bot.
std::optional< bool > canReply
Optional. True, if the bot can send and edit messages in the private chats that had incoming messages...
std::optional< bool > canConvertGiftsToStars
Optional. True, if the bot can convert regular gifts owned by the business account to Telegram Stars.
std::optional< bool > canReadMessages
Optional. True, if the bot can mark incoming private messages as read.
std::optional< bool > canEditBio
Optional. True, if the bot can edit the bio of the business account.
Describes the connection of the bot with a business account.
std::shared_ptr< User > user
Business account user that created the business connection.
std::int64_t userChatId
Identifier of a private chat with the user who created the business connection. This number may have ...
bool isEnabled
True, if the connection is active.
std::int32_t date
Date the connection was established in Unix time.
std::shared_ptr< BusinessBotRights > rights
Optional. Rights of the business bot.
std::shared_ptr< BusinessConnection > Ptr
Contains information about the start page settings of a Telegram Business account.
std::shared_ptr< BusinessIntro > Ptr
std::optional< std::string > message
Optional. Message text of the business intro.
std::optional< std::string > title
Optional. Title text of the business intro.
std::shared_ptr< Sticker > sticker
Optional. Sticker of the business intro.
Contains information about the location of a Telegram Business account.
std::shared_ptr< BusinessLocation > Ptr
std::shared_ptr< Location > location
Optional. Location of the business.
std::string address
Address of the business.
This object is received when messages are deleted from a connected business account.
std::string businessConnectionId
Unique identifier of the business connection.
std::shared_ptr< BusinessMessagesDeleted > Ptr
std::shared_ptr< Chat > chat
Information about a chat in the business account. The bot may not have access to the chat or the corr...
std::vector< std::int32_t > messageIds
The list of identifiers of deleted messages in the chat of the business account.
Describes the opening hours of a business.
std::string timeZoneName
Unique name of the time zone for which the opening hours are defined.
std::shared_ptr< BusinessOpeningHours > Ptr
std::vector< std::shared_ptr< BusinessOpeningHoursInterval > > openingHours
List of time intervals describing business opening hours.
Describes an interval of time during which a business is open.
std::int32_t openingMinute
The minute's sequence number in a week, starting on Monday, marking the start of the time interval du...
std::int32_t closingMinute
The minute's sequence number in a week, starting on Monday, marking the end of the time interval duri...
std::shared_ptr< BusinessOpeningHoursInterval > Ptr
A placeholder, currently holds no information. Use BotFather to set up your game.
std::shared_ptr< CallbackGame > Ptr
This object represents an incoming callback query from a callback button in an inline keyboard....
std::string chatInstance
Global identifier, uniquely corresponding to the chat to which the message with the callback button w...
std::shared_ptr< CallbackQuery > Ptr
std::shared_ptr< MaybeInaccessibleMessage > message
Optional. Message sent by the bot with the callback button that originated the query.
std::shared_ptr< User > from
Sender.
std::optional< std::string > data
Optional. Data associated with the callback button. Be aware that the message originated the query ca...
std::optional< std::string > inlineMessageId
Optional. Identifier of the message sent via the bot in inline mode, that originated the query.
std::optional< std::string > gameShortName
Optional. Short name of a Game to be returned, serves as the unique identifier for the game.
Represents the rights of an administrator in a chat.
std::optional< bool > canPinMessages
Optional. True, if the user is allowed to pin messages; for groups and supergroups only.
bool canChangeInfo
True, if the user is allowed to change the chat title, photo and other settings.
bool canManageVideoChats
True, if the administrator can manage video chats.
bool canEditStories
True, if the administrator can edit stories posted by other users, post stories to the chat page,...
std::optional< bool > canManageTopics
Optional. True, if the user is allowed to create, rename, close, and reopen forum topics; for supergr...
std::optional< bool > canManageDirectMessages
Optional. True, if the administrator can manage direct messages of the channel and decline suggested ...
bool canDeleteStories
True, if the administrator can delete stories posted by other users.
bool canInviteUsers
True, if the user is allowed to invite new users to the chat.
std::optional< bool > canEditMessages
Optional. True, if the administrator can edit messages of other users and can pin messages; for chann...
bool canPromoteMembers
True, if the administrator can add new administrators with a subset of their own privileges or demote...
bool canDeleteMessages
True, if the administrator can delete messages of other users.
bool canManageChat
True, if the administrator can access the chat event log, get boost list, see hidden supergroup and c...
std::optional< bool > canPostMessages
Optional. True, if the administrator can post messages in the channel, approve suggested posts,...
std::optional< bool > canManageTags
Optional. True, if the administrator can edit the tags of regular members; for groups and supergroups...
bool isAnonymous
True, if the user's presence in the chat is hidden.
bool canRestrictMembers
True, if the administrator can restrict, ban or unban chat members, or access supergroup statistics.
std::shared_ptr< ChatAdministratorRights > Ptr
bool canPostStories
True, if the administrator can post stories to the chat.
This object represents a chat background.
std::shared_ptr< BackgroundType > type
Type of the background.
std::shared_ptr< ChatBackground > Ptr
This object represents a service message about a user boosting a chat.
std::shared_ptr< ChatBoostAdded > Ptr
std::int32_t boostCount
Number of boosts added by the user.
This object contains information about a chat boost.
std::int32_t expirationDate
Point in time (Unix timestamp) when the boost will automatically expire, unless the booster's Telegra...
std::string boostId
Unique identifier of the boost.
std::shared_ptr< ChatBoostSource > source
Source of the added boost.
std::int32_t addDate
Point in time (Unix timestamp) when the chat was boosted.
std::shared_ptr< ChatBoost > Ptr
This object represents a boost removed from a chat.
std::shared_ptr< ChatBoostRemoved > Ptr
std::shared_ptr< Chat > chat
Chat which was boosted.
std::shared_ptr< ChatBoostSource > source
Source of the removed boost.
std::string boostId
Unique identifier of the boost.
std::int32_t removeDate
Point in time (Unix timestamp) when the boost was removed.
The boost was obtained by the creation of Telegram Premium gift codes to boost a chat....
std::shared_ptr< ChatBoostSourceGiftCode > Ptr
std::shared_ptr< User > user
User for which the gift code was created.
std::string source
Source of the boost, always “gift_code”
static TGBOT_API const std::string SOURCE
The boost was obtained by the creation of a Telegram Premium or a Telegram Star giveaway....
std::shared_ptr< User > user
Optional. User that won the prize in the giveaway if any; for Telegram Premium giveaways only.
std::optional< bool > isUnclaimed
Optional. True, if the giveaway was completed, but there was no user to win the prize.
std::shared_ptr< ChatBoostSourceGiveaway > Ptr
static TGBOT_API const std::string SOURCE
std::string source
Source of the boost, always “giveaway”
std::optional< std::int32_t > prizeStarCount
Optional. The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaw...
std::int32_t giveawayMessageId
Identifier of a message in the chat with the giveaway; the message could have been deleted already....
This object describes the source of a chat boost. It can be one of ChatBoostSourcePremium ChatBoostSo...
std::shared_ptr< ChatBoostSource > Ptr
std::variant< std::shared_ptr< ChatBoostSourcePremium >, std::shared_ptr< ChatBoostSourceGiftCode >, std::shared_ptr< ChatBoostSourceGiveaway > > value
The boost was obtained by subscribing to Telegram Premium or by gifting a Telegram Premium subscripti...
std::shared_ptr< User > user
User that boosted the chat.
std::shared_ptr< ChatBoostSourcePremium > Ptr
std::string source
Source of the boost, always “premium”
static TGBOT_API const std::string SOURCE
This object represents a boost added to a chat or changed.
std::shared_ptr< ChatBoostUpdated > Ptr
std::shared_ptr< ChatBoost > boost
Information about the chat boost.
std::shared_ptr< Chat > chat
Chat which was boosted.
This object contains full information about a chat.
std::shared_ptr< Message > pinnedMessage
Optional. The most recent pinned message (by sending date).
std::string type
Type of the chat, can be either “private”, “group”, “supergroup” or “channel”
std::shared_ptr< Audio > firstProfileAudio
Optional. For private chats, the first audio added to the profile of the user.
std::shared_ptr< UserRating > rating
Optional. For private chats, the rating of the user if any.
std::optional< std::int64_t > linkedChatId
Optional. Unique identifier for the linked chat, i.e. the discussion group identifier for a channel a...
std::optional< bool > hasRestrictedVoiceAndVideoMessages
Optional. True, if the privacy settings of the other party restrict sending voice and video note mess...
std::shared_ptr< Chat > personalChat
Optional. For private chats, the personal channel of the user.
std::optional< std::string > backgroundCustomEmojiId
Optional. Custom emoji identifier of the emoji chosen by the chat for the reply header and link previ...
std::optional< std::string > inviteLink
Optional. Primary invite link, for groups, supergroups and channel chats.
std::shared_ptr< ChatFullInfo > Ptr
std::optional< std::string > description
Optional. Description, for groups, supergroups and channel chats.
std::shared_ptr< User > guardBot
Optional. The bot that processes join request queries in the chat. The field is only available to cha...
std::int32_t maxReactionCount
The maximum number of reactions that can be set on a message in the chat.
std::optional< std::int32_t > messageAutoDeleteTime
Optional. The time after which all messages sent to the chat will be automatically deleted; in second...
std::optional< std::int32_t > emojiStatusExpirationDate
Optional. Expiration date of the emoji status of the chat or the other party in a private chat,...
std::optional< bool > hasVisibleHistory
Optional. True, if new chat members will have access to old messages; available only to chat administ...
std::optional< std::vector< std::shared_ptr< ReactionType > > > availableReactions
Optional. List of available reactions allowed in the chat. If omitted, then all emoji reactions are a...
std::optional< std::string > customEmojiStickerSetName
Optional. For supergroups, the name of the group's custom emoji sticker set. Custom emoji from this s...
std::optional< std::int32_t > unrestrictBoostCount
Optional. For supergroups, the minimum number of boosts that a non-administrator user needs to add in...
std::optional< std::string > bio
Optional. Bio of the other party in a private chat.
std::optional< std::string > profileBackgroundCustomEmojiId
Optional. Custom emoji identifier of the emoji chosen by the chat for its profile background.
std::optional< std::string > username
Optional. Username, for private chats, supergroups and channels if available.
std::optional< std::string > title
Optional. Title, for supergroups, channels and group chats.
std::shared_ptr< ChatLocation > location
Optional. For supergroups, the location to which the supergroup is connected.
std::shared_ptr< AcceptedGiftTypes > acceptedGiftTypes
Information about types of gifts that are accepted by the chat or by the corresponding user for priva...
std::shared_ptr< ChatPermissions > permissions
Optional. Default chat member permissions, for groups and supergroups.
std::shared_ptr< Community > community
Optional. The Community to which the chat belongs.
std::int32_t accentColorId
Identifier of the accent color for the chat name and backgrounds of the chat photo,...
std::optional< bool > hasHiddenMembers
Optional. True, if non-administrators can only get the list of bots and administrators in the chat.
std::shared_ptr< BusinessLocation > businessLocation
Optional. For private chats with business accounts, the location of the business.
std::shared_ptr< Chat > parentChat
Optional. Information about the corresponding channel chat; for direct messages chats only.
std::shared_ptr< UniqueGiftColors > uniqueGiftColors
Optional. The color scheme based on a unique gift that must be used for the chat's name,...
std::optional< std::string > firstName
Optional. First name of the other party in a private chat.
std::optional< std::int32_t > slowModeDelay
Optional. For supergroups, the minimum allowed delay between consecutive messages sent by each unpriv...
std::optional< bool > hasProtectedContent
Optional. True, if messages from the chat can't be forwarded to other chats.
std::shared_ptr< BusinessIntro > businessIntro
Optional. For private chats with business accounts, the intro of the business.
std::optional< bool > hasAggressiveAntiSpamEnabled
Optional. True, if aggressive anti-spam checks are enabled in the supergroup. The field is only avail...
std::optional< std::string > lastName
Optional. Last name of the other party in a private chat.
std::shared_ptr< ChatPhoto > photo
Optional. Chat photo.
std::optional< bool > isDirectMessages
Optional. True, if the chat is the direct messages chat of a channel.
std::optional< bool > isForum
Optional. True, if the supergroup chat is a forum (has topics enabled).
std::optional< std::int32_t > paidMessageStarCount
Optional. The number of Telegram Stars a general user has to pay to send a message to the chat.
std::optional< std::string > emojiStatusCustomEmojiId
Optional. Custom emoji identifier of the emoji status of the chat or the other party in a private cha...
std::optional< bool > joinByRequest
Optional. True, if all users directly joining the supergroup without using an invite link need to be ...
std::optional< std::vector< std::string > > activeUsernames
Optional. If non-empty, the list of all active chat usernames; for private chats, supergroups and cha...
std::optional< bool > canSetStickerSet
Optional. True, if the bot can change the group sticker set.
std::optional< std::string > stickerSetName
Optional. For supergroups, name of the group sticker set.
std::optional< std::int32_t > profileAccentColorId
Optional. Identifier of the accent color for the chat's profile background. See profile accent colors...
std::shared_ptr< Birthdate > birthdate
Optional. For private chats, the date of birth of the user.
std::shared_ptr< BusinessOpeningHours > businessOpeningHours
Optional. For private chats with business accounts, the opening hours of the business.
std::optional< bool > hasPrivateForwards
Optional. True, if privacy settings of the other party in the private chat allows to use tg://user?...
std::optional< bool > canSendPaidMedia
Optional. True, if paid media messages can be sent or forwarded to the channel chat....
std::optional< bool > joinToSendMessages
Optional. True, if users need to join the supergroup before they can send messages.
This object represents a chat.
std::optional< std::string > firstName
Optional. First name of the other party in a private chat.
std::optional< std::string > lastName
Optional. Last name of the other party in a private chat.
std::optional< bool > isForum
Optional. True, if the supergroup chat is a forum (has topics enabled).
std::optional< bool > isDirectMessages
Optional. True, if the chat is the direct messages chat of a channel.
Type type
Type of the chat, can be either “private”, “group”, “supergroup” or “channel”
std::optional< std::string > title
Optional. Title, for supergroups, channels and group chats.
std::shared_ptr< Chat > Ptr
std::optional< std::string > username
Optional. Username, for private chats, supergroups and channels if available.
Represents an invite link for a chat.
std::optional< std::int32_t > expireDate
Optional. Point in time (Unix timestamp) when the link will expire or has been expired.
std::optional< std::string > name
Optional. Invite link name.
bool isRevoked
True, if the link is revoked.
bool createsJoinRequest
True, if users joining the chat via the link need to be approved by chat administrators.
bool isPrimary
True, if the link is primary.
std::optional< std::int32_t > pendingJoinRequestCount
Optional. Number of pending join requests created using this link.
std::optional< std::int32_t > subscriptionPeriod
Optional. The number of seconds the subscription will be active for before the next payment.
std::optional< std::int32_t > memberLimit
Optional. The maximum number of users that can be members of the chat simultaneously after joining th...
std::shared_ptr< User > creator
Creator of the link.
std::optional< std::int32_t > subscriptionPrice
Optional. The amount of Telegram Stars a user must pay initially and after each subsequent subscripti...
std::string inviteLink
The invite link. If the link was created by another chat administrator, then the second part of the l...
std::shared_ptr< ChatInviteLink > Ptr
Represents a join request sent to a chat.
std::shared_ptr< Chat > chat
Chat to which the request was sent.
std::int32_t date
Date the request was sent in Unix time.
std::optional< std::string > queryId
Optional. Identifier of the join request query; for bots assigned to process join requests only....
std::optional< std::string > bio
Optional. Bio of the user.
std::shared_ptr< User > from
User that sent the join request.
std::int64_t userChatId
Identifier of a private chat with the user who sent the join request. This number may have more than ...
std::shared_ptr< ChatJoinRequest > Ptr
std::shared_ptr< ChatInviteLink > inviteLink
Optional. Chat invite link that was used by the user to send the join request.
Represents a location to which a chat is connected.
std::shared_ptr< ChatLocation > Ptr
std::shared_ptr< Location > location
The location to which the supergroup is connected. Can't be a live location.
std::string address
Location address; 1-64 characters, as defined by the chat owner.
Represents a chat member that has some additional privileges.
bool canInviteUsers
True, if the user is allowed to invite new users to the chat.
bool canManageVideoChats
True, if the administrator can manage video chats.
bool canPromoteMembers
True, if the administrator can add new administrators with a subset of their own privileges or demote...
std::shared_ptr< User > user
Information about the user.
std::shared_ptr< ChatMemberAdministrator > Ptr
std::optional< bool > canManageDirectMessages
Optional. True, if the administrator can manage direct messages of the channel and decline suggested ...
std::optional< std::string > customTitle
Optional. Custom title for this user.
std::string status
The member's status in the chat, always “administrator”
bool isAnonymous
True, if the user's presence in the chat is hidden.
static TGBOT_API const std::string STATUS
std::optional< bool > canManageTags
Optional. True, if the administrator can edit the tags of regular members; for groups and supergroups...
std::optional< bool > canManageTopics
Optional. True, if the user is allowed to create, rename, close, and reopen forum topics; for supergr...
bool canEditStories
True, if the administrator can edit stories posted by other users, post stories to the chat page,...
bool canManageChat
True, if the administrator can access the chat event log, get boost list, see hidden supergroup and c...
bool canChangeInfo
True, if the user is allowed to change the chat title, photo and other settings.
bool canPostStories
True, if the administrator can post stories to the chat.
std::optional< bool > canEditMessages
Optional. True, if the administrator can edit messages of other users and can pin messages; for chann...
bool canBeEdited
True, if the bot is allowed to edit administrator privileges of that user.
bool canRestrictMembers
True, if the administrator can restrict, ban or unban chat members, or access supergroup statistics.
std::optional< bool > canPinMessages
Optional. True, if the user is allowed to pin messages; for groups and supergroups only.
bool canDeleteStories
True, if the administrator can delete stories posted by other users.
bool canDeleteMessages
True, if the administrator can delete messages of other users.
std::optional< bool > canPostMessages
Optional. True, if the administrator can post messages in the channel, approve suggested posts,...
Represents a chat member that was banned in the chat and can't return to the chat or view chat messag...
std::shared_ptr< ChatMemberBanned > Ptr
std::int32_t untilDate
Date when restrictions will be lifted for this user; Unix time. If 0, then the user is banned forever...
std::shared_ptr< User > user
Information about the user.
std::string status
The member's status in the chat, always “kicked”
static TGBOT_API const std::string STATUS
This object contains information about one member of a chat. Currently, the following 6 types of chat...
std::variant< std::shared_ptr< ChatMemberOwner >, std::shared_ptr< ChatMemberAdministrator >, std::shared_ptr< ChatMemberMember >, std::shared_ptr< ChatMemberRestricted >, std::shared_ptr< ChatMemberLeft >, std::shared_ptr< ChatMemberBanned > > value
std::shared_ptr< ChatMember > Ptr
Represents a chat member that isn't currently a member of the chat, but may join it themselves.
std::shared_ptr< ChatMemberLeft > Ptr
std::shared_ptr< User > user
Information about the user.
static TGBOT_API const std::string STATUS
std::string status
The member's status in the chat, always “left”
Represents a chat member that has no additional privileges or restrictions.
std::shared_ptr< ChatMemberMember > Ptr
std::string status
The member's status in the chat, always “member”
static TGBOT_API const std::string STATUS
std::optional< std::int32_t > untilDate
Optional. Date when the user's subscription will expire; Unix time.
std::optional< std::string > tag
Optional. Tag of the member.
std::shared_ptr< User > user
Information about the user.
Represents a chat member that owns the chat and has all administrator privileges.
std::shared_ptr< User > user
Information about the user.
bool isAnonymous
True, if the user's presence in the chat is hidden.
std::optional< std::string > customTitle
Optional. Custom title for this user.
std::shared_ptr< ChatMemberOwner > Ptr
std::string status
The member's status in the chat, always “creator”
static TGBOT_API const std::string STATUS
Represents a chat member that is under certain restrictions in the chat. Supergroups only.
bool canChangeInfo
True, if the user is allowed to change the chat title, photo and other settings.
bool canSendVideoNotes
True, if the user is allowed to send video notes.
bool canSendDocuments
True, if the user is allowed to send documents.
bool canSendPolls
True, if the user is allowed to send polls and checklists.
std::shared_ptr< User > user
Information about the user.
std::string status
The member's status in the chat, always “restricted”
bool canPinMessages
True, if the user is allowed to pin messages.
bool canSendVideos
True, if the user is allowed to send videos.
bool canSendPhotos
True, if the user is allowed to send photos.
bool canSendVoiceNotes
True, if the user is allowed to send voice notes.
bool canAddWebPagePreviews
True, if the user is allowed to add web page previews to their messages.
bool isMember
True, if the user is a member of the chat at the moment of the request.
std::shared_ptr< ChatMemberRestricted > Ptr
bool canManageTopics
True, if the user is allowed to create forum topics.
bool canSendOtherMessages
True, if the user is allowed to send animations, games, stickers and use inline bots.
bool canSendMessages
True, if the user is allowed to send text messages, rich messages, contacts, giveaways,...
bool canEditTag
True, if the user is allowed to edit their own tag.
bool canSendAudios
True, if the user is allowed to send audios.
static TGBOT_API const std::string STATUS
bool canInviteUsers
True, if the user is allowed to invite new users to the chat.
std::int32_t untilDate
Date when restrictions will be lifted for this user; Unix time. If 0, then the user is restricted for...
std::optional< std::string > tag
Optional. Tag of the member.
bool canReactToMessages
True, if the user is allowed to react to messages.
This object represents changes in the status of a chat member.
std::int32_t date
Date the change was done in Unix time.
std::shared_ptr< Chat > chat
Chat the user belongs to.
std::optional< bool > viaChatFolderInviteLink
Optional. True, if the user joined the chat via a chat folder invite link.
std::shared_ptr< ChatMemberUpdated > Ptr
std::optional< bool > viaJoinRequest
Optional. True, if the user joined the chat after sending a direct join request without using an invi...
std::shared_ptr< User > from
Performer of the action, which resulted in the change.
std::shared_ptr< ChatInviteLink > inviteLink
Optional. Chat invite link, which was used by the user to join the chat; for joining by invite link e...
std::shared_ptr< ChatMember > newChatMember
New information about the chat member.
std::shared_ptr< ChatMember > oldChatMember
Previous information about the chat member.
Describes a service message about an ownership change in the chat.
std::shared_ptr< User > newOwner
The new owner of the chat.
std::shared_ptr< ChatOwnerChanged > Ptr
Describes a service message about the chat owner leaving the chat.
std::shared_ptr< User > newOwner
Optional. The user who will become the new owner of the chat if the previous owner does not return to...
std::shared_ptr< ChatOwnerLeft > Ptr
Describes actions that a non-administrator user is allowed to take in a chat.
std::optional< bool > canSendAudios
Optional. True, if the user is allowed to send audios.
std::optional< bool > canSendDocuments
Optional. True, if the user is allowed to send documents.
std::optional< bool > canInviteUsers
Optional. True, if the user is allowed to invite new users to the chat.
std::optional< bool > canSendOtherMessages
Optional. True, if the user is allowed to send animations, games, stickers and use inline bots.
std::optional< bool > canAddWebPagePreviews
Optional. True, if the user is allowed to add web page previews to their messages.
std::optional< bool > canEditTag
Optional. True, if the user is allowed to edit their own tag. If omitted, defaults to the value of ca...
std::optional< bool > canSendPolls
Optional. True, if the user is allowed to send polls and checklists.
std::optional< bool > canReactToMessages
Optional. True, if the user is allowed to react to messages. If omitted, defaults to the value of can...
std::optional< bool > canChangeInfo
Optional. True, if the user is allowed to change the chat title, photo and other settings....
std::optional< bool > canSendMessages
Optional. True, if the user is allowed to send text messages, rich messages, contacts,...
std::optional< bool > canPinMessages
Optional. True, if the user is allowed to pin messages. Ignored in public supergroups.
std::optional< bool > canManageTopics
Optional. True, if the user is allowed to create forum topics. If omitted, defaults to the value of c...
std::shared_ptr< ChatPermissions > Ptr
std::optional< bool > canSendVideos
Optional. True, if the user is allowed to send videos.
std::optional< bool > canSendVoiceNotes
Optional. True, if the user is allowed to send voice notes.
std::optional< bool > canSendPhotos
Optional. True, if the user is allowed to send photos.
std::optional< bool > canSendVideoNotes
Optional. True, if the user is allowed to send video notes.
This object represents a chat photo.
std::string smallFileUniqueId
Unique file identifier of small (160x160) chat photo, which is supposed to be the same over time and ...
std::string smallFileId
File identifier of small (160x160) chat photo. This file_id can be used only for photo download and o...
std::string bigFileUniqueId
Unique file identifier of big (640x640) chat photo, which is supposed to be the same over time and fo...
std::string bigFileId
File identifier of big (640x640) chat photo. This file_id can be used only for photo download and onl...
std::shared_ptr< ChatPhoto > Ptr
This object contains information about a chat that was shared with the bot using a KeyboardButtonRequ...
std::optional< std::string > username
Optional. Username of the chat, if the username was requested by the bot and available.
std::optional< std::vector< std::shared_ptr< PhotoSize > > > photo
Optional. Available sizes of the chat photo, if the photo was requested by the bot.
std::int32_t requestId
Identifier of the request.
std::optional< std::string > title
Optional. Title of the chat, if the title was requested by the bot.
std::int64_t chatId
Identifier of the shared chat. This number may have more than 32 significant bits and some programmin...
std::shared_ptr< ChatShared > Ptr
std::shared_ptr< Checklist > Ptr
std::string title
Title of the checklist.
std::optional< bool > othersCanAddTasks
Optional. True, if users other than the creator of the list can add tasks to the list.
std::optional< bool > othersCanMarkTasksAsDone
Optional. True, if users other than the creator of the list can mark tasks as done or not done.
std::vector< std::shared_ptr< ChecklistTask > > tasks
List of tasks in the checklist.
std::optional< std::vector< std::shared_ptr< MessageEntity > > > titleEntities
Optional. Special entities that appear in the checklist title.
Describes a task in a checklist.
std::optional< std::vector< std::shared_ptr< MessageEntity > > > textEntities
Optional. Special entities that appear in the task text.
std::shared_ptr< User > completedByUser
Optional. User that completed the task; omitted if the task wasn't completed by a user.
std::optional< std::int32_t > completionDate
Optional. Point in time (Unix timestamp) when the task was completed; 0 if the task wasn't completed.
std::shared_ptr< ChecklistTask > Ptr
std::shared_ptr< Chat > completedByChat
Optional. Chat that completed the task; omitted if the task wasn't completed by a chat.
std::string text
Text of the task.
Describes a service message about tasks added to a checklist.
std::shared_ptr< ChecklistTasksAdded > Ptr
std::vector< std::shared_ptr< ChecklistTask > > tasks
List of tasks added to the checklist.
std::shared_ptr< Message > checklistMessage
Optional. Message containing the checklist to which the tasks were added. Note that the Message objec...
Describes a service message about checklist tasks marked as done or not done.
std::optional< std::vector< std::int32_t > > markedAsNotDoneTaskIds
Optional. Identifiers of the tasks that were marked as not done.
std::optional< std::vector< std::int32_t > > markedAsDoneTaskIds
Optional. Identifiers of the tasks that were marked as done.
std::shared_ptr< ChecklistTasksDone > Ptr
std::shared_ptr< Message > checklistMessage
Optional. Message containing the checklist whose tasks were marked as done or not done....
Represents a result of an inline query that was chosen by the user and sent to their chat partner.
std::string query
The query that was used to obtain the result.
std::optional< std::string > inlineMessageId
Optional. Identifier of the sent inline message. Available only if there is an inline keyboard attach...
std::shared_ptr< Location > location
Optional. Sender location, only for bots that require user location.
std::string resultId
The unique identifier for the result that was chosen.
std::shared_ptr< ChosenInlineResult > Ptr
std::shared_ptr< User > from
The user that chose the result.
This object represents an inline keyboard button that copies specified text to the clipboard.
std::shared_ptr< CopyTextButton > Ptr
std::string text
The text to be copied to the clipboard; 1-256 characters.
This object represents an animated emoji that displays a random value.
std::int32_t value
Value of the dice, 1-6 for “”, “” and “” base emoji, 1-5 for “” and “” base emoji,...
std::shared_ptr< Dice > Ptr
std::string emoji
Emoji on which the dice throw animation is based.
Describes a service message about a change in the price of direct messages sent to a channel chat.
bool areDirectMessagesEnabled
True, if direct messages are enabled for the channel chat; False otherwise.
std::shared_ptr< DirectMessagePriceChanged > Ptr
std::optional< std::int32_t > directMessageStarCount
Optional. The new number of Telegram Stars that must be paid by users for each direct message sent to...
Describes a topic of a direct messages chat.
std::int64_t topicId
Unique identifier of the topic. This number may have more than 32 significant bits and some programmi...
std::shared_ptr< DirectMessagesTopic > Ptr
std::shared_ptr< User > user
Optional. Information about the user that created the topic. Currently, it is always present.
This object represents a general file (as opposed to photos, voice messages and audio files).
std::optional< std::int64_t > fileSize
Optional. File size in bytes. It can be bigger than 2^31 and some programming languages may have diff...
std::shared_ptr< PhotoSize > thumbnail
Optional. Document thumbnail as defined by the sender.
std::string fileId
Identifier for this file, which can be used to download or reuse the file.
std::string fileUniqueId
Unique identifier for this file, which is supposed to be the same over time and for different bots....
std::optional< std::string > mimeType
Optional. MIME type of the file as defined by the sender.
std::shared_ptr< Document > Ptr
std::optional< std::string > fileName
Optional. Original filename as defined by the sender.
Describes data required for decrypting and authenticating EncryptedPassportElement....
std::string data
Base64-encoded encrypted JSON-serialized data with unique user's payload, data hashes and secrets req...
std::string hash
Base64-encoded data hash for data authentication.
std::shared_ptr< EncryptedCredentials > Ptr
std::string secret
Base64-encoded secret, encrypted with the bot's public RSA key, required for data decryption.
Describes documents or other Telegram Passport elements shared with the bot by the user.
std::optional< std::vector< std::shared_ptr< PassportFile > > > translation
Optional. Array of encrypted files with translated versions of documents provided by the user; availa...
std::shared_ptr< PassportFile > frontSide
Optional. Encrypted file with the front side of the document, provided by the user; available only fo...
std::optional< std::string > email
Optional. User's verified email address; available only for “email” type.
std::optional< std::vector< std::shared_ptr< PassportFile > > > files
Optional. Array of encrypted files with documents provided by the user; available only for “utility_b...
std::optional< std::string > phoneNumber
Optional. User's verified phone number; available only for “phone_number” type.
std::string type
Element type. One of “personal_details”, “passport”, “driver_license”, “identity_card”,...
std::shared_ptr< PassportFile > reverseSide
Optional. Encrypted file with the reverse side of the document, provided by the user; available only ...
std::shared_ptr< EncryptedPassportElement > Ptr
std::shared_ptr< PassportFile > selfie
Optional. Encrypted file with the selfie of the user holding a document, provided by the user; availa...
std::optional< std::string > data
Optional. Base64-encoded encrypted Telegram Passport element data provided by the user; available onl...
std::string hash
Base64-encoded element hash for using in PassportElementErrorUnspecified.
This object contains information about a message that is being replied to, which may come from anothe...
std::optional< bool > hasMediaSpoiler
Optional. True, if the message media is covered by a spoiler animation.
std::shared_ptr< LinkPreviewOptions > linkPreviewOptions
Optional. Options used for link preview generation for the original message, if it is a text message.
std::shared_ptr< Poll > poll
Optional. Message is a native poll, information about the poll.
std::shared_ptr< Location > location
Optional. Message is a shared location, information about the location.
std::shared_ptr< PaidMediaInfo > paidMedia
Optional. Message contains paid media; information about the paid media.
std::shared_ptr< Checklist > checklist
Optional. Message is a checklist.
std::shared_ptr< Audio > audio
Optional. Message is an audio file, information about the file.
std::shared_ptr< VideoNote > videoNote
Optional. Message is a video note, information about the video message.
std::shared_ptr< Giveaway > giveaway
Optional. Message is a scheduled giveaway, information about the giveaway.
std::optional< std::vector< std::shared_ptr< PhotoSize > > > photo
Optional. Message is a photo, available sizes of the photo.
std::shared_ptr< ExternalReplyInfo > Ptr
std::optional< std::int32_t > messageId
Optional. Unique message identifier inside the original chat. Available only if the original chat is ...
std::shared_ptr< Voice > voice
Optional. Message is a voice message, information about the file.
std::shared_ptr< Video > video
Optional. Message is a video, information about the video.
std::shared_ptr< Sticker > sticker
Optional. Message is a sticker, information about the sticker.
std::shared_ptr< Venue > venue
Optional. Message is a venue, information about the venue.
std::shared_ptr< Dice > dice
Optional. Message is a dice with random value.
std::shared_ptr< Story > story
Optional. Message is a forwarded story.
std::shared_ptr< LivePhoto > livePhoto
Optional. Message is a live photo, information about the live photo.
std::shared_ptr< Chat > chat
Optional. Chat the original message belongs to. Available only if the chat is a supergroup or a chann...
std::shared_ptr< Game > game
Optional. Message is a game, information about the game. More about games »
std::shared_ptr< GiveawayWinners > giveawayWinners
Optional. A giveaway with public winners was completed.
std::shared_ptr< Animation > animation
Optional. Message is an animation, information about the animation.
std::shared_ptr< Invoice > invoice
Optional. Message is an invoice for a payment, information about the invoice. More about payments »
std::shared_ptr< MessageOrigin > origin
Origin of the message replied to by the given message.
std::shared_ptr< Contact > contact
Optional. Message is a shared contact, information about the contact.
std::shared_ptr< Document > document
Optional. Message is a general file, information about the file.
This object represents a file ready to be downloaded. The file can be downloaded via the link https:/...
std::optional< std::int64_t > fileSize
Optional. File size in bytes. It can be bigger than 2^31 and some programming languages may have diff...
std::optional< std::string > filePath
Optional. File path. Use https://api.telegram.org/file/bot<token>/<file_path> to get the file.
std::string fileId
Identifier for this file, which can be used to download or reuse the file.
std::shared_ptr< File > Ptr
std::string fileUniqueId
Unique identifier for this file, which is supposed to be the same over time and for different bots....
Upon receiving a message with this object, Telegram clients will display a reply interface to the use...
std::shared_ptr< ForceReply > Ptr
bool forceReply
Shows reply interface to the user, as if they manually selected the bot's message and tapped 'Reply'.
std::optional< bool > selective
Optional. Use this parameter if you want to force reply from specific users only. Targets: 1) users t...
std::optional< std::string > inputFieldPlaceholder
Optional. The placeholder to be shown in the input field when the reply is active; 1-64 characters.
This object represents a service message about a forum topic closed in the chat. Currently holds no i...
std::shared_ptr< ForumTopicClosed > Ptr
This object represents a service message about a new forum topic created in the chat.
std::string name
Name of the topic.
std::optional< std::string > iconCustomEmojiId
Optional. Unique identifier of the custom emoji shown as the topic icon.
std::shared_ptr< ForumTopicCreated > Ptr
std::optional< bool > isNameImplicit
Optional. True, if the name of the topic wasn't specified explicitly by its creator and likely needs ...
std::int32_t iconColor
Color of the topic icon in RGB format.
This object represents a service message about an edited forum topic.
std::optional< std::string > iconCustomEmojiId
Optional. New identifier of the custom emoji shown as the topic icon, if it was edited; an empty stri...
std::shared_ptr< ForumTopicEdited > Ptr
std::optional< std::string > name
Optional. New name of the topic, if it was edited.
This object represents a forum topic.
std::string name
Name of the topic.
std::int32_t messageThreadId
Unique identifier of the forum topic.
std::optional< std::string > iconCustomEmojiId
Optional. Unique identifier of the custom emoji shown as the topic icon.
std::int32_t iconColor
Color of the topic icon in RGB format.
std::optional< bool > isNameImplicit
Optional. True, if the name of the topic wasn't specified explicitly by its creator and likely needs ...
std::shared_ptr< ForumTopic > Ptr
This object represents a service message about a forum topic reopened in the chat....
std::shared_ptr< ForumTopicReopened > Ptr
This object represents one row of the high scores table for a game.
std::shared_ptr< GameHighScore > Ptr
std::shared_ptr< User > user
User.
std::int32_t position
Position in high score table for the game.
This object represents a game. Use BotFather to create and edit games, their short names will act as ...
std::optional< std::vector< std::shared_ptr< MessageEntity > > > textEntities
Optional. Special entities that appear in text, such as usernames, URLs, bot commands,...
std::shared_ptr< Animation > animation
Optional. Animation that will be displayed in the game message in chats. Upload via BotFather.
std::shared_ptr< Game > Ptr
std::string title
Title of the game.
std::string description
Description of the game.
std::optional< std::string > text
Optional. Brief description of the game or high scores included in the game message....
std::vector< std::shared_ptr< PhotoSize > > photo
Photo that will be displayed in the game message in chats.
This object represents a service message about General forum topic hidden in the chat....
std::shared_ptr< GeneralForumTopicHidden > Ptr
This object represents a service message about General forum topic unhidden in the chat....
std::shared_ptr< GeneralForumTopicUnhidden > Ptr
This object describes the background of a gift.
std::shared_ptr< GiftBackground > Ptr
std::int32_t centerColor
Center color of the background in RGB format.
std::int32_t textColor
Text color of the background in RGB format.
std::int32_t edgeColor
Edge color of the background in RGB format.
This object represents a gift that can be sent by the bot.
std::optional< std::int32_t > personalRemainingCount
Optional. The number of remaining gifts of this type that can be sent by the bot; for limited gifts o...
std::shared_ptr< Chat > publisherChat
Optional. Information about the chat that published the gift.
std::optional< std::int32_t > remainingCount
Optional. The number of remaining gifts of this type that can be sent by all users; for limited gifts...
std::shared_ptr< GiftBackground > background
Optional. Background of the gift.
std::optional< bool > isPremium
Optional. True, if the gift can only be purchased by Telegram Premium subscribers.
std::shared_ptr< Sticker > sticker
The sticker that represents the gift.
std::optional< std::int32_t > totalCount
Optional. The total number of gifts of this type that can be sent by all users; for limited gifts onl...
std::shared_ptr< Gift > Ptr
std::optional< std::int32_t > personalTotalCount
Optional. The total number of gifts of this type that can be sent by the bot; for limited gifts only.
std::optional< std::int32_t > upgradeStarCount
Optional. The number of Telegram Stars that must be paid to upgrade the gift to a unique one.
std::int32_t starCount
The number of Telegram Stars that must be paid to send the sticker.
std::optional< bool > hasColors
Optional. True, if the gift can be used (after being upgraded) to customize a user's appearance.
std::optional< std::int32_t > uniqueGiftVariantCount
Optional. The total number of different unique gifts that can be obtained by upgrading the gift.
Describes a service message about a regular gift that was sent or received.
std::optional< std::string > ownedGiftId
Optional. Unique identifier of the received gift for the bot; only present for gifts received on beha...
std::optional< bool > canBeUpgraded
Optional. True, if the gift can be upgraded to a unique gift.
std::optional< std::vector< std::shared_ptr< MessageEntity > > > entities
Optional. Special entities that appear in the text.
std::optional< std::int32_t > uniqueGiftNumber
Optional. Unique number reserved for this gift when upgraded. See the number field in UniqueGift.
std::optional< bool > isUpgradeSeparate
Optional. True, if the gift's upgrade was purchased after the gift was sent.
std::optional< std::string > text
Optional. Text of the message that was added to the gift.
std::optional< std::int32_t > convertStarCount
Optional. Number of Telegram Stars that can be claimed by the receiver by converting the gift; omitte...
std::optional< std::int32_t > prepaidUpgradeStarCount
Optional. Number of Telegram Stars that were prepaid for the ability to upgrade the gift.
std::optional< bool > isPrivate
Optional. True, if the sender and gift text are shown only to the gift receiver; otherwise,...
std::shared_ptr< GiftInfo > Ptr
std::shared_ptr< Gift > gift
Information about the gift.
This object represent a list of gifts.
std::vector< std::shared_ptr< Gift > > gifts
The list of gifts.
std::shared_ptr< Gifts > Ptr
This object represents a service message about the completion of a giveaway without public winners.
std::optional< std::int32_t > unclaimedPrizeCount
Optional. Number of undistributed prizes.
std::shared_ptr< GiveawayCompleted > Ptr
std::shared_ptr< Message > giveawayMessage
Optional. Message with the giveaway that was completed, if it wasn't deleted.
std::int32_t winnerCount
Number of winners in the giveaway.
std::optional< bool > isStarGiveaway
Optional. True, if the giveaway is a Telegram Star giveaway. Otherwise, currently,...
This object represents a service message about the creation of a scheduled giveaway.
std::optional< std::int32_t > prizeStarCount
Optional. The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaw...
std::shared_ptr< GiveawayCreated > Ptr
This object represents a message about a scheduled giveaway.
std::vector< std::shared_ptr< Chat > > chats
The list of chats which the user must join to participate in the giveaway.
std::optional< std::int32_t > prizeStarCount
Optional. The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaw...
std::optional< bool > onlyNewMembers
Optional. True, if only users who join the chats after the giveaway started should be eligible to win...
std::int32_t winnerCount
The number of users which are supposed to be selected as winners of the giveaway.
std::int32_t winnersSelectionDate
Point in time (Unix timestamp) when winners of the giveaway will be selected.
std::optional< std::vector< std::string > > countryCodes
Optional. A list of two-letter ISO 3166-1 alpha-2 country codes indicating the countries from which e...
std::shared_ptr< Giveaway > Ptr
std::optional< bool > hasPublicWinners
Optional. True, if the list of giveaway winners will be visible to everyone.
std::optional< std::string > prizeDescription
Optional. Description of additional giveaway prize.
std::optional< std::int32_t > premiumSubscriptionMonthCount
Optional. The number of months the Telegram Premium subscription won from the giveaway will be active...
This object represents a message about the completion of a giveaway with public winners.
std::optional< std::int32_t > premiumSubscriptionMonthCount
Optional. The number of months the Telegram Premium subscription won from the giveaway will be active...
std::optional< std::string > prizeDescription
Optional. Description of additional giveaway prize.
std::optional< bool > onlyNewMembers
Optional. True, if only users who had joined the chats after the giveaway started were eligible to wi...
std::int32_t giveawayMessageId
Identifier of the message with the giveaway in the chat.
std::optional< std::int32_t > prizeStarCount
Optional. The number of Telegram Stars that were split between giveaway winners; for Telegram Star gi...
std::optional< std::int32_t > unclaimedPrizeCount
Optional. Number of undistributed prizes.
std::shared_ptr< Chat > chat
The chat that created the giveaway.
std::optional< bool > wasRefunded
Optional. True, if the giveaway was canceled because the payment for it was refunded.
std::int32_t winnerCount
Total number of winners in the giveaway.
std::int32_t winnersSelectionDate
Point in time (Unix timestamp) when winners of the giveaway were selected.
std::vector< std::shared_ptr< User > > winners
List of up to 100 winners of the giveaway.
std::shared_ptr< GiveawayWinners > Ptr
std::optional< std::int32_t > additionalChatCount
Optional. The number of other chats the user had to join in order to be eligible for the giveaway.
This object describes a message that was deleted or is otherwise inaccessible to the bot.
std::shared_ptr< InaccessibleMessage > Ptr
std::int32_t date
Always 0. The field can be used to differentiate regular and inaccessible messages.
std::shared_ptr< Chat > chat
Chat the message belonged to.
std::int32_t messageId
Unique message identifier inside the chat.
This object represents an inline keyboard that appears right next to the message it belongs to.
std::vector< std::vector< std::shared_ptr< InlineKeyboardButton > > > inlineKeyboard
Array of button rows, each represented by an Array of InlineKeyboardButton objects.
std::shared_ptr< InlineKeyboardMarkup > Ptr
This object represents an incoming inline query. When the user sends an empty query,...
std::string offset
Offset of the results to be returned, can be controlled by the bot.
std::shared_ptr< InlineQuery > Ptr
std::shared_ptr< Location > location
Optional. Sender location, only for bots that request user location.
std::optional< std::string > chatType
Optional. Type of the chat from which the inline query was sent. Can be either “sender” for a private...
std::string query
Text of the query (up to 256 characters).
std::shared_ptr< User > from
Sender.
Represents a link to an article or web page.
std::optional< std::string > description
Optional. Short description of the result.
std::shared_ptr< InlineKeyboardMarkup > replyMarkup
Optional. Inline keyboard attached to the message.
std::shared_ptr< InputMessageContent > inputMessageContent
Content of the message to be sent.
std::shared_ptr< InlineQueryResultArticle > Ptr
std::string type
Type of the result, must be article.
static TGBOT_API const std::string TYPE
std::optional< std::string > url
Optional. URL of the result.
std::string title
Title of the result.
std::optional< std::string > thumbnailUrl
Optional. Url of the thumbnail for the result.
std::optional< std::int32_t > thumbnailWidth
Optional. Thumbnail width.
std::optional< std::int32_t > thumbnailHeight
Optional. Thumbnail height.
Represents a link to an MP3 audio file. By default, this audio file will be sent by the user....
std::string audioUrl
A valid URL for the audio file.
std::shared_ptr< InlineQueryResultAudio > Ptr
std::optional< std::string > caption
Optional. Caption, 0-1024 characters after entities parsing.
std::optional< std::string > performer
Optional. Performer.
std::string type
Type of the result, must be audio.
std::shared_ptr< InputMessageContent > inputMessageContent
Optional. Content of the message to be sent instead of the audio.
std::optional< std::int32_t > audioDuration
Optional. Audio duration in seconds.
std::optional< std::vector< std::shared_ptr< MessageEntity > > > captionEntities
Optional. List of special entities that appear in the caption, which can be specified instead of pars...
std::optional< std::string > parseMode
Optional. Mode for parsing entities in the audio caption. See formatting options for more details.
std::shared_ptr< InlineKeyboardMarkup > replyMarkup
Optional. Inline keyboard attached to the message.
static TGBOT_API const std::string TYPE
Represents a link to an MP3 audio file stored on the Telegram servers. By default,...
std::optional< std::vector< std::shared_ptr< MessageEntity > > > captionEntities
Optional. List of special entities that appear in the caption, which can be specified instead of pars...
std::string type
Type of the result, must be audio.
std::string audioFileId
A valid file identifier for the audio file.
std::shared_ptr< InlineKeyboardMarkup > replyMarkup
Optional. Inline keyboard attached to the message.
std::shared_ptr< InputMessageContent > inputMessageContent
Optional. Content of the message to be sent instead of the audio.
static TGBOT_API const std::string TYPE
std::optional< std::string > parseMode
Optional. Mode for parsing entities in the audio caption. See formatting options for more details.
std::shared_ptr< InlineQueryResultCachedAudio > Ptr
std::optional< std::string > caption
Optional. Caption, 0-1024 characters after entities parsing.
Represents a link to a file stored on the Telegram servers. By default, this file will be sent by the...
static TGBOT_API const std::string TYPE
std::shared_ptr< InlineQueryResultCachedDocument > Ptr
std::string title
Title for the result.
std::optional< std::string > description
Optional. Short description of the result.
std::optional< std::vector< std::shared_ptr< MessageEntity > > > captionEntities
Optional. List of special entities that appear in the caption, which can be specified instead of pars...
std::optional< std::string > parseMode
Optional. Mode for parsing entities in the document caption. See formatting options for more details.
std::shared_ptr< InputMessageContent > inputMessageContent
Optional. Content of the message to be sent instead of the file.
std::string type
Type of the result, must be document.
std::shared_ptr< InlineKeyboardMarkup > replyMarkup
Optional. Inline keyboard attached to the message.
std::string documentFileId
A valid file identifier for the file.
std::optional< std::string > caption
Optional. Caption of the document to be sent, 0-1024 characters after entities parsing.
Represents a link to an animated GIF file stored on the Telegram servers. By default,...
std::shared_ptr< InlineKeyboardMarkup > replyMarkup
Optional. Inline keyboard attached to the message.
std::shared_ptr< InlineQueryResultCachedGif > Ptr
std::string type
Type of the result, must be gif.
static TGBOT_API const std::string TYPE
std::optional< bool > showCaptionAboveMedia
Optional. Pass True if the caption must be shown above the message media.
std::shared_ptr< InputMessageContent > inputMessageContent
Optional. Content of the message to be sent instead of the GIF animation.
std::optional< std::string > caption
Optional. Caption of the GIF file to be sent, 0-1024 characters after entities parsing.
std::optional< std::string > parseMode
Optional. Mode for parsing entities in the caption. See formatting options for more details.
std::string gifFileId
A valid file identifier for the GIF file.
std::optional< std::vector< std::shared_ptr< MessageEntity > > > captionEntities
Optional. List of special entities that appear in the caption, which can be specified instead of pars...
std::optional< std::string > title
Optional. Title for the result.
Represents a link to a video animation (H.264/MPEG-4 AVC video without sound) stored on the Telegram ...
std::optional< std::string > caption
Optional. Caption of the MPEG-4 file to be sent, 0-1024 characters after entities parsing.
std::string mpeg4FileId
A valid file identifier for the MPEG4 file.
static TGBOT_API const std::string TYPE
std::shared_ptr< InputMessageContent > inputMessageContent
Optional. Content of the message to be sent instead of the video animation.
std::shared_ptr< InlineKeyboardMarkup > replyMarkup
Optional. Inline keyboard attached to the message.
std::shared_ptr< InlineQueryResultCachedMpeg4Gif > Ptr
std::string type
Type of the result, must be mpeg4_gif.
std::optional< std::string > title
Optional. Title for the result.
std::optional< std::vector< std::shared_ptr< MessageEntity > > > captionEntities
Optional. List of special entities that appear in the caption, which can be specified instead of pars...
std::optional< std::string > parseMode
Optional. Mode for parsing entities in the caption. See formatting options for more details.
std::optional< bool > showCaptionAboveMedia
Optional. Pass True if the caption must be shown above the message media.
Represents a link to a photo stored on the Telegram servers. By default, this photo will be sent by t...
std::optional< bool > showCaptionAboveMedia
Optional. Pass True if the caption must be shown above the message media.
std::optional< std::string > title
Optional. Title for the result.
std::optional< std::string > caption
Optional. Caption of the photo to be sent, 0-1024 characters after entities parsing.
std::shared_ptr< InlineKeyboardMarkup > replyMarkup
Optional. Inline keyboard attached to the message.
std::optional< std::string > parseMode
Optional. Mode for parsing entities in the photo caption. See formatting options for more details.
static TGBOT_API const std::string TYPE
std::optional< std::string > description
Optional. Short description of the result.
std::string photoFileId
A valid file identifier of the photo.
std::optional< std::vector< std::shared_ptr< MessageEntity > > > captionEntities
Optional. List of special entities that appear in the caption, which can be specified instead of pars...
std::shared_ptr< InputMessageContent > inputMessageContent
Optional. Content of the message to be sent instead of the photo.
std::string type
Type of the result, must be photo.
std::shared_ptr< InlineQueryResultCachedPhoto > Ptr
Represents a link to a sticker stored on the Telegram servers. By default, this sticker will be sent ...
std::string type
Type of the result, must be sticker.
std::shared_ptr< InlineKeyboardMarkup > replyMarkup
Optional. Inline keyboard attached to the message.
std::shared_ptr< InlineQueryResultCachedSticker > Ptr
std::string stickerFileId
A valid file identifier of the sticker.
static TGBOT_API const std::string TYPE
std::shared_ptr< InputMessageContent > inputMessageContent
Optional. Content of the message to be sent instead of the sticker.
Represents a link to a video file stored on the Telegram servers. By default, this video file will be...
std::shared_ptr< InlineQueryResultCachedVideo > Ptr
std::string title
Title for the result.
std::optional< std::string > caption
Optional. Caption of the video to be sent, 0-1024 characters after entities parsing.
std::shared_ptr< InlineKeyboardMarkup > replyMarkup
Optional. Inline keyboard attached to the message.
std::optional< std::string > description
Optional. Short description of the result.
std::optional< std::vector< std::shared_ptr< MessageEntity > > > captionEntities
Optional. List of special entities that appear in the caption, which can be specified instead of pars...
std::optional< bool > showCaptionAboveMedia
Optional. Pass True if the caption must be shown above the message media.
std::string type
Type of the result, must be video.
std::optional< std::string > parseMode
Optional. Mode for parsing entities in the video caption. See formatting options for more details.
std::string videoFileId
A valid file identifier for the video file.
std::shared_ptr< InputMessageContent > inputMessageContent
Optional. Content of the message to be sent instead of the video.
static TGBOT_API const std::string TYPE
Represents a link to a voice message stored on the Telegram servers. By default, this voice message w...
std::shared_ptr< InlineKeyboardMarkup > replyMarkup
Optional. Inline keyboard attached to the message.
static TGBOT_API const std::string TYPE
std::shared_ptr< InlineQueryResultCachedVoice > Ptr
std::optional< std::string > parseMode
Optional. Mode for parsing entities in the voice message caption. See formatting options for more det...
std::shared_ptr< InputMessageContent > inputMessageContent
Optional. Content of the message to be sent instead of the voice message.
std::string voiceFileId
A valid file identifier for the voice message.
std::optional< std::string > caption
Optional. Caption, 0-1024 characters after entities parsing.
std::optional< std::vector< std::shared_ptr< MessageEntity > > > captionEntities
Optional. List of special entities that appear in the caption, which can be specified instead of pars...
std::string title
Voice message title.
std::string type
Type of the result, must be voice.
Represents a link to a file. By default, this file will be sent by the user with an optional caption....
std::optional< std::int32_t > thumbnailHeight
Optional. Thumbnail height.
std::string title
Title for the result.
std::optional< std::int32_t > thumbnailWidth
Optional. Thumbnail width.
std::optional< std::string > parseMode
Optional. Mode for parsing entities in the document caption. See formatting options for more details.
std::shared_ptr< InlineKeyboardMarkup > replyMarkup
Optional. Inline keyboard attached to the message.
std::shared_ptr< InputMessageContent > inputMessageContent
Optional. Content of the message to be sent instead of the file.
std::string mimeType
MIME type of the content of the file, either “application/pdf” or “application/zip”
std::string type
Type of the result, must be document.
std::optional< std::string > description
Optional. Short description of the result.
static TGBOT_API const std::string TYPE
std::optional< std::vector< std::shared_ptr< MessageEntity > > > captionEntities
Optional. List of special entities that appear in the caption, which can be specified instead of pars...
std::optional< std::string > caption
Optional. Caption of the document to be sent, 0-1024 characters after entities parsing.
std::shared_ptr< InlineQueryResultDocument > Ptr
std::optional< std::string > thumbnailUrl
Optional. URL of the thumbnail (JPEG only) for the file.
std::string documentUrl
A valid URL for the file.
std::string gameShortName
Short name of the game.
std::shared_ptr< InlineKeyboardMarkup > replyMarkup
Optional. Inline keyboard attached to the message.
std::shared_ptr< InlineQueryResultGame > Ptr
std::string type
Type of the result, must be game.
static TGBOT_API const std::string TYPE
Represents a link to an animated GIF file. By default, this animated GIF file will be sent by the use...
std::optional< std::string > title
Optional. Title for the result.
static TGBOT_API const std::string TYPE
std::shared_ptr< InlineKeyboardMarkup > replyMarkup
Optional. Inline keyboard attached to the message.
std::shared_ptr< InlineQueryResultGif > Ptr
std::optional< std::int32_t > gifHeight
Optional. Height of the GIF.
std::string gifUrl
A valid URL for the GIF file.
std::string type
Type of the result, must be gif.
std::optional< std::string > parseMode
Optional. Mode for parsing entities in the caption. See formatting options for more details.
std::optional< std::vector< std::shared_ptr< MessageEntity > > > captionEntities
Optional. List of special entities that appear in the caption, which can be specified instead of pars...
std::optional< std::string > thumbnailMimeType
Optional. MIME type of the thumbnail, must be one of “image/jpeg”, “image/gif”, or “video/mp4”....
std::optional< std::string > caption
Optional. Caption of the GIF file to be sent, 0-1024 characters after entities parsing.
std::string thumbnailUrl
URL of the static (JPEG or GIF) or animated (MPEG4) thumbnail for the result.
std::shared_ptr< InputMessageContent > inputMessageContent
Optional. Content of the message to be sent instead of the GIF animation.
std::optional< std::int32_t > gifDuration
Optional. Duration of the GIF in seconds.
std::optional< bool > showCaptionAboveMedia
Optional. Pass True if the caption must be shown above the message media.
std::optional< std::int32_t > gifWidth
Optional. Width of the GIF.
This object represents one result of an inline query. Telegram clients currently support results of t...
std::variant< std::shared_ptr< InlineQueryResultCachedAudio >, std::shared_ptr< InlineQueryResultCachedDocument >, std::shared_ptr< InlineQueryResultCachedGif >, std::shared_ptr< InlineQueryResultCachedMpeg4Gif >, std::shared_ptr< InlineQueryResultCachedPhoto >, std::shared_ptr< InlineQueryResultCachedSticker >, std::shared_ptr< InlineQueryResultCachedVideo >, std::shared_ptr< InlineQueryResultCachedVoice >, std::shared_ptr< InlineQueryResultArticle >, std::shared_ptr< InlineQueryResultAudio >, std::shared_ptr< InlineQueryResultContact >, std::shared_ptr< InlineQueryResultGame >, std::shared_ptr< InlineQueryResultDocument >, std::shared_ptr< InlineQueryResultGif >, std::shared_ptr< InlineQueryResultLocation >, std::shared_ptr< InlineQueryResultMpeg4Gif >, std::shared_ptr< InlineQueryResultPhoto >, std::shared_ptr< InlineQueryResultVenue >, std::shared_ptr< InlineQueryResultVideo >, std::shared_ptr< InlineQueryResultVoice > > value
std::shared_ptr< InlineQueryResult > Ptr
Represents a location on a map. By default, the location will be sent by the user....
std::shared_ptr< InlineKeyboardMarkup > replyMarkup
Optional. Inline keyboard attached to the message.
std::optional< std::int32_t > thumbnailHeight
Optional. Thumbnail height.
std::optional< std::int32_t > thumbnailWidth
Optional. Thumbnail width.
std::optional< std::int32_t > proximityAlertRadius
Optional. For live locations, a maximum distance for proximity alerts about approaching another chat ...
std::optional< std::string > thumbnailUrl
Optional. Url of the thumbnail for the result.
double latitude
Location latitude in degrees.
std::optional< std::int32_t > heading
Optional. For live locations, a direction in which the user is moving, in degrees....
std::shared_ptr< InputMessageContent > inputMessageContent
Optional. Content of the message to be sent instead of the location.
static TGBOT_API const std::string TYPE
double longitude
Location longitude in degrees.
std::string title
Location title.
std::shared_ptr< InlineQueryResultLocation > Ptr
std::optional< std::int32_t > livePeriod
Optional. Period in seconds during which the location can be updated, must be between 60 and 86400,...
std::optional< double > horizontalAccuracy
Optional. The radius of uncertainty for the location, measured in meters; 0-1500.
std::string type
Type of the result, must be location.
Represents a link to a video animation (H.264/MPEG-4 AVC video without sound). By default,...
std::optional< std::string > caption
Optional. Caption of the MPEG-4 file to be sent, 0-1024 characters after entities parsing.
static TGBOT_API const std::string TYPE
std::string mpeg4Url
A valid URL for the MPEG4 file.
std::string type
Type of the result, must be mpeg4_gif.
std::optional< std::string > parseMode
Optional. Mode for parsing entities in the caption. See formatting options for more details.
std::shared_ptr< InlineQueryResultMpeg4Gif > Ptr
std::optional< std::string > title
Optional. Title for the result.
std::optional< std::int32_t > mpeg4Width
Optional. Video width.
std::shared_ptr< InlineKeyboardMarkup > replyMarkup
Optional. Inline keyboard attached to the message.
std::optional< std::int32_t > mpeg4Duration
Optional. Video duration in seconds.
std::optional< std::vector< std::shared_ptr< MessageEntity > > > captionEntities
Optional. List of special entities that appear in the caption, which can be specified instead of pars...
std::optional< std::string > thumbnailMimeType
Optional. MIME type of the thumbnail, must be one of “image/jpeg”, “image/gif”, or “video/mp4”....
std::optional< std::int32_t > mpeg4Height
Optional. Video height.
std::string thumbnailUrl
URL of the static (JPEG or GIF) or animated (MPEG4) thumbnail for the result.
std::optional< bool > showCaptionAboveMedia
Optional. Pass True if the caption must be shown above the message media.
std::shared_ptr< InputMessageContent > inputMessageContent
Optional. Content of the message to be sent instead of the video animation.
Represents a link to a photo. By default, this photo will be sent by the user with optional caption....
static TGBOT_API const std::string TYPE
std::string photoUrl
A valid URL of the photo. Photo must be in JPEG format. Photo size must not exceed 5MB.
std::shared_ptr< InlineQueryResultPhoto > Ptr
std::string thumbnailUrl
URL of the thumbnail for the photo.
std::optional< std::int32_t > photoWidth
Optional. Width of the photo.
std::optional< std::vector< std::shared_ptr< MessageEntity > > > captionEntities
Optional. List of special entities that appear in the caption, which can be specified instead of pars...
std::optional< std::string > parseMode
Optional. Mode for parsing entities in the photo caption. See formatting options for more details.
std::optional< std::string > caption
Optional. Caption of the photo to be sent, 0-1024 characters after entities parsing.
std::shared_ptr< InputMessageContent > inputMessageContent
Optional. Content of the message to be sent instead of the photo.
std::optional< std::string > description
Optional. Short description of the result.
std::optional< bool > showCaptionAboveMedia
Optional. Pass True if the caption must be shown above the message media.
std::optional< std::int32_t > photoHeight
Optional. Height of the photo.
std::optional< std::string > title
Optional. Title for the result.
std::string type
Type of the result, must be photo.
std::shared_ptr< InlineKeyboardMarkup > replyMarkup
Optional. Inline keyboard attached to the message.
Represents a venue. By default, the venue will be sent by the user. Alternatively,...
std::optional< std::int32_t > thumbnailHeight
Optional. Thumbnail height.
std::string address
Address of the venue.
std::string type
Type of the result, must be venue.
std::optional< std::string > googlePlaceId
Optional. Google Places identifier of the venue.
std::optional< std::string > thumbnailUrl
Optional. Url of the thumbnail for the result.
std::optional< std::int32_t > thumbnailWidth
Optional. Thumbnail width.
std::shared_ptr< InputMessageContent > inputMessageContent
Optional. Content of the message to be sent instead of the venue.
std::shared_ptr< InlineKeyboardMarkup > replyMarkup
Optional. Inline keyboard attached to the message.
double latitude
Latitude of the venue location in degrees.
std::optional< std::string > foursquareId
Optional. Foursquare identifier of the venue if known.
std::optional< std::string > foursquareType
Optional. Foursquare type of the venue, if known. (For example, “arts_entertainment/default”,...
double longitude
Longitude of the venue location in degrees.
std::optional< std::string > googlePlaceType
Optional. Google Places type of the venue. (See supported types.).
std::string title
Title of the venue.
static TGBOT_API const std::string TYPE
std::shared_ptr< InlineQueryResultVenue > Ptr
Represents a link to a page containing an embedded video player or a video file. By default,...
std::optional< std::vector< std::shared_ptr< MessageEntity > > > captionEntities
Optional. List of special entities that appear in the caption, which can be specified instead of pars...
static TGBOT_API const std::string TYPE
std::shared_ptr< InlineQueryResultVideo > Ptr
std::optional< std::string > parseMode
Optional. Mode for parsing entities in the video caption. See formatting options for more details.
std::optional< bool > showCaptionAboveMedia
Optional. Pass True if the caption must be shown above the message media.
std::optional< std::string > description
Optional. Short description of the result.
std::optional< std::int32_t > videoHeight
Optional. Video height.
std::string thumbnailUrl
URL of the thumbnail (JPEG only) for the video.
std::optional< std::int32_t > videoWidth
Optional. Video width.
std::string title
Title for the result.
std::string mimeType
MIME type of the content of the video URL, “text/html” or “video/mp4”
std::shared_ptr< InputMessageContent > inputMessageContent
Optional. Content of the message to be sent instead of the video. This field is required if InlineQue...
std::optional< std::string > caption
Optional. Caption of the video to be sent, 0-1024 characters after entities parsing.
std::optional< std::int32_t > videoDuration
Optional. Video duration in seconds.
std::shared_ptr< InlineKeyboardMarkup > replyMarkup
Optional. Inline keyboard attached to the message.
std::string videoUrl
A valid URL for the embedded video player or video file.
std::string type
Type of the result, must be video.
Represents a link to a voice recording in an .OGG container encoded with OPUS. By default,...
std::string title
Recording title.
std::string type
Type of the result, must be voice.
std::optional< std::vector< std::shared_ptr< MessageEntity > > > captionEntities
Optional. List of special entities that appear in the caption, which can be specified instead of pars...
std::shared_ptr< InlineKeyboardMarkup > replyMarkup
Optional. Inline keyboard attached to the message.
std::shared_ptr< InputMessageContent > inputMessageContent
Optional. Content of the message to be sent instead of the voice recording.
std::optional< std::string > caption
Optional. Caption, 0-1024 characters after entities parsing.
std::optional< std::int32_t > voiceDuration
Optional. Recording duration in seconds.
std::optional< std::string > parseMode
Optional. Mode for parsing entities in the voice message caption. See formatting options for more det...
static TGBOT_API const std::string TYPE
std::shared_ptr< InlineQueryResultVoice > Ptr
std::string voiceUrl
A valid URL for the voice recording.
Represents the content of a contact message to be sent as the result of an inline query.
std::optional< std::string > lastName
Optional. Contact's last name.
std::string firstName
Contact's first name.
std::string phoneNumber
Contact's phone number.
std::shared_ptr< InputContactMessageContent > Ptr
std::optional< std::string > vcard
Optional. Additional data about the contact in the form of a vCard, 0-2048 bytes.
Represents the content of an invoice message to be sent as the result of an inline query.
std::optional< std::int32_t > photoWidth
Optional. Photo width.
std::optional< bool > needEmail
Optional. Pass True if you require the user's email address to complete the order....
std::vector< std::shared_ptr< LabeledPrice > > prices
Price breakdown, a JSON-serialized list of components (e.g. product price, tax, discount,...
std::optional< std::string > photoUrl
Optional. URL of the product photo for the invoice. Can be a photo of the goods or a marketing image ...
std::optional< std::string > providerData
Optional. A JSON-serialized object for data about the invoice, which will be shared with the payment ...
std::optional< bool > isFlexible
Optional. Pass True if the final price depends on the shipping method. Ignored for payments in Telegr...
std::shared_ptr< InputInvoiceMessageContent > Ptr
std::optional< std::int32_t > photoHeight
Optional. Photo height.
std::string title
Product name, 1-32 characters.
std::optional< bool > sendPhoneNumberToProvider
Optional. Pass True if the user's phone number should be sent to the provider. Ignored for payments i...
std::optional< bool > needShippingAddress
Optional. Pass True if you require the user's shipping address to complete the order....
std::string currency
Three-letter ISO 4217 currency code, see more on currencies. Pass “XTR” for payments in Telegram Star...
std::optional< bool > needPhoneNumber
Optional. Pass True if you require the user's phone number to complete the order. Ignored for payment...
std::optional< std::int32_t > maxTipAmount
Optional. The maximum accepted amount for tips in the smallest units of the currency (integer,...
std::string payload
Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your int...
std::optional< std::int32_t > photoSize
Optional. Photo size in bytes.
std::optional< std::vector< std::int32_t > > suggestedTipAmounts
Optional. A JSON-serialized Array of suggested amounts of tip in the smallest units of the currency (...
std::optional< bool > sendEmailToProvider
Optional. Pass True if the user's email address should be sent to the provider. Ignored for payments ...
std::optional< std::string > providerToken
Optional. Payment provider token, obtained via @BotFather. Pass an empty string for payments in Teleg...
std::optional< bool > needName
Optional. Pass True if you require the user's full name to complete the order. Ignored for payments i...
std::string description
Product description, 1-255 characters.
Represents the content of a location message to be sent as the result of an inline query.
double longitude
Longitude of the location in degrees.
std::optional< std::int32_t > livePeriod
Optional. Period in seconds during which the location can be updated, must be between 60 and 86400,...
double latitude
Latitude of the location in degrees.
std::optional< std::int32_t > proximityAlertRadius
Optional. For live locations, a maximum distance for proximity alerts about approaching another chat ...
std::shared_ptr< InputLocationMessageContent > Ptr
std::optional< std::int32_t > heading
Optional. For live locations, a direction in which the user is moving, in degrees....
std::optional< double > horizontalAccuracy
Optional. The radius of uncertainty for the location, measured in meters; 0-1500.
This object represents the content of a message to be sent as a result of an inline query....
std::shared_ptr< InputMessageContent > Ptr
std::variant< std::shared_ptr< InputTextMessageContent >, std::shared_ptr< InputRichMessageContent >, std::shared_ptr< InputLocationMessageContent >, std::shared_ptr< InputVenueMessageContent >, std::shared_ptr< InputContactMessageContent >, std::shared_ptr< InputInvoiceMessageContent > > value
Represents the content of a rich message to be sent as the result of an inline query.
std::shared_ptr< InputRichMessage > richMessage
The message to be sent.
std::shared_ptr< InputRichMessageContent > Ptr
This object describes the content of a story to post. Currently, it can be one of InputStoryContentPh...
std::shared_ptr< InputStoryContent > Ptr
std::variant< std::shared_ptr< InputStoryContentPhoto >, std::shared_ptr< InputStoryContentVideo > > value
Describes a photo to post as a story.
std::shared_ptr< InputStoryContentPhoto > Ptr
std::string photo
The photo to post as a story. The photo must be of the size 1080x1920 and must not exceed 10 MB....
static TGBOT_API const std::string TYPE
std::string type
Type of the content, must be photo.
Describes a video to post as a story.
std::optional< bool > isAnimation
Optional. Pass True if the video has no sound.
std::optional< double > duration
Optional. Precise duration of the video in seconds; 0-60.
std::optional< double > coverFrameTimestamp
Optional. Timestamp in seconds of the frame that will be used as the static cover for the story....
std::string video
The video to post as a story. The video must be of the size 720x1280, streamable, encoded with H....
std::shared_ptr< InputStoryContentVideo > Ptr
static TGBOT_API const std::string TYPE
std::string type
Type of the content, must be video.
Represents the content of a text message to be sent as the result of an inline query.
std::shared_ptr< LinkPreviewOptions > linkPreviewOptions
Optional. Link preview generation options for the message.
std::optional< std::vector< std::shared_ptr< MessageEntity > > > entities
Optional. List of special entities that appear in message text, which can be specified instead of par...
std::string messageText
Text of the message to be sent, 1-4096 characters.
std::optional< std::string > parseMode
Optional. Mode for parsing entities in the message text. See formatting options for more details.
std::shared_ptr< InputTextMessageContent > Ptr
Represents the content of a venue message to be sent as the result of an inline query.
double latitude
Latitude of the venue in degrees.
std::string address
Address of the venue.
std::optional< std::string > googlePlaceType
Optional. Google Places type of the venue. (See supported types.).
std::optional< std::string > foursquareType
Optional. Foursquare type of the venue, if known. (For example, “arts_entertainment/default”,...
std::shared_ptr< InputVenueMessageContent > Ptr
double longitude
Longitude of the venue in degrees.
std::optional< std::string > foursquareId
Optional. Foursquare identifier of the venue, if known.
std::string title
Name of the venue.
std::optional< std::string > googlePlaceId
Optional. Google Places identifier of the venue.
This object contains basic information about an invoice.
std::shared_ptr< Invoice > Ptr
std::string title
Product name.
std::string startParameter
Unique bot deep-linking parameter that can be used to generate this invoice.
std::string currency
Three-letter ISO 4217 currency code, or “XTR” for payments in Telegram Stars.
std::string description
Product description.
std::int32_t totalAmount
Total price in the smallest units of the currency (integer, not float/double). For example,...
This object represents a portion of the price for goods or services.
std::shared_ptr< LabeledPrice > Ptr
std::string label
Portion label.
std::int32_t amount
Price of the product in the smallest units of the currency (integer, not float/double)....
std::shared_ptr< Link > Ptr
std::string url
URL of the link.
Describes the options used for link preview generation.
std::optional< bool > preferLargeMedia
Optional. True, if the media in the link preview is supposed to be enlarged; ignored if the URL isn't...
std::shared_ptr< LinkPreviewOptions > Ptr
std::optional< bool > showAboveText
Optional. True, if the link preview must be shown above the message text; otherwise,...
std::optional< bool > preferSmallMedia
Optional. True, if the media in the link preview is supposed to be shrunk; ignored if the URL isn't e...
std::optional< std::string > url
Optional. URL to use for the link preview. If empty, then the first URL found in the message text wil...
std::optional< bool > isDisabled
Optional. True, if the link preview is disabled.
This object represents a live photo.
std::optional< std::vector< std::shared_ptr< PhotoSize > > > photo
Optional. Available sizes of the corresponding static photo.
std::string fileId
Identifier for the video file which can be used to download or reuse the file.
std::int32_t width
Video width as defined by the sender.
std::optional< std::int64_t > fileSize
Optional. File size in bytes. It can be bigger than 2^31 and some programming languages may have diff...
std::int32_t height
Video height as defined by the sender.
std::int32_t duration
Duration of the video in seconds as defined by the sender.
std::optional< std::string > mimeType
Optional. MIME type of the file as defined by the sender.
std::shared_ptr< LivePhoto > Ptr
std::string fileUniqueId
Unique identifier for the video file which is supposed to be the same over time and for different bot...
Describes the physical address of a location.
std::optional< std::string > state
Optional. State of the location.
std::shared_ptr< LocationAddress > Ptr
std::optional< std::string > street
Optional. Street address of the location.
std::optional< std::string > city
Optional. City of the location.
std::string countryCode
The two-letter ISO 3166-1 alpha-2 country code of the country where the location is located.
This object represents a point on the map.
std::optional< std::int32_t > heading
Optional. The direction in which user is moving, in degrees; 1-360. For active live locations only.
double latitude
Latitude as defined by the sender.
double longitude
Longitude as defined by the sender.
std::shared_ptr< Location > Ptr
std::optional< double > horizontalAccuracy
Optional. The radius of uncertainty for the location, measured in meters; 0-1500.
std::optional< std::int32_t > proximityAlertRadius
Optional. The maximum distance for proximity alerts about approaching another chat member,...
std::optional< std::int32_t > livePeriod
Optional. Time relative to the message sending date, during which the location can be updated; in sec...
This object represents a parameter of the inline keyboard button used to automatically authorize a us...
std::shared_ptr< LoginUrl > Ptr
std::optional< std::string > forwardText
Optional. New text of the button in forwarded messages.
std::optional< std::string > botUsername
Optional. Username of a bot, which will be used for user authorization. See Setting up a bot for more...
std::optional< bool > requestWriteAccess
Optional. Pass True to request the permission for your bot to send messages to the user.
std::string url
An HTTPS URL to be opened with user authorization data added to the query string when the button is p...
This object contains information about the bot that was created to be managed by the current bot.
std::shared_ptr< User > bot
Information about the bot. The bot's token can be fetched using the method getManagedBotToken.
std::shared_ptr< ManagedBotCreated > Ptr
This object contains information about the creation, token update, or owner update of a bot that is m...
std::shared_ptr< User > bot
Information about the bot. Token of the bot can be fetched using the method getManagedBotToken.
std::shared_ptr< User > user
User that created the bot.
std::shared_ptr< ManagedBotUpdated > Ptr
This object describes the position on faces where a mask should be placed by default.
double scale
Mask scaling coefficient. For example, 2.0 means double size.
double yShift
Shift by Y-axis measured in heights of the mask scaled to the face size, from top to bottom....
std::string point
The part of the face relative to which the mask should be placed. One of “forehead”,...
std::shared_ptr< MaskPosition > Ptr
double xShift
Shift by X-axis measured in widths of the mask scaled to the face size, from left to right....
This object describes a message that can be inaccessible to the bot. It can be one of Message Inacces...
std::shared_ptr< MaybeInaccessibleMessage > Ptr
std::variant< std::shared_ptr< Message >, std::shared_ptr< InaccessibleMessage > > value
This object represents a service message about a change in auto-delete timer settings.
std::shared_ptr< MessageAutoDeleteTimerChanged > Ptr
std::int32_t messageAutoDeleteTime
New auto-delete time for messages in the chat; in seconds.
This object represents one special entity in a text message. For example, hashtags,...
std::optional< std::int32_t > unixTime
Optional. For “date_time” only, the Unix time associated with the entity.
std::shared_ptr< MessageEntity > Ptr
std::int32_t offset
Offset in UTF-16 code units to the start of the entity.
std::optional< std::string > customEmojiId
Optional. For “custom_emoji” only, unique identifier of the custom emoji. Use getCustomEmojiStickers ...
std::optional< std::string > dateTimeFormat
Optional. For “date_time” only, the string that defines the formatting of the date and time....
std::shared_ptr< User > user
Optional. For “text_mention” only, the mentioned user.
std::optional< std::string > language
Optional. For “pre” only, the programming language of the entity text.
Type type
Type of the entity. Currently, can be “mention” (@username), “hashtag” (hashtag or hashtag@chatuserna...
std::optional< std::string > url
Optional. For “text_link” only, URL that will be opened after user taps on the text.
std::int32_t length
Length of the entity in UTF-16 code units.
This object represents a message.
std::shared_ptr< Sticker > sticker
Optional. Message is a sticker, information about the sticker.
std::shared_ptr< RichMessage > richMessage
Optional. Message is a rich formatted message.
std::optional< bool > channelChatCreated
Optional. Service message: the channel has been created. This field can't be received in a message co...
std::shared_ptr< GiftInfo > gift
Optional. Service message: a regular gift was sent or received.
std::shared_ptr< CommunityChatRemoved > communityChatRemoved
Optional. Service message: chat removed from a Community.
std::shared_ptr< Giveaway > giveaway
Optional. The message is a scheduled giveaway message.
std::shared_ptr< Animation > animation
Optional. Message is an animation, information about the animation. For backward compatibility,...
std::shared_ptr< PassportData > passportData
Optional. Telegram Passport data.
std::shared_ptr< LinkPreviewOptions > linkPreviewOptions
Optional. Options used for link preview generation for the message, if it is a text message and link ...
std::shared_ptr< ForumTopicEdited > forumTopicEdited
Optional. Service message: forum topic edited.
std::shared_ptr< Chat > guestBotCallerChat
Optional. For a message sent by a guest bot, this is the chat whose original message triggered the bo...
std::shared_ptr< GiftInfo > giftUpgradeSent
Optional. Service message: upgrade of a gift was purchased after the gift was sent.
std::optional< std::string > authorSignature
Optional. Signature of the post author for messages in channels, or the custom title of an anonymous ...
std::shared_ptr< WebAppData > webAppData
Optional. Service message: data sent by a Web App.
std::shared_ptr< UsersShared > usersShared
Optional. Service message: users were shared with the bot.
std::shared_ptr< ChatBackground > chatBackgroundSet
Optional. Service message: chat background set.
std::shared_ptr< GiveawayWinners > giveawayWinners
Optional. A giveaway with public winners was completed.
std::shared_ptr< Venue > venue
Optional. Message is a venue, information about the venue. For backward compatibility,...
std::shared_ptr< Video > video
Optional. Message is a video, information about the video.
std::shared_ptr< TextQuote > quote
Optional. For replies that quote part of the original message, the quoted part of the message.
std::shared_ptr< RefundedPayment > refundedPayment
Optional. Message is a service message about a refunded payment, information about the payment....
std::shared_ptr< GeneralForumTopicHidden > generalForumTopicHidden
Optional. Service message: the 'General' forum topic hidden.
std::shared_ptr< Message > Ptr
std::shared_ptr< VideoChatParticipantsInvited > videoChatParticipantsInvited
Optional. Service message: new participants invited to a video chat.
std::shared_ptr< Location > location
Optional. Message is a shared location, information about the location.
std::shared_ptr< ForumTopicClosed > forumTopicClosed
Optional. Service message: forum topic closed.
std::shared_ptr< ExternalReplyInfo > externalReply
Optional. Information about the message that is being replied to, which may come from another chat or...
std::shared_ptr< MessageOrigin > forwardOrigin
Optional. Information about the original message for forwarded messages.
std::int32_t messageId
Unique message identifier inside this chat; 0 for ephemeral messages. In specific instances (e....
std::shared_ptr< ChatBoostAdded > boostAdded
Optional. Service message: user boosted the chat.
std::optional< bool > isAutomaticForward
Optional. True, if the message is a channel post that was automatically forwarded to the connected di...
std::optional< bool > supergroupChatCreated
Optional. Service message: the supergroup has been created. This field can't be received in a message...
std::shared_ptr< PaidMediaInfo > paidMedia
Optional. Message contains paid media; information about the paid media.
std::optional< std::int32_t > messageThreadId
Optional. Unique identifier of a message thread or forum topic to which the message belongs; for supe...
std::optional< std::vector< std::shared_ptr< PhotoSize > > > newChatPhoto
Optional. A chat photo was change to this value.
std::shared_ptr< Invoice > invoice
Optional. Message is an invoice for a payment, information about the invoice. More about payments »
std::shared_ptr< CommunityChatAdded > communityChatAdded
Optional. Service message: chat added to a Community.
std::optional< std::string > mediaGroupId
Optional. The unique identifier inside this chat of a media message group this message belongs to.
std::shared_ptr< Story > replyToStory
Optional. For replies to a story, the original story.
std::shared_ptr< ChatOwnerLeft > chatOwnerLeft
Optional. Service message: chat owner has left.
std::shared_ptr< Audio > audio
Optional. Message is an audio file, information about the file.
std::shared_ptr< Contact > contact
Optional. Message is a shared contact, information about the contact.
std::shared_ptr< GiveawayCreated > giveawayCreated
Optional. Service message: a scheduled giveaway was created.
std::shared_ptr< Story > story
Optional. Message is a forwarded story.
std::shared_ptr< VideoChatScheduled > videoChatScheduled
Optional. Service message: video chat scheduled.
std::shared_ptr< Checklist > checklist
Optional. Message is a checklist.
std::optional< bool > showCaptionAboveMedia
Optional. True, if the caption must be shown above the message media.
std::optional< std::int32_t > replyToChecklistTaskId
Optional. Identifier of the specific checklist task that is being replied to.
std::optional< std::vector< std::shared_ptr< MessageEntity > > > captionEntities
Optional. For messages with a caption, special entities like usernames, URLs, bot commands,...
std::optional< std::vector< std::shared_ptr< MessageEntity > > > entities
Optional. For text messages, special entities like usernames, URLs, bot commands, etc....
std::shared_ptr< User > guestBotCallerUser
Optional. For a message sent by a guest bot, this is the user whose original message triggered the bo...
std::optional< std::string > text
Optional. For text messages, the actual UTF-8 text of the message.
std::shared_ptr< Message > replyToMessage
Optional. For replies in the same chat and message thread, the original message. Note that the Messag...
std::int32_t date
Date the message was sent in Unix time. It is always a positive number, representing a valid date.
std::shared_ptr< UniqueGiftInfo > uniqueGift
Optional. Service message: a unique gift was sent or received.
std::optional< bool > groupChatCreated
Optional. Service message: the group has been created.
std::optional< std::vector< std::shared_ptr< User > > > newChatMembers
Optional. New members that were added to the group or supergroup and information about them (the bot ...
std::optional< std::string > businessConnectionId
Optional. Unique identifier of the business connection from which the message was received....
std::shared_ptr< ManagedBotCreated > managedBotCreated
Optional. Service message: user created a bot that will be managed by the current bot.
std::shared_ptr< VideoChatStarted > videoChatStarted
Optional. Service message: video chat started.
std::shared_ptr< LivePhoto > livePhoto
Optional. Message is a live photo, information about the live photo. For backward compatibility,...
std::shared_ptr< ForumTopicReopened > forumTopicReopened
Optional. Service message: forum topic reopened.
std::shared_ptr< User > from
Optional. Sender of the message; may be empty for messages sent to channels. For backward compatibili...
std::optional< std::int64_t > migrateFromChatId
Optional. The supergroup has been migrated from a group with the specified identifier....
std::optional< std::int32_t > editDate
Optional. Date the message was last edited in Unix time.
std::shared_ptr< Document > document
Optional. Message is a general file, information about the file.
std::shared_ptr< SuccessfulPayment > successfulPayment
Optional. Message is a service message about a successful payment, information about the payment....
std::optional< std::int64_t > migrateToChatId
Optional. The group has been migrated to a supergroup with the specified identifier....
std::shared_ptr< PaidMessagePriceChanged > paidMessagePriceChanged
Optional. Service message: the price for paid messages has changed in the chat.
std::optional< bool > hasMediaSpoiler
Optional. True, if the message media is covered by a spoiler animation.
std::shared_ptr< VideoChatEnded > videoChatEnded
Optional. Service message: video chat ended.
std::shared_ptr< PollOptionAdded > pollOptionAdded
Optional. Service message: answer option was added to a poll.
std::shared_ptr< GiveawayCompleted > giveawayCompleted
Optional. Service message: a giveaway without public winners was completed.
std::shared_ptr< WriteAccessAllowed > writeAccessAllowed
Optional. Service message: the user allowed the bot to write messages after adding it to the attachme...
std::shared_ptr< Poll > poll
Optional. Message is a native poll, information about the poll.
std::shared_ptr< DirectMessagePriceChanged > directMessagePriceChanged
Optional. Service message: the price for paid messages in the corresponding direct messages chat of a...
std::optional< bool > hasProtectedContent
Optional. True, if the message can't be forwarded.
std::shared_ptr< PollOptionDeleted > pollOptionDeleted
Optional. Service message: answer option was deleted from a poll.
std::shared_ptr< User > receiverUser
Optional. For ephemeral messages, the user who received the message.
std::optional< std::int32_t > paidStarCount
Optional. The number of Telegram Stars that were paid by the sender of the message to send it.
std::optional< bool > deleteChatPhoto
Optional. Service message: the chat photo was deleted.
std::shared_ptr< SuggestedPostApproved > suggestedPostApproved
Optional. Service message: a suggested post was approved.
std::optional< bool > isFromOffline
Optional. True, if the message was sent by an implicit action, for example, as an away or a greeting ...
std::shared_ptr< SuggestedPostInfo > suggestedPostInfo
Optional. Information about suggested post parameters if the message is a suggested post in a channel...
std::shared_ptr< GeneralForumTopicUnhidden > generalForumTopicUnhidden
Optional. Service message: the 'General' forum topic unhidden.
std::shared_ptr< SuggestedPostRefunded > suggestedPostRefunded
Optional. Service message: payment for a suggested post was refunded.
std::shared_ptr< User > leftChatMember
Optional. A member was removed from the group, information about them (this member may be the bot its...
std::optional< std::int32_t > senderBoostCount
Optional. If the sender of the message boosted the chat, the number of boosts added by the user.
std::shared_ptr< MessageAutoDeleteTimerChanged > messageAutoDeleteTimerChanged
Optional. Service message: auto-delete timer settings changed in the chat.
std::shared_ptr< SuggestedPostPaid > suggestedPostPaid
Optional. Service message: payment for a suggested post was received.
std::shared_ptr< ChatShared > chatShared
Optional. Service message: a chat was shared with the bot.
std::optional< std::int32_t > ephemeralMessageId
Optional. For ephemeral messages, identifier of the ephemeral message inside this chat....
std::shared_ptr< SuggestedPostApprovalFailed > suggestedPostApprovalFailed
Optional. Service message: approval of a suggested post has failed.
std::shared_ptr< Dice > dice
Optional. Message is a dice with random value.
std::shared_ptr< DirectMessagesTopic > directMessagesTopic
Optional. Information about the direct messages chat topic that contains the message.
std::shared_ptr< ChecklistTasksDone > checklistTasksDone
Optional. Service message: some tasks in a checklist were marked as done or not done.
std::shared_ptr< Voice > voice
Optional. Message is a voice message, information about the file.
std::optional< std::string > replyToPollOptionId
Optional. Persistent identifier of the specific poll option that is being replied to.
std::shared_ptr< InlineKeyboardMarkup > replyMarkup
Optional. Inline keyboard attached to the message. login_url buttons are represented as ordinary url ...
std::shared_ptr< Chat > senderChat
Optional. Sender of the message when sent on behalf of a chat. For example, the supergroup itself for...
std::optional< std::string > newChatTitle
Optional. A chat title was changed to this value.
std::optional< bool > isPaidPost
Optional. True, if the message is a paid post. Note that such posts must not be deleted for 24 hours ...
std::shared_ptr< ChatOwnerChanged > chatOwnerChanged
Optional. Service message: chat owner has changed.
std::shared_ptr< VideoNote > videoNote
Optional. Message is a video note, information about the video message.
std::optional< std::string > senderTag
Optional. Tag or custom title of the sender of the message; for supergroups only.
std::shared_ptr< ProximityAlertTriggered > proximityAlertTriggered
Optional. Service message: a user in the chat triggered another user's proximity alert while sharing ...
std::optional< std::string > effectId
Optional. Unique identifier of the message effect added to the message.
std::shared_ptr< Chat > chat
Chat the message belongs to.
std::optional< bool > isTopicMessage
Optional. True, if the message is sent to a topic in a forum supergroup or a private chat with the bo...
std::shared_ptr< ChecklistTasksAdded > checklistTasksAdded
Optional. Service message: tasks were added to a checklist.
std::shared_ptr< User > senderBusinessBot
Optional. The bot that actually sent the message on behalf of the business account....
std::shared_ptr< User > viaBot
Optional. Bot through which the message was sent.
std::shared_ptr< ForumTopicCreated > forumTopicCreated
Optional. Service message: forum topic created.
std::shared_ptr< MaybeInaccessibleMessage > pinnedMessage
Optional. Specified message was pinned. Note that the Message object in this field will not contain f...
std::optional< std::string > caption
Optional. Caption for the animation, audio, document, paid media, photo, video or voice.
std::optional< std::string > connectedWebsite
Optional. The domain name of the website on which the user has logged in. More about Telegram Login »
std::shared_ptr< Game > game
Optional. Message is a game, information about the game. More about games »
std::optional< std::string > guestQueryId
Optional. The unique identifier for the guest query. Use this identifier with the method answerGuestQ...
std::shared_ptr< SuggestedPostDeclined > suggestedPostDeclined
Optional. Service message: a suggested post was declined.
std::optional< std::vector< std::shared_ptr< PhotoSize > > > photo
Optional. Message is a photo, available sizes of the photo.
This object represents a unique message identifier.
std::int32_t messageId
Unique message identifier. In specific instances (e.g., message containing a video sent to a big chat...
std::shared_ptr< MessageId > Ptr
The message was originally sent to a channel chat.
std::optional< std::string > authorSignature
Optional. Signature of the original post author.
std::shared_ptr< MessageOriginChannel > Ptr
std::int32_t date
Date the message was sent originally in Unix time.
static TGBOT_API const std::string TYPE
std::int32_t messageId
Unique message identifier inside the chat.
std::shared_ptr< Chat > chat
Channel chat to which the message was originally sent.
std::string type
Type of the message origin, always “channel”
The message was originally sent on behalf of a chat to a group chat.
std::optional< std::string > authorSignature
Optional. For messages originally sent by an anonymous chat administrator, original message author si...
std::string type
Type of the message origin, always “chat”
std::shared_ptr< MessageOriginChat > Ptr
std::int32_t date
Date the message was sent originally in Unix time.
static TGBOT_API const std::string TYPE
std::shared_ptr< Chat > senderChat
Chat that sent the message originally.
The message was originally sent by an unknown user.
std::shared_ptr< MessageOriginHiddenUser > Ptr
static TGBOT_API const std::string TYPE
std::int32_t date
Date the message was sent originally in Unix time.
std::string senderUserName
Name of the user that sent the message originally.
std::string type
Type of the message origin, always “hidden_user”
This object describes the origin of a message. It can be one of MessageOriginUser MessageOriginHidden...
std::shared_ptr< MessageOrigin > Ptr
std::variant< std::shared_ptr< MessageOriginUser >, std::shared_ptr< MessageOriginHiddenUser >, std::shared_ptr< MessageOriginChat >, std::shared_ptr< MessageOriginChannel > > value
The message was originally sent by a known user.
static TGBOT_API const std::string TYPE
std::string type
Type of the message origin, always “user”
std::shared_ptr< MessageOriginUser > Ptr
std::int32_t date
Date the message was sent originally in Unix time.
std::shared_ptr< User > senderUser
User that sent the message originally.
This object represents reaction changes on a message with anonymous reactions.
std::int32_t messageId
Unique message identifier inside the chat.
std::vector< std::shared_ptr< ReactionCount > > reactions
List of reactions that are present on the message.
std::int32_t date
Date of the change in Unix time.
std::shared_ptr< Chat > chat
The chat containing the message.
std::shared_ptr< MessageReactionCountUpdated > Ptr
This object represents a change of a reaction on a message performed by a user.
std::vector< std::shared_ptr< ReactionType > > newReaction
New list of reaction types that have been set by the user.
std::int32_t messageId
Unique identifier of the message inside the chat.
std::vector< std::shared_ptr< ReactionType > > oldReaction
Previous list of reaction types that were set by the user.
std::shared_ptr< Chat > actorChat
Optional. The chat on behalf of which the reaction was changed, if the user is anonymous.
std::shared_ptr< User > user
Optional. The user that changed the reaction, if the user isn't anonymous.
std::int32_t date
Date of the change in Unix time.
std::shared_ptr< MessageReactionUpdated > Ptr
std::shared_ptr< Chat > chat
The chat containing the message the user reacted to.
This object represents information about an order.
std::optional< std::string > phoneNumber
Optional. User's phone number.
std::optional< std::string > name
Optional. User name.
std::optional< std::string > email
Optional. User email.
std::shared_ptr< ShippingAddress > shippingAddress
Optional. User shipping address.
std::shared_ptr< OrderInfo > Ptr
This object describes a gift received and owned by a user or a chat. Currently, it can be one of Owne...
std::shared_ptr< OwnedGift > Ptr
std::variant< std::shared_ptr< OwnedGiftRegular >, std::shared_ptr< OwnedGiftUnique > > value
Describes a regular gift owned by a user or a chat.
static TGBOT_API const std::string TYPE
std::optional< bool > wasRefunded
Optional. True, if the gift was refunded and isn't available anymore.
std::optional< bool > isSaved
Optional. True, if the gift is displayed on the account's profile page; for gifts received on behalf ...
std::optional< std::vector< std::shared_ptr< MessageEntity > > > entities
Optional. Special entities that appear in the text.
std::optional< std::int32_t > convertStarCount
Optional. Number of Telegram Stars that can be claimed by the receiver instead of the gift; omitted i...
std::optional< bool > isPrivate
Optional. True, if the sender and gift text are shown only to the gift receiver; otherwise,...
std::optional< std::int32_t > uniqueGiftNumber
Optional. Unique number reserved for this gift when upgraded. See the number field in UniqueGift.
std::optional< std::string > ownedGiftId
Optional. Unique identifier of the gift for the bot; for gifts received on behalf of business account...
std::optional< bool > canBeUpgraded
Optional. True, if the gift can be upgraded to a unique gift; for gifts received on behalf of busines...
std::string type
Type of the gift, always “regular”
std::optional< bool > isUpgradeSeparate
Optional. True, if the gift's upgrade was purchased after the gift was sent; for gifts received on be...
std::optional< std::string > text
Optional. Text of the message that was added to the gift.
std::shared_ptr< User > senderUser
Optional. Sender of the gift if it is a known user.
std::shared_ptr< Gift > gift
Information about the regular gift.
std::shared_ptr< OwnedGiftRegular > Ptr
std::optional< std::int32_t > prepaidUpgradeStarCount
Optional. Number of Telegram Stars that were paid for the ability to upgrade the gift.
std::int32_t sendDate
Date the gift was sent in Unix time.
Describes a unique gift received and owned by a user or a chat.
std::shared_ptr< OwnedGiftUnique > Ptr
std::optional< std::string > ownedGiftId
Optional. Unique identifier of the received gift for the bot; for gifts received on behalf of busines...
std::string type
Type of the gift, always “unique”
std::optional< std::int32_t > nextTransferDate
Optional. Point in time (Unix timestamp) when the gift can be transferred. If it is in the past,...
std::shared_ptr< UniqueGift > gift
Information about the unique gift.
std::optional< bool > isSaved
Optional. True, if the gift is displayed on the account's profile page; for gifts received on behalf ...
std::optional< bool > canBeTransferred
Optional. True, if the gift can be transferred to another owner; for gifts received on behalf of busi...
std::int32_t sendDate
Date the gift was sent in Unix time.
std::shared_ptr< User > senderUser
Optional. Sender of the gift if it is a known user.
static TGBOT_API const std::string TYPE
std::optional< std::int32_t > transferStarCount
Optional. Number of Telegram Stars that must be paid to transfer the gift; omitted if the bot cannot ...
Contains the list of gifts received and owned by a user or a chat.
std::vector< std::shared_ptr< OwnedGift > > gifts
The list of gifts.
std::int32_t totalCount
The total number of gifts owned by the user or the chat.
std::shared_ptr< OwnedGifts > Ptr
std::optional< std::string > nextOffset
Optional. Offset for the next request. If empty, then there are no more results.
Describes a service message about a change in the price of paid messages within a chat.
std::int32_t paidMessageStarCount
The new number of Telegram Stars that must be paid by non-administrator users of the supergroup chat ...
std::shared_ptr< PaidMessagePriceChanged > Ptr
Describes Telegram Passport data shared with the bot by the user.
std::vector< std::shared_ptr< EncryptedPassportElement > > data
Array with information about documents and other Telegram Passport elements that was shared with the ...
std::shared_ptr< EncryptedCredentials > credentials
Encrypted credentials required to decrypt the data.
std::shared_ptr< PassportData > Ptr
Represents an issue in one of the data fields that was provided by the user. The error is considered ...
std::string source
Error source, must be data.
std::string message
Error message.
static TGBOT_API const std::string SOURCE
std::shared_ptr< PassportElementErrorDataField > Ptr
std::string type
The section of the user's Telegram Passport which has the error, one of “personal_details”,...
std::string dataHash
Base64-encoded data hash.
std::string fieldName
Name of the data field which has the error.
Represents an issue with a document scan. The error is considered resolved when the file with the doc...
std::string type
The section of the user's Telegram Passport which has the issue, one of “utility_bill”,...
std::string message
Error message.
std::shared_ptr< PassportElementErrorFile > Ptr
static TGBOT_API const std::string SOURCE
std::string fileHash
Base64-encoded file hash.
std::string source
Error source, must be file.
Represents an issue with a list of scans. The error is considered resolved when the list of files con...
std::string message
Error message.
std::string source
Error source, must be files.
std::shared_ptr< PassportElementErrorFiles > Ptr
static TGBOT_API const std::string SOURCE
std::string type
The section of the user's Telegram Passport which has the issue, one of “utility_bill”,...
std::vector< std::string > fileHashes
List of base64-encoded file hashes.
Represents an issue with the front side of a document. The error is considered resolved when the file...
std::string fileHash
Base64-encoded hash of the file with the front side of the document.
std::string message
Error message.
std::shared_ptr< PassportElementErrorFrontSide > Ptr
static TGBOT_API const std::string SOURCE
std::string source
Error source, must be front_side.
std::string type
The section of the user's Telegram Passport which has the issue, one of “passport”,...
This object represents an error in the Telegram Passport element which was submitted that should be r...
std::variant< std::shared_ptr< PassportElementErrorDataField >, std::shared_ptr< PassportElementErrorFrontSide >, std::shared_ptr< PassportElementErrorReverseSide >, std::shared_ptr< PassportElementErrorSelfie >, std::shared_ptr< PassportElementErrorFile >, std::shared_ptr< PassportElementErrorFiles >, std::shared_ptr< PassportElementErrorTranslationFile >, std::shared_ptr< PassportElementErrorTranslationFiles >, std::shared_ptr< PassportElementErrorUnspecified > > value
std::shared_ptr< PassportElementError > Ptr
Represents an issue with the reverse side of a document. The error is considered resolved when the fi...
std::string source
Error source, must be reverse_side.
std::shared_ptr< PassportElementErrorReverseSide > Ptr
static TGBOT_API const std::string SOURCE
std::string message
Error message.
std::string type
The section of the user's Telegram Passport which has the issue, one of “driver_license”,...
std::string fileHash
Base64-encoded hash of the file with the reverse side of the document.
Represents an issue with the selfie with a document. The error is considered resolved when the file w...
std::string fileHash
Base64-encoded hash of the file with the selfie.
static TGBOT_API const std::string SOURCE
std::shared_ptr< PassportElementErrorSelfie > Ptr
std::string type
The section of the user's Telegram Passport which has the issue, one of “passport”,...
std::string source
Error source, must be selfie.
std::string message
Error message.
Represents an issue with one of the files that constitute the translation of a document....
std::string source
Error source, must be translation_file.
std::string fileHash
Base64-encoded file hash.
std::shared_ptr< PassportElementErrorTranslationFile > Ptr
std::string message
Error message.
static TGBOT_API const std::string SOURCE
std::string type
Type of element of the user's Telegram Passport which has the issue, one of “passport”,...
Represents an issue with the translated version of a document. The error is considered resolved when ...
static TGBOT_API const std::string SOURCE
std::vector< std::string > fileHashes
List of base64-encoded file hashes.
std::shared_ptr< PassportElementErrorTranslationFiles > Ptr
std::string message
Error message.
std::string source
Error source, must be translation_files.
std::string type
Type of element of the user's Telegram Passport which has the issue, one of “passport”,...
Represents an issue in an unspecified place. The error is considered resolved when new data is added.
std::string elementHash
Base64-encoded element hash.
std::string message
Error message.
static TGBOT_API const std::string SOURCE
std::string source
Error source, must be unspecified.
std::shared_ptr< PassportElementErrorUnspecified > Ptr
std::string type
Type of element of the user's Telegram Passport which has the issue.
This object represents a file uploaded to Telegram Passport. Currently all Telegram Passport files ar...
std::int32_t fileDate
Unix time when the file was uploaded.
std::int32_t fileSize
File size in bytes.
std::string fileId
Identifier for this file, which can be used to download or reuse the file.
std::shared_ptr< PassportFile > Ptr
std::string fileUniqueId
Unique identifier for this file, which is supposed to be the same over time and for different bots....
This object represents one size of a photo or a file / sticker thumbnail.
std::int32_t width
Photo width.
std::int32_t height
Photo height.
std::string fileUniqueId
Unique identifier for this file, which is supposed to be the same over time and for different bots....
std::optional< std::int32_t > fileSize
Optional. File size in bytes.
std::string fileId
Identifier for this file, which can be used to download or reuse the file.
std::shared_ptr< PhotoSize > Ptr
This object represents an answer of a user in a non-anonymous poll.
std::shared_ptr< User > user
Optional. The user that changed the answer to the poll, if the voter isn't anonymous.
std::string pollId
Unique poll identifier.
std::shared_ptr< Chat > voterChat
Optional. The chat that changed the answer to the poll, if the voter is anonymous.
std::vector< std::int32_t > optionIds
0-based identifiers of chosen answer options. May be empty if the vote was retracted.
std::vector< std::string > optionPersistentIds
Persistent identifiers of the chosen answer options. May be empty if the vote was retracted.
std::shared_ptr< PollAnswer > Ptr
This object contains information about a poll.
bool isAnonymous
True, if the poll is anonymous.
std::optional< std::int32_t > closeDate
Optional. Point in time (Unix timestamp) when the poll will be automatically closed.
bool isClosed
True, if the poll is closed.
std::optional< std::vector< std::shared_ptr< MessageEntity > > > descriptionEntities
Optional. Special entities like usernames, URLs, bot commands, etc. that appear in the description.
std::optional< std::string > explanation
Optional. Text that is shown when a user chooses an incorrect answer or taps on the lamp icon in a qu...
std::vector< std::shared_ptr< PollOption > > options
List of poll options.
std::optional< std::string > description
Optional. Description of the poll; for polls inside the Message object only.
bool membersOnly
True if voting is limited to users who have been members of the chat where the poll was originally se...
bool allowsMultipleAnswers
True, if the poll allows multiple answers.
std::optional< std::vector< std::int32_t > > correctOptionIds
Optional. Array of 0-based identifiers of the correct answer options. Available only for polls in qui...
std::shared_ptr< PollMedia > explanationMedia
Optional. Media added to the quiz explanation.
std::shared_ptr< PollMedia > media
Optional. Media added to the poll description; for polls inside the Message object only.
std::optional< std::int32_t > openPeriod
Optional. Amount of time in seconds the poll will be active after creation.
std::optional< std::vector< std::shared_ptr< MessageEntity > > > explanationEntities
Optional. Special entities like usernames, URLs, bot commands, etc. that appear in the explanation.
bool allowsRevoting
True, if the poll allows to change the chosen answer options.
std::optional< std::vector< std::shared_ptr< MessageEntity > > > questionEntities
Optional. Special entities that appear in the question. Currently, only custom emoji entities are all...
std::optional< std::vector< std::string > > countryCodes
Optional. A list of two-letter ISO 3166-1 alpha-2 country codes indicating the countries from which u...
std::string type
Poll type, currently can be “regular” or “quiz”
std::shared_ptr< Poll > Ptr
std::string question
Poll question, 1-300 characters.
std::int32_t totalVoterCount
Total number of users that voted in the poll.
Describes a service message about an option added to a poll.
std::optional< std::vector< std::shared_ptr< MessageEntity > > > optionTextEntities
Optional. Special entities that appear in the option_text.
std::string optionPersistentId
Unique identifier of the added option.
std::shared_ptr< MaybeInaccessibleMessage > pollMessage
Optional. Message containing the poll to which the option was added, if known. Note that the Message ...
std::string optionText
Option text.
std::shared_ptr< PollOptionAdded > Ptr
Describes a service message about an option deleted from a poll.
std::optional< std::vector< std::shared_ptr< MessageEntity > > > optionTextEntities
Optional. Special entities that appear in the option_text.
std::shared_ptr< MaybeInaccessibleMessage > pollMessage
Optional. Message containing the poll from which the option was deleted, if known....
std::string optionText
Option text.
std::shared_ptr< PollOptionDeleted > Ptr
std::string optionPersistentId
Unique identifier of the deleted option.
This object contains information about one answer option in a poll.
std::string text
Option text, 1-100 characters.
std::optional< std::int32_t > additionDate
Optional. Point in time (Unix timestamp) when the option was added; omitted if the option existed in ...
std::string persistentId
Unique identifier of the option, persistent on option addition and deletion.
std::shared_ptr< PollOption > Ptr
std::shared_ptr< PollMedia > media
Optional. Media added to the poll option.
std::optional< std::vector< std::shared_ptr< MessageEntity > > > textEntities
Optional. Special entities that appear in the option text. Currently, only custom emoji entities are ...
std::int32_t voterCount
Number of users who voted for this option; may be 0 if unknown.
std::shared_ptr< Chat > addedByChat
Optional. Chat that added the option; omitted if the option wasn't added by a chat after poll creatio...
std::shared_ptr< User > addedByUser
Optional. User who added the option; omitted if the option wasn't added by a user after poll creation...
This object contains information about an incoming pre-checkout query.
std::int32_t totalAmount
Total price in the smallest units of the currency (integer, not float/double). For example,...
std::shared_ptr< PreCheckoutQuery > Ptr
std::optional< std::string > shippingOptionId
Optional. Identifier of the shipping option chosen by the user.
std::shared_ptr< OrderInfo > orderInfo
Optional. Order information provided by the user.
std::string invoicePayload
Bot-specified invoice payload.
std::string currency
Three-letter ISO 4217 currency code, or “XTR” for payments in Telegram Stars.
std::shared_ptr< User > from
User who sent the query.
Describes an inline message to be sent by a user of a Mini App.
std::shared_ptr< PreparedInlineMessage > Ptr
std::int32_t expirationDate
Expiration date of the prepared message, in Unix time. Expired prepared messages can no longer be use...
This object represents the content of a service message, sent whenever a user in the chat triggers a ...
std::shared_ptr< ProximityAlertTriggered > Ptr
std::shared_ptr< User > watcher
User that set the alert.
std::shared_ptr< User > traveler
User that triggered the alert.
std::int32_t distance
The distance between the users.
Represents a reaction added to a message along with the number of times it was added.
std::shared_ptr< ReactionType > type
Type of the reaction.
std::int32_t totalCount
Number of times the reaction was added.
std::shared_ptr< ReactionCount > Ptr
The reaction is based on a custom emoji.
static TGBOT_API const std::string TYPE
std::string customEmojiId
Custom emoji identifier.
std::shared_ptr< ReactionTypeCustomEmoji > Ptr
std::string type
Type of the reaction, always “custom_emoji”
The reaction is based on an emoji.
static TGBOT_API const std::string TYPE
std::string type
Type of the reaction, always “emoji”
std::shared_ptr< ReactionTypeEmoji > Ptr
std::string emoji
Reaction emoji. Currently, it can be one of "", "", "", "", "", "", "", "", "", "",...
This object describes the type of a reaction. Currently, it can be one of ReactionTypeEmoji ReactionT...
std::variant< std::shared_ptr< ReactionTypeEmoji >, std::shared_ptr< ReactionTypeCustomEmoji >, std::shared_ptr< ReactionTypePaid > > value
std::shared_ptr< ReactionType > Ptr
std::string type
Type of the reaction, always “paid”
std::shared_ptr< ReactionTypePaid > Ptr
static TGBOT_API const std::string TYPE
This object contains basic information about a refunded payment.
std::string invoicePayload
Bot-specified invoice payload.
std::string currency
Three-letter ISO 4217 currency code, or “XTR” for payments in Telegram Stars. Currently,...
std::int32_t totalAmount
Total refunded price in the smallest units of the currency (integer, not float/double)....
std::optional< std::string > providerPaymentChargeId
Optional. Provider payment identifier.
std::string telegramPaymentChargeId
Telegram payment identifier.
std::shared_ptr< RefundedPayment > Ptr
This object represents a custom keyboard with reply options (see Introduction to bots for details and...
std::optional< std::string > inputFieldPlaceholder
Optional. The placeholder to be shown in the input field when the keyboard is active; 1-64 characters...
std::shared_ptr< ReplyKeyboardMarkup > Ptr
std::vector< std::vector< std::shared_ptr< KeyboardButton > > > keyboard
Array of button rows, each represented by an Array of KeyboardButton objects.
std::optional< bool > selective
Optional. Use this parameter if you want to show the keyboard to specific users only....
std::optional< bool > isPersistent
Optional. Requests clients to always show the keyboard when the regular keyboard is hidden....
std::optional< bool > resizeKeyboard
Optional. Requests clients to resize the keyboard vertically for optimal fit (e.g....
std::optional< bool > oneTimeKeyboard
Optional. Requests clients to hide the keyboard as soon as it's been used. The keyboard will still be...
Upon receiving a message with this object, Telegram clients will remove the current custom keyboard a...
bool removeKeyboard
Requests clients to remove the custom keyboard (user will not be able to summon this keyboard; if you...
std::optional< bool > selective
Optional. Use this parameter if you want to remove the keyboard for specific users only....
std::shared_ptr< ReplyKeyboardRemove > Ptr
Describes reply parameters for the message that is being sent.
std::optional< std::int64_t > chatId
Optional. If the message to be replied to is from a different chat, unique identifier for the chat or...
std::optional< std::string > pollOptionId
Optional. Persistent identifier of the specific poll option to be replied to.
std::optional< std::int32_t > quotePosition
Optional. Position of the quote in the original message in UTF-16 code units.
std::optional< std::string > quote
Optional. Quoted part of the message to be replied to; 0-1024 characters after entities parsing....
std::optional< bool > allowSendingWithoutReply
Optional. Pass True if the message should be sent even if the specified message to be replied to is n...
std::optional< std::vector< std::shared_ptr< MessageEntity > > > quoteEntities
Optional. A JSON-serialized list of special entities that appear in the quote. It can be specified in...
std::optional< std::string > quoteParseMode
Optional. Mode for parsing entities in the quote. See formatting options for more details.
std::optional< std::int32_t > checklistTaskId
Optional. Identifier of the specific checklist task to be replied to.
std::optional< std::int32_t > ephemeralMessageId
Optional. Identifier of the incoming ephemeral message that will be replied to in the current chat....
std::optional< std::int32_t > messageId
Optional. Identifier of the message that will be replied to in the current chat, or in the chat chat_...
std::shared_ptr< ReplyParameters > Ptr
Describes why a request was unsuccessful.
std::optional< std::int64_t > migrateToChatId
Optional. The group has been migrated to a supergroup with the specified identifier....
std::optional< std::int32_t > retryAfter
Optional. In case of exceeding flood control, the number of seconds left to wait before the request c...
std::shared_ptr< ResponseParameters > Ptr
The withdrawal failed and the transaction was refunded.
std::shared_ptr< RevenueWithdrawalStateFailed > Ptr
static TGBOT_API const std::string TYPE
std::string type
Type of the state, always “failed”
This object describes the state of a revenue withdrawal operation. Currently, it can be one of Revenu...
std::variant< std::shared_ptr< RevenueWithdrawalStatePending >, std::shared_ptr< RevenueWithdrawalStateSucceeded >, std::shared_ptr< RevenueWithdrawalStateFailed > > value
std::shared_ptr< RevenueWithdrawalState > Ptr
The withdrawal is in progress.
std::shared_ptr< RevenueWithdrawalStatePending > Ptr
static TGBOT_API const std::string TYPE
std::string type
Type of the state, always “pending”
The withdrawal succeeded.
std::string type
Type of the state, always “succeeded”
std::shared_ptr< RevenueWithdrawalStateSucceeded > Ptr
static TGBOT_API const std::string TYPE
std::int32_t date
Date the withdrawal was completed in Unix time.
std::string url
An HTTPS URL that can be used to see transaction details.
A block with an anchor, corresponding to the HTML tag with the attribute name.
static TGBOT_API const std::string TYPE
std::shared_ptr< RichBlockAnchor > Ptr
std::string name
The name of the anchor.
std::string type
Type of the block, always “anchor”
A block with an animation, corresponding to the HTML tag <video>.
std::string type
Type of the block, always “animation”
std::optional< bool > hasSpoiler
Optional. True, if the media preview is covered by a spoiler animation.
std::shared_ptr< RichBlockAnimation > Ptr
static TGBOT_API const std::string TYPE
std::shared_ptr< RichBlockCaption > caption
Optional. Caption of the block.
std::shared_ptr< Animation > animation
The animation.
A block with a music file, corresponding to the HTML tag <audio>.
std::shared_ptr< RichBlockAudio > Ptr
std::shared_ptr< RichBlockCaption > caption
Optional. Caption of the block.
std::string type
Type of the block, always “audio”
static TGBOT_API const std::string TYPE
std::shared_ptr< Audio > audio
The audio.
A block quotation, corresponding to the HTML tag.
std::vector< std::shared_ptr< RichBlock > > blocks
Content of the block.
static TGBOT_API const std::string TYPE
std::string type
Type of the block, always “blockquote”
std::shared_ptr< RichText > credit
Optional. Credit of the block.
std::shared_ptr< RichBlockBlockQuotation > Ptr
Caption of a rich formatted block.
std::shared_ptr< RichText > text
Block caption.
std::shared_ptr< RichBlockCaption > Ptr
std::shared_ptr< RichText > credit
Optional. Block credit which corresponds to the HTML tag .
A collage, corresponding to the custom HTML tag <tg-collage>.
std::vector< std::shared_ptr< RichBlock > > blocks
Elements of the collage.
std::string type
Type of the block, always “collage”
static TGBOT_API const std::string TYPE
std::shared_ptr< RichBlockCaption > caption
Optional. Caption of the block.
std::shared_ptr< RichBlockCollage > Ptr
An expandable block for details disclosure, corresponding to the HTML tag.
std::shared_ptr< RichBlockDetails > Ptr
std::string type
Type of the block, always “details”
std::shared_ptr< RichText > summary
Always shown summary of the block.
std::vector< std::shared_ptr< RichBlock > > blocks
Content of the block.
static TGBOT_API const std::string TYPE
std::optional< bool > isOpen
Optional. True, if the content of the block is visible by default.
A divider, corresponding to the HTML tag .
std::string type
Type of the block, always “divider”
static TGBOT_API const std::string TYPE
std::shared_ptr< RichBlockDivider > Ptr
This object represents a block in a rich formatted message. Currently, it can be any of the following...
std::variant< std::shared_ptr< RichBlockParagraph >, std::shared_ptr< RichBlockSectionHeading >, std::shared_ptr< RichBlockPreformatted >, std::shared_ptr< RichBlockFooter >, std::shared_ptr< RichBlockDivider >, std::shared_ptr< RichBlockMathematicalExpression >, std::shared_ptr< RichBlockAnchor >, std::shared_ptr< RichBlockList >, std::shared_ptr< RichBlockBlockQuotation >, std::shared_ptr< RichBlockPullQuotation >, std::shared_ptr< RichBlockCollage >, std::shared_ptr< RichBlockSlideshow >, std::shared_ptr< RichBlockTable >, std::shared_ptr< RichBlockDetails >, std::shared_ptr< RichBlockMap >, std::shared_ptr< RichBlockAnimation >, std::shared_ptr< RichBlockAudio >, std::shared_ptr< RichBlockPhoto >, std::shared_ptr< RichBlockVideo >, std::shared_ptr< RichBlockVoiceNote >, std::shared_ptr< RichBlockThinking > > value
std::shared_ptr< RichBlock > Ptr
A list of blocks, corresponding to the HTML tag.
static TGBOT_API const std::string TYPE
std::vector< std::shared_ptr< RichBlockListItem > > items
Items of the list.
std::string type
Type of the block, always “list”
std::shared_ptr< RichBlockList > Ptr
std::string label
Label of the item.
std::shared_ptr< RichBlockListItem > Ptr
std::optional< bool > hasCheckbox
Optional. True, if the item has a checkbox.
std::optional< std::string > type
Optional. For ordered lists, the type of the item label; must be one of “a” for lowercase letters,...
std::vector< std::shared_ptr< RichBlock > > blocks
The content of the item.
std::optional< bool > isChecked
Optional. True, if the item has a checked checkbox.
std::optional< std::int32_t > value
Optional. For ordered lists, the numeric value of the item label.
A block with a map, corresponding to the custom HTML tag <tg-map>.
std::shared_ptr< Location > location
Location of the center of the map.
static TGBOT_API const std::string TYPE
std::shared_ptr< RichBlockMap > Ptr
std::int32_t zoom
Map zoom level; 13-20.
std::shared_ptr< RichBlockCaption > caption
Optional. Caption of the block.
std::int32_t width
Expected width of the map.
std::string type
Type of the block, always “map”
std::int32_t height
Expected height of the map.
A block with a mathematical expression in LaTeX format, corresponding to the custom HTML tag <tg-math...
std::string type
Type of the block, always “mathematical_expression”
std::shared_ptr< RichBlockMathematicalExpression > Ptr
static TGBOT_API const std::string TYPE
std::string expression
The mathematical expression in LaTeX format.
A text paragraph, corresponding to the HTML tag.
std::shared_ptr< RichBlockParagraph > Ptr
std::shared_ptr< RichText > text
Text of the block.
static TGBOT_API const std::string TYPE
std::string type
Type of the block, always “paragraph”
A block with a photo, corresponding to the HTML tag.
std::optional< bool > hasSpoiler
Optional. True, if the media preview is covered by a spoiler animation.
static TGBOT_API const std::string TYPE
std::shared_ptr< RichBlockCaption > caption
Optional. Caption of the block.
std::shared_ptr< RichBlockPhoto > Ptr
std::string type
Type of the block, always “photo”
std::vector< std::shared_ptr< PhotoSize > > photo
Available sizes of the photo.
A quotation with centered text, loosely corresponding to the HTML tag <aside>.
std::shared_ptr< RichText > text
Text of the block.
std::shared_ptr< RichText > credit
Optional. Credit of the block.
std::shared_ptr< RichBlockPullQuotation > Ptr
static TGBOT_API const std::string TYPE
std::string type
Type of the block, always “pullquote”
A section heading, corresponding to the HTML tags.
std::shared_ptr< RichText > text
Text of the block.
std::shared_ptr< RichBlockSectionHeading > Ptr
static TGBOT_API const std::string TYPE
std::string type
Type of the block, always “heading”
std::int32_t size
Relative size of the text font; 1-6, 1 is the largest, 6 is the smallest.
A slideshow, corresponding to the custom HTML tag <tg-slideshow>.
std::vector< std::shared_ptr< RichBlock > > blocks
Elements of the slideshow.
std::shared_ptr< RichBlockCaption > caption
Optional. Caption of the block.
std::string type
Type of the block, always “slideshow”
static TGBOT_API const std::string TYPE
std::shared_ptr< RichBlockSlideshow > Ptr
std::string align
Horizontal cell content alignment. Currently, must be one of “left”, “center”, or “right”.
std::optional< std::int32_t > colspan
Optional. The number of columns the cell spans if it is bigger than 1.
std::shared_ptr< RichBlockTableCell > Ptr
std::optional< bool > isHeader
Optional. True, if the cell is a header cell.
std::string valign
Vertical cell content alignment. Currently, must be one of “top”, “middle”, or “bottom”.
std::optional< std::int32_t > rowspan
Optional. The number of rows the cell spans if it is bigger than 1.
std::shared_ptr< RichText > text
Optional. Text in the cell. If omitted, then the cell is invisible.
A table, corresponding to the HTML tag.
std::vector< std::vector< std::shared_ptr< RichBlockTableCell > > > cells
Cells of the table.
std::shared_ptr< RichText > caption
Optional. Caption of the table.
std::string type
Type of the block, always “table”
std::optional< bool > isStriped
Optional. True, if the table is striped.
static TGBOT_API const std::string TYPE
std::shared_ptr< RichBlockTable > Ptr
std::optional< bool > isBordered
Optional. True, if the table has borders.
A block with a “Thinking…” placeholder, corresponding to the custom HTML tag <tg-thinking>....
std::shared_ptr< RichBlockThinking > Ptr
std::string type
Type of the block, always “thinking”
std::shared_ptr< RichText > text
Text of the block. See https://t.me/addemoji/AIActions for examples of custom emoji that are recommen...
static TGBOT_API const std::string TYPE
A block with a video, corresponding to the HTML tag <video>.
std::shared_ptr< RichBlockVideo > Ptr
static TGBOT_API const std::string TYPE
std::string type
Type of the block, always “video”
std::optional< bool > hasSpoiler
Optional. True, if the media preview is covered by a spoiler animation.
std::shared_ptr< RichBlockCaption > caption
Optional. Caption of the block.
std::shared_ptr< Video > video
The video.
A block with a voice note, corresponding to the HTML tag <audio>.
static TGBOT_API const std::string TYPE
std::shared_ptr< RichBlockVoiceNote > Ptr
std::shared_ptr< RichBlockCaption > caption
Optional. Caption of the block.
std::shared_ptr< Voice > voiceNote
The voice note.
std::string type
Type of the block, always “voice_note”
std::shared_ptr< RichMessage > Ptr
std::optional< bool > isRtl
Optional. True, if the rich message must be shown right-to-left.
std::vector< std::shared_ptr< RichBlock > > blocks
Content of the message.
std::string type
Type of the rich text, always “anchor”
std::shared_ptr< RichTextAnchor > Ptr
static TGBOT_API const std::string TYPE
std::string name
The name of the anchor.
std::shared_ptr< RichText > text
The link text.
std::string type
Type of the rich text, always “anchor_link”
static TGBOT_API const std::string TYPE
std::string anchorName
The name of the anchor. If the name is empty, then the link brings back to the top of the message.
std::shared_ptr< RichTextAnchorLink > Ptr
A text with a bank card number.
std::shared_ptr< RichTextBankCardNumber > Ptr
static TGBOT_API const std::string TYPE
std::shared_ptr< RichText > text
The text.
std::string bankCardNumber
The bank card number.
std::string type
Type of the rich text, always “bank_card_number”
std::shared_ptr< RichTextBold > Ptr
static TGBOT_API const std::string TYPE
std::shared_ptr< RichText > text
The text.
std::string type
Type of the rich text, always “bold”
static TGBOT_API const std::string TYPE
std::string botCommand
The bot command.
std::shared_ptr< RichTextBotCommand > Ptr
std::string type
Type of the rich text, always “bot_command”
std::shared_ptr< RichText > text
The text.
static TGBOT_API const std::string TYPE
std::string cashtag
The cashtag.
std::shared_ptr< RichText > text
The text.
std::string type
Type of the rich text, always “cashtag”
std::shared_ptr< RichTextCashtag > Ptr
static TGBOT_API const std::string TYPE
std::shared_ptr< RichTextCode > Ptr
std::string type
Type of the rich text, always “code”
std::shared_ptr< RichText > text
The text.
std::string type
Type of the rich text, always “custom_emoji”
std::string alternativeText
Alternative emoji for the custom emoji.
std::string customEmojiId
Unique identifier of the custom emoji. Use getCustomEmojiStickers to get full information about the s...
std::shared_ptr< RichTextCustomEmoji > Ptr
static TGBOT_API const std::string TYPE
static TGBOT_API const std::string TYPE
std::string dateTimeFormat
The string that defines the formatting of the date and time. See date-time entity formatting for more...
std::shared_ptr< RichTextDateTime > Ptr
std::shared_ptr< RichText > text
The text.
std::int32_t unixTime
The Unix time associated with the entity.
std::string type
Type of the rich text, always “date_time”
A text with an email address.
std::shared_ptr< RichTextEmailAddress > Ptr
std::string emailAddress
The email address.
static TGBOT_API const std::string TYPE
std::string type
Type of the rich text, always “email_address”
std::shared_ptr< RichText > text
The text.
static TGBOT_API const std::string TYPE
std::shared_ptr< RichTextHashtag > Ptr
std::string type
Type of the rich text, always “hashtag”
std::string hashtag
The hashtag.
std::shared_ptr< RichText > text
The text.
This object represents a rich formatted text. Currently, it can be either a String for plain text,...
std::variant< std::shared_ptr< RichTextBold >, std::shared_ptr< RichTextItalic >, std::shared_ptr< RichTextUnderline >, std::shared_ptr< RichTextStrikethrough >, std::shared_ptr< RichTextSpoiler >, std::shared_ptr< RichTextDateTime >, std::shared_ptr< RichTextTextMention >, std::shared_ptr< RichTextSubscript >, std::shared_ptr< RichTextSuperscript >, std::shared_ptr< RichTextMarked >, std::shared_ptr< RichTextCode >, std::shared_ptr< RichTextCustomEmoji >, std::shared_ptr< RichTextMathematicalExpression >, std::shared_ptr< RichTextUrl >, std::shared_ptr< RichTextEmailAddress >, std::shared_ptr< RichTextPhoneNumber >, std::shared_ptr< RichTextBankCardNumber >, std::shared_ptr< RichTextMention >, std::shared_ptr< RichTextHashtag >, std::shared_ptr< RichTextCashtag >, std::shared_ptr< RichTextBotCommand >, std::shared_ptr< RichTextAnchor >, std::shared_ptr< RichTextAnchorLink >, std::shared_ptr< RichTextReference >, std::shared_ptr< RichTextReferenceLink > > value
std::shared_ptr< RichText > Ptr
std::string type
Type of the rich text, always “italic”
static TGBOT_API const std::string TYPE
std::shared_ptr< RichText > text
The text.
std::shared_ptr< RichTextItalic > Ptr
static TGBOT_API const std::string TYPE
std::shared_ptr< RichText > text
The text.
std::string type
Type of the rich text, always “marked”
std::shared_ptr< RichTextMarked > Ptr
A mathematical expression.
std::string type
Type of the rich text, always “mathematical_expression”
std::string expression
The expression in LaTeX format.
std::shared_ptr< RichTextMathematicalExpression > Ptr
static TGBOT_API const std::string TYPE
static TGBOT_API const std::string TYPE
std::shared_ptr< RichTextMention > Ptr
std::string username
The username.
std::shared_ptr< RichText > text
The text.
std::string type
Type of the rich text, always “mention”
A text with a phone number.
std::shared_ptr< RichText > text
The text.
std::shared_ptr< RichTextPhoneNumber > Ptr
std::string phoneNumber
The phone number.
std::string type
Type of the rich text, always “phone_number”
static TGBOT_API const std::string TYPE
std::string type
Type of the rich text, always “reference”
std::string name
The name of the reference.
static TGBOT_API const std::string TYPE
std::shared_ptr< RichText > text
Text of the reference.
std::shared_ptr< RichTextReference > Ptr
std::shared_ptr< RichTextReferenceLink > Ptr
static TGBOT_API const std::string TYPE
std::string type
Type of the rich text, always “reference_link”
std::string referenceName
The name of the reference.
std::shared_ptr< RichText > text
The link text.
A text covered by a spoiler.
static TGBOT_API const std::string TYPE
std::string type
Type of the rich text, always “spoiler”
std::shared_ptr< RichTextSpoiler > Ptr
std::shared_ptr< RichText > text
The text.
static TGBOT_API const std::string TYPE
std::string type
Type of the rich text, always “strikethrough”
std::shared_ptr< RichText > text
The text.
std::shared_ptr< RichTextStrikethrough > Ptr
std::string type
Type of the rich text, always “subscript”
std::shared_ptr< RichText > text
The text.
static TGBOT_API const std::string TYPE
std::shared_ptr< RichTextSubscript > Ptr
std::shared_ptr< RichText > text
The text.
static TGBOT_API const std::string TYPE
std::string type
Type of the rich text, always “superscript”
std::shared_ptr< RichTextSuperscript > Ptr
A mention of a Telegram user by their identifier.
static TGBOT_API const std::string TYPE
std::string type
Type of the rich text, always “text_mention”
std::shared_ptr< RichText > text
The text.
std::shared_ptr< RichTextTextMention > Ptr
std::shared_ptr< User > user
The mentioned user.
std::shared_ptr< RichText > text
The text.
std::string type
Type of the rich text, always “underline”
std::shared_ptr< RichTextUnderline > Ptr
static TGBOT_API const std::string TYPE
std::string type
Type of the rich text, always “url”
static TGBOT_API const std::string TYPE
std::string url
URL of the link.
std::shared_ptr< RichText > text
The text.
std::shared_ptr< RichTextUrl > Ptr
Describes an inline message sent by a guest bot.
std::shared_ptr< SentGuestMessage > Ptr
std::string inlineMessageId
Identifier of the sent inline message.
Describes an inline message sent by a Web App on behalf of a user.
std::optional< std::string > inlineMessageId
Optional. Identifier of the sent inline message. Available only if there is an inline keyboard attach...
std::shared_ptr< SentWebAppMessage > Ptr
This object contains information about a user that was shared with the bot using a KeyboardButtonRequ...
std::optional< std::string > firstName
Optional. First name of the user, if the name was requested by the bot.
std::int64_t userId
Identifier of the shared user. This number may have more than 32 significant bits and some programmin...
std::optional< std::string > lastName
Optional. Last name of the user, if the name was requested by the bot.
std::optional< std::vector< std::shared_ptr< PhotoSize > > > photo
Optional. Available sizes of the chat photo, if the photo was requested by the bot.
std::shared_ptr< SharedUser > Ptr
std::optional< std::string > username
Optional. Username of the user, if the username was requested by the bot.
This object represents a shipping address.
std::string streetLine2
Second line for the address.
std::string countryCode
Two-letter ISO 3166-1 alpha-2 country code.
std::string state
State, if applicable.
std::string postCode
Address post code.
std::shared_ptr< ShippingAddress > Ptr
std::string streetLine1
First line for the address.
This object represents one shipping option.
std::vector< std::shared_ptr< LabeledPrice > > prices
List of price portions.
std::string title
Option title.
std::shared_ptr< ShippingOption > Ptr
This object contains information about an incoming shipping query.
std::shared_ptr< ShippingAddress > shippingAddress
User specified shipping address.
std::shared_ptr< ShippingQuery > Ptr
std::string invoicePayload
Bot-specified invoice payload.
std::shared_ptr< User > from
User who sent the query.
Describes an amount of Telegram Stars.
std::shared_ptr< StarAmount > Ptr
std::int32_t amount
Integer amount of Telegram Stars, rounded to 0; can be negative.
std::optional< std::int32_t > nanostarAmount
Optional. The number of 1/1000000000 shares of Telegram Stars; from -999999999 to 999999999; can be n...
Describes a Telegram Star transaction. Note that if the buyer initiates a chargeback with the payment...
std::shared_ptr< TransactionPartner > source
Optional. Source of an incoming transaction (e.g., a user purchasing goods or services,...
std::shared_ptr< StarTransaction > Ptr
std::int32_t amount
Integer amount of Telegram Stars transferred by the transaction.
std::int32_t date
Date the transaction was created in Unix time.
std::shared_ptr< TransactionPartner > receiver
Optional. Receiver of an outgoing transaction (e.g., a user for a purchase refund,...
std::optional< std::int32_t > nanostarAmount
Optional. The number of 1/1000000000 shares of Telegram Stars transferred by the transaction; from 0 ...
Contains a list of Telegram Star transactions.
std::vector< std::shared_ptr< StarTransaction > > transactions
The list of transactions.
std::shared_ptr< StarTransactions > Ptr
This object represents a sticker.
Type type
Type of the sticker, currently one of “regular”, “mask”, “custom_emoji”. The type of the sticker is i...
std::optional< std::string > emoji
Optional. Emoji associated with the sticker.
std::int32_t width
Sticker width.
std::shared_ptr< File > premiumAnimation
Optional. For premium regular stickers, premium animation for the sticker.
std::optional< std::string > setName
Optional. Name of the sticker set to which the sticker belongs.
std::shared_ptr< MaskPosition > maskPosition
Optional. For mask stickers, the position where the mask should be placed.
bool isVideo
True, if the sticker is a video sticker.
std::int32_t height
Sticker height.
std::optional< std::string > customEmojiId
Optional. For custom emoji stickers, unique identifier of the custom emoji.
bool isAnimated
True, if the sticker is animated.
std::string fileUniqueId
Unique identifier for this file, which is supposed to be the same over time and for different bots....
std::shared_ptr< Sticker > Ptr
std::optional< bool > needsRepainting
Optional. True, if the sticker must be repainted to a text color in messages, the color of the Telegr...
std::optional< std::int32_t > fileSize
Optional. File size in bytes.
std::string fileId
Identifier for this file, which can be used to download or reuse the file.
std::shared_ptr< PhotoSize > thumbnail
Optional. Sticker thumbnail in the .WEBP or .JPG format.
This object represents a sticker set.
std::vector< std::shared_ptr< Sticker > > stickers
List of all set stickers.
std::string name
Sticker set name.
std::shared_ptr< PhotoSize > thumbnail
Optional. Sticker set thumbnail in the .WEBP, .TGS, or .WEBM format.
Type stickerType
Type of stickers in the set, currently one of “regular”, “mask”, “custom_emoji”
std::string title
Sticker set title.
std::shared_ptr< StickerSet > Ptr
Describes a clickable area on a story media.
std::shared_ptr< StoryAreaPosition > position
Position of the area.
std::shared_ptr< StoryAreaType > type
Type of the area.
std::shared_ptr< StoryArea > Ptr
Describes the position of a clickable area within a story.
double heightPercentage
The height of the area's rectangle, as a percentage of the media height.
double yPercentage
The ordinate of the area's center, as a percentage of the media height.
std::shared_ptr< StoryAreaPosition > Ptr
double cornerRadiusPercentage
The radius of the rectangle corner rounding, as a percentage of the media width.
double widthPercentage
The width of the area's rectangle, as a percentage of the media width.
double rotationAngle
The clockwise rotation angle of the rectangle, in degrees; 0-360.
double xPercentage
The abscissa of the area's center, as a percentage of the media width.
Describes the type of a clickable area on a story. Currently, it can be one of StoryAreaTypeLocation ...
std::variant< std::shared_ptr< StoryAreaTypeLocation >, std::shared_ptr< StoryAreaTypeSuggestedReaction >, std::shared_ptr< StoryAreaTypeLink >, std::shared_ptr< StoryAreaTypeWeather >, std::shared_ptr< StoryAreaTypeUniqueGift > > value
std::shared_ptr< StoryAreaType > Ptr
Describes a story area pointing to an HTTP or tg:// link. Currently, a story can have up to 3 link ar...
std::string type
Type of the area, always “link”
static TGBOT_API const std::string TYPE
std::shared_ptr< StoryAreaTypeLink > Ptr
std::string url
HTTP or tg:// URL to be opened when the area is clicked.
Describes a story area pointing to a location. Currently, a story can have up to 10 location areas.
double longitude
Location longitude in degrees.
static TGBOT_API const std::string TYPE
std::shared_ptr< LocationAddress > address
Optional. Address of the location.
std::string type
Type of the area, always “location”
double latitude
Location latitude in degrees.
std::shared_ptr< StoryAreaTypeLocation > Ptr
Describes a story area pointing to a suggested reaction. Currently, a story can have up to 5 suggeste...
std::shared_ptr< StoryAreaTypeSuggestedReaction > Ptr
std::string type
Type of the area, always “suggested_reaction”
std::shared_ptr< ReactionType > reactionType
Type of the reaction.
static TGBOT_API const std::string TYPE
std::optional< bool > isFlipped
Optional. Pass True if reaction area corner is flipped.
std::optional< bool > isDark
Optional. Pass True if the reaction area has a dark background.
Describes a story area pointing to a unique gift. Currently, a story can have at most 1 unique gift a...
static TGBOT_API const std::string TYPE
std::shared_ptr< StoryAreaTypeUniqueGift > Ptr
std::string name
Unique name of the gift.
std::string type
Type of the area, always “unique_gift”
Describes a story area containing weather information. Currently, a story can have up to 3 weather ar...
std::string type
Type of the area, always “weather”
std::int32_t backgroundColor
A color of the area background in the ARGB format.
static TGBOT_API const std::string TYPE
double temperature
Temperature, in degree Celsius.
std::string emoji
Emoji representing the weather.
std::shared_ptr< StoryAreaTypeWeather > Ptr
This object represents a story.
std::shared_ptr< Chat > chat
Chat that posted the story.
std::shared_ptr< Story > Ptr
This object contains basic information about a successful payment. Note that if the buyer initiates a...
std::string providerPaymentChargeId
Provider payment identifier.
std::optional< bool > isFirstRecurring
Optional. True, if the payment is the first payment for a subscription.
std::string invoicePayload
Bot-specified invoice payload.
std::string telegramPaymentChargeId
Telegram payment identifier.
std::int32_t totalAmount
Total price in the smallest units of the currency (integer, not float/double). For example,...
std::optional< std::int32_t > subscriptionExpirationDate
Optional. Expiration date of the subscription, in Unix time; for recurring payments only.
std::string currency
Three-letter ISO 4217 currency code, or “XTR” for payments in Telegram Stars.
std::shared_ptr< OrderInfo > orderInfo
Optional. Order information provided by the user.
std::optional< std::string > shippingOptionId
Optional. Identifier of the shipping option chosen by the user.
std::shared_ptr< SuccessfulPayment > Ptr
std::optional< bool > isRecurring
Optional. True, if the payment is a recurring payment for a subscription.
Describes a service message about the failed approval of a suggested post. Currently,...
std::shared_ptr< SuggestedPostPrice > price
Expected price of the post.
std::shared_ptr< SuggestedPostApprovalFailed > Ptr
std::shared_ptr< Message > suggestedPostMessage
Optional. Message containing the suggested post whose approval has failed. Note that the Message obje...
Describes a service message about the approval of a suggested post.
std::shared_ptr< SuggestedPostApproved > Ptr
std::shared_ptr< Message > suggestedPostMessage
Optional. Message containing the suggested post. Note that the Message object in this field will not ...
std::int32_t sendDate
Date when the post will be published.
std::shared_ptr< SuggestedPostPrice > price
Optional. Amount paid for the post.
Describes a service message about the rejection of a suggested post.
std::shared_ptr< SuggestedPostDeclined > Ptr
std::optional< std::string > comment
Optional. Comment with which the post was declined.
std::shared_ptr< Message > suggestedPostMessage
Optional. Message containing the suggested post. Note that the Message object in this field will not ...
Contains information about a suggested post.
std::string state
State of the suggested post. Currently, it can be one of “pending”, “approved”, “declined”.
std::optional< std::int32_t > sendDate
Optional. Proposed send date of the post. If the field is omitted, then the post can be published at ...
std::shared_ptr< SuggestedPostPrice > price
Optional. Proposed price of the post. If the field is omitted, then the post is unpaid.
std::shared_ptr< SuggestedPostInfo > Ptr
Describes a service message about a successful payment for a suggested post.
std::shared_ptr< SuggestedPostPaid > Ptr
std::shared_ptr< StarAmount > starAmount
Optional. The amount of Telegram Stars that was received by the channel; for payments in Telegram Sta...
std::string currency
Currency in which the payment was made. Currently, one of “XTR” for Telegram Stars or “TON” for TON g...
std::optional< std::int32_t > amount
Optional. The amount of the currency that was received by the channel in nanograms; for payments in T...
std::shared_ptr< Message > suggestedPostMessage
Optional. Message containing the suggested post. Note that the Message object in this field will not ...
Contains parameters of a post that is being suggested by the bot.
std::shared_ptr< SuggestedPostParameters > Ptr
std::shared_ptr< SuggestedPostPrice > price
Optional. Proposed price for the post. If the field is omitted, then the post is unpaid.
std::optional< std::int32_t > sendDate
Optional. Proposed send date of the post. If specified, then the date must be between 300 second and ...
Describes the price of a suggested post.
std::string currency
Currency in which the post will be paid. Currently, must be one of “XTR” for Telegram Stars or “TON” ...
std::int32_t amount
The amount of the currency that will be paid for the post in the smallest units of the currency,...
std::shared_ptr< SuggestedPostPrice > Ptr
Describes a service message about a payment refund for a suggested post.
std::shared_ptr< Message > suggestedPostMessage
Optional. Message containing the suggested post. Note that the Message object in this field will not ...
std::shared_ptr< SuggestedPostRefunded > Ptr
std::string reason
Reason for the refund. Currently, one of “post_deleted” if the post was deleted within 24 hours of be...
This object represents an inline button that switches the current user to inline mode in a chosen cha...
std::optional< bool > allowGroupChats
Optional. True, if group and supergroup chats can be chosen.
std::shared_ptr< SwitchInlineQueryChosenChat > Ptr
std::optional< bool > allowBotChats
Optional. True, if private chats with bots can be chosen.
std::optional< bool > allowChannelChats
Optional. True, if channel chats can be chosen.
std::optional< std::string > query
Optional. The default inline query to be inserted in the input field. If left empty,...
std::optional< bool > allowUserChats
Optional. True, if private chats with users can be chosen.
This object contains information about the quoted part of a message that is replied to by the given m...
std::optional< std::vector< std::shared_ptr< MessageEntity > > > entities
Optional. Special entities that appear in the quote. Currently, only bold, italic,...
std::int32_t position
Approximate quote position in the original message in UTF-16 code units as specified by the sender.
std::shared_ptr< TextQuote > Ptr
std::string text
Text of the quoted part of a message that is replied to by the given message.
std::optional< bool > isManual
Optional. True, if the quote was chosen manually by the message sender. Otherwise,...
Describes the affiliate program that issued the affiliate commission received via this transaction.
std::shared_ptr< TransactionPartnerAffiliateProgram > Ptr
std::int32_t commissionPerMille
The number of Telegram Stars received by the bot for each 1000 Telegram Stars received by the affilia...
std::string type
Type of the transaction partner, always “affiliate_program”
std::shared_ptr< User > sponsorUser
Optional. Information about the bot that sponsored the affiliate program.
static TGBOT_API const std::string TYPE
Describes a transaction with a chat.
std::shared_ptr< Gift > gift
Optional. The gift sent to the chat by the bot.
std::shared_ptr< Chat > chat
Information about the chat.
static TGBOT_API const std::string TYPE
std::shared_ptr< TransactionPartnerChat > Ptr
std::string type
Type of the transaction partner, always “chat”
Describes a withdrawal transaction with Fragment.
std::shared_ptr< TransactionPartnerFragment > Ptr
std::shared_ptr< RevenueWithdrawalState > withdrawalState
Optional. State of the transaction if the transaction is outgoing.
static TGBOT_API const std::string TYPE
std::string type
Type of the transaction partner, always “fragment”
This object describes the source of a transaction, or its recipient for outgoing transactions....
std::variant< std::shared_ptr< TransactionPartnerUser >, std::shared_ptr< TransactionPartnerChat >, std::shared_ptr< TransactionPartnerAffiliateProgram >, std::shared_ptr< TransactionPartnerFragment >, std::shared_ptr< TransactionPartnerTelegramAds >, std::shared_ptr< TransactionPartnerTelegramApi >, std::shared_ptr< TransactionPartnerOther > > value
std::shared_ptr< TransactionPartner > Ptr
Describes a transaction with an unknown source or recipient.
std::shared_ptr< TransactionPartnerOther > Ptr
std::string type
Type of the transaction partner, always “other”
static TGBOT_API const std::string TYPE
Describes a withdrawal transaction to the Telegram Ads platform.
std::string type
Type of the transaction partner, always “telegram_ads”
std::shared_ptr< TransactionPartnerTelegramAds > Ptr
static TGBOT_API const std::string TYPE
Describes a transaction with payment for paid broadcasting.
std::int32_t requestCount
The number of successful requests that exceeded regular limits and were therefore billed.
std::shared_ptr< TransactionPartnerTelegramApi > Ptr
static TGBOT_API const std::string TYPE
std::string type
Type of the transaction partner, always “telegram_api”
Describes a transaction with a user.
std::shared_ptr< User > user
Information about the user.
std::optional< std::string > paidMediaPayload
Optional. Bot-specified paid media payload. Can be available only for “paid_media_payment” transactio...
std::optional< std::string > invoicePayload
Optional. Bot-specified invoice payload. Can be available only for “invoice_payment” transactions.
std::optional< std::int32_t > premiumSubscriptionDuration
Optional. Number of months the gifted Telegram Premium subscription will be active for; for “premium_...
std::optional< std::int32_t > subscriptionPeriod
Optional. The duration of the paid subscription. Can be available only for “invoice_payment” transact...
std::shared_ptr< AffiliateInfo > affiliate
Optional. Information about the affiliate that received a commission via this transaction....
std::string transactionType
Type of the transaction, currently one of “invoice_payment” for payments via invoices,...
std::optional< std::vector< std::shared_ptr< PaidMedia > > > paidMedia
Optional. Information about the paid media bought by the user; for “paid_media_payment” transactions ...
std::string type
Type of the transaction partner, always “user”
std::shared_ptr< TransactionPartnerUser > Ptr
static TGBOT_API const std::string TYPE
std::shared_ptr< Gift > gift
Optional. The gift sent to the user by the bot; for “gift_purchase” transactions only.
This object describes the colors of the backdrop of a unique gift.
std::int32_t edgeColor
The color on the edges of the backdrop in RGB format.
std::shared_ptr< UniqueGiftBackdropColors > Ptr
std::int32_t symbolColor
The color to be applied to the symbol in RGB format.
std::int32_t textColor
The color for the text on the backdrop in RGB format.
std::int32_t centerColor
The color in the center of the backdrop in RGB format.
This object describes the backdrop of a unique gift.
std::int32_t rarityPerMille
The number of unique gifts that receive this backdrop for every 1000 gifts upgraded.
std::string name
Name of the backdrop.
std::shared_ptr< UniqueGiftBackdrop > Ptr
std::shared_ptr< UniqueGiftBackdropColors > colors
Colors of the backdrop.
This object contains information about the color scheme for a user's name, message replies and link p...
std::int32_t darkThemeMainColor
Main color used in dark themes; RGB format.
std::string modelCustomEmojiId
Custom emoji identifier of the unique gift's model.
std::vector< std::int32_t > darkThemeOtherColors
List of 1-3 additional colors used in dark themes; RGB format.
std::shared_ptr< UniqueGiftColors > Ptr
std::int32_t lightThemeMainColor
Main color used in light themes; RGB format.
std::string symbolCustomEmojiId
Custom emoji identifier of the unique gift's symbol.
std::vector< std::int32_t > lightThemeOtherColors
List of 1-3 additional colors used in light themes; RGB format.
This object describes a unique gift that was upgraded from a regular gift.
std::optional< bool > isFromBlockchain
Optional. True, if the gift is assigned from the TON blockchain and can't be resold or transferred in...
std::shared_ptr< UniqueGift > Ptr
std::shared_ptr< UniqueGiftBackdrop > backdrop
Backdrop of the gift.
std::int32_t number
Unique number of the upgraded gift among gifts upgraded from the same regular gift.
std::string baseName
Human-readable name of the regular gift from which this unique gift was upgraded.
std::shared_ptr< UniqueGiftColors > colors
Optional. The color scheme that can be used by the gift's owner for the chat's name,...
std::shared_ptr< Chat > publisherChat
Optional. Information about the chat that published the gift.
std::shared_ptr< UniqueGiftSymbol > symbol
Symbol of the gift.
std::string giftId
Identifier of the regular gift from which the gift was upgraded.
std::optional< bool > isPremium
Optional. True, if the original regular gift was exclusively purchaseable by Telegram Premium subscri...
std::optional< bool > isBurned
Optional. True, if the gift was used to craft another gift and isn't available anymore.
std::string name
Unique name of the gift. This name can be used in https://t.me/nft/... links and story areas.
std::shared_ptr< UniqueGiftModel > model
Model of the gift.
Describes a service message about a unique gift that was sent or received.
std::optional< std::string > lastResaleCurrency
Optional. For gifts bought from other users, the currency in which the payment for the gift was done....
std::shared_ptr< UniqueGift > gift
Information about the gift.
std::shared_ptr< UniqueGiftInfo > Ptr
std::optional< std::int32_t > transferStarCount
Optional. Number of Telegram Stars that must be paid to transfer the gift; omitted if the bot cannot ...
std::optional< std::string > ownedGiftId
Optional. Unique identifier of the received gift for the bot; only present for gifts received on beha...
std::string origin
Origin of the gift. Currently, either “upgrade” for gifts upgraded from regular gifts,...
std::optional< std::int32_t > lastResaleAmount
Optional. For gifts bought from other users, the price paid for the gift in either Telegram Stars or ...
std::optional< std::int32_t > nextTransferDate
Optional. Point in time (Unix timestamp) when the gift can be transferred. If it is in the past,...
This object describes the model of a unique gift.
std::optional< std::string > rarity
Optional. Rarity of the model if it is a crafted model. Currently, can be “uncommon”,...
std::shared_ptr< UniqueGiftModel > Ptr
std::int32_t rarityPerMille
The number of unique gifts that receive this model for every 1000 gift upgrades. Always 0 for crafted...
std::string name
Name of the model.
std::shared_ptr< Sticker > sticker
The sticker that represents the unique gift.
This object describes the symbol shown on the pattern of a unique gift.
std::int32_t rarityPerMille
The number of unique gifts that receive this model for every 1000 gifts upgraded.
std::shared_ptr< Sticker > sticker
The sticker that represents the unique gift.
std::shared_ptr< UniqueGiftSymbol > Ptr
std::string name
Name of the symbol.
This object represents an incoming update.At most one of the optional fields can be present in any gi...
std::shared_ptr< Message > editedMessage
Optional. New version of a message that is known to the bot and was edited. This update may at times ...
std::shared_ptr< Message > channelPost
Optional. New incoming channel post of any kind - text, photo, sticker, etc.
std::shared_ptr< CallbackQuery > callbackQuery
Optional. New incoming callback query.
std::shared_ptr< BotSubscriptionUpdated > subscription
Optional. User payment subscription has changed.
std::shared_ptr< ChatBoostUpdated > chatBoost
Optional. A chat boost was added or changed. The bot must be an administrator in the chat to receive ...
std::shared_ptr< Message > message
Optional. New incoming message of any kind - text, photo, sticker, etc.
std::shared_ptr< ChatBoostRemoved > removedChatBoost
Optional. A boost was removed from a chat. The bot must be an administrator in the chat to receive th...
std::shared_ptr< ChosenInlineResult > chosenInlineResult
Optional. The result of an inline query that was chosen by a user and sent to their chat partner....
std::shared_ptr< ShippingQuery > shippingQuery
Optional. New incoming shipping query. Only for invoices with flexible price.
std::shared_ptr< MessageReactionUpdated > messageReaction
Optional. A reaction to a message was changed by a user. The bot must be an administrator in the chat...
std::shared_ptr< ChatJoinRequest > chatJoinRequest
Optional. A request to join the chat has been sent. The bot must have the can_invite_users administra...
std::shared_ptr< Update > Ptr
std::shared_ptr< ChatMemberUpdated > chatMember
Optional. A chat member's status was updated in a chat. The bot must be an administrator in the chat ...
std::shared_ptr< PaidMediaPurchased > purchasedPaidMedia
Optional. A user purchased paid media with a non-empty payload sent by the bot in a non- channel chat...
std::shared_ptr< ManagedBotUpdated > managedBot
Optional. A new bot was created to be managed by the bot, or token or owner of a managed bot was chan...
std::shared_ptr< PreCheckoutQuery > preCheckoutQuery
Optional. New incoming pre-checkout query. Contains full information about checkout.
std::shared_ptr< Message > editedChannelPost
Optional. New version of a channel post that is known to the bot and was edited. This update may at t...
std::shared_ptr< Message > guestMessage
Optional. New guest message. The bot can use the field Message.guest_query_id and the method answerGu...
std::int32_t updateId
The update's unique identifier. Update identifiers start from a certain positive number and increase ...
std::shared_ptr< MessageReactionCountUpdated > messageReactionCount
Optional. Reactions to a message with anonymous reactions were changed. The bot must be an administra...
std::shared_ptr< PollAnswer > pollAnswer
Optional. A user changed their answer in a non-anonymous poll. Bots receive new votes only in polls t...
std::shared_ptr< BusinessConnection > businessConnection
Optional. The bot was connected to or disconnected from a business account, or a user edited an exist...
std::shared_ptr< BusinessMessagesDeleted > deletedBusinessMessages
Optional. Messages were deleted from a connected business account.
std::shared_ptr< Message > editedBusinessMessage
Optional. New version of a message from a connected business account.
std::shared_ptr< ChatMemberUpdated > myChatMember
Optional. The bot's chat member status was updated in a chat. For private chats, this update is recei...
std::shared_ptr< InlineQuery > inlineQuery
Optional. New incoming inline query.
std::shared_ptr< Message > businessMessage
Optional. New message from a connected business account.
std::shared_ptr< Poll > poll
Optional. New poll state. Bots receive only updates about manually stopped polls and polls,...
This object represents a list of boosts added to a chat by a user.
std::vector< std::shared_ptr< ChatBoost > > boosts
The list of boosts added to the chat by the user.
std::shared_ptr< UserChatBoosts > Ptr
This object represents a Telegram user or bot.
std::optional< std::string > lastName
Optional. User's or bot's last name.
std::optional< bool > hasMainWebApp
Optional. True, if the bot has a main Web App. Returned only in getMe.
std::optional< bool > allowsUsersToCreateTopics
Optional. True, if the bot allows users to create and delete topics in private chats....
std::optional< bool > canJoinGroups
Optional. True, if the bot can be invited to groups. Returned only in getMe.
std::optional< bool > supportsInlineQueries
Optional. True, if the bot supports inline queries. Returned only in getMe.
std::optional< bool > isPremium
Optional. True, if this user is a Telegram Premium user.
std::optional< bool > canManageBots
Optional. True, if other bots can be created to be controlled by the bot. Returned only in getMe.
std::optional< bool > supportsGuestQueries
Optional. True, if the bot supports guest queries from chats it is not a member of....
std::string firstName
User's or bot's first name.
std::optional< bool > canReadAllGroupMessages
Optional. True, if privacy mode is disabled for the bot. Returned only in getMe.
std::optional< std::string > username
Optional. User's or bot's username.
std::optional< bool > canConnectToBusiness
Optional. True, if the bot can be connected to a user account to manage it. Returned only in getMe.
std::optional< bool > hasTopicsEnabled
Optional. True, if the bot has forum topic mode enabled in private chats. Returned only in getMe.
bool isBot
True, if this user is a bot.
std::optional< bool > addedToAttachmentMenu
Optional. True, if this user added the bot to the attachment menu.
std::shared_ptr< User > Ptr
std::optional< std::string > languageCode
Optional. IETF language tag of the user's language.
std::optional< bool > supportsJoinRequestQueries
Optional. True, if the bot supports join request queries and can be assigned to process them....
This object represents the audios displayed on a user's profile.
std::int32_t totalCount
Total number of profile audios for the target user.
std::vector< std::shared_ptr< Audio > > audios
Requested profile audios.
std::shared_ptr< UserProfileAudios > Ptr
This object represent a user's profile pictures.
std::vector< std::vector< std::shared_ptr< PhotoSize > > > photos
Requested profile pictures (in up to 4 sizes each).
std::int32_t totalCount
Total number of profile pictures the target user has.
std::shared_ptr< UserProfilePhotos > Ptr
This object describes the rating of a user based on their Telegram Star spendings.
std::int32_t level
Current level of the user, indicating their reliability when purchasing digital goods and services....
std::shared_ptr< UserRating > Ptr
std::optional< std::int32_t > nextLevelRating
Optional. The rating value required to get to the next level; omitted if the maximum level was reache...
std::int32_t currentLevelRating
The rating value required to get the current level.
std::int32_t rating
Numerical value of the user's rating; the higher the rating, the better.
This object contains information about the users whose identifiers were shared with the bot using a K...
std::vector< std::shared_ptr< SharedUser > > users
Information about users shared with the bot.
std::shared_ptr< UsersShared > Ptr
std::int32_t requestId
Identifier of the request.
This object represents a venue.
std::optional< std::string > foursquareId
Optional. Foursquare identifier of the venue.
std::string address
Address of the venue.
std::optional< std::string > googlePlaceType
Optional. Google Places type of the venue. (See supported types.).
std::shared_ptr< Location > location
Venue location. Can't be a live location.
std::optional< std::string > foursquareType
Optional. Foursquare type of the venue. (For example, “arts_entertainment/default”,...
std::optional< std::string > googlePlaceId
Optional. Google Places identifier of the venue.
std::shared_ptr< Venue > Ptr
std::string title
Name of the venue.
This object represents a service message about a video chat ended in the chat.
std::int32_t duration
Video chat duration in seconds.
std::shared_ptr< VideoChatEnded > Ptr
This object represents a service message about new members invited to a video chat.
std::shared_ptr< VideoChatParticipantsInvited > Ptr
std::vector< std::shared_ptr< User > > users
New members that were invited to the video chat.
This object represents a service message about a video chat scheduled in the chat.
std::int32_t startDate
Point in time (Unix timestamp) when the video chat is supposed to be started by a chat administrator.
std::shared_ptr< VideoChatScheduled > Ptr
This object represents a service message about a video chat started in the chat. Currently holds no i...
std::shared_ptr< VideoChatStarted > Ptr
This object represents a video file.
std::optional< std::string > fileName
Optional. Original filename as defined by the sender.
std::optional< std::int32_t > startTimestamp
Optional. Timestamp in seconds from which the video will play in the message.
std::optional< std::vector< std::shared_ptr< VideoQuality > > > qualities
Optional. List of available qualities of the video.
std::string fileId
Identifier for this file, which can be used to download or reuse the file.
std::shared_ptr< PhotoSize > thumbnail
Optional. Video thumbnail.
std::int32_t width
Video width as defined by the sender.
std::shared_ptr< Video > Ptr
std::int32_t duration
Duration of the video in seconds as defined by the sender.
std::string fileUniqueId
Unique identifier for this file, which is supposed to be the same over time and for different bots....
std::int32_t height
Video height as defined by the sender.
std::optional< std::string > mimeType
Optional. MIME type of the file as defined by the sender.
std::optional< std::int64_t > fileSize
Optional. File size in bytes. It can be bigger than 2^31 and some programming languages may have diff...
std::optional< std::vector< std::shared_ptr< PhotoSize > > > cover
Optional. Available sizes of the cover of the video in the message.
This object represents a video message (available in Telegram apps as of v.4.0).
std::int32_t duration
Duration of the video in seconds as defined by the sender.
std::shared_ptr< PhotoSize > thumbnail
Optional. Video thumbnail.
std::string fileId
Identifier for this file, which can be used to download or reuse the file.
std::string fileUniqueId
Unique identifier for this file, which is supposed to be the same over time and for different bots....
std::optional< std::int32_t > fileSize
Optional. File size in bytes.
std::int32_t length
Video width and height (diameter of the video message) as defined by the sender.
std::shared_ptr< VideoNote > Ptr
This object represents a video file of a specific quality.
std::shared_ptr< VideoQuality > Ptr
std::int32_t width
Video width.
std::string fileUniqueId
Unique identifier for this file, which is supposed to be the same over time and for different bots....
std::string codec
Codec that was used to encode the video, for example, “h264”, “h265”, or “av01”
std::int32_t height
Video height.
std::string fileId
Identifier for this file, which can be used to download or reuse the file.
std::optional< std::int64_t > fileSize
Optional. File size in bytes. It can be bigger than 2^31 and some programming languages may have diff...
This object represents a voice note.
std::string fileId
Identifier for this file, which can be used to download or reuse the file.
std::optional< std::int64_t > fileSize
Optional. File size in bytes. It can be bigger than 2^31 and some programming languages may have diff...
std::optional< std::string > mimeType
Optional. MIME type of the file as defined by the sender.
std::string fileUniqueId
Unique identifier for this file, which is supposed to be the same over time and for different bots....
std::int32_t duration
Duration of the audio in seconds as defined by the sender.
std::shared_ptr< Voice > Ptr
Describes data sent from a Web App to the bot.
std::shared_ptr< WebAppData > Ptr
std::string buttonText
Text of the web_app keyboard button from which the Web App was opened. Be aware that a bad client can...
std::string data
The data. Be aware that a bad client can send arbitrary data in this field.
std::string url
An HTTPS URL of a Web App to be opened with additional data as specified in Initializing Web Apps.
std::shared_ptr< WebAppInfo > Ptr
Describes the current status of a webhook.
std::optional< std::string > lastErrorMessage
Optional. Error message in human-readable format for the most recent error that happened when trying ...
std::optional< std::string > ipAddress
Optional. Currently used webhook IP address.
std::optional< std::vector< std::string > > allowedUpdates
Optional. A list of update types the bot is subscribed to. Defaults to all update types except chat_m...
std::string url
Webhook URL, may be empty if webhook is not set up.
std::optional< std::int32_t > lastSynchronizationErrorDate
Optional. Unix time of the most recent error that happened when trying to synchronize available updat...
std::optional< std::int32_t > maxConnections
Optional. The maximum allowed number of simultaneous HTTPS connections to the webhook for update deli...
std::int32_t pendingUpdateCount
Number of updates awaiting delivery.
std::shared_ptr< WebhookInfo > Ptr
std::optional< std::int32_t > lastErrorDate
Optional. Unix time for the most recent error that happened when trying to deliver an update via webh...
bool hasCustomCertificate
True, if a custom certificate was provided for webhook certificate checks.
This object represents a service message about a user allowing a bot to write messages after adding i...
std::optional< bool > fromAttachmentMenu
Optional. True, if the access was granted when the bot was added to the attachment or side menu.
std::optional< std::string > webAppName
Optional. Name of the Web App, if the access was granted when the Web App was launched from a link.
std::shared_ptr< WriteAccessAllowed > Ptr
std::optional< bool > fromRequest
Optional. True, if the access was granted after the user accepted an explicit request from a Web App ...