4#include <nlohmann/json.hpp>
9namespace nl = nlohmann;
78 static const std::string DEFAULT_API_URL;
79 static const cpr::ConnectTimeout DEFAULT_CONNECT_TIMEOUT;
80 static const cpr::Timeout DEFAULT_TIMEOUT;
81 static const cpr::Timeout DEFAULT_LONG_POLL_TIMEOUT;
82 static const cpr::Timeout DEFAULT_UPLOAD_FILES_TIMEOUT;
83 static const cpr::Timeout DEFAULT_DOWNLOAD_FILES_TIMEOUT;
85 const std::string m_token;
86 std::string m_apiUrl = DEFAULT_API_URL;
87 cpr::ConnectTimeout m_connectTimeout = DEFAULT_CONNECT_TIMEOUT;
88 cpr::Timeout m_timeout = DEFAULT_TIMEOUT;
89 cpr::Timeout m_longPollTimeout = DEFAULT_LONG_POLL_TIMEOUT;
90 cpr::Timeout m_uploadFilesTimeout = DEFAULT_UPLOAD_FILES_TIMEOUT;
91 cpr::Timeout m_downloadFilesTimeout = DEFAULT_DOWNLOAD_FILES_TIMEOUT;
92 cpr::Proxies m_proxies = cpr::Proxies();
93 std::vector<std::string> m_allowedUpdates;
99 std::string botUsername;
100 std::vector<std::string> botCommands;
102 void refresh(
const Api*);
104 mutable Cache m_cache{};
109 explicit Api(
const std::string& token);
156 const std::string& text,
157 std::int32_t messageThreadId = 0,
158 const std::string& parseMode =
"",
160 bool disableNotification =
false,
161 bool protectContent =
false,
163 const std::string& businessConnectionId =
"",
164 std::int32_t directMessagesTopicId = 0,
166 bool allowPaidBroadcast =
false,
167 const std::string& messageEffectId =
"",
187 const std::variant<std::int64_t, std::string>& fromChatId,
188 std::int32_t messageId,
189 std::int32_t messageThreadId = 0,
190 bool disableNotification =
false,
191 bool protectContent =
false,
192 std::int32_t directMessagesTopicId = 0,
193 std::time_t videoStartTimestamp = 0,
213 std::vector<Ptr<MessageId>>
forwardMessages(
const std::variant<std::int64_t, std::string>& chatId,
214 const std::variant<std::int64_t, std::string>& fromChatId,
215 const std::vector<std::int32_t>& messageIds,
216 std::int32_t messageThreadId = 0,
217 bool disableNotification =
false,
218 bool protectContent =
false,
219 std::int32_t directMessagesTopicId = 0)
const;
247 const std::variant<std::int64_t, std::string>& fromChatId,
248 std::int32_t messageId,
249 std::int32_t messageThreadId = 0,
250 const std::string& caption =
"",
251 const std::string& parseMode =
"",
253 bool disableNotification =
false,
254 bool protectContent =
false,
256 std::int32_t directMessagesTopicId = 0,
257 std::time_t videoStartTimestamp = 0,
258 bool showCaptionAboveMedia =
false,
259 bool allowPaidBroadcast =
false,
282 std::vector<Ptr<MessageId>>
copyMessages(
const std::variant<std::int64_t, std::string>& chatId,
283 const std::variant<std::int64_t, std::string>& fromChatId,
284 const std::vector<std::int32_t>& messageIds,
285 std::int32_t messageThreadId = 0,
286 std::int32_t directMessagesTopicId = 0,
287 bool disableNotification =
false,
288 bool protectContent =
false,
289 bool removeCaption =
false)
const;
319 const std::variant<cpr::File, std::string>& photo,
320 std::int32_t messageThreadId = 0,
321 const std::string& caption =
"",
322 const std::string& parseMode =
"",
324 bool disableNotification =
false,
325 bool protectContent =
false,
327 const std::string& businessConnectionId =
"",
328 std::int32_t directMessagesTopicId = 0,
329 bool showCaptionAboveMedia =
false,
330 bool hasSpoiler =
false,
331 bool allowPaidBroadcast =
false,
332 const std::string& messageEffectId =
"",
372 const std::variant<cpr::File, std::string>& audio,
373 std::int32_t messageThreadId = 0,
374 const std::string& caption =
"",
375 const std::string& parseMode =
"",
377 std::time_t duration = 0,
378 const std::string& performer =
"",
379 const std::string& title =
"",
380 const std::optional<std::variant<cpr::File, std::string>>& thumbnail = std::nullopt,
381 bool disableNotification =
false,
382 bool protectContent =
false,
384 const std::string& businessConnectionId =
"",
385 std::int32_t directMessagesTopicId = 0,
386 bool allowPaidBroadcast =
false,
387 const std::string& messageEffectId =
"",
422 const std::variant<cpr::File, std::string>& document,
423 std::int32_t messageThreadId = 0,
424 const std::optional<std::variant<cpr::File, std::string>>& thumbnail = std::nullopt,
425 const std::string& caption =
"",
426 const std::string& parseMode =
"",
428 bool disableNotification =
false,
429 bool protectContent =
false,
431 const std::string& businessConnectionId =
"",
432 std::int32_t directMessagesTopicId = 0,
433 bool disableContentTypeDetection =
false,
434 bool allowPaidBroadcast =
false,
435 const std::string& messageEffectId =
"",
478 const std::variant<cpr::File, std::string>& video,
479 std::int32_t messageThreadId = 0,
480 std::time_t duration = 0,
481 std::int32_t width = 0,
482 std::int32_t height = 0,
483 const std::optional<std::variant<cpr::File, std::string>>& thumbnail = std::nullopt,
484 const std::optional<std::variant<cpr::File, std::string>>& cover = std::nullopt,
485 std::time_t startTimestamp = 0,
486 const std::string& caption =
"",
487 const std::string& parseMode =
"",
489 bool showCaptionAboveMedia =
false,
490 bool hasSpoiler =
false,
491 bool supportsStreaming =
false,
492 bool disableNotification =
false,
493 bool protectContent =
false,
495 const std::string& businessConnectionId =
"",
496 std::int32_t directMessagesTopicId = 0,
497 bool allowPaidBroadcast =
false,
498 const std::string& messageEffectId =
"",
534 const std::variant<cpr::File, std::string>& animation,
535 std::int32_t messageThreadId = 0,
536 std::time_t duration = 0,
537 std::int32_t width = 0,
538 std::int32_t height = 0,
539 const std::optional<std::variant<cpr::File, std::string>>& thumbnail = std::nullopt,
540 const std::string& caption =
"",
541 const std::string& parseMode =
"",
543 bool disableNotification =
false,
544 bool protectContent =
false,
546 const std::string& businessConnectionId =
"",
547 std::int32_t directMessagesTopicId = 0,
548 bool allowPaidBroadcast =
false,
549 const std::string& messageEffectId =
"",
578 const std::variant<cpr::File, std::string>& voice,
579 std::int32_t messageThreadId = 0,
580 const std::string& caption =
"",
581 const std::string& parseMode =
"",
583 std::time_t duration = 0,
584 bool disableNotification =
false,
585 bool protectContent =
false,
587 const std::string& businessConnectionId =
"",
588 std::int32_t directMessagesTopicId = 0,
589 bool allowPaidBroadcast =
false,
590 const std::string& messageEffectId =
"",
623 const std::variant<cpr::File, std::string>& videoNote,
624 std::int32_t messageThreadId = 0,
625 std::time_t duration = 0,
626 std::int32_t length = 0,
627 const std::optional<std::variant<cpr::File, std::string>>& thumbnail = std::nullopt,
628 bool disableNotification =
false,
629 bool protectContent =
false,
631 const std::string& businessConnectionId =
"",
632 std::int32_t directMessagesTopicId = 0,
633 bool allowPaidBroadcast =
false,
634 const std::string& messageEffectId =
"",
661 std::int32_t starCount,
663 const std::string& payload =
"",
664 std::int32_t messageThreadId = 0,
665 const std::string& caption =
"",
666 const std::string& parseMode =
"",
668 bool showCaptionAboveMedia =
false,
669 bool disableNotification =
false,
670 bool protectContent =
false,
671 bool allowPaidBroadcast =
false,
673 const std::string& businessConnectionId =
"",
674 std::int32_t directMessagesTopicId = 0,
692 std::vector<Ptr<Message>>
sendMediaGroup(
const std::variant<std::int64_t, std::string>& chatId,
694 std::int32_t messageThreadId = 0,
695 bool disableNotification =
false,
696 bool protectContent =
false,
697 const std::string& businessConnectionId =
"",
698 std::int32_t directMessagesTopicId = 0,
699 bool allowPaidBroadcast =
false,
700 const std::string& messageEffectId =
"",
726 std::int32_t messageThreadId = 0,
727 float horizontalAccuracy = 0.0f,
728 std::int32_t livePeriod = 0,
729 std::int32_t heading = 0,
730 std::int32_t proximityAlertRadius = 0,
731 bool disableNotification =
false,
732 bool protectContent =
false,
734 const std::string& businessConnectionId =
"",
735 std::int32_t directMessagesTopicId = 0,
736 bool allowPaidBroadcast =
false,
737 const std::string& messageEffectId =
"",
767 const std::string& title,
768 const std::string& address,
769 std::int32_t messageThreadId = 0,
770 const std::string& foursquareId =
"",
771 const std::string& foursquareType =
"",
772 const std::string& googlePlaceId =
"",
773 const std::string& googlePlaceType =
"",
774 bool disableNotification =
false,
775 bool protectContent =
false,
777 const std::string& businessConnectionId =
"",
778 std::int32_t directMessagesTopicId = 0,
779 bool allowPaidBroadcast =
false,
780 const std::string& messageEffectId =
"",
802 const std::string& phoneNumber,
803 const std::string& firstName,
804 const std::string& lastName =
"",
805 const std::string& vcard =
"",
806 std::int32_t messageThreadId = 0,
807 bool disableNotification =
false,
808 bool protectContent =
false,
810 const std::string& businessConnectionId =
"",
811 std::int32_t directMessagesTopicId = 0,
812 bool allowPaidBroadcast =
false,
813 const std::string& messageEffectId =
"",
843 const std::string& question,
845 std::int32_t messageThreadId = 0,
846 const std::string& questionParseMode =
"",
848 bool isAnonymous =
true,
849 const std::string& type =
"regular",
850 bool allowsMultipleAnswers =
false,
851 std::int32_t correctOptionId = -1,
852 const std::string& explanation =
"",
853 const std::string& explanationParseMode =
"",
855 std::time_t openPeriod = 0,
856 std::time_t closeDate = 0,
857 bool isClosed =
false,
858 bool disableNotification =
false,
859 bool protectContent =
false,
861 const std::string& businessConnectionId =
"",
862 bool allowPaidBroadcast =
false,
863 const std::string& messageEffectId =
"",
878 const std::string& businessConnectionId,
880 bool disableNotification =
false,
881 bool protectContent =
false,
883 const std::string& messageEffectId =
"",
907 const std::string& emoji =
"🎲",
908 std::int32_t messageThreadId = 0,
909 bool disableNotification =
false,
910 bool protectContent =
false,
912 const std::string& businessConnectionId =
"",
913 std::int32_t directMessagesTopicId = 0,
914 bool allowPaidBroadcast =
false,
915 const std::string& messageEffectId =
"",
943 const std::string& action,
944 std::int32_t messageThreadId = 0,
945 const std::string& businessConnectionId =
"")
const;
960 std::int32_t messageId,
962 bool isBig =
false)
const;
973 std::int32_t offset = 0,
974 std::int32_t limit = 100)
const;
998 std::string
downloadFile(
const std::string& filePath,
const std::function<
bool(cpr::cpr_off_t downloadTotal, cpr::cpr_off_t downloadNow)>& progressCallback =
nullptr)
const;
1014 std::int64_t userId,
1015 std::time_t untilDate = 0,
1016 bool revokeMessages =
false)
const;
1031 std::int64_t userId,
1032 bool onlyIfBanned =
false)
const;
1049 std::int64_t userId,
1051 bool useIndependentChatPermissions =
false,
1052 std::time_t untilDate = 0)
const;
1081 std::int64_t userId,
1082 bool isAnonymous =
false,
1083 bool canManageChat =
false,
1084 bool canDeleteMessages =
false,
1085 bool canManageVideoChats =
false,
1086 bool canRestrictMembers =
false,
1087 bool canPromoteMembers =
false,
1088 bool canChangeInfo =
false,
1089 bool canInviteUsers =
false,
1090 bool canPostMessages =
false,
1091 bool canEditMessages =
false,
1092 bool canPinMessages =
false,
1093 bool canPostStories =
false,
1094 bool canEditStories =
false,
1095 bool canDeleteStories =
false,
1096 bool canManageTopics =
false,
1097 bool canManageDirectMessages =
false)
const;
1108 std::int64_t userId,
1109 const std::string& customTitle)
const;
1123 std::int64_t senderChatId)
const;
1136 std::int64_t senderChatId)
const;
1152 bool useIndependentChatPermissions =
false)
const;
1185 const std::string& name =
"",
1186 std::time_t expireDate = 0,
1187 std::int32_t memberLimit = 0,
1188 bool createsJoinRequest =
false)
const;
1204 const std::string& inviteLink,
1205 const std::string& name =
"",
1206 std::time_t expireDate = 0,
1207 std::int32_t memberLimit = 0,
1208 bool createsJoinRequest =
false)
const;
1222 std::time_t subscriptionPeriod,
1223 std::int32_t subscriptionPrice,
1224 const std::string& name =
"")
const;
1236 const std::string& inviteLink,
1237 const std::string& name =
"")
const;
1281 bool setChatPhoto(
const std::variant<std::int64_t, std::string>& chatId,
const cpr::File& photo)
const;
1301 bool setChatTitle(
const std::variant<std::int64_t, std::string>& chatId,
const std::string& title)
const;
1311 bool setChatDescription(
const std::variant<std::int64_t, std::string>& chatId,
const std::string& description =
"")
const;
1327 std::int32_t messageId,
1328 bool disableNotification =
false,
1329 const std::string& businessConnectionId =
"")
const;
1343 std::int32_t messageId = 0,
1344 const std::string& businessConnectionId =
"")
const;
1363 bool leaveChat(
const std::variant<std::int64_t, std::string>& chatId)
const;
1409 bool setChatStickerSet(
const std::variant<std::int64_t, std::string>& chatId,
const std::string& stickerSetName)
const;
1445 const std::string& name,
1446 std::int32_t iconColor = 0x000000,
1447 const std::string& iconCustomEmojiId =
"")
const;
1464 std::int32_t messageThreadId,
1465 const std::string& name,
1466 const std::optional<std::string>& iconCustomEmojiId = std::nullopt)
const;
1478 bool closeForumTopic(
const std::variant<std::int64_t, std::string>& chatId, std::int32_t messageThreadId)
const;
1490 bool reopenForumTopic(
const std::variant<std::int64_t, std::string>& chatId, std::int32_t messageThreadId)
const;
1502 bool deleteForumTopic(
const std::variant<std::int64_t, std::string>& chatId, std::int32_t messageThreadId)
const;
1588 const std::string& text =
"",
1589 bool showAlert =
false,
1590 const std::string& url =
"",
1591 std::time_t cacheTime = 0)
const;
1600 std::int64_t userId)
const;
1613 const std::string& languageCode =
"")
const;
1642 bool setMyName(
const std::string& name =
"",
const std::string& languageCode =
"")
const;
1659 bool setMyDescription(
const std::string& description =
"",
const std::string& languageCode =
"")
const;
1734 std::int64_t userId = 0,
1735 const std::variant<std::int64_t, std::string>& chatId = 0,
1736 bool payForUpgrade =
false,
1737 const std::string& text =
"",
1738 const std::string& textParseMode =
"",
1754 std::int32_t monthCount,
1755 std::int32_t starCount,
1756 const std::string& text =
"",
1757 const std::string& textParseMode =
"",
1769 bool verifyUser(std::int64_t userId,
const std::string& customDescription =
"")
const;
1779 bool verifyChat(
const std::variant<std::int64_t, std::string>& chatId,
const std::string& customDescription =
"")
const;
1807 const std::variant<std::int64_t, std::string>& chatId,
1808 std::int32_t messageId)
const;
1820 const std::vector<std::int32_t>& messageIds)
const;
1830 const std::string& firstName,
1831 const std::string& lastName =
"")
const;
1840 const std::string& username =
"")
const;
1849 const std::string& bio =
"")
const;
1860 bool isPublic =
false)
const;
1870 bool isPublic =
false)
const;
1880 bool showGiftButton,
1898 std::int32_t starCount)
const;
1915 bool excludeUnsaved =
false,
1916 bool excludeSaved =
false,
1917 bool excludeUnlimited =
false,
1918 bool excludeLimited =
false,
1919 bool excludeUnique =
false,
1920 bool sortByPrice =
false,
1921 const std::string& offset =
"",
1922 std::int32_t limit = 100)
const;
1943 const std::string& ownedGiftId,
1944 bool keepOriginalDetails =
false,
1945 std::int32_t starCount = -1)
const;
1957 const std::string& ownedGiftId,
1958 std::int64_t newOwnerChatId,
1959 std::int32_t starCount = -1)
const;
1977 std::time_t activePeriod,
1978 const std::string& caption =
"",
1979 const std::string& parseMode =
"",
1982 bool postToChatPage =
false,
1983 bool protectContent =
false)
const;
1997 std::int32_t storyId,
1999 const std::string& caption =
"",
2000 const std::string& parseMode =
"",
2010 bool deleteStory(
const std::string& businessConnectionId, std::int32_t storyId)
const;
2052 const std::string& title,
2053 const std::string& description,
2054 const std::string& payload,
2055 const std::string& currency,
2057 const std::string& providerToken =
"",
2058 std::int32_t messageThreadId = 0,
2059 std::int32_t maxTipAmount = 0,
2060 const std::vector<std::int32_t>& suggestedTipAmounts = std::vector<std::int32_t>(),
2061 const std::string& startParameter =
"",
2062 const std::string& providerData =
"",
2063 const std::string& photoUrl =
"",
2064 std::int32_t photoSize = 0,
2065 std::int32_t photoWidth = 0,
2066 std::int32_t photoHeight = 0,
2067 bool needName =
false,
2068 bool needPhoneNumber =
false,
2069 bool needEmail =
false,
2070 bool needShippingAddress =
false,
2071 bool sendPhoneNumberToProvider =
false,
2072 bool sendEmailToProvider =
false,
2073 bool isFlexible =
false,
2074 bool disableNotification =
false,
2075 bool protectContent =
false,
2076 bool allowPaidBroadcast =
false,
2077 const std::string& messageEffectId =
"",
2117 const std::string& description,
2118 const std::string& payload,
2119 const std::string& currency,
2121 const std::string& businessConnectionId =
"",
2122 const std::string& providerToken =
"",
2123 std::time_t subscriptionPeriod = 0,
2124 std::int32_t maxTipAmount = 0,
2125 const std::vector<std::int32_t>& suggestedTipAmounts = std::vector<std::int32_t>(),
2126 const std::string& providerData =
"",
2127 const std::string& photoUrl =
"",
2128 std::int32_t photoSize = 0,
2129 std::int32_t photoWidth = 0,
2130 std::int32_t photoHeight = 0,
2131 bool needName =
false,
2132 bool needPhoneNumber =
false,
2133 bool needEmail =
false,
2134 bool needShippingAddress =
false,
2135 bool sendPhoneNumberToProvider =
false,
2136 bool sendEmailToProvider =
false,
2137 bool isFlexible =
false)
const;
2154 const std::string& errorMessage =
"")
const;
2170 const std::string& errorMessage =
"")
const;
2205 const std::string& telegramPaymentChargeId,
2206 bool isCancelled)
const;
2223 std::vector<Ptr<Update>>
getUpdates(std::int32_t offset, std::int32_t limit = 100)
const;
2251 const std::optional<cpr::File>& certificate = std::nullopt,
2252 const std::string& ipAddress =
"",
2253 std::int32_t maxConnections = 40,
2254 const std::vector<std::string>& allowedUpdates = std::vector<std::string>(),
2255 bool dropPendingUpdates =
false,
2256 const std::string& secretToken =
"")
const;
2292 const std::variant<std::int64_t, std::string>& chatId = 0,
2293 std::int32_t messageId = 0,
2294 const std::string& inlineMessageId =
"",
2295 const std::string& parseMode =
"",
2298 const std::string& businessConnectionId =
"",
2315 std::int32_t messageId = 0,
2316 const std::string& inlineMessageId =
"",
2317 const std::string& caption =
"",
2318 const std::string& parseMode =
"",
2321 const std::string& businessConnectionId =
"",
2322 bool showCaptionAboveMedia =
false)
const;
2337 const std::variant<std::int64_t, std::string>& chatId = 0,
2338 std::int32_t messageId = 0,
2339 const std::string& inlineMessageId =
"",
2341 const std::string& businessConnectionId =
"")
const;
2361 const std::variant<std::int64_t, std::string>& chatId = 0,
2362 std::int32_t messageId = 0,
2363 const std::string& inlineMessageId =
"",
2364 std::int32_t livePeriod = 0,
2365 float horizontalAccuracy = 0.0f,
2366 std::int32_t heading = 0,
2367 std::int32_t proximityAlertRadius = 0,
2369 const std::string& businessConnectionId =
"")
const;
2381 std::int32_t messageId = 0,
2382 const std::string& inlineMessageId =
"",
2384 const std::string& businessConnectionId =
"")
const;
2395 std::int32_t messageId,
2397 const std::string& businessConnectionId,
2409 std::int32_t messageId = 0,
2410 const std::string& inlineMessageId =
"",
2412 const std::string& businessConnectionId =
"")
const;
2423 std::int32_t messageId,
2425 const std::string& businessConnectionId =
"")
const;
2435 std::int32_t messageId,
2436 std::time_t sendDate = 0)
const;
2445 std::int32_t messageId,
2446 const std::string& comment =
"")
const;
2462 bool deleteMessage(
const std::variant<std::int64_t, std::string>& chatId, std::int32_t messageId)
const;
2470 bool deleteMessages(
const std::variant<std::int64_t, std::string>& chatId,
const std::vector<std::int32_t>& messageIds)
const;
2496 const std::variant<cpr::File, std::string>& sticker,
2497 std::int32_t messageThreadId = 0,
2498 const std::string& emoji =
"",
2499 bool disableNotification =
false,
2500 bool protectContent =
false,
2503 const std::string& businessConnectionId =
"",
2504 std::int32_t directMessagesTopicId = 0,
2506 bool allowPaidBroadcast =
false,
2507 const std::string& messageEffectId =
"",
2534 const cpr::File& sticker,
2535 const std::string& stickerFormat)
const;
2552 const std::string& name,
2553 const std::string& title,
2555 const std::string& stickerType =
"regular",
2556 bool needsRepainting =
false)
const;
2569 const std::string& name,
2598 const std::string& name,
2599 const std::string& oldSticker,
2618 bool setStickerKeywords(
const std::string& sticker,
const std::vector<std::string>& keywords = std::vector<std::string>())
const;
2655 std::int64_t userId,
2656 const std::string& format,
2657 const std::optional<std::variant<cpr::File, std::string>>& thumbnail = std::nullopt)
const;
2703 const std::string& gameShortName,
2704 std::int32_t messageThreadId = 0,
2705 bool disableNotification =
false,
2706 bool protectContent =
false,
2724 bool disableEditMessage =
false,
2725 std::int64_t chatId = 0,
2726 std::int32_t messageId = 0,
2727 const std::string& inlineMessageId =
"")
const;
2742 std::int64_t chatId = 0,
2743 std::int32_t messageId = 0,
2744 const std::string& inlineMessageId =
"")
const;
2762 std::int32_t cacheTime = 300,
2763 bool isPersonal =
false,
2764 const std::string& nextOffset =
"",
2779 void setUrl(
const std::string& url)
noexcept;
2826 nl::json sendRequest(const std::
string& endpoint, const cpr::Multipart& data = cpr::Multipart({}))
const;
Api Methods https://core.telegram.org/bots/api#available-methods.
bool logOut() const
Use this method to log out from the cloud Bot API server before launching the bot locally....
bool setChatTitle(const std::variant< std::int64_t, std::string > &chatId, const std::string &title) const
Use this method to change the title of a chat. Titles can't be changed for private chats....
std::vector< Ptr< BotCommand > > getMyCommands(const Ptr< BotCommandScope > &scope=nullptr, const std::string &languageCode="") const
Use this method to get the current list of the bot's commands for the given scope and user language.
bool setBusinessAccountProfilePhoto(const std::string &businessConnectionId, const Ptr< InputProfilePhoto > &photo, bool isPublic=false) const
Changes the profile photo of a managed business account. Requires the can_edit_profile_photo business...
Ptr< Gifts > getAvailableGifts() const
Returns the list of gifts that can be sent by the bot to users and channel chats. Requires no paramet...
Ptr< Message > editMessageCaption(const std::variant< std::int64_t, std::string > &chatId=0, std::int32_t messageId=0, const std::string &inlineMessageId="", const std::string &caption="", const std::string &parseMode="", const std::vector< Ptr< MessageEntity > > &captionEntities=std::vector< Ptr< MessageEntity > >(), const Ptr< IReplyMarkup > &replyMarkup=nullptr, const std::string &businessConnectionId="", bool showCaptionAboveMedia=false) const
Use this method to edit captions of messages.
bool reopenGeneralForumTopic(const std::variant< std::int64_t, std::string > &chatId) const
Use this method to reopen a closed 'General' topic in a forum supergroup chat. The bot must be an adm...
Ptr< BotShortDescription > getMyShortDescription(const std::string &languageCode="") const
Use this method to get the current bot short description for the given user language.
std::vector< Ptr< Sticker > > getForumTopicIconStickers() const
Use this method to get custom emoji stickers, which can be used as a forum topic icon by any user....
cpr::Timeout getTimeout() const noexcept
Get Api requests timeout.
Ptr< Poll > stopPoll(const std::variant< std::int64_t, std::string > &chatId, std::int32_t messageId, const Ptr< IReplyMarkup > &replyMarkup=nullptr, const std::string &businessConnectionId="") const
Use this method to stop a poll which was sent by the bot.
bool setChatPhoto(const std::variant< std::int64_t, std::string > &chatId, const cpr::File &photo) const
Use this method to set a new profile photo for the chat. Photos can't be changed for private chats....
std::vector< Ptr< MessageId > > copyMessages(const std::variant< std::int64_t, std::string > &chatId, const std::variant< std::int64_t, std::string > &fromChatId, const std::vector< std::int32_t > &messageIds, std::int32_t messageThreadId=0, std::int32_t directMessagesTopicId=0, bool disableNotification=false, bool protectContent=false, bool removeCaption=false) const
Use this method to copy messages of any kind. /// If some of the specified messages can't be found or...
bool setBusinessAccountUsername(const std::string &businessConnectionId, const std::string &username="") const
Changes the first and last name of a managed business account. Requires the can_change_name business ...
void setUploadFilesTimeout(const cpr::Timeout &timeout) noexcept
Set Api file uploads timeout.
std::vector< Ptr< Update > > getUpdates(std::int32_t offset, std::int32_t limit=100) const
Use this method to receive incoming updates using long polling.
Ptr< Message > sendChecklist(const std::variant< std::int64_t, std::string > &chatId, const std::string &businessConnectionId, const Ptr< InputChecklist > &checklist, bool disableNotification=false, bool protectContent=false, const Ptr< IReplyMarkup > &replyMarkup=nullptr, const std::string &messageEffectId="", const Ptr< ReplyParameters > &replyParameters=nullptr) const
Use this method to send a checklist on behalf of a connected business account. On success,...
bool unbanChatSenderChat(const std::variant< std::int64_t, std::string > &chatId, std::int64_t senderChatId) const
Use this method to unban a previously banned channel chat in a supergroup or channel....
Ptr< Message > editMessageText(const std::string &text, const std::variant< std::int64_t, std::string > &chatId=0, std::int32_t messageId=0, const std::string &inlineMessageId="", const std::string &parseMode="", const std::vector< Ptr< MessageEntity > > &entities=std::vector< Ptr< MessageEntity > >(), const Ptr< IReplyMarkup > &replyMarkup=nullptr, const std::string &businessConnectionId="", const Ptr< LinkPreviewOptions > &linkPreviewOptions=nullptr) const
Use this method to edit text and game messages.
bool setChatMenuButton(const std::variant< std::int64_t, std::string > &chatId=std::string{}, const Ptr< MenuButton > &menuButton=nullptr) const
Use this method to change the bot's menu button in a private chat, or the default menu button.
Ptr< StickerSet > getStickerSet(const std::string &name) const
Use this method to get a sticker set. On success, a StickerSet object is returned.
bool sendChatAction(const std::variant< std::int64_t, std::string > &chatId, const std::string &action, std::int32_t messageThreadId=0, const std::string &businessConnectionId="") const
Use this method when you need to tell the user that something is happening on the bot's side....
Ptr< MenuButton > getChatMenuButton(const std::variant< std::int64_t, std::string > &chatId=std::string{}) const
Use this method to get the current value of the bot's menu button in a private chat,...
Ptr< ChatInviteLink > editChatInviteLink(const std::variant< std::int64_t, std::string > &chatId, const std::string &inviteLink, const std::string &name="", std::time_t expireDate=0, std::int32_t memberLimit=0, bool createsJoinRequest=false) const
Use this method to edit a non-primary invite link created by the bot. The bot must be an administrato...
Ptr< Message > sendGame(const std::variant< std::int64_t, std::string > &chatId, const std::string &gameShortName, std::int32_t messageThreadId=0, bool disableNotification=false, bool protectContent=false, const Ptr< ReplyParameters > &replyParameters=nullptr, const Ptr< IReplyMarkup > &replyMarkup=nullptr) const
Use this method to send a game.
bool deleteStickerSet(const std::string &name) const
Use this method to delete a sticker set that was created by the bot.
bool removeChatVerification(const std::variant< std::int64_t, std::string > &chatId) const
Removes verification from a chat that is currently verified on behalf of the organization represented...
void setTimeout(const cpr::Timeout &timeout)
Set Api requests timeout.
bool setChatDescription(const std::variant< std::int64_t, std::string > &chatId, const std::string &description="") const
Use this method to change the description of a group, a supergroup or a channel. The bot must be an a...
Ptr< StarTransactions > getStarTransactions(std::int32_t offset=0, std::int32_t limit=100) const
Returns the bot's Telegram Star transactions in chronological order. On success, returns a StarTransa...
bool setStickerSetThumbnail(const std::string &name, std::int64_t userId, const std::string &format, const std::optional< std::variant< cpr::File, std::string > > &thumbnail=std::nullopt) const
Use this method to set the thumbnail of a regular or mask sticker set. The format of the thumbnail fi...
bool pinChatMessage(const std::variant< std::int64_t, std::string > &chatId, std::int32_t messageId, bool disableNotification=false, const std::string &businessConnectionId="") const
Use this method to add a message to the list of pinned messages in a chat. If the chat is not a priva...
bool setBusinessAccountName(const std::string &businessConnectionId, const std::string &firstName, const std::string &lastName="") const
Changes the first and last name of a managed business account. Requires the can_change_name business ...
Ptr< ChatInviteLink > createChatSubscriptionInviteLink(const std::variant< std::int64_t, std::string > &chatId, std::time_t subscriptionPeriod, std::int32_t subscriptionPrice, const std::string &name="") const
Use this method to create a subscription invite link for a channel chat. The bot must have the can_in...
cpr::Timeout getDownloadFilesTimeout() const noexcept
Get Api file downloads timeout.
Ptr< ForumTopic > createForumTopic(const std::variant< std::int64_t, std::string > &chatId, const std::string &name, std::int32_t iconColor=0x000000, const std::string &iconCustomEmojiId="") const
Use this method to create a topic in a forum supergroup chat. The bot must be an administrator in the...
bool editUserStarSubscription(std::int64_t userId, const std::string &telegramPaymentChargeId, bool isCancelled) const
Allows the bot to cancel or re-enable extension of a subscription paid in Telegram Stars....
std::int32_t getChatMemberCount(const std::variant< std::int64_t, std::string > &chatId) const
Use this method to get the number of members in a chat.
bool refundStarPayment(std::int64_t userId, const std::string &telegramPaymentChargeId) const
Refunds a successful payment in Telegram Stars. Returns True on success.
bool setStickerPositionInSet(const std::string &sticker, std::int32_t position) const
Use this method to move a sticker in a set created by the bot to a specific position.
bool verifyChat(const std::variant< std::int64_t, std::string > &chatId, const std::string &customDescription="") const
Verifies a chat on behalf of the organization which is represented by the bot.
Ptr< MessageId > copyMessage(const std::variant< std::int64_t, std::string > &chatId, const std::variant< std::int64_t, std::string > &fromChatId, std::int32_t messageId, std::int32_t messageThreadId=0, const std::string &caption="", const std::string &parseMode="", const std::vector< Ptr< MessageEntity > > &captionEntities=std::vector< Ptr< MessageEntity > >(), bool disableNotification=false, bool protectContent=false, const Ptr< IReplyMarkup > &replyMarkup=nullptr, std::int32_t directMessagesTopicId=0, std::time_t videoStartTimestamp=0, bool showCaptionAboveMedia=false, bool allowPaidBroadcast=false, const Ptr< SuggestedPostParameters > &suggestedPostParameters=nullptr, const Ptr< ReplyParameters > &replyParameters=nullptr) const
Use this method to copy messages of any kind. Service messages, paid media messages,...
void setAllowedUpdates(const std::vector< std::string > &allowedUpdates) noexcept
Ptr< OwnedGifts > getBusinessAccountGifts(const std::string &businessConnectionId, bool excludeUnsaved=false, bool excludeSaved=false, bool excludeUnlimited=false, bool excludeLimited=false, bool excludeUnique=false, bool sortByPrice=false, const std::string &offset="", std::int32_t limit=100) const
Returns the gifts received and owned by a managed business account. Requires the can_view_gifts_and_s...
const cpr::Proxies & getProxies() const noexcept
Get Api requests proxy.
Ptr< ChatInviteLink > editChatSubscriptionInviteLink(const std::variant< std::int64_t, std::string > &chatId, const std::string &inviteLink, const std::string &name="") const
Use this method to edit a subscription invite link created by the bot. The bot must have the can_invi...
Api(const std::string &token)
Constructs Api object.
std::string createInvoiceLink(const std::string &title, const std::string &description, const std::string &payload, const std::string ¤cy, const std::vector< Ptr< LabeledPrice > > &prices, const std::string &businessConnectionId="", const std::string &providerToken="", std::time_t subscriptionPeriod=0, std::int32_t maxTipAmount=0, const std::vector< std::int32_t > &suggestedTipAmounts=std::vector< std::int32_t >(), const std::string &providerData="", const std::string &photoUrl="", std::int32_t photoSize=0, std::int32_t photoWidth=0, std::int32_t photoHeight=0, bool needName=false, bool needPhoneNumber=false, bool needEmail=false, bool needShippingAddress=false, bool sendPhoneNumberToProvider=false, bool sendEmailToProvider=false, bool isFlexible=false) const
Use this method to create a link for an invoice. Returns the created invoice link as std::string on s...
Ptr< BotDescription > getMyDescription(const std::string &languageCode="") const
Use this method to get the current bot description for the given user language.
Ptr< Story > postStory(const std::string &businessConnectionId, const Ptr< InputStoryContent > &content, std::time_t activePeriod, const std::string &caption="", const std::string &parseMode="", const std::vector< Ptr< MessageEntity > > &captionEntities=std::vector< Ptr< MessageEntity > >(), const std::vector< Ptr< StoryArea > > &areas=std::vector< Ptr< StoryArea > >(), bool postToChatPage=false, bool protectContent=false) const
Posts a story on behalf of a managed business account. Requires the can_manage_stories business bot r...
void setDownloadFilesTimeout(const cpr::Timeout &timeout) noexcept
Set Api file downloads timeout.
bool transferBusinessAccountStars(const std::string &businessConnectionId, std::int32_t starCount) const
Transfers Telegram Stars from the business account balance to the bot's balance. Requires the can_tra...
bool setChatPermissions(const std::variant< std::int64_t, std::string > &chatId, const Ptr< ChatPermissions > &permissions, bool useIndependentChatPermissions=false) const
Use this method to set default chat permissions for all members. The bot must be an administrator in ...
bool transferGift(const std::string &businessConnectionId, const std::string &ownedGiftId, std::int64_t newOwnerChatId, std::int32_t starCount=-1) const
Transfers an owned unique gift to another user. Requires the can_transfer_and_upgrade_gifts business ...
Ptr< Message > sendPhoto(const std::variant< std::int64_t, std::string > &chatId, const std::variant< cpr::File, std::string > &photo, std::int32_t messageThreadId=0, const std::string &caption="", const std::string &parseMode="", const std::vector< Ptr< MessageEntity > > &captionEntities=std::vector< Ptr< MessageEntity > >(), bool disableNotification=false, bool protectContent=false, const Ptr< IReplyMarkup > &replyMarkup=nullptr, const std::string &businessConnectionId="", std::int32_t directMessagesTopicId=0, bool showCaptionAboveMedia=false, bool hasSpoiler=false, bool allowPaidBroadcast=false, const std::string &messageEffectId="", const Ptr< SuggestedPostParameters > &suggestedPostParameters=nullptr, const Ptr< ReplyParameters > &replyParameters=nullptr) const
Use this method to send photos. On success, the sent Message is returned.
const std::string & getUrl() const noexcept
Get Api URL.
bool giftPremiumSubscription(std::int64_t userId, std::int32_t monthCount, std::int32_t starCount, const std::string &text="", const std::string &textParseMode="", const std::vector< Ptr< MessageEntity > > &textEntities=std::vector< Ptr< MessageEntity > >()) const
Gifts a Telegram Premium subscription to the given user.
bool deleteMessages(const std::variant< std::int64_t, std::string > &chatId, const std::vector< std::int32_t > &messageIds) const
Use this method to delete multiple messages simultaneously. If some of the specified messages can't b...
bool readBusinessMessage(const std::string &businessConnectionId, const std::variant< std::int64_t, std::string > &chatId, std::int32_t messageId) const
Marks incoming message as read on behalf of a business account. Requires the can_read_messages busine...
bool deleteWebhook(bool dropPendingUpdates=false) const
Use this method to remove webhook integration if you decide to switch back to getUpdates.
const Cache & getCache() const noexcept
Get cached data about this bot e.g: username, commands... Use this when possible to avoid unnecessary...
bool unpinAllChatMessages(const std::variant< std::int64_t, std::string > &chatId) const
Use this method to clear the list of pinned messages in a chat. If the chat is not a private chat,...
bool answerInlineQuery(const std::string &inlineQueryId, const std::vector< Ptr< InlineQueryResult > > &results, std::int32_t cacheTime=300, bool isPersonal=false, const std::string &nextOffset="", const Ptr< InlineQueryResultsButton > &button=nullptr) const
Use this method to send answers to an inline query. No more than 50 results per query are allowed.
Ptr< Message > sendDocument(const std::variant< std::int64_t, std::string > &chatId, const std::variant< cpr::File, std::string > &document, std::int32_t messageThreadId=0, const std::optional< std::variant< cpr::File, std::string > > &thumbnail=std::nullopt, const std::string &caption="", const std::string &parseMode="", const std::vector< Ptr< MessageEntity > > &captionEntities=std::vector< Ptr< MessageEntity > >(), bool disableNotification=false, bool protectContent=false, const Ptr< IReplyMarkup > &replyMarkup=nullptr, const std::string &businessConnectionId="", std::int32_t directMessagesTopicId=0, bool disableContentTypeDetection=false, bool allowPaidBroadcast=false, const std::string &messageEffectId="", const Ptr< SuggestedPostParameters > &suggestedPostParameters=nullptr, const Ptr< ReplyParameters > &replyParameters=nullptr) const
Use this method to send general files.
Ptr< Message > sendAnimation(const std::variant< std::int64_t, std::string > &chatId, const std::variant< cpr::File, std::string > &animation, std::int32_t messageThreadId=0, std::time_t duration=0, std::int32_t width=0, std::int32_t height=0, const std::optional< std::variant< cpr::File, std::string > > &thumbnail=std::nullopt, const std::string &caption="", const std::string &parseMode="", const std::vector< Ptr< MessageEntity > > &captionEntities=std::vector< Ptr< MessageEntity > >(), bool disableNotification=false, bool protectContent=false, const Ptr< IReplyMarkup > &replyMarkup=nullptr, const std::string &businessConnectionId="", std::int32_t directMessagesTopicId=0, bool allowPaidBroadcast=false, const std::string &messageEffectId="", const Ptr< SuggestedPostParameters > &suggestedPostParameters=nullptr, const Ptr< ReplyParameters > &replyParameters=nullptr) const
Use this method to send animation files (GIFs or H.264/MPEG-4 AVC videos without sound).
bool banChatSenderChat(const std::variant< std::int64_t, std::string > &chatId, std::int64_t senderChatId) const
Use this method to ban a channel chat in a supergroup or a channel. Until the chat is unbanned,...
bool unhideGeneralForumTopic(const std::variant< std::int64_t, std::string > &chatId) const
Use this method to unhide the 'General' topic in a forum supergroup chat. The bot must be an administ...
Ptr< Message > editMessageReplyMarkup(const std::variant< std::int64_t, std::string > &chatId=0, std::int32_t messageId=0, const std::string &inlineMessageId="", const Ptr< IReplyMarkup > &replyMarkup=nullptr, const std::string &businessConnectionId="") const
Use this method to edit only the reply markup of messages.
bool verifyUser(std::int64_t userId, const std::string &customDescription="") const
Verifies a user on behalf of the organization which is represented by the bot.
bool createNewStickerSet(std::int64_t userId, const std::string &name, const std::string &title, const std::vector< Ptr< InputSticker > > &stickers, const std::string &stickerType="regular", bool needsRepainting=false) const
Use this method to create a new sticker set owned by a user. The bot will be able to edit the sticker...
Ptr< ChatAdministratorRights > getMyDefaultAdministratorRights(bool forChannels=false) const
Use this method to get the current default administrator rights of the bot.
bool deleteStickerFromSet(const std::string &sticker) const
Use this method to delete a sticker from a set created by the bot.
Ptr< Message > sendAudio(const std::variant< std::int64_t, std::string > &chatId, const std::variant< cpr::File, std::string > &audio, std::int32_t messageThreadId=0, const std::string &caption="", const std::string &parseMode="", const std::vector< Ptr< MessageEntity > > &captionEntities=std::vector< Ptr< MessageEntity > >(), std::time_t duration=0, const std::string &performer="", const std::string &title="", const std::optional< std::variant< cpr::File, std::string > > &thumbnail=std::nullopt, bool disableNotification=false, bool protectContent=false, const Ptr< IReplyMarkup > &replyMarkup=nullptr, const std::string &businessConnectionId="", std::int32_t directMessagesTopicId=0, bool allowPaidBroadcast=false, const std::string &messageEffectId="", const Ptr< SuggestedPostParameters > &suggestedPostParameters=nullptr, const Ptr< ReplyParameters > &replyParameters=nullptr) const
Use this method to send audio files, if you want Telegram clients to display them in the music player...
bool setChatStickerSet(const std::variant< std::int64_t, std::string > &chatId, const std::string &stickerSetName) const
Use this method to set a new group sticker set for a supergroup. The bot must be an administrator in ...
bool unpinAllForumTopicMessages(const std::variant< std::int64_t, std::string > &chatId, std::int32_t messageThreadId) const
Use this method to clear the list of pinned messages in a forum topic. The bot must be an administrat...
bool answerShippingQuery(const std::string &shippingQueryId, bool ok, const std::vector< Ptr< ShippingOption > > &shippingOptions=std::vector< Ptr< ShippingOption > >(), const std::string &errorMessage="") const
If you sent an invoice requesting a shipping address and the parameter isFlexible was specified,...
bool setBusinessAccountBio(const std::string &businessConnectionId, const std::string &bio="") const
Changes the bio of a managed business account. Requires the can_change_bio business bot right.
std::string exportChatInviteLink(const std::variant< std::int64_t, std::string > &chatId) const
Use this method to generate a new primary invite link for a chat; any previously generated primary li...
bool setStickerSetTitle(const std::string &name, const std::string &title) const
Use this method to set the title of a created sticker set.
bool declineSuggestedPost(std::int64_t chatId, std::int32_t messageId, const std::string &comment="") const
Use this method to decline a suggested post in a direct messages chat. The bot must have the 'can_man...
bool setCustomEmojiStickerSetThumbnail(const std::string &name, const std::optional< std::string > &customEmojiId=std::nullopt) const
Use this method to set the thumbnail of a custom emoji sticker set.
Ptr< ChatInviteLink > createChatInviteLink(const std::variant< std::int64_t, std::string > &chatId, const std::string &name="", std::time_t expireDate=0, std::int32_t memberLimit=0, bool createsJoinRequest=false) const
Use this method to create an additional invite link for a chat. The bot must be an administrator in t...
bool editGeneralForumTopic(const std::variant< std::int64_t, std::string > &chatId, const std::string &name) const
Use this method to edit the name of the 'General' topic in a forum supergroup chat....
bool unpinChatMessage(const std::variant< std::int64_t, std::string > &chatId, std::int32_t messageId=0, const std::string &businessConnectionId="") const
Use this method to remove a message from the list of pinned messages in a chat. If the chat is not a ...
bool setPassportDataErrors(std::int64_t userId, const std::vector< Ptr< PassportElementError > > &errors) const
Informs a user that some of the Telegram Passport elements they provided contains errors....
bool deleteMyCommands(const Ptr< BotCommandScope > &scope=nullptr, const std::string &languageCode="") const
Use this method to delete the list of the bot's commands for the given scope and user language....
Ptr< BotName > getMyName(const std::string &languageCode="") const
Use this method to get the current bot name for the given user language.
bool replaceStickerInSet(std::int64_t userId, const std::string &name, const std::string &oldSticker, const Ptr< InputSticker > &sticker) const
Use this method to replace an existing sticker in a sticker set with a new one. The method is equival...
bool convertGiftToStars(const std::string &businessConnectionId, const std::string &ownedGiftId) const
Converts a given regular gift to Telegram Stars. Requires the can_convert_gifts_to_stars business bot...
Ptr< Message > sendVideo(const std::variant< std::int64_t, std::string > &chatId, const std::variant< cpr::File, std::string > &video, std::int32_t messageThreadId=0, std::time_t duration=0, std::int32_t width=0, std::int32_t height=0, const std::optional< std::variant< cpr::File, std::string > > &thumbnail=std::nullopt, const std::optional< std::variant< cpr::File, std::string > > &cover=std::nullopt, std::time_t startTimestamp=0, const std::string &caption="", const std::string &parseMode="", const std::vector< Ptr< MessageEntity > > &captionEntities=std::vector< Ptr< MessageEntity > >(), bool showCaptionAboveMedia=false, bool hasSpoiler=false, bool supportsStreaming=false, bool disableNotification=false, bool protectContent=false, const Ptr< IReplyMarkup > &replyMarkup=nullptr, const std::string &businessConnectionId="", std::int32_t directMessagesTopicId=0, bool allowPaidBroadcast=false, const std::string &messageEffectId="", const Ptr< SuggestedPostParameters > &suggestedPostParameters=nullptr, const Ptr< ReplyParameters > &replyParameters=nullptr) const
Use this method to send video files, if you want Telegram clients to display them as a video message.
bool editForumTopic(const std::variant< std::int64_t, std::string > &chatId, std::int32_t messageThreadId, const std::string &name, const std::optional< std::string > &iconCustomEmojiId=std::nullopt) const
Use this method to edit name and icon of a topic in a forum supergroup chat. The bot must be an admin...
Ptr< ChatInviteLink > revokeChatInviteLink(const std::variant< std::int64_t, std::string > &chatId, const std::string &inviteLink) const
Use this method to revoke an invite link created by the bot. If the primary link is revoked,...
Ptr< Message > sendPoll(const std::variant< std::int64_t, std::string > &chatId, const std::string &question, const std::vector< Ptr< InputPollOption > > &options, std::int32_t messageThreadId=0, const std::string &questionParseMode="", const std::vector< Ptr< MessageEntity > > &questionEntities=std::vector< Ptr< MessageEntity > >(), bool isAnonymous=true, const std::string &type="regular", bool allowsMultipleAnswers=false, std::int32_t correctOptionId=-1, const std::string &explanation="", const std::string &explanationParseMode="", const std::vector< Ptr< MessageEntity > > &explanationEntities=std::vector< Ptr< MessageEntity > >(), std::time_t openPeriod=0, std::time_t closeDate=0, bool isClosed=false, bool disableNotification=false, bool protectContent=false, const Ptr< IReplyMarkup > &replyMarkup=nullptr, const std::string &businessConnectionId="", bool allowPaidBroadcast=false, const std::string &messageEffectId="", const Ptr< ReplyParameters > &replyParameters=nullptr) const
Use this method to send a native poll. On success, the sent Message is returned.
std::vector< Ptr< ChatMember > > getChatAdministrators(const std::variant< std::int64_t, std::string > &chatId) const
Use this method to get a list of administrators in a chat, which aren't bots.
Ptr< Message > sendDice(const std::variant< std::int64_t, std::string > &chatId, const std::string &emoji="🎲", std::int32_t messageThreadId=0, bool disableNotification=false, bool protectContent=false, const Ptr< IReplyMarkup > &replyMarkup=nullptr, const std::string &businessConnectionId="", std::int32_t directMessagesTopicId=0, bool allowPaidBroadcast=false, const std::string &messageEffectId="", const Ptr< SuggestedPostParameters > &suggestedPostParameters=nullptr, const Ptr< ReplyParameters > &replyParameters=nullptr) const
Use this method to send an animated emoji that will display a random value. On success,...
bool closeForumTopic(const std::variant< std::int64_t, std::string > &chatId, std::int32_t messageThreadId) const
Use this method to close an open topic in a forum supergroup chat. The bot must be an administrator i...
cpr::Timeout getLongPollTimeout() const noexcept
Get long polling timeout.
bool setMyDescription(const std::string &description="", const std::string &languageCode="") const
Use this method to change the bot's description, which is shown in the chat with the bot if the chat ...
bool removeBusinessAccountProfilePhoto(const std::string &businessConnectionId, bool isPublic=false) const
Removes the current profile photo of a managed business account. Requires the can_edit_profile_photo ...
bool deleteStory(const std::string &businessConnectionId, std::int32_t storyId) const
Deletes a story previously posted by the bot on behalf of a managed business account....
const std::vector< std::string > & getAllowedUpdates() const noexcept
Get list of the update types you want your bot to receive.
Ptr< Message > editMessageLiveLocation(float latitude, float longitude, const std::variant< std::int64_t, std::string > &chatId=0, std::int32_t messageId=0, const std::string &inlineMessageId="", std::int32_t livePeriod=0, float horizontalAccuracy=0.0f, std::int32_t heading=0, std::int32_t proximityAlertRadius=0, const Ptr< IReplyMarkup > &replyMarkup=nullptr, const std::string &businessConnectionId="") const
Use this method to edit live location messages. A location can be edited until its livePeriod expires...
Ptr< Message > forwardMessage(const std::variant< std::int64_t, std::string > &chatId, const std::variant< std::int64_t, std::string > &fromChatId, std::int32_t messageId, std::int32_t messageThreadId=0, bool disableNotification=false, bool protectContent=false, std::int32_t directMessagesTopicId=0, std::time_t videoStartTimestamp=0, const Ptr< SuggestedPostParameters > &suggestedPostParameters=nullptr) const
Use this method to forward messages of any kind. Service messages and messages with protected content...
bool unpinAllGeneralForumTopicMessages(const std::variant< std::int64_t, std::string > &chatId) const
Use this method to clear the list of pinned messages in a General forum topic. The bot must be an adm...
bool approveSuggestedPost(std::int64_t chatId, std::int32_t messageId, std::time_t sendDate=0) const
Use this method to approve a suggested post in a direct messages chat. The bot must have the 'can_pos...
bool hideGeneralForumTopic(const std::variant< std::int64_t, std::string > &chatId) const
Use this method to hide the 'General' topic in a forum supergroup chat. The bot must be an administra...
std::vector< Ptr< Message > > sendMediaGroup(const std::variant< std::int64_t, std::string > &chatId, const std::vector< Ptr< InputMedia > > &media, std::int32_t messageThreadId=0, bool disableNotification=false, bool protectContent=false, const std::string &businessConnectionId="", std::int32_t directMessagesTopicId=0, bool allowPaidBroadcast=false, const std::string &messageEffectId="", const Ptr< ReplyParameters > &replyParameters=nullptr) const
Use this method to send a group of photos, videos, or documents as an album. On success,...
Ptr< StarAmount > getBusinessAccountStarBalance(const std::string &businessConnectionId) const
Returns the amount of Telegram Stars owned by a managed business account. Requires the can_view_gifts...
Ptr< File > uploadStickerFile(std::int64_t userId, const cpr::File &sticker, const std::string &stickerFormat) const
Use this method to upload a file with a sticker for later use in the createNewStickerSet and addStick...
bool deleteChatStickerSet(const std::variant< std::int64_t, std::string > &chatId) const
Use this method to delete a group sticker set from a supergroup. The bot must be an administrator in ...
cpr::Timeout getUploadFilesTimeout() const noexcept
Get Api file uploads timeout.
bool leaveChat(const std::variant< std::int64_t, std::string > &chatId) const
Use this method for your bot to leave a group, supergroup or channel.
bool setMyDefaultAdministratorRights(const Ptr< ChatAdministratorRights > &rights=nullptr, bool forChannels=false) const
Use this method to change the default administrator rights requested by the bot when it's added as an...
Ptr< ChatMember > getChatMember(const std::variant< std::int64_t, std::string > &chatId, std::int64_t userId) const
Use this method to get information about a member of a chat. The method is only guaranteed to work fo...
bool deleteMessage(const std::variant< std::int64_t, std::string > &chatId, std::int32_t messageId) const
Use this method to delete a message, including service messages, with the following limitations:
bool deleteForumTopic(const std::variant< std::int64_t, std::string > &chatId, std::int32_t messageThreadId) const
Use this method to delete a forum topic along with all its messages in a forum supergroup chat....
Ptr< Message > sendSticker(const std::variant< std::int64_t, std::string > &chatId, const std::variant< cpr::File, std::string > &sticker, std::int32_t messageThreadId=0, const std::string &emoji="", bool disableNotification=false, bool protectContent=false, const Ptr< ReplyParameters > &replyParameters=nullptr, const Ptr< IReplyMarkup > &replyMarkup=nullptr, const std::string &businessConnectionId="", std::int32_t directMessagesTopicId=0, const Ptr< LinkPreviewOptions > &linkPreviewOptions=nullptr, bool allowPaidBroadcast=false, const std::string &messageEffectId="", const Ptr< SuggestedPostParameters > &suggestedPostParameters=nullptr) const
Use this method to send static .WEBP, animated .TGS, or video .WEBM stickers. On success,...
void setProxies(const cpr::Proxies &proxies)
Set Api requests proxy.
bool sendGift(const std::string &giftId, std::int64_t userId=0, const std::variant< std::int64_t, std::string > &chatId=0, bool payForUpgrade=false, const std::string &text="", const std::string &textParseMode="", const std::vector< Ptr< MessageEntity > > &textEntities=std::vector< Ptr< MessageEntity > >()) const
Sends a gift to the given user or channel chat. The gift can't be converted to Telegram Stars by the ...
bool setStickerKeywords(const std::string &sticker, const std::vector< std::string > &keywords=std::vector< std::string >()) const
Use this method to change search keywords assigned to a regular or custom emoji sticker....
bool answerPreCheckoutQuery(const std::string &preCheckoutQueryId, bool ok, const std::string &errorMessage="") const
Once the user has confirmed their payment and shipping details, the Bot API sends the final confirmat...
std::string downloadFile(const std::string &filePath, const std::function< bool(cpr::cpr_off_t downloadTotal, cpr::cpr_off_t downloadNow)> &progressCallback=nullptr) const
Use this method to download a file from Telegram and save it in memory. For the moment,...
bool setChatAdministratorCustomTitle(const std::variant< std::int64_t, std::string > &chatId, std::int64_t userId, const std::string &customTitle) const
Use this method to set a custom title for an administrator in a supergroup promoted by the bot.
bool promoteChatMember(const std::variant< std::int64_t, std::string > &chatId, std::int64_t userId, bool isAnonymous=false, bool canManageChat=false, bool canDeleteMessages=false, bool canManageVideoChats=false, bool canRestrictMembers=false, bool canPromoteMembers=false, bool canChangeInfo=false, bool canInviteUsers=false, bool canPostMessages=false, bool canEditMessages=false, bool canPinMessages=false, bool canPostStories=false, bool canEditStories=false, bool canDeleteStories=false, bool canManageTopics=false, bool canManageDirectMessages=false) const
Use this method to promote or demote a user in a supergroup or a channel. The bot must be an administ...
void setLongPollTimeout(const cpr::Timeout &longPollTimeout)
Set long polling timeout.
void setConnectTimeout(const cpr::ConnectTimeout &timeout) noexcept
Set Api requests connection timeout.
Ptr< Message > sendContact(const std::variant< std::int64_t, std::string > &chatId, const std::string &phoneNumber, const std::string &firstName, const std::string &lastName="", const std::string &vcard="", std::int32_t messageThreadId=0, bool disableNotification=false, bool protectContent=false, const Ptr< IReplyMarkup > &replyMarkup=nullptr, const std::string &businessConnectionId="", std::int32_t directMessagesTopicId=0, bool allowPaidBroadcast=false, const std::string &messageEffectId="", const Ptr< SuggestedPostParameters > &suggestedPostParameters=nullptr, const Ptr< ReplyParameters > &replyParameters=nullptr) const
Use this method to send phone contacts. On success, the sent Message is returned.
std::vector< Ptr< Sticker > > getCustomEmojiStickers(const std::vector< std::string > &customEmojiIds) const
Use this method to get information about custom emoji stickers by their identifiers.
bool deleteBusinessMessages(const std::string &businessConnectionId, const std::vector< std::int32_t > &messageIds) const
Delete messages on behalf of a business account. Requires the can_delete_sent_messages business bot r...
bool setStickerEmojiList(const std::string &sticker, const std::vector< std::string > &emojiList) const
Use this method to change the list of emoji assigned to a regular or custom emoji sticker....
bool unbanChatMember(const std::variant< std::int64_t, std::string > &chatId, std::int64_t userId, bool onlyIfBanned=false) const
Use this method to unban a previously banned user in a supergroup or channel. The user will not retur...
Ptr< WebhookInfo > getWebhookInfo() const
Use this method to get current webhook status. Requires no parameters. On success,...
bool declineChatJoinRequest(const std::variant< std::int64_t, std::string > &chatId, std::int64_t userId) const
Use this method to decline a chat join request. The bot must be an administrator in the chat for this...
Ptr< UserProfilePhotos > getUserProfilePhotos(std::int64_t userId, std::int32_t offset=0, std::int32_t limit=100) const
Use this method to get a list of profile pictures for a user.
bool upgradeGift(const std::string &businessConnectionId, const std::string &ownedGiftId, bool keepOriginalDetails=false, std::int32_t starCount=-1) const
Upgrades a given regular gift to a unique gift. Requires the can_transfer_and_upgrade_gifts business ...
Ptr< Chat > getChat(const std::variant< std::int64_t, std::string > &chatId) const
Use this method to get up to date information about the chat (current name of the user for one-on-one...
void setUrl(const std::string &url) noexcept
Set Api URL.
bool addStickerToSet(std::int64_t userId, const std::string &name, const Ptr< InputSticker > &sticker) const
Use this method to add a new sticker to a set created by the bot. The format of the added sticker mus...
bool setStickerMaskPosition(const std::string &sticker, const Ptr< MaskPosition > &maskPosition=nullptr) const
Use this method to change the mask position of a mask sticker. The sticker must belong to a sticker s...
Ptr< UserChatBoosts > getUserChatBoosts(const std::variant< std::int64_t, std::string > &chatId, std::int64_t userId) const
Use this method to get the list of boosts added to a chat by a user. Requires administrator rights in...
Ptr< Message > sendVenue(const std::variant< std::int64_t, std::string > &chatId, float latitude, float longitude, const std::string &title, const std::string &address, std::int32_t messageThreadId=0, const std::string &foursquareId="", const std::string &foursquareType="", const std::string &googlePlaceId="", const std::string &googlePlaceType="", bool disableNotification=false, bool protectContent=false, const Ptr< IReplyMarkup > &replyMarkup=nullptr, const std::string &businessConnectionId="", std::int32_t directMessagesTopicId=0, bool allowPaidBroadcast=false, const std::string &messageEffectId="", const Ptr< SuggestedPostParameters > &suggestedPostParameters=nullptr, const Ptr< ReplyParameters > &replyParameters=nullptr) const
Use this method to send information about a venue. On success, the sent Message is returned.
Ptr< Message > sendLocation(const std::variant< std::int64_t, std::string > &chatId, float latitude, float longitude, std::int32_t messageThreadId=0, float horizontalAccuracy=0.0f, std::int32_t livePeriod=0, std::int32_t heading=0, std::int32_t proximityAlertRadius=0, bool disableNotification=false, bool protectContent=false, const Ptr< IReplyMarkup > &replyMarkup=nullptr, const std::string &businessConnectionId="", std::int32_t directMessagesTopicId=0, bool allowPaidBroadcast=false, const std::string &messageEffectId="", const Ptr< SuggestedPostParameters > &suggestedPostParameters=nullptr, const Ptr< ReplyParameters > &replyParameters=nullptr) const
Use this method to send a point on the map. On success, the sent Message is returned.
bool setBusinessAccountGiftSettings(const std::string &businessConnectionId, bool showGiftButton, const Ptr< AcceptedGiftTypes > &acceptedGiftTypes) const
Removes the current profile photo of a managed business account. Requires the can_edit_profile_photo ...
Ptr< Message > sendPaidMedia(const std::variant< std::int64_t, std::string > &chatId, std::int32_t starCount, const std::vector< Ptr< InputPaidMedia > > &media, const std::string &payload="", std::int32_t messageThreadId=0, const std::string &caption="", const std::string &parseMode="", const std::vector< Ptr< MessageEntity > > &captionEntities=std::vector< Ptr< MessageEntity > >(), bool showCaptionAboveMedia=false, bool disableNotification=false, bool protectContent=false, bool allowPaidBroadcast=false, const Ptr< IReplyMarkup > &replyMarkup=nullptr, const std::string &businessConnectionId="", std::int32_t directMessagesTopicId=0, const Ptr< SuggestedPostParameters > &suggestedPostParameters=nullptr, const Ptr< ReplyParameters > &replyParameters=nullptr) const
Use this method to send paid media. On success, an array of the sent Messages is returned.
bool banChatMember(const std::variant< std::int64_t, std::string > &chatId, std::int64_t userId, std::time_t untilDate=0, bool revokeMessages=false) const
Use this method to ban a user in a group, a supergroup or a channel. In the case of supergroups and c...
bool removeUserVerification(std::int64_t userId) const
Removes verification from a user who is currently verified on behalf of the organization represented ...
bool setMyShortDescription(const std::string &shortDescription="", const std::string &languageCode="") const
Use this method to change the bot's short description, which is shown on the bot's profile page and i...
Ptr< Message > setGameScore(std::int64_t userId, std::int32_t score, bool force=false, bool disableEditMessage=false, std::int64_t chatId=0, std::int32_t messageId=0, const std::string &inlineMessageId="") const
Use this method to set the score of the specified user in a game message.
bool approveChatJoinRequest(const std::variant< std::int64_t, std::string > &chatId, std::int64_t userId) const
Use this method to approve a chat join request. The bot must be an administrator in the chat for this...
Ptr< File > getFile(const std::string &fileId) const
Use this method to get basic information about a file and prepare it for downloading....
bool setMyCommands(const std::vector< Ptr< BotCommand > > &commands, const Ptr< BotCommandScope > &scope=nullptr, const std::string &languageCode="") const
Use this method to change the list of the bot's commands. See this manual for more details about bot ...
Ptr< Message > editMessageMedia(const Ptr< InputMedia > &media, const std::variant< std::int64_t, std::string > &chatId=0, std::int32_t messageId=0, const std::string &inlineMessageId="", const Ptr< IReplyMarkup > &replyMarkup=nullptr, const std::string &businessConnectionId="") const
Use this method to edit animation, audio, document, photo, or video messages. If a message is part of...
Ptr< Message > stopMessageLiveLocation(const std::variant< std::int64_t, std::string > &chatId=0, std::int32_t messageId=0, const std::string &inlineMessageId="", const Ptr< IReplyMarkup > &replyMarkup=nullptr, const std::string &businessConnectionId="") const
Use this method to stop updating a live location message before livePeriod expires.
bool answerCallbackQuery(const std::string &callbackQueryId, const std::string &text="", bool showAlert=false, const std::string &url="", std::time_t cacheTime=0) const
Use this method to send answers to callback queries sent from inline keyboards. The answer will be di...
Ptr< SentWebAppMessage > answerWebAppQuery(const std::string &webAppQueryId, const Ptr< InlineQueryResult > &result) const
Use this method to set the result of an interaction with a Web App and send a corresponding message o...
Ptr< User > getMe() const
A simple method for testing your bot's authentication token.
Ptr< Message > sendVideoNote(const std::variant< std::int64_t, std::string > &chatId, const std::variant< cpr::File, std::string > &videoNote, std::int32_t messageThreadId=0, std::time_t duration=0, std::int32_t length=0, const std::optional< std::variant< cpr::File, std::string > > &thumbnail=std::nullopt, bool disableNotification=false, bool protectContent=false, const Ptr< IReplyMarkup > &replyMarkup=nullptr, const std::string &businessConnectionId="", std::int32_t directMessagesTopicId=0, bool allowPaidBroadcast=false, const std::string &messageEffectId="", const Ptr< SuggestedPostParameters > &suggestedPostParameters=nullptr, const Ptr< ReplyParameters > &replyParameters=nullptr) const
Use this method to send video notes. On success, the sent Message is returned. As of v....
std::vector< Ptr< GameHighScore > > getGameHighScores(std::int64_t userId, std::int64_t chatId=0, std::int32_t messageId=0, const std::string &inlineMessageId="") const
Use this method to get data for high score tables.
Ptr< Story > editStory(const std::string &businessConnectionId, std::int32_t storyId, const Ptr< InputStoryContent > &content, const std::string &caption="", const std::string &parseMode="", const std::vector< Ptr< MessageEntity > > &captionEntities=std::vector< Ptr< MessageEntity > >(), const std::vector< Ptr< StoryArea > > &areas=std::vector< Ptr< StoryArea > >()) const
Edits a story previously posted by the bot on behalf of a managed business account....
bool closeGeneralForumTopic(const std::variant< std::int64_t, std::string > &chatId) const
Use this method to close an open 'General' topic in a forum supergroup chat. The bot must be an admin...
bool close() const
Use this method to close the bot instance before moving it from one local server to another....
Ptr< Message > sendInvoice(const std::variant< std::int64_t, std::string > &chatId, const std::string &title, const std::string &description, const std::string &payload, const std::string ¤cy, const std::vector< Ptr< LabeledPrice > > &prices, const std::string &providerToken="", std::int32_t messageThreadId=0, std::int32_t maxTipAmount=0, const std::vector< std::int32_t > &suggestedTipAmounts=std::vector< std::int32_t >(), const std::string &startParameter="", const std::string &providerData="", const std::string &photoUrl="", std::int32_t photoSize=0, std::int32_t photoWidth=0, std::int32_t photoHeight=0, bool needName=false, bool needPhoneNumber=false, bool needEmail=false, bool needShippingAddress=false, bool sendPhoneNumberToProvider=false, bool sendEmailToProvider=false, bool isFlexible=false, bool disableNotification=false, bool protectContent=false, bool allowPaidBroadcast=false, const std::string &messageEffectId="", const Ptr< SuggestedPostParameters > &suggestedPostParameters=nullptr, const Ptr< IReplyMarkup > &replyMarkup=nullptr) const
Use this method to send invoices.
std::vector< Ptr< MessageId > > forwardMessages(const std::variant< std::int64_t, std::string > &chatId, const std::variant< std::int64_t, std::string > &fromChatId, const std::vector< std::int32_t > &messageIds, std::int32_t messageThreadId=0, bool disableNotification=false, bool protectContent=false, std::int32_t directMessagesTopicId=0) const
Use this method to forward multiple messages of any kind. If some of the specified messages can't be ...
bool setMyName(const std::string &name="", const std::string &languageCode="") const
Use this method to change the bot's name.
bool reopenForumTopic(const std::variant< std::int64_t, std::string > &chatId, std::int32_t messageThreadId) const
Use this method to reopen a closed topic in a forum supergroup chat. The bot must be an administrator...
Ptr< Message > editMessageChecklist(std::int64_t chatId, std::int32_t messageId, const Ptr< InputChecklist > &checklist, const std::string &businessConnectionId, const Ptr< IReplyMarkup > &replyMarkup=nullptr) const
Use this method to edit a checklist on behalf of a connected business account. On success,...
Ptr< Message > sendVoice(const std::variant< std::int64_t, std::string > &chatId, const std::variant< cpr::File, std::string > &voice, std::int32_t messageThreadId=0, const std::string &caption="", const std::string &parseMode="", const std::vector< Ptr< MessageEntity > > &captionEntities=std::vector< Ptr< MessageEntity > >(), std::time_t duration=0, bool disableNotification=false, bool protectContent=false, const Ptr< IReplyMarkup > &replyMarkup=nullptr, const std::string &businessConnectionId="", std::int32_t directMessagesTopicId=0, bool allowPaidBroadcast=false, const std::string &messageEffectId="", const Ptr< SuggestedPostParameters > &suggestedPostParameters=nullptr, const Ptr< ReplyParameters > &replyParameters=nullptr) const
Use this method to send audio files as voice messages. On success, the sent Message is returned.
bool setWebhook(const std::string &url, const std::optional< cpr::File > &certificate=std::nullopt, const std::string &ipAddress="", std::int32_t maxConnections=40, const std::vector< std::string > &allowedUpdates=std::vector< std::string >(), bool dropPendingUpdates=false, const std::string &secretToken="") const
Use this method to specify a URL and receive incoming updates via an outgoing webhook....
cpr::ConnectTimeout getConnectTimeout() const noexcept
Get Api requests connection timeout.
Ptr< Message > sendMessage(const std::variant< std::int64_t, std::string > &chatId, const std::string &text, std::int32_t messageThreadId=0, const std::string &parseMode="", const std::vector< Ptr< MessageEntity > > &entities=std::vector< Ptr< MessageEntity > >(), bool disableNotification=false, bool protectContent=false, const Ptr< IReplyMarkup > &replyMarkup=nullptr, const std::string &businessConnectionId="", std::int32_t directMessagesTopicId=0, const Ptr< LinkPreviewOptions > &linkPreviewOptions=nullptr, bool allowPaidBroadcast=false, const std::string &messageEffectId="", const Ptr< SuggestedPostParameters > &suggestedPostParameters=nullptr, const Ptr< ReplyParameters > &replyParameters=nullptr) const
Use this method to send text messages. On success, the sent Message is returned.
bool setMessageReaction(const std::variant< std::int64_t, std::string > &chatId, std::int32_t messageId, const std::vector< Ptr< ReactionType > > &reaction=std::vector< Ptr< ReactionType > >(), bool isBig=false) const
Use this method to change the chosen reactions on a message. Service messages can't be reacted to....
bool deleteChatPhoto(const std::variant< std::int64_t, std::string > &chatId) const
Use this method to delete a chat photo. Photos can't be changed for private chats....
bool restrictChatMember(const std::variant< std::int64_t, std::string > &chatId, std::int64_t userId, const Ptr< ChatPermissions > &permissions, bool useIndependentChatPermissions=false, std::time_t untilDate=0) const
Use this method to restrict a user in a supergroup. The bot must be an administrator in the supergrou...
Ptr< StarAmount > getMyStarBalance() const
A method to get the current Telegram Stars balance of the bot. Requires no parameters....
This object describes the types of gifts that can be gifted to a user or a chat. https://core....
This object represents a bot command. https://core.telegram.org/bots/api#botcommand.
Base class of all bot commands scopes This object represents the scope to which bot commands are appl...
This object represents the bot's description. https://core.telegram.org/bots/api#botdescription.
This object represents the bot's name. https://core.telegram.org/bots/api#botname.
This object represents the bot's short description. https://core.telegram.org/bots/api#botshortdescri...
Represents the rights of an administrator in a chat. https://core.telegram.org/bots/api#chatadministr...
This object represents a chat. https://core.telegram.org/bots/api#chat.
Represents an invite link for a chat. https://core.telegram.org/bots/api#chatinvitelink.
The base class of all chat members objects. This object contains information about one member of a ch...
Describes actions that a non-administrator user is allowed to take in a chat. https://core....
This object represents a file ready to be downloaded.
This object represents a forum topic. https://core.telegram.org/bots/api#forumtopic.
This object represents one row of the high scores table for a game. https://core.telegram....
This object represents a list of gifts. https://core.telegram.org/bots/api#gifts.
The interface of reply markup objects InlineKeyboardMarkup, ReplyKeyboardMarkup, ReplyKeyboardRemove ...
Base class of all inline query results This object represents one result of an inline query....
Base class for story content to post https://core.telegram.org/bots/api#inputstorycontentphoto.
This object represents a portion of the price for goods or services. https://core....
Describes the options used for link preview generation. https://core.telegram.org/bots/api#linkprevie...
This object describes the position on faces where a mask should be placed by default....
This object represents one special entity in a text message. For example, hashtags,...
This object represents a message. https://core.telegram.org/bots/api#message.
This object represents a unique message identifier. https://core.telegram.org/bots/api#messageid.
Contains the list of gifts received and owned by a user or a chat. https://core.telegram....
This object represents an error in the Telegram Passport element which was submitted that should be r...
This object contains information about a poll. https://core.telegram.org/bots/api#poll.
This object describes the type of a reaction. Currently, it can be one of:
Describes reply parameters for the message that is being sent. https://core.telegram....
Describes an inline message sent by a Web App on behalf of a user. https://core.telegram....
This object represents one shipping option. https://core.telegram.org/bots/api#shippingoption.
Describes an amount of Telegram Stars. https://core.telegram.org/bots/api#staramount.
Contains a list of Telegram Star transactions. https://core.telegram.org/bots/api#startransactions.
This object represents a sticker. https://core.telegram.org/bots/api#sticker.
This object represents a sticker set. https://core.telegram.org/bots/api#stickerset.
Describes a clickable area on a story media https://core.telegram.org/bots/api#storyarea.
This object represents a story. . https://core.telegram.org/bots/api#story.
Contains parameters of a post that is being suggested by the bot. https://core.telegram....
This object represents an incoming update. At most one of the optional parameters can be present in a...
This object represents a list of boosts added to a chat by a user. https://core.telegram....
This object represents a Telegram user or bot. https://core.telegram.org/bots/api#user.
This object represent a user's profile pictures. https://core.telegram.org/bots/api#userprofilephotos...
Describes the current status of a webhook. https://core.telegram.org/bots/api#webhookinfo.