tgbot-cpp
Loading...
Searching...
No Matches
TgTypeParser.h
Go to the documentation of this file.
1#ifndef TGBOT_TGTYPEPARSER_H
2#define TGBOT_TGTYPEPARSER_H
3
4#include "tgbot/export.h"
7#include "tgbot/types/User.h"
8#include "tgbot/types/Chat.h"
23#include "tgbot/types/Audio.h"
25#include "tgbot/types/Story.h"
26#include "tgbot/types/Video.h"
28#include "tgbot/types/Voice.h"
29#include "tgbot/types/Contact.h"
30#include "tgbot/types/Dice.h"
33#include "tgbot/types/Poll.h"
35#include "tgbot/types/Venue.h"
60#include "tgbot/types/File.h"
109#include "tgbot/types/BotName.h"
133#include "tgbot/types/Sticker.h"
169#include "tgbot/types/Invoice.h"
190#include "tgbot/types/Game.h"
194
195#include <boost/property_tree/json_parser.hpp>
196#include <boost/property_tree/ptree.hpp>
197
198#include <memory>
199#include <sstream>
200#include <string>
201#include <utility>
202#include <vector>
203
204namespace TgBot {
205
206class TGBOT_API TgTypeParser {
207
208public:
209 template<typename T>
210 using JsonToTgTypeFunc = std::shared_ptr<T> (TgTypeParser::*)(const boost::property_tree::ptree&) const;
211
212 template<typename T>
213 using TgTypeToJsonFunc = std::string (TgTypeParser::*)(const std::shared_ptr<T>&) const;
214
215 Update::Ptr parseJsonAndGetUpdate(const boost::property_tree::ptree& data) const;
216 std::string parseUpdate(const Update::Ptr& object) const;
217
218 WebhookInfo::Ptr parseJsonAndGetWebhookInfo(const boost::property_tree::ptree& data) const;
219 std::string parseWebhookInfo(const WebhookInfo::Ptr& object) const;
220
221 User::Ptr parseJsonAndGetUser(const boost::property_tree::ptree& data) const;
222 std::string parseUser(const User::Ptr& object) const;
223
224 Chat::Ptr parseJsonAndGetChat(const boost::property_tree::ptree& data) const;
225 std::string parseChat(const Chat::Ptr& object) const;
226
227 Message::Ptr parseJsonAndGetMessage(const boost::property_tree::ptree& data) const;
228 std::string parseMessage(const Message::Ptr& object) const;
229
230 MessageId::Ptr parseJsonAndGetMessageId(const boost::property_tree::ptree& data) const;
231 std::string parseMessageId(const MessageId::Ptr& object) const;
232
233 InaccessibleMessage::Ptr parseJsonAndGetInaccessibleMessage(const boost::property_tree::ptree& data) const;
234 std::string parseInaccessibleMessage(const InaccessibleMessage::Ptr& object) const;
235
236 MessageEntity::Ptr parseJsonAndGetMessageEntity(const boost::property_tree::ptree& data) const;
237 std::string parseMessageEntity(const MessageEntity::Ptr& object) const;
238
239 TextQuote::Ptr parseJsonAndGetTextQuote(const boost::property_tree::ptree& data) const;
240 std::string parseTextQuote(const TextQuote::Ptr& object) const;
241
242 ExternalReplyInfo::Ptr parseJsonAndGetExternalReplyInfo(const boost::property_tree::ptree& data) const;
243 std::string parseExternalReplyInfo(const ExternalReplyInfo::Ptr& object) const;
244
245 ReplyParameters::Ptr parseJsonAndGetReplyParameters(const boost::property_tree::ptree& data) const;
246 std::string parseReplyParameters(const ReplyParameters::Ptr& object) const;
247
248 MessageOrigin::Ptr parseJsonAndGetMessageOrigin(const boost::property_tree::ptree& data) const;
249 std::string parseMessageOrigin(const MessageOrigin::Ptr& object) const;
250
251 MessageOriginUser::Ptr parseJsonAndGetMessageOriginUser(const boost::property_tree::ptree& data) const;
252 std::string parseMessageOriginUser(const MessageOriginUser::Ptr& object) const;
253
254 MessageOriginHiddenUser::Ptr parseJsonAndGetMessageOriginHiddenUser(const boost::property_tree::ptree& data) const;
256
257 MessageOriginChat::Ptr parseJsonAndGetMessageOriginChat(const boost::property_tree::ptree& data) const;
258 std::string parseMessageOriginChat(const MessageOriginChat::Ptr& object) const;
259
260 MessageOriginChannel::Ptr parseJsonAndGetMessageOriginChannel(const boost::property_tree::ptree& data) const;
261 std::string parseMessageOriginChannel(const MessageOriginChannel::Ptr& object) const;
262
263 PhotoSize::Ptr parseJsonAndGetPhotoSize(const boost::property_tree::ptree& data) const;
264 std::string parsePhotoSize(const PhotoSize::Ptr& object) const;
265
266 Animation::Ptr parseJsonAndGetAnimation(const boost::property_tree::ptree& data) const;
267 std::string parseAnimation(const Animation::Ptr& object) const;
268
269 Audio::Ptr parseJsonAndGetAudio(const boost::property_tree::ptree& data) const;
270 std::string parseAudio(const Audio::Ptr& object) const;
271
272 Document::Ptr parseJsonAndGetDocument(const boost::property_tree::ptree& data) const;
273 std::string parseDocument(const Document::Ptr& object) const;
274
275 Story::Ptr parseJsonAndGetStory(const boost::property_tree::ptree& data) const;
276 std::string parseStory(const Story::Ptr& object) const;
277
278 Video::Ptr parseJsonAndGetVideo(const boost::property_tree::ptree& data) const;
279 std::string parseVideo(const Video::Ptr& object) const;
280
281 VideoNote::Ptr parseJsonAndGetVideoNote(const boost::property_tree::ptree& data) const;
282 std::string parseVideoNote(const VideoNote::Ptr& object) const;
283
284 Voice::Ptr parseJsonAndGetVoice(const boost::property_tree::ptree& data) const;
285 std::string parseVoice(const Voice::Ptr& object) const;
286
287 Contact::Ptr parseJsonAndGetContact(const boost::property_tree::ptree& data) const;
288 std::string parseContact(const Contact::Ptr& object) const;
289
290 Dice::Ptr parseJsonAndGetDice(const boost::property_tree::ptree& data) const;
291 std::string parseDice(const Dice::Ptr& object) const;
292
293 PollOption::Ptr parseJsonAndGetPollOption(const boost::property_tree::ptree& data) const;
294 std::string parsePollOption(const PollOption::Ptr& object) const;
295
296 PollAnswer::Ptr parseJsonAndGetPollAnswer(const boost::property_tree::ptree& data) const;
297 std::string parsePollAnswer(const PollAnswer::Ptr& object) const;
298
299 Poll::Ptr parseJsonAndGetPoll(const boost::property_tree::ptree& data) const;
300 std::string parsePoll(const Poll::Ptr& object) const;
301
302 Location::Ptr parseJsonAndGetLocation(const boost::property_tree::ptree& data) const;
303 std::string parseLocation(const Location::Ptr& object) const;
304
305 Venue::Ptr parseJsonAndGetVenue(const boost::property_tree::ptree& data) const;
306 std::string parseVenue(const Venue::Ptr& object) const;
307
308 WebAppData::Ptr parseJsonAndGetWebAppData(const boost::property_tree::ptree& data) const;
309 std::string parseWebAppData(const WebAppData::Ptr& object) const;
310
311 ProximityAlertTriggered::Ptr parseJsonAndGetProximityAlertTriggered(const boost::property_tree::ptree& data) const;
313
316
317 ChatBoostAdded::Ptr parseJsonAndGetChatBoostAdded(const boost::property_tree::ptree& data) const;
318 std::string parseChatBoostAdded(const ChatBoostAdded::Ptr& object) const;
319
320 ForumTopicCreated::Ptr parseJsonAndGetForumTopicCreated(const boost::property_tree::ptree& data) const;
321 std::string parseForumTopicCreated(const ForumTopicCreated::Ptr& object) const;
322
323 ForumTopicClosed::Ptr parseJsonAndGetForumTopicClosed(const boost::property_tree::ptree& data) const;
324 std::string parseForumTopicClosed(const ForumTopicClosed::Ptr& object) const;
325
326 ForumTopicEdited::Ptr parseJsonAndGetForumTopicEdited(const boost::property_tree::ptree& data) const;
327 std::string parseForumTopicEdited(const ForumTopicEdited::Ptr& object) const;
328
329 ForumTopicReopened::Ptr parseJsonAndGetForumTopicReopened(const boost::property_tree::ptree& data) const;
330 std::string parseForumTopicReopened(const ForumTopicReopened::Ptr& object) const;
331
332 GeneralForumTopicHidden::Ptr parseJsonAndGetGeneralForumTopicHidden(const boost::property_tree::ptree& data) const;
334
335 GeneralForumTopicUnhidden::Ptr parseJsonAndGetGeneralForumTopicUnhidden(const boost::property_tree::ptree& data) const;
337
338 SharedUser::Ptr parseJsonAndGetSharedUser(const boost::property_tree::ptree& data) const;
339 std::string parseSharedUser(const SharedUser::Ptr& object) const;
340
341 UsersShared::Ptr parseJsonAndGetUsersShared(const boost::property_tree::ptree& data) const;
342 std::string parseUsersShared(const UsersShared::Ptr& object) const;
343
344 ChatShared::Ptr parseJsonAndGetChatShared(const boost::property_tree::ptree& data) const;
345 std::string parseChatShared(const ChatShared::Ptr& object) const;
346
347 WriteAccessAllowed::Ptr parseJsonAndGetWriteAccessAllowed(const boost::property_tree::ptree& data) const;
348 std::string parseWriteAccessAllowed(const WriteAccessAllowed::Ptr& object) const;
349
350 VideoChatScheduled::Ptr parseJsonAndGetVideoChatScheduled(const boost::property_tree::ptree& data) const;
351 std::string parseVideoChatScheduled(const VideoChatScheduled::Ptr& object) const;
352
353 VideoChatStarted::Ptr parseJsonAndGetVideoChatStarted(const boost::property_tree::ptree& data) const;
354 std::string parseVideoChatStarted(const VideoChatStarted::Ptr& object) const;
355
356 VideoChatEnded::Ptr parseJsonAndGetVideoChatEnded(const boost::property_tree::ptree& data) const;
357 std::string parseVideoChatEnded(const VideoChatEnded::Ptr& object) const;
358
361
362 GiveawayCreated::Ptr parseJsonAndGetGiveawayCreated(const boost::property_tree::ptree& data) const;
363 std::string parseGiveawayCreated(const GiveawayCreated::Ptr& object) const;
364
365 Giveaway::Ptr parseJsonAndGetGiveaway(const boost::property_tree::ptree& data) const;
366 std::string parseGiveaway(const Giveaway::Ptr& object) const;
367
368 GiveawayWinners::Ptr parseJsonAndGetGiveawayWinners(const boost::property_tree::ptree& data) const;
369 std::string parseGiveawayWinners(const GiveawayWinners::Ptr& object) const;
370
371 GiveawayCompleted::Ptr parseJsonAndGetGiveawayCompleted(const boost::property_tree::ptree& data) const;
372 std::string parseGiveawayCompleted(const GiveawayCompleted::Ptr& object) const;
373
374 LinkPreviewOptions::Ptr parseJsonAndGetLinkPreviewOptions(const boost::property_tree::ptree& data) const;
375 std::string parseLinkPreviewOptions(const LinkPreviewOptions::Ptr& object) const;
376
377 UserProfilePhotos::Ptr parseJsonAndGetUserProfilePhotos(const boost::property_tree::ptree& data) const;
378 std::string parseUserProfilePhotos(const UserProfilePhotos::Ptr& object) const;
379
380 File::Ptr parseJsonAndGetFile(const boost::property_tree::ptree& data) const;
381 std::string parseFile(const File::Ptr& object) const;
382
383 WebAppInfo::Ptr parseJsonAndGetWebAppInfo(const boost::property_tree::ptree& data) const;
384 std::string parseWebAppInfo(const WebAppInfo::Ptr& object) const;
385
386 ReplyKeyboardMarkup::Ptr parseJsonAndGetReplyKeyboardMarkup(const boost::property_tree::ptree& data) const;
387 std::string parseReplyKeyboardMarkup(const ReplyKeyboardMarkup::Ptr& object) const;
388
389 KeyboardButton::Ptr parseJsonAndGetKeyboardButton(const boost::property_tree::ptree& data) const;
390 std::string parseKeyboardButton(const KeyboardButton::Ptr& object) const;
391
394
395 KeyboardButtonRequestChat::Ptr parseJsonAndGetKeyboardButtonRequestChat(const boost::property_tree::ptree& data) const;
397
398 KeyboardButtonPollType::Ptr parseJsonAndGetKeyboardButtonPollType(const boost::property_tree::ptree& data) const;
400
401 ReplyKeyboardRemove::Ptr parseJsonAndGetReplyKeyboardRemove(const boost::property_tree::ptree& data) const;
402 std::string parseReplyKeyboardRemove(const ReplyKeyboardRemove::Ptr& object) const;
403
404 InlineKeyboardMarkup::Ptr parseJsonAndGetInlineKeyboardMarkup(const boost::property_tree::ptree& data) const;
405 std::string parseInlineKeyboardMarkup(const InlineKeyboardMarkup::Ptr& object) const;
406
407 InlineKeyboardButton::Ptr parseJsonAndGetInlineKeyboardButton(const boost::property_tree::ptree& data) const;
408 std::string parseInlineKeyboardButton(const InlineKeyboardButton::Ptr& object) const;
409
410 LoginUrl::Ptr parseJsonAndGetLoginUrl(const boost::property_tree::ptree& data) const;
411 std::string parseLoginUrl(const LoginUrl::Ptr& object) const;
412
415
416 CallbackQuery::Ptr parseJsonAndGetCallbackQuery(const boost::property_tree::ptree& data) const;
417 std::string parseCallbackQuery(const CallbackQuery::Ptr& object) const;
418
419 ForceReply::Ptr parseJsonAndGetForceReply(const boost::property_tree::ptree& data) const;
420 std::string parseForceReply(const ForceReply::Ptr& object) const;
421
422 ChatPhoto::Ptr parseJsonAndGetChatPhoto(const boost::property_tree::ptree& data) const;
423 std::string parseChatPhoto(const ChatPhoto::Ptr& object) const;
424
425 ChatInviteLink::Ptr parseJsonAndGetChatInviteLink(const boost::property_tree::ptree& data) const;
426 std::string parseChatInviteLink(const ChatInviteLink::Ptr& object) const;
427
428 ChatAdministratorRights::Ptr parseJsonAndGetChatAdministratorRights(const boost::property_tree::ptree& data) const;
430
431 ChatMemberUpdated::Ptr parseJsonAndGetChatMemberUpdated(const boost::property_tree::ptree& data) const;
432 std::string parseChatMemberUpdated(const ChatMemberUpdated::Ptr& object) const;
433
434 ChatMember::Ptr parseJsonAndGetChatMember(const boost::property_tree::ptree& data) const;
435 std::string parseChatMember(const ChatMember::Ptr& object) const;
436
437 ChatMemberOwner::Ptr parseJsonAndGetChatMemberOwner(const boost::property_tree::ptree& data) const;
438 std::string parseChatMemberOwner(const ChatMemberOwner::Ptr& object) const;
439
440 ChatMemberAdministrator::Ptr parseJsonAndGetChatMemberAdministrator(const boost::property_tree::ptree& data) const;
442
443 ChatMemberMember::Ptr parseJsonAndGetChatMemberMember(const boost::property_tree::ptree& data) const;
444 std::string parseChatMemberMember(const ChatMemberMember::Ptr& object) const;
445
446 ChatMemberRestricted::Ptr parseJsonAndGetChatMemberRestricted(const boost::property_tree::ptree& data) const;
447 std::string parseChatMemberRestricted(const ChatMemberRestricted::Ptr& object) const;
448
449 ChatMemberLeft::Ptr parseJsonAndGetChatMemberLeft(const boost::property_tree::ptree& data) const;
450 std::string parseChatMemberLeft(const ChatMemberLeft::Ptr& object) const;
451
452 ChatMemberBanned::Ptr parseJsonAndGetChatMemberBanned(const boost::property_tree::ptree& data) const;
453 std::string parseChatMemberBanned(const ChatMemberBanned::Ptr& object) const;
454
455 ChatJoinRequest::Ptr parseJsonAndGetChatJoinRequest(const boost::property_tree::ptree& data) const;
456 std::string parseChatJoinRequest(const ChatJoinRequest::Ptr& object) const;
457
458 ChatPermissions::Ptr parseJsonAndGetChatPermissions(const boost::property_tree::ptree& data) const;
459 std::string parseChatPermissions(const ChatPermissions::Ptr& object) const;
460
461 Birthdate::Ptr parseJsonAndGetBirthdate(const boost::property_tree::ptree& data) const;
462 std::string parseBirthdate(const Birthdate::Ptr& object) const;
463
464 BusinessIntro::Ptr parseJsonAndGetBusinessIntro(const boost::property_tree::ptree& data) const;
465 std::string parseBusinessIntro(const BusinessIntro::Ptr& object) const;
466
467 BusinessLocation::Ptr parseJsonAndGetBusinessLocation(const boost::property_tree::ptree& data) const;
468 std::string parseBusinessLocation(const BusinessLocation::Ptr& object) const;
469
472
473 BusinessOpeningHours::Ptr parseJsonAndGetBusinessOpeningHours(const boost::property_tree::ptree& data) const;
474 std::string parseBusinessOpeningHours(const BusinessOpeningHours::Ptr& object) const;
475
476 ChatLocation::Ptr parseJsonAndGetChatLocation(const boost::property_tree::ptree& data) const;
477 std::string parseChatLocation(const ChatLocation::Ptr& object) const;
478
479 ReactionType::Ptr parseJsonAndGetReactionType(const boost::property_tree::ptree& data) const;
480 std::string parseReactionType(const ReactionType::Ptr& object) const;
481
482 ReactionTypeEmoji::Ptr parseJsonAndGetReactionTypeEmoji(const boost::property_tree::ptree& data) const;
483 std::string parseReactionTypeEmoji(const ReactionTypeEmoji::Ptr& object) const;
484
485 ReactionTypeCustomEmoji::Ptr parseJsonAndGetReactionTypeCustomEmoji(const boost::property_tree::ptree& data) const;
487
488 ReactionCount::Ptr parseJsonAndGetReactionCount(const boost::property_tree::ptree& data) const;
489 std::string parseReactionCount(const ReactionCount::Ptr& object) const;
490
491 MessageReactionUpdated::Ptr parseJsonAndGetMessageReactionUpdated(const boost::property_tree::ptree& data) const;
493
496
497 ForumTopic::Ptr parseJsonAndGetForumTopic(const boost::property_tree::ptree& data) const;
498 std::string parseForumTopic(const ForumTopic::Ptr& object) const;
499
500 BotCommand::Ptr parseJsonAndGetBotCommand(const boost::property_tree::ptree& data) const;
501 std::string parseBotCommand(const BotCommand::Ptr& object) const;
502
503 BotCommandScope::Ptr parseJsonAndGetBotCommandScope(const boost::property_tree::ptree& data) const;
504 std::string parseBotCommandScope(const BotCommandScope::Ptr& object) const;
505
506 BotCommandScopeDefault::Ptr parseJsonAndGetBotCommandScopeDefault(const boost::property_tree::ptree& data) const;
508
511
514
517
518 BotCommandScopeChat::Ptr parseJsonAndGetBotCommandScopeChat(const boost::property_tree::ptree& data) const;
519 std::string parseBotCommandScopeChat(const BotCommandScopeChat::Ptr& object) const;
520
523
524 BotCommandScopeChatMember::Ptr parseJsonAndGetBotCommandScopeChatMember(const boost::property_tree::ptree& data) const;
526
527 BotName::Ptr parseJsonAndGetBotName(const boost::property_tree::ptree& data) const;
528 std::string parseBotName(const BotName::Ptr& object) const;
529
530 BotDescription::Ptr parseJsonAndGetBotDescription(const boost::property_tree::ptree& data) const;
531 std::string parseBotDescription(const BotDescription::Ptr& object) const;
532
533 BotShortDescription::Ptr parseJsonAndGetBotShortDescription(const boost::property_tree::ptree& data) const;
534 std::string parseBotShortDescription(const BotShortDescription::Ptr& object) const;
535
536 MenuButton::Ptr parseJsonAndGetMenuButton(const boost::property_tree::ptree& data) const;
537 std::string parseMenuButton(const MenuButton::Ptr& object) const;
538
539 MenuButtonCommands::Ptr parseJsonAndGetMenuButtonCommands(const boost::property_tree::ptree& data) const;
540 std::string parseMenuButtonCommands(const MenuButtonCommands::Ptr& object) const;
541
542 MenuButtonWebApp::Ptr parseJsonAndGetMenuButtonWebApp(const boost::property_tree::ptree& data) const;
543 std::string parseMenuButtonWebApp(const MenuButtonWebApp::Ptr& object) const;
544
545 MenuButtonDefault::Ptr parseJsonAndGetMenuButtonDefault(const boost::property_tree::ptree& data) const;
546 std::string parseMenuButtonDefault(const MenuButtonDefault::Ptr& object) const;
547
548 ChatBoostSource::Ptr parseJsonAndGetChatBoostSource(const boost::property_tree::ptree& data) const;
549 std::string parseChatBoostSource(const ChatBoostSource::Ptr& object) const;
550
551 ChatBoostSourcePremium::Ptr parseJsonAndGetChatBoostSourcePremium(const boost::property_tree::ptree& data) const;
553
554 ChatBoostSourceGiftCode::Ptr parseJsonAndGetChatBoostSourceGiftCode(const boost::property_tree::ptree& data) const;
556
557 ChatBoostSourceGiveaway::Ptr parseJsonAndGetChatBoostSourceGiveaway(const boost::property_tree::ptree& data) const;
559
560 ChatBoost::Ptr parseJsonAndGetChatBoost(const boost::property_tree::ptree& data) const;
561 std::string parseChatBoost(const ChatBoost::Ptr& object) const;
562
563 ChatBoostUpdated::Ptr parseJsonAndGetChatBoostUpdated(const boost::property_tree::ptree& data) const;
564 std::string parseChatBoostUpdated(const ChatBoostUpdated::Ptr& object) const;
565
566 ChatBoostRemoved::Ptr parseJsonAndGetChatBoostRemoved(const boost::property_tree::ptree& data) const;
567 std::string parseChatBoostRemoved(const ChatBoostRemoved::Ptr& object) const;
568
569 UserChatBoosts::Ptr parseJsonAndGetUserChatBoosts(const boost::property_tree::ptree& data) const;
570 std::string parseUserChatBoosts(const UserChatBoosts::Ptr& object) const;
571
572 BusinessConnection::Ptr parseJsonAndGetBusinessConnection(const boost::property_tree::ptree& data) const;
573 std::string parseBusinessConnection(const BusinessConnection::Ptr& object) const;
574
575 BusinessMessagesDeleted::Ptr parseJsonAndGetBusinessMessagesDeleted(const boost::property_tree::ptree& data) const;
577
578 ResponseParameters::Ptr parseJsonAndGetResponseParameters(const boost::property_tree::ptree& data) const;
579 std::string parseResponseParameters(const ResponseParameters::Ptr& object) const;
580
581 InputMedia::Ptr parseJsonAndGetInputMedia(const boost::property_tree::ptree& data) const;
582 std::string parseInputMedia(const InputMedia::Ptr& object) const;
583
584 InputMediaPhoto::Ptr parseJsonAndGetInputMediaPhoto(const boost::property_tree::ptree& data) const;
585 std::string parseInputMediaPhoto(const InputMediaPhoto::Ptr& object) const;
586
587 InputMediaVideo::Ptr parseJsonAndGetInputMediaVideo(const boost::property_tree::ptree& data) const;
588 std::string parseInputMediaVideo(const InputMediaVideo::Ptr& object) const;
589
590 InputMediaAnimation::Ptr parseJsonAndGetInputMediaAnimation(const boost::property_tree::ptree& data) const;
591 std::string parseInputMediaAnimation(const InputMediaAnimation::Ptr& object) const;
592
593 InputMediaAudio::Ptr parseJsonAndGetInputMediaAudio(const boost::property_tree::ptree& data) const;
594 std::string parseInputMediaAudio(const InputMediaAudio::Ptr& object) const;
595
596 InputMediaDocument::Ptr parseJsonAndGetInputMediaDocument(const boost::property_tree::ptree& data) const;
597 std::string parseInputMediaDocument(const InputMediaDocument::Ptr& object) const;
598
599 Sticker::Ptr parseJsonAndGetSticker(const boost::property_tree::ptree& data) const;
600 std::string parseSticker(const Sticker::Ptr& object) const;
601
602 StickerSet::Ptr parseJsonAndGetStickerSet(const boost::property_tree::ptree& data) const;
603 std::string parseStickerSet(const StickerSet::Ptr& object) const;
604
605 MaskPosition::Ptr parseJsonAndGetMaskPosition(const boost::property_tree::ptree& data) const;
606 std::string parseMaskPosition(const MaskPosition::Ptr& object) const;
607
608 InputSticker::Ptr parseJsonAndGetInputSticker(const boost::property_tree::ptree& data) const;
609 std::string parseInputSticker(const InputSticker::Ptr& object) const;
610
611 InlineQuery::Ptr parseJsonAndGetInlineQuery(const boost::property_tree::ptree& data) const;
612 std::string parseInlineQuery(const InlineQuery::Ptr& object) const;
613
614 InlineQueryResultsButton::Ptr parseJsonAndGetInlineQueryResultsButton(const boost::property_tree::ptree& data) const;
616
617 InlineQueryResult::Ptr parseJsonAndGetInlineQueryResult(const boost::property_tree::ptree& data) const;
618 std::string parseInlineQueryResult(const InlineQueryResult::Ptr& object) const;
619
620 InlineQueryResultArticle::Ptr parseJsonAndGetInlineQueryResultArticle(const boost::property_tree::ptree& data) const;
622
623 InlineQueryResultPhoto::Ptr parseJsonAndGetInlineQueryResultPhoto(const boost::property_tree::ptree& data) const;
625
626 InlineQueryResultGif::Ptr parseJsonAndGetInlineQueryResultGif(const boost::property_tree::ptree& data) const;
627 std::string parseInlineQueryResultGif(const InlineQueryResultGif::Ptr& object) const;
628
629 InlineQueryResultMpeg4Gif::Ptr parseJsonAndGetInlineQueryResultMpeg4Gif(const boost::property_tree::ptree& data) const;
631
632 InlineQueryResultVideo::Ptr parseJsonAndGetInlineQueryResultVideo(const boost::property_tree::ptree& data) const;
634
635 InlineQueryResultAudio::Ptr parseJsonAndGetInlineQueryResultAudio(const boost::property_tree::ptree& data) const;
637
638 InlineQueryResultVoice::Ptr parseJsonAndGetInlineQueryResultVoice(const boost::property_tree::ptree& data) const;
640
641 InlineQueryResultDocument::Ptr parseJsonAndGetInlineQueryResultDocument(const boost::property_tree::ptree& data) const;
643
644 InlineQueryResultLocation::Ptr parseJsonAndGetInlineQueryResultLocation(const boost::property_tree::ptree& data) const;
646
647 InlineQueryResultVenue::Ptr parseJsonAndGetInlineQueryResultVenue(const boost::property_tree::ptree& data) const;
649
650 InlineQueryResultContact::Ptr parseJsonAndGetInlineQueryResultContact(const boost::property_tree::ptree& data) const;
652
653 InlineQueryResultGame::Ptr parseJsonAndGetInlineQueryResultGame(const boost::property_tree::ptree& data) const;
655
658
661
664
667
670
673
676
679
680 InputMessageContent::Ptr parseJsonAndGetInputMessageContent(const boost::property_tree::ptree& data) const;
681 std::string parseInputMessageContent(const InputMessageContent::Ptr& object) const;
682
683 InputTextMessageContent::Ptr parseJsonAndGetInputTextMessageContent(const boost::property_tree::ptree& data) const;
685
688
689 InputVenueMessageContent::Ptr parseJsonAndGetInputVenueMessageContent(const boost::property_tree::ptree& data) const;
691
694
697
698 ChosenInlineResult::Ptr parseJsonAndGetChosenInlineResult(const boost::property_tree::ptree& data) const;
699 std::string parseChosenInlineResult(const ChosenInlineResult::Ptr& object) const;
700
701 SentWebAppMessage::Ptr parseJsonAndGetSentWebAppMessage(const boost::property_tree::ptree& data) const;
702 std::string parseSentWebAppMessage(const SentWebAppMessage::Ptr& object) const;
703
704 LabeledPrice::Ptr parseJsonAndGetLabeledPrice(const boost::property_tree::ptree& data) const;
705 std::string parseLabeledPrice(const LabeledPrice::Ptr& object) const;
706
707 Invoice::Ptr parseJsonAndGetInvoice(const boost::property_tree::ptree& data) const;
708 std::string parseInvoice(const Invoice::Ptr& object) const;
709
710 ShippingAddress::Ptr parseJsonAndGetShippingAddress(const boost::property_tree::ptree& data) const;
711 std::string parseShippingAddress(const ShippingAddress::Ptr& object) const;
712
713 OrderInfo::Ptr parseJsonAndGetOrderInfo(const boost::property_tree::ptree& data) const;
714 std::string parseOrderInfo(const OrderInfo::Ptr& object) const;
715
716 ShippingOption::Ptr parseJsonAndGetShippingOption(const boost::property_tree::ptree& data) const;
717 std::string parseShippingOption(const ShippingOption::Ptr& object) const;
718
719 SuccessfulPayment::Ptr parseJsonAndGetSuccessfulPayment(const boost::property_tree::ptree& data) const;
720 std::string parseSuccessfulPayment(const SuccessfulPayment::Ptr& object) const;
721
722 ShippingQuery::Ptr parseJsonAndGetShippingQuery(const boost::property_tree::ptree& data) const;
723 std::string parseShippingQuery(const ShippingQuery::Ptr& object) const;
724
725 PreCheckoutQuery::Ptr parseJsonAndGetPreCheckoutQuery(const boost::property_tree::ptree& data) const;
726 std::string parsePreCheckoutQuery(const PreCheckoutQuery::Ptr& object) const;
727
728 PassportData::Ptr parseJsonAndGetPassportData(const boost::property_tree::ptree& data) const;
729 std::string parsePassportData(const PassportData::Ptr& object) const;
730
731 PassportFile::Ptr parseJsonAndGetPassportFile(const boost::property_tree::ptree& data) const;
732 std::string parsePassportFile(const PassportFile::Ptr& object) const;
733
734 EncryptedPassportElement::Ptr parseJsonAndGetEncryptedPassportElement(const boost::property_tree::ptree& data) const;
736
737 EncryptedCredentials::Ptr parseJsonAndGetEncryptedCredentials(const boost::property_tree::ptree& data) const;
738 std::string parseEncryptedCredentials(const EncryptedCredentials::Ptr& object) const;
739
740 PassportElementError::Ptr parseJsonAndGetPassportElementError(const boost::property_tree::ptree& data) const;
741 std::string parsePassportElementError(const PassportElementError::Ptr& object) const;
742
745
748
751
754
755 PassportElementErrorFile::Ptr parseJsonAndGetPassportElementErrorFile(const boost::property_tree::ptree& data) const;
757
758 PassportElementErrorFiles::Ptr parseJsonAndGetPassportElementErrorFiles(const boost::property_tree::ptree& data) const;
760
763
766
769
770 Game::Ptr parseJsonAndGetGame(const boost::property_tree::ptree& data) const;
771 std::string parseGame(const Game::Ptr& object) const;
772
773 CallbackGame::Ptr parseJsonAndGetCallbackGame(const boost::property_tree::ptree& data) const;
774 std::string parseCallbackGame(const CallbackGame::Ptr& object) const;
775
776 GameHighScore::Ptr parseJsonAndGetGameHighScore(const boost::property_tree::ptree& data) const;
777 std::string parseGameHighScore(const GameHighScore::Ptr& object) const;
778
779 GenericReply::Ptr parseJsonAndGetGenericReply(const boost::property_tree::ptree& data) const;
780 std::string parseGenericReply(const GenericReply::Ptr& object) const;
781
782 inline boost::property_tree::ptree parseJson(const std::string& json) const {
783 boost::property_tree::ptree tree;
784 std::istringstream input(json);
785 boost::property_tree::read_json(input, tree);
786 return tree;
787 }
788
789 template<typename T>
790 std::shared_ptr<T> tryParseJson(JsonToTgTypeFunc<T> parseFunc, const boost::property_tree::ptree& data, const std::string& keyName) const {
791 auto treeItem = data.find(keyName);
792 if (treeItem == data.not_found()) {
793 return std::shared_ptr<T>();
794 }
795 return (this->*parseFunc)(treeItem->second);
796 }
797
798 template<typename T>
799 std::vector<std::shared_ptr<T>> parseJsonAndGetArray(JsonToTgTypeFunc<T> parseFunc, const boost::property_tree::ptree& data) const {
800 std::vector<std::shared_ptr<T>> result;
801 result.reserve(data.size());
802 for (const std::pair<const std::string, boost::property_tree::ptree>& innerTreeItem : data) {
803 result.push_back((this->*parseFunc)(innerTreeItem.second));
804 }
805 return result;
806 }
807
808 template<typename T>
809 std::vector<T> parseJsonAndGetArray(std::function<T(const boost::property_tree::ptree&)> parseFunc, const boost::property_tree::ptree& data, const std::string& keyName) const {
810 std::vector<T> result;
811 auto treeItem = data.find(keyName);
812 if (treeItem == data.not_found()) {
813 return result;
814 }
815 result.reserve(treeItem->second.size());
816 for (const std::pair<const std::string, boost::property_tree::ptree>& innerTreeItem : treeItem->second) {
817 result.push_back(parseFunc(innerTreeItem.second));
818 }
819 return result;
820 }
821
822 template<typename T>
823 std::vector<std::shared_ptr<T>> parseJsonAndGetArray(JsonToTgTypeFunc<T> parseFunc, const boost::property_tree::ptree& data, const std::string& keyName) const {
824 std::vector<std::shared_ptr<T>> result;
825 auto treeItem = data.find(keyName);
826 if (treeItem == data.not_found()) {
827 return result;
828 }
829 result.reserve(treeItem->second.size());
830 for (const std::pair<const std::string, boost::property_tree::ptree>& innerTreeItem : treeItem->second) {
831 result.push_back((this->*parseFunc)(innerTreeItem.second));
832 }
833 return result;
834 }
835
836 template<typename T>
837 std::vector<std::vector<std::shared_ptr<T>>> parseJsonAndGet2DArray(JsonToTgTypeFunc<T> parseFunc, const boost::property_tree::ptree& data, const std::string& keyName) const {
838 std::vector<std::vector<std::shared_ptr<T>>> result;
839 auto treeItem = data.find(keyName);
840 if (treeItem == data.not_found()) {
841 return result;
842 }
843 result.reserve(treeItem->second.size());
844 for (const std::pair<const std::string, boost::property_tree::ptree>& innerTreeItem : treeItem->second) {
845 std::vector<std::shared_ptr<T>> innerResult;
846 for (const std::pair<const std::string, boost::property_tree::ptree>& innerInnerTreeItem : innerTreeItem.second) {
847 innerResult.push_back((this->*parseFunc)(innerInnerTreeItem.second));
848 }
849 result.push_back(innerResult);
850 }
851 return result;
852 }
853
854 template<typename T>
855 std::string parseArray(TgTypeToJsonFunc<T> parseFunc, const std::vector<std::shared_ptr<T>>& objects) const {
856 if (objects.empty())
857 return "";
858 std::string result;
859 result += '[';
860 for (const std::shared_ptr<T>& item : objects) {
861 result += (this->*parseFunc)(item);
862 result += ',';
863 }
864 result.erase(result.length() - 1);
865 result += ']';
866 return result;
867 }
868
869 template<typename T>
870 std::string parseArray(std::function<T(const T&)> parseFunc, const std::vector<T>& objects) const {
871 if (objects.empty())
872 return "";
873 std::string result;
874 result += '[';
875 for (const T& item : objects) {
876 result += parseFunc(item);
877 result += ',';
878 }
879 result.erase(result.length() - 1);
880 result += ']';
881 return result;
882 }
883
884 template<typename T>
885 std::string parse2DArray(TgTypeToJsonFunc<T> parseFunc, const std::vector<std::vector<std::shared_ptr<T>>>& objects) const {
886 if (objects.empty())
887 return "";
888 std::string result;
889 result += '[';
890 for (const std::vector<std::shared_ptr<T>>& item : objects) {
891 result += parseArray(parseFunc, item);
892 result += ',';
893 }
894 result.erase(result.length() - 1);
895 result += ']';
896 return result;
897 }
898
899private:
900 inline void removeLastComma(std::string& input) const {
901 input.erase(input.length() - 1);
902 }
903
904 template<typename T>
905 inline void appendToJson(std::string& json, const std::string& varName, const std::shared_ptr<T>& value) const {
906 if (value == nullptr) {
907 return;
908 }
909 json += '"';
910 json += varName;
911 json += R"(":)";
912 json += value;
913 json += ',';
914 }
915
916 template<typename T>
917 inline void appendToJson(std::string& json, const std::string& varName, const T& value) const {
918 json += '"';
919 json += varName;
920 json += R"(":)";
921 json += value;
922 json += ',';
923 }
924
925 template<typename T>
926 inline void appendToJsonNumber(std::string& json, const std::string& varName, const T& value) const {
927 json += '"';
928 json += varName;
929 json += R"(":)";
930 json += std::to_string(value);
931 json += ',';
932 }
933
934 inline void appendToJson(std::string &json, const std::string &varName, const int &value) const { appendToJsonNumber(json, varName, value); }
935 inline void appendToJson(std::string &json, const std::string &varName, const long &value) const { appendToJsonNumber(json, varName, value); }
936 inline void appendToJson(std::string &json, const std::string &varName, const long long &value) const { appendToJsonNumber(json, varName, value); }
937 inline void appendToJson(std::string &json, const std::string &varName, const unsigned &value) const { appendToJsonNumber(json, varName, value); }
938 inline void appendToJson(std::string &json, const std::string &varName, const unsigned long &value) const { appendToJsonNumber(json, varName, value); }
939 inline void appendToJson(std::string &json, const std::string &varName, const unsigned long long &value) const { appendToJsonNumber(json, varName, value); }
940 inline void appendToJson(std::string &json, const std::string &varName, const float &value) const { appendToJsonNumber(json, varName, value); }
941 inline void appendToJson(std::string &json, const std::string &varName, const double &value) const { appendToJsonNumber(json, varName, value); }
942 inline void appendToJson(std::string &json, const std::string &varName, const long double &value) const { appendToJsonNumber(json, varName, value); }
943
944 inline void appendToJson(std::string& json, const std::string& varName, const bool& value) const {
945 json += '"';
946 json += varName;
947 json += R"(":)";
948 json += (value ? "true" : "false");
949 json += ',';
950 }
951
952 inline void appendToJson(std::string& json, const std::string& varName, const char* value) const {
953 if (value != nullptr){
954 std::string strValue(value);
955 appendToJson(json, varName, strValue);
956 }
957 }
958
959 void appendToJson(std::string& json, const std::string& varName, const std::string& value) const;
960};
961}
962
963#endif //TGBOT_TGTYPEPARSER_H
std::shared_ptr< Animation > Ptr
Definition Animation.h:19
std::shared_ptr< Audio > Ptr
Definition Audio.h:20
std::shared_ptr< Birthdate > Ptr
Definition Birthdate.h:15
std::shared_ptr< BotCommand > Ptr
Definition BotCommand.h:18
std::shared_ptr< BotCommandScopeAllChatAdministrators > Ptr
std::shared_ptr< BotCommandScopeAllGroupChats > Ptr
std::shared_ptr< BotCommandScopeAllPrivateChats > Ptr
std::shared_ptr< BotCommandScopeChatAdministrators > Ptr
std::shared_ptr< BotCommandScopeChat > Ptr
std::shared_ptr< BotCommandScopeChatMember > Ptr
std::shared_ptr< BotCommandScopeDefault > Ptr
std::shared_ptr< BotCommandScope > Ptr
std::shared_ptr< BotDescription > Ptr
std::shared_ptr< BotName > Ptr
Definition BotName.h:16
std::shared_ptr< BotShortDescription > Ptr
std::shared_ptr< BusinessConnection > Ptr
std::shared_ptr< BusinessIntro > Ptr
std::shared_ptr< BusinessLocation > Ptr
std::shared_ptr< BusinessMessagesDeleted > Ptr
std::shared_ptr< BusinessOpeningHours > Ptr
std::shared_ptr< BusinessOpeningHoursInterval > Ptr
std::shared_ptr< CallbackGame > Ptr
std::shared_ptr< CallbackQuery > Ptr
std::shared_ptr< ChatAdministratorRights > Ptr
std::shared_ptr< ChatBoostAdded > Ptr
std::shared_ptr< ChatBoost > Ptr
Definition ChatBoost.h:20
std::shared_ptr< ChatBoostRemoved > Ptr
std::shared_ptr< ChatBoostSourceGiftCode > Ptr
std::shared_ptr< ChatBoostSourceGiveaway > Ptr
std::shared_ptr< ChatBoostSource > Ptr
std::shared_ptr< ChatBoostSourcePremium > Ptr
std::shared_ptr< ChatBoostUpdated > Ptr
std::shared_ptr< Chat > Ptr
Definition Chat.h:31
std::shared_ptr< ChatJoinRequest > Ptr
std::shared_ptr< ChatLocation > Ptr
std::shared_ptr< ChatMemberAdministrator > Ptr
std::shared_ptr< ChatMemberBanned > Ptr
std::shared_ptr< ChatMember > Ptr
Definition ChatMember.h:21
std::shared_ptr< ChatMemberLeft > Ptr
std::shared_ptr< ChatMemberMember > Ptr
std::shared_ptr< ChatMemberOwner > Ptr
std::shared_ptr< ChatMemberRestricted > Ptr
std::shared_ptr< ChatMemberUpdated > Ptr
std::shared_ptr< ChatPermissions > Ptr
std::shared_ptr< ChatPhoto > Ptr
Definition ChatPhoto.h:17
std::shared_ptr< ChatShared > Ptr
Definition ChatShared.h:21
std::shared_ptr< ChosenInlineResult > Ptr
std::shared_ptr< Contact > Ptr
Definition Contact.h:17
std::shared_ptr< Dice > Ptr
Definition Dice.h:16
std::shared_ptr< Document > Ptr
Definition Document.h:20
std::shared_ptr< EncryptedCredentials > Ptr
std::shared_ptr< EncryptedPassportElement > Ptr
std::shared_ptr< ExternalReplyInfo > Ptr
std::shared_ptr< File > Ptr
Definition File.h:23
std::shared_ptr< ForceReply > Ptr
Definition ForceReply.h:28
std::shared_ptr< ForumTopicClosed > Ptr
std::shared_ptr< ForumTopicCreated > Ptr
std::shared_ptr< ForumTopicEdited > Ptr
std::shared_ptr< ForumTopic > Ptr
Definition ForumTopic.h:17
std::shared_ptr< ForumTopicReopened > Ptr
std::shared_ptr< GameHighScore > Ptr
std::shared_ptr< Game > Ptr
Definition Game.h:23
std::shared_ptr< GeneralForumTopicHidden > Ptr
std::shared_ptr< GeneralForumTopicUnhidden > Ptr
std::shared_ptr< GenericReply > Ptr
std::shared_ptr< GiveawayCompleted > Ptr
std::shared_ptr< GiveawayCreated > Ptr
std::shared_ptr< Giveaway > Ptr
Definition Giveaway.h:21
std::shared_ptr< GiveawayWinners > Ptr
std::shared_ptr< InaccessibleMessage > Ptr
std::shared_ptr< InlineKeyboardButton > Ptr
std::shared_ptr< InlineKeyboardMarkup > Ptr
std::shared_ptr< InlineQuery > Ptr
Definition InlineQuery.h:20
std::shared_ptr< InlineQueryResultArticle > Ptr
std::shared_ptr< InlineQueryResultAudio > Ptr
std::shared_ptr< InlineQueryResultCachedAudio > Ptr
std::shared_ptr< InlineQueryResultCachedDocument > Ptr
std::shared_ptr< InlineQueryResultCachedGif > Ptr
std::shared_ptr< InlineQueryResultCachedMpeg4Gif > Ptr
std::shared_ptr< InlineQueryResultCachedPhoto > Ptr
std::shared_ptr< InlineQueryResultCachedSticker > Ptr
std::shared_ptr< InlineQueryResultCachedVideo > Ptr
std::shared_ptr< InlineQueryResultCachedVoice > Ptr
std::shared_ptr< InlineQueryResultContact > Ptr
std::shared_ptr< InlineQueryResultDocument > Ptr
std::shared_ptr< InlineQueryResultGame > Ptr
std::shared_ptr< InlineQueryResultGif > Ptr
std::shared_ptr< InlineQueryResult > Ptr
std::shared_ptr< InlineQueryResultLocation > Ptr
std::shared_ptr< InlineQueryResultMpeg4Gif > Ptr
std::shared_ptr< InlineQueryResultPhoto > Ptr
std::shared_ptr< InlineQueryResultVenue > Ptr
std::shared_ptr< InlineQueryResultVideo > Ptr
std::shared_ptr< InlineQueryResultVoice > Ptr
std::shared_ptr< InlineQueryResultsButton > Ptr
std::shared_ptr< InputContactMessageContent > Ptr
std::shared_ptr< InputInvoiceMessageContent > Ptr
std::shared_ptr< InputLocationMessageContent > Ptr
std::shared_ptr< InputMediaAnimation > Ptr
std::shared_ptr< InputMediaAudio > Ptr
std::shared_ptr< InputMediaDocument > Ptr
std::shared_ptr< InputMedia > Ptr
Definition InputMedia.h:21
std::shared_ptr< InputMediaPhoto > Ptr
std::shared_ptr< InputMediaVideo > Ptr
std::shared_ptr< InputMessageContent > Ptr
std::shared_ptr< InputSticker > Ptr
std::shared_ptr< InputTextMessageContent > Ptr
std::shared_ptr< InputVenueMessageContent > Ptr
std::shared_ptr< Invoice > Ptr
Definition Invoice.h:19
std::shared_ptr< KeyboardButton > Ptr
std::shared_ptr< KeyboardButtonPollType > Ptr
std::shared_ptr< KeyboardButtonRequestChat > Ptr
std::shared_ptr< KeyboardButtonRequestUsers > Ptr
std::shared_ptr< LabeledPrice > Ptr
std::shared_ptr< Location > Ptr
Definition Location.h:17
std::shared_ptr< LoginUrl > Ptr
Definition LoginUrl.h:21
std::shared_ptr< MaskPosition > Ptr
std::shared_ptr< MenuButtonCommands > Ptr
std::shared_ptr< MenuButtonDefault > Ptr
std::shared_ptr< MenuButton > Ptr
Definition MenuButton.h:21
std::shared_ptr< MenuButtonWebApp > Ptr
std::shared_ptr< MessageAutoDeleteTimerChanged > Ptr
std::shared_ptr< MessageEntity > Ptr
std::shared_ptr< Message > Ptr
Definition Message.h:68
std::shared_ptr< MessageId > Ptr
Definition MessageId.h:16
std::shared_ptr< MessageOriginChannel > Ptr
std::shared_ptr< MessageOriginChat > Ptr
std::shared_ptr< MessageOriginHiddenUser > Ptr
std::shared_ptr< MessageOrigin > Ptr
std::shared_ptr< MessageOriginUser > Ptr
std::shared_ptr< MessageReactionCountUpdated > Ptr
std::shared_ptr< MessageReactionUpdated > Ptr
std::shared_ptr< OrderInfo > Ptr
Definition OrderInfo.h:20
std::shared_ptr< PassportData > Ptr
std::shared_ptr< PassportElementErrorDataField > Ptr
std::shared_ptr< PassportElementErrorFile > Ptr
std::shared_ptr< PassportElementErrorFiles > Ptr
std::shared_ptr< PassportElementErrorFrontSide > Ptr
std::shared_ptr< PassportElementError > Ptr
std::shared_ptr< PassportElementErrorReverseSide > Ptr
std::shared_ptr< PassportElementErrorSelfie > Ptr
std::shared_ptr< PassportElementErrorTranslationFile > Ptr
std::shared_ptr< PassportElementErrorTranslationFiles > Ptr
std::shared_ptr< PassportElementErrorUnspecified > Ptr
std::shared_ptr< PassportFile > Ptr
std::shared_ptr< PhotoSize > Ptr
Definition PhotoSize.h:18
std::shared_ptr< PollAnswer > Ptr
Definition PollAnswer.h:22
std::shared_ptr< Poll > Ptr
Definition Poll.h:22
std::shared_ptr< PollOption > Ptr
Definition PollOption.h:14
std::shared_ptr< PreCheckoutQuery > Ptr
std::shared_ptr< ProximityAlertTriggered > Ptr
std::shared_ptr< ReactionCount > Ptr
std::shared_ptr< ReactionTypeCustomEmoji > Ptr
std::shared_ptr< ReactionTypeEmoji > Ptr
std::shared_ptr< ReactionType > Ptr
std::shared_ptr< ReplyKeyboardMarkup > Ptr
std::shared_ptr< ReplyKeyboardRemove > Ptr
std::shared_ptr< ReplyParameters > Ptr
std::shared_ptr< ResponseParameters > Ptr
std::shared_ptr< SentWebAppMessage > Ptr
std::shared_ptr< SharedUser > Ptr
Definition SharedUser.h:21
std::shared_ptr< ShippingAddress > Ptr
std::shared_ptr< ShippingOption > Ptr
std::shared_ptr< ShippingQuery > Ptr
std::shared_ptr< Sticker > Ptr
Definition Sticker.h:22
std::shared_ptr< StickerSet > Ptr
Definition StickerSet.h:21
std::shared_ptr< Story > Ptr
Definition Story.h:19
std::shared_ptr< SuccessfulPayment > Ptr
std::shared_ptr< SwitchInlineQueryChosenChat > Ptr
std::shared_ptr< TextQuote > Ptr
Definition TextQuote.h:21
std::string parseBusinessMessagesDeleted(const BusinessMessagesDeleted::Ptr &object) const
std::string parseInputMediaAudio(const InputMediaAudio::Ptr &object) const
ChatMemberLeft::Ptr parseJsonAndGetChatMemberLeft(const boost::property_tree::ptree &data) const
BusinessOpeningHoursInterval::Ptr parseJsonAndGetBusinessOpeningHoursInterval(const boost::property_tree::ptree &data) const
MessageReactionUpdated::Ptr parseJsonAndGetMessageReactionUpdated(const boost::property_tree::ptree &data) const
std::string parseSuccessfulPayment(const SuccessfulPayment::Ptr &object) const
Video::Ptr parseJsonAndGetVideo(const boost::property_tree::ptree &data) const
LinkPreviewOptions::Ptr parseJsonAndGetLinkPreviewOptions(const boost::property_tree::ptree &data) const
std::string parsePassportElementErrorSelfie(const PassportElementErrorSelfie::Ptr &object) const
std::string parseChatBoostSourceGiveaway(const ChatBoostSourceGiveaway::Ptr &object) const
Update::Ptr parseJsonAndGetUpdate(const boost::property_tree::ptree &data) const
VideoChatStarted::Ptr parseJsonAndGetVideoChatStarted(const boost::property_tree::ptree &data) const
std::string parseInvoice(const Invoice::Ptr &object) const
std::string parseKeyboardButtonPollType(const KeyboardButtonPollType::Ptr &object) const
std::string parseChosenInlineResult(const ChosenInlineResult::Ptr &object) const
std::string parseStickerSet(const StickerSet::Ptr &object) const
std::string parseMessageReactionCountUpdated(const MessageReactionCountUpdated::Ptr &object) const
std::string parseInputMediaDocument(const InputMediaDocument::Ptr &object) const
MessageOriginChannel::Ptr parseJsonAndGetMessageOriginChannel(const boost::property_tree::ptree &data) const
std::string parseShippingOption(const ShippingOption::Ptr &object) const
InlineQueryResultVideo::Ptr parseJsonAndGetInlineQueryResultVideo(const boost::property_tree::ptree &data) const
PhotoSize::Ptr parseJsonAndGetPhotoSize(const boost::property_tree::ptree &data) const
std::string parseInlineQueryResultCachedAudio(const InlineQueryResultCachedAudio::Ptr &object) const
std::string parseInaccessibleMessage(const InaccessibleMessage::Ptr &object) const
std::string parseFile(const File::Ptr &object) const
std::string parseMessageOrigin(const MessageOrigin::Ptr &object) const
BusinessMessagesDeleted::Ptr parseJsonAndGetBusinessMessagesDeleted(const boost::property_tree::ptree &data) const
InlineQueryResultDocument::Ptr parseJsonAndGetInlineQueryResultDocument(const boost::property_tree::ptree &data) const
std::string parseVoice(const Voice::Ptr &object) const
VideoChatScheduled::Ptr parseJsonAndGetVideoChatScheduled(const boost::property_tree::ptree &data) const
std::string parseInlineQuery(const InlineQuery::Ptr &object) const
std::string parseReplyKeyboardRemove(const ReplyKeyboardRemove::Ptr &object) const
std::string parseGiveawayCreated(const GiveawayCreated::Ptr &object) const
std::string parseInlineQueryResultCachedPhoto(const InlineQueryResultCachedPhoto::Ptr &object) const
ChatAdministratorRights::Ptr parseJsonAndGetChatAdministratorRights(const boost::property_tree::ptree &data) const
ReplyKeyboardMarkup::Ptr parseJsonAndGetReplyKeyboardMarkup(const boost::property_tree::ptree &data) const
CallbackQuery::Ptr parseJsonAndGetCallbackQuery(const boost::property_tree::ptree &data) const
ChatShared::Ptr parseJsonAndGetChatShared(const boost::property_tree::ptree &data) const
EncryptedPassportElement::Ptr parseJsonAndGetEncryptedPassportElement(const boost::property_tree::ptree &data) const
std::string parseContact(const Contact::Ptr &object) const
InputMedia::Ptr parseJsonAndGetInputMedia(const boost::property_tree::ptree &data) const
std::string parseGiveaway(const Giveaway::Ptr &object) const
Dice::Ptr parseJsonAndGetDice(const boost::property_tree::ptree &data) const
std::string parseInlineQueryResultVideo(const InlineQueryResultVideo::Ptr &object) const
TextQuote::Ptr parseJsonAndGetTextQuote(const boost::property_tree::ptree &data) const
std::string parsePassportElementErrorReverseSide(const PassportElementErrorReverseSide::Ptr &object) const
Sticker::Ptr parseJsonAndGetSticker(const boost::property_tree::ptree &data) const
BusinessConnection::Ptr parseJsonAndGetBusinessConnection(const boost::property_tree::ptree &data) const
InlineQueryResultCachedPhoto::Ptr parseJsonAndGetInlineQueryResultCachedPhoto(const boost::property_tree::ptree &data) const
InlineQueryResultPhoto::Ptr parseJsonAndGetInlineQueryResultPhoto(const boost::property_tree::ptree &data) const
ForumTopic::Ptr parseJsonAndGetForumTopic(const boost::property_tree::ptree &data) const
std::string parseInlineQueryResultArticle(const InlineQueryResultArticle::Ptr &object) const
BusinessOpeningHours::Ptr parseJsonAndGetBusinessOpeningHours(const boost::property_tree::ptree &data) const
ForumTopicCreated::Ptr parseJsonAndGetForumTopicCreated(const boost::property_tree::ptree &data) const
ShippingQuery::Ptr parseJsonAndGetShippingQuery(const boost::property_tree::ptree &data) const
std::string parseInlineQueryResultCachedVoice(const InlineQueryResultCachedVoice::Ptr &object) const
std::string parseForumTopicClosed(const ForumTopicClosed::Ptr &object) const
EncryptedCredentials::Ptr parseJsonAndGetEncryptedCredentials(const boost::property_tree::ptree &data) const
InputMediaDocument::Ptr parseJsonAndGetInputMediaDocument(const boost::property_tree::ptree &data) const
std::string parseReactionTypeCustomEmoji(const ReactionTypeCustomEmoji::Ptr &object) const
std::string parseArray(std::function< T(const T &)> parseFunc, const std::vector< T > &objects) const
std::string parseWriteAccessAllowed(const WriteAccessAllowed::Ptr &object) const
PollAnswer::Ptr parseJsonAndGetPollAnswer(const boost::property_tree::ptree &data) const
std::string parseUserProfilePhotos(const UserProfilePhotos::Ptr &object) const
std::string parseChatBoostSourceGiftCode(const ChatBoostSourceGiftCode::Ptr &object) const
Venue::Ptr parseJsonAndGetVenue(const boost::property_tree::ptree &data) const
std::string parseBusinessOpeningHoursInterval(const BusinessOpeningHoursInterval::Ptr &object) const
GameHighScore::Ptr parseJsonAndGetGameHighScore(const boost::property_tree::ptree &data) const
InlineQueryResultAudio::Ptr parseJsonAndGetInlineQueryResultAudio(const boost::property_tree::ptree &data) const
ReactionTypeEmoji::Ptr parseJsonAndGetReactionTypeEmoji(const boost::property_tree::ptree &data) const
StickerSet::Ptr parseJsonAndGetStickerSet(const boost::property_tree::ptree &data) const
std::string parsePassportElementErrorFile(const PassportElementErrorFile::Ptr &object) const
std::string parseGameHighScore(const GameHighScore::Ptr &object) const
ReactionCount::Ptr parseJsonAndGetReactionCount(const boost::property_tree::ptree &data) const
User::Ptr parseJsonAndGetUser(const boost::property_tree::ptree &data) const
InlineQueryResultCachedVoice::Ptr parseJsonAndGetInlineQueryResultCachedVoice(const boost::property_tree::ptree &data) const
BusinessIntro::Ptr parseJsonAndGetBusinessIntro(const boost::property_tree::ptree &data) const
MessageEntity::Ptr parseJsonAndGetMessageEntity(const boost::property_tree::ptree &data) const
VideoChatEnded::Ptr parseJsonAndGetVideoChatEnded(const boost::property_tree::ptree &data) const
MenuButton::Ptr parseJsonAndGetMenuButton(const boost::property_tree::ptree &data) const
std::string parseChatAdministratorRights(const ChatAdministratorRights::Ptr &object) const
std::string parseBusinessOpeningHours(const BusinessOpeningHours::Ptr &object) const
WebhookInfo::Ptr parseJsonAndGetWebhookInfo(const boost::property_tree::ptree &data) const
PassportData::Ptr parseJsonAndGetPassportData(const boost::property_tree::ptree &data) const
WebAppInfo::Ptr parseJsonAndGetWebAppInfo(const boost::property_tree::ptree &data) const
BotCommandScopeChatAdministrators::Ptr parseJsonAndGetBotCommandScopeChatAdministrators(const boost::property_tree::ptree &data) const
std::string parseMessageEntity(const MessageEntity::Ptr &object) const
std::string parseReactionTypeEmoji(const ReactionTypeEmoji::Ptr &object) const
std::string parseMessage(const Message::Ptr &object) const
std::string parseForumTopic(const ForumTopic::Ptr &object) const
std::vector< std::shared_ptr< T > > parseJsonAndGetArray(JsonToTgTypeFunc< T > parseFunc, const boost::property_tree::ptree &data, const std::string &keyName) const
Voice::Ptr parseJsonAndGetVoice(const boost::property_tree::ptree &data) const
InlineQueryResultCachedAudio::Ptr parseJsonAndGetInlineQueryResultCachedAudio(const boost::property_tree::ptree &data) const
std::string parseGeneralForumTopicUnhidden(const GeneralForumTopicUnhidden::Ptr &object) const
MessageOriginChat::Ptr parseJsonAndGetMessageOriginChat(const boost::property_tree::ptree &data) const
MenuButtonCommands::Ptr parseJsonAndGetMenuButtonCommands(const boost::property_tree::ptree &data) const
std::string parseGeneralForumTopicHidden(const GeneralForumTopicHidden::Ptr &object) const
std::string(TgTypeParser::*)(const std::shared_ptr< T > &) const TgTypeToJsonFunc
ChatBoostSourceGiftCode::Ptr parseJsonAndGetChatBoostSourceGiftCode(const boost::property_tree::ptree &data) const
KeyboardButtonRequestChat::Ptr parseJsonAndGetKeyboardButtonRequestChat(const boost::property_tree::ptree &data) const
InlineKeyboardButton::Ptr parseJsonAndGetInlineKeyboardButton(const boost::property_tree::ptree &data) const
PassportElementErrorSelfie::Ptr parseJsonAndGetPassportElementErrorSelfie(const boost::property_tree::ptree &data) const
BotName::Ptr parseJsonAndGetBotName(const boost::property_tree::ptree &data) const
WriteAccessAllowed::Ptr parseJsonAndGetWriteAccessAllowed(const boost::property_tree::ptree &data) const
std::string parseMessageOriginUser(const MessageOriginUser::Ptr &object) const
std::string parseBotDescription(const BotDescription::Ptr &object) const
GiveawayCompleted::Ptr parseJsonAndGetGiveawayCompleted(const boost::property_tree::ptree &data) const
std::string parseInlineKeyboardMarkup(const InlineKeyboardMarkup::Ptr &object) const
std::string parseVideoNote(const VideoNote::Ptr &object) const
PollOption::Ptr parseJsonAndGetPollOption(const boost::property_tree::ptree &data) const
std::string parseShippingAddress(const ShippingAddress::Ptr &object) const
std::string parseChatInviteLink(const ChatInviteLink::Ptr &object) const
std::string parseBirthdate(const Birthdate::Ptr &object) const
UserChatBoosts::Ptr parseJsonAndGetUserChatBoosts(const boost::property_tree::ptree &data) const
std::string parseMenuButtonWebApp(const MenuButtonWebApp::Ptr &object) const
std::string parseChatMemberAdministrator(const ChatMemberAdministrator::Ptr &object) const
std::string parseSentWebAppMessage(const SentWebAppMessage::Ptr &object) const
InputVenueMessageContent::Ptr parseJsonAndGetInputVenueMessageContent(const boost::property_tree::ptree &data) const
std::string parsePollAnswer(const PollAnswer::Ptr &object) const
InlineQueryResultVoice::Ptr parseJsonAndGetInlineQueryResultVoice(const boost::property_tree::ptree &data) const
boost::property_tree::ptree parseJson(const std::string &json) const
std::string parseChatBoostRemoved(const ChatBoostRemoved::Ptr &object) const
std::string parseForumTopicCreated(const ForumTopicCreated::Ptr &object) const
std::string parsePassportData(const PassportData::Ptr &object) const
BotCommandScopeAllChatAdministrators::Ptr parseJsonAndGetBotCommandScopeAllChatAdministrators(const boost::property_tree::ptree &data) const
std::string parseMenuButton(const MenuButton::Ptr &object) const
std::string parseDice(const Dice::Ptr &object) const
std::string parseUsersShared(const UsersShared::Ptr &object) const
InlineQueryResultVenue::Ptr parseJsonAndGetInlineQueryResultVenue(const boost::property_tree::ptree &data) const
GiveawayWinners::Ptr parseJsonAndGetGiveawayWinners(const boost::property_tree::ptree &data) const
Audio::Ptr parseJsonAndGetAudio(const boost::property_tree::ptree &data) const
std::string parseSwitchInlineQueryChosenChat(const SwitchInlineQueryChosenChat::Ptr &object) const
std::string parseChatBoost(const ChatBoost::Ptr &object) const
SentWebAppMessage::Ptr parseJsonAndGetSentWebAppMessage(const boost::property_tree::ptree &data) const
PassportElementErrorFrontSide::Ptr parseJsonAndGetPassportElementErrorFrontSide(const boost::property_tree::ptree &data) const
InlineQuery::Ptr parseJsonAndGetInlineQuery(const boost::property_tree::ptree &data) const
std::string parseBotCommandScopeAllPrivateChats(const BotCommandScopeAllPrivateChats::Ptr &object) const
std::string parseArray(TgTypeToJsonFunc< T > parseFunc, const std::vector< std::shared_ptr< T > > &objects) const
std::string parseAudio(const Audio::Ptr &object) const
ExternalReplyInfo::Ptr parseJsonAndGetExternalReplyInfo(const boost::property_tree::ptree &data) const
Animation::Ptr parseJsonAndGetAnimation(const boost::property_tree::ptree &data) const
std::string parseInlineQueryResultCachedMpeg4Gif(const InlineQueryResultCachedMpeg4Gif::Ptr &object) const
std::string parseInputSticker(const InputSticker::Ptr &object) const
std::string parseChatBoostSourcePremium(const ChatBoostSourcePremium::Ptr &object) const
ChatMemberMember::Ptr parseJsonAndGetChatMemberMember(const boost::property_tree::ptree &data) const
std::string parseBotCommandScopeAllGroupChats(const BotCommandScopeAllGroupChats::Ptr &object) const
InputMediaAnimation::Ptr parseJsonAndGetInputMediaAnimation(const boost::property_tree::ptree &data) const
InlineQueryResultMpeg4Gif::Ptr parseJsonAndGetInlineQueryResultMpeg4Gif(const boost::property_tree::ptree &data) const
InputMediaVideo::Ptr parseJsonAndGetInputMediaVideo(const boost::property_tree::ptree &data) const
MenuButtonWebApp::Ptr parseJsonAndGetMenuButtonWebApp(const boost::property_tree::ptree &data) const
std::string parseVideoChatParticipantsInvited(const VideoChatParticipantsInvited::Ptr &object) const
ChatBoostRemoved::Ptr parseJsonAndGetChatBoostRemoved(const boost::property_tree::ptree &data) const
ResponseParameters::Ptr parseJsonAndGetResponseParameters(const boost::property_tree::ptree &data) const
SuccessfulPayment::Ptr parseJsonAndGetSuccessfulPayment(const boost::property_tree::ptree &data) const
std::string parseVenue(const Venue::Ptr &object) const
std::string parseKeyboardButtonRequestUsers(const KeyboardButtonRequestUsers::Ptr &object) const
Chat::Ptr parseJsonAndGetChat(const boost::property_tree::ptree &data) const
ForumTopicReopened::Ptr parseJsonAndGetForumTopicReopened(const boost::property_tree::ptree &data) const
std::string parseEncryptedPassportElement(const EncryptedPassportElement::Ptr &object) const
std::string parseInlineQueryResultGif(const InlineQueryResultGif::Ptr &object) const
VideoChatParticipantsInvited::Ptr parseJsonAndGetVideoChatParticipantsInvited(const boost::property_tree::ptree &data) const
ReactionTypeCustomEmoji::Ptr parseJsonAndGetReactionTypeCustomEmoji(const boost::property_tree::ptree &data) const
BotCommandScope::Ptr parseJsonAndGetBotCommandScope(const boost::property_tree::ptree &data) const
Message::Ptr parseJsonAndGetMessage(const boost::property_tree::ptree &data) const
PassportElementErrorUnspecified::Ptr parseJsonAndGetPassportElementErrorUnspecified(const boost::property_tree::ptree &data) const
std::string parseChatMemberOwner(const ChatMemberOwner::Ptr &object) const
std::shared_ptr< T > tryParseJson(JsonToTgTypeFunc< T > parseFunc, const boost::property_tree::ptree &data, const std::string &keyName) const
std::string parseLabeledPrice(const LabeledPrice::Ptr &object) const
ReactionType::Ptr parseJsonAndGetReactionType(const boost::property_tree::ptree &data) const
BusinessLocation::Ptr parseJsonAndGetBusinessLocation(const boost::property_tree::ptree &data) const
InlineQueryResultCachedMpeg4Gif::Ptr parseJsonAndGetInlineQueryResultCachedMpeg4Gif(const boost::property_tree::ptree &data) const
std::string parsePollOption(const PollOption::Ptr &object) const
std::string parseVideoChatStarted(const VideoChatStarted::Ptr &object) const
std::string parseGiveawayCompleted(const GiveawayCompleted::Ptr &object) const
std::string parseBotName(const BotName::Ptr &object) const
InlineQueryResultArticle::Ptr parseJsonAndGetInlineQueryResultArticle(const boost::property_tree::ptree &data) const
std::string parseInlineQueryResultCachedVideo(const InlineQueryResultCachedVideo::Ptr &object) const
std::string parseVideoChatEnded(const VideoChatEnded::Ptr &object) const
std::string parseForceReply(const ForceReply::Ptr &object) const
GenericReply::Ptr parseJsonAndGetGenericReply(const boost::property_tree::ptree &data) const
ChatBoostSourceGiveaway::Ptr parseJsonAndGetChatBoostSourceGiveaway(const boost::property_tree::ptree &data) const
std::string parseInputInvoiceMessageContent(const InputInvoiceMessageContent::Ptr &object) const
ChosenInlineResult::Ptr parseJsonAndGetChosenInlineResult(const boost::property_tree::ptree &data) const
std::string parseInputMediaPhoto(const InputMediaPhoto::Ptr &object) const
PreCheckoutQuery::Ptr parseJsonAndGetPreCheckoutQuery(const boost::property_tree::ptree &data) const
PassportElementErrorTranslationFile::Ptr parseJsonAndGetPassportElementErrorTranslationFile(const boost::property_tree::ptree &data) const
std::string parseBotCommandScopeChatAdministrators(const BotCommandScopeChatAdministrators::Ptr &object) const
std::string parseTextQuote(const TextQuote::Ptr &object) const
std::string parseVideo(const Video::Ptr &object) const
std::string parseMessageAutoDeleteTimerChanged(const MessageAutoDeleteTimerChanged::Ptr &object) const
std::string parseChatMemberRestricted(const ChatMemberRestricted::Ptr &object) const
std::string parseBotCommandScopeAllChatAdministrators(const BotCommandScopeAllChatAdministrators::Ptr &object) const
std::string parseInputMediaVideo(const InputMediaVideo::Ptr &object) const
std::string parsePassportElementErrorTranslationFiles(const PassportElementErrorTranslationFiles::Ptr &object) const
ChatMemberBanned::Ptr parseJsonAndGetChatMemberBanned(const boost::property_tree::ptree &data) const
BotDescription::Ptr parseJsonAndGetBotDescription(const boost::property_tree::ptree &data) const
InputSticker::Ptr parseJsonAndGetInputSticker(const boost::property_tree::ptree &data) const
VideoNote::Ptr parseJsonAndGetVideoNote(const boost::property_tree::ptree &data) const
std::string parseChatPhoto(const ChatPhoto::Ptr &object) const
std::vector< std::shared_ptr< T > > parseJsonAndGetArray(JsonToTgTypeFunc< T > parseFunc, const boost::property_tree::ptree &data) const
std::string parseSharedUser(const SharedUser::Ptr &object) const
std::string parsePassportElementErrorUnspecified(const PassportElementErrorUnspecified::Ptr &object) const
std::string parsePassportElementErrorTranslationFile(const PassportElementErrorTranslationFile::Ptr &object) const
std::string parseInlineQueryResultGame(const InlineQueryResultGame::Ptr &object) const
ReplyKeyboardRemove::Ptr parseJsonAndGetReplyKeyboardRemove(const boost::property_tree::ptree &data) const
InlineQueryResultGif::Ptr parseJsonAndGetInlineQueryResultGif(const boost::property_tree::ptree &data) const
std::string parse2DArray(TgTypeToJsonFunc< T > parseFunc, const std::vector< std::vector< std::shared_ptr< T > > > &objects) const
std::string parsePassportFile(const PassportFile::Ptr &object) const
std::string parseBotCommandScopeChat(const BotCommandScopeChat::Ptr &object) const
std::string parseBusinessIntro(const BusinessIntro::Ptr &object) const
std::string parseChat(const Chat::Ptr &object) const
std::string parseWebAppInfo(const WebAppInfo::Ptr &object) const
std::string parseUserChatBoosts(const UserChatBoosts::Ptr &object) const
KeyboardButtonPollType::Ptr parseJsonAndGetKeyboardButtonPollType(const boost::property_tree::ptree &data) const
std::string parsePhotoSize(const PhotoSize::Ptr &object) const
ChatMemberOwner::Ptr parseJsonAndGetChatMemberOwner(const boost::property_tree::ptree &data) const
MenuButtonDefault::Ptr parseJsonAndGetMenuButtonDefault(const boost::property_tree::ptree &data) const
MessageOriginHiddenUser::Ptr parseJsonAndGetMessageOriginHiddenUser(const boost::property_tree::ptree &data) const
std::string parseReactionType(const ReactionType::Ptr &object) const
KeyboardButton::Ptr parseJsonAndGetKeyboardButton(const boost::property_tree::ptree &data) const
std::string parseChatLocation(const ChatLocation::Ptr &object) const
InlineQueryResultGame::Ptr parseJsonAndGetInlineQueryResultGame(const boost::property_tree::ptree &data) const
std::string parseBotCommand(const BotCommand::Ptr &object) const
std::string parseInputTextMessageContent(const InputTextMessageContent::Ptr &object) const
std::string parseChatBoostAdded(const ChatBoostAdded::Ptr &object) const
std::string parseMenuButtonCommands(const MenuButtonCommands::Ptr &object) const
std::string parseChatBoostUpdated(const ChatBoostUpdated::Ptr &object) const
PassportElementErrorFiles::Ptr parseJsonAndGetPassportElementErrorFiles(const boost::property_tree::ptree &data) const
std::string parseUpdate(const Update::Ptr &object) const
ChatMember::Ptr parseJsonAndGetChatMember(const boost::property_tree::ptree &data) const
ChatPermissions::Ptr parseJsonAndGetChatPermissions(const boost::property_tree::ptree &data) const
ChatBoostSource::Ptr parseJsonAndGetChatBoostSource(const boost::property_tree::ptree &data) const
std::string parseKeyboardButtonRequestChat(const KeyboardButtonRequestChat::Ptr &object) const
MessageAutoDeleteTimerChanged::Ptr parseJsonAndGetMessageAutoDeleteTimerChanged(const boost::property_tree::ptree &data) const
GeneralForumTopicHidden::Ptr parseJsonAndGetGeneralForumTopicHidden(const boost::property_tree::ptree &data) const
std::string parseChatJoinRequest(const ChatJoinRequest::Ptr &object) const
InlineQueryResult::Ptr parseJsonAndGetInlineQueryResult(const boost::property_tree::ptree &data) const
InlineQueryResultCachedVideo::Ptr parseJsonAndGetInlineQueryResultCachedVideo(const boost::property_tree::ptree &data) const
Poll::Ptr parseJsonAndGetPoll(const boost::property_tree::ptree &data) const
Game::Ptr parseJsonAndGetGame(const boost::property_tree::ptree &data) const
std::string parseBotCommandScopeDefault(const BotCommandScopeDefault::Ptr &object) const
std::string parseReplyParameters(const ReplyParameters::Ptr &object) const
InputLocationMessageContent::Ptr parseJsonAndGetInputLocationMessageContent(const boost::property_tree::ptree &data) const
std::string parseInlineQueryResultLocation(const InlineQueryResultLocation::Ptr &object) const
Document::Ptr parseJsonAndGetDocument(const boost::property_tree::ptree &data) const
CallbackGame::Ptr parseJsonAndGetCallbackGame(const boost::property_tree::ptree &data) const
std::string parseInputMedia(const InputMedia::Ptr &object) const
UsersShared::Ptr parseJsonAndGetUsersShared(const boost::property_tree::ptree &data) const
std::string parseReactionCount(const ReactionCount::Ptr &object) const
std::string parseInlineKeyboardButton(const InlineKeyboardButton::Ptr &object) const
std::string parseMessageOriginChannel(const MessageOriginChannel::Ptr &object) const
std::string parseChatMemberMember(const ChatMemberMember::Ptr &object) const
SharedUser::Ptr parseJsonAndGetSharedUser(const boost::property_tree::ptree &data) const
InlineQueryResultsButton::Ptr parseJsonAndGetInlineQueryResultsButton(const boost::property_tree::ptree &data) const
MessageId::Ptr parseJsonAndGetMessageId(const boost::property_tree::ptree &data) const
std::string parseInputLocationMessageContent(const InputLocationMessageContent::Ptr &object) const
InlineQueryResultCachedDocument::Ptr parseJsonAndGetInlineQueryResultCachedDocument(const boost::property_tree::ptree &data) const
BotCommandScopeAllGroupChats::Ptr parseJsonAndGetBotCommandScopeAllGroupChats(const boost::property_tree::ptree &data) const
std::string parseKeyboardButton(const KeyboardButton::Ptr &object) const
std::string parseInlineQueryResultContact(const InlineQueryResultContact::Ptr &object) const
std::string parseInlineQueryResultVoice(const InlineQueryResultVoice::Ptr &object) const
MessageOriginUser::Ptr parseJsonAndGetMessageOriginUser(const boost::property_tree::ptree &data) const
UserProfilePhotos::Ptr parseJsonAndGetUserProfilePhotos(const boost::property_tree::ptree &data) const
ShippingAddress::Ptr parseJsonAndGetShippingAddress(const boost::property_tree::ptree &data) const
std::string parseInputVenueMessageContent(const InputVenueMessageContent::Ptr &object) const
ChatBoostSourcePremium::Ptr parseJsonAndGetChatBoostSourcePremium(const boost::property_tree::ptree &data) const
LoginUrl::Ptr parseJsonAndGetLoginUrl(const boost::property_tree::ptree &data) const
std::string parseProximityAlertTriggered(const ProximityAlertTriggered::Ptr &object) const
ChatLocation::Ptr parseJsonAndGetChatLocation(const boost::property_tree::ptree &data) const
std::string parseChatPermissions(const ChatPermissions::Ptr &object) const
std::string parseMessageReactionUpdated(const MessageReactionUpdated::Ptr &object) const
BotShortDescription::Ptr parseJsonAndGetBotShortDescription(const boost::property_tree::ptree &data) const
ReplyParameters::Ptr parseJsonAndGetReplyParameters(const boost::property_tree::ptree &data) const
std::string parseChatBoostSource(const ChatBoostSource::Ptr &object) const
Birthdate::Ptr parseJsonAndGetBirthdate(const boost::property_tree::ptree &data) const
PassportFile::Ptr parseJsonAndGetPassportFile(const boost::property_tree::ptree &data) const
std::string parseAnimation(const Animation::Ptr &object) const
ChatMemberAdministrator::Ptr parseJsonAndGetChatMemberAdministrator(const boost::property_tree::ptree &data) const
PassportElementError::Ptr parseJsonAndGetPassportElementError(const boost::property_tree::ptree &data) const
ForceReply::Ptr parseJsonAndGetForceReply(const boost::property_tree::ptree &data) const
OrderInfo::Ptr parseJsonAndGetOrderInfo(const boost::property_tree::ptree &data) const
std::string parseCallbackQuery(const CallbackQuery::Ptr &object) const
std::string parseWebAppData(const WebAppData::Ptr &object) const
InputInvoiceMessageContent::Ptr parseJsonAndGetInputInvoiceMessageContent(const boost::property_tree::ptree &data) const
std::string parseInlineQueryResultAudio(const InlineQueryResultAudio::Ptr &object) const
BotCommandScopeAllPrivateChats::Ptr parseJsonAndGetBotCommandScopeAllPrivateChats(const boost::property_tree::ptree &data) const
InlineKeyboardMarkup::Ptr parseJsonAndGetInlineKeyboardMarkup(const boost::property_tree::ptree &data) const
std::string parseSticker(const Sticker::Ptr &object) const
ChatMemberUpdated::Ptr parseJsonAndGetChatMemberUpdated(const boost::property_tree::ptree &data) const
std::string parsePassportElementErrorFiles(const PassportElementErrorFiles::Ptr &object) const
std::string parseInlineQueryResultsButton(const InlineQueryResultsButton::Ptr &object) const
std::string parseBotCommandScopeChatMember(const BotCommandScopeChatMember::Ptr &object) const
BotCommandScopeChatMember::Ptr parseJsonAndGetBotCommandScopeChatMember(const boost::property_tree::ptree &data) const
std::string parseChatMemberLeft(const ChatMemberLeft::Ptr &object) const
Giveaway::Ptr parseJsonAndGetGiveaway(const boost::property_tree::ptree &data) const
std::string parseLinkPreviewOptions(const LinkPreviewOptions::Ptr &object) const
BotCommand::Ptr parseJsonAndGetBotCommand(const boost::property_tree::ptree &data) const
MaskPosition::Ptr parseJsonAndGetMaskPosition(const boost::property_tree::ptree &data) const
SwitchInlineQueryChosenChat::Ptr parseJsonAndGetSwitchInlineQueryChosenChat(const boost::property_tree::ptree &data) const
InputMediaAudio::Ptr parseJsonAndGetInputMediaAudio(const boost::property_tree::ptree &data) const
std::string parseMessageOriginHiddenUser(const MessageOriginHiddenUser::Ptr &object) const
std::string parseChatMember(const ChatMember::Ptr &object) const
Contact::Ptr parseJsonAndGetContact(const boost::property_tree::ptree &data) const
Story::Ptr parseJsonAndGetStory(const boost::property_tree::ptree &data) const
ForumTopicEdited::Ptr parseJsonAndGetForumTopicEdited(const boost::property_tree::ptree &data) const
std::string parseMessageOriginChat(const MessageOriginChat::Ptr &object) const
std::vector< T > parseJsonAndGetArray(std::function< T(const boost::property_tree::ptree &)> parseFunc, const boost::property_tree::ptree &data, const std::string &keyName) const
Location::Ptr parseJsonAndGetLocation(const boost::property_tree::ptree &data) const
std::string parseMessageId(const MessageId::Ptr &object) const
ChatBoostUpdated::Ptr parseJsonAndGetChatBoostUpdated(const boost::property_tree::ptree &data) const
std::string parseGiveawayWinners(const GiveawayWinners::Ptr &object) const
ForumTopicClosed::Ptr parseJsonAndGetForumTopicClosed(const boost::property_tree::ptree &data) const
Invoice::Ptr parseJsonAndGetInvoice(const boost::property_tree::ptree &data) const
ProximityAlertTriggered::Ptr parseJsonAndGetProximityAlertTriggered(const boost::property_tree::ptree &data) const
std::string parseStory(const Story::Ptr &object) const
std::string parseBusinessLocation(const BusinessLocation::Ptr &object) const
ChatBoostAdded::Ptr parseJsonAndGetChatBoostAdded(const boost::property_tree::ptree &data) const
ChatJoinRequest::Ptr parseJsonAndGetChatJoinRequest(const boost::property_tree::ptree &data) const
std::string parseInlineQueryResultCachedDocument(const InlineQueryResultCachedDocument::Ptr &object) const
std::string parsePassportElementErrorFrontSide(const PassportElementErrorFrontSide::Ptr &object) const
WebAppData::Ptr parseJsonAndGetWebAppData(const boost::property_tree::ptree &data) const
std::string parsePoll(const Poll::Ptr &object) const
std::shared_ptr< T >(TgTypeParser::*)(const boost::property_tree::ptree &) const JsonToTgTypeFunc
InlineQueryResultContact::Ptr parseJsonAndGetInlineQueryResultContact(const boost::property_tree::ptree &data) const
ShippingOption::Ptr parseJsonAndGetShippingOption(const boost::property_tree::ptree &data) const
std::string parseInputMessageContent(const InputMessageContent::Ptr &object) const
std::string parseVideoChatScheduled(const VideoChatScheduled::Ptr &object) const
ChatBoost::Ptr parseJsonAndGetChatBoost(const boost::property_tree::ptree &data) const
std::string parseGame(const Game::Ptr &object) const
std::string parseChatMemberBanned(const ChatMemberBanned::Ptr &object) const
std::string parseInlineQueryResultPhoto(const InlineQueryResultPhoto::Ptr &object) const
std::vector< std::vector< std::shared_ptr< T > > > parseJsonAndGet2DArray(JsonToTgTypeFunc< T > parseFunc, const boost::property_tree::ptree &data, const std::string &keyName) const
std::string parseResponseParameters(const ResponseParameters::Ptr &object) const
std::string parseLoginUrl(const LoginUrl::Ptr &object) const
std::string parsePassportElementErrorDataField(const PassportElementErrorDataField::Ptr &object) const
std::string parseMaskPosition(const MaskPosition::Ptr &object) const
InaccessibleMessage::Ptr parseJsonAndGetInaccessibleMessage(const boost::property_tree::ptree &data) const
std::string parseBotShortDescription(const BotShortDescription::Ptr &object) const
std::string parseOrderInfo(const OrderInfo::Ptr &object) const
PassportElementErrorFile::Ptr parseJsonAndGetPassportElementErrorFile(const boost::property_tree::ptree &data) const
InlineQueryResultLocation::Ptr parseJsonAndGetInlineQueryResultLocation(const boost::property_tree::ptree &data) const
ChatMemberRestricted::Ptr parseJsonAndGetChatMemberRestricted(const boost::property_tree::ptree &data) const
std::string parsePassportElementError(const PassportElementError::Ptr &object) const
std::string parseInlineQueryResultCachedSticker(const InlineQueryResultCachedSticker::Ptr &object) const
LabeledPrice::Ptr parseJsonAndGetLabeledPrice(const boost::property_tree::ptree &data) const
std::string parseUser(const User::Ptr &object) const
std::string parseInputContactMessageContent(const InputContactMessageContent::Ptr &object) const
std::string parseForumTopicEdited(const ForumTopicEdited::Ptr &object) const
std::string parseChatShared(const ChatShared::Ptr &object) const
std::string parseChatMemberUpdated(const ChatMemberUpdated::Ptr &object) const
std::string parseInlineQueryResultVenue(const InlineQueryResultVenue::Ptr &object) const
std::string parseInlineQueryResult(const InlineQueryResult::Ptr &object) const
std::string parseCallbackGame(const CallbackGame::Ptr &object) const
std::string parseWebhookInfo(const WebhookInfo::Ptr &object) const
BotCommandScopeChat::Ptr parseJsonAndGetBotCommandScopeChat(const boost::property_tree::ptree &data) const
BotCommandScopeDefault::Ptr parseJsonAndGetBotCommandScopeDefault(const boost::property_tree::ptree &data) const
InlineQueryResultCachedGif::Ptr parseJsonAndGetInlineQueryResultCachedGif(const boost::property_tree::ptree &data) const
std::string parseBusinessConnection(const BusinessConnection::Ptr &object) const
InputContactMessageContent::Ptr parseJsonAndGetInputContactMessageContent(const boost::property_tree::ptree &data) const
InputMediaPhoto::Ptr parseJsonAndGetInputMediaPhoto(const boost::property_tree::ptree &data) const
File::Ptr parseJsonAndGetFile(const boost::property_tree::ptree &data) const
std::string parseShippingQuery(const ShippingQuery::Ptr &object) const
MessageReactionCountUpdated::Ptr parseJsonAndGetMessageReactionCountUpdated(const boost::property_tree::ptree &data) const
std::string parseMenuButtonDefault(const MenuButtonDefault::Ptr &object) const
InputTextMessageContent::Ptr parseJsonAndGetInputTextMessageContent(const boost::property_tree::ptree &data) const
std::string parseDocument(const Document::Ptr &object) const
PassportElementErrorReverseSide::Ptr parseJsonAndGetPassportElementErrorReverseSide(const boost::property_tree::ptree &data) const
std::string parseExternalReplyInfo(const ExternalReplyInfo::Ptr &object) const
PassportElementErrorDataField::Ptr parseJsonAndGetPassportElementErrorDataField(const boost::property_tree::ptree &data) const
std::string parseReplyKeyboardMarkup(const ReplyKeyboardMarkup::Ptr &object) const
std::string parseLocation(const Location::Ptr &object) const
ChatPhoto::Ptr parseJsonAndGetChatPhoto(const boost::property_tree::ptree &data) const
std::string parseInlineQueryResultCachedGif(const InlineQueryResultCachedGif::Ptr &object) const
std::string parseInlineQueryResultMpeg4Gif(const InlineQueryResultMpeg4Gif::Ptr &object) const
PassportElementErrorTranslationFiles::Ptr parseJsonAndGetPassportElementErrorTranslationFiles(const boost::property_tree::ptree &data) const
GiveawayCreated::Ptr parseJsonAndGetGiveawayCreated(const boost::property_tree::ptree &data) const
std::string parseInputMediaAnimation(const InputMediaAnimation::Ptr &object) const
std::string parseEncryptedCredentials(const EncryptedCredentials::Ptr &object) const
InlineQueryResultCachedSticker::Ptr parseJsonAndGetInlineQueryResultCachedSticker(const boost::property_tree::ptree &data) const
GeneralForumTopicUnhidden::Ptr parseJsonAndGetGeneralForumTopicUnhidden(const boost::property_tree::ptree &data) const
InputMessageContent::Ptr parseJsonAndGetInputMessageContent(const boost::property_tree::ptree &data) const
std::string parsePreCheckoutQuery(const PreCheckoutQuery::Ptr &object) const
std::string parseInlineQueryResultDocument(const InlineQueryResultDocument::Ptr &object) const
std::string parseForumTopicReopened(const ForumTopicReopened::Ptr &object) const
KeyboardButtonRequestUsers::Ptr parseJsonAndGetKeyboardButtonRequestUsers(const boost::property_tree::ptree &data) const
std::string parseBotCommandScope(const BotCommandScope::Ptr &object) const
MessageOrigin::Ptr parseJsonAndGetMessageOrigin(const boost::property_tree::ptree &data) const
ChatInviteLink::Ptr parseJsonAndGetChatInviteLink(const boost::property_tree::ptree &data) const
std::string parseGenericReply(const GenericReply::Ptr &object) const
std::shared_ptr< Update > Ptr
Definition Update.h:37
std::shared_ptr< UserChatBoosts > Ptr
std::shared_ptr< User > Ptr
Definition User.h:18
std::shared_ptr< UserProfilePhotos > Ptr
std::shared_ptr< UsersShared > Ptr
Definition UsersShared.h:20
std::shared_ptr< Venue > Ptr
Definition Venue.h:18
std::shared_ptr< VideoChatEnded > Ptr
std::shared_ptr< VideoChatParticipantsInvited > Ptr
std::shared_ptr< VideoChatScheduled > Ptr
std::shared_ptr< VideoChatStarted > Ptr
std::shared_ptr< Video > Ptr
Definition Video.h:20
std::shared_ptr< VideoNote > Ptr
Definition VideoNote.h:20
std::shared_ptr< Voice > Ptr
Definition Voice.h:17
std::shared_ptr< WebAppData > Ptr
Definition WebAppData.h:16
std::shared_ptr< WebAppInfo > Ptr
Definition WebAppInfo.h:19
std::shared_ptr< WebhookInfo > Ptr
Definition WebhookInfo.h:18
std::shared_ptr< WriteAccessAllowed > Ptr
Definition Api.h:40