21 template<
typename _Ty>
22 using Ptr = std::unique_ptr<_Ty>;
26 enum class UpdateType {
39 PRIVATE, GROUP, SUPERGROUP, CHANNEL
42 enum class MessageEntityType {
58 enum class ChatMemberStatus {
69 explicit User(
const Json::Value &
object);
71 std::string firstName;
72 Ptr<std::string> lastName;
73 Ptr<std::string> username;
74 Ptr<std::string> languageCode;
81 explicit ChatPhoto(
const Json::Value &
object);
83 std::string smallFileId;
84 std::string bigFileId;
95 MessageEntityType type;
102 explicit PhotoSize(
const Json::Value &
object);
112 explicit Audio(
const Json::Value &
object);
115 Ptr<std::string> performer;
116 Ptr<std::string> title;
117 Ptr<std::string> mimeType;
118 Ptr<PhotoSize> thumb;
124 explicit Document(
const Json::Value &
object);
127 Ptr<PhotoSize> thumb;
128 Ptr<std::string> fileName;
129 Ptr<std::string> mimeType;
135 explicit Voice(
const Json::Value &
object);
138 Ptr<std::string> mimeType;
145 explicit Contact(
const Json::Value &
object);
147 std::string phoneNumber;
148 std::string firstName;
149 Ptr<std::string> lastName;
155 explicit Location(
const Json::Value &
object);
163 explicit Animation(
const Json::Value &
object);
166 Ptr<PhotoSize> thumb;
167 Ptr<std::string> fileName;
168 Ptr<std::string> mimeType;
174 explicit Venue(
const Json::Value &
object);
179 Ptr<std::string> foursquareId;
180 Ptr<std::string> foursquareType;
185 explicit VideoNote(
const Json::Value &
object);
188 Ptr<PhotoSize> thumb;
206 explicit Sticker(
const Json::Value &
object);
209 Ptr<MaskPosition> maskPosition;
210 Ptr<PhotoSize> thumb;
211 Ptr<std::string> emoji;
212 Ptr<std::string> setName;
220 explicit StickerSet(
const Json::Value &
object);
224 std::vector<Sticker> stickers;
225 bool containsMasks : 1;
230 explicit Video(
const Json::Value &
object);
233 Ptr<PhotoSize> thumb;
234 Ptr<std::string> mimeType;
243 explicit Invoice(
const Json::Value &
object);
246 std::string description;
247 std::string startParameter;
248 std::string currency;
256 std::string countryCode;
259 std::string streetLineOne;
260 std::string streetLineTwo;
261 std::string postCode;
266 explicit OrderInfo(
const Json::Value &
object);
268 Ptr<ShippingAddress> shippingAddress;
269 Ptr<std::string> name;
270 Ptr<std::string> phoneNumber;
271 Ptr<std::string> email;
278 std::string currency;
279 std::string invoicePayload;
280 std::string telegramPaymentChargeId;
281 std::string providerPaymentChargeId;
282 Ptr<std::string> shippingOptionId;
283 Ptr<OrderInfo> orderInfo;
289 explicit Game(
const Json::Value &
object);
292 std::string description;
293 std::vector<PhotoSize> photo;
294 Ptr<Animation> animation;
295 Ptr<std::vector<MessageEntity>> textEntities;
296 Ptr<std::string> text;
310 explicit Chat(
const Json::Value &
object);
313 Ptr<Message> pinnedMessage;
314 Ptr<ChatPhoto> photo;
315 Ptr<std::string> title;
316 Ptr<std::string> username;
317 Ptr<std::string> firstName;
318 Ptr<std::string> lastName;
319 Ptr<std::string> description;
320 Ptr<std::string> inviteLink;
321 Ptr<std::string> stickerSetName;
323 bool allMembersAreAdministrators : 1;
324 bool canSetStickerSet : 1;
337 explicit Poll(
const Json::Value &
object);
339 std::vector<PollOptions> options;
340 std::string question;
347 explicit Message(
const Json::Value &
object);
351 Ptr<User> forwardFrom;
352 Ptr<Chat> forwardFromChat;
353 Ptr<std::string> forwardSignature;
354 Ptr<Message> replyToMessage;
355 Ptr<std::string> authorSignature;
356 Ptr<std::string> text;
357 Ptr<std::vector<MessageEntity>> entities;
359 Ptr<Document> document;
361 Ptr<std::vector<PhotoSize>> photo;
362 Ptr<Sticker> sticker;
365 Ptr<VideoNote> videoNote;
366 Ptr<std::string> caption;
367 Ptr<Contact> contact;
368 Ptr<Location> location;
370 Ptr<std::vector<User>> newChatMembers;
371 Ptr<User> leftChatMember;
372 Ptr<std::string> newChatTitle;
373 Ptr<std::vector<PhotoSize>> newChatPhoto;
374 Ptr<Message> pinnedMessage;
375 Ptr<Invoice> invoice;
376 Ptr<SuccessfulPayment> successfulPayment;
377 Ptr<std::vector<MessageEntity>> captionEntities;
378 Ptr<std::string> connectedWebsite;
379 Ptr<Animation> animation;
380 Ptr<std::string> forwardSenderName;
382 std::int64_t migrateToChatId;
383 std::int64_t migrateFromChatId;
384 int forwardFromMessageId;
389 bool deleteChatPhoto : 1;
390 bool groupChatCreated : 1;
391 bool supergroupChatCreated : 1;
392 bool channelChatCreated : 1;
403 Ptr<Location> location;
411 std::string resultId;
413 Ptr<Location> location;
414 Ptr<std::string> inlineMessageId;
423 std::string chatInstance;
424 Ptr<Message> message;
425 Ptr<std::string> inlineMessageId;
426 Ptr<std::string> data;
427 Ptr<std::string> gameShortName;
437 std::string invoicePayload;
445 std::string currency;
446 std::string invoicePayload;
448 Ptr<std::string> shippingOptionId;
449 Ptr<OrderInfo> orderInfo;
455 explicit Update(
const Json::Value &
object);
457 Ptr<Message> message;
458 Ptr<Message> editedMessage;
459 Ptr<Message> channelPost;
460 Ptr<Message> editedChannelPost;
461 Ptr<InlineQuery> inlineQuery;
462 Ptr<ChosenInlineResult> chosenInlineResult;
463 Ptr<CallbackQuery> callbackQuery;
464 Ptr<ShippingQuery> shippingQuery;
465 Ptr<PreCheckoutQuery> preCheckoutQuery;
466 UpdateType updateType;
474 std::int64_t migrateToChatId;
480 explicit File(
const Json::Value &
object);
483 Ptr<std::string> filePath;
491 std::vector<std::vector<PhotoSize>> photos;
498 bool requestContact : 1;
499 bool requestLocation : 1;
507 Ptr<std::string> lastErrorMessage;
508 Ptr<std::vector<std::string>> allowedUpdates;
509 int pendingUpdateCount;
512 bool hasCustomCertificate : 1;
526 explicit ChatMember(
const Json::Value &
object);
529 ChatMemberStatus status;
531 bool canBeEdited : 1;
532 bool canChangeInfo : 1;
533 bool canPostMessages : 1;
534 bool canEditMessages : 1;
535 bool canDeleteMessages : 1;
536 bool canInviteUsers : 1;
537 bool canRestrictMembers : 1;
538 bool canPinMessages : 1;
539 bool canPromoteMembers : 1;
540 bool canSendMessages : 1;
541 bool canSendMediaMessages : 1;
542 bool canSendOtherMessages : 1;
543 bool canAddWebPagePreviews : 1;
CallbackGame
(note) according to telegram API documentation, this is only a placeholder, currently using this has ...
Definition: types.h:520
Main tgbot namespace.
Definition: bot.h:13