From fa3a6e090fff840872e106c79823e9a4a845ec1d Mon Sep 17 00:00:00 2001 From: Elmurod Talipov Date: Sun, 13 Nov 2022 00:13:53 +0900 Subject: [PATCH 01/12] Refactor code for readability Signed-off-by: Elmurod Talipov --- include/telebot-core.h | 869 ++++++++++++------------ include/telebot-parser.h | 2 +- include/telebot-private.h | 36 + include/telebot-types.h | 2 +- src/telebot-core.c | 1335 +++++++++++++++---------------------- src/telebot-parser.c | 11 +- src/telebot.c | 1087 +++++++++++++++--------------- 7 files changed, 1555 insertions(+), 1787 deletions(-) diff --git a/include/telebot-core.h b/include/telebot-core.h index 0938e87..892e469 100644 --- a/include/telebot-core.h +++ b/include/telebot-core.h @@ -23,7 +23,8 @@ #include #ifdef __cplusplus -extern "C" { +extern "C" +{ #endif /** @@ -45,21 +46,36 @@ extern "C" { */ /** - * @brief This object represents a core telebot handler. + * @brief Telebot core handler opaque type. */ -typedef struct telebot_core_handler { - char *token; /**< Telegam bot token */ - char *proxy_addr; - char *proxy_auth; -} telebot_core_handler_t; +typedef struct telebot_core_handler *telebot_core_handler_t; /** - * @brief This object represents a telegram bot response. + * @brief Telebot core respone opaque type. */ -typedef struct telebot_core_response { - size_t size; /**< Telegam bot response size */ - char *data; /**< Telegam bot response object */ -} telebot_core_response_t; +typedef struct telebot_core_response *telebot_core_response_t; + +/** + * @brief Get response error code. + * @param[in] response Response to get its error code. + * @return on For successful responses TELEBOT_ERROR_NONE is returned, + * otherwise a negative error value @see #telebot_error_e + */ +telebot_error_e telebot_core_get_response_code(telebot_core_response_t response); + +/** + * @brief Get response data. + * @param[in] response Response to get its data. + * @return on For successful responses null terminated string is returned, + * otherwise NULL. + */ +const char *telebot_core_get_response_data(telebot_core_response_t response); + +/** + * @brief Release response data obtained with telebot core methods. + * @param[in] response Response to release. + */ +void telebot_core_put_response(telebot_core_response_t response); /** * @brief Start function to use telebot core APIs. @@ -67,12 +83,12 @@ typedef struct telebot_core_response { * This function must be used first to call, and it creates handler that is used * as input to other functions in telebot core interface. This call MUST have * corresponding call to #telebot_core_destroy when operation is complete. - * @param core_h[in,out] A pointer to a handler, which will be allocated and created. + * @param core_h[out] A pointer to a handler, which will be allocated and created. * Obtained handler MUST be released with #telebot_core_destroy() * @param token[in] Telegram bot token to use. * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. */ -telebot_error_e telebot_core_create(telebot_core_handler_t **core_h, const char *token); +telebot_error_e telebot_core_create(telebot_core_handler_t *core_h, const char *token); /** * @brief Final function to use telebot core APIs @@ -84,7 +100,7 @@ telebot_error_e telebot_core_create(telebot_core_handler_t **core_h, const char * @param[in,out] core_h The A pointer to telebot core handler created with #telebot_core_create(). * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. */ -telebot_error_e telebot_core_destroy(telebot_core_handler_t **core_h); +telebot_error_e telebot_core_destroy(telebot_core_handler_t *core_h); /** * @brief Set proxy address to use telebot behind proxy @@ -94,7 +110,7 @@ telebot_error_e telebot_core_destroy(telebot_core_handler_t **core_h); * @param[in] auth Proxy authorization informatio. * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. */ -telebot_error_e telebot_core_set_proxy(telebot_core_handler_t *core_h, const char *addr, +telebot_error_e telebot_core_set_proxy(telebot_core_handler_t core_h, const char *addr, const char *auth); /** @@ -104,7 +120,7 @@ telebot_error_e telebot_core_set_proxy(telebot_core_handler_t *core_h, const cha * @param[out] addr Current proxy address or NULL, MUST be freed after use. * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. */ -telebot_error_e telebot_core_get_proxy(telebot_core_handler_t *core_h, char **addr); +telebot_error_e telebot_core_get_proxy(telebot_core_handler_t core_h, char **addr); /** * @brief Receive incoming updates (long polling). It will not work if an outgoing @@ -122,12 +138,13 @@ telebot_error_e telebot_core_get_proxy(telebot_core_handler_t *core_h, char **ad * short polling. * @param[in] allowed_updates List the types of update you want your bot to receive. * Specify an empty list to receive all updates regardless of type (default). - * @param[out] response Response data, MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains updates, + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_get_updates(telebot_core_handler_t *core_h, int offset, - int limit, int timeout, const char *allowed_updates, - telebot_core_response_t *response); +telebot_core_response_t telebot_core_get_updates(telebot_core_handler_t core_h, + int offset, int limit, int timeout, const char *allowed_updates); /** * @brief Specify a url and receive incoming updates via an outgoing webhook. @@ -145,39 +162,45 @@ telebot_error_e telebot_core_get_updates(telebot_core_handler_t *core_h, int off * @param[in] allowed_updates List the types of updates you want your bot to * receive. For example, specify ["message", "edited_channel_post", * "callback_query"] to only receive updates of these types. - * @param[out] response Response data, MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the result (true/false), + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_set_webhook(telebot_core_handler_t *core_h, const char *url, - const char *certificate, int max_connections, const char *allowed_updates, - telebot_core_response_t *response); +telebot_core_response_t telebot_core_set_webhook(telebot_core_handler_t core_h, + const char *url, const char *certificate, int max_connections, + const char *allowed_updates); /** * @brief Remove webhook integration if you decide to switch back to getUpdates. * @param[in] core_h The telebot core handler created with #telebot_core_create(). - * @param[out] response Response data, MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the result (true/false), + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_delete_webhook(telebot_core_handler_t *core_h, - telebot_core_response_t *response); +telebot_core_response_t telebot_core_delete_webhook(telebot_core_handler_t core_h); /** * @brief Get current webhook status. * @param[in] core_h The telebot core handler created with #telebot_core_create(). - * @param[out] response Response data, MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains webhook information, + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_get_webhook_info(telebot_core_handler_t *core_h, - telebot_core_response_t *response); +telebot_core_response_t telebot_core_get_webhook_info(telebot_core_handler_t core_h); /** * @brief Get basic information about the bot. * @param[in] core_h The telebot core handler created with #telebot_core_create(). * @param[out] response Response data, MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains bot information, + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_get_me(telebot_core_handler_t *core_h, - telebot_core_response_t *response); +telebot_core_response_t telebot_core_get_me(telebot_core_handler_t core_h); /** * @brief Send text messages. @@ -193,14 +216,15 @@ telebot_error_e telebot_core_get_me(telebot_core_handler_t *core_h, * @param[in] reply_to_message_id If the message is a reply, ID of the original message. * @param[in] reply_markup Additional interface options. An object for a custom * reply keyboard, instructions to hide keyboard or to force a reply from the user. - * @param[out] response Response data that contains the sent message on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the sent message, + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_send_message(telebot_core_handler_t *core_h, +telebot_core_response_t telebot_core_send_message(telebot_core_handler_t core_h, long long int chat_id, const char *text, const char *parse_mode, - bool disable_web_page_preview, bool disable_notification, int reply_to_message_id, - const char *reply_markup, telebot_core_response_t *response); + bool disable_web_page_preview, bool disable_notification, + int reply_to_message_id, const char *reply_markup); /** * @brief Forward messages of any kind. @@ -212,13 +236,14 @@ telebot_error_e telebot_core_send_message(telebot_core_handler_t *core_h, * @param[in] disable_notification Sends the message silently. Users will receive a * notification with no sound. * @param[in] message_id Unique message identifier. - * @param[out] response Response data that contains the sent message on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the sent message, + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_forward_message(telebot_core_handler_t *core_h, +telebot_core_response_t telebot_core_forward_message(telebot_core_handler_t core_h, long long int chat_id, long long int from_chat_id, bool disable_notification, - int message_id, telebot_core_response_t *response); + int message_id); /** * @brief Send photos. @@ -237,14 +262,15 @@ telebot_error_e telebot_core_forward_message(telebot_core_handler_t *core_h, * @param[in] reply_markup Additional interface options. An object for a custom * reply keyboard, instructions to hide keyboard or to force a reply from * the user. - * @param[out] response Response data that contains the sent message on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the sent message, + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_send_photo(telebot_core_handler_t *core_h, +telebot_core_response_t telebot_core_send_photo(telebot_core_handler_t core_h, long long int chat_id, const char *photo, bool is_file, const char *caption, const char *parse_mode, bool disable_notification, int reply_to_message_id, - const char *reply_markup, telebot_core_response_t *response); + const char *reply_markup); /** * @brief Send audio files. if you want Telegram clients to display them in the @@ -275,15 +301,16 @@ telebot_error_e telebot_core_send_photo(telebot_core_handler_t *core_h, * @param[in] reply_to_message_id If the message is a reply, ID of the original message. * @param[in] reply_markup Additional interface options. An object for a custom reply * keyboard, instructions to hide keyboard or to force a reply from the user. - * @param[out] response Response data that contains the sent message on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the sent message, + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_send_audio(telebot_core_handler_t *core_h, +telebot_core_response_t telebot_core_send_audio(telebot_core_handler_t core_h, long long int chat_id, const char *audio, bool is_file, const char *caption, const char *parse_mode, int duration, const char *performer, const char *title, const char *thumb, bool disable_notification, int reply_to_message_id, - const char *reply_markup, telebot_core_response_t *response); + const char *reply_markup); /** * @brief Send general files. @@ -305,15 +332,15 @@ telebot_error_e telebot_core_send_audio(telebot_core_handler_t *core_h, * @param[in] reply_to_message_id If the message is a reply, ID of the original message. * @param[in] reply_markup Additional interface options. An object for a custom reply * keyboard, instructions to hide keyboard or to force a reply from the user. - * @param[out] response Response data that contains the sent message on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the sent message, + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_send_document(telebot_core_handler_t *core_h, +telebot_core_response_t telebot_core_send_document(telebot_core_handler_t core_h, long long int chat_id, const char *document, bool is_file, const char *thumb, const char *caption, const char *parse_mode, bool disable_notification, - int reply_to_message_id, const char *reply_markup, - telebot_core_response_t *response); + int reply_to_message_id, const char *reply_markup); /** * @brief Send video files, Telegram clients support mp4 videos (other formats @@ -340,16 +367,16 @@ telebot_error_e telebot_core_send_document(telebot_core_handler_t *core_h, * @param[in] reply_to_message_id If the message is a reply, ID of the original message. * @param[in] reply_markup Additional interface options. An object for a custom reply * keyboard, instructions to hide keyboard or to force a reply from the user. - * @param[out] response Response data that contains the sent message on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the sent message, + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_send_video(telebot_core_handler_t *core_h, +telebot_core_response_t telebot_core_send_video(telebot_core_handler_t core_h, long long int chat_id, const char *video, bool is_file, int duration, int width, int height, const char *thumb, const char *caption, const char *parse_mode, bool supports_streaming, bool disable_notification, - int reply_to_message_id, const char *reply_markup, - telebot_core_response_t *response); + int reply_to_message_id, const char *reply_markup); /** * @brief Send animation files (GIF or H.264/MPEG-4 AVC without sound). @@ -373,15 +400,16 @@ telebot_error_e telebot_core_send_video(telebot_core_handler_t *core_h, * @param[in] reply_to_message_id If the message is a reply, ID of the original message. * @param[in] reply_markup Additional interface options. An object for a custom reply * keyboard, instructions to hide keyboard or to force a reply from the user. - * @param[out] response Response data that contains the sent message on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the sent message, + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_send_animation(telebot_core_handler_t *core_h, +telebot_core_response_t telebot_core_send_animation(telebot_core_handler_t core_h, long long int chat_id, const char *animation, bool is_file, int duration, int width, int height, const char *thumb, const char *caption, const char *parse_mode, bool disable_notification, int reply_to_message_id, - const char *reply_markup, telebot_core_response_t *response); + const char *reply_markup); /** * @brief Send audio files, if you want Telegram clients to display the file as @@ -401,15 +429,15 @@ telebot_error_e telebot_core_send_animation(telebot_core_handler_t *core_h, * @param[in] reply_to_message_id If the message is a reply, ID of the original message. * @param[in] reply_markup Additional interface options. An object for a custom reply * keyboard, instructions to hide keyboard or to force a reply from the user. - * @param[out] response Response data that contains the sent message on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the sent message, + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_send_voice(telebot_core_handler_t *core_h, +telebot_core_response_t telebot_core_send_voice(telebot_core_handler_t core_h, long long int chat_id, const char *voice, bool is_file, const char *caption, const char *parse_mode, int duration, bool disable_notification, - int reply_to_message_id, const char *reply_markup, - telebot_core_response_t *response); + int reply_to_message_id, const char *reply_markup); /** * @brief Send video messages. As of v.4.0, Telegram clients support rounded square @@ -431,14 +459,15 @@ telebot_error_e telebot_core_send_voice(telebot_core_handler_t *core_h, * @param[in] reply_to_message_id If the message is a reply, ID of the original message. * @param[in] reply_markup Additional interface options. An object for a custom reply * keyboard, instructions to hide keyboard or to force a reply from the user. - * @param[out] response Response data that contains the sent message on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the sent message, + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_send_video_note(telebot_core_handler_t *core_h, +telebot_core_response_t telebot_core_send_video_note(telebot_core_handler_t core_h, long long int chat_id, char *video_note, bool is_file, int duration, int length, const char *thumb, bool disable_notification, int reply_to_message_id, - const char *reply_markup, telebot_core_response_t *response); + const char *reply_markup); /** * @brief Send a group of photos as an album. @@ -475,14 +504,14 @@ telebot_error_e telebot_core_send_media_group( * @param[in] reply_to_message_id If the message is a reply, ID of the original message. * @param[in] reply_markup Additional interface options. An object for a custom reply * keyboard, instructions to hide keyboard or to force a reply from the user. - * @param[out] response Response data that contains the sent message on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the sent message, + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_send_location(telebot_core_handler_t *core_h, +telebot_core_response_t telebot_core_send_location(telebot_core_handler_t core_h, long long int chat_id, float latitude, float longitude, int live_period, - bool disable_notification, int reply_to_message_id, const char *reply_markup, - telebot_core_response_t *response); + bool disable_notification, int reply_to_message_id, const char *reply_markup); /** * @brief Edit live location messages sent by the bot or via the bot (for inline @@ -498,14 +527,14 @@ telebot_error_e telebot_core_send_location(telebot_core_handler_t *core_h, * @param[in] latitude Latitude of location. * @param[in] longitude Longitude of location. * @param[in] reply_markup A JSON-serialized object for a new inline keyboard. - * @param[out] response Response data that contains the sent message on success. - * Otherwise, True is returned. It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the result (true/false), + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_edit_message_live_location(telebot_core_handler_t *core_h, +telebot_core_response_t telebot_core_edit_message_live_location(telebot_core_handler_t core_h, long long int chat_id, int message_id, const char *inline_message_id, - float latitude, float longitude, const char *reply_markup, - telebot_core_response_t *response); + float latitude, float longitude, const char *reply_markup); /** * @brief Stop updating a live location message sent by the bot or via the bot @@ -518,13 +547,14 @@ telebot_error_e telebot_core_edit_message_live_location(telebot_core_handler_t * * @param[in] inline_message_id Required if chat_id and message_id are not * specified. Identifier of the inline message. * @param[in] reply_markup A JSON-serialized object for a new inline keyboard. - * @param[out] response Response data that contains the sent message on success. - * Otherwise, True is returned. It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the result (true/false), + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_stop_message_live_location(telebot_core_handler_t *core_h, +telebot_core_response_t telebot_core_stop_message_live_location(telebot_core_handler_t core_h, long long int chat_id, int message_id, char *inline_message_id, - const char *reply_markup, telebot_core_response_t *response); + const char *reply_markup); /** * @brief Send information about a venue. @@ -543,15 +573,15 @@ telebot_error_e telebot_core_stop_message_live_location(telebot_core_handler_t * * @param[in] reply_markup Additional interface options. A JSON-serialized * object for an inline keyboard, custom reply keyboard, instructions to remove * reply keyboard or to force a reply from the user. - * @param[out] response Response data that contains the sent message on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains sent messageß, + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_send_venue(telebot_core_handler_t *core_h, +telebot_core_response_t telebot_core_send_venue(telebot_core_handler_t core_h, long long int chat_id, float latitude, float longitude, const char *title, const char *address, const char *foursquare_id, const char *foursquare_type, - bool disable_notification, int reply_to_message_id, const char *reply_markup, - telebot_core_response_t *response); + bool disable_notification, int reply_to_message_id, const char *reply_markup); /** * @brief Send phone contacts. @@ -568,15 +598,15 @@ telebot_error_e telebot_core_send_venue(telebot_core_handler_t *core_h, * @param[in] reply_markup Additional interface options. A JSON-serialized * object for an inline keyboard, custom reply keyboard, instructions to remove * reply keyboard or to force a reply from the user. - * @param[out] response Response data that contains the sent message on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains sent message, + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_send_contact(telebot_core_handler_t *core_h, +telebot_core_response_t telebot_core_send_contact(telebot_core_handler_t core_h, long long int chat_id, const char *phone_number, const char *first_name, const char *last_name, const char *vcard, bool disable_notification, - int reply_to_message_id, const char *reply_markup, - telebot_core_response_t *response); + int reply_to_message_id, const char *reply_markup); /** * @brief Send a native poll. @@ -600,16 +630,16 @@ telebot_error_e telebot_core_send_contact(telebot_core_handler_t *core_h, * @param[in] reply_markup Additional interface options. A JSON-serialized * object for an inline keyboard, custom reply keyboard, instructions to remove * reply keyboard or to force a reply from the user. - * @param[out] response Response data that contains the sent message on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains sent message, + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_send_poll(telebot_core_handler_t *core_h, +telebot_core_response_t telebot_core_send_poll(telebot_core_handler_t core_h, long long int chat_id, const char *question, const char *options, bool is_anonymous, const char *type, bool allows_multiple_answers, int correct_option_id, bool is_closed, bool disable_notification, - int reply_to_message_id, const char *reply_markup, - telebot_core_response_t *response); + int reply_to_message_id, const char *reply_markup); /** * @brief Send a dice, which will have a random value from 1 to 6. @@ -622,153 +652,157 @@ telebot_error_e telebot_core_send_poll(telebot_core_handler_t *core_h, * @param[in] reply_markup Additional interface options. A JSON-serialized * object for an inline keyboard, custom reply keyboard, instructions to remove * reply keyboard or to force a reply from the user. - * @param[out] response Response data that contains the sent message on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains sent message, + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_send_dice(telebot_core_handler_t *core_h, +telebot_core_response_t telebot_core_send_dice(telebot_core_handler_t core_h, long long int chat_id, bool disable_notification, - int reply_to_message_id, const char *reply_markup, - telebot_core_response_t *response); - -/** - * @brief Tell the user that something is happening on the bot's side. The status - * is set for 5 seconds or less (when a message arrives from your bot, Telegram - * clients clear its typing status). Example: The ImageBot needs some time to process - * a request and upload the image. Instead of sending a text message along the lines - * of "Retrieving image, please wait…", the bot may use #telebot_core_send_chat_action() - * with action = upload_photo. The user will see a "sending photo" status for the bot. - * It is only recommended to use when a response from the bot will take a noticeable - * amount of time to arrive. - * @param[in] core_h The telebot core handler created with #telebot_core_create(). - * @param[in] chat_id Unique identifier for the target chat or username of the - * target channel (in the format \@channelusername) - * @param[in] action Type of action to broadcast. Choose one, depending on what the - * user is about to receive: typing for text messages, upload_photo for photos, - * record_video or upload_video for videos, record_audio or upload_audio for - * audio files, upload_document for general files, find_location for location - * data. - * @param[out] response Response data that contains "True" on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. - */ -telebot_error_e telebot_core_send_chat_action(telebot_core_handler_t *core_h, - long long int chat_id, const char *action, telebot_core_response_t *response); - -/** - * @brief Get user profile pictures object - * @param[in] core_h The telebot core handler created with #telebot_core_create(). - * @param[in] user_id Unique identifier of the target user. - * @param[in] offset Sequential number of the first photo to be returned. By default, - * all photos are returned. - * @param[in] limit Limits the number of photos to be retrieved. Values between - * 1—100 are accepted. Defaults to 100. - * @param[out] response Response data that contains user's profile photos on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. - */ -telebot_error_e telebot_core_get_user_profile_photos(telebot_core_handler_t *core_h, - int user_id, int offset, int limit, telebot_core_response_t *response); - -/** - * @brief Get basic info about a file and prepare it for - * downloading. For the moment, bots can download files of up to 20MB in size. - * @param[in] core_h The telebot core handler created with #telebot_core_create(). - * @param[in] file_id File identifier to get info about. - * @param[out] response Response data that contains file object on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. - */ -telebot_error_e telebot_core_get_file(telebot_core_handler_t *core_h, const char *file_id, - telebot_core_response_t *response); - -/** - * @brief Download file using file_path obtained with - * telebot_core_get_file(). It is guaranteed that the link will be valid for - * at least 1 hour. When the link expires, a new one can be requested by - * calling telebot_core_get_file() again. - * @param[in] core_h The telebot core handler created with #telebot_core_create(). - * @param[in] file_path A file path take from the response of telebot_core_get_file() - * @param[in] out_file Full path to download and save file. - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative - * error value. No response, i.e., core_h->resp_data contains nothing. - */ -telebot_error_e telebot_core_download_file(telebot_core_handler_t *core_h, + int reply_to_message_id, const char *reply_markup); + +/** +* @brief Tell the user that something is happening on the bot's side. The status +* is set for 5 seconds or less (when a message arrives from your bot, Telegram +* clients clear its typing status). Example: The ImageBot needs some time to process +* a request and upload the image. Instead of sending a text message along the lines +* of "Retrieving image, please wait…", the bot may use #telebot_core_send_chat_action() +* with action = upload_photo. The user will see a "sending photo" status for the bot. +* It is only recommended to use when a response from the bot will take a noticeable +* amount of time to arrive. +* @param[in] core_h The telebot core handler created with #telebot_core_create(). +* @param[in] chat_id Unique identifier for the target chat or username of the +* target channel (in the format \@channelusername) +* @param[in] action Type of action to broadcast. Choose one, depending on what the +* user is about to receive: typing for text messages, upload_photo for photos, +* record_video or upload_video for videos, record_audio or upload_audio for +* audio files, upload_document for general files, find_location for location +* data. +* @return #telebot_core_response_t response that contains sent message, +* which MUST be released with #telebot_core_put_response(), or null if allocation fails. +* Response code should be checked with #teleobot_core_get_response_code(), +* before getting data with #telebot_core_get_response_data(). +*/ +telebot_core_response_t telebot_core_send_chat_action(telebot_core_handler_t core_h, + long long int chat_id, const char *action); + +/** +* @brief Get user profile pictures object +* @param[in] core_h The telebot core handler created with #telebot_core_create(). +* @param[in] user_id Unique identifier of the target user. +* @param[in] offset Sequential number of the first photo to be returned. By default, +* all photos are returned. +* @param[in] limit Limits the number of photos to be retrieved. Values between +* 1—100 are accepted. Defaults to 100. +* @return #telebot_core_response_t response that contains user profile photos, +* which MUST be released with #telebot_core_put_response(), or null if allocation fails. +* Response code should be checked with #teleobot_core_get_response_code(), +* before getting data with #telebot_core_get_response_data(). +*/ +telebot_core_response_t telebot_core_get_user_profile_photos(telebot_core_handler_t core_h, + int user_id, int offset, int limit); + +/** +* @brief Get basic info about a file and prepare it for +* downloading. For the moment, bots can download files of up to 20MB in size. +* @param[in] core_h The telebot core handler created with #telebot_core_create(). +* @param[in] file_id File identifier to get info about. +* @return #telebot_core_response_t response that contains file object, +* which MUST be released with #telebot_core_put_response(), or null if allocation fails. +* Response code should be checked with #teleobot_core_get_response_code(), +* before getting data with #telebot_core_get_response_data(). +*/ +telebot_core_response_t telebot_core_get_file(telebot_core_handler_t core_h, const char *file_id); + +/** +* @brief Download file using file_path obtained with +* telebot_core_get_file(). It is guaranteed that the link will be valid for +* at least 1 hour. When the link expires, a new one can be requested by +* calling telebot_core_get_file() again. +* @param[in] core_h The telebot core handler created with #telebot_core_create(). +* @param[in] file_path A file path take from the response of telebot_core_get_file() +* @param[in] out_file Full path to download and save file. +* @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative +* error value. No response, i.e., core_h->resp_data contains nothing. +*/ +telebot_error_e telebot_core_download_file(telebot_core_handler_t core_h, const char *file_path, const char *out_file); /** - * @brief Kick a user from a group, a supergroup or a channel. In the case of - * supergroups and channels, the user will not be able to return to the group on - * their own using invite links, etc., unless unbanned first. The bot must be an - * administrator in the chat for this to work and must have the appropriate admin - * rights. - * @param[in] core_h The telebot core handler created with #telebot_core_create(). - * @param[in] chat_id Unique identifier for the target chat or username of the - * target channel (in the format \@channelusername) - * @param[in] user_id Unique identifier of the target user - * @param[in] until_date Date when the user will be unbanned, unix time. If user is - * banned for more than 366 days or less than 30 seconds from the current time - * they are considered to be banned forever. - * @param[out] response Response data that contains "True" on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. - */ -telebot_error_e telebot_core_kick_chat_member(telebot_core_handler_t *core_h, - long long int chat_id, int user_id, long until_date, - telebot_core_response_t *response); - -/** - * @brief Unban a previously kicked user in a supergroup or channel. The user will - * not return to the group or channel automatically, but will be able to join via - * link, etc. The bot must be an administrator for this to work. - * @param[in] core_h The telebot core handler created with #telebot_core_create(). - * @param[in] chat_id Unique identifier for the target chat or username of the - * target channel (in the format \@channelusername) - * @param[in] user_id Unique identifier of the target user - * @param[out] response Response data that contains "True" on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. - */ -telebot_error_e telebot_core_unban_chat_member(telebot_core_handler_t *core_h, - long long int chat_id, int user_id, telebot_core_response_t *response); - -/** - * @brief Restrict a user in a supergroup. The bot must be an administrator in - * the supergroup for this to work and must have the appropriate admin rights. - * Pass true for all boolean parameters to lift restrictions from a user. - * @param[in] core_h The telebot core handler created with #telebot_core_create(). - * @param[in] chat_id Unique identifier for the target chat or username of the - * target channel (in the format \@channelusername) - * @param[in] user_id Unique identifier of the target user. - * @param[in] until_date Date when restrictions will be lifted for the user, unix - * time. If user is restricted for more than 366 days or less than 30 seconds - * from the current time, they are considered to be restricted forever. - * @param[in] can_send_messages Pass true, if the user is allowed to send text - * messages, contacts, locations and venues - * @param[in] can_send_media_messages Pass true, if the user is allowed to send - * audios, documents, photos, videos, video notes and voice notes, - * implies can_send_messages - * @param[in can_send_polls Pass true, if the user is allowed to send polls, - * implies can_send_messages - * @param[in] can_send_other_messages Pass true, if the user can send animations, - * games, stickers and use inline bots, implies can_send_media_messages - * @param[in] can_add_web_page_previews Pass true, if the user may add web page - * previews to their messages, implies can_send_media_messages. - * @param[in] can_change_info Pass true, if the user is allowed to change the - * chat title, photo and other settings. Ignored in public supergroups. - * @param[in] can_invite_users Pass true, if the user is allowed to invite - * new users to the chat. - * @param[in] can_pin_messages Pass true, if the user is allowed to pin messages. - * Ignored in public supergroups - * @param[out] response Response data that contains "True" on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. - */ -telebot_error_e telebot_core_restrict_chat_member(telebot_core_handler_t *core_h, +* @brief Kick a user from a group, a supergroup or a channel. In the case of +* supergroups and channels, the user will not be able to return to the group on +* their own using invite links, etc., unless unbanned first. The bot must be an +* administrator in the chat for this to work and must have the appropriate admin +* rights. +* @param[in] core_h The telebot core handler created with #telebot_core_create(). +* @param[in] chat_id Unique identifier for the target chat or username of the +* target channel (in the format \@channelusername) +* @param[in] user_id Unique identifier of the target user +* @param[in] until_date Date when the user will be unbanned, unix time. If user is +* banned for more than 366 days or less than 30 seconds from the current time +* they are considered to be banned forever. +* @return #telebot_core_response_t response that contains the result (true/false), +* which MUST be released with #telebot_core_put_response(), or null if allocation fails. +* Response code should be checked with #teleobot_core_get_response_code(), +* before getting data with #telebot_core_get_response_data(). +*/ +telebot_core_response_t telebot_core_kick_chat_member(telebot_core_handler_t core_h, + long long int chat_id, int user_id, long until_date); + +/** +* @brief Unban a previously kicked user in a supergroup or channel. The user will +* not return to the group or channel automatically, but will be able to join via +* link, etc. The bot must be an administrator for this to work. +* @param[in] core_h The telebot core handler created with #telebot_core_create(). +* @param[in] chat_id Unique identifier for the target chat or username of the +* target channel (in the format \@channelusername) +* @param[in] user_id Unique identifier of the target user +* @return #telebot_core_response_t response that contains the result (true/false), +* which MUST be released with #telebot_core_put_response(), or null if allocation fails. +* Response code should be checked with #teleobot_core_get_response_code(), +* before getting data with #telebot_core_get_response_data(). +*/ +telebot_core_response_t telebot_core_unban_chat_member(telebot_core_handler_t core_h, + long long int chat_id, int user_id); + +/** +* @brief Restrict a user in a supergroup. The bot must be an administrator in +* the supergroup for this to work and must have the appropriate admin rights. +* Pass true for all boolean parameters to lift restrictions from a user. +* @param[in] core_h The telebot core handler created with #telebot_core_create(). +* @param[in] chat_id Unique identifier for the target chat or username of the +* target channel (in the format \@channelusername) +* @param[in] user_id Unique identifier of the target user. +* @param[in] until_date Date when restrictions will be lifted for the user, unix +* time. If user is restricted for more than 366 days or less than 30 seconds +* from the current time, they are considered to be restricted forever. +* @param[in] can_send_messages Pass true, if the user is allowed to send text +* messages, contacts, locations and venues +* @param[in] can_send_media_messages Pass true, if the user is allowed to send +* audios, documents, photos, videos, video notes and voice notes, +* implies can_send_messages +* @param[in can_send_polls Pass true, if the user is allowed to send polls, +* implies can_send_messages +* @param[in] can_send_other_messages Pass true, if the user can send animations, +* games, stickers and use inline bots, implies can_send_media_messages +* @param[in] can_add_web_page_previews Pass true, if the user may add web page +* previews to their messages, implies can_send_media_messages. +* @param[in] can_change_info Pass true, if the user is allowed to change the +* chat title, photo and other settings. Ignored in public supergroups. +* @param[in] can_invite_users Pass true, if the user is allowed to invite +* new users to the chat. +* @param[in] can_pin_messages Pass true, if the user is allowed to pin messages. +* Ignored in public supergroups +* @return #telebot_core_response_t response that contains the result (true/false), +* which MUST be released with #telebot_core_put_response(), or null if allocation fails. +* Response code should be checked with #teleobot_core_get_response_code(), +* before getting data with #telebot_core_get_response_data(). +*/ +telebot_core_response_t telebot_core_restrict_chat_member(telebot_core_handler_t core_h, long long int chat_id, int user_id, long until_date, bool can_send_messages, bool can_send_media_messages, bool can_send_polls, bool can_send_other_messages, bool can_add_web_page_previews, bool can_change_info, bool can_invite_users, - bool can_pin_messages, telebot_core_response_t *response); + bool can_pin_messages); /** * @brief Promote or demote a user in a supergroup or a channel. The bot must be @@ -796,15 +830,15 @@ telebot_error_e telebot_core_restrict_chat_member(telebot_core_handler_t *core_h * administrators with a subset of his own privileges or demote administrators * that he has promoted, directly or indirectly (promoted by administrators * that were appointed by him). - * @param[out] response Response data that contains "True" on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the result (true/false), + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_promote_chat_member(telebot_core_handler_t *core_h, +telebot_core_response_t telebot_core_promote_chat_member(telebot_core_handler_t core_h, long long int chat_id, int user_id, bool can_change_info, bool can_post_messages, bool can_edit_messages, bool can_delete_messages, bool can_invite_users, - bool can_restrict_members, bool can_pin_messages, bool can_promote_members, - telebot_core_response_t *response); + bool can_restrict_members, bool can_pin_messages, bool can_promote_members); /** * @brief Export an invite link to a supergroup or a channel. The bot must be @@ -816,13 +850,13 @@ telebot_error_e telebot_core_promote_chat_member(telebot_core_handler_t *core_h, * @param[in] user_id Unique identifier of the target user. * @param[in] custom_title New custom title for the administrator; 0-16 characters, * emoji are not allowed. - * @param[out] response Response data that contains "True" on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the result (true/false), + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_set_chat_admin_custom_title(telebot_core_handler_t *core_h, - long long int chat_id, int user_id, const char *custom_title, - telebot_core_response_t *response); +telebot_core_response_t telebot_core_set_chat_admin_custom_title(telebot_core_handler_t core_h, + long long int chat_id, int user_id, const char *custom_title); /** * @brief Set default chat permissions for all members. The bot must be an administrator @@ -848,15 +882,15 @@ telebot_error_e telebot_core_set_chat_admin_custom_title(telebot_core_handler_t * new users to the chat. * @param[in] can_pin_messages Pass true, if the user is allowed to pin messages. * Ignored in public supergroups - * @param[out] response Response data that contains "True" on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the result (true/false), + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_set_chat_permissions(telebot_core_handler_t *core_h, +telebot_core_response_t telebot_core_set_chat_permissions(telebot_core_handler_t core_h, long long int chat_id, bool can_send_messages, bool can_send_media_messages, bool can_send_polls, bool can_send_other_messages, bool can_add_web_page_previews, - bool can_change_info, bool can_invite_users, bool can_pin_messages, - telebot_core_response_t *response); + bool can_change_info, bool can_invite_users, bool can_pin_messages); /** * @brief Generate a new invite link for a chat; any previously generated link is @@ -865,12 +899,13 @@ telebot_error_e telebot_core_set_chat_permissions(telebot_core_handler_t *core_h * @param[in] core_h The telebot core handler created with #telebot_core_create(). * @param[in] chat_id Unique identifier for the target chat or username of the * target channel (in the format \@channelusername). - * @param[out] response Response data that contains the new invite link on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains new invite link, + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_export_chat_invite_link(telebot_core_handler_t *core_h, - long long int chat_id, telebot_core_response_t *response); +telebot_core_response_t telebot_core_export_chat_invite_link(telebot_core_handler_t core_h, + long long int chat_id); /** * @brief Set a new profile photo for the chat. Photos can't be changed for private @@ -880,12 +915,13 @@ telebot_error_e telebot_core_export_chat_invite_link(telebot_core_handler_t *cor * @param[in] chat_id Unique identifier for the target chat or username of the * target channel (in the format \@channelusername). * @param[in] photo New chat photo file path. - * @param[out] response Response data that contains "True" on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the result (true/false), + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_set_chat_photo(telebot_core_handler_t *core_h, - long long int chat_id, const char *photo, telebot_core_response_t *response); +telebot_core_response_t telebot_core_set_chat_photo(telebot_core_handler_t core_h, + long long int chat_id, const char *photo); /** * @brief Delete a chat photo. Photos can't be changed for private chats. The bot @@ -894,12 +930,13 @@ telebot_error_e telebot_core_set_chat_photo(telebot_core_handler_t *core_h, * @param[in] core_h The telebot core handler created with #telebot_core_create(). * @param[in] chat_id Unique identifier for the target chat or username of the * target channel (in the format \@channelusername). - * @param[out] response Response data that contains "True" on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the result (true/false), + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_delete_chat_photo(telebot_core_handler_t *core_h, - long long int chat_id, telebot_core_response_t *response); +telebot_core_response_t telebot_core_delete_chat_photo(telebot_core_handler_t core_h, + long long int chat_id); /** * @brief Change the title of a chat. Titles can't be @@ -909,12 +946,13 @@ telebot_error_e telebot_core_delete_chat_photo(telebot_core_handler_t *core_h, * @param[in] chat_id Unique identifier for the target chat or username of the * target channel (in the format \@channelusername). * @param[in] title New chat title, 1-255 characters. - * @param[out] response Response data that contains "True" on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the result (true/false), + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_set_chat_title(telebot_core_handler_t *core_h, - long long int chat_id, const char *title, telebot_core_response_t *response); +telebot_core_response_t telebot_core_set_chat_title(telebot_core_handler_t core_h, + long long int chat_id, const char *title); /** * @brief Change the description of a supergroup or a channel. The bot must be @@ -924,13 +962,13 @@ telebot_error_e telebot_core_set_chat_title(telebot_core_handler_t *core_h, * @param[in] chat_id Unique identifier for the target chat or username of the * target channel (in the format \@channelusername). * @param[in] description New chat description, 0-255 characters. - * @param[out] response Response data that contains "True" on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the result (true/false), + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_set_chat_description(telebot_core_handler_t *core_h, - long long int chat_id, const char *description, - telebot_core_response_t *response); +telebot_core_response_t telebot_core_set_chat_description(telebot_core_handler_t core_h, + long long int chat_id, const char *description); /** * @brief Pin a message in a supergroup or a channel. The bot must be an administrator @@ -943,13 +981,13 @@ telebot_error_e telebot_core_set_chat_description(telebot_core_handler_t *core_h * @param[in] disable_notification Pass True, if it is not necessary to send * a notification to all chat members about the new pinned message. * Notifications are always disabled in channels. - * @param[out] response Response data that contains "True" on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the result (true/false), + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_pin_chat_message(telebot_core_handler_t *core_h, - long long int chat_id, int message_id, bool disable_notification, - telebot_core_response_t *response); +telebot_core_response_t telebot_core_pin_chat_message(telebot_core_handler_t core_h, + long long int chat_id, int message_id, bool disable_notification); /** * @brief Unpin a message in a supergroup or a channel. The bot must be an administrator @@ -958,24 +996,25 @@ telebot_error_e telebot_core_pin_chat_message(telebot_core_handler_t *core_h, * @param[in] core_h The telebot core handler created with #telebot_core_create(). * @param[in] chat_id Unique identifier for the target chat or username of the * target channel (in the format \@channelusername). - * @param[out] response Response data that contains "True" on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the result (true/false), + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_unpin_chat_message(telebot_core_handler_t *core_h, - long long int chat_id, telebot_core_response_t *response); +telebot_core_response_t telebot_core_unpin_chat_message(telebot_core_handler_t core_h, + long long int chat_id); /** * @brief Leave a group, supergroup or channel. * @param[in] core_h The telebot core handler created with #telebot_core_create(). * @param[in] chat_id Unique identifier for the target chat or username of the * target channel (in the format \@channelusername). - * @param[out] response Response data that contains "True" on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the result (true/false), + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_leave_chat(telebot_core_handler_t *core_h, - long long int chat_id, telebot_core_response_t *response); +telebot_core_response_t telebot_core_leave_chat(telebot_core_handler_t core_h, long long int chat_id); /** * @brief Get up to date information about the chat (current name of the user for @@ -983,12 +1022,13 @@ telebot_error_e telebot_core_leave_chat(telebot_core_handler_t *core_h, * @param[in] core_h The telebot core handler created with #telebot_core_create(). * @param[in] chat_id Unique identifier for the target chat or username of the * target channel (in the format \@channelusername). - * @param[out] response Response data that contains a Chat object on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains chat object, + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_get_chat(telebot_core_handler_t *core_h, - long long int chat_id, telebot_core_response_t *response); +telebot_core_response_t telebot_core_get_chat(telebot_core_handler_t core_h, + long long int chat_id); /** * @brief Get a list of administrators in a chat. Response contains an array of @@ -998,24 +1038,26 @@ telebot_error_e telebot_core_get_chat(telebot_core_handler_t *core_h, * @param[in] core_h The telebot core handler created with #telebot_core_create(). * @param[in] chat_id Unique identifier for the target chat or username of the * target channel (in the format \@channelusername). - * @param[out] response Response data that contains a array of chat members on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains an array of chat members, + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_get_chat_admins(telebot_core_handler_t *core_h, - long long int chat_id, telebot_core_response_t *response); +telebot_core_response_t telebot_core_get_chat_admins(telebot_core_handler_t core_h, + long long int chat_id); /** * @brief Get the number of members in a chat. * @param[in] core_h The telebot core handler created with #telebot_core_create(). * @param[in] chat_id Unique identifier for the target chat or username of the * target channel (in the format \@channelusername). - * @param[out] response Response data that contains number of chat members on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the number of chat members, + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_get_chat_members_count(telebot_core_handler_t *core_h, - long long int chat_id, telebot_core_response_t *response); +telebot_core_response_t telebot_core_get_chat_members_count(telebot_core_handler_t core_h, + long long int chat_id); /** * @brief Get information about a member of a chat. @@ -1023,12 +1065,13 @@ telebot_error_e telebot_core_get_chat_members_count(telebot_core_handler_t *core * @param[in] chat_id Unique identifier for the target chat or username of the * target channel (in the format \@channelusername). * @param[in] user_id Unique identifier of the target user. - * @param[out] response Response data that contains a chat member on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains a chat member, + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_get_chat_member(telebot_core_handler_t *core_h, - long long int chat_id, int user_id, telebot_core_response_t *response); +telebot_core_response_t telebot_core_get_chat_member(telebot_core_handler_t core_h, + long long int chat_id, int user_id); /** * @brief Set a new group sticker set for a supergroup. The bot must be an administrator @@ -1040,13 +1083,13 @@ telebot_error_e telebot_core_get_chat_member(telebot_core_handler_t *core_h, * target channel (in the format \@channelusername). * @param[in] sticker_set_name Name of the sticker set to be set as the group * sticker set. - * @param[out] response Response data that contains "True" on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the result (true/false), + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_set_chat_sticker_set(telebot_core_handler_t *core_h, - long long int chat_id, const char *sticker_set_name, - telebot_core_response_t *response); +telebot_core_response_t telebot_core_set_chat_sticker_set(telebot_core_handler_t core_h, + long long int chat_id, const char *sticker_set_name); /** * @brief Delete a group sticker set from a supergroup. The bot must be an administrator @@ -1056,12 +1099,13 @@ telebot_error_e telebot_core_set_chat_sticker_set(telebot_core_handler_t *core_h * @param[in] core_h The telebot core handler created with #telebot_core_create(). * @param[in] chat_id Unique identifier for the target chat or username of the * target channel (in the format \@channelusername). - * @param[out] response Response data that contains "True" on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the result (true/false), + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_delete_chat_sticker_set(telebot_core_handler_t *core_h, - long long int chat_id, telebot_core_response_t *response); +telebot_core_response_t telebot_core_delete_chat_sticker_set(telebot_core_handler_t core_h, + long long int chat_id); /** * @brief Send answers to callback queries sent from inline keyboards. @@ -1080,35 +1124,37 @@ telebot_error_e telebot_core_delete_chat_sticker_set(telebot_core_handler_t *cor * @param[in] cache_time The maximum amount of time in seconds that the result of * the callback query may be cached client-side. Telegram apps will support * caching starting in version 3.14. - * @param[out] response Response data that contains "True" on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the result (true/false), + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_answer_callback_query(telebot_core_handler_t *core_h, +telebot_core_response_t telebot_core_answer_callback_query(telebot_core_handler_t core_h, const char *callback_query_id, const char *text, bool show_alert, - const char *url, int cache_time, telebot_core_response_t *response); + const char *url, int cache_time); /** * @brief Change the list of the bot's commands. * @param[in] core_h The telebot core handler created with #telebot_core_create(). * @param[in] commands A JSON-serialized list of bot commands to be set as the * list of the bot's commands. At most 100 commands can be specified. - * @param[out] response Response data that contains "True" on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the result (true/false), + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_set_my_commands(telebot_core_handler_t *core_h, - const char *commands, telebot_core_response_t *response); +telebot_core_response_t telebot_core_set_my_commands(telebot_core_handler_t core_h, + const char *commands); /** * @brief Get the current list of the bot's commands.. * @param[in] core_h The telebot core handler created with #telebot_core_create(). - * @param[out] response Response data that contains "True" on success. - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains an array of bot commands, + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_get_my_commands(telebot_core_handler_t *core_h, - telebot_core_response_t *response); +telebot_core_response_t telebot_core_get_my_commands(telebot_core_handler_t core_h); /** * @brief Edit text and game messages sent by the bot or via the bot (for inline bots). @@ -1124,14 +1170,15 @@ telebot_error_e telebot_core_get_my_commands(telebot_core_handler_t *core_h, * bold, italic, fixed-width text or inline URLs in your bot's message. * @param[in] disable_web_page_priview Disables link previews for links in this message. * @param[in] reply_markup A JSON-serialized object for an inline keyboard. - * @param[out] response Response data that contains the message sent on succes, - * otherwise "True". It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the message edited, + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_edit_message_text(telebot_core_handler_t *core_h, +telebot_core_response_t telebot_core_edit_message_text(telebot_core_handler_t core_h, long long int chat_id, int message_id, const char *inline_message_id, const char *text, const char *parse_mode, bool disable_web_page_preview, - const char *reply_markup, telebot_core_response_t *response); + const char *reply_markup); /** * @brief Edit captions of messages sent by the bot or via the bot (for inline bots). @@ -1144,14 +1191,14 @@ telebot_error_e telebot_core_edit_message_text(telebot_core_handler_t *core_h, * specified. Identifier of the inline message. * @param[in] caption New caption of the message. * @param[in] reply_markup A JSON-serialized object for an inline keyboard. - * @param[out] response Response data that contains the message sent on succes, - * otherwise "True". It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the message edited, + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_edit_message_caption(telebot_core_handler_t *core_h, +telebot_core_response_t telebot_core_edit_message_caption(telebot_core_handler_t core_h, long long int chat_id, int message_id, const char *inline_message_id, - const char *caption, const char *parse_mode, const char *reply_markup, - telebot_core_response_t *response); + const char *caption, const char *parse_mode, const char *reply_markup); /** * @brief Edit only the reply markup of messages sent by the bot or via the @@ -1164,14 +1211,14 @@ telebot_error_e telebot_core_edit_message_caption(telebot_core_handler_t *core_h * @param[in] inline_message_id Required if chat_id and message_id are not * specified. Identifier of the inline message. * @param[in] reply_markup A JSON-serialized object for an inline keyboard. - * @param[out] response Response data that contains the message sent on succes, - * otherwise "True". It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the message edited, + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ - -telebot_error_e telebot_core_edit_message_reply_markup(telebot_core_handler_t *core_h, +telebot_core_response_t telebot_core_edit_message_reply_markup(telebot_core_handler_t core_h, long long int chat_id, int message_id, const char *inline_message_id, - const char *reply_markup, telebot_core_response_t *response); + const char *reply_markup); /** * @brief Stop a poll which was sent by the bot. @@ -1183,42 +1230,34 @@ telebot_error_e telebot_core_edit_message_reply_markup(telebot_core_handler_t *c * @param[in] inline_message_id Required if chat_id and message_id are not * specified. Identifier of the inline message. * @param[in] reply_markup A JSON-serialized object for an inline keyboard. - * @param[out] response Response data that contains the message sent on succes, - * otherwise "True". It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the stopped poll, + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ - -telebot_error_e telebot_core_stop_poll(telebot_core_handler_t *core_h, - long long int chat_id, int message_id, const char *reply_markup, - telebot_core_response_t *response); - +telebot_core_response_t telebot_core_stop_poll(telebot_core_handler_t core_h, + long long int chat_id, int message_id, const char *reply_markup); /** * @brief Delete a message, including service messages, with the following limitations: - * - A message can only be deleted if it was sent less than 48 hours ago. - * - Bots can delete outgoing messages in groups and supergroups. - * - Bots granted can_post_messages permissions can delete outgoing messages - * in channels. - * - If the bot is an administrator of a group, it can delete any message there. - * - If the bot has can_delete_messages permission in a supergroup or a channel, - * it can delete any message there. - * @param[in] core_h The telebot core handler created with #telebot_core_create(). - * @param[in] chat_id Unique identifier for the target chat or username of the - * target message_id Message identifier to be deleted. - * @param[out] response Response data that contains "True" on succes, - * It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. - */ -telebot_error_e telebot_core_delete_message(telebot_core_handler_t *core_h, - long long int chat_id, int message_id, telebot_core_response_t *response); - - -/** - * @brief Release response data obtained with telebot core methods. - * @param[in] response Pointer to response to release. - */ -void telebot_core_put_response(telebot_core_response_t *response); + * - A message can only be deleted if it was sent less than 48 hours ago. + * - Bots can delete outgoing messages in groups and supergroups. + * - Bots granted can_post_messages permissions can delete outgoing messages + * in channels. + * - If the bot is an administrator of a group, it can delete any message there. + * - If the bot has can_delete_messages permission in a supergroup or a channel, + * it can delete any message there. + * @param[in] core_h The telebot core handler created with #telebot_core_create(). + * @param[in] chat_id Unique identifier for the target chat or username of the + * target message_id Message identifier to be deleted. + * @return #telebot_core_response_t response that contains the result (true/false), + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). + */ +telebot_core_response_t telebot_core_delete_message(telebot_core_handler_t core_h, + long long int chat_id, int message_id); /** * @} // end of APIs diff --git a/include/telebot-parser.h b/include/telebot-parser.h index 52bedcc..a99b891 100644 --- a/include/telebot-parser.h +++ b/include/telebot-parser.h @@ -19,7 +19,7 @@ #ifndef __TELEBOT_PARSER_H__ #define __TELEBOT_PARSER_H__ -struct json_object *telebot_parser_str_to_obj(char *data); +struct json_object *telebot_parser_str_to_obj(const char *data); /** Get update from Json Object */ telebot_error_e telebot_parser_get_updates(struct json_object *obj, telebot_update_t **updates, int *count); diff --git a/include/telebot-private.h b/include/telebot-private.h index b3748e0..c139325 100644 --- a/include/telebot-private.h +++ b/include/telebot-private.h @@ -16,6 +16,8 @@ * limitations under the License. */ +#include + #ifndef __TELEBOT_PRIVATE_H__ #define __TELEBOT_PRIVATE_H__ @@ -93,15 +95,49 @@ #define DBG(x, ...) #endif +#define CHECK_ARG_NULL(PARAM) \ + if (PARAM == NULL) \ + { \ + ERR("Argument '%s' is null)", #PARAM); \ + return telebot_core_get_error_response(TELEBOT_ERROR_INVALID_PARAMETER); \ + } + +#define CHECK_ARG_CONDITION(CONDITION, MESSAGE) \ + if (CONDITION) \ + { \ + ERR(MESSAGE); \ + return telebot_core_get_error_response(TELEBOT_ERROR_INVALID_PARAMETER); \ + } + typedef enum { TELEBOT_MIME_TYPE_DATA = 0, TELEBOT_MIME_TYPE_FILE, TELEBOT_MIME_TYPE_MAX, } telebot_core_mime_e; + typedef struct { telebot_core_mime_e type; const char *name; char data[TELEBOT_BUFFER_PAGE]; } telebot_core_mime_t; + +/** + * @brief This object represents core handler. + */ +struct telebot_core_handler { + char *token; /**< Telegam bot token */ + char *proxy_addr; /**< Proxy address (optional) */ + char *proxy_auth; /**< Proxy authentication (optional) */ +}; + +/** + * @brief This object represents a telegram bot response. + */ +struct telebot_core_response { + telebot_error_e ret; /**< Telegram bot response code */ + size_t size; /**< Telegam bot response size */ + char *data; /**< Telegam bot response object */ +}; + #endif /* __TELEBOT_PRIVATE_H__ */ diff --git a/include/telebot-types.h b/include/telebot-types.h index 1f06e81..3bc089e 100644 --- a/include/telebot-types.h +++ b/include/telebot-types.h @@ -1293,7 +1293,7 @@ typedef struct telebot_webhook_info { /** * @brief This is opaque object to represent a telebot handler. */ -typedef struct telebot_handler_s *telebot_handler_t; +typedef struct telebot_handler *telebot_handler_t; /** * @} // end of APIs diff --git a/src/telebot-core.c b/src/telebot-core.c index e6ddd64..dff545b 100644 --- a/src/telebot-core.c +++ b/src/telebot-core.c @@ -18,164 +18,54 @@ * limitations under the License. */ -#include -#include -#include -#include -#include -#include #include #include -#include +#include +#include +#include #include #include +#include +#include -void telebot_core_put_response(telebot_core_response_t *response) +telebot_error_e telebot_core_get_response_code(telebot_core_response_t response) { if (response) - { - TELEBOT_SAFE_FZCNT(response->data, response->size); - } + return response->ret; + else + // response is NULL, probably could not allocate memory + return TELEBOT_ERROR_OUT_OF_MEMORY; } -static size_t write_data_cb(void *contents, size_t size, size_t nmemb, void *userp) +const char *telebot_core_get_response_data(telebot_core_response_t response) { - telebot_core_response_t *resp = (telebot_core_response_t *)userp; - size_t r_size = size * nmemb; - - char *data = (char *)realloc(resp->data, resp->size + r_size + 1); - if (data == NULL) - { - ERR("Failed to allocate memory, size:%u", (unsigned int)r_size); - TELEBOT_SAFE_FZCNT(resp->data, resp->size); - return 0; - } - memcpy((data + resp->size), contents, r_size); - resp->data = data; - resp->size += r_size; - resp->data[resp->size] = 0; - - return r_size; + if (response) + return response->data; + else + return NULL; } -static telebot_error_e telebot_core_curl_perform(telebot_core_handler_t *core_h, - const char *method, telebot_core_mime_t mimes[], size_t size, - telebot_core_response_t *resp) +void telebot_core_put_response(telebot_core_response_t response) { - CURLcode res; - CURL *curl_h = NULL; - curl_mime *mime = NULL; - long resp_code = 0L; - int ret = TELEBOT_ERROR_NONE; - - if (resp == NULL) - { - return TELEBOT_ERROR_INVALID_PARAMETER; - } - resp->data = (char *)malloc(1); - resp->size = 0; - - curl_h = curl_easy_init(); - if (curl_h == NULL) - { - ERR("Failed to init curl"); - ret = TELEBOT_ERROR_OUT_OF_MEMORY; - goto finish; - } - - char URL[TELEBOT_URL_SIZE]; - snprintf(URL, TELEBOT_URL_SIZE, "%s/bot%s/%s", TELEBOT_API_URL, core_h->token, method); - curl_easy_setopt(curl_h, CURLOPT_URL, URL); - curl_easy_setopt(curl_h, CURLOPT_WRITEFUNCTION, write_data_cb); - curl_easy_setopt(curl_h, CURLOPT_WRITEDATA, resp); - - if (core_h->proxy_addr != NULL) - { - curl_easy_setopt(curl_h, CURLOPT_PROXY, core_h->proxy_addr); - if (core_h->proxy_auth != NULL) - { - curl_easy_setopt(curl_h, CURLOPT_PROXYAUTH, CURLAUTH_ANY); - curl_easy_setopt(curl_h, CURLOPT_PROXYUSERPWD, core_h->proxy_auth); - } - } - - if (size > 0) - { - mime = curl_mime_init(curl_h); - if (mime == NULL) - { - ERR("Failed to create mime"); - ret = TELEBOT_ERROR_OUT_OF_MEMORY; - goto finish; - } - for (int index = 0; index < size; index++) - { - curl_mimepart *part = curl_mime_addpart(mime); - if (part == NULL) - { - ERR("Failed to create mime part"); - ret = TELEBOT_ERROR_OUT_OF_MEMORY; - goto finish; - } - curl_mime_name(part, mimes[index].name); - if (mimes[index].type == TELEBOT_MIME_TYPE_FILE) - curl_mime_filedata(part, mimes[index].data); - else - curl_mime_data(part, mimes[index].data, CURL_ZERO_TERMINATED); - } - - curl_easy_setopt(curl_h, CURLOPT_MIMEPOST, mime); - } - - res = curl_easy_perform(curl_h); - if (res != CURLE_OK) - { - ERR("Failed to curl_easy_perform\nError: %s (%d)", curl_easy_strerror(res), res); - ret = TELEBOT_ERROR_OPERATION_FAILED; - goto finish; - } - - curl_easy_getinfo(curl_h, CURLINFO_RESPONSE_CODE, &resp_code); - if (resp_code != 200L) + if (response) { - ret = TELEBOT_ERROR_OPERATION_FAILED; - - struct json_object *obj = json_tokener_parse(resp->data); - if (obj == NULL) { - ERR("HTTP error: %ld", resp_code); - ERR("Response: %s", resp->data); - } else { - ERR("HTTP error: %d - \"%s\"", - json_object_get_int(json_object_object_get(obj, "error_code")), - json_object_get_string(json_object_object_get(obj, "description"))); - } - - goto finish; + TELEBOT_SAFE_FZCNT(response->data, response->size); + TELEBOT_SAFE_FREE(response); } - - DBG("Response: %s", resp->data); - -finish: - if (ret != TELEBOT_ERROR_NONE) - TELEBOT_SAFE_FZCNT(resp->data, resp->size); - if (mime) - curl_mime_free(mime); - if (curl_h) - curl_easy_cleanup(curl_h); - - return ret; } -telebot_error_e telebot_core_create(telebot_core_handler_t **core_h, const char *token) +telebot_error_e +telebot_core_create(telebot_core_handler_t *core_h, const char *token) { - if ((token == NULL) || (core_h == NULL)) + if ((core_h == NULL) || (token == NULL)) { - ERR("Token(0x%p) or core_h(0x%p) is NULL", token, core_h); + ERR("Either pointer for core handler (%p) or token (%p) is null", core_h, token); return TELEBOT_ERROR_INVALID_PARAMETER; } + *core_h = NULL; - telebot_core_handler_t *_core_h = calloc(1, sizeof(telebot_core_handler_t)); + telebot_core_handler_t _core_h = malloc(sizeof(telebot_core_handler_t)); if (_core_h == NULL) { ERR("Failed to allocate memory"); @@ -198,13 +88,14 @@ telebot_error_e telebot_core_create(telebot_core_handler_t **core_h, const char return TELEBOT_ERROR_NONE; } -telebot_error_e telebot_core_destroy(telebot_core_handler_t **core_h) +telebot_error_e +telebot_core_destroy(telebot_core_handler_t *core_h) { curl_global_cleanup(); if ((core_h == NULL) || (*core_h == NULL)) { - ERR("Handler is NULL"); + ERR("Core handler is null"); return TELEBOT_ERROR_INVALID_PARAMETER; } @@ -230,8 +121,8 @@ telebot_error_e telebot_core_destroy(telebot_core_handler_t **core_h) return TELEBOT_ERROR_NONE; } -telebot_error_e telebot_core_set_proxy(telebot_core_handler_t *core_h, - const char *addr, const char *auth) +telebot_error_e +telebot_core_set_proxy(telebot_core_handler_t core_h, const char *addr, const char *auth) { if ((addr == NULL) || (core_h == NULL)) { @@ -259,7 +150,8 @@ telebot_error_e telebot_core_set_proxy(telebot_core_handler_t *core_h, return TELEBOT_ERROR_NONE; } -telebot_error_e telebot_core_get_proxy(telebot_core_handler_t *core_h, char **addr) +telebot_error_e +telebot_core_get_proxy(telebot_core_handler_t core_h, char **addr) { if ((addr == NULL) || (core_h == NULL)) { @@ -274,16 +166,143 @@ telebot_error_e telebot_core_get_proxy(telebot_core_handler_t *core_h, char **ad return TELEBOT_ERROR_NONE; } -telebot_error_e telebot_core_get_updates(telebot_core_handler_t *core_h, - int offset, int limit, int timeout, const char *allowed_updates, - telebot_core_response_t *response) +static size_t write_data_cb(void *contents, size_t size, size_t nmemb, void *userp) { - if ((core_h == NULL) || (core_h->token == NULL)) + telebot_core_response_t resp = (telebot_core_response_t)userp; + size_t r_size = size * nmemb; + + char *data = (char *)realloc(resp->data, resp->size + r_size + 1); + if (data == NULL) { - ERR("Handler or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; + ERR("Failed to allocate memory, size:%u", (unsigned int)r_size); + TELEBOT_SAFE_FZCNT(resp->data, resp->size); + return 0; } + memcpy((data + resp->size), contents, r_size); + resp->data = data; + resp->size += r_size; + resp->data[resp->size] = 0; + return r_size; +} + +static telebot_core_response_t +telebot_core_curl_perform(telebot_core_handler_t core_h, const char *method, telebot_core_mime_t mimes[], size_t size) +{ + CURLcode res; + CURL *curl_h = NULL; + curl_mime *mime = NULL; + long resp_code = 0L; + + telebot_core_response_t resp = calloc(1, sizeof(struct telebot_core_response)); + if (resp == NULL) + { + ERR("Failed to allocate memory for response"); + return NULL; + } + + if (core_h == NULL) + { + ERR("Core handler is NULL"); + resp->ret = TELEBOT_ERROR_INVALID_PARAMETER; + return resp; + } + + if (core_h->token == NULL) + { + ERR("Token is NULL, this should not happen"); + resp->ret = TELEBOT_ERROR_OPERATION_FAILED; + return resp; + } + + resp->data = (char *)malloc(1); + resp->size = 0; + resp->ret = TELEBOT_ERROR_NONE; + + curl_h = curl_easy_init(); + if (curl_h == NULL) + { + ERR("Failed to init curl"); + resp->ret = TELEBOT_ERROR_OUT_OF_MEMORY; + goto finish; + } + + char URL[TELEBOT_URL_SIZE]; + snprintf(URL, TELEBOT_URL_SIZE, "%s/bot%s/%s", TELEBOT_API_URL, core_h->token, method); + curl_easy_setopt(curl_h, CURLOPT_URL, URL); + curl_easy_setopt(curl_h, CURLOPT_WRITEFUNCTION, write_data_cb); + curl_easy_setopt(curl_h, CURLOPT_WRITEDATA, resp); + + if (core_h->proxy_addr != NULL) + { + curl_easy_setopt(curl_h, CURLOPT_PROXY, core_h->proxy_addr); + if (core_h->proxy_auth != NULL) + { + curl_easy_setopt(curl_h, CURLOPT_PROXYAUTH, CURLAUTH_ANY); + curl_easy_setopt(curl_h, CURLOPT_PROXYUSERPWD, core_h->proxy_auth); + } + } + + if (size > 0) + { + mime = curl_mime_init(curl_h); + if (mime == NULL) + { + ERR("Failed to create mime"); + resp->ret = TELEBOT_ERROR_OUT_OF_MEMORY; + goto finish; + } + for (int index = 0; index < size; index++) + { + curl_mimepart *part = curl_mime_addpart(mime); + if (part == NULL) + { + ERR("Failed to create mime part"); + resp->ret = TELEBOT_ERROR_OUT_OF_MEMORY; + goto finish; + } + curl_mime_name(part, mimes[index].name); + if (mimes[index].type == TELEBOT_MIME_TYPE_FILE) + curl_mime_filedata(part, mimes[index].data); + else + curl_mime_data(part, mimes[index].data, CURL_ZERO_TERMINATED); + } + + curl_easy_setopt(curl_h, CURLOPT_MIMEPOST, mime); + } + + res = curl_easy_perform(curl_h); + if (res != CURLE_OK) + { + ERR("Failed to curl_easy_perform\nError: %s (%d)", curl_easy_strerror(res), res); + resp->ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + curl_easy_getinfo(curl_h, CURLINFO_RESPONSE_CODE, &resp_code); + if (resp_code != 200L) + { + ERR("Wrong HTTP response received, response: %ld", resp_code); + resp->ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + DBG("Response: %s", resp->data); + +finish: + if (resp->ret != TELEBOT_ERROR_NONE) + TELEBOT_SAFE_FZCNT(resp->data, resp->size); + if (mime) + curl_mime_free(mime); + if (curl_h) + curl_easy_cleanup(curl_h); + + return resp; +} + +telebot_core_response_t +telebot_core_get_updates(telebot_core_handler_t core_h, int offset, int limit, int timeout, const char *allowed_updates) +{ if (limit > TELEBOT_UPDATE_COUNT_MAX_LIMIT) limit = TELEBOT_UPDATE_COUNT_MAX_LIMIT; @@ -312,18 +331,23 @@ telebot_error_e telebot_core_get_updates(telebot_core_handler_t *core_h, ++index; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_UPDATES, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_UPDATES, mimes, index); } -telebot_error_e telebot_core_set_webhook(telebot_core_handler_t *core_h, const char *url, - const char *certificate, int max_connections, const char *allowed_updates, - telebot_core_response_t *response) +static telebot_core_response_t telebot_core_get_error_response(telebot_error_e ret) { - if ((core_h == NULL) || (core_h->token == NULL) || (url == NULL)) - { - ERR("Handler, token, or url is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + telebot_core_response_t resp = calloc(1, sizeof(struct telebot_core_response)); + if (resp) + resp->ret = ret; + + return resp; +} + +telebot_core_response_t +telebot_core_set_webhook(telebot_core_handler_t core_h, const char *url, const char *certificate, int max_connections, + const char *allowed_updates) +{ + CHECK_ARG_NULL(url); int index = 0; telebot_core_mime_t mimes[4]; // number of arguments @@ -352,55 +376,33 @@ telebot_error_e telebot_core_set_webhook(telebot_core_handler_t *core_h, const c ++index; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_WEBHOOK, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_WEBHOOK, mimes, index); } -telebot_error_e telebot_core_delete_webhook(telebot_core_handler_t *core_h, - telebot_core_response_t *response) +telebot_core_response_t +telebot_core_delete_webhook(telebot_core_handler_t core_h) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } - - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_DELETE_WEBHOOK, NULL, 0, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_DELETE_WEBHOOK, NULL, 0); } -telebot_error_e telebot_core_get_webhook_info(telebot_core_handler_t *core_h, - telebot_core_response_t *response) +telebot_core_response_t +telebot_core_get_webhook_info(telebot_core_handler_t core_h) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } - - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_WEBHOOK_INFO, NULL, 0, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_WEBHOOK_INFO, NULL, 0); } -telebot_error_e telebot_core_get_me(telebot_core_handler_t *core_h, - telebot_core_response_t *response) +telebot_core_response_t +telebot_core_get_me(telebot_core_handler_t core_h) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } - - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_ME, NULL, 0, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_ME, NULL, 0); } -telebot_error_e telebot_core_send_message(telebot_core_handler_t *core_h, - long long int chat_id, const char *text, const char *parse_mode, - bool disable_web_page_preview, bool disable_notification, int reply_to_message_id, - const char *reply_markup, telebot_core_response_t *response) -{ - if ((core_h == NULL) || (core_h->token == NULL) || (text == NULL)) - { - ERR("Handler, token or text is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } +telebot_core_response_t +telebot_core_send_message(telebot_core_handler_t core_h, long long int chat_id, const char *text, const char *parse_mode, + bool disable_web_page_preview, bool disable_notification, int reply_to_message_id, + const char *reply_markup) +{ + CHECK_ARG_NULL(text); int index = 0; telebot_core_mime_t mimes[7]; // number of arguments @@ -448,23 +450,17 @@ telebot_error_e telebot_core_send_message(telebot_core_handler_t *core_h, ++index; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_MESSAGE, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_MESSAGE, mimes, index); } -telebot_error_e telebot_core_forward_message(telebot_core_handler_t *core_h, - long long int chat_id, long long int from_chat_id, bool disable_notification, - int message_id, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_forward_message(telebot_core_handler_t core_h, long long int chat_id, long long int from_chat_id, + bool disable_notification, int message_id) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler or token is NULL."); - return TELEBOT_ERROR_INVALID_PARAMETER; - } - if (message_id <= 0) { ERR("Valid message_id is required."); - return TELEBOT_ERROR_INVALID_PARAMETER; + return telebot_core_get_error_response(TELEBOT_ERROR_INVALID_PARAMETER); } int index = 0; @@ -489,19 +485,15 @@ telebot_error_e telebot_core_forward_message(telebot_core_handler_t *core_h, snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", message_id); ++index; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_FORWARD_MESSAGE, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_FORWARD_MESSAGE, mimes, index); } -telebot_error_e telebot_core_send_photo(telebot_core_handler_t *core_h, - long long int chat_id, const char *photo, bool is_file, const char *caption, - const char *parse_mode, bool disable_notification, int reply_to_message_id, - const char *reply_markup, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_send_photo(telebot_core_handler_t core_h, long long int chat_id, const char *photo, bool is_file, + const char *caption, const char *parse_mode, bool disable_notification, + int reply_to_message_id, const char *reply_markup) { - if ((core_h == NULL) || (core_h->token == NULL) || (photo == NULL)) - { - ERR("Handler, token or photo is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_NULL(photo); int index = 0; telebot_core_mime_t mimes[7]; // number of arguments @@ -551,20 +543,16 @@ telebot_error_e telebot_core_send_photo(telebot_core_handler_t *core_h, ++index; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_PHOTO, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_PHOTO, mimes, index); } -telebot_error_e telebot_core_send_audio(telebot_core_handler_t *core_h, - long long int chat_id, const char *audio, bool is_file, const char *caption, - const char *parse_mode, int duration, const char *performer, const char *title, - const char *thumb, bool disable_notification, int reply_to_message_id, - const char *reply_markup, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_send_audio(telebot_core_handler_t core_h, long long int chat_id, const char *audio, bool is_file, + const char *caption, const char *parse_mode, int duration, const char *performer, + const char *title, const char *thumb, bool disable_notification, int reply_to_message_id, + const char *reply_markup) { - if ((core_h == NULL) || (core_h->token == NULL) || (audio == NULL)) - { - ERR("Handler, token or audio is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_NULL(audio); int index = 0; telebot_core_mime_t mimes[11]; // number of arguments @@ -646,21 +634,15 @@ telebot_error_e telebot_core_send_audio(telebot_core_handler_t *core_h, ++index; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_AUDIO, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_AUDIO, mimes, index); } -telebot_error_e telebot_core_send_document(telebot_core_handler_t *core_h, - long long int chat_id, const char *document, bool is_file, const char *thumb, - const char *caption, const char *parse_mode, bool disable_notification, - int reply_to_message_id, const char *reply_markup, - telebot_core_response_t *response) - +telebot_core_response_t +telebot_core_send_document(telebot_core_handler_t core_h, long long int chat_id, const char *document, bool is_file, + const char *thumb, const char *caption, const char *parse_mode, bool disable_notification, + int reply_to_message_id, const char *reply_markup) { - if ((core_h == NULL) || (core_h->token == NULL) || (document == NULL)) - { - ERR("Handler, token or document is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_NULL(document); int index = 0; telebot_core_mime_t mimes[8]; // number of arguments @@ -718,21 +700,16 @@ telebot_error_e telebot_core_send_document(telebot_core_handler_t *core_h, ++index; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_DOCUMENT, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_DOCUMENT, mimes, index); } -telebot_error_e telebot_core_send_video(telebot_core_handler_t *core_h, - long long int chat_id, const char *video, bool is_file, int duration, - int width, int height, const char *thumb, const char *caption, - const char *parse_mode, bool supports_streaming, bool disable_notification, - int reply_to_message_id, const char *reply_markup, - telebot_core_response_t *response) +telebot_core_response_t +telebot_core_send_video(telebot_core_handler_t core_h, long long int chat_id, const char *video, bool is_file, + int duration, int width, int height, const char *thumb, const char *caption, + const char *parse_mode, bool supports_streaming, bool disable_notification, + int reply_to_message_id, const char *reply_markup) { - if ((core_h == NULL) || (core_h->token == NULL) || (video == NULL)) - { - ERR("Handler, token or video is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_NULL(video); int index = 0; telebot_core_mime_t mimes[12]; // number of arguments @@ -819,20 +796,16 @@ telebot_error_e telebot_core_send_video(telebot_core_handler_t *core_h, ++index; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_VIDEO, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_VIDEO, mimes, index); } -telebot_error_e telebot_core_send_animation(telebot_core_handler_t *core_h, - long long int chat_id, const char *animation, bool is_file, int duration, - int width, int height, const char *thumb, const char *caption, - const char *parse_mode, bool disable_notification, int reply_to_message_id, - const char *reply_markup, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_send_animation(telebot_core_handler_t core_h, long long int chat_id, const char *animation, bool is_file, + int duration, int width, int height, const char *thumb, const char *caption, + const char *parse_mode, bool disable_notification, int reply_to_message_id, + const char *reply_markup) { - if ((core_h == NULL) || (core_h->token == NULL) || (animation == NULL)) - { - ERR("Handler, token or animation is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_NULL(animation); int index = 0; telebot_core_mime_t mimes[11]; // number of arguments @@ -914,20 +887,15 @@ telebot_error_e telebot_core_send_animation(telebot_core_handler_t *core_h, ++index; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_ANIMATION, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_ANIMATION, mimes, index); } -telebot_error_e telebot_core_send_voice(telebot_core_handler_t *core_h, - long long int chat_id, const char *voice, bool is_file, const char *caption, - const char *parse_mode, int duration, bool disable_notification, - int reply_to_message_id, const char *reply_markup, - telebot_core_response_t *response) +telebot_core_response_t +telebot_core_send_voice(telebot_core_handler_t core_h, long long int chat_id, const char *voice, bool is_file, + const char *caption, const char *parse_mode, int duration, bool disable_notification, + int reply_to_message_id, const char *reply_markup) { - if ((core_h == NULL) || (core_h->token == NULL) || (voice == NULL)) - { - ERR("Handler, token or voice is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_NULL(voice); int index = 0; telebot_core_mime_t mimes[8]; // number of arguments @@ -985,19 +953,15 @@ telebot_error_e telebot_core_send_voice(telebot_core_handler_t *core_h, ++index; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_VOICE, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_VOICE, mimes, index); } -telebot_error_e telebot_core_send_video_note(telebot_core_handler_t *core_h, - long long int chat_id, char *video_note, bool is_file, int duration, int length, - const char *thumb, bool disable_notification, int reply_to_message_id, - const char *reply_markup, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_send_video_note(telebot_core_handler_t core_h, long long int chat_id, char *video_note, bool is_file, + int duration, int length, const char *thumb, bool disable_notification, + int reply_to_message_id, const char *reply_markup) { - if ((core_h == NULL) || (core_h->token == NULL) || (video_note == NULL)) - { - ERR("Handler, token or video_note is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_NULL(video_note); int index = 0; telebot_core_mime_t mimes[8]; // number of arguments @@ -1056,32 +1020,74 @@ telebot_error_e telebot_core_send_video_note(telebot_core_handler_t *core_h, ++index; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_VIDEO_NOTE, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_VIDEO_NOTE, mimes, index); } -telebot_error_e telebot_core_send_media_group( - telebot_core_handler_t *core_h, - long long int chat_id, - char *media_paths[], - int count, - bool disable_notification, - int reply_to_message_id, - telebot_core_response_t *response) +// Helper function to determine media type based on file extension +static const char *telebot_core_get_media_type(const char *filename) { - if ((core_h == NULL) || (core_h->token == NULL) || - (media_paths == NULL) || (count < 2) || (count > 10)) + const char *ext = strrchr(filename, '.'); + if (ext == NULL) + return "document"; // No extension, treat as document + + ext++; // Skip the dot + + // Convert to lowercase for comparison + char ext_lower[10]; + int i = 0; + while (ext[i] != '\0' && i < 9) { - ERR("Invalid parameters: core_h, token, media_paths, or count (%d)", count); - return TELEBOT_ERROR_INVALID_PARAMETER; + ext_lower[i] = (ext[i] >= 'A' && ext[i] <= 'Z') ? ext[i] - 'A' + 'a' : ext[i]; + i++; + } + ext_lower[i] = '\0'; + + // Check for photo extensions + if (strcmp(ext_lower, "jpg") == 0 || strcmp(ext_lower, "jpeg") == 0 || + strcmp(ext_lower, "png") == 0 || strcmp(ext_lower, "bmp") == 0 || + strcmp(ext_lower, "tiff") == 0 || strcmp(ext_lower, "webp") == 0) + { + return "photo"; + } + // Check for video extensions + else if (strcmp(ext_lower, "mp4") == 0 || strcmp(ext_lower, "mpeg") == 0 || + strcmp(ext_lower, "avi") == 0 || strcmp(ext_lower, "mov") == 0 || + strcmp(ext_lower, "mkv") == 0 || strcmp(ext_lower, "wmv") == 0 || + strcmp(ext_lower, "flv") == 0 || strcmp(ext_lower, "webm") == 0 || + strcmp(ext_lower, "3gp") == 0 || strcmp(ext_lower, "m4v") == 0) + { + return "video"; + } + // Check for audio extensions + else if (strcmp(ext_lower, "mp3") == 0 || strcmp(ext_lower, "m4a") == 0 || + strcmp(ext_lower, "flac") == 0 || strcmp(ext_lower, "ogg") == 0 || + strcmp(ext_lower, "oga") == 0 || strcmp(ext_lower, "wav") == 0 || + strcmp(ext_lower, "aac") == 0 || strcmp(ext_lower, "opus") == 0) + { + return "audio"; + } + // Everything else is treated as document (including gif) + else + { + return "document"; } +} + +telebot_core_response_t +telebot_core_send_media_group(telebot_core_handler_t core_h, long long int chat_id, char *media_paths[], int count, + bool disable_notification, int reply_to_message_id) +{ + CHECK_ARG_NULL(media_paths); + CHECK_ARG_CONDITION(count <= 0, "Invalid media path count, should be greater than 0"); + CHECK_ARG_CONDITION(count > 10, "Invalid media path count, should be less than or equal to 10") // Validate all media paths are non-NULL for (int i = 0; i < count; ++i) { if (media_paths[i] == NULL) { - ERR("Media path at index %d is NULL", i); - return TELEBOT_ERROR_INVALID_PARAMETER; + ERR("Invalid media path at index %d is null", i); + return telebot_core_get_error_response(TELEBOT_ERROR_INVALID_PARAMETER); } } @@ -1090,72 +1096,31 @@ telebot_error_e telebot_core_send_media_group( if (media_array == NULL) { ERR("Failed to create JSON media array"); - return TELEBOT_ERROR_OUT_OF_MEMORY; + return telebot_core_get_error_response(TELEBOT_ERROR_OUT_OF_MEMORY); } // Allocate memory for filenames - char **filenames = calloc(count, sizeof(char*)); + char **filenames = calloc(count, sizeof(char *)); if (filenames == NULL) { json_object_put(media_array); ERR("Failed to allocate memory for filenames"); - return TELEBOT_ERROR_OUT_OF_MEMORY; - } - - // Helper function to determine media type based on file extension - const char* get_media_type(const char* filename) { - const char* ext = strrchr(filename, '.'); - if (ext == NULL) return "document"; // No extension, treat as document - - ext++; // Skip the dot - - // Convert to lowercase for comparison - char ext_lower[10]; - int i = 0; - while (ext[i] != '\0' && i < 9) { - ext_lower[i] = (ext[i] >= 'A' && ext[i] <= 'Z') ? ext[i] - 'A' + 'a' : ext[i]; - i++; - } - ext_lower[i] = '\0'; - - // Check for photo extensions - if (strcmp(ext_lower, "jpg") == 0 || strcmp(ext_lower, "jpeg") == 0 || - strcmp(ext_lower, "png") == 0 || strcmp(ext_lower, "bmp") == 0 || - strcmp(ext_lower, "tiff") == 0 || strcmp(ext_lower, "webp") == 0) { - return "photo"; - } - // Check for video extensions - else if (strcmp(ext_lower, "mp4") == 0 || strcmp(ext_lower, "mpeg") == 0 || - strcmp(ext_lower, "avi") == 0 || strcmp(ext_lower, "mov") == 0 || - strcmp(ext_lower, "mkv") == 0 || strcmp(ext_lower, "wmv") == 0 || - strcmp(ext_lower, "flv") == 0 || strcmp(ext_lower, "webm") == 0 || - strcmp(ext_lower, "3gp") == 0 || strcmp(ext_lower, "m4v") == 0) { - return "video"; - } - // Check for audio extensions - else if (strcmp(ext_lower, "mp3") == 0 || strcmp(ext_lower, "m4a") == 0 || - strcmp(ext_lower, "flac") == 0 || strcmp(ext_lower, "ogg") == 0 || - strcmp(ext_lower, "oga") == 0 || strcmp(ext_lower, "wav") == 0 || - strcmp(ext_lower, "aac") == 0 || strcmp(ext_lower, "opus") == 0) { - return "audio"; - } - // Everything else is treated as document (including gif) - else { - return "document"; - } + return telebot_core_get_error_response(TELEBOT_ERROR_OUT_OF_MEMORY); } // Determine media types for validation - const char **media_types = calloc(count, sizeof(char*)); + const char **media_types = calloc(count, sizeof(char *)); if (media_types == NULL) { - for (int i = 0; i < count; i++) { + for (int i = 0; i < count; i++) + { free(filenames[i]); } free(filenames); json_object_put(media_array); ERR("Failed to allocate memory for media types"); - return TELEBOT_ERROR_OUT_OF_MEMORY; + return telebot_core_get_error_response(TELEBOT_ERROR_OUT_OF_MEMORY); + ; } for (int i = 0; i < count; ++i) @@ -1176,21 +1141,27 @@ telebot_error_e telebot_core_send_media_group( free(media_types); json_object_put(media_array); ERR("Failed to duplicate filename"); - return TELEBOT_ERROR_OUT_OF_MEMORY; + return telebot_core_get_error_response(TELEBOT_ERROR_OUT_OF_MEMORY); + ; } // Determine media type - media_types[i] = get_media_type(filename); + media_types[i] = telebot_core_get_media_type(filename); } // Validate media group composition // Count unique types in the group int photo_count = 0, video_count = 0, audio_count = 0, document_count = 0; - for (int i = 0; i < count; i++) { - if (strcmp(media_types[i], "photo") == 0) photo_count++; - else if (strcmp(media_types[i], "video") == 0) video_count++; - else if (strcmp(media_types[i], "audio") == 0) audio_count++; - else if (strcmp(media_types[i], "document") == 0) document_count++; + for (int i = 0; i < count; i++) + { + if (strcmp(media_types[i], "photo") == 0) + photo_count++; + else if (strcmp(media_types[i], "video") == 0) + video_count++; + else if (strcmp(media_types[i], "audio") == 0) + audio_count++; + else if (strcmp(media_types[i], "document") == 0) + document_count++; } // Check valid combinations: @@ -1198,24 +1169,29 @@ telebot_error_e telebot_core_send_media_group( // 2. Mixed photo and video only bool valid_combination = false; - if (photo_count == count || video_count == count || audio_count == count || document_count == count) { + if (photo_count == count || video_count == count || audio_count == count || document_count == count) + { // All same type - valid valid_combination = true; - } else if (photo_count > 0 && video_count > 0 && audio_count == 0 && document_count == 0) { + } + else if (photo_count > 0 && video_count > 0 && audio_count == 0 && document_count == 0) + { // Mixed photo and video only - valid valid_combination = true; } - if (!valid_combination) { + if (!valid_combination) + { // Free allocated resources - for (int i = 0; i < count; i++) { + for (int i = 0; i < count; i++) + { free(filenames[i]); } free(filenames); free(media_types); json_object_put(media_array); ERR("Invalid media group composition: only homogeneous groups or mixed photo/video groups are allowed"); - return TELEBOT_ERROR_INVALID_PARAMETER; + return telebot_core_get_error_response(TELEBOT_ERROR_INVALID_PARAMETER); } // Create JSON objects for media array @@ -1245,7 +1221,7 @@ telebot_error_e telebot_core_send_media_group( free(filenames); json_object_put(media_array); ERR("Failed to serialize media JSON"); - return TELEBOT_ERROR_OPERATION_FAILED; + return telebot_core_get_error_response(TELEBOT_ERROR_OPERATION_FAILED); } // Prepare MIME parts @@ -1290,8 +1266,7 @@ telebot_error_e telebot_core_send_media_group( } // Perform request - telebot_error_e ret = telebot_core_curl_perform( - core_h, TELEBOT_METHOD_SEND_MEDIA_GROUP, mimes, index, response); + telebot_core_response_t response = telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_MEDIA_GROUP, mimes, index); // Clean up allocated filenames for (int i = 0; i < count; i++) @@ -1299,24 +1274,18 @@ telebot_error_e telebot_core_send_media_group( free(filenames[i]); } free(filenames); - + // Clean up JSON object json_object_put(media_array); - return ret; + return response; } -telebot_error_e telebot_core_send_location(telebot_core_handler_t *core_h, - long long int chat_id, float latitude, float longitude, int live_period, - bool disable_notification, int reply_to_message_id, const char *reply_markup, - telebot_core_response_t *response) +telebot_core_response_t +telebot_core_send_location(telebot_core_handler_t core_h, long long int chat_id, float latitude, float longitude, + int live_period, bool disable_notification, int reply_to_message_id, + const char *reply_markup) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } - int index = 0; telebot_core_mime_t mimes[7]; // number of arguments mimes[index].name = "chat_id"; @@ -1363,20 +1332,14 @@ telebot_error_e telebot_core_send_location(telebot_core_handler_t *core_h, ++index; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_LOCATION, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_LOCATION, mimes, index); } -telebot_error_e telebot_core_edit_message_live_location(telebot_core_handler_t *core_h, - long long int chat_id, int message_id, const char *inline_message_id, - float latitude, float longitude, const char *reply_markup, - telebot_core_response_t *response) +telebot_core_response_t +telebot_core_edit_message_live_location(telebot_core_handler_t core_h, long long int chat_id, int message_id, + const char *inline_message_id, float latitude, float longitude, + const char *reply_markup) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } - int index = 0; telebot_core_mime_t mimes[6]; // number of arguments mimes[index].name = "chat_id"; @@ -1418,19 +1381,13 @@ telebot_error_e telebot_core_edit_message_live_location(telebot_core_handler_t * ++index; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_EDIT_MESSAGE_LIVE_LOCATION, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_EDIT_MESSAGE_LIVE_LOCATION, mimes, index); } -telebot_error_e telebot_core_stop_message_live_location(telebot_core_handler_t *core_h, - long long int chat_id, int message_id, char *inline_message_id, - const char *reply_markup, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_stop_message_live_location(telebot_core_handler_t core_h, long long int chat_id, int message_id, + char *inline_message_id, const char *reply_markup) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } - int index = 0; telebot_core_mime_t mimes[4]; // number of arguments mimes[index].name = "chat_id"; @@ -1462,21 +1419,16 @@ telebot_error_e telebot_core_stop_message_live_location(telebot_core_handler_t * ++index; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_STOP_MESSAGE_LIVE_LOCATION, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_STOP_MESSAGE_LIVE_LOCATION, mimes, index); } -telebot_error_e telebot_core_send_venue(telebot_core_handler_t *core_h, - long long int chat_id, float latitude, float longitude, const char *title, - const char *address, const char *foursquare_id, const char *foursquare_type, - bool disable_notification, int reply_to_message_id, const char *reply_markup, - telebot_core_response_t *response) +telebot_core_response_t +telebot_core_send_venue(telebot_core_handler_t core_h, long long int chat_id, float latitude, float longitude, + const char *title, const char *address, const char *foursquare_id, const char *foursquare_type, + bool disable_notification, int reply_to_message_id, const char *reply_markup) { - if ((core_h == NULL) || (core_h->token == NULL) || (title == NULL) || - (address == NULL)) - { - ERR("Handler, token, title, or address is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_NULL(title); + CHECK_ARG_NULL(address); int index = 0; telebot_core_mime_t mimes[10]; // number of arguments @@ -1542,20 +1494,16 @@ telebot_error_e telebot_core_send_venue(telebot_core_handler_t *core_h, ++index; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_VENUE, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_VENUE, mimes, index); } -telebot_error_e telebot_core_send_contact(telebot_core_handler_t *core_h, - long long int chat_id, const char *phone_number, const char *first_name, - const char *last_name, const char *vcard, bool disable_notification, - int reply_to_message_id, const char *reply_markup, - telebot_core_response_t *response) +telebot_core_response_t +telebot_core_send_contact(telebot_core_handler_t core_h, long long int chat_id, const char *phone_number, + const char *first_name, const char *last_name, const char *vcard, bool disable_notification, + int reply_to_message_id, const char *reply_markup) { - if ((core_h == NULL) || (core_h->token == NULL) || (phone_number == NULL) || (first_name == NULL)) - { - ERR("Handler, token, phone_number, or first_name is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_NULL(phone_number); + CHECK_ARG_NULL(first_name); int index = 0; telebot_core_mime_t mimes[8]; // number of arguments @@ -1611,21 +1559,16 @@ telebot_error_e telebot_core_send_contact(telebot_core_handler_t *core_h, ++index; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_CONTACT, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_CONTACT, mimes, index); } -telebot_error_e telebot_core_send_poll(telebot_core_handler_t *core_h, - long long int chat_id, const char *question, const char *options, - bool is_anonymous, const char *type, bool allows_multiple_answers, - int correct_option_id, bool is_closed, bool disable_notification, - int reply_to_message_id, const char *reply_markup, - telebot_core_response_t *response) +telebot_core_response_t +telebot_core_send_poll(telebot_core_handler_t core_h, long long int chat_id, const char *question, const char *options, + bool is_anonymous, const char *type, bool allows_multiple_answers, int correct_option_id, + bool is_closed, bool disable_notification, int reply_to_message_id, const char *reply_markup) { - if ((core_h == NULL) || (core_h->token == NULL) || (question == NULL) || (options == NULL)) - { - ERR("Handler, token, phone_number, or first_name is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_NULL(question); + CHECK_ARG_NULL(options); int index = 0; telebot_core_mime_t mimes[11]; // number of arguments @@ -1696,19 +1639,13 @@ telebot_error_e telebot_core_send_poll(telebot_core_handler_t *core_h, ++index; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_POLL, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_POLL, mimes, index); } -telebot_error_e telebot_core_send_dice(telebot_core_handler_t *core_h, - long long int chat_id, bool disable_notification, int reply_to_message_id, - const char *reply_markup, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_send_dice(telebot_core_handler_t core_h, long long int chat_id, bool disable_notification, + int reply_to_message_id, const char *reply_markup) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler, token, phone_number, or first_name is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } - int index = 0; telebot_core_mime_t mimes[4]; // number of arguments mimes[index].name = "chat_id"; @@ -1737,17 +1674,13 @@ telebot_error_e telebot_core_send_dice(telebot_core_handler_t *core_h, ++index; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_DICE, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_DICE, mimes, index); } -telebot_error_e telebot_core_send_chat_action(telebot_core_handler_t *core_h, - long long int chat_id, const char *action, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_send_chat_action(telebot_core_handler_t core_h, long long int chat_id, const char *action) { - if ((core_h == NULL) || (core_h->token == NULL) || (action == NULL)) - { - ERR("Handler, token or action is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_NULL(action); int index = 0; telebot_core_mime_t mimes[2]; // number of arguments @@ -1761,23 +1694,13 @@ telebot_error_e telebot_core_send_chat_action(telebot_core_handler_t *core_h, snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", action); ++index; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_CHAT_ACTION, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_CHAT_ACTION, mimes, index); } -telebot_error_e telebot_core_get_user_profile_photos(telebot_core_handler_t *core_h, - int user_id, int offset, int limit, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_get_user_profile_photos(telebot_core_handler_t core_h, int user_id, int offset, int limit) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } - - if (user_id <= 0) - { - ERR("Invalid value of user_id"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_CONDITION((user_id <= 0), "Invalid value of user_id"); int index = 0; telebot_core_mime_t mimes[3]; // number of arguments @@ -1796,17 +1719,13 @@ telebot_error_e telebot_core_get_user_profile_photos(telebot_core_handler_t *cor snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", limit); ++index; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_USER_PHOTOS, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_USER_PHOTOS, mimes, index); } -telebot_error_e telebot_core_get_file(telebot_core_handler_t *core_h, const char *file_id, - telebot_core_response_t *response) +telebot_core_response_t +telebot_core_get_file(telebot_core_handler_t core_h, const char *file_id) { - if ((core_h == NULL) || (core_h->token == NULL) || (file_id == NULL)) - { - ERR("Handler, token or file_id is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_NULL(file_id); int index = 0; telebot_core_mime_t mimes[1]; // number of arguments @@ -1815,22 +1734,21 @@ telebot_error_e telebot_core_get_file(telebot_core_handler_t *core_h, const char snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", file_id); ++index; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_FILE, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_FILE, mimes, index); } -static size_t write_file_cb(void *contents, size_t size, size_t nmemb, - void *userp) +static size_t +write_file_cb(void *contents, size_t size, size_t nmemb, void *userp) { size_t written = fwrite(contents, size, nmemb, (FILE *)userp); return written; } -telebot_error_e telebot_core_download_file(telebot_core_handler_t *core_h, - const char *file_path, const char *out_file) +telebot_error_e +telebot_core_download_file(telebot_core_handler_t core_h, const char *file_path, const char *out_file) { int ret = TELEBOT_ERROR_NONE; - if ((core_h == NULL) || (core_h->token == NULL) || (file_path == NULL) || - (out_file == NULL)) + if ((core_h == NULL) || (core_h->token == NULL) || (file_path == NULL) || (out_file == NULL)) return TELEBOT_ERROR_INVALID_PARAMETER; CURL *curl_h = NULL; @@ -1840,7 +1758,7 @@ telebot_error_e telebot_core_download_file(telebot_core_handler_t *core_h, FILE *fp = fopen(out_file, "w"); if (fp == NULL) { - ret = TELEBOT_ERROR_INVALID_PARAMETER; + ret = TELEBOT_ERROR_OPERATION_FAILED; goto finish; } @@ -1887,20 +1805,10 @@ telebot_error_e telebot_core_download_file(telebot_core_handler_t *core_h, return ret; } -telebot_error_e telebot_core_kick_chat_member(telebot_core_handler_t *core_h, - long long int chat_id, int user_id, long until_date, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_kick_chat_member(telebot_core_handler_t core_h, long long int chat_id, int user_id, long until_date) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler, or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } - - if (user_id <= 0) - { - ERR("Valid user_id is required"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_CONDITION((user_id <= 0), "Valid user_id is required"); int index = 0; telebot_core_mime_t mimes[3]; // number of arguments @@ -1922,23 +1830,13 @@ telebot_error_e telebot_core_kick_chat_member(telebot_core_handler_t *core_h, ++index; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_KICK_CHAT_MEMBER, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_KICK_CHAT_MEMBER, mimes, index); } -telebot_error_e telebot_core_unban_chat_member(telebot_core_handler_t *core_h, - long long int chat_id, int user_id, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_unban_chat_member(telebot_core_handler_t core_h, long long int chat_id, int user_id) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler, or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } - - if (user_id <= 0) - { - ERR("Valid user_id is required"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_CONDITION((user_id <= 0), "Valid user_id is required"); int index = 0; telebot_core_mime_t mimes[2]; // number of arguments @@ -1952,26 +1850,16 @@ telebot_error_e telebot_core_unban_chat_member(telebot_core_handler_t *core_h, snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", user_id); ++index; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_UNBAN_CHAT_MEMBER, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_UNBAN_CHAT_MEMBER, mimes, index); } -telebot_error_e telebot_core_restrict_chat_member(telebot_core_handler_t *core_h, - long long int chat_id, int user_id, long until_date, bool can_send_messages, - bool can_send_media_messages, bool can_send_polls, bool can_send_other_messages, - bool can_add_web_page_previews, bool can_change_info, bool can_invite_users, - bool can_pin_messages, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_restrict_chat_member(telebot_core_handler_t core_h, long long int chat_id, int user_id, long until_date, + bool can_send_messages, bool can_send_media_messages, bool can_send_polls, + bool can_send_other_messages, bool can_add_web_page_previews, bool can_change_info, + bool can_invite_users, bool can_pin_messages) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler, or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } - - if (user_id <= 0) - { - ERR("Valid user_id is required"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_CONDITION((user_id <= 0), "Valid user_id is required"); int index = 0; telebot_core_mime_t mimes[11]; // number of arguments @@ -2033,26 +1921,16 @@ telebot_error_e telebot_core_restrict_chat_member(telebot_core_handler_t *core_h snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (can_pin_messages ? "true" : "false")); ++index; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_RESTRICT_CHAT_MEMBER, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_RESTRICT_CHAT_MEMBER, mimes, index); } -telebot_error_e telebot_core_promote_chat_member(telebot_core_handler_t *core_h, - long long int chat_id, int user_id, bool can_change_info, bool can_post_messages, - bool can_edit_messages, bool can_delete_messages, bool can_invite_users, - bool can_restrict_members, bool can_pin_messages, bool can_promote_members, - telebot_core_response_t *response) +telebot_core_response_t +telebot_core_promote_chat_member(telebot_core_handler_t core_h, long long int chat_id, int user_id, bool can_change_info, + bool can_post_messages, bool can_edit_messages, bool can_delete_messages, + bool can_invite_users, bool can_restrict_members, bool can_pin_messages, + bool can_promote_members) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler, or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } - - if (user_id <= 0) - { - ERR("Valid user_id is required"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_CONDITION((user_id <= 0), "Valid user_id is required"); int index = 0; telebot_core_mime_t mimes[10]; // number of arguments @@ -2106,24 +1984,14 @@ telebot_error_e telebot_core_promote_chat_member(telebot_core_handler_t *core_h, snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (can_promote_members ? "true" : "false")); ++index; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_PROMOTE_CHAT_MEMBER, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_PROMOTE_CHAT_MEMBER, mimes, index); } -telebot_error_e telebot_core_set_chat_admin_custom_title(telebot_core_handler_t *core_h, - long long int chat_id, int user_id, const char *custom_title, - telebot_core_response_t *response) +telebot_core_response_t +telebot_core_set_chat_admin_custom_title(telebot_core_handler_t core_h, long long int chat_id, int user_id, + const char *custom_title) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler, or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } - - if (user_id <= 0) - { - ERR("Valid user_id is required"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_CONDITION((user_id <= 0), "Valid user_id is required"); int index = 0; telebot_core_mime_t mimes[3]; // number of arguments @@ -2142,21 +2010,15 @@ telebot_error_e telebot_core_set_chat_admin_custom_title(telebot_core_handler_t snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", custom_title); ++index; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_CHAT_ADMIN_TITLE, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_CHAT_ADMIN_TITLE, mimes, index); } -telebot_error_e telebot_core_set_chat_permissions(telebot_core_handler_t *core_h, - long long int chat_id, bool can_send_messages, bool can_send_media_messages, - bool can_send_polls, bool can_send_other_messages, bool can_add_web_page_previews, - bool can_change_info, bool can_invite_users, bool can_pin_messages, - telebot_core_response_t *response) +telebot_core_response_t +telebot_core_set_chat_permissions(telebot_core_handler_t core_h, long long int chat_id, bool can_send_messages, + bool can_send_media_messages, bool can_send_polls, bool can_send_other_messages, + bool can_add_web_page_previews, bool can_change_info, bool can_invite_users, + bool can_pin_messages) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler, or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } - int index = 0; telebot_core_mime_t mimes[9]; // number of arguments mimes[index].name = "chat_id"; @@ -2204,18 +2066,12 @@ telebot_error_e telebot_core_set_chat_permissions(telebot_core_handler_t *core_h snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (can_pin_messages ? "true" : "false")); ++index; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_CHAT_PERMISSIONS, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_CHAT_PERMISSIONS, mimes, index); } -telebot_error_e telebot_core_export_chat_invite_link(telebot_core_handler_t *core_h, - long long int chat_id, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_export_chat_invite_link(telebot_core_handler_t core_h, long long int chat_id) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler, or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } - int index = 0; telebot_core_mime_t mimes[1]; // number of arguments mimes[index].name = "chat_id"; @@ -2223,23 +2079,13 @@ telebot_error_e telebot_core_export_chat_invite_link(telebot_core_handler_t *cor snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); ++index; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_EXPORT_CHAT_INVITE_LINK, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_EXPORT_CHAT_INVITE_LINK, mimes, index); } -telebot_error_e telebot_core_set_chat_photo(telebot_core_handler_t *core_h, - long long int chat_id, const char *photo, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_set_chat_photo(telebot_core_handler_t core_h, long long int chat_id, const char *photo) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler, or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } - - if (photo == NULL) - { - ERR("Valid photo is required"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_NULL(photo); int index = 0; telebot_core_mime_t mimes[2]; // number of arguments @@ -2253,17 +2099,13 @@ telebot_error_e telebot_core_set_chat_photo(telebot_core_handler_t *core_h, snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", photo); ++index; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_CHAT_PHOTO, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_CHAT_PHOTO, mimes, index); } -telebot_error_e telebot_core_delete_chat_photo(telebot_core_handler_t *core_h, - long long int chat_id, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_delete_chat_photo(telebot_core_handler_t core_h, long long int chat_id) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler, or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_CONDITION((chat_id <= 0), "Invalid chat id"); int index = 0; telebot_core_mime_t mimes[1]; // number of arguments @@ -2272,23 +2114,14 @@ telebot_error_e telebot_core_delete_chat_photo(telebot_core_handler_t *core_h, snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); ++index; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_DELETE_CHAT_PHOTO, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_DELETE_CHAT_PHOTO, mimes, index); } -telebot_error_e telebot_core_set_chat_title(telebot_core_handler_t *core_h, - long long int chat_id, const char *title, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_set_chat_title(telebot_core_handler_t core_h, long long int chat_id, const char *title) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler, or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } - - if ((title == NULL) || (strlen(title) > 255)) - { - ERR("Valid title is required"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_CONDITION((chat_id <= 0), "Valid chat id is required"); + CHECK_ARG_CONDITION((title == NULL) || (strlen(title) > 255), "Valid title is required"); int index = 0; telebot_core_mime_t mimes[2]; // number of arguments @@ -2302,23 +2135,15 @@ telebot_error_e telebot_core_set_chat_title(telebot_core_handler_t *core_h, snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", title); ++index; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_CHAT_TITLE, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_CHAT_TITLE, mimes, index); } -telebot_error_e telebot_core_set_chat_description(telebot_core_handler_t *core_h, - long long int chat_id, const char *description, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_set_chat_description(telebot_core_handler_t core_h, long long int chat_id, const char *description) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler, or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } - - if ((description == NULL) || (strlen(description) > 255)) - { - ERR("Valid title is required"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_CONDITION((chat_id <= 0), "Valid chat id is required"); + CHECK_ARG_CONDITION((description == NULL) || (strlen(description) > 255), + "Valid description is required"); int index = 0; telebot_core_mime_t mimes[2]; // number of arguments @@ -2332,24 +2157,15 @@ telebot_error_e telebot_core_set_chat_description(telebot_core_handler_t *core_h snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", description); ++index; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_CHAT_DESCRIPTION, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_CHAT_DESCRIPTION, mimes, index); } -telebot_error_e telebot_core_pin_chat_message(telebot_core_handler_t *core_h, - long long int chat_id, int message_id, bool disable_notification, - telebot_core_response_t *response) +telebot_core_response_t +telebot_core_pin_chat_message(telebot_core_handler_t core_h, long long int chat_id, int message_id, + bool disable_notification) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler, or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } - - if (message_id <= 0) - { - ERR("Valid message_id is required"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_CONDITION((chat_id <= 0), "Valid chat id is required"); + CHECK_ARG_CONDITION((message_id <= 0), "Valid message_id is required"); int index = 0; telebot_core_mime_t mimes[3]; // number of arguments @@ -2368,17 +2184,13 @@ telebot_error_e telebot_core_pin_chat_message(telebot_core_handler_t *core_h, snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (disable_notification ? "true" : "false")); ++index; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_PIN_CHAT_MESSAGE, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_PIN_CHAT_MESSAGE, mimes, index); } -telebot_error_e telebot_core_unpin_chat_message(telebot_core_handler_t *core_h, - long long int chat_id, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_unpin_chat_message(telebot_core_handler_t core_h, long long int chat_id) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler, or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_CONDITION((chat_id <= 0), "Valid chat id is required"); int index = 0; telebot_core_mime_t mimes[1]; // number of arguments @@ -2387,17 +2199,13 @@ telebot_error_e telebot_core_unpin_chat_message(telebot_core_handler_t *core_h, snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); ++index; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_UNPIN_CHAT_MESSAGE, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_UNPIN_CHAT_MESSAGE, mimes, index); } -telebot_error_e telebot_core_leave_chat(telebot_core_handler_t *core_h, - long long int chat_id, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_leave_chat(telebot_core_handler_t core_h, long long int chat_id) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler, or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_CONDITION((chat_id <= 0), "Valid chat id is required"); int index = 0; telebot_core_mime_t mimes[1]; // number of arguments @@ -2406,17 +2214,13 @@ telebot_error_e telebot_core_leave_chat(telebot_core_handler_t *core_h, snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); ++index; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_LEAVE_CHAT, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_LEAVE_CHAT, mimes, index); } -telebot_error_e telebot_core_get_chat(telebot_core_handler_t *core_h, - long long int chat_id, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_get_chat(telebot_core_handler_t core_h, long long int chat_id) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler, or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_CONDITION((chat_id <= 0), "Valid chat id is required"); int index = 0; telebot_core_mime_t mimes[1]; // number of arguments @@ -2425,17 +2229,13 @@ telebot_error_e telebot_core_get_chat(telebot_core_handler_t *core_h, snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); ++index; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_CHAT, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_CHAT, mimes, index); } -telebot_error_e telebot_core_get_chat_admins(telebot_core_handler_t *core_h, - long long int chat_id, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_get_chat_admins(telebot_core_handler_t core_h, long long int chat_id) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler, or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_CONDITION((chat_id <= 0), "Valid chat id is required"); int index = 0; telebot_core_mime_t mimes[1]; // number of arguments @@ -2444,17 +2244,13 @@ telebot_error_e telebot_core_get_chat_admins(telebot_core_handler_t *core_h, snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); ++index; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_CHAT_ADMINS, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_CHAT_ADMINS, mimes, index); } -telebot_error_e telebot_core_get_chat_members_count(telebot_core_handler_t *core_h, - long long int chat_id, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_get_chat_members_count(telebot_core_handler_t core_h, long long int chat_id) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler, or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_CONDITION((chat_id <= 0), "Valid chat id is required"); int index = 0; telebot_core_mime_t mimes[1]; // number of arguments @@ -2463,23 +2259,14 @@ telebot_error_e telebot_core_get_chat_members_count(telebot_core_handler_t *core snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); ++index; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_CHAT_MEMBERS_COUNT, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_CHAT_MEMBERS_COUNT, mimes, index); } -telebot_error_e telebot_core_get_chat_member(telebot_core_handler_t *core_h, - long long int chat_id, int user_id, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_get_chat_member(telebot_core_handler_t core_h, long long int chat_id, int user_id) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler, or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } - - if (user_id <= 0) - { - ERR("Valid user_id is required"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_CONDITION((chat_id <= 0), "Valid chat id is required"); + CHECK_ARG_CONDITION((user_id <= 0), "Valid user_id is required"); int index = 0; telebot_core_mime_t mimes[2]; // number of arguments @@ -2493,24 +2280,14 @@ telebot_error_e telebot_core_get_chat_member(telebot_core_handler_t *core_h, snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", user_id); ++index; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_CHAT_MEMBER, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_CHAT_MEMBER, mimes, index); } -telebot_error_e telebot_core_set_chat_sticker_set(telebot_core_handler_t *core_h, - long long int chat_id, const char *sticker_set_name, - telebot_core_response_t *response) +telebot_core_response_t +telebot_core_set_chat_sticker_set(telebot_core_handler_t core_h, long long int chat_id, const char *sticker_set_name) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler, or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } - - if (sticker_set_name == NULL) - { - ERR("Valid sticker_set_name is required"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_CONDITION((chat_id <= 0), "Valid chat id is required"); + CHECK_ARG_NULL(sticker_set_name); int index = 0; telebot_core_mime_t mimes[2]; // number of arguments @@ -2524,17 +2301,13 @@ telebot_error_e telebot_core_set_chat_sticker_set(telebot_core_handler_t *core_h snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", sticker_set_name); ++index; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_CHAT_STICKER_SET, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_CHAT_STICKER_SET, mimes, index); } -telebot_error_e telebot_core_delete_chat_sticker_set(telebot_core_handler_t *core_h, - long long int chat_id, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_delete_chat_sticker_set(telebot_core_handler_t core_h, long long int chat_id) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler, or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_CONDITION((chat_id <= 0), "Valid chat id is required"); int index = 0; telebot_core_mime_t mimes[1]; // number of arguments @@ -2543,19 +2316,14 @@ telebot_error_e telebot_core_delete_chat_sticker_set(telebot_core_handler_t *cor snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); ++index; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_DEL_CHAT_STICKER_SET, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_DEL_CHAT_STICKER_SET, mimes, index); } -telebot_error_e telebot_core_answer_callback_query(telebot_core_handler_t *core_h, - const char *callback_query_id, const char *text, bool show_alert, - const char *url, int cache_time, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_answer_callback_query(telebot_core_handler_t core_h, const char *callback_query_id, const char *text, + bool show_alert, const char *url, int cache_time) { - if ((core_h == NULL) || (core_h->token == NULL) || - (callback_query_id == NULL)) - { - ERR("Handler, token or callback_query_id is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_NULL(callback_query_id); int index = 0; telebot_core_mime_t mimes[5]; // number of arguments @@ -2593,17 +2361,13 @@ telebot_error_e telebot_core_answer_callback_query(telebot_core_handler_t *core_ ++index; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_ANSWER_CALLBACK_QUERY, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_ANSWER_CALLBACK_QUERY, mimes, index); } -telebot_error_e telebot_core_set_my_commands(telebot_core_handler_t *core_h, - const char *commands, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_set_my_commands(telebot_core_handler_t core_h, const char *commands) { - if ((core_h == NULL) || (core_h->token == NULL) || (commands == NULL)) - { - ERR("Handler, token, or commands is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_NULL(commands); int index = 0; telebot_core_mime_t mimes[1]; // number of arguments @@ -2612,36 +2376,24 @@ telebot_error_e telebot_core_set_my_commands(telebot_core_handler_t *core_h, snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", commands); ++index; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_MY_COMMANDS, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_MY_COMMANDS, mimes, index); } -telebot_error_e telebot_core_get_my_commands(telebot_core_handler_t *core_h, - telebot_core_response_t *response) +telebot_core_response_t +telebot_core_get_my_commands(telebot_core_handler_t core_h) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler, or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } - - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_MY_COMMANDS, NULL, 0, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_MY_COMMANDS, NULL, 0); } -telebot_error_e telebot_core_edit_message_text(telebot_core_handler_t *core_h, - long long int chat_id, int message_id, const char *inline_message_id, - const char *text, const char *parse_mode, bool disable_web_page_preview, - const char *reply_markup, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_edit_message_text(telebot_core_handler_t core_h, long long int chat_id, int message_id, + const char *inline_message_id, const char *text, const char *parse_mode, + bool disable_web_page_preview, const char *reply_markup) { - if ((core_h == NULL) || (core_h->token == NULL) || (text == NULL)) - { - ERR("Handler, token, or text is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } - if (((chat_id == 0) || (message_id <= 0)) && (inline_message_id == NULL)) { ERR("Either valid chat_id & message_id or inline_message_id required"); - return TELEBOT_ERROR_INVALID_PARAMETER; + return telebot_core_get_error_response(TELEBOT_ERROR_INVALID_PARAMETER); } int index = 0; @@ -2693,24 +2445,18 @@ telebot_error_e telebot_core_edit_message_text(telebot_core_handler_t *core_h, ++index; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_EDIT_MESSAGE_TEXT, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_EDIT_MESSAGE_TEXT, mimes, index); } -telebot_error_e telebot_core_edit_message_caption(telebot_core_handler_t *core_h, - long long int chat_id, int message_id, const char *inline_message_id, - const char *caption, const char *parse_mode, const char *reply_markup, - telebot_core_response_t *response) +telebot_core_response_t +telebot_core_edit_message_caption(telebot_core_handler_t core_h, long long int chat_id, int message_id, + const char *inline_message_id, const char *caption, const char *parse_mode, + const char *reply_markup) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } - if (((chat_id == 0) || (message_id <= 0)) && (inline_message_id == NULL)) { ERR("Either valid chat_id & message_id or inline_message_id required"); - return TELEBOT_ERROR_INVALID_PARAMETER; + return telebot_core_get_error_response(TELEBOT_ERROR_INVALID_PARAMETER); } int index = 0; @@ -2757,23 +2503,17 @@ telebot_error_e telebot_core_edit_message_caption(telebot_core_handler_t *core_h ++index; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_EDIT_MESSAGE_CAPTION, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_EDIT_MESSAGE_CAPTION, mimes, index); } -telebot_error_e telebot_core_edit_message_reply_markup(telebot_core_handler_t *core_h, - long long int chat_id, int message_id, const char *inline_message_id, - const char *reply_markup, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_edit_message_reply_markup(telebot_core_handler_t core_h, long long int chat_id, int message_id, + const char *inline_message_id, const char *reply_markup) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } - if (((chat_id == 0) || (message_id <= 0)) && (inline_message_id == NULL)) { ERR("Either valid chat_id & message_id or inline_message_id required"); - return TELEBOT_ERROR_INVALID_PARAMETER; + return telebot_core_get_error_response(TELEBOT_ERROR_INVALID_PARAMETER); } int index = 0; @@ -2807,24 +2547,14 @@ telebot_error_e telebot_core_edit_message_reply_markup(telebot_core_handler_t *c ++index; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_EDIT_MESSAGE_REPLY_MARKUP, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_EDIT_MESSAGE_REPLY_MARKUP, mimes, index); } -telebot_error_e telebot_core_stop_poll(telebot_core_handler_t *core_h, - long long int chat_id, int message_id, const char *reply_markup, - telebot_core_response_t *response) +telebot_core_response_t +telebot_core_stop_poll(telebot_core_handler_t core_h, long long int chat_id, int message_id, const char *reply_markup) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } - - if ((chat_id == 0) || (message_id <= 0)) - { - ERR("Valid chat_id and message_id required"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_CONDITION((chat_id <= 0) || (message_id <= 0), + "Valid chat_id and message_id required"); int index = 0; telebot_core_mime_t mimes[3]; // number of arguments @@ -2846,23 +2576,14 @@ telebot_error_e telebot_core_stop_poll(telebot_core_handler_t *core_h, ++index; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_STOP_POLL, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_STOP_POLL, mimes, index); } -telebot_error_e telebot_core_delete_message(telebot_core_handler_t *core_h, - long long int chat_id, int message_id, telebot_core_response_t *response) +telebot_core_response_t +telebot_core_delete_message(telebot_core_handler_t core_h, long long int chat_id, int message_id) { - if ((core_h == NULL) || (core_h->token == NULL)) - { - ERR("Handler or token is NULL"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } - - if ((message_id) <= 0) - { - ERR("message_id is invalid"); - return TELEBOT_ERROR_INVALID_PARAMETER; - } + CHECK_ARG_CONDITION((chat_id <= 0) || (message_id <= 0), + "Valid chat_id and message_id required"); int index = 0; telebot_core_mime_t mimes[2]; // number of arguments @@ -2876,5 +2597,5 @@ telebot_error_e telebot_core_delete_message(telebot_core_handler_t *core_h, snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", message_id); ++index; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_DELETE_MESSAGE, mimes, index, response); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_DELETE_MESSAGE, mimes, index); } diff --git a/src/telebot-parser.c b/src/telebot-parser.c index 49cbb86..aba8359 100644 --- a/src/telebot-parser.c +++ b/src/telebot-parser.c @@ -22,10 +22,6 @@ #include #include #include -#include -#include -#include -#include #include static const char *telebot_update_type_str[TELEBOT_UPDATE_TYPE_MAX] = { @@ -38,9 +34,12 @@ static const char *telebot_update_type_str[TELEBOT_UPDATE_TYPE_MAX] = { static telebot_error_e telebot_parser_get_photos(struct json_object *obj, telebot_photo_t **photos, int *count); static telebot_error_e telebot_parser_get_users(struct json_object *obj, telebot_user_t **users, int *count); -struct json_object *telebot_parser_str_to_obj(char *data) +struct json_object *telebot_parser_str_to_obj(const char *data) { - return json_tokener_parse(data); + if (data) + return json_tokener_parse(data); + else + return NULL; } telebot_error_e telebot_parser_get_updates(struct json_object *obj, telebot_update_t **updates, int *count) diff --git a/src/telebot.c b/src/telebot.c index 602c99c..42f8ede 100644 --- a/src/telebot.c +++ b/src/telebot.c @@ -25,24 +25,25 @@ #include #include #include -#include -#include #include +#include #include -typedef struct telebot_handler_s +/** + * @brief This object represents handler. + */ +struct telebot_handler { - telebot_core_handler_t *core_h; - int offset; -} telebot_hdata_t; + telebot_core_handler_t core_h; /**< Core handler */ + int offset; /**< Offset value to get updates */ +}; static const char *telebot_update_type_str[TELEBOT_UPDATE_TYPE_MAX] = { "message", "edited_message", "channel_post", "edited_channel_post", "inline_query", "chonse_inline_result", "callback_query", "shipping_query", "pre_checkout_query", - "poll", "poll_answer" -}; + "poll", "poll_answer"}; static void telebot_put_user(telebot_user_t *user); static void telebot_put_chat_photo(telebot_chat_photo_t *photo); @@ -64,16 +65,16 @@ static void telebot_put_location(telebot_location_t *location); static void telebot_put_venue(telebot_venue_t *venue); static void telebot_put_file(telebot_file_t *file); static void telebot_put_callback_query(telebot_callback_query_t *query); -//static void telebot_put_game(telebot_document_t *game); -//static void telebot_put_invoice(telebot_invoice_t *invoice); -//static void telebot_put_payment(telebot_successful_payment_t *payment); +// static void telebot_put_game(telebot_document_t *game); +// static void telebot_put_invoice(telebot_invoice_t *invoice); +// static void telebot_put_payment(telebot_successful_payment_t *payment); telebot_error_e telebot_create(telebot_handler_t *handle, char *token) { if ((token == NULL) || (handle == NULL)) return TELEBOT_ERROR_INVALID_PARAMETER; - telebot_hdata_t *_handle = (telebot_hdata_t *)calloc(1, sizeof(telebot_hdata_t)); + telebot_handler_t _handle = calloc(1, sizeof(struct telebot_handler)); if (_handle == NULL) { ERR("Failed to allocate memory"); @@ -95,12 +96,11 @@ telebot_error_e telebot_create(telebot_handler_t *handle, char *token) telebot_error_e telebot_destroy(telebot_handler_t handle) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; - telebot_core_destroy(&(_handle->core_h)); - TELEBOT_SAFE_FREE(_handle); + telebot_core_destroy(&(handle->core_h)); + TELEBOT_SAFE_FREE(handle); return TELEBOT_ERROR_NONE; } @@ -110,11 +110,10 @@ telebot_error_e telebot_set_proxy(telebot_handler_t handle, char *addr, char *au if (addr == NULL) return TELEBOT_ERROR_INVALID_PARAMETER; - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; - telebot_error_e ret = telebot_core_set_proxy(_handle->core_h, addr, auth); + telebot_error_e ret = telebot_core_set_proxy(handle->core_h, addr, auth); if (ret != TELEBOT_ERROR_NONE) return ret; @@ -126,21 +125,21 @@ telebot_error_e telebot_get_proxy(telebot_handler_t handle, char **addr) if (addr == NULL) return TELEBOT_ERROR_INVALID_PARAMETER; - *addr = NULL; - - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; - return telebot_core_get_proxy(_handle->core_h, addr); + return telebot_core_get_proxy(handle->core_h, addr); } -telebot_error_e telebot_get_updates(telebot_handler_t handle, int offset, - int limit, int timeout, telebot_update_type_e allowed_updates[], - int allowed_updates_count, telebot_update_t **updates, int *count) +telebot_error_e telebot_get_updates(telebot_handler_t handle, int offset, int limit, int timeout, + telebot_update_type_e allowed_updates[], int allowed_updates_count, + telebot_update_t **updates, int *count) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + int ret = TELEBOT_ERROR_NONE; + telebot_core_response_t response; + struct json_object *obj = NULL; + + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if ((updates == NULL) || (count == NULL)) @@ -154,7 +153,8 @@ telebot_error_e telebot_get_updates(telebot_handler_t handle, int offset, if (allowed_updates_count > 0) { array = json_object_new_array(); - for (int i = 0; i < allowed_updates_count; i++) { + for (int i = 0; i < allowed_updates_count; i++) + { const char *item = telebot_update_type_str[allowed_updates[i]]; json_object_array_add(array, json_object_new_string(item)); } @@ -162,22 +162,23 @@ telebot_error_e telebot_get_updates(telebot_handler_t handle, int offset, DBG("Allowed updates: %s", str_allowed_updates); } - int _offset = offset != 0 ? offset : _handle->offset; + int _offset = offset != 0 ? offset : handle->offset; int _timeout = timeout > 0 ? timeout : 0; int _limit = TELEBOT_UPDATE_COUNT_MAX_LIMIT; if ((limit > 0) && (limit < TELEBOT_UPDATE_COUNT_MAX_LIMIT)) _limit = limit; - telebot_core_response_t response; - int ret = telebot_core_get_updates(_handle->core_h, _offset, _limit, _timeout, - str_allowed_updates, &response); - if (ret != TELEBOT_ERROR_NONE) { - if (array) json_object_put(array); - return ret; - } - if (array) json_object_put(array); + response = telebot_core_get_updates(handle->core_h, _offset, _limit, _timeout, str_allowed_updates); + if (array) + json_object_put(array); - struct json_object *obj = telebot_parser_str_to_obj(response.data); + ret = telebot_core_get_response_code(response); + if (ret != TELEBOT_ERROR_NONE) + goto finish; + + const char *response_data = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(response_data); + ; if (obj == NULL) { ret = TELEBOT_ERROR_OPERATION_FAILED; @@ -204,14 +205,15 @@ telebot_error_e telebot_get_updates(telebot_handler_t handle, int offset, telebot_update_t *ups = *updates; for (int index = 0; index < *count; index++) { - if (ups[index].update_id >= _handle->offset) - _handle->offset = ups[index].update_id + 1; + if (ups[index].update_id >= handle->offset) + handle->offset = ups[index].update_id + 1; } } finish: - if (obj) json_object_put(obj); - telebot_core_put_response(&response); + if (obj) + json_object_put(obj); + telebot_core_put_response(response); return ret; } @@ -257,19 +259,23 @@ telebot_error_e telebot_put_updates(telebot_update_t *updates, int count) telebot_error_e telebot_get_me(telebot_handler_t handle, telebot_user_t *me) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + int ret = TELEBOT_ERROR_NONE; + telebot_core_response_t response; + struct json_object *obj = NULL; + + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if (me == NULL) return TELEBOT_ERROR_INVALID_PARAMETER; - telebot_core_response_t response; - int ret = telebot_core_get_me(_handle->core_h, &response); + response = telebot_core_get_me(handle->core_h); + ret = telebot_core_get_response_code(response); if (ret != TELEBOT_ERROR_NONE) - return ret; + goto finish; - struct json_object *obj = telebot_parser_str_to_obj(response.data); + const char *response_data = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(response_data); if (obj == NULL) { ret = TELEBOT_ERROR_OPERATION_FAILED; @@ -293,11 +299,15 @@ telebot_error_e telebot_get_me(telebot_handler_t handle, telebot_user_t *me) ret = telebot_parser_get_user(result, me); finish: - if (ret) telebot_put_me(me); - if (obj) json_object_put(obj); - telebot_core_put_response(&response); + if (ret != TELEBOT_ERROR_NONE) + telebot_put_me(me); - return TELEBOT_ERROR_NONE; + if (obj) + json_object_put(obj); + + telebot_core_put_response(response); + + return ret; } telebot_error_e telebot_put_me(telebot_user_t *me) @@ -310,74 +320,66 @@ telebot_error_e telebot_put_me(telebot_user_t *me) return TELEBOT_ERROR_NONE; } -telebot_error_e telebot_set_webhook(telebot_handler_t handle, char *url, - char *certificate, int max_connections,telebot_update_type_e allowed_updates[], - int allowed_updates_count) +telebot_error_e telebot_set_webhook(telebot_handler_t handle, char *url, char *certificate, int max_connections, + telebot_update_type_e allowed_updates[], int allowed_updates_count) { - int i = 0; - char allowed_updates_str[TELEBOT_BUFFER_PAGE] = { - 0, - }; - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + telebot_core_response_t response; + + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if (url == NULL) return TELEBOT_ERROR_INVALID_PARAMETER; + char allowed_updates_str[TELEBOT_BUFFER_PAGE] = {}; if (allowed_updates_count > 0) { strncat(allowed_updates_str, "[", TELEBOT_BUFFER_BLOCK); - for (i = 0; i < allowed_updates_count; i++) + for (int index = 0; index < allowed_updates_count; index++) { - strncat(allowed_updates_str, telebot_update_type_str[allowed_updates[i]], + strncat(allowed_updates_str, telebot_update_type_str[allowed_updates[index]], TELEBOT_BUFFER_BLOCK); - if (i < (allowed_updates_count - 1)) //intermediate element + if (index < (allowed_updates_count - 1)) // intermediate element strncat(allowed_updates_str, ",", TELEBOT_BUFFER_BLOCK); } strncat(allowed_updates_str, "]", TELEBOT_BUFFER_BLOCK); } - telebot_core_response_t response; - int ret = telebot_core_set_webhook(_handle->core_h, url, certificate, - max_connections, allowed_updates_str, &response); - - telebot_core_put_response(&response); + response = telebot_core_set_webhook(handle->core_h, url, certificate, max_connections, allowed_updates_str); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } telebot_error_e telebot_delete_webhook(telebot_handler_t handle) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; - telebot_core_response_t response; - int ret = telebot_core_delete_webhook(_handle->core_h, &response); - - telebot_core_put_response(&response); + telebot_core_response_t response = telebot_core_delete_webhook(handle->core_h); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } telebot_error_e telebot_get_webhook_info(telebot_handler_t handle, telebot_webhook_info_t *info) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if (info == NULL) return TELEBOT_ERROR_INVALID_PARAMETER; - telebot_core_response_t response; - int ret = telebot_core_get_webhook_info(_handle->core_h, &response); + struct json_object *obj = NULL; + telebot_core_response_t response = telebot_core_get_webhook_info(handle->core_h); + int ret = telebot_core_get_response_code(response); if (ret != TELEBOT_ERROR_NONE) - { - return ret; - } + goto finish; - struct json_object *obj = telebot_parser_str_to_obj(response.data); + const char *response_data = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(response_data); if (obj == NULL) { ret = TELEBOT_ERROR_OPERATION_FAILED; @@ -401,9 +403,13 @@ telebot_error_e telebot_get_webhook_info(telebot_handler_t handle, telebot_webho ret = telebot_parser_get_webhook_info(result, info); finish: - if (ret) telebot_put_webhook_info(info); - if (obj) json_object_put(obj); - telebot_core_put_response(&response); + if (ret != TELEBOT_ERROR_NONE) + telebot_put_webhook_info(info); + + if (obj) + json_object_put(obj); + + telebot_core_put_response(response); return ret; } @@ -419,200 +425,190 @@ telebot_error_e telebot_put_webhook_info(telebot_webhook_info_t *info) return TELEBOT_ERROR_NONE; } -telebot_error_e telebot_send_message(telebot_handler_t handle, long long int chat_id, - const char *text, const char *parse_mode, bool disable_web_page_preview, - bool disable_notification, int reply_to_message_id, const char *reply_markup) +telebot_error_e telebot_send_message(telebot_handler_t handle, long long int chat_id, const char *text, + const char *parse_mode, bool disable_web_page_preview, bool disable_notification, + int reply_to_message_id, const char *reply_markup) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if (text == NULL) return TELEBOT_ERROR_INVALID_PARAMETER; - telebot_core_response_t response; - int ret = telebot_core_send_message(_handle->core_h, chat_id, text, parse_mode, - disable_web_page_preview, disable_notification, reply_to_message_id, - reply_markup, &response); - telebot_core_put_response(&response); + telebot_core_response_t response = telebot_core_send_message(handle->core_h, chat_id, text, parse_mode, + disable_web_page_preview, disable_notification, + reply_to_message_id, reply_markup); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } -telebot_error_e telebot_forward_message(telebot_handler_t handle, long long int chat_id, - long long int from_chat_id, bool disable_notification, int message_id) +telebot_error_e telebot_forward_message(telebot_handler_t handle, long long int chat_id, long long int from_chat_id, + bool disable_notification, int message_id) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if (message_id <= 0) return TELEBOT_ERROR_INVALID_PARAMETER; - telebot_core_response_t response; - int ret = telebot_core_forward_message(_handle->core_h, chat_id, from_chat_id, - disable_notification, message_id, &response); - telebot_core_put_response(&response); + telebot_core_response_t response = telebot_core_forward_message(handle->core_h, chat_id, from_chat_id, + disable_notification, message_id); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } -telebot_error_e telebot_send_photo(telebot_handler_t handle, long long int chat_id, - const char *photo, bool is_file, const char *caption, const char *parse_mode, - bool disable_notification, int reply_to_message_id, const char *reply_markup) +telebot_error_e telebot_send_photo(telebot_handler_t handle, long long int chat_id, const char *photo, bool is_file, + const char *caption, const char *parse_mode, bool disable_notification, + int reply_to_message_id, const char *reply_markup) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + telebot_core_response_t response; + + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if (photo == NULL) return TELEBOT_ERROR_INVALID_PARAMETER; - telebot_core_response_t response; - int ret = telebot_core_send_photo(_handle->core_h, chat_id, photo, is_file, caption, - parse_mode, disable_notification, reply_to_message_id, reply_markup, &response); - telebot_core_put_response(&response); + response = telebot_core_send_photo(handle->core_h, chat_id, photo, is_file, caption, + parse_mode, disable_notification, reply_to_message_id, + reply_markup); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } -telebot_error_e telebot_send_audio(telebot_handler_t handle, long long int chat_id, - const char *audio, bool is_file, const char *caption, const char *parse_mode, - int duration, const char *performer, const char *title, const char *thumb, - bool disable_notification, int reply_to_message_id, const char *reply_markup) +telebot_error_e telebot_send_audio(telebot_handler_t handle, long long int chat_id, const char *audio, bool is_file, + const char *caption, const char *parse_mode, int duration, const char *performer, + const char *title, const char *thumb, bool disable_notification, + int reply_to_message_id, const char *reply_markup) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + telebot_core_response_t response; + + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if (audio == NULL) return TELEBOT_ERROR_INVALID_PARAMETER; - telebot_core_response_t response; - int ret = telebot_core_send_audio(_handle->core_h, chat_id, audio, is_file, caption, - parse_mode, duration, performer, title, thumb, disable_notification, - reply_to_message_id, reply_markup, &response); - telebot_core_put_response(&response); + response = telebot_core_send_audio(handle->core_h, chat_id, audio, is_file, caption, + parse_mode, duration, performer, title, thumb, + disable_notification, reply_to_message_id, reply_markup); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } telebot_error_e telebot_send_document(telebot_handler_t handle, long long int chat_id, - const char *document, bool is_file, const char *thumb, const char *caption, - const char *parse_mode, bool disable_notification, int reply_to_message_id, - const char *reply_markup) + const char *document, bool is_file, const char *thumb, const char *caption, + const char *parse_mode, bool disable_notification, int reply_to_message_id, + const char *reply_markup) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + telebot_core_response_t response; + + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if (document == NULL) return TELEBOT_ERROR_INVALID_PARAMETER; - telebot_core_response_t response; - int ret = telebot_core_send_document(_handle->core_h, chat_id, document, is_file, - thumb, caption, parse_mode, disable_notification, reply_to_message_id, - reply_markup, &response); - telebot_core_put_response(&response); + response = telebot_core_send_document(handle->core_h, chat_id, document, is_file, thumb, caption, parse_mode, + disable_notification, reply_to_message_id, reply_markup); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } -telebot_error_e telebot_send_video(telebot_handler_t handle, long long int chat_id, - const char *video, bool is_file, int duration, int width, int height, - const char *thumb, const char *caption, const char *parse_mode, - bool supports_streaming, bool disable_notification, int reply_to_message_id, - const char *reply_markup) +telebot_error_e telebot_send_video(telebot_handler_t handle, long long int chat_id, const char *video, bool is_file, + int duration, int width, int height, const char *thumb, const char *caption, + const char *parse_mode, bool supports_streaming, bool disable_notification, + int reply_to_message_id, const char *reply_markup) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + telebot_core_response_t response; + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if (video == NULL) return TELEBOT_ERROR_INVALID_PARAMETER; - telebot_core_response_t response; - int ret = telebot_core_send_video(_handle->core_h, chat_id, video, is_file, duration, - width, height, thumb, caption, parse_mode, supports_streaming, disable_notification, - reply_to_message_id, reply_markup, &response); - telebot_core_put_response(&response); + response = telebot_core_send_video(handle->core_h, chat_id, video, is_file, duration, width, height, thumb, + caption, parse_mode, supports_streaming, disable_notification, + reply_to_message_id, reply_markup); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } -telebot_error_e telebot_send_animation(telebot_handler_t handle, long long int chat_id, - const char *animation, bool is_file, int duration, int width, int height, - const char *thumb, const char *caption, const char *parse_mode, - bool disable_notification, int reply_to_message_id, const char *reply_markup) +telebot_error_e telebot_send_animation(telebot_handler_t handle, long long int chat_id, const char *animation, + bool is_file, int duration, int width, int height, const char *thumb, + const char *caption, const char *parse_mode, bool disable_notification, + int reply_to_message_id, const char *reply_markup) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + telebot_core_response_t response; + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if (animation == NULL) return TELEBOT_ERROR_INVALID_PARAMETER; - telebot_core_response_t response; - int ret = telebot_core_send_animation(_handle->core_h, chat_id, animation, is_file, - duration, width, height, thumb, caption, parse_mode, disable_notification, - reply_to_message_id, reply_markup, &response); - if (ret != TELEBOT_ERROR_NONE) - return ret; - telebot_core_put_response(&response); + response = telebot_core_send_animation(handle->core_h, chat_id, animation, is_file, duration, width, height, + thumb, caption, parse_mode, disable_notification, reply_to_message_id, + reply_markup); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); - return TELEBOT_ERROR_NONE; + return ret; } -telebot_error_e telebot_send_voice(telebot_handler_t handle, long long int chat_id, - const char *voice, bool is_file, const char *caption, const char *parse_mode, - int duration, bool disable_notification, int reply_to_message_id, - const char *reply_markup) +telebot_error_e telebot_send_voice(telebot_handler_t handle, long long int chat_id, const char *voice, bool is_file, + const char *caption, const char *parse_mode, int duration, bool disable_notification, + int reply_to_message_id, const char *reply_markup) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + telebot_core_response_t response; + + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if (voice == NULL) return TELEBOT_ERROR_INVALID_PARAMETER; - telebot_core_response_t response; - int ret = telebot_core_send_voice(_handle->core_h, chat_id, voice, is_file, - caption, parse_mode, duration, disable_notification, reply_to_message_id, - reply_markup, &response); - if (ret != TELEBOT_ERROR_NONE) - return ret; - telebot_core_put_response(&response); + response = telebot_core_send_voice(handle->core_h, chat_id, voice, is_file, caption, parse_mode, duration, + disable_notification, reply_to_message_id, reply_markup); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); - return TELEBOT_ERROR_NONE; + return ret; } telebot_error_e telebot_send_video_note(telebot_handler_t handle, long long int chat_id, - char *video_note, bool is_file, int duration, int length, const char *thumb, - bool disable_notification, int reply_to_message_id, const char *reply_markup) + char *video_note, bool is_file, int duration, int length, const char *thumb, + bool disable_notification, int reply_to_message_id, const char *reply_markup) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + telebot_core_response_t response; + + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if (video_note == NULL) return TELEBOT_ERROR_INVALID_PARAMETER; - telebot_core_response_t response; - int ret = telebot_core_send_video_note(_handle->core_h, chat_id, video_note, - is_file, duration, length, thumb, disable_notification, reply_to_message_id, - reply_markup, &response); - telebot_core_put_response(&response); + response = telebot_core_send_video_note(handle->core_h, chat_id, video_note, is_file, duration, length, thumb, + disable_notification, reply_to_message_id, reply_markup); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } -telebot_error_e telebot_send_media_group( - telebot_handler_t handle, - long long int chat_id, - char *media_paths[], - int count, - bool disable_notification, - int reply_to_message_id) +telebot_error_e telebot_send_media_group(telebot_handler_t handle, long long int chat_id, char *media_paths[], + int count, bool disable_notification, int reply_to_message_id) { telebot_hdata_t *_handle = (telebot_hdata_t *)handle; if (_handle == NULL) @@ -622,116 +618,106 @@ telebot_error_e telebot_send_media_group( return TELEBOT_ERROR_INVALID_PARAMETER; telebot_core_response_t response; - telebot_error_e ret = telebot_core_send_media_group( - _handle->core_h, - chat_id, - media_paths, - count, - disable_notification, - reply_to_message_id, - &response); - + telebot_error_e ret = telebot_core_send_media_group(_handle->core_h, chat_id, media_paths, count, disable_notification, + reply_to_message_id, &response); telebot_core_put_response(&response); return ret; } telebot_error_e telebot_send_location(telebot_handler_t handle, long long int chat_id, - float latitude, float longitude, int live_period, bool disable_notification, - int reply_to_message_id, const char *reply_markup) + float latitude, float longitude, int live_period, bool disable_notification, + int reply_to_message_id, const char *reply_markup) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; telebot_core_response_t response; - int ret = telebot_core_send_location(_handle->core_h, chat_id, latitude, longitude, - live_period, disable_notification, reply_to_message_id, reply_markup, &response); - telebot_core_put_response(&response); + response = telebot_core_send_location(handle->core_h, chat_id, latitude, longitude, + live_period, disable_notification, reply_to_message_id, reply_markup); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } telebot_error_e telebot_edit_message_live_location(telebot_handler_t handle, - long long int chat_id, int message_id, const char *inline_message_id, - float latitude, float longitude, const char *reply_markup) + long long int chat_id, int message_id, const char *inline_message_id, + float latitude, float longitude, const char *reply_markup) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; telebot_core_response_t response; - int ret = telebot_core_edit_message_live_location(_handle->core_h, chat_id, - message_id, inline_message_id, latitude, longitude, reply_markup, &response); - telebot_core_put_response(&response); + response = telebot_core_edit_message_live_location(handle->core_h, chat_id, + message_id, inline_message_id, latitude, longitude, reply_markup); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } telebot_error_e telebot_stop_message_live_location(telebot_handler_t handle, - long long int chat_id, int message_id, char *inline_message_id, - const char *reply_markup) + long long int chat_id, int message_id, char *inline_message_id, + const char *reply_markup) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; telebot_core_response_t response; - int ret = telebot_core_stop_message_live_location(_handle->core_h, chat_id, - message_id, inline_message_id, reply_markup, &response); - telebot_core_put_response(&response); + response = telebot_core_stop_message_live_location(handle->core_h, chat_id, message_id, inline_message_id, reply_markup); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } telebot_error_e telebot_send_venue(telebot_handler_t handle, long long int chat_id, - float latitude, float longitude, const char *title, const char *address, - const char *foursquare_id, const char *foursquare_type,bool disable_notification, - int reply_to_message_id, const char *reply_markup) + float latitude, float longitude, const char *title, const char *address, + const char *foursquare_id, const char *foursquare_type, bool disable_notification, + int reply_to_message_id, const char *reply_markup) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if ((title == NULL) || (address == NULL)) return TELEBOT_ERROR_INVALID_PARAMETER; telebot_core_response_t response; - int ret = telebot_core_send_venue(_handle->core_h, chat_id, latitude, longitude, - title, address, foursquare_id, foursquare_type, disable_notification, - reply_to_message_id, reply_markup, &response); - telebot_core_put_response(&response); + response = telebot_core_send_venue(handle->core_h, chat_id, latitude, longitude, title, address, foursquare_id, + foursquare_type, disable_notification, reply_to_message_id, reply_markup); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } telebot_error_e telebot_send_contact(telebot_handler_t handle, long long int chat_id, - const char *phone_number, const char *first_name, const char *last_name, - const char *vcard, bool disable_notification, int reply_to_message_id, - const char *reply_markup) + const char *phone_number, const char *first_name, const char *last_name, + const char *vcard, bool disable_notification, int reply_to_message_id, + const char *reply_markup) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if ((phone_number == NULL) || (first_name == NULL)) return TELEBOT_ERROR_INVALID_PARAMETER; telebot_core_response_t response; - int ret = telebot_core_send_contact(_handle->core_h, chat_id, phone_number, - first_name, last_name, vcard, disable_notification, reply_to_message_id, - reply_markup, &response); - telebot_core_put_response(&response); + response = telebot_core_send_contact(handle->core_h, chat_id, phone_number, + first_name, last_name, vcard, disable_notification, reply_to_message_id, + reply_markup); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } -telebot_error_e telebot_send_poll(telebot_handler_t handle, long long int chat_id, - const char *question, const char **options, int count_options, bool is_anonymous, - const char *type, bool allows_multiple_answers, int correct_option_id, bool is_closed, - bool disable_notification, int reply_to_message_id, const char *reply_markup) +telebot_error_e telebot_send_poll(telebot_handler_t handle, long long int chat_id, const char *question, + const char **options, int count_options, bool is_anonymous, const char *type, + bool allows_multiple_answers, int correct_option_id, bool is_closed, + bool disable_notification, int reply_to_message_id, const char *reply_markup) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if ((question == NULL) || (options == NULL) || (count_options <= 0)) @@ -745,49 +731,48 @@ telebot_error_e telebot_send_poll(telebot_handler_t handle, long long int chat_i DBG("Poll options: %s", array_options); telebot_core_response_t response; - int ret = telebot_core_send_poll(_handle->core_h, chat_id, question, array_options, - is_anonymous, type, allows_multiple_answers, correct_option_id, is_closed, - disable_notification, reply_to_message_id, reply_markup, &response); - telebot_core_put_response(&response); + response = telebot_core_send_poll(handle->core_h, chat_id, question, array_options, is_anonymous, type, + allows_multiple_answers, correct_option_id, is_closed, disable_notification, + reply_to_message_id, reply_markup); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); json_object_put(array); return ret; } -telebot_error_e telebot_send_dice(telebot_handler_t handle, long long int chat_id, - bool disable_notification, int reply_to_message_id, const char *reply_markup) +telebot_error_e telebot_send_dice(telebot_handler_t handle, long long int chat_id, bool disable_notification, + int reply_to_message_id, const char *reply_markup) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; telebot_core_response_t response; - int ret = telebot_core_send_dice(_handle->core_h, chat_id, disable_notification, - reply_to_message_id, reply_markup, &response); - telebot_core_put_response(&response); + response = telebot_core_send_dice(handle->core_h, chat_id, disable_notification, + reply_to_message_id, reply_markup); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } -telebot_error_e telebot_send_chat_action(telebot_handler_t handle, long long int chat_id, - char *action) +telebot_error_e telebot_send_chat_action(telebot_handler_t handle, long long int chat_id, char *action) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; telebot_core_response_t response; - int ret = telebot_core_send_chat_action(_handle->core_h, chat_id, action, &response); - telebot_core_put_response(&response); + response = telebot_core_send_chat_action(handle->core_h, chat_id, action); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } -telebot_error_e telebot_get_user_profile_photos(telebot_handler_t handle, int user_id, - int offset, int limit, telebot_user_profile_photos_t *photos) +telebot_error_e telebot_get_user_profile_photos(telebot_handler_t handle, int user_id, int offset, int limit, + telebot_user_profile_photos_t *photos) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if (photos == NULL) @@ -796,13 +781,15 @@ telebot_error_e telebot_get_user_profile_photos(telebot_handler_t handle, int us if ((limit <= 0) || (limit > TELEBOT_USER_PROFILE_PHOTOS_LIMIT)) limit = TELEBOT_USER_PROFILE_PHOTOS_LIMIT; + struct json_object *obj = NULL; telebot_core_response_t response; - int ret = telebot_core_get_user_profile_photos(_handle->core_h, user_id, offset, - limit, &response); + response = telebot_core_get_user_profile_photos(handle->core_h, user_id, offset, limit); + int ret = telebot_core_get_response_code(response); if (ret != TELEBOT_ERROR_NONE) - return ret; + goto finish; - struct json_object *obj = telebot_parser_str_to_obj(response.data); + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); if (obj == NULL) { ret = TELEBOT_ERROR_OPERATION_FAILED; @@ -826,9 +813,14 @@ telebot_error_e telebot_get_user_profile_photos(telebot_handler_t handle, int us ret = telebot_parser_get_user_profile_photos(result, photos); finish: - if (ret) telebot_put_user_profile_photos(photos); - if (obj) json_object_put(obj); - telebot_core_put_response(&response); + if (ret != TELEBOT_ERROR_NONE) + telebot_put_user_profile_photos(photos); + + if (obj) + json_object_put(obj); + + telebot_core_put_response(response); + return ret; } @@ -851,19 +843,21 @@ telebot_error_e telebot_put_user_profile_photos(telebot_user_profile_photos_t *p telebot_error_e telebot_download_file(telebot_handler_t handle, const char *file_id, const char *path) { telebot_file_t file; - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if (file_id == NULL) return TELEBOT_ERROR_INVALID_PARAMETER; + struct json_object *obj = NULL; telebot_core_response_t response; - int ret = telebot_core_get_file(_handle->core_h, file_id, &response); + response = telebot_core_get_file(handle->core_h, file_id); + int ret = telebot_core_get_response_code(response); if (ret != TELEBOT_ERROR_NONE) - return ret; + goto finish; - struct json_object *obj = telebot_parser_str_to_obj(response.data); + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); if (obj == NULL) { ret = TELEBOT_ERROR_OPERATION_FAILED; @@ -878,7 +872,8 @@ telebot_error_e telebot_download_file(telebot_handler_t handle, const char *file } struct json_object *result = NULL; - if (!json_object_object_get_ex(obj, "result", &result)) { + if (!json_object_object_get_ex(obj, "result", &result)) + { ret = TELEBOT_ERROR_OPERATION_FAILED; goto finish; } @@ -887,145 +882,140 @@ telebot_error_e telebot_download_file(telebot_handler_t handle, const char *file if (ret != TELEBOT_ERROR_NONE) goto finish; - if (file.file_path == NULL) { + if (file.file_path == NULL) + { ret = TELEBOT_ERROR_OPERATION_FAILED; goto finish; } - ret = telebot_core_download_file(_handle->core_h, file.file_path, path); + ret = telebot_core_download_file(handle->core_h, file.file_path, path); finish: telebot_put_file(&file); - if (obj) json_object_put(obj); - telebot_core_put_response(&response); + + if (obj) + json_object_put(obj); + + telebot_core_put_response(response); return ret; } -telebot_error_e telebot_kick_chat_member(telebot_handler_t handle, long long int chat_id, - int user_id, long until_date) +telebot_error_e telebot_kick_chat_member(telebot_handler_t handle, long long int chat_id, int user_id, long until_date) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; - telebot_core_response_t response; - int ret = telebot_core_kick_chat_member(_handle->core_h, chat_id, user_id, - until_date, &response); - telebot_core_put_response(&response); - + telebot_core_response_t response = telebot_core_kick_chat_member(handle->core_h, chat_id, user_id, until_date); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } telebot_error_e telebot_unban_chat_member(telebot_handler_t handle, long long int chat_id, - int user_id) + int user_id) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; - telebot_core_response_t response; - int ret = telebot_core_unban_chat_member(_handle->core_h, chat_id, user_id, &response); - telebot_core_put_response(&response); - + telebot_core_response_t response = telebot_core_unban_chat_member(handle->core_h, chat_id, user_id); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } -telebot_error_e telebot_restrict_chat_member(telebot_handler_t handle, - long long int chat_id, int user_id, long until_date, bool can_send_messages, - bool can_send_media_messages, bool can_send_polls, bool can_send_other_messages, - bool can_add_web_page_previews, bool can_change_info, bool can_invite_users, - bool can_pin_messages) +telebot_error_e telebot_restrict_chat_member(telebot_handler_t handle, long long int chat_id, int user_id, + long until_date, bool can_send_messages, bool can_send_media_messages, + bool can_send_polls, bool can_send_other_messages, + bool can_add_web_page_previews, bool can_change_info, bool can_invite_users, + bool can_pin_messages) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; telebot_core_response_t response; - int ret = telebot_core_restrict_chat_member(_handle->core_h, chat_id, user_id, - until_date, can_send_messages, can_send_media_messages, can_send_polls, - can_send_other_messages, can_add_web_page_previews, can_change_info, - can_invite_users, can_pin_messages, &response); - telebot_core_put_response(&response); - + response = telebot_core_restrict_chat_member(handle->core_h, chat_id, user_id, + until_date, can_send_messages, can_send_media_messages, can_send_polls, + can_send_other_messages, can_add_web_page_previews, can_change_info, + can_invite_users, can_pin_messages); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } telebot_error_e telebot_promote_chat_member(telebot_handler_t handle, - long long int chat_id, int user_id, bool can_change_info, bool can_post_messages, - bool can_edit_messages, bool can_delete_messages, bool can_invite_users, - bool can_restrict_members, bool can_pin_messages, bool can_promote_members) + long long int chat_id, int user_id, bool can_change_info, bool can_post_messages, + bool can_edit_messages, bool can_delete_messages, bool can_invite_users, + bool can_restrict_members, bool can_pin_messages, bool can_promote_members) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; - telebot_core_response_t response; - int ret = telebot_core_promote_chat_member(_handle->core_h, chat_id, user_id, - can_change_info, can_post_messages, can_edit_messages, can_delete_messages, - can_invite_users, can_restrict_members, can_pin_messages, can_promote_members, - &response); - telebot_core_put_response(&response); - + telebot_core_response_t response = telebot_core_promote_chat_member(handle->core_h, chat_id, user_id, + can_change_info, can_post_messages, + can_edit_messages, can_delete_messages, + can_invite_users, can_restrict_members, + can_pin_messages, can_promote_members); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } telebot_error_e telebot_set_chat_admin_custom_title(telebot_handler_t handle, - long long int chat_id, int user_id, const char *custom_title) + long long int chat_id, int user_id, const char *custom_title) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if (custom_title == NULL) return TELEBOT_ERROR_INVALID_PARAMETER; telebot_core_response_t response; - int ret = telebot_core_set_chat_admin_custom_title(_handle->core_h, chat_id, - user_id, custom_title, &response); - telebot_core_put_response(&response); - + response = telebot_core_set_chat_admin_custom_title(handle->core_h, chat_id, + user_id, custom_title); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } - telebot_error_e telebot_set_chat_permissions(telebot_handler_t handle, - long long int chat_id, bool can_send_messages, bool can_send_media_messages, - bool can_send_polls, bool can_send_other_messages, bool can_add_web_page_previews, - bool can_change_info, bool can_invite_users, bool can_pin_messages) + long long int chat_id, bool can_send_messages, bool can_send_media_messages, + bool can_send_polls, bool can_send_other_messages, bool can_add_web_page_previews, + bool can_change_info, bool can_invite_users, bool can_pin_messages) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; telebot_core_response_t response; - int ret = telebot_core_set_chat_permissions(_handle->core_h, chat_id, - can_send_messages, can_send_media_messages, can_send_polls, - can_send_other_messages, can_add_web_page_previews, can_change_info, - can_invite_users, can_pin_messages, &response); - telebot_core_put_response(&response); + response = telebot_core_set_chat_permissions(handle->core_h, chat_id, + can_send_messages, can_send_media_messages, can_send_polls, + can_send_other_messages, can_add_web_page_previews, can_change_info, + can_invite_users, can_pin_messages); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } telebot_error_e telebot_export_chat_invite_link(telebot_handler_t handle, - long long int chat_id, char **invite_link) + long long int chat_id, char **invite_link) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if (invite_link == NULL) return TELEBOT_ERROR_INVALID_PARAMETER; - *invite_link = NULL; - + struct json_object *obj = NULL; telebot_core_response_t response; - int ret = telebot_core_export_chat_invite_link(_handle->core_h, chat_id, &response); + response = telebot_core_export_chat_invite_link(handle->core_h, chat_id); + int ret = telebot_core_get_response_code(response); if (ret != TELEBOT_ERROR_NONE) - return ret; + goto finish; - struct json_object *obj = telebot_parser_str_to_obj(response.data); - if (obj == NULL) { + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); + if (obj == NULL) + { ret = TELEBOT_ERROR_OPERATION_FAILED; goto finish; } @@ -1052,131 +1042,121 @@ telebot_error_e telebot_export_chat_invite_link(telebot_handler_t handle, } finish: - if (obj) json_object_put(obj); - telebot_core_put_response(&response); + if (obj) + json_object_put(obj); + telebot_core_put_response(response); return ret; } telebot_error_e telebot_set_chat_photo(telebot_handler_t handle, long long int chat_id, - const char *photo) + const char *photo) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; - telebot_core_response_t response; - int ret = telebot_core_set_chat_photo(_handle->core_h, chat_id, photo, &response); - telebot_core_put_response(&response); - + telebot_core_response_t response = telebot_core_set_chat_photo(handle->core_h, chat_id, photo); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } telebot_error_e telebot_delete_chat_photo(telebot_handler_t handle, long long int chat_id) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; - telebot_core_response_t response; - int ret = telebot_core_delete_chat_photo(_handle->core_h, chat_id, &response); - telebot_core_put_response(&response); - + telebot_core_response_t response = telebot_core_delete_chat_photo(handle->core_h, chat_id); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } telebot_error_e telebot_set_chat_title(telebot_handler_t handle, long long int chat_id, - const char *title) + const char *title) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if (title == NULL) return TELEBOT_ERROR_INVALID_PARAMETER; - telebot_core_response_t response; - int ret = telebot_core_set_chat_title(_handle->core_h, chat_id, title, &response); - telebot_core_put_response(&response); - + telebot_core_response_t response = telebot_core_set_chat_title(handle->core_h, chat_id, title); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } telebot_error_e telebot_set_chat_description(telebot_handler_t handle, - long long int chat_id, const char *description) + long long int chat_id, const char *description) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if (description == NULL) return TELEBOT_ERROR_INVALID_PARAMETER; - telebot_core_response_t response; - int ret = telebot_core_set_chat_description(_handle->core_h, chat_id, description, - &response); - telebot_core_put_response(&response); - + telebot_core_response_t response = telebot_core_set_chat_description(handle->core_h, chat_id, description); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } telebot_error_e telebot_pin_chat_message(telebot_handler_t handle, long long int chat_id, - int message_id, bool disable_notification) + int message_id, bool disable_notification) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; telebot_core_response_t response; - int ret = telebot_core_pin_chat_message(_handle->core_h, chat_id, message_id, - disable_notification, &response); - telebot_core_put_response(&response); - + response = telebot_core_pin_chat_message(handle->core_h, chat_id, message_id, + disable_notification); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } telebot_error_e telebot_unpin_chat_message(telebot_handler_t handle, long long int chat_id) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; telebot_core_response_t response; - int ret = telebot_core_unpin_chat_message(_handle->core_h, chat_id, &response); - telebot_core_put_response(&response); - + response = telebot_core_unpin_chat_message(handle->core_h, chat_id); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } telebot_error_e telebot_leave_chat(telebot_handler_t handle, long long int chat_id) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; telebot_core_response_t response; - int ret = telebot_core_leave_chat(_handle->core_h, chat_id, &response); - telebot_core_put_response(&response); - + response = telebot_core_leave_chat(handle->core_h, chat_id); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } telebot_error_e telebot_get_chat(telebot_handler_t handle, long long int chat_id, - telebot_chat_t *chat) + telebot_chat_t *chat) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if (chat == NULL) return TELEBOT_ERROR_INVALID_PARAMETER; - telebot_core_response_t response; - int ret = telebot_core_get_chat(_handle->core_h, chat_id, &response); + struct json_object *obj = NULL; + telebot_core_response_t response = telebot_core_get_chat(handle->core_h, chat_id); + int ret = telebot_core_get_response_code(response); if (ret != TELEBOT_ERROR_NONE) - return ret; + goto finish; - struct json_object *obj = telebot_parser_str_to_obj(response.data); + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); if (obj == NULL) { ret = TELEBOT_ERROR_OPERATION_FAILED; @@ -1200,31 +1180,33 @@ telebot_error_e telebot_get_chat(telebot_handler_t handle, long long int chat_id ret = telebot_parser_get_chat(result, chat); finish: - if (ret) telebot_put_chat(chat); - if (obj) json_object_put(obj); - telebot_core_put_response(&response); + if (ret != TELEBOT_ERROR_NONE) + telebot_put_chat(chat); + + if (obj) + json_object_put(obj); + + telebot_core_put_response(response); return ret; } telebot_error_e telebot_get_chat_admins(telebot_handler_t handle, long long int chat_id, - telebot_chat_member_t **admins, int *count) + telebot_chat_member_t **admins, int *count) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if ((admins == NULL) || (count == NULL)) return TELEBOT_ERROR_INVALID_PARAMETER; - *admins = NULL; - *count = 0; - - telebot_core_response_t response; - int ret = telebot_core_get_chat_admins(_handle->core_h, chat_id, &response); + struct json_object *obj = NULL; + telebot_core_response_t response = telebot_core_get_chat_admins(handle->core_h, chat_id); + int ret = telebot_core_get_response_code(response); if (ret != TELEBOT_ERROR_NONE) - return ret; + goto finish; - struct json_object *obj = telebot_parser_str_to_obj(response.data); + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); if (obj == NULL) { ret = TELEBOT_ERROR_OPERATION_FAILED; @@ -1248,9 +1230,13 @@ telebot_error_e telebot_get_chat_admins(telebot_handler_t handle, long long int ret = telebot_parser_get_chat_admins(result, admins, count); finish: - if (ret) telebot_put_chat_admins(*admins, *count); - if (obj) json_object_put(obj); - telebot_core_put_response(&response); + if (ret != TELEBOT_ERROR_NONE) + telebot_put_chat_admins(*admins, *count); + + if (obj) + json_object_put(obj); + + telebot_core_put_response(response); return ret; } @@ -1268,24 +1254,24 @@ telebot_error_e telebot_put_chat_admins(telebot_chat_member_t *admins, int count return TELEBOT_ERROR_NONE; } -telebot_error_e telebot_get_chat_members_count(telebot_handler_t handle, - long long int chat_id, int *count) +telebot_error_e telebot_get_chat_members_count(telebot_handler_t handle, long long int chat_id, int *count) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if (count == NULL) return TELEBOT_ERROR_INVALID_PARAMETER; - *count = 0; - telebot_core_response_t response; - int ret = telebot_core_get_chat_members_count(_handle->core_h, chat_id, &response); + struct json_object *obj = NULL; + telebot_core_response_t response = telebot_core_get_chat_members_count(handle->core_h, chat_id); + int ret = telebot_core_get_response_code(response); if (ret != TELEBOT_ERROR_NONE) - return ret; + goto finish; - struct json_object *obj = telebot_parser_str_to_obj(response.data); - if (obj == NULL) { + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); + if (obj == NULL) + { ret = TELEBOT_ERROR_OPERATION_FAILED; goto finish; } @@ -1304,28 +1290,30 @@ telebot_error_e telebot_get_chat_members_count(telebot_handler_t handle, ret = TELEBOT_ERROR_OPERATION_FAILED; finish: - if (obj) json_object_put(obj); - telebot_core_put_response(&response); + if (obj) + json_object_put(obj); + telebot_core_put_response(response); return ret; } telebot_error_e telebot_get_chat_member(telebot_handler_t handle, long long int chat_id, - int user_id, telebot_chat_member_t *member) + int user_id, telebot_chat_member_t *member) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if (member == NULL) return TELEBOT_ERROR_INVALID_PARAMETER; - telebot_core_response_t response; - int ret = telebot_core_get_chat_member(_handle->core_h, chat_id, user_id, &response); + struct json_object *obj = NULL; + telebot_core_response_t response = telebot_core_get_chat_member(handle->core_h, chat_id, user_id); + int ret = telebot_core_get_response_code(response); if (ret != TELEBOT_ERROR_NONE) - return ret; + goto finish; - struct json_object *obj = telebot_parser_str_to_obj(response.data); + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); if (obj == NULL) { ret = TELEBOT_ERROR_OPERATION_FAILED; @@ -1349,9 +1337,13 @@ telebot_error_e telebot_get_chat_member(telebot_handler_t handle, long long int ret = telebot_parser_get_chat_member(result, member); finish: - if (ret) telebot_put_chat_member(member); - if (obj) json_object_put(obj); - telebot_core_put_response(&response); + if (ret != TELEBOT_ERROR_NONE) + telebot_put_chat_member(member); + + if (obj) + json_object_put(obj); + + telebot_core_put_response(response); return ret; } @@ -1368,61 +1360,54 @@ telebot_error_e telebot_put_chat_member(telebot_chat_member_t *member) } telebot_error_e telebot_set_chat_sticker_set(telebot_handler_t handle, - long long int chat_id, const char *sticker_set_name) + long long int chat_id, const char *sticker_set_name) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if (sticker_set_name == NULL) return TELEBOT_ERROR_INVALID_PARAMETER; - telebot_core_response_t response; - int ret = telebot_core_set_chat_sticker_set(_handle->core_h, chat_id, - sticker_set_name, &response); - telebot_core_put_response(&response); + telebot_core_response_t response = telebot_core_set_chat_sticker_set(handle->core_h, chat_id, sticker_set_name); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } telebot_error_e telebot_delete_chat_sticker_set(telebot_handler_t handle, - long long int chat_id) + long long int chat_id) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; - telebot_core_response_t response; - int ret = telebot_core_delete_chat_sticker_set(_handle->core_h, chat_id, &response); - telebot_core_put_response(&response); - + telebot_core_response_t response = telebot_core_delete_chat_sticker_set(handle->core_h, chat_id); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } telebot_error_e telebot_answer_callback_query(telebot_handler_t handle, - const char *callback_query_id, const char *text, bool show_alert, - const char *url, int cache_time) + const char *callback_query_id, const char *text, bool show_alert, + const char *url, int cache_time) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if (callback_query_id == NULL) return TELEBOT_ERROR_INVALID_PARAMETER; - telebot_core_response_t response; - int ret = telebot_core_answer_callback_query(_handle->core_h, callback_query_id, - text, show_alert, url, cache_time, &response); - telebot_core_put_response(&response); - + telebot_core_response_t response = telebot_core_answer_callback_query(handle->core_h, callback_query_id, + text, show_alert, url, cache_time); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } telebot_error_e telebot_set_my_commands(telebot_handler_t handle, - telebot_bot_command_t commands[], int count) + telebot_bot_command_t commands[], int count) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if ((commands == NULL) || (count <= 0)) @@ -1443,32 +1428,30 @@ telebot_error_e telebot_set_my_commands(telebot_handler_t handle, const char *array_options = json_object_to_json_string(array); DBG("Commands: %s", array_options); - telebot_core_response_t response; - int ret = telebot_core_set_my_commands(_handle->core_h, array_options, &response); - telebot_core_put_response(&response); + telebot_core_response_t response = telebot_core_set_my_commands(handle->core_h, array_options); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); json_object_put(array); - return ret; } telebot_error_e telebot_get_my_commands(telebot_handler_t handle, - telebot_bot_command_t **commands, int *count) + telebot_bot_command_t **commands, int *count) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if ((commands == NULL) || (count == NULL)) return TELEBOT_ERROR_INVALID_PARAMETER; - *commands = NULL; - *count = 0; - telebot_core_response_t response; - int ret = telebot_core_get_my_commands(_handle->core_h, &response); + struct json_object *obj = NULL; + telebot_core_response_t response = telebot_core_get_my_commands(handle->core_h); + int ret = telebot_core_get_response_code(response); if (ret != TELEBOT_ERROR_NONE) - return ret; + goto finish; - struct json_object *obj = telebot_parser_str_to_obj(response.data); + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); if (obj == NULL) { ret = TELEBOT_ERROR_OPERATION_FAILED; @@ -1492,9 +1475,11 @@ telebot_error_e telebot_get_my_commands(telebot_handler_t handle, ret = telebot_parser_get_array_bot_command(result, commands, count); finish: - if (ret) telebot_put_my_commands(*commands, *count); - if (obj) json_object_put(obj); - telebot_core_put_response(&response); + if (ret) + telebot_put_my_commands(*commands, *count); + if (obj) + json_object_put(obj); + telebot_core_put_response(response); return ret; } @@ -1513,86 +1498,74 @@ telebot_error_e telebot_put_my_commands(telebot_bot_command_t *commands, int cou } telebot_error_e telebot_edit_message_text(telebot_handler_t handle, - long long int chat_id, int message_id, const char *inline_message_id, - const char *text, const char *parse_mode, bool disable_web_page_preview, - const char *reply_markup) + long long int chat_id, int message_id, const char *inline_message_id, + const char *text, const char *parse_mode, bool disable_web_page_preview, + const char *reply_markup) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; if (text == NULL) return TELEBOT_ERROR_INVALID_PARAMETER; - telebot_core_response_t response; - int ret = telebot_core_edit_message_text(_handle->core_h, chat_id, message_id, - inline_message_id, text, parse_mode, disable_web_page_preview, - reply_markup, &response); - telebot_core_put_response(&response); - + telebot_core_response_t response = telebot_core_edit_message_text(handle->core_h, chat_id, message_id, + inline_message_id, text, parse_mode, + disable_web_page_preview, + reply_markup); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } telebot_error_e telebot_edit_message_caption(telebot_handler_t handle, - long long int chat_id, int message_id, const char *inline_message_id, - const char *caption, const char *parse_mode, const char *reply_markup) + long long int chat_id, int message_id, const char *inline_message_id, + const char *caption, const char *parse_mode, const char *reply_markup) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; - telebot_core_response_t response; - int ret = telebot_core_edit_message_caption(_handle->core_h, chat_id, message_id, - inline_message_id, caption, parse_mode, reply_markup, &response); - telebot_core_put_response(&response); - + telebot_core_response_t response = telebot_core_edit_message_caption(handle->core_h, chat_id, message_id, + inline_message_id, caption, parse_mode, + reply_markup); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } telebot_error_e telebot_edit_message_reply_markup(telebot_handler_t handle, - long long int chat_id, int message_id, const char *inline_message_id, - const char *reply_markup) + long long int chat_id, int message_id, const char *inline_message_id, + const char *reply_markup) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; - telebot_core_response_t response; - int ret = telebot_core_edit_message_reply_markup(_handle->core_h, chat_id, - message_id, inline_message_id, reply_markup, &response); - telebot_core_put_response(&response); - + telebot_core_response_t response = telebot_core_edit_message_reply_markup(handle->core_h, chat_id, message_id, + inline_message_id, reply_markup); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } - telebot_error_e telebot_stop_poll(telebot_handler_t handle, long long int chat_id, - int message_id, const char *reply_markup) + int message_id, const char *reply_markup) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; - telebot_core_response_t response; - int ret = telebot_core_stop_poll(_handle->core_h, chat_id, - message_id, reply_markup, &response); - telebot_core_put_response(&response); - + telebot_core_response_t response = telebot_core_stop_poll(handle->core_h, chat_id, message_id, reply_markup); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } -telebot_error_e telebot_delete_message(telebot_handler_t handle, long long int chat_id, - int message_id) +telebot_error_e telebot_delete_message(telebot_handler_t handle, long long int chat_id, int message_id) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) + if (handle == NULL) return TELEBOT_ERROR_NOT_SUPPORTED; - telebot_core_response_t response; - int ret = telebot_core_delete_message(_handle->core_h, chat_id, - message_id, &response); - telebot_core_put_response(&response); - + telebot_core_response_t response = telebot_core_delete_message(handle->core_h, chat_id, message_id); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } @@ -1649,7 +1622,7 @@ static void telebot_put_chat_permissions(telebot_chat_permissions_t *permissions { if (permissions == NULL) return; - //Nothing for now + // Nothing for now return; } @@ -1702,9 +1675,9 @@ static void telebot_put_message(telebot_message_t *msg) telebot_put_document(msg->document); TELEBOT_SAFE_FREE(msg->document); - //TODO - //telebot_put_game(msg->game); - //TELEBOT_SAFE_FREE(msg->game); + // TODO + // telebot_put_game(msg->game); + // TELEBOT_SAFE_FREE(msg->game); telebot_put_animation(msg->animation); TELEBOT_SAFE_FREE(msg->animation); @@ -1717,9 +1690,9 @@ static void telebot_put_message(telebot_message_t *msg) msg->count_photos = 0; } - //TODO - //telebot_put_sticker(msg->sticker); - //TELEBOT_SAFE_FREE(msg->sticker); + // TODO + // telebot_put_sticker(msg->sticker); + // TELEBOT_SAFE_FREE(msg->sticker); telebot_put_video(msg->video); TELEBOT_SAFE_FREE(msg->video); @@ -1775,21 +1748,21 @@ static void telebot_put_message(telebot_message_t *msg) telebot_put_message(msg->pinned_message); - //TODO - //telebot_put_invoice(msg->invoice); - //TELEBOT_SAFE_FREE(msg->invoice); + // TODO + // telebot_put_invoice(msg->invoice); + // TELEBOT_SAFE_FREE(msg->invoice); - //TODO - //telebot_put_payment(msg->successful_payment); - //TELEBOT_SAFE_FREE(msg->successful_payment); + // TODO + // telebot_put_payment(msg->successful_payment); + // TELEBOT_SAFE_FREE(msg->successful_payment); - //TODO - //telebot_put_passport_data(msg->passport_data); - //TELEBOT_SAFE_FREE(msg->passport_data); + // TODO + // telebot_put_passport_data(msg->passport_data); + // TELEBOT_SAFE_FREE(msg->passport_data); - //TODO - //telebot_put_inline_keyboard_markup(msg->reply_markup); - //TELEBOT_SAFE_FREE(msg->reply_markup); + // TODO + // telebot_put_inline_keyboard_markup(msg->reply_markup); + // TELEBOT_SAFE_FREE(msg->reply_markup); } static void telebot_put_telebot_message_entity(telebot_message_entity_t *entity) @@ -1907,7 +1880,7 @@ static void telebot_put_location(telebot_location_t *location) { if (location == NULL) return; - //Nothing to free + // Nothing to free return; } @@ -1973,7 +1946,7 @@ static void telebot_put_dice(telebot_dice_t *dice) { if (dice == NULL) return; - //Nothing to free + // Nothing to free return; } @@ -1993,6 +1966,6 @@ static void telebot_put_callback_query(telebot_callback_query_t *query) TELEBOT_SAFE_FREE(query->game_short_name); } -//TODO: static void telebot_put_invoice(telebot_invoice_t *invoice); -//TODO: static void telebot_put_payment(telebot_successful_payment_t *payment); -//TODO: static void telebot_put_game(telebot_game_t *game); +// TODO: static void telebot_put_invoice(telebot_invoice_t *invoice); +// TODO: static void telebot_put_payment(telebot_successful_payment_t *payment); +// TODO: static void telebot_put_game(telebot_game_t *game); From 91940d12d6358f640dfc34267bc385f9b1ccea97 Mon Sep 17 00:00:00 2001 From: Elmurod Talipov Date: Sun, 20 Nov 2022 18:13:10 +0900 Subject: [PATCH 02/12] Simplify passing parameters with mime Signed-off-by: Elmurod Talipov --- include/telebot-private.h | 61 +- src/telebot-core.c | 2146 +++++++++++++++++++------------------ 2 files changed, 1145 insertions(+), 1062 deletions(-) diff --git a/include/telebot-private.h b/include/telebot-private.h index c139325..6a236db 100644 --- a/include/telebot-private.h +++ b/include/telebot-private.h @@ -88,11 +88,11 @@ #define TELEBOT_METHOD_DELETE_MESSAGE "deleteMessage" #ifdef DEBUG - #define ERR(fmt, args...) fprintf(stderr, "[ERROR][%s:%d]" fmt "\n", __func__, __LINE__, ##args) - #define DBG(fmt, args...) fprintf(stdout, "[DEBUG][%s:%d]" fmt "\n", __func__, __LINE__, ##args) +#define ERR(fmt, args...) fprintf(stderr, "[ERROR][%s:%d]" fmt "\n", __func__, __LINE__, ##args) +#define DBG(fmt, args...) fprintf(stdout, "[DEBUG][%s:%d]" fmt "\n", __func__, __LINE__, ##args) #else - #define ERR(x, ...) - #define DBG(x, ...) +#define ERR(x, ...) +#define DBG(x, ...) #endif #define CHECK_ARG_NULL(PARAM) \ @@ -109,35 +109,62 @@ return telebot_core_get_error_response(TELEBOT_ERROR_INVALID_PARAMETER); \ } -typedef enum { - TELEBOT_MIME_TYPE_DATA = 0, +typedef enum +{ + TELEBOT_MIME_TYPE_CHAR, + TELEBOT_MIME_TYPE_INT, + TELEBOT_MIME_TYPE_U_INT, + TELEBOT_MIME_TYPE_LONG_INT, + TELEBOT_MIME_TYPE_U_LONG_INT, + TELEBOT_MIME_TYPE_LONG_LONG_INT, + TELEBOT_MIME_TYPE_U_LONG_LONG_INT, + TELEBOT_MIME_TYPE_FLOAT, + TELEBOT_MIME_TYPE_DOUBLE, + TELEBOT_MIME_TYPE_LONG_DOUBLE, + TELEBOT_MIME_TYPE_STRING, TELEBOT_MIME_TYPE_FILE, TELEBOT_MIME_TYPE_MAX, } telebot_core_mime_e; -typedef struct { +typedef struct telebot_core_mime_s +{ telebot_core_mime_e type; const char *name; - char data[TELEBOT_BUFFER_PAGE]; -} telebot_core_mime_t; + union + { + char c; + int d; + unsigned int u; + long int ld; + unsigned long int lu; + long long lld; + unsigned long long llu; + float f; + double lf; + long double llf; + const char *s; + } data; +} telebot_core_mime_t; /** * @brief This object represents core handler. */ -struct telebot_core_handler { - char *token; /**< Telegam bot token */ - char *proxy_addr; /**< Proxy address (optional) */ - char *proxy_auth; /**< Proxy authentication (optional) */ +struct telebot_core_handler +{ + char *token; /**< Telegam bot token */ + char *proxy_addr; /**< Proxy address (optional) */ + char *proxy_auth; /**< Proxy authentication (optional) */ }; /** * @brief This object represents a telegram bot response. */ -struct telebot_core_response { - telebot_error_e ret; /**< Telegram bot response code */ - size_t size; /**< Telegam bot response size */ - char *data; /**< Telegam bot response object */ +struct telebot_core_response +{ + telebot_error_e ret; /**< Telegram bot response code */ + size_t size; /**< Telegam bot response size */ + char *data; /**< Telegam bot response object */ }; #endif /* __TELEBOT_PRIVATE_H__ */ diff --git a/src/telebot-core.c b/src/telebot-core.c index dff545b..c3a4e30 100644 --- a/src/telebot-core.c +++ b/src/telebot-core.c @@ -186,6 +186,66 @@ static size_t write_data_cb(void *contents, size_t size, size_t nmemb, void *use return r_size; } +static void telebot_core_copy_mime_data_to_part(telebot_core_mime_t *mime, curl_mimepart *part) +{ + curl_mime_name(part, mime->name); + + char buffer[TELEBOT_BUFFER_PAGE]; + switch (mime->type) + { + case TELEBOT_MIME_TYPE_CHAR: + snprintf(buffer, sizeof(buffer), "%c", mime->data.c); + curl_mime_data(part, buffer, CURL_ZERO_TERMINATED); + break; + case TELEBOT_MIME_TYPE_INT: + snprintf(buffer, sizeof(buffer), "%d", mime->data.d); + curl_mime_data(part, buffer, CURL_ZERO_TERMINATED); + break; + case TELEBOT_MIME_TYPE_U_INT: + snprintf(buffer, sizeof(buffer), "%u", mime->data.u); + curl_mime_data(part, buffer, CURL_ZERO_TERMINATED); + break; + case TELEBOT_MIME_TYPE_LONG_INT: + snprintf(buffer, sizeof(buffer), "%ld", mime->data.ld); + curl_mime_data(part, buffer, CURL_ZERO_TERMINATED); + break; + case TELEBOT_MIME_TYPE_U_LONG_INT: + snprintf(buffer, sizeof(buffer), "%lu", mime->data.lu); + curl_mime_data(part, buffer, CURL_ZERO_TERMINATED); + break; + case TELEBOT_MIME_TYPE_LONG_LONG_INT: + snprintf(buffer, sizeof(buffer), "%lld", mime->data.lld); + curl_mime_data(part, buffer, CURL_ZERO_TERMINATED); + break; + case TELEBOT_MIME_TYPE_U_LONG_LONG_INT: + snprintf(buffer, sizeof(buffer), "%llu", mime->data.llu); + curl_mime_data(part, buffer, CURL_ZERO_TERMINATED); + break; + case TELEBOT_MIME_TYPE_FLOAT: + snprintf(buffer, sizeof(buffer), "%f", mime->data.f); + curl_mime_data(part, buffer, CURL_ZERO_TERMINATED); + break; + case TELEBOT_MIME_TYPE_DOUBLE: + snprintf(buffer, sizeof(buffer), "%lf", mime->data.lf); + curl_mime_data(part, buffer, CURL_ZERO_TERMINATED); + break; + case TELEBOT_MIME_TYPE_LONG_DOUBLE: + snprintf(buffer, sizeof(buffer), "%Lf", mime->data.llf); + curl_mime_data(part, buffer, CURL_ZERO_TERMINATED); + break; + case TELEBOT_MIME_TYPE_STRING: + curl_mime_data(part, mime->data.s, CURL_ZERO_TERMINATED); + break; + case TELEBOT_MIME_TYPE_FILE: + curl_mime_filedata(part, mime->data.s); + break; + case TELEBOT_MIME_TYPE_MAX: + default: + ERR("Invalid type: %d", mime->type); + break; + } +} + static telebot_core_response_t telebot_core_curl_perform(telebot_core_handler_t core_h, const char *method, telebot_core_mime_t mimes[], size_t size) { @@ -252,7 +312,7 @@ telebot_core_curl_perform(telebot_core_handler_t core_h, const char *method, tel resp->ret = TELEBOT_ERROR_OUT_OF_MEMORY; goto finish; } - for (int index = 0; index < size; index++) + for (size_t index = 0; index < size; index++) { curl_mimepart *part = curl_mime_addpart(mime); if (part == NULL) @@ -261,11 +321,7 @@ telebot_core_curl_perform(telebot_core_handler_t core_h, const char *method, tel resp->ret = TELEBOT_ERROR_OUT_OF_MEMORY; goto finish; } - curl_mime_name(part, mimes[index].name); - if (mimes[index].type == TELEBOT_MIME_TYPE_FILE) - curl_mime_filedata(part, mimes[index].data); - else - curl_mime_data(part, mimes[index].data, CURL_ZERO_TERMINATED); + telebot_core_copy_mime_data_to_part(&mimes[index], part); } curl_easy_setopt(curl_h, CURLOPT_MIMEPOST, mime); @@ -306,32 +362,32 @@ telebot_core_get_updates(telebot_core_handler_t core_h, int offset, int limit, i if (limit > TELEBOT_UPDATE_COUNT_MAX_LIMIT) limit = TELEBOT_UPDATE_COUNT_MAX_LIMIT; - int index = 0; + size_t count = 0; telebot_core_mime_t mimes[4]; // number of arguments - mimes[index].name = "offset"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", offset); - ++index; + mimes[count].name = "offset"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = offset; + count++; - mimes[index].name = "limit"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", limit); - ++index; + mimes[count].name = "limit"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = limit; + count++; - mimes[index].name = "timeout"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", timeout); - ++index; + mimes[count].name = "timeout"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = timeout; + count++; if (allowed_updates) { - mimes[index].name = "allowed_updates"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", allowed_updates); - ++index; + mimes[count].name = "allowed_updates"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = allowed_updates; + count++; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_UPDATES, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_UPDATES, mimes, count); } static telebot_core_response_t telebot_core_get_error_response(telebot_error_e ret) @@ -349,34 +405,34 @@ telebot_core_set_webhook(telebot_core_handler_t core_h, const char *url, const c { CHECK_ARG_NULL(url); - int index = 0; + size_t count = 0; telebot_core_mime_t mimes[4]; // number of arguments - mimes[index].name = "url"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", url); - ++index; + mimes[count].name = "url"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = url; + ++count; if (certificate != NULL) { - mimes[index].name = "certificate"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", certificate); - ++index; + mimes[count].name = "certificate"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = certificate; + count++; } - mimes[index].name = "max_connections"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", max_connections); + mimes[count].name = "max_connections"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = max_connections; if (allowed_updates != NULL) { - mimes[index].name = "allowed_updates"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", allowed_updates); - ++index; + mimes[count].name = "allowed_updates"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = allowed_updates; + count++; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_WEBHOOK, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_WEBHOOK, mimes, count); } telebot_core_response_t @@ -404,53 +460,53 @@ telebot_core_send_message(telebot_core_handler_t core_h, long long int chat_id, { CHECK_ARG_NULL(text); - int index = 0; + int count = 0; telebot_core_mime_t mimes[7]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - mimes[index].name = "text"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", text); - ++index; + mimes[count].name = "text"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = text; + count++; if (parse_mode != NULL) { - mimes[index].name = "parse_mode"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", parse_mode); - ++index; + mimes[count].name = "parse_mode"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = parse_mode; + count++; } - mimes[index].name = "disable_notification"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (disable_notification ? "true" : "false")); - ++index; + mimes[count].name = "disable_notification"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = disable_notification ? "true" : "false"; + count++; - mimes[index].name = "disable_web_page_preview"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (disable_web_page_preview ? "true" : "false")); - ++index; + mimes[count].name = "disable_web_page_preview"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = disable_web_page_preview ? "true" : "false"; + count++; if (reply_to_message_id > 0) { - mimes[index].name = "reply_to_message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", reply_to_message_id); - ++index; + mimes[count].name = "reply_to_message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = reply_to_message_id; + count++; } if (reply_markup != NULL) { - mimes[index].name = "reply_markup"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", reply_markup); - ++index; + mimes[count].name = "reply_markup"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = reply_markup; + count++; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_MESSAGE, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_MESSAGE, mimes, count); } telebot_core_response_t @@ -463,29 +519,29 @@ telebot_core_forward_message(telebot_core_handler_t core_h, long long int chat_i return telebot_core_get_error_response(TELEBOT_ERROR_INVALID_PARAMETER); } - int index = 0; + int count = 0; telebot_core_mime_t mimes[4]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - mimes[index].name = "from_chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", from_chat_id); - ++index; + mimes[count].name = "from_chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = from_chat_id; + count++; - mimes[index].name = "disable_notification"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (disable_notification ? "true" : "false")); - ++index; + mimes[count].name = "disable_notification"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = disable_notification ? "true" : "false"; + count++; - mimes[index].name = "message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", message_id); - ++index; + mimes[count].name = "message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = message_id; + count++; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_FORWARD_MESSAGE, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_FORWARD_MESSAGE, mimes, count); } telebot_core_response_t @@ -495,55 +551,55 @@ telebot_core_send_photo(telebot_core_handler_t core_h, long long int chat_id, co { CHECK_ARG_NULL(photo); - int index = 0; + int count = 0; telebot_core_mime_t mimes[7]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - mimes[index].name = "photo"; - mimes[index].type = (is_file ? TELEBOT_MIME_TYPE_FILE : TELEBOT_MIME_TYPE_DATA); - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", photo); - ++index; + mimes[count].name = "photo"; + mimes[count].type = is_file ? TELEBOT_MIME_TYPE_FILE : TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = photo; + count++; if (caption != NULL) { - mimes[index].name = "caption"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", caption); - ++index; + mimes[count].name = "caption"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = caption; + count++; if (parse_mode != NULL) { - mimes[index].name = "parse_mode"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", parse_mode); - ++index; + mimes[count].name = "parse_mode"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = parse_mode; + count++; } } - mimes[index].name = "disable_notification"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (disable_notification ? "true" : "false")); - ++index; + mimes[count].name = "disable_notification"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = disable_notification ? "true" : "false"; + count++; if (reply_to_message_id > 0) { - mimes[index].name = "reply_to_message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", reply_to_message_id); - ++index; + mimes[count].name = "reply_to_message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = reply_to_message_id; + count++; } if (reply_markup != NULL) { - mimes[index].name = "reply_markup"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", reply_markup); - ++index; + mimes[count].name = "reply_markup"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = reply_markup; + count++; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_PHOTO, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_PHOTO, mimes, count); } telebot_core_response_t @@ -554,87 +610,87 @@ telebot_core_send_audio(telebot_core_handler_t core_h, long long int chat_id, co { CHECK_ARG_NULL(audio); - int index = 0; + int count = 0; telebot_core_mime_t mimes[11]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - mimes[index].name = "audio"; - mimes[index].type = (is_file ? TELEBOT_MIME_TYPE_FILE : TELEBOT_MIME_TYPE_DATA); - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", audio); - ++index; + mimes[count].name = "audio"; + mimes[count].type = is_file ? TELEBOT_MIME_TYPE_FILE : TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = audio; + count++; if (caption != NULL) { - mimes[index].name = "caption"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", caption); - ++index; + mimes[count].name = "caption"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = caption; + count++; if (parse_mode != NULL) { - mimes[index].name = "parse_mode"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", parse_mode); - ++index; + mimes[count].name = "parse_mode"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = parse_mode; + count++; } } if (duration > 0) { - mimes[index].name = "duration"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", duration); - ++index; + mimes[count].name = "duration"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = duration; + count++; } if (performer != NULL) { - mimes[index].name = "performer"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", performer); - ++index; + mimes[count].name = "performer"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = performer; + count++; } if (title != NULL) { - mimes[index].name = "title"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", title); - ++index; + mimes[count].name = "title"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = title; + count++; } if (thumb != NULL) { - mimes[index].name = "thumb"; - mimes[index].type = TELEBOT_MIME_TYPE_FILE; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", thumb); - ++index; + mimes[count].name = "thumb"; + mimes[count].type = TELEBOT_MIME_TYPE_FILE; + mimes[count].data.s = thumb; + count++; } - mimes[index].name = "disable_notification"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (disable_notification ? "true" : "false")); - ++index; + mimes[count].name = "disable_notification"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = disable_notification ? "true" : "false"; + count++; if (reply_to_message_id > 0) { - mimes[index].name = "reply_to_message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", reply_to_message_id); - ++index; + mimes[count].name = "reply_to_message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = reply_to_message_id; + count++; } if (reply_markup != NULL) { - mimes[index].name = "reply_markup"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", reply_markup); - ++index; + mimes[count].name = "reply_markup"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = reply_markup; + count++; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_AUDIO, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_AUDIO, mimes, count); } telebot_core_response_t @@ -644,63 +700,63 @@ telebot_core_send_document(telebot_core_handler_t core_h, long long int chat_id, { CHECK_ARG_NULL(document); - int index = 0; + int count = 0; telebot_core_mime_t mimes[8]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - mimes[index].name = "document"; - mimes[index].type = (is_file ? TELEBOT_MIME_TYPE_FILE : TELEBOT_MIME_TYPE_DATA); - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", document); - ++index; + mimes[count].name = "document"; + mimes[count].type = is_file ? TELEBOT_MIME_TYPE_FILE : TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = document; + count++; if (thumb != NULL) { - mimes[index].name = "thumb"; - mimes[index].type = TELEBOT_MIME_TYPE_FILE; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", thumb); - ++index; + mimes[count].name = "thumb"; + mimes[count].type = TELEBOT_MIME_TYPE_FILE; + mimes[count].data.s = thumb; + count++; } if (caption != NULL) { - mimes[index].name = "caption"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", caption); - ++index; + mimes[count].name = "caption"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = caption; + count++; if (parse_mode != NULL) { - mimes[index].name = "parse_mode"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", parse_mode); - ++index; + mimes[count].name = "parse_mode"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = parse_mode; + count++; } } - mimes[index].name = "disable_notification"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (disable_notification ? "true" : "false")); - ++index; + mimes[count].name = "disable_notification"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = disable_notification ? "true" : "false"; + count++; if (reply_to_message_id > 0) { - mimes[index].name = "reply_to_message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", reply_to_message_id); - ++index; + mimes[count].name = "reply_to_message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = reply_to_message_id; + count++; } if (reply_markup != NULL) { - mimes[index].name = "reply_markup"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", reply_markup); - ++index; + mimes[count].name = "reply_markup"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = reply_markup; + count++; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_DOCUMENT, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_DOCUMENT, mimes, count); } telebot_core_response_t @@ -711,92 +767,92 @@ telebot_core_send_video(telebot_core_handler_t core_h, long long int chat_id, co { CHECK_ARG_NULL(video); - int index = 0; + int count = 0; telebot_core_mime_t mimes[12]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - mimes[index].name = "video"; - mimes[index].type = (is_file ? TELEBOT_MIME_TYPE_FILE : TELEBOT_MIME_TYPE_DATA); - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", video); - ++index; + mimes[count].name = "video"; + mimes[count].type = is_file ? TELEBOT_MIME_TYPE_FILE : TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = video; + count++; if (duration > 0) { - mimes[index].name = "duration"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", duration); - ++index; + mimes[count].name = "duration"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = duration; + count++; } if (width > 0) { - mimes[index].name = "width"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", width); - ++index; + mimes[count].name = "width"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = width; + count++; } if (height > 0) { - mimes[index].name = "height"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", height); - ++index; + mimes[count].name = "height"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = height; + count++; } if (thumb != NULL) { - mimes[index].name = "thumb"; - mimes[index].type = TELEBOT_MIME_TYPE_FILE; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", thumb); - ++index; + mimes[count].name = "thumb"; + mimes[count].type = TELEBOT_MIME_TYPE_FILE; + mimes[count].data.s = thumb; + count++; } if (caption != NULL) { - mimes[index].name = "caption"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", caption); - ++index; + mimes[count].name = "caption"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = caption; + count++; if (parse_mode != NULL) { - mimes[index].name = "parse_mode"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", parse_mode); - ++index; + mimes[count].name = "parse_mode"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = parse_mode; + count++; } } - mimes[index].name = "supports_streaming"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (supports_streaming ? "true" : "false")); - ++index; + mimes[count].name = "supports_streaming"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = supports_streaming ? "true" : "false"; + count++; - mimes[index].name = "disable_notification"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (disable_notification ? "true" : "false")); - ++index; + mimes[count].name = "disable_notification"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = disable_notification ? "true" : "false"; + count++; if (reply_to_message_id > 0) { - mimes[index].name = "reply_to_message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", reply_to_message_id); - ++index; + mimes[count].name = "reply_to_message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = reply_to_message_id; + count++; } if (reply_markup != NULL) { - mimes[index].name = "reply_markup"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", reply_markup); - ++index; + mimes[count].name = "reply_markup"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = reply_markup; + count++; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_VIDEO, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_VIDEO, mimes, count); } telebot_core_response_t @@ -807,87 +863,87 @@ telebot_core_send_animation(telebot_core_handler_t core_h, long long int chat_id { CHECK_ARG_NULL(animation); - int index = 0; + int count = 0; telebot_core_mime_t mimes[11]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - mimes[index].name = "animation"; - mimes[index].type = (is_file ? TELEBOT_MIME_TYPE_FILE : TELEBOT_MIME_TYPE_DATA); - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", animation); - ++index; + mimes[count].name = "animation"; + mimes[count].type = is_file ? TELEBOT_MIME_TYPE_FILE : TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = animation; + count++; if (duration > 0) { - mimes[index].name = "duration"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", duration); - ++index; + mimes[count].name = "duration"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = duration; + count++; } if (width > 0) { - mimes[index].name = "width"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", width); - ++index; + mimes[count].name = "width"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = width; + count++; } if (height > 0) { - mimes[index].name = "height"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", height); - ++index; + mimes[count].name = "height"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = height; + count++; } if (thumb != NULL) { - mimes[index].name = "thumb"; - mimes[index].type = TELEBOT_MIME_TYPE_FILE; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", thumb); - ++index; + mimes[count].name = "thumb"; + mimes[count].type = TELEBOT_MIME_TYPE_FILE; + mimes[count].data.s = thumb; + count++; } if (caption != NULL) { - mimes[index].name = "caption"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", caption); - ++index; + mimes[count].name = "caption"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = caption; + count++; if (parse_mode != NULL) { - mimes[index].name = "parse_mode"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", parse_mode); - ++index; + mimes[count].name = "parse_mode"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = parse_mode; + count++; } } - mimes[index].name = "disable_notification"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (disable_notification ? "true" : "false")); - ++index; + mimes[count].name = "disable_notification"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = disable_notification ? "true" : "false"; + count++; if (reply_to_message_id > 0) { - mimes[index].name = "reply_to_message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", reply_to_message_id); - ++index; + mimes[count].name = "reply_to_message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = reply_to_message_id; + count++; } if (reply_markup != NULL) { - mimes[index].name = "reply_markup"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", reply_markup); - ++index; + mimes[count].name = "reply_markup"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = reply_markup; + count++; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_ANIMATION, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_ANIMATION, mimes, count); } telebot_core_response_t @@ -897,63 +953,63 @@ telebot_core_send_voice(telebot_core_handler_t core_h, long long int chat_id, co { CHECK_ARG_NULL(voice); - int index = 0; + int count = 0; telebot_core_mime_t mimes[8]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - mimes[index].name = "voice"; - mimes[index].type = (is_file ? TELEBOT_MIME_TYPE_FILE : TELEBOT_MIME_TYPE_DATA); - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", voice); - ++index; + mimes[count].name = "voice"; + mimes[count].type = is_file ? TELEBOT_MIME_TYPE_FILE : TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = voice; + count++; if (duration > 0) { - mimes[index].name = "duration"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", duration); - ++index; + mimes[count].name = "duration"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = duration; + count++; } if (caption != NULL) { - mimes[index].name = "caption"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", caption); - ++index; + mimes[count].name = "caption"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = caption; + count++; if (parse_mode != NULL) { - mimes[index].name = "parse_mode"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", parse_mode); - ++index; + mimes[count].name = "parse_mode"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = parse_mode; + count++; } } - mimes[index].name = "disable_notification"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (disable_notification ? "true" : "false")); - ++index; + mimes[count].name = "disable_notification"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = disable_notification ? "true" : "false"; + count++; if (reply_to_message_id > 0) { - mimes[index].name = "reply_to_message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", reply_to_message_id); - ++index; + mimes[count].name = "reply_to_message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = reply_to_message_id; + count++; } if (reply_markup != NULL) { - mimes[index].name = "reply_markup"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", reply_markup); - ++index; + mimes[count].name = "reply_markup"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = reply_markup; + count++; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_VOICE, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_VOICE, mimes, count); } telebot_core_response_t @@ -963,64 +1019,65 @@ telebot_core_send_video_note(telebot_core_handler_t core_h, long long int chat_i { CHECK_ARG_NULL(video_note); - int index = 0; + int count = 0; telebot_core_mime_t mimes[8]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - mimes[index].name = "video_note"; - mimes[index].type = (is_file ? TELEBOT_MIME_TYPE_FILE : TELEBOT_MIME_TYPE_DATA); - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", video_note); - ++index; + mimes[count] + .name = "video_note"; + mimes[count].type = is_file ? TELEBOT_MIME_TYPE_FILE : TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = video_note; + count++; if (duration > 0) { - mimes[index].name = "duration"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", duration); - ++index; + mimes[count].name = "duration"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = duration; + count++; } if (length > 0) { - mimes[index].name = "length"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", length); - ++index; + mimes[count].name = "length"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = length; + count++; } if (thumb != NULL) { - mimes[index].name = "thumb"; - mimes[index].type = TELEBOT_MIME_TYPE_FILE; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", thumb); - ++index; + mimes[count].name = "thumb"; + mimes[count].type = TELEBOT_MIME_TYPE_FILE; + mimes[count].data.s = thumb; + count++; } - mimes[index].name = "disable_notification"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (disable_notification ? "true" : "false")); - ++index; + mimes[count].name = "disable_notification"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = disable_notification ? "true" : "false"; + count++; if (reply_to_message_id > 0) { - mimes[index].name = "reply_to_message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", reply_to_message_id); - ++index; + mimes[count].name = "reply_to_message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = reply_to_message_id; + count++; } if (reply_markup != NULL) { - mimes[index].name = "reply_markup"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", reply_markup); - ++index; + mimes[count].name = "reply_markup"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = reply_markup; + count++; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_VIDEO_NOTE, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_VIDEO_NOTE, mimes, count); } // Helper function to determine media type based on file extension @@ -1230,29 +1287,28 @@ telebot_core_send_media_group(telebot_core_handler_t core_h, long long int chat_ // chat_id mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); + mimes[index].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[index].data.lld = chat_id; ++index; // media (JSON string) mimes[index].name = "media"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", media_json_str); + mimes[index].type = TELEBOT_MIME_TYPE_STRING; + mimes[index].data.s = media_json_str; ++index; // disable_notification mimes[index].name = "disable_notification"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", - (disable_notification ? "true" : "false")); + mimes[index].type = TELEBOT_MIME_TYPE_STRING; + mimes[index].data.s = disable_notification ? "true" : "false"; ++index; // reply_to_message_id (optional) if (reply_to_message_id > 0) { mimes[index].name = "reply_to_message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", reply_to_message_id); + mimes[index].type = TELEBOT_MIME_TYPE_INT; + mimes[index].data.d = reply_to_message_id; ++index; } @@ -1261,7 +1317,7 @@ telebot_core_send_media_group(telebot_core_handler_t core_h, long long int chat_ { mimes[index].name = filenames[i]; // Use actual filename instead of generated name mimes[index].type = TELEBOT_MIME_TYPE_FILE; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", media_paths[i]); + mimes[index].data.s = media_paths[i]; ++index; } @@ -1286,53 +1342,53 @@ telebot_core_send_location(telebot_core_handler_t core_h, long long int chat_id, int live_period, bool disable_notification, int reply_to_message_id, const char *reply_markup) { - int index = 0; + int count = 0; telebot_core_mime_t mimes[7]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - mimes[index].name = "latitude"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%f", latitude); - ++index; + mimes[count].name = "latitude"; + mimes[count].type = TELEBOT_MIME_TYPE_FLOAT; + mimes[count].data.f = latitude; + count++; - mimes[index].name = "longitude"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%f", longitude); - ++index; + mimes[count].name = "longitude"; + mimes[count].type = TELEBOT_MIME_TYPE_FLOAT; + mimes[count].data.f = longitude; + count++; if (live_period > 0) { - mimes[index].name = "live_period"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", live_period); - ++index; + mimes[count].name = "live_period"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = live_period; + count++; } - mimes[index].name = "disable_notification"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (disable_notification ? "true" : "false")); - ++index; + mimes[count].name = "disable_notification"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = disable_notification ? "true" : "false"; + count++; if (reply_to_message_id > 0) { - mimes[index].name = "reply_to_message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", reply_to_message_id); - ++index; + mimes[count].name = "reply_to_message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = reply_to_message_id; + count++; } if (reply_markup != NULL) { - mimes[index].name = "reply_markup"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", reply_markup); - ++index; + mimes[count].name = "reply_markup"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = reply_markup; + count++; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_LOCATION, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_LOCATION, mimes, count); } telebot_core_response_t @@ -1340,86 +1396,86 @@ telebot_core_edit_message_live_location(telebot_core_handler_t core_h, long long const char *inline_message_id, float latitude, float longitude, const char *reply_markup) { - int index = 0; + int count = 0; telebot_core_mime_t mimes[6]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - mimes[index].name = "latitude"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%f", latitude); - ++index; + mimes[count].name = "latitude"; + mimes[count].type = TELEBOT_MIME_TYPE_FLOAT; + mimes[count].data.f = latitude; + count++; - mimes[index].name = "longitude"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%f", longitude); - ++index; + mimes[count].name = "longitude"; + mimes[count].type = TELEBOT_MIME_TYPE_FLOAT; + mimes[count].data.f = longitude; + count++; if (message_id > 0) { - mimes[index].name = "message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", message_id); - ++index; + mimes[count].name = "message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = message_id; + count++; } if (inline_message_id != NULL) { - mimes[index].name = "inline_message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", inline_message_id); - ++index; + mimes[count].name = "inline_message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = inline_message_id; + count++; } if (reply_markup != NULL) { - mimes[index].name = "reply_markup"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", reply_markup); - ++index; + mimes[count].name = "reply_markup"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = reply_markup; + count++; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_EDIT_MESSAGE_LIVE_LOCATION, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_EDIT_MESSAGE_LIVE_LOCATION, mimes, count); } telebot_core_response_t telebot_core_stop_message_live_location(telebot_core_handler_t core_h, long long int chat_id, int message_id, char *inline_message_id, const char *reply_markup) { - int index = 0; + int count = 0; telebot_core_mime_t mimes[4]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; if (message_id > 0) { - mimes[index].name = "message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", message_id); - ++index; + mimes[count].name = "message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = message_id; + count++; } if (inline_message_id != NULL) { - mimes[index].name = "inline_message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", inline_message_id); - ++index; + mimes[count].name = "inline_message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = inline_message_id; + count++; } if (reply_markup != NULL) { - mimes[index].name = "reply_markup"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", reply_markup); - ++index; + mimes[count].name = "reply_markup"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = reply_markup; + count++; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_STOP_MESSAGE_LIVE_LOCATION, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_STOP_MESSAGE_LIVE_LOCATION, mimes, count); } telebot_core_response_t @@ -1430,71 +1486,71 @@ telebot_core_send_venue(telebot_core_handler_t core_h, long long int chat_id, fl CHECK_ARG_NULL(title); CHECK_ARG_NULL(address); - int index = 0; + int count = 0; telebot_core_mime_t mimes[10]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; - - mimes[index].name = "latitude"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%f", latitude); - ++index; - - mimes[index].name = "longitude"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%f", longitude); - ++index; - - mimes[index].name = "title"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", title); - ++index; - - mimes[index].name = "address"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", address); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + + mimes[count].name = "latitude"; + mimes[count].type = TELEBOT_MIME_TYPE_FLOAT; + mimes[count].data.f = latitude; + count++; + + mimes[count].name = "longitude"; + mimes[count].type = TELEBOT_MIME_TYPE_FLOAT; + mimes[count].data.f = longitude; + count++; + + mimes[count].name = "title"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = title; + count++; + + mimes[count].name = "address"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = address; + count++; if (foursquare_id != NULL) { - mimes[index].name = "foursquare_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", foursquare_id); - ++index; + mimes[count].name = "foursquare_id"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = foursquare_id; + count++; } if (foursquare_type != NULL) { - mimes[index].name = "foursquare_type"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", foursquare_type); - ++index; + mimes[count].name = "foursquare_type"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = foursquare_type; + count++; } - mimes[index].name = "disable_notification"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (disable_notification ? "true" : "false")); - ++index; + mimes[count].name = "disable_notification"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = disable_notification ? "true" : "false"; + count++; if (reply_to_message_id > 0) { - mimes[index].name = "reply_to_message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", reply_to_message_id); - ++index; + mimes[count].name = "reply_to_message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = reply_to_message_id; + count++; } if (reply_markup != NULL) { - mimes[index].name = "reply_markup"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", reply_markup); - ++index; + mimes[count].name = "reply_markup"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = reply_markup; + count++; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_VENUE, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_VENUE, mimes, count); } telebot_core_response_t @@ -1505,61 +1561,61 @@ telebot_core_send_contact(telebot_core_handler_t core_h, long long int chat_id, CHECK_ARG_NULL(phone_number); CHECK_ARG_NULL(first_name); - int index = 0; + int count = 0; telebot_core_mime_t mimes[8]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - mimes[index].name = "phone_number"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", phone_number); - ++index; + mimes[count].name = "phone_number"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = phone_number; + count++; - mimes[index].name = "first_name"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", first_name); - ++index; + mimes[count].name = "first_name"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = first_name; + count++; if (last_name != NULL) { - mimes[index].name = "last_name"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", last_name); - ++index; + mimes[count].name = "last_name"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = last_name; + count++; } if (vcard != NULL) { - mimes[index].name = "vcard"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", vcard); - ++index; + mimes[count].name = "vcard"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = vcard; + count++; } - mimes[index].name = "disable_notification"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (disable_notification ? "true" : "false")); - ++index; + mimes[count].name = "disable_notification"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = disable_notification ? "true" : "false"; + count++; if (reply_to_message_id > 0) { - mimes[index].name = "reply_to_message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", reply_to_message_id); - ++index; + mimes[count].name = "reply_to_message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = reply_to_message_id; + count++; } if (reply_markup != NULL) { - mimes[index].name = "reply_markup"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", reply_markup); - ++index; + mimes[count].name = "reply_markup"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = reply_markup; + count++; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_CONTACT, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_CONTACT, mimes, count); } telebot_core_response_t @@ -1570,111 +1626,111 @@ telebot_core_send_poll(telebot_core_handler_t core_h, long long int chat_id, con CHECK_ARG_NULL(question); CHECK_ARG_NULL(options); - int index = 0; + int count = 0; telebot_core_mime_t mimes[11]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; - - mimes[index].name = "question"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", question); - ++index; - - mimes[index].name = "options"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", options); - ++index; - - mimes[index].name = "is_anonymous"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (is_anonymous ? "true" : "false")); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + + mimes[count].name = "question"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = question; + count++; + + mimes[count].name = "options"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = options; + count++; + + mimes[count].name = "is_anonymous"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = is_anonymous ? "true" : "false"; + count++; if (type != NULL) { - mimes[index].name = "type"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", type); - ++index; + mimes[count].name = "type"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = type; + count++; } - mimes[index].name = "allows_multiple_answers"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (allows_multiple_answers ? "true" : "false")); - ++index; + mimes[count].name = "allows_multiple_answers"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = allows_multiple_answers ? "true" : "false"; + count++; if (correct_option_id >= 0) { - mimes[index].name = "correct_option_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", correct_option_id); - ++index; + mimes[count].name = "correct_option_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = correct_option_id; + count++; } - mimes[index].name = "is_closed"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (is_closed ? "true" : "false")); - ++index; + mimes[count].name = "is_closed"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = is_closed ? "true" : "false"; + count++; - mimes[index].name = "disable_notification"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (disable_notification ? "true" : "false")); - ++index; + mimes[count].name = "disable_notification"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = disable_notification ? "true" : "false"; + count++; if (reply_to_message_id > 0) { - mimes[index].name = "reply_to_message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", reply_to_message_id); - ++index; + mimes[count].name = "reply_to_message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = reply_to_message_id; + count++; } if (reply_markup != NULL) { - mimes[index].name = "reply_markup"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", reply_markup); - ++index; + mimes[count].name = "reply_markup"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = reply_markup; + count++; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_POLL, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_POLL, mimes, count); } telebot_core_response_t telebot_core_send_dice(telebot_core_handler_t core_h, long long int chat_id, bool disable_notification, int reply_to_message_id, const char *reply_markup) { - int index = 0; + int count = 0; telebot_core_mime_t mimes[4]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - mimes[index].name = "disable_notification"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (disable_notification ? "true" : "false")); - ++index; + mimes[count].name = "disable_notification"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = disable_notification ? "true" : "false"; + count++; if (reply_to_message_id > 0) { - mimes[index].name = "reply_to_message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", reply_to_message_id); - ++index; + mimes[count].name = "reply_to_message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = reply_to_message_id; + count++; } if (reply_markup != NULL) { - mimes[index].name = "reply_markup"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", reply_markup); - ++index; + mimes[count].name = "reply_markup"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = reply_markup; + count++; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_DICE, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_DICE, mimes, count); } telebot_core_response_t @@ -1682,19 +1738,19 @@ telebot_core_send_chat_action(telebot_core_handler_t core_h, long long int chat_ { CHECK_ARG_NULL(action); - int index = 0; + int count = 0; telebot_core_mime_t mimes[2]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - mimes[index].name = "action"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", action); - ++index; + mimes[count].name = "action"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = action; + count++; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_CHAT_ACTION, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_CHAT_ACTION, mimes, count); } telebot_core_response_t @@ -1702,24 +1758,24 @@ telebot_core_get_user_profile_photos(telebot_core_handler_t core_h, int user_id, { CHECK_ARG_CONDITION((user_id <= 0), "Invalid value of user_id"); - int index = 0; + int count = 0; telebot_core_mime_t mimes[3]; // number of arguments - mimes[index].name = "user_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", user_id); - ++index; + mimes[count].name = "user_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = user_id; + count++; - mimes[index].name = "offset"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", offset); - ++index; + mimes[count].name = "offset"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = offset; + count++; - mimes[index].name = "limit"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", limit); - ++index; + mimes[count].name = "limit"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = limit; + count++; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_USER_PHOTOS, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_USER_PHOTOS, mimes, count); } telebot_core_response_t @@ -1727,14 +1783,14 @@ telebot_core_get_file(telebot_core_handler_t core_h, const char *file_id) { CHECK_ARG_NULL(file_id); - int index = 0; + int count = 0; telebot_core_mime_t mimes[1]; // number of arguments - mimes[index].name = "file_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", file_id); - ++index; + mimes[count].name = "file_id"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = file_id; + count++; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_FILE, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_FILE, mimes, count); } static size_t @@ -1810,27 +1866,27 @@ telebot_core_kick_chat_member(telebot_core_handler_t core_h, long long int chat_ { CHECK_ARG_CONDITION((user_id <= 0), "Valid user_id is required"); - int index = 0; + int count = 0; telebot_core_mime_t mimes[3]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - mimes[index].name = "user_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", user_id); - ++index; + mimes[count].name = "user_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = user_id; + count++; if (until_date > 0) { - mimes[index].name = "until_date"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%ld", until_date); - ++index; + mimes[count].name = "until_date"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_INT; + mimes[count].data.ld = until_date; + count++; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_KICK_CHAT_MEMBER, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_KICK_CHAT_MEMBER, mimes, count); } telebot_core_response_t @@ -1838,19 +1894,19 @@ telebot_core_unban_chat_member(telebot_core_handler_t core_h, long long int chat { CHECK_ARG_CONDITION((user_id <= 0), "Valid user_id is required"); - int index = 0; + int count = 0; telebot_core_mime_t mimes[2]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - mimes[index].name = "user_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", user_id); - ++index; + mimes[count].name = "user_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = user_id; + count++; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_UNBAN_CHAT_MEMBER, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_UNBAN_CHAT_MEMBER, mimes, count); } telebot_core_response_t @@ -1861,67 +1917,67 @@ telebot_core_restrict_chat_member(telebot_core_handler_t core_h, long long int c { CHECK_ARG_CONDITION((user_id <= 0), "Valid user_id is required"); - int index = 0; + int count = 0; telebot_core_mime_t mimes[11]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - mimes[index].name = "user_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", user_id); - ++index; + mimes[count].name = "user_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = user_id; + count++; if (until_date > 0) { - mimes[index].name = "until_date"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%ld", until_date); - ++index; + mimes[count].name = "until_date"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_INT; + mimes[count].data.ld = until_date; + count++; } - mimes[index].name = "can_send_messages"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (can_send_messages ? "true" : "false")); - ++index; + mimes[count].name = "can_send_messages"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = can_send_messages ? "true" : "false"; + count++; - mimes[index].name = "can_send_media_messages"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (can_send_media_messages ? "true" : "false")); - ++index; + mimes[count].name = "can_send_media_messages"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = can_send_media_messages ? "true" : "false"; + count++; - mimes[index].name = "can_send_polls"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (can_send_polls ? "true" : "false")); - ++index; + mimes[count].name = "can_send_polls"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = can_send_polls ? "true" : "false"; + count++; - mimes[index].name = "can_send_other_messages"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (can_send_other_messages ? "true" : "false")); - ++index; + mimes[count].name = "can_send_other_messages"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = can_send_other_messages ? "true" : "false"; + count++; - mimes[index].name = "can_add_web_page_previews"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (can_add_web_page_previews ? "true" : "false")); - ++index; + mimes[count].name = "can_add_web_page_previews"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = can_add_web_page_previews ? "true" : "false"; + count++; - mimes[index].name = "can_change_info"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (can_change_info ? "true" : "false")); - ++index; + mimes[count].name = "can_change_info"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = can_change_info ? "true" : "false"; + count++; - mimes[index].name = "can_invite_users"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (can_invite_users ? "true" : "false")); - ++index; + mimes[count].name = "can_invite_users"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = can_invite_users ? "true" : "false"; + count++; - mimes[index].name = "can_pin_messages"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (can_pin_messages ? "true" : "false")); - ++index; + mimes[count].name = "can_pin_messages"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = can_invite_users ? "true" : "false"; + count++; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_RESTRICT_CHAT_MEMBER, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_RESTRICT_CHAT_MEMBER, mimes, count); } telebot_core_response_t @@ -1932,59 +1988,59 @@ telebot_core_promote_chat_member(telebot_core_handler_t core_h, long long int ch { CHECK_ARG_CONDITION((user_id <= 0), "Valid user_id is required"); - int index = 0; + int count = 0; telebot_core_mime_t mimes[10]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; - - mimes[index].name = "user_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", user_id); - ++index; - - mimes[index].name = "can_change_info"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (can_change_info ? "true" : "false")); - ++index; - - mimes[index].name = "can_post_messages"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (can_post_messages ? "true" : "false")); - ++index; - - mimes[index].name = "can_edit_messages"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (can_edit_messages ? "true" : "false")); - ++index; - - mimes[index].name = "can_delete_messages"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (can_delete_messages ? "true" : "false")); - ++index; - - mimes[index].name = "can_invite_users"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (can_invite_users ? "true" : "false")); - ++index; - - mimes[index].name = "can_restrict_members"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (can_restrict_members ? "true" : "false")); - ++index; - - mimes[index].name = "can_pin_messages"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (can_pin_messages ? "true" : "false")); - ++index; - - mimes[index].name = "can_promote_members"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (can_promote_members ? "true" : "false")); - ++index; - - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_PROMOTE_CHAT_MEMBER, mimes, index); + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + + mimes[count].name = "user_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = user_id; + count++; + + mimes[count].name = "can_change_info"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = can_change_info ? "true" : "false"; + count++; + + mimes[count].name = "can_post_messages"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = can_post_messages ? "true" : "false"; + count++; + + mimes[count].name = "can_edit_messages"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = can_edit_messages ? "true" : "false"; + count++; + + mimes[count].name = "can_delete_messages"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = can_delete_messages ? "true" : "false"; + count++; + + mimes[count].name = "can_invite_users"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = can_invite_users ? "true" : "false"; + count++; + + mimes[count].name = "can_restrict_members"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = can_restrict_members ? "true" : "false"; + count++; + + mimes[count].name = "can_pin_messages"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = can_pin_messages ? "true" : "false"; + count++; + + mimes[count].name = "can_promote_members"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = can_promote_members ? "true" : "false"; + count++; + + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_PROMOTE_CHAT_MEMBER, mimes, count); } telebot_core_response_t @@ -1993,24 +2049,24 @@ telebot_core_set_chat_admin_custom_title(telebot_core_handler_t core_h, long lon { CHECK_ARG_CONDITION((user_id <= 0), "Valid user_id is required"); - int index = 0; + int count = 0; telebot_core_mime_t mimes[3]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - mimes[index].name = "user_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", user_id); - ++index; + mimes[count].name = "user_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = user_id; + count++; - mimes[index].name = "custom_title"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", custom_title); - ++index; + mimes[count].name = "custom_title"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = custom_title; + count++; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_CHAT_ADMIN_TITLE, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_CHAT_ADMIN_TITLE, mimes, count); } telebot_core_response_t @@ -2019,67 +2075,67 @@ telebot_core_set_chat_permissions(telebot_core_handler_t core_h, long long int c bool can_add_web_page_previews, bool can_change_info, bool can_invite_users, bool can_pin_messages) { - int index = 0; + int count = 0; telebot_core_mime_t mimes[9]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; - - mimes[index].name = "can_send_messages"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (can_send_messages ? "true" : "false")); - ++index; - - mimes[index].name = "can_send_media_messages"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (can_send_media_messages ? "true" : "false")); - ++index; - - mimes[index].name = "can_send_polls"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (can_send_polls ? "true" : "false")); - ++index; - - mimes[index].name = "can_send_other_messages"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (can_send_other_messages ? "true" : "false")); - ++index; - - mimes[index].name = "can_add_web_page_previews"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (can_add_web_page_previews ? "true" : "false")); - ++index; - - mimes[index].name = "can_change_info"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (can_change_info ? "true" : "false")); - ++index; - - mimes[index].name = "can_invite_users"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (can_invite_users ? "true" : "false")); - ++index; - - mimes[index].name = "can_pin_messages"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (can_pin_messages ? "true" : "false")); - ++index; - - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_CHAT_PERMISSIONS, mimes, index); + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + + mimes[count].name = "can_send_messages"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = can_send_messages ? "true" : "false"; + count++; + + mimes[count].name = "can_send_media_messages"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = can_send_media_messages ? "true" : "false"; + count++; + + mimes[count].name = "can_send_polls"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = can_send_polls ? "true" : "false"; + count++; + + mimes[count].name = "can_send_other_messages"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = can_send_other_messages ? "true" : "false"; + count++; + + mimes[count].name = "can_add_web_page_previews"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = can_add_web_page_previews ? "true" : "false"; + count++; + + mimes[count].name = "can_change_info"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = can_change_info ? "true" : "false"; + count++; + + mimes[count].name = "can_invite_users"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = can_invite_users ? "true" : "false"; + count++; + + mimes[count].name = "can_pin_messages"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = can_invite_users ? "true" : "false"; + count++; + + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_CHAT_PERMISSIONS, mimes, count); } telebot_core_response_t telebot_core_export_chat_invite_link(telebot_core_handler_t core_h, long long int chat_id) { - int index = 0; + int count = 0; telebot_core_mime_t mimes[1]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_EXPORT_CHAT_INVITE_LINK, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_EXPORT_CHAT_INVITE_LINK, mimes, count); } telebot_core_response_t @@ -2087,19 +2143,19 @@ telebot_core_set_chat_photo(telebot_core_handler_t core_h, long long int chat_id { CHECK_ARG_NULL(photo); - int index = 0; + int count = 0; telebot_core_mime_t mimes[2]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - mimes[index].name = "photo"; - mimes[index].type = TELEBOT_MIME_TYPE_FILE; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", photo); - ++index; + mimes[count].name = "photo"; + mimes[count].type = TELEBOT_MIME_TYPE_FILE; + mimes[count].data.s = photo; + count++; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_CHAT_PHOTO, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_CHAT_PHOTO, mimes, count); } telebot_core_response_t @@ -2107,14 +2163,14 @@ telebot_core_delete_chat_photo(telebot_core_handler_t core_h, long long int chat { CHECK_ARG_CONDITION((chat_id <= 0), "Invalid chat id"); - int index = 0; + int count = 0; telebot_core_mime_t mimes[1]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_DELETE_CHAT_PHOTO, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_DELETE_CHAT_PHOTO, mimes, count); } telebot_core_response_t @@ -2123,19 +2179,19 @@ telebot_core_set_chat_title(telebot_core_handler_t core_h, long long int chat_id CHECK_ARG_CONDITION((chat_id <= 0), "Valid chat id is required"); CHECK_ARG_CONDITION((title == NULL) || (strlen(title) > 255), "Valid title is required"); - int index = 0; + int count = 0; telebot_core_mime_t mimes[2]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - mimes[index].name = "title"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", title); - ++index; + mimes[count].name = "title"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = title; + count++; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_CHAT_TITLE, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_CHAT_TITLE, mimes, count); } telebot_core_response_t @@ -2145,19 +2201,19 @@ telebot_core_set_chat_description(telebot_core_handler_t core_h, long long int c CHECK_ARG_CONDITION((description == NULL) || (strlen(description) > 255), "Valid description is required"); - int index = 0; + int count = 0; telebot_core_mime_t mimes[2]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - mimes[index].name = "description"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", description); - ++index; + mimes[count].name = "description"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = description; + count++; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_CHAT_DESCRIPTION, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_CHAT_DESCRIPTION, mimes, count); } telebot_core_response_t @@ -2167,24 +2223,24 @@ telebot_core_pin_chat_message(telebot_core_handler_t core_h, long long int chat_ CHECK_ARG_CONDITION((chat_id <= 0), "Valid chat id is required"); CHECK_ARG_CONDITION((message_id <= 0), "Valid message_id is required"); - int index = 0; + int count = 0; telebot_core_mime_t mimes[3]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - mimes[index].name = "message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", message_id); - ++index; + mimes[count].name = "message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = message_id; + count++; - mimes[index].name = "disable_notification"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (disable_notification ? "true" : "false")); - ++index; + mimes[count].name = "disable_notification"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = disable_notification ? "true" : "false"; + count++; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_PIN_CHAT_MESSAGE, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_PIN_CHAT_MESSAGE, mimes, count); } telebot_core_response_t @@ -2192,14 +2248,14 @@ telebot_core_unpin_chat_message(telebot_core_handler_t core_h, long long int cha { CHECK_ARG_CONDITION((chat_id <= 0), "Valid chat id is required"); - int index = 0; + int count = 0; telebot_core_mime_t mimes[1]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_UNPIN_CHAT_MESSAGE, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_UNPIN_CHAT_MESSAGE, mimes, count); } telebot_core_response_t @@ -2207,14 +2263,14 @@ telebot_core_leave_chat(telebot_core_handler_t core_h, long long int chat_id) { CHECK_ARG_CONDITION((chat_id <= 0), "Valid chat id is required"); - int index = 0; + int count = 0; telebot_core_mime_t mimes[1]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_LEAVE_CHAT, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_LEAVE_CHAT, mimes, count); } telebot_core_response_t @@ -2222,14 +2278,14 @@ telebot_core_get_chat(telebot_core_handler_t core_h, long long int chat_id) { CHECK_ARG_CONDITION((chat_id <= 0), "Valid chat id is required"); - int index = 0; + int count = 0; telebot_core_mime_t mimes[1]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_CHAT, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_CHAT, mimes, count); } telebot_core_response_t @@ -2237,14 +2293,14 @@ telebot_core_get_chat_admins(telebot_core_handler_t core_h, long long int chat_i { CHECK_ARG_CONDITION((chat_id <= 0), "Valid chat id is required"); - int index = 0; + int count = 0; telebot_core_mime_t mimes[1]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_CHAT_ADMINS, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_CHAT_ADMINS, mimes, count); } telebot_core_response_t @@ -2252,14 +2308,14 @@ telebot_core_get_chat_members_count(telebot_core_handler_t core_h, long long int { CHECK_ARG_CONDITION((chat_id <= 0), "Valid chat id is required"); - int index = 0; + int count = 0; telebot_core_mime_t mimes[1]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_CHAT_MEMBERS_COUNT, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_CHAT_MEMBERS_COUNT, mimes, count); } telebot_core_response_t @@ -2268,19 +2324,19 @@ telebot_core_get_chat_member(telebot_core_handler_t core_h, long long int chat_i CHECK_ARG_CONDITION((chat_id <= 0), "Valid chat id is required"); CHECK_ARG_CONDITION((user_id <= 0), "Valid user_id is required"); - int index = 0; + int count = 0; telebot_core_mime_t mimes[2]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - mimes[index].name = "user_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", user_id); - ++index; + mimes[count].name = "user_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = user_id; + count++; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_CHAT_MEMBER, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_CHAT_MEMBER, mimes, count); } telebot_core_response_t @@ -2289,19 +2345,19 @@ telebot_core_set_chat_sticker_set(telebot_core_handler_t core_h, long long int c CHECK_ARG_CONDITION((chat_id <= 0), "Valid chat id is required"); CHECK_ARG_NULL(sticker_set_name); - int index = 0; + int count = 0; telebot_core_mime_t mimes[2]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - mimes[index].name = "sticker_set_name"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", sticker_set_name); - ++index; + mimes[count].name = "sticker_set_name"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = sticker_set_name; + count++; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_CHAT_STICKER_SET, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_CHAT_STICKER_SET, mimes, count); } telebot_core_response_t @@ -2309,14 +2365,14 @@ telebot_core_delete_chat_sticker_set(telebot_core_handler_t core_h, long long in { CHECK_ARG_CONDITION((chat_id <= 0), "Valid chat id is required"); - int index = 0; + int count = 0; telebot_core_mime_t mimes[1]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_DEL_CHAT_STICKER_SET, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_DEL_CHAT_STICKER_SET, mimes, count); } telebot_core_response_t @@ -2325,43 +2381,43 @@ telebot_core_answer_callback_query(telebot_core_handler_t core_h, const char *ca { CHECK_ARG_NULL(callback_query_id); - int index = 0; + int count = 0; telebot_core_mime_t mimes[5]; // number of arguments - mimes[index].name = "callback_query_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", callback_query_id); - ++index; + mimes[count].name = "callback_query_id"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = callback_query_id; + count++; if (text != NULL) { - mimes[index].name = "text"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", text); - ++index; + mimes[count].name = "text"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = text; + count++; } - mimes[index].name = "show_alert"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (show_alert ? "true" : "false")); - ++index; + mimes[count].name = "show_alert"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = show_alert ? "true" : "false"; + count++; if (url != NULL) { - mimes[index].name = "url"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", url); - ++index; + mimes[count].name = "url"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = url; + count++; } if (cache_time > 0) { - mimes[index].name = "cache_time"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", cache_time); - ++index; + mimes[count].name = "cache_time"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = cache_time; + count++; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_ANSWER_CALLBACK_QUERY, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_ANSWER_CALLBACK_QUERY, mimes, count); } telebot_core_response_t @@ -2369,14 +2425,14 @@ telebot_core_set_my_commands(telebot_core_handler_t core_h, const char *commands { CHECK_ARG_NULL(commands); - int index = 0; + int count = 0; telebot_core_mime_t mimes[1]; // number of arguments - mimes[index].name = "commands"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", commands); - ++index; + mimes[count].name = "commands"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = commands; + count++; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_MY_COMMANDS, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_MY_COMMANDS, mimes, count); } telebot_core_response_t @@ -2396,56 +2452,56 @@ telebot_core_edit_message_text(telebot_core_handler_t core_h, long long int chat return telebot_core_get_error_response(TELEBOT_ERROR_INVALID_PARAMETER); } - int index = 0; + int count = 0; telebot_core_mime_t mimes[7]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; if (message_id > 0) { - mimes[index].name = "message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", message_id); - ++index; + mimes[count].name = "message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = message_id; + count++; } if (inline_message_id != NULL) { - mimes[index].name = "inline_message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", inline_message_id); - ++index; + mimes[count].name = "inline_message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = inline_message_id; + count++; } - mimes[index].name = "text"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", text); - ++index; + mimes[count].name = "text"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = text; + count++; if (parse_mode != NULL) { - mimes[index].name = "parse_mode"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", parse_mode); - ++index; + mimes[count].name = "parse_mode"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = parse_mode; + count++; } - mimes[index].name = "disable_web_page_preview"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", (disable_web_page_preview ? "true" : "false")); - ++index; + mimes[count].name = "disable_web_page_preview"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = disable_web_page_preview ? "true" : "false"; + count++; if (reply_markup != NULL) { - mimes[index].name = "reply_markup"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", reply_markup); - ++index; + mimes[count].name = "reply_markup"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = reply_markup; + count++; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_EDIT_MESSAGE_TEXT, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_EDIT_MESSAGE_TEXT, mimes, count); } telebot_core_response_t @@ -2459,51 +2515,51 @@ telebot_core_edit_message_caption(telebot_core_handler_t core_h, long long int c return telebot_core_get_error_response(TELEBOT_ERROR_INVALID_PARAMETER); } - int index = 0; + int count = 0; telebot_core_mime_t mimes[6]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; if (message_id > 0) { - mimes[index].name = "message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", message_id); - ++index; + mimes[count].name = "message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = message_id; + count++; } if (inline_message_id != NULL) { - mimes[index].name = "inline_message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", inline_message_id); - ++index; + mimes[count].name = "inline_message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = inline_message_id; + count++; } - mimes[index].name = "caption"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", caption); - ++index; + mimes[count].name = "caption"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = caption; + count++; if (parse_mode != NULL) { - mimes[index].name = "parse_mode"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", parse_mode); - ++index; + mimes[count].name = "parse_mode"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = parse_mode; + count++; } if (reply_markup != NULL) { - mimes[index].name = "reply_markup"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", reply_markup); - ++index; + mimes[count].name = "reply_markup"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = reply_markup; + count++; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_EDIT_MESSAGE_CAPTION, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_EDIT_MESSAGE_CAPTION, mimes, count); } telebot_core_response_t @@ -2516,38 +2572,38 @@ telebot_core_edit_message_reply_markup(telebot_core_handler_t core_h, long long return telebot_core_get_error_response(TELEBOT_ERROR_INVALID_PARAMETER); } - int index = 0; + int count = 0; telebot_core_mime_t mimes[4]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; if (message_id > 0) { - mimes[index].name = "message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", message_id); - ++index; + mimes[count].name = "message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = message_id; + count++; } if (inline_message_id != NULL) { - mimes[index].name = "inline_message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", inline_message_id); - ++index; + mimes[count].name = "inline_message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = inline_message_id; + count++; } if (reply_markup != NULL) { - mimes[index].name = "reply_markup"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", reply_markup); - ++index; + mimes[count].name = "reply_markup"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = reply_markup; + count++; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_EDIT_MESSAGE_REPLY_MARKUP, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_EDIT_MESSAGE_REPLY_MARKUP, mimes, count); } telebot_core_response_t @@ -2556,27 +2612,27 @@ telebot_core_stop_poll(telebot_core_handler_t core_h, long long int chat_id, int CHECK_ARG_CONDITION((chat_id <= 0) || (message_id <= 0), "Valid chat_id and message_id required"); - int index = 0; + int count = 0; telebot_core_mime_t mimes[3]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - mimes[index].name = "message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", message_id); - ++index; + mimes[count].name = "message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = message_id; + count++; if (reply_markup != NULL) { - mimes[index].name = "reply_markup"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%s", reply_markup); - ++index; + mimes[count].name = "reply_markup"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = reply_markup; + count++; } - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_STOP_POLL, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_STOP_POLL, mimes, count); } telebot_core_response_t @@ -2585,17 +2641,17 @@ telebot_core_delete_message(telebot_core_handler_t core_h, long long int chat_id CHECK_ARG_CONDITION((chat_id <= 0) || (message_id <= 0), "Valid chat_id and message_id required"); - int index = 0; + int count = 0; telebot_core_mime_t mimes[2]; // number of arguments - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%lld", chat_id); - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; - mimes[index].name = "message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_DATA; - snprintf(mimes[index].data, sizeof(mimes[index].data), "%d", message_id); - ++index; + mimes[count].name = "message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = message_id; + count++; - return telebot_core_curl_perform(core_h, TELEBOT_METHOD_DELETE_MESSAGE, mimes, index); + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_DELETE_MESSAGE, mimes, count); } From 905c22bec82054e1e47a5036512032faf77b5523 Mon Sep 17 00:00:00 2001 From: Elmurod Talipov Date: Sun, 20 Nov 2022 23:36:43 +0900 Subject: [PATCH 03/12] [Bot API 6.3] update user object Signed-off-by: Elmurod Talipov --- include/telebot-types.h | 8 +++++++- src/telebot-parser.c | 10 +++++++++- test/echobot.c | 2 +- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/include/telebot-types.h b/include/telebot-types.h index 3bc089e..8e4ffff 100644 --- a/include/telebot-types.h +++ b/include/telebot-types.h @@ -61,7 +61,7 @@ typedef enum telebot_update_type { */ typedef struct telebot_user { /** Unique identifier for this user or bot. */ - int id; + long long int id; /** True, if this user is bot. */ bool is_bot; @@ -78,6 +78,12 @@ typedef struct telebot_user { /** Optional. IETF language tag of the user's language. */ char *language_code; + /** Optional. True, if this user is a Telegram Premium user. */ + bool is_premium; + + /** Optional. True, if this user added the bot to the attachment menu. */ + bool added_to_attachment_menu; + /** Optional. Optional. True, if the bot can be invited to groups. Returned only in getMe. */ bool can_join_groups; diff --git a/src/telebot-parser.c b/src/telebot-parser.c index aba8359..4c63995 100644 --- a/src/telebot-parser.c +++ b/src/telebot-parser.c @@ -218,7 +218,7 @@ telebot_error_e telebot_parser_get_user(struct json_object *obj, telebot_user_t ERR("Object is not json user type, id not found"); return TELEBOT_ERROR_OPERATION_FAILED; } - user->id = json_object_get_int(id); + user->id = json_object_get_int64(id); struct json_object *is_bot = NULL; if (!json_object_object_get_ex(obj, "is_bot", &is_bot)) @@ -248,6 +248,14 @@ telebot_error_e telebot_parser_get_user(struct json_object *obj, telebot_user_t if (json_object_object_get_ex(obj, "language_code", &language_code)) user->language_code = TELEBOT_SAFE_STRDUP(json_object_get_string(language_code)); + struct json_object *is_premium = NULL; + if (json_object_object_get_ex(obj, "is_premium", &is_premium)) + user->is_premium = json_object_get_boolean(is_premium); + + struct json_object *added_to_attachment_menu = NULL; + if (json_object_object_get_ex(obj, "added_to_attachment_menu", &added_to_attachment_menu)) + user->added_to_attachment_menu = json_object_get_boolean(added_to_attachment_menu); + struct json_object *can_join_groups = NULL; if (json_object_object_get_ex(obj, "can_join_groups", &can_join_groups)) user->can_join_groups = json_object_get_boolean(can_join_groups); diff --git a/test/echobot.c b/test/echobot.c index fbb2fef..e8cd499 100644 --- a/test/echobot.c +++ b/test/echobot.c @@ -43,7 +43,7 @@ int main(int argc, char *argv[]) return -1; } - printf("ID: %d\n", me.id); + printf("ID: %lld\n", me.id); printf("First Name: %s\n", me.first_name); printf("User Name: %s\n", me.username); From 2784cac3d082fc984a39f7ea241053570c467125 Mon Sep 17 00:00:00 2001 From: Elmurod Talipov Date: Mon, 21 Nov 2022 01:03:43 +0900 Subject: [PATCH 04/12] [Bot API 6.3] update chat object Signed-off-by: Elmurod Talipov --- include/telebot-parser.h | 3 ++ include/telebot-types.h | 89 ++++++++++++++++++++++++++++++- src/telebot-parser.c | 110 +++++++++++++++++++++++++++++++++++++-- src/telebot.c | 41 ++++++++++++--- 4 files changed, 228 insertions(+), 15 deletions(-) diff --git a/include/telebot-parser.h b/include/telebot-parser.h index a99b891..7703fb0 100644 --- a/include/telebot-parser.h +++ b/include/telebot-parser.h @@ -114,4 +114,7 @@ telebot_error_e telebot_parser_get_array_bot_command(struct json_object *obj, te /** Prase response paramters object */ telebot_error_e telebot_parser_get_response_parameters(struct json_object *obj, telebot_response_paramters_t *resp_param); +/** Prase chat location object object */ +telebot_error_e telebot_parser_get_chat_location(struct json_object *obj, telebot_chat_location_t *chat_location); + #endif /* __TELEBOT_PARSER_H__ */ diff --git a/include/telebot-types.h b/include/telebot-types.h index 8e4ffff..f22e0ed 100644 --- a/include/telebot-types.h +++ b/include/telebot-types.h @@ -117,9 +117,53 @@ typedef struct telebot_chat { /** Optional. Last name of the other party in a private chat. */ char *last_name; + /** Optional. True, if the supergroup chat is a forum (has topics enabled). */ + bool is_forum; + /** Optional. Chat photo. Returned only in getChat. */ struct telebot_chat_photo *photo; + /** Optional. If non-empty, the list of all active chat usernames; + * for private chats, supergroups and channels. Returned only in getChat. + */ + char **active_usernames; + int count_active_usernames; + + /** + * Optional. Custom emoji identifier of emoji status of the other party in + * a private chat. Returned only in getChat. + */ + char *emoji_status_custom_emoji_id; + + /** Optional. Bio of the other party in a private chat. Returned only in getChat. */ + char *bio; + + /** + * Optional. True, if privacy settings of the other party in the private + * chat allows to use tg://user?id= links only in chats with the user. + * Returned only in getChat. + */ + bool has_private_forwards; + + /** + * Optional. True, if the privacy settings of the other party restrict + * sending voice and video note messages in the private chat. + * Returned only in getChat. + */ + bool has_restricted_voice_and_video_messages; + + /** + * Optional. True, if users need to join the supergroup before they can + * send messages. Returned only in getChat. + */ + bool join_to_send_messages; + + /** + * Optional. True, if all users directly joining the supergroup need + * to be approved by supergroup administrators. Returned only in getChat. + */ + bool join_by_request; + /** * Optional. Desription, for supergroups and channel chats. * Returned only in getChat. @@ -135,16 +179,30 @@ typedef struct telebot_chat { /** Optional. Pinned message, for supergroups. Returned only in getChat. */ struct telebot_message *pinned_message; - /** Optional. Default chat member permissions, for groups and supergroups. + /** + * Optional. Default chat member permissions, for groups and supergroups. * Returned only in getChat. */ struct telebot_chat_permissions *permissions; - /** Optional. For supergroups, the minimum allowed delay between consecutive + /** + * Optional. For supergroups, the minimum allowed delay between consecutive * messages sent by each unpriviledged user. Returned only in getChat. */ int slow_mode_delay; + /** + * Optional. The time after which all messages sent to the chat will be + * automatically deleted; in seconds. Returned only in getChat. + */ + int message_auto_delete_time; + + /** + * Optional. True, if messages from the chat can't be forwarded to other chats. + * Returned only in getChat. + */ + bool has_protected_content; + /** * Optional. For supergroups, name of group sticker set. * Returned only in getChat. @@ -157,6 +215,18 @@ typedef struct telebot_chat { */ bool can_set_sticker_set; + /** + * Optional. Unique identifier for the linked chat, i.e. the discussion + * group identifier for a channel and vice versa; for supergroups and + * channel chats. Returned only in getChat. + */ + long long int linked_chat_id; + + /** + * Optional. For supergroups, the location to which the supergroup is connected. + * Returned only in getChat. + */ + struct telebot_chat_location *location; } telebot_chat_t; @@ -1296,6 +1366,21 @@ typedef struct telebot_webhook_info { } telebot_webhook_info_t; +/** + * @brief Thi object represetns information about the current status of a webhook. + */ +typedef struct telebot_chat_location { + /** + * The location to which the supergroup is connected. Can't be a live location. + */ + struct telebot_location *location; + + /** + * Location address; 1-64 characters, as defined by the chat owner + */ + char *address; +} telebot_chat_location_t; + /** * @brief This is opaque object to represent a telebot handler. */ diff --git a/src/telebot-parser.c b/src/telebot-parser.c index 4c63995..e6f3ed3 100644 --- a/src/telebot-parser.c +++ b/src/telebot-parser.c @@ -335,6 +335,10 @@ telebot_error_e telebot_parser_get_chat(struct json_object *obj, telebot_chat_t if (json_object_object_get_ex(obj, "last_name", &last_name)) chat->last_name = TELEBOT_SAFE_STRDUP(json_object_get_string(last_name)); + struct json_object *is_forum = NULL; + if (json_object_object_get_ex(obj, "is_forum", &is_forum)) + chat->is_forum = json_object_get_boolean(is_forum); + struct json_object *chat_photo = NULL; if (json_object_object_get_ex(obj, "photo", &chat_photo)) { @@ -346,6 +350,46 @@ telebot_error_e telebot_parser_get_chat(struct json_object *obj, telebot_chat_t } } + struct json_object *array_active_usernames = NULL; + if (json_object_object_get_ex(obj, "active_usernames", &array_active_usernames)) + { + int count_active_usernames = json_object_array_length(array_active_usernames); + if ((chat->count_active_usernames > 0) && + (chat->active_usernames = calloc(count_active_usernames, sizeof(char *)))) + { + chat->count_active_usernames = count_active_usernames; + for (int index = 0; index < count_active_usernames; index++) + { + struct json_object *item = json_object_array_get_idx(array_active_usernames, index); + chat->active_usernames[index] = TELEBOT_SAFE_STRDUP(json_object_get_string(item)); + } + } + } + + struct json_object *emoji_status_custom_emoji_id = NULL; + if (json_object_object_get_ex(obj, "emoji_status_custom_emoji_id", &emoji_status_custom_emoji_id)) + chat->emoji_status_custom_emoji_id = TELEBOT_SAFE_STRDUP(json_object_get_string(emoji_status_custom_emoji_id)); + + struct json_object *bio = NULL; + if (json_object_object_get_ex(obj, "bio", &bio)) + chat->bio = TELEBOT_SAFE_STRDUP(json_object_get_string(bio)); + + struct json_object *has_private_forwards = NULL; + if (json_object_object_get_ex(obj, "has_private_forwards", &has_private_forwards)) + chat->has_private_forwards = json_object_get_boolean(has_private_forwards); + + struct json_object *has_restricted_voice_and_video_messages = NULL; + if (json_object_object_get_ex(obj, "has_restricted_voice_and_video_messages", &has_restricted_voice_and_video_messages)) + chat->has_restricted_voice_and_video_messages = json_object_get_boolean(has_restricted_voice_and_video_messages); + + struct json_object *join_to_send_messages = NULL; + if (json_object_object_get_ex(obj, "join_to_send_messages", &join_to_send_messages)) + chat->join_to_send_messages = json_object_get_boolean(join_to_send_messages); + + struct json_object *join_by_request = NULL; + if (json_object_object_get_ex(obj, "join_by_request", &join_by_request)) + chat->join_by_request = json_object_get_boolean(join_by_request); + struct json_object *description = NULL; if (json_object_object_get_ex(obj, "description", &description)) chat->description = TELEBOT_SAFE_STRDUP(json_object_get_string(description)); @@ -378,9 +422,15 @@ telebot_error_e telebot_parser_get_chat(struct json_object *obj, telebot_chat_t struct json_object *slow_mode_delay = NULL; if (json_object_object_get_ex(obj, "slow_mode_delay", &slow_mode_delay)) - { chat->slow_mode_delay = json_object_get_int(slow_mode_delay); - } + + struct json_object *has_protected_content = NULL; + if (json_object_object_get_ex(obj, "has_protected_content", &has_protected_content)) + chat->has_protected_content = json_object_get_boolean(has_protected_content); + + struct json_object *message_auto_delete_time = NULL; + if (json_object_object_get_ex(obj, "message_auto_delete_time", &message_auto_delete_time)) + chat->message_auto_delete_time = json_object_get_int(message_auto_delete_time); struct json_object *sticker_set_name = NULL; if (json_object_object_get_ex(obj, "sticker_set_name", &sticker_set_name)) @@ -390,6 +440,21 @@ telebot_error_e telebot_parser_get_chat(struct json_object *obj, telebot_chat_t if (json_object_object_get_ex(obj, "can_set_sticker_set", &can_set_sticker_set)) chat->can_set_sticker_set = json_object_get_boolean(can_set_sticker_set); + struct json_object *linked_chat_id = NULL; + if (json_object_object_get_ex(obj, "linked_chat_id", &linked_chat_id)) + chat->linked_chat_id = json_object_get_int64(linked_chat_id); + + struct json_object *location = NULL; + if (json_object_object_get_ex(obj, "location", &location)) + { + chat->location = calloc(1, sizeof(telebot_chat_location_t)); + if (telebot_parser_get_chat_location(location, chat->location) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get chat location from chat object"); + TELEBOT_SAFE_FREE(chat->location); + } + } + return TELEBOT_ERROR_NONE; } @@ -581,7 +646,7 @@ telebot_error_e telebot_parser_get_message(struct json_object *obj, telebot_mess } } - //TODO: implement game parsing + // TODO: implement game parsing struct json_object *photo = NULL; if (json_object_object_get_ex(obj, "photo", &photo)) @@ -590,7 +655,7 @@ telebot_error_e telebot_parser_get_message(struct json_object *obj, telebot_mess ERR("Failed to get from message object"); } - //TODO: implement sticker parsing + // TODO: implement sticker parsing struct json_object *video = NULL; if (json_object_object_get_ex(obj, "video", &video)) { @@ -749,7 +814,7 @@ telebot_error_e telebot_parser_get_message(struct json_object *obj, telebot_mess if (json_object_object_get_ex(obj, "connected_website", &connected_website)) msg->connected_website = TELEBOT_SAFE_STRDUP(json_object_get_string(connected_website)); - //TODO: implement invoce, successful_payment, passport_data, reply_markup + // TODO: implement invoce, successful_payment, passport_data, reply_markup return TELEBOT_ERROR_NONE; } @@ -2028,3 +2093,38 @@ telebot_error_e telebot_parser_get_response_parameters(struct json_object *obj, return TELEBOT_ERROR_NONE; } + +telebot_error_e telebot_parser_get_chat_location(struct json_object *obj, telebot_chat_location_t *chat_location) +{ + if ((obj == NULL) || (chat_location == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + struct json_object *address = NULL; + if (!json_object_object_get_ex(obj, "address", &address)) + { + ERR("Object is not chat type, address not found"); + return TELEBOT_ERROR_OPERATION_FAILED; + } + chat_location->address = TELEBOT_SAFE_STRDUP(json_object_get_string(address)); + + struct json_object *location = NULL; + if (json_object_object_get_ex(obj, "location", &location)) + { + chat_location->location = malloc(sizeof(telebot_location_t)); + if (telebot_parser_get_location(location, chat_location->location) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from chat object"); + TELEBOT_SAFE_FREE(chat_location->location); + TELEBOT_SAFE_FREE(chat_location->address); + return TELEBOT_ERROR_OPERATION_FAILED; + } + } + else + { + ERR("Object is not chat location type, location not found"); + TELEBOT_SAFE_FREE(chat_location->address); + return TELEBOT_ERROR_OPERATION_FAILED; + } + + return TELEBOT_ERROR_NONE; +} diff --git a/src/telebot.c b/src/telebot.c index 42f8ede..9e9d860 100644 --- a/src/telebot.c +++ b/src/telebot.c @@ -39,15 +39,23 @@ struct telebot_handler }; static const char *telebot_update_type_str[TELEBOT_UPDATE_TYPE_MAX] = { - "message", "edited_message", "channel_post", - "edited_channel_post", "inline_query", - "chonse_inline_result", "callback_query", - "shipping_query", "pre_checkout_query", - "poll", "poll_answer"}; + "message", + "edited_message", + "channel_post", + "edited_channel_post", + "inline_query", + "chonse_inline_result", + "callback_query", + "shipping_query", + "pre_checkout_query", + "poll", + "poll_answer" +}; static void telebot_put_user(telebot_user_t *user); static void telebot_put_chat_photo(telebot_chat_photo_t *photo); static void telebot_put_chat_permissions(telebot_chat_permissions_t *permissions); +static void telebot_put_chat_location(telebot_chat_location_t *chat_location); static void telebot_put_message(telebot_message_t *msg); static void telebot_put_telebot_message_entity(telebot_message_entity_t *entity); static void telebot_put_audio(telebot_audio_t *audio); @@ -131,9 +139,10 @@ telebot_error_e telebot_get_proxy(telebot_handler_t handle, char **addr) return telebot_core_get_proxy(handle->core_h, addr); } -telebot_error_e telebot_get_updates(telebot_handler_t handle, int offset, int limit, int timeout, - telebot_update_type_e allowed_updates[], int allowed_updates_count, - telebot_update_t **updates, int *count) +telebot_error_e +telebot_get_updates(telebot_handler_t handle, int offset, int limit, int timeout, + telebot_update_type_e allowed_updates[], int allowed_updates_count, + telebot_update_t **updates, int *count) { int ret = TELEBOT_ERROR_NONE; telebot_core_response_t response; @@ -1594,6 +1603,14 @@ telebot_error_e telebot_put_chat(telebot_chat_t *chat) telebot_put_chat_photo(chat->photo); TELEBOT_SAFE_FREE(chat->photo); + for (size_t index=0; index < chat->count_active_usernames; index++) + TELEBOT_SAFE_FREE(chat->active_usernames[index]); + TELEBOT_SAFE_FREE(chat->active_usernames); + chat->count_active_usernames = 0; + + TELEBOT_SAFE_FREE(chat->emoji_status_custom_emoji_id); + TELEBOT_SAFE_FREE(chat->bio); + TELEBOT_SAFE_FREE(chat->description); TELEBOT_SAFE_FREE(chat->invite_link); @@ -1604,6 +1621,8 @@ telebot_error_e telebot_put_chat(telebot_chat_t *chat) TELEBOT_SAFE_FREE(chat->permissions); TELEBOT_SAFE_FREE(chat->sticker_set_name); + telebot_put_chat_location(chat->location); + TELEBOT_SAFE_FREE(chat->location); return TELEBOT_ERROR_NONE; } @@ -1626,6 +1645,12 @@ static void telebot_put_chat_permissions(telebot_chat_permissions_t *permissions return; } +static void telebot_put_chat_location(telebot_chat_location_t *chat_location) +{ + TELEBOT_SAFE_FREE(chat_location->address); + telebot_put_location(chat_location->location); +} + static void telebot_put_message(telebot_message_t *msg) { if (msg == NULL) From 7a6dd8aa0f110e0b62a7ab772d4d3fd133b678a8 Mon Sep 17 00:00:00 2001 From: Elmurod Talipov Date: Sat, 26 Nov 2022 15:12:12 +0900 Subject: [PATCH 05/12] [Bot API 6.3] Update message object Signed-off-by: Elmurod Talipov --- include/telebot-parser.h | 5 +- include/telebot-types.h | 123 +++++++++++++++++----- src/telebot-parser.c | 216 +++++++++++++++++++++++++++------------ src/telebot.c | 53 +++++----- 4 files changed, 281 insertions(+), 116 deletions(-) diff --git a/include/telebot-parser.h b/include/telebot-parser.h index 7703fb0..671a0e9 100644 --- a/include/telebot-parser.h +++ b/include/telebot-parser.h @@ -103,7 +103,7 @@ telebot_error_e telebot_parser_get_file(struct json_object *obj, telebot_file_t telebot_error_e telebot_parser_get_callback_query(struct json_object *obj, telebot_callback_query_t *cb_query); /** Prase chat photo object */ -telebot_error_e telebot_parser_get_chat_photo(struct json_object *obj, telebot_chat_photo_t *photo); +telebot_error_e telebot_parser_get_chat_photo(struct json_object *obj, telebot_chat_photo_t *photo); /** Prase bot command object */ telebot_error_e telebot_parser_get_bot_command(struct json_object *obj, telebot_bot_command_t *command); @@ -117,4 +117,7 @@ telebot_error_e telebot_parser_get_response_parameters(struct json_object *obj, /** Prase chat location object object */ telebot_error_e telebot_parser_get_chat_location(struct json_object *obj, telebot_chat_location_t *chat_location); +/** Prase chat message auto-delete timer changed object object */ +telebot_error_e telebot_parser_get_message_auto_delete_timer_changed(struct json_object *obj, telebot_message_auto_delete_timer_changed_t *timer_changed); + #endif /* __TELEBOT_PARSER_H__ */ diff --git a/include/telebot-types.h b/include/telebot-types.h index f22e0ed..001125a 100644 --- a/include/telebot-types.h +++ b/include/telebot-types.h @@ -237,9 +237,25 @@ typedef struct telebot_message { /** Unique message identifier */ int message_id; + /** + * Unique identifier of a message thread to which the message belongs; + * for supergroups only + */ + int message_thread_id; + /** Optional. Sender, can be empty for messages sent to channels */ struct telebot_user *from; + /** + * Optional. Sender of the message, sent on behalf of a chat. For example, + * the channel itself for channel posts, the supergroup itself for messages + * from anonymous group administrators, the linked channel for messages + * automatically forwarded to the discussion group. For backward compatibility, + * the field from contains a fake sender user in non-channel chats, + * if the message was sent on behalf of a chat. + */ + struct telebot_chat *sender_chat; + /** Date the message was sent in Unix time */ long date; @@ -279,6 +295,15 @@ typedef struct telebot_message { */ long forward_date; + /** Optional. True, if the message is sent to a forum topic */ + bool is_topic_message; + + /** + * Optional. True, if the message is a channel post that was automatically + * forwarded to the connected discussion group + */ + bool is_automatic_forward; + /** * For replies, the original message. Note that the Message object in this * field will not contain further reply_to_message fields even if it itself @@ -286,9 +311,15 @@ typedef struct telebot_message { */ struct telebot_message *reply_to_message; + /** Optional. Bot through which the message was sent */ + struct telebot_user *via_bot; + /** Optional. Date the message was last edited in Unix time */ long edit_date; + /** Optional. True, if the message can't be forwarded */ + bool has_protected_content; + /** * Optional. The unique identifier of a media message group this message * belongs to @@ -309,11 +340,11 @@ typedef struct telebot_message { int count_entities; /** - * Optional. For messages with a caption, special entities like usernames, - * URLs, bot commands, etc. that appear in the caption. + * Optional. Message is an animation, information about the animation. + * For backward compatibility, when this field is set, the document field + * will also be set */ - struct telebot_message_entity *caption_entities; - int count_caption_entities; + struct telebot_animation *animation; /** Optional. Message is an audio file, information about the file */ struct telebot_audio *audio; @@ -321,12 +352,6 @@ typedef struct telebot_message { /** Optional. Message is a general file, information about the file */ struct telebot_document *document; - /** Optional. Message is a animation, information about the animation */ - struct telebot_animation *animation; - - /** Optional. Message is a game, information about the game. */ - struct telebot_game *game; //TODO:define type - /** Optional. Message is a photo, available sizes of the photo */ struct telebot_photo *photos; int count_photos; @@ -337,29 +362,39 @@ typedef struct telebot_message { /** Optional. Message is a video, information about the video */ struct telebot_video *video; - /** Optional. Message is a voice message, information about the file */ - struct telebot_voice *voice; - /** Optional. Message is a video note, information about the video message */ struct telebot_video_note *video_note; + /** Optional. Message is a voice message, information about the file */ + struct telebot_voice *voice; + /** Optional. Caption for the photo or video */ char *caption; + /** + * Optional. For messages with a caption, special entities like usernames, + * URLs, bot commands, etc. that appear in the caption. + */ + struct telebot_message_entity *caption_entities; + int count_caption_entities; + /** Optional. Message is a shared contact, information about the contact */ struct telebot_contact *contact; - /** Optional. Message is a shared location, information about the location */ - struct telebot_location *location; + /** Optional. Message is a dice with random value from 1 to 6 */ + struct telebot_dice *dice; - /** Optional. Message is a venue, information about the venue */ - struct telebot_venue *venue; + /** Optional. Message is a game, information about the game. */ + struct telebot_game *game; //TODO:define type /** Optional. Message is a native poll, information about the poll */ struct telebot_poll *poll; - /** Optional. Message is a dice with random value from 1 to 6 */ - struct telebot_dice *dice; + /** Optional. Message is a venue, information about the venue */ + struct telebot_venue *venue; + + /** Optional. Message is a shared location, information about the location */ + struct telebot_location *location; /** * Optional. New members that were added to the group or supergroup and @@ -394,6 +429,9 @@ typedef struct telebot_message { /** Optional. Service message: the channel has been created */ bool channel_chat_created; + /** Optional. Service message: auto-delete timer settings changed in the chat */ + struct telebot_message_auto_delete_timer_changed *message_auto_delete_timer_changed; + /** * Optional. The group has been migrated to a supergroup with the specified * identifier, not exceeding 1e13 by absolute value @@ -431,6 +469,36 @@ typedef struct telebot_message { /** Telegram Passport data */ struct telebot_passport_data *passport_data; //TODO:define type + /** + * Optional. Service message. A user in the chat triggered another user's + * proximity alert while sharing Live Location. + */ + struct telebot_proximity_alert_triggered *proximity_alert_triggered; //TODO:define type + + /** Optional. Service message: forum topic created. */ + struct telebot_forum_topic_created *forum_topic_created; //TODO:define type + + /** Optional. Service message: forum topic closed. */ + struct telebot_forum_topic_closed *forum_topic_closed; //TODO:define type + + /** Optional. Service message: forum topic reopened. */ + struct telebot_forum_topic_reopened *forum_topic_reopened; //TODO:define type + + /** Optional. Service message: video chat scheduled. */ + struct telebot_video_chat_scheduled *video_chat_scheduled; //TODO:define type + + /** Optional. Service message: video chat started. */ + struct telebot_video_chat_started *video_chat_started; //TODO:define type + + /** Optional. Service message: video chat ended. */ + struct telebot_video_chat_ended *video_chat_ended; //TODO:define type + + /** Optional. Service message: new participants invited to a video chat. */ + struct telebot_video_chat_participants_invited *video_chat_participants_invited; //TODO:define type + + /** Optional. Service message: data sent by a Web App. */ + struct telebot_web_app_data *web_app_data; //TODO:define type + /** * Inline keyboard attached to the message. login_url buttons are * represented as ordinary url buttons. @@ -1370,17 +1438,22 @@ typedef struct telebot_webhook_info { * @brief Thi object represetns information about the current status of a webhook. */ typedef struct telebot_chat_location { - /** - * The location to which the supergroup is connected. Can't be a live location. - */ + /** The location to which the supergroup is connected. Can't be a live location.*/ struct telebot_location *location; - /** - * Location address; 1-64 characters, as defined by the chat owner - */ + /** Location address; 1-64 characters, as defined by the chat owner */ char *address; } telebot_chat_location_t; +/** + * @brief This object represents a service message about a change in + * auto-delete timer settings. + */ +typedef struct telebot_message_auto_delete_timer_changed { + /** New auto-delete time for messages in the chat; in seconds */ + int message_auto_delete_time; +} telebot_message_auto_delete_timer_changed_t; + /** * @brief This is opaque object to represent a telebot handler. */ diff --git a/src/telebot-parser.c b/src/telebot-parser.c index e6f3ed3..994d640 100644 --- a/src/telebot-parser.c +++ b/src/telebot-parser.c @@ -532,6 +532,10 @@ telebot_error_e telebot_parser_get_message(struct json_object *obj, telebot_mess } /* Optional Fields */ + struct json_object *message_thread_id = NULL; + if (json_object_object_get_ex(obj, "message_thread_id", &message_thread_id)) + msg->message_thread_id = json_object_get_int(message_thread_id); + struct json_object *from = NULL; if (json_object_object_get_ex(obj, "from", &from)) { @@ -543,6 +547,17 @@ telebot_error_e telebot_parser_get_message(struct json_object *obj, telebot_mess } } + struct json_object *sender_chat = NULL; + if (json_object_object_get_ex(obj, "sender_chat", &sender_chat)) + { + msg->sender_chat = malloc(sizeof(telebot_chat_t)); + if (telebot_parser_get_chat(sender_chat, msg->sender_chat) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->sender_chat); + } + } + struct json_object *forward_from = NULL; if (json_object_object_get_ex(obj, "forward_from", &forward_from)) { @@ -581,6 +596,14 @@ telebot_error_e telebot_parser_get_message(struct json_object *obj, telebot_mess if (json_object_object_get_ex(obj, "forward_date", &forward_date)) msg->forward_date = json_object_get_int(forward_date); + struct json_object *is_topic_message = NULL; + if (json_object_object_get_ex(obj, "is_topic_message", &is_topic_message)) + msg->is_topic_message = json_object_get_boolean(is_topic_message); + + struct json_object *is_automatic_forward = NULL; + if (json_object_object_get_ex(obj, "is_automatic_forward", &is_automatic_forward)) + msg->is_automatic_forward = json_object_get_boolean(is_automatic_forward); + struct json_object *reply_to_message = NULL; if (json_object_object_get_ex(obj, "reply_to_message", &reply_to_message)) { @@ -592,10 +615,25 @@ telebot_error_e telebot_parser_get_message(struct json_object *obj, telebot_mess } } + struct json_object *via_bot = NULL; + if (json_object_object_get_ex(obj, "via_bot", &via_bot)) + { + msg->via_bot = malloc(sizeof(telebot_user_t)); + if (telebot_parser_get_user(via_bot, msg->via_bot) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->via_bot); + } + } + struct json_object *edit_date = NULL; if (json_object_object_get_ex(obj, "edit_date", &edit_date)) msg->edit_date = json_object_get_int(edit_date); + struct json_object *has_protected_content = NULL; + if (json_object_object_get_ex(obj, "has_protected_content", &has_protected_content)) + msg->has_protected_content = json_object_get_boolean(has_protected_content); + struct json_object *media_group_id = NULL; if (json_object_object_get_ex(obj, "media_group_id", &media_group_id)) msg->media_group_id = TELEBOT_SAFE_STRDUP(json_object_get_string(media_group_id)); @@ -616,12 +654,15 @@ telebot_error_e telebot_parser_get_message(struct json_object *obj, telebot_mess ERR("Failed to get from message object"); } - struct json_object *caption_entities = NULL; - if (json_object_object_get_ex(obj, "caption_entities", &caption_entities)) + struct json_object *animation = NULL; + if (json_object_object_get_ex(obj, "animation", &animation)) { - if (telebot_parser_get_message_entities(caption_entities, &(msg->caption_entities), - &(msg->count_caption_entities)) != TELEBOT_ERROR_NONE) - ERR("Failed to get from message object"); + msg->animation = malloc(sizeof(telebot_animation_t)); + if (telebot_parser_get_animation(animation, msg->animation) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->animation); + } } struct json_object *audio = NULL; @@ -646,8 +687,6 @@ telebot_error_e telebot_parser_get_message(struct json_object *obj, telebot_mess } } - // TODO: implement game parsing - struct json_object *photo = NULL; if (json_object_object_get_ex(obj, "photo", &photo)) { @@ -656,6 +695,7 @@ telebot_error_e telebot_parser_get_message(struct json_object *obj, telebot_mess } // TODO: implement sticker parsing + struct json_object *video = NULL; if (json_object_object_get_ex(obj, "video", &video)) { @@ -667,17 +707,6 @@ telebot_error_e telebot_parser_get_message(struct json_object *obj, telebot_mess } } - struct json_object *voice = NULL; - if (json_object_object_get_ex(obj, "voice", &voice)) - { - msg->voice = calloc(1, sizeof(telebot_voice_t)); - if (telebot_parser_get_voice(voice, msg->voice) != TELEBOT_ERROR_NONE) - { - ERR("Failed to get from message object"); - TELEBOT_SAFE_FREE(msg->voice); - } - } - struct json_object *video_note = NULL; if (json_object_object_get_ex(obj, "video_note", &video_note)) { @@ -689,10 +718,29 @@ telebot_error_e telebot_parser_get_message(struct json_object *obj, telebot_mess } } + struct json_object *voice = NULL; + if (json_object_object_get_ex(obj, "voice", &voice)) + { + msg->voice = malloc(sizeof(telebot_voice_t)); + if (telebot_parser_get_voice(voice, msg->voice) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->voice); + } + } + struct json_object *caption = NULL; if (json_object_object_get_ex(obj, "caption", &caption)) msg->caption = TELEBOT_SAFE_STRDUP(json_object_get_string(caption)); + struct json_object *caption_entities = NULL; + if (json_object_object_get_ex(obj, "caption_entities", &caption_entities)) + { + if (telebot_parser_get_message_entities(caption_entities, &(msg->caption_entities), + &(msg->count_caption_entities)) != TELEBOT_ERROR_NONE) + ERR("Failed to get from message object"); + } + struct json_object *contact = NULL; if (json_object_object_get_ex(obj, "contact", &contact)) { @@ -704,32 +752,23 @@ telebot_error_e telebot_parser_get_message(struct json_object *obj, telebot_mess } } - struct json_object *location = NULL; - if (json_object_object_get_ex(obj, "location", &location)) + struct json_object *dice = NULL; + if (json_object_object_get_ex(obj, "dice", &dice)) { - msg->location = calloc(1, sizeof(telebot_location_t)); - if (telebot_parser_get_location(location, msg->location) != TELEBOT_ERROR_NONE) + msg->dice = calloc(1, sizeof(telebot_dice_t)); + if (telebot_parser_get_dice(dice, msg->dice) != TELEBOT_ERROR_NONE) { - ERR("Failed to get from message object"); - TELEBOT_SAFE_FREE(msg->location); + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->dice); } } - struct json_object *venue = NULL; - if (json_object_object_get_ex(obj, "venue", &venue)) - { - msg->venue = calloc(1, sizeof(telebot_venue_t)); - if (telebot_parser_get_venue(venue, msg->venue) != TELEBOT_ERROR_NONE) - { - ERR("Failed to get from message object"); - TELEBOT_SAFE_FREE(msg->venue); - } - } + // TODO: implement game parsing struct json_object *poll = NULL; if (json_object_object_get_ex(obj, "poll", &poll)) { - msg->poll = calloc(1, sizeof(telebot_poll_t)); + msg->poll = malloc(sizeof(telebot_poll_t)); if (telebot_parser_get_poll(poll, msg->poll) != TELEBOT_ERROR_NONE) { ERR("Failed to get from message object"); @@ -737,35 +776,47 @@ telebot_error_e telebot_parser_get_message(struct json_object *obj, telebot_mess } } - struct json_object *dice = NULL; - if (json_object_object_get_ex(obj, "dice", &dice)) + struct json_object *venue = NULL; + if (json_object_object_get_ex(obj, "venue", &venue)) { - msg->dice = calloc(1, sizeof(telebot_dice_t)); - if (telebot_parser_get_dice(dice, msg->dice) != TELEBOT_ERROR_NONE) + msg->venue = malloc(sizeof(telebot_venue_t)); + if (telebot_parser_get_venue(venue, msg->venue) != TELEBOT_ERROR_NONE) { - ERR("Failed to get from message object"); - TELEBOT_SAFE_FREE(msg->dice); + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->venue); } } - struct json_object *ncm = NULL; - if (json_object_object_get_ex(obj, "new_chat_members", &ncm)) + struct json_object *location = NULL; + if (json_object_object_get_ex(obj, "location", &location)) { - if (telebot_parser_get_users(ncm, &(msg->new_chat_members), &(msg->count_new_chat_members)) != TELEBOT_ERROR_NONE) + msg->location = malloc(sizeof(telebot_location_t)); + if (telebot_parser_get_location(location, msg->location) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->location); + } + } + + struct json_object *new_chat_members = NULL; + if (json_object_object_get_ex(obj, "new_chat_members", &new_chat_members)) + { + int ret = telebot_parser_get_users(new_chat_members, &(msg->new_chat_members), &(msg->count_new_chat_members)); + if (ret != TELEBOT_ERROR_NONE) ERR("Failed to get from message object"); } - struct json_object *lcm = NULL; - if (json_object_object_get_ex(obj, "left_chat_members", &lcm)) + struct json_object *left_chat_members = NULL; + if (json_object_object_get_ex(obj, "left_chat_members", &left_chat_members)) { - if (telebot_parser_get_users(lcm, &(msg->left_chat_members), &(msg->count_left_chat_members)) != - TELEBOT_ERROR_NONE) + int ret = telebot_parser_get_users(left_chat_members, &(msg->left_chat_members), &(msg->count_left_chat_members)); + if (ret != TELEBOT_ERROR_NONE) ERR("Failed to get from message object"); } - struct json_object *nct = NULL; - if (json_object_object_get_ex(obj, "new_chat_title", &nct)) - msg->new_chat_title = TELEBOT_SAFE_STRDUP(json_object_get_string(nct)); + struct json_object *new_chat_title = NULL; + if (json_object_object_get_ex(obj, "new_chat_title", &new_chat_title)) + msg->new_chat_title = TELEBOT_SAFE_STRDUP(json_object_get_string(new_chat_title)); struct json_object *new_chat_photo = NULL; if (json_object_object_get_ex(obj, "new_chat_photo", &new_chat_photo)) @@ -779,25 +830,38 @@ telebot_error_e telebot_parser_get_message(struct json_object *obj, telebot_mess if (json_object_object_get_ex(obj, "delete_chat_photo", &del_chat_photo)) msg->delete_chat_photo = json_object_get_boolean(del_chat_photo); - struct json_object *gcc = NULL; - if (json_object_object_get_ex(obj, "group_chat_created", &gcc)) - msg->group_chat_created = json_object_get_boolean(gcc); + struct json_object *group_chat_created = NULL; + if (json_object_object_get_ex(obj, "group_chat_created", &group_chat_created)) + msg->group_chat_created = json_object_get_boolean(group_chat_created); - struct json_object *sgcc = NULL; - if (json_object_object_get_ex(obj, "supergroup_chat_created", &sgcc)) - msg->supergroup_chat_created = json_object_get_boolean(sgcc); + struct json_object *supergroup_chat_created = NULL; + if (json_object_object_get_ex(obj, "supergroup_chat_created", &supergroup_chat_created)) + msg->supergroup_chat_created = json_object_get_boolean(supergroup_chat_created); - struct json_object *cacc = NULL; - if (json_object_object_get_ex(obj, "channel_chat_created", &cacc)) - msg->channel_chat_created = json_object_get_boolean(cacc); + struct json_object *channel_chat_created = NULL; + if (json_object_object_get_ex(obj, "channel_chat_created", &channel_chat_created)) + msg->channel_chat_created = json_object_get_boolean(channel_chat_created); - struct json_object *mtci = NULL; - if (json_object_object_get_ex(obj, "migrate_to_chat_id", &mtci)) - msg->migrate_to_chat_id = json_object_get_int64(mtci); + struct json_object *message_auto_delete_timer_changed = NULL; + if (json_object_object_get_ex(obj, "message_auto_delete_timer_changed", &message_auto_delete_timer_changed)) + { + msg->message_auto_delete_timer_changed = malloc(sizeof(telebot_message_auto_delete_timer_changed_t)); + int ret = telebot_parser_get_message_auto_delete_timer_changed(message_auto_delete_timer_changed, + msg->message_auto_delete_timer_changed); + if (ret != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->message_auto_delete_timer_changed); + } + } - struct json_object *mftci = NULL; - if (json_object_object_get_ex(obj, "migrate_from_chat_id", &mftci)) - msg->migrate_from_chat_id = json_object_get_int64(mftci); + struct json_object *migrate_to_chat_id = NULL; + if (json_object_object_get_ex(obj, "migrate_to_chat_id", &migrate_to_chat_id)) + msg->migrate_to_chat_id = json_object_get_int64(migrate_to_chat_id); + + struct json_object *migrate_from_chat_id = NULL; + if (json_object_object_get_ex(obj, "migrate_from_chat_id", &migrate_from_chat_id)) + msg->migrate_from_chat_id = json_object_get_int64(migrate_from_chat_id); struct json_object *pinned_message = NULL; if (json_object_object_get_ex(obj, "pinned_message", &pinned_message)) @@ -2085,7 +2149,7 @@ telebot_error_e telebot_parser_get_response_parameters(struct json_object *obj, memset(resp_param, 0, sizeof(telebot_response_paramters_t)); struct json_object *migrate_to_chat_id = NULL; if (json_object_object_get_ex(obj, "migrate_to_chat_id", &migrate_to_chat_id)) - resp_param->migrate_to_chat_id = json_object_get_int(migrate_to_chat_id); + resp_param->migrate_to_chat_id = json_object_get_int64(migrate_to_chat_id); struct json_object *retry_after = NULL; if (json_object_object_get_ex(obj, "retry_after", &retry_after)) @@ -2128,3 +2192,21 @@ telebot_error_e telebot_parser_get_chat_location(struct json_object *obj, telebo return TELEBOT_ERROR_NONE; } + +telebot_error_e +telebot_parser_get_message_auto_delete_timer_changed(struct json_object *obj, + telebot_message_auto_delete_timer_changed_t *timer_changed) +{ + if ((obj == NULL) || (timer_changed == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + struct json_object *message_auto_delete_time = NULL; + if (!json_object_object_get_ex(obj, "message_auto_delete_time", &message_auto_delete_time)) + { + ERR("Object is not message auto-delete timer type, message_auto_delete_time not found"); + return TELEBOT_ERROR_OPERATION_FAILED; + } + timer_changed->message_auto_delete_time = json_object_get_int(message_auto_delete_time); + + return TELEBOT_ERROR_NONE; +} diff --git a/src/telebot.c b/src/telebot.c index 9e9d860..247f0f0 100644 --- a/src/telebot.c +++ b/src/telebot.c @@ -1659,6 +1659,9 @@ static void telebot_put_message(telebot_message_t *msg) telebot_put_user(msg->from); TELEBOT_SAFE_FREE(msg->from); + telebot_put_chat(msg->sender_chat); + TELEBOT_SAFE_FREE(msg->sender_chat); + telebot_put_chat(msg->chat); TELEBOT_SAFE_FREE(msg->chat); @@ -1674,6 +1677,9 @@ static void telebot_put_message(telebot_message_t *msg) telebot_put_message(msg->reply_to_message); TELEBOT_SAFE_FREE(msg->reply_to_message); + telebot_put_user(msg->via_bot); + TELEBOT_SAFE_FREE(msg->via_bot); + TELEBOT_SAFE_FREE(msg->media_group_id); TELEBOT_SAFE_FREE(msg->author_signature); TELEBOT_SAFE_FREE(msg->text); @@ -1686,13 +1692,8 @@ static void telebot_put_message(telebot_message_t *msg) msg->count_entities = 0; } - if (msg->caption_entities) - { - for (int index = 0; index < msg->count_caption_entities; index++) - telebot_put_telebot_message_entity(&(msg->caption_entities[index])); - TELEBOT_SAFE_FREE(msg->caption_entities); - msg->count_caption_entities = 0; - } + telebot_put_animation(msg->animation); + TELEBOT_SAFE_FREE(msg->animation); telebot_put_audio(msg->audio); TELEBOT_SAFE_FREE(msg->audio); @@ -1700,13 +1701,6 @@ static void telebot_put_message(telebot_message_t *msg) telebot_put_document(msg->document); TELEBOT_SAFE_FREE(msg->document); - // TODO - // telebot_put_game(msg->game); - // TELEBOT_SAFE_FREE(msg->game); - - telebot_put_animation(msg->animation); - TELEBOT_SAFE_FREE(msg->animation); - if (msg->photos) { for (int index = 0; index < msg->count_photos; index++) @@ -1722,28 +1716,39 @@ static void telebot_put_message(telebot_message_t *msg) telebot_put_video(msg->video); TELEBOT_SAFE_FREE(msg->video); - telebot_put_voice(msg->voice); - TELEBOT_SAFE_FREE(msg->voice); - telebot_put_video_note(msg->video_note); TELEBOT_SAFE_FREE(msg->video_note); + telebot_put_voice(msg->voice); + TELEBOT_SAFE_FREE(msg->voice); + TELEBOT_SAFE_FREE(msg->caption); + if (msg->caption_entities) + { + for (int index = 0; index < msg->count_caption_entities; index++) + telebot_put_telebot_message_entity(&(msg->caption_entities[index])); + TELEBOT_SAFE_FREE(msg->caption_entities); + msg->count_caption_entities = 0; + } telebot_put_contact(msg->contact); TELEBOT_SAFE_FREE(msg->contact); - telebot_put_location(msg->location); - TELEBOT_SAFE_FREE(msg->location); + telebot_put_dice(msg->dice); + TELEBOT_SAFE_FREE(msg->dice); - telebot_put_venue(msg->venue); - TELEBOT_SAFE_FREE(msg->venue); + // TODO + // telebot_put_game(msg->game); + // TELEBOT_SAFE_FREE(msg->game); telebot_put_poll(msg->poll); TELEBOT_SAFE_FREE(msg->poll); - telebot_put_dice(msg->dice); - TELEBOT_SAFE_FREE(msg->dice); + telebot_put_venue(msg->venue); + TELEBOT_SAFE_FREE(msg->venue); + + telebot_put_location(msg->location); + TELEBOT_SAFE_FREE(msg->location); if (msg->new_chat_members) { @@ -1771,6 +1776,8 @@ static void telebot_put_message(telebot_message_t *msg) msg->count_new_chat_photos = 0; } + TELEBOT_SAFE_FREE(msg->message_auto_delete_timer_changed); + telebot_put_message(msg->pinned_message); // TODO From 27f3ea58efb65cc5e6a59de5d07cf6cc3683ea34 Mon Sep 17 00:00:00 2001 From: Elmurod Talipov Date: Tue, 17 Feb 2026 01:44:44 +0900 Subject: [PATCH 06/12] Bump version to 6.3.0 and fix bugs after refactoring Signed-off-by: Elmurod Talipov --- CMakeLists.txt | 2 +- include/telebot-core.h | 17 ++++----- src/telebot-core.c | 79 ++++++++++++++++++++++-------------------- src/telebot.c | 17 ++++----- 4 files changed, 56 insertions(+), 59 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 028955c..e40c4a3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,7 @@ SET(PREFIX ${CMAKE_INSTALL_PREFIX}) SET(EXEC_PREFIX "${PREFIX}/bin") SET(INCLUDEDIR "${PREFIX}/include/${PROJECT_NAME}") SET(LIBDIR "${PREFIX}/lib") -SET(VERSION 4.7.1) +SET(VERSION 6.3.0) SET(CMAKE_MACOSX_RPATH 1) diff --git a/include/telebot-core.h b/include/telebot-core.h index 892e469..a8c0353 100644 --- a/include/telebot-core.h +++ b/include/telebot-core.h @@ -478,17 +478,14 @@ telebot_core_response_t telebot_core_send_video_note(telebot_core_handler_t core * @param[in] count Number of photos in the array (2–10). * @param[in] disable_notification Sends the message silently. Users will receive a notification with no sound. * @param[in] reply_to_message_id If the message is a reply, ID of the original message. - * @param[out] response Response data that contains the sent messages on success. It MUST be freed with #telebot_core_put_response(). - * @return on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. + * @return #telebot_core_response_t response that contains the sent message, + * which MUST be released with #telebot_core_put_response(), or null if allocation fails. + * Response code should be checked with #teleobot_core_get_response_code(), + * before getting data with #telebot_core_get_response_data(). */ -telebot_error_e telebot_core_send_media_group( - telebot_core_handler_t *core_h, - long long int chat_id, - char *media_paths[], - int count, - bool disable_notification, - int reply_to_message_id, - telebot_core_response_t *response); +telebot_core_response_t telebot_core_send_media_group(telebot_core_handler_t core_h, + long long int chat_id, char *media_paths[], int count, bool disable_notification, + int reply_to_message_id); /** * @brief Send point on the map. diff --git a/src/telebot-core.c b/src/telebot-core.c index c3a4e30..89889b2 100644 --- a/src/telebot-core.c +++ b/src/telebot-core.c @@ -23,6 +23,8 @@ #include #include #include +#include +#include #include #include #include @@ -65,12 +67,13 @@ telebot_core_create(telebot_core_handler_t *core_h, const char *token) *core_h = NULL; - telebot_core_handler_t _core_h = malloc(sizeof(telebot_core_handler_t)); + telebot_core_handler_t _core_h = malloc(sizeof(struct telebot_core_handler)); if (_core_h == NULL) { ERR("Failed to allocate memory"); return TELEBOT_ERROR_OUT_OF_MEMORY; } + _core_h->token = strdup(token); if (_core_h->token == NULL) { @@ -1131,15 +1134,15 @@ static const char *telebot_core_get_media_type(const char *filename) } telebot_core_response_t -telebot_core_send_media_group(telebot_core_handler_t core_h, long long int chat_id, char *media_paths[], int count, +telebot_core_send_media_group(telebot_core_handler_t core_h, long long int chat_id, char *media_paths[], int path_count, bool disable_notification, int reply_to_message_id) { CHECK_ARG_NULL(media_paths); - CHECK_ARG_CONDITION(count <= 0, "Invalid media path count, should be greater than 0"); - CHECK_ARG_CONDITION(count > 10, "Invalid media path count, should be less than or equal to 10") + CHECK_ARG_CONDITION(path_count <= 0, "Invalid media path count, should be greater than 0"); + CHECK_ARG_CONDITION(path_count > 10, "Invalid media path count, should be less than or equal to 10") // Validate all media paths are non-NULL - for (int i = 0; i < count; ++i) + for (int i = 0; i < path_count; ++i) { if (media_paths[i] == NULL) { @@ -1157,7 +1160,7 @@ telebot_core_send_media_group(telebot_core_handler_t core_h, long long int chat_ } // Allocate memory for filenames - char **filenames = calloc(count, sizeof(char *)); + char **filenames = calloc(path_count, sizeof(char *)); if (filenames == NULL) { json_object_put(media_array); @@ -1166,10 +1169,10 @@ telebot_core_send_media_group(telebot_core_handler_t core_h, long long int chat_ } // Determine media types for validation - const char **media_types = calloc(count, sizeof(char *)); + const char **media_types = calloc(path_count, sizeof(char *)); if (media_types == NULL) { - for (int i = 0; i < count; i++) + for (int i = 0; i < path_count; i++) { free(filenames[i]); } @@ -1180,7 +1183,7 @@ telebot_core_send_media_group(telebot_core_handler_t core_h, long long int chat_ ; } - for (int i = 0; i < count; ++i) + for (int i = 0; i < path_count; ++i) { // Extract filename from path using basename const char *filename = basename(media_paths[i]); @@ -1209,7 +1212,7 @@ telebot_core_send_media_group(telebot_core_handler_t core_h, long long int chat_ // Validate media group composition // Count unique types in the group int photo_count = 0, video_count = 0, audio_count = 0, document_count = 0; - for (int i = 0; i < count; i++) + for (int i = 0; i < path_count; i++) { if (strcmp(media_types[i], "photo") == 0) photo_count++; @@ -1226,7 +1229,7 @@ telebot_core_send_media_group(telebot_core_handler_t core_h, long long int chat_ // 2. Mixed photo and video only bool valid_combination = false; - if (photo_count == count || video_count == count || audio_count == count || document_count == count) + if (photo_count == path_count || video_count == path_count || audio_count == path_count || document_count == path_count) { // All same type - valid valid_combination = true; @@ -1240,7 +1243,7 @@ telebot_core_send_media_group(telebot_core_handler_t core_h, long long int chat_ if (!valid_combination) { // Free allocated resources - for (int i = 0; i < count; i++) + for (int i = 0; i < path_count; i++) { free(filenames[i]); } @@ -1252,7 +1255,7 @@ telebot_core_send_media_group(telebot_core_handler_t core_h, long long int chat_ } // Create JSON objects for media array - for (int i = 0; i < count; ++i) + for (int i = 0; i < path_count; ++i) { struct json_object *item = json_object_new_object(); json_object_object_add(item, "type", json_object_new_string(media_types[i])); @@ -1271,7 +1274,7 @@ telebot_core_send_media_group(telebot_core_handler_t core_h, long long int chat_ if (media_json_str == NULL) { // Free allocated filenames - for (int i = 0; i < count; i++) + for (int i = 0; i < path_count; i++) { free(filenames[i]); } @@ -1283,49 +1286,49 @@ telebot_core_send_media_group(telebot_core_handler_t core_h, long long int chat_ // Prepare MIME parts telebot_core_mime_t mimes[20]; // max: chat_id + media + disable_notif + reply_id + 10 files - int index = 0; + int count = 0; // chat_id - mimes[index].name = "chat_id"; - mimes[index].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; - mimes[index].data.lld = chat_id; - ++index; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; // media (JSON string) - mimes[index].name = "media"; - mimes[index].type = TELEBOT_MIME_TYPE_STRING; - mimes[index].data.s = media_json_str; - ++index; + mimes[count].name = "media"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = media_json_str; + count++; // disable_notification - mimes[index].name = "disable_notification"; - mimes[index].type = TELEBOT_MIME_TYPE_STRING; - mimes[index].data.s = disable_notification ? "true" : "false"; - ++index; + mimes[count].name = "disable_notification"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = disable_notification ? "true" : "false"; + count++; // reply_to_message_id (optional) if (reply_to_message_id > 0) { - mimes[index].name = "reply_to_message_id"; - mimes[index].type = TELEBOT_MIME_TYPE_INT; - mimes[index].data.d = reply_to_message_id; - ++index; + mimes[count].name = "reply_to_message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = reply_to_message_id; + count++; } // Attach actual photo files using the correct names - for (int i = 0; i < count; ++i) + for (int i = 0; i < path_count; ++i) { - mimes[index].name = filenames[i]; // Use actual filename instead of generated name - mimes[index].type = TELEBOT_MIME_TYPE_FILE; - mimes[index].data.s = media_paths[i]; - ++index; + mimes[count].name = filenames[i]; // Use actual filename instead of generated name + mimes[count].type = TELEBOT_MIME_TYPE_FILE; + mimes[count].data.s = media_paths[i]; + count++; } // Perform request - telebot_core_response_t response = telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_MEDIA_GROUP, mimes, index); + telebot_core_response_t response = telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_MEDIA_GROUP, mimes, count); // Clean up allocated filenames - for (int i = 0; i < count; i++) + for (int i = 0; i < path_count; i++) { free(filenames[i]); } diff --git a/src/telebot.c b/src/telebot.c index 247f0f0..7526ffe 100644 --- a/src/telebot.c +++ b/src/telebot.c @@ -49,8 +49,7 @@ static const char *telebot_update_type_str[TELEBOT_UPDATE_TYPE_MAX] = { "shipping_query", "pre_checkout_query", "poll", - "poll_answer" -}; + "poll_answer"}; static void telebot_put_user(telebot_user_t *user); static void telebot_put_chat_photo(telebot_chat_photo_t *photo); @@ -619,17 +618,15 @@ telebot_error_e telebot_send_video_note(telebot_handler_t handle, long long int telebot_error_e telebot_send_media_group(telebot_handler_t handle, long long int chat_id, char *media_paths[], int count, bool disable_notification, int reply_to_message_id) { - telebot_hdata_t *_handle = (telebot_hdata_t *)handle; - if (_handle == NULL) - return TELEBOT_ERROR_NOT_SUPPORTED; + telebot_core_response_t response; if ((media_paths == NULL) || (count < 2) || (count > 10)) return TELEBOT_ERROR_INVALID_PARAMETER; - telebot_core_response_t response; - telebot_error_e ret = telebot_core_send_media_group(_handle->core_h, chat_id, media_paths, count, disable_notification, - reply_to_message_id, &response); - telebot_core_put_response(&response); + response = telebot_core_send_media_group(handle->core_h, chat_id, media_paths, count, disable_notification, + reply_to_message_id); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); return ret; } @@ -1603,7 +1600,7 @@ telebot_error_e telebot_put_chat(telebot_chat_t *chat) telebot_put_chat_photo(chat->photo); TELEBOT_SAFE_FREE(chat->photo); - for (size_t index=0; index < chat->count_active_usernames; index++) + for (size_t index = 0; index < chat->count_active_usernames; index++) TELEBOT_SAFE_FREE(chat->active_usernames[index]); TELEBOT_SAFE_FREE(chat->active_usernames); chat->count_active_usernames = 0; From 33e81211b933c5e66d06efc801a3be78641df7c8 Mon Sep 17 00:00:00 2001 From: Elmurod Talipov Date: Fri, 27 Feb 2026 06:57:26 +0900 Subject: [PATCH 07/12] Upgrade Telegram Bot API from 6.3 to 9.4 and implement Game, Payments, and Passport APIs --- CMakeLists.txt | 13 +- include/telebot-core.h | 742 ++++++++++- include/telebot-forums.h | 201 +++ include/telebot-games.h | 78 ++ include/telebot-inline.h | 76 ++ include/telebot-methods.h | 404 ++++++ include/telebot-parser.h | 137 +- include/telebot-passport.h | 56 + include/telebot-payments.h | 189 +++ include/telebot-private.h | 129 +- include/telebot-stickers.h | 79 +- include/telebot-types.h | 2165 +++++++++++++++++++++++++++++- include/telebot.h | 6 + src/telebot-core.c | 1850 ++++++++++++++++++++++++++ src/telebot-forums.c | 249 ++++ src/telebot-games.c | 199 +++ src/telebot-inline.c | 124 ++ src/telebot-parser.c | 2549 +++++++++++++++++++++++++++++++++++- src/telebot-passport.c | 35 + src/telebot-payments.c | 463 +++++++ src/telebot.c | 1376 ++++++++++++++++++- 21 files changed, 10928 insertions(+), 192 deletions(-) create mode 100644 include/telebot-forums.h create mode 100644 include/telebot-games.h create mode 100644 include/telebot-inline.h create mode 100644 include/telebot-passport.h create mode 100644 include/telebot-payments.h create mode 100644 src/telebot-forums.c create mode 100644 src/telebot-games.c create mode 100644 src/telebot-inline.c create mode 100644 src/telebot-passport.c create mode 100644 src/telebot-payments.c diff --git a/CMakeLists.txt b/CMakeLists.txt index e40c4a3..0bc53de 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,7 @@ SET(PREFIX ${CMAKE_INSTALL_PREFIX}) SET(EXEC_PREFIX "${PREFIX}/bin") SET(INCLUDEDIR "${PREFIX}/include/${PROJECT_NAME}") SET(LIBDIR "${PREFIX}/lib") -SET(VERSION 6.3.0) +SET(VERSION 9.4.0) SET(CMAKE_MACOSX_RPATH 1) @@ -14,6 +14,11 @@ SET(SRCS src/telebot-parser.c src/telebot-core.c src/telebot.c + src/telebot-inline.c + src/telebot-forums.c + src/telebot-payments.c + src/telebot-passport.c + src/telebot-games.c ) ADD_DEFINITIONS("-DDEBUG=0") @@ -50,5 +55,11 @@ INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/telebot-methods.h ${CMAKE_CURRENT_SOURCE_DIR}/include/telebot-types.h ${CMAKE_CURRENT_SOURCE_DIR}/include/telebot-core.h + ${CMAKE_CURRENT_SOURCE_DIR}/include/telebot-stickers.h + ${CMAKE_CURRENT_SOURCE_DIR}/include/telebot-inline.h + ${CMAKE_CURRENT_SOURCE_DIR}/include/telebot-forums.h + ${CMAKE_CURRENT_SOURCE_DIR}/include/telebot-payments.h + ${CMAKE_CURRENT_SOURCE_DIR}/include/telebot-passport.h + ${CMAKE_CURRENT_SOURCE_DIR}/include/telebot-games.h DESTINATION include/telebot/) diff --git a/include/telebot-core.h b/include/telebot-core.h index a8c0353..74be5b5 100644 --- a/include/telebot-core.h +++ b/include/telebot-core.h @@ -21,6 +21,7 @@ #include #include +#include "telebot-common.h" #ifdef __cplusplus extern "C" @@ -51,7 +52,7 @@ extern "C" typedef struct telebot_core_handler *telebot_core_handler_t; /** - * @brief Telebot core respone opaque type. + * @brief Telebot core response opaque type. */ typedef struct telebot_core_response *telebot_core_response_t; @@ -1217,6 +1218,22 @@ telebot_core_response_t telebot_core_edit_message_reply_markup(telebot_core_hand long long int chat_id, int message_id, const char *inline_message_id, const char *reply_markup); +/** + * @brief Use this method to edit animation, audio, document, photo, or video + * messages. If a message is part of a message album, then it can be edited + * only to an audio of the same type and with the same caption. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Required if inline_message_id is not specified. + * @param[in] message_id Required if inline_message_id is not specified. + * @param[in] inline_message_id Required if chat_id and message_id are not specified. + * @param[in] media A JSON-serialized object for a new media content of the message. + * @param[in] reply_markup A JSON-serialized object for a new inline keyboard. + * @return #telebot_core_response_t response that contains the edited message. + */ +telebot_core_response_t telebot_core_edit_message_media(telebot_core_handler_t core_h, + long long int chat_id, int message_id, const char *inline_message_id, + const char *media, const char *reply_markup); + /** * @brief Stop a poll which was sent by the bot. * @param[in] core_h The telebot core handler created with #telebot_core_create(). @@ -1256,6 +1273,729 @@ telebot_core_response_t telebot_core_stop_poll(telebot_core_handler_t core_h, telebot_core_response_t telebot_core_delete_message(telebot_core_handler_t core_h, long long int chat_id, int message_id); +/** + * @brief Use this method to log out from the cloud Bot API server before + * launching the bot locally. + * @param[in] core_h The telebot core handler. + * @return #telebot_core_response_t response that contains the result (true/false). + */ +telebot_core_response_t telebot_core_log_out(telebot_core_handler_t core_h); + +/** + * @brief Use this method to close the bot instance before moving it from one + * local server to another. + * @param[in] core_h The telebot core handler. + * @return #telebot_core_response_t response that contains the result (true/false). + */ +telebot_core_response_t telebot_core_close(telebot_core_handler_t core_h); + +/** + * @brief Use this method to change the bot's name. + * @param[in] core_h The telebot core handler. + * @param[in] name New bot name; 0-64 characters. + * @param[in] language_code A two-letter ISO 639-1 language code. + * @return #telebot_core_response_t response that contains the result (true/false). + */ +telebot_core_response_t telebot_core_set_my_name(telebot_core_handler_t core_h, + const char *name, const char *language_code); + +/** + * @brief Use this method to get the current bot name for the given user language. + * @param[in] core_h The telebot core handler. + * @param[in] language_code A two-letter ISO 639-1 language code. + * @return #telebot_core_response_t response that contains BotName. + */ +telebot_core_response_t telebot_core_get_my_name(telebot_core_handler_t core_h, + const char *language_code); + +/** + * @brief Use this method to change the bot's description. + * @param[in] core_h The telebot core handler. + * @param[in] description New bot description; 0-512 characters. + * @param[in] language_code A two-letter ISO 639-1 language code. + * @return #telebot_core_response_t response that contains the result (true/false). + */ +telebot_core_response_t telebot_core_set_my_description(telebot_core_handler_t core_h, + const char *description, const char *language_code); + +/** + * @brief Use this method to get the current bot description for the given user language. + * @param[in] core_h The telebot core handler. + * @param[in] language_code A two-letter ISO 639-1 language code. + * @return #telebot_core_response_t response that contains BotDescription. + */ +telebot_core_response_t telebot_core_get_my_description(telebot_core_handler_t core_h, + const char *language_code); + +/** + * @brief Use this method to change the bot's short description. + * @param[in] core_h The telebot core handler. + * @param[in] short_description New short description; 0-120 characters. + * @param[in] language_code A two-letter ISO 639-1 language code. + * @return #telebot_core_response_t response that contains the result (true/false). + */ +telebot_core_response_t telebot_core_set_my_short_description(telebot_core_handler_t core_h, + const char *short_description, const char *language_code); + +/** + * @brief Use this method to get the current bot short description for the given user language. + * @param[in] core_h The telebot core handler. + * @param[in] language_code A two-letter ISO 639-1 language code. + * @return #telebot_core_response_t response that contains BotShortDescription. + */ +telebot_core_response_t telebot_core_get_my_short_description(telebot_core_handler_t core_h, + const char *language_code); + +/** + * @brief Use this method to change the bot's menu button in a private chat, or the default menu button. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target private chat. + * @param[in] menu_button A JSON-serialized object for the bot's new menu button. + * @return #telebot_core_response_t response that contains the result (true/false). + */ +telebot_core_response_t telebot_core_set_chat_menu_button(telebot_core_handler_t core_h, + long long int chat_id, const char *menu_button); + +/** + * @brief Use this method to get the current value of the bot's menu button in a private chat, or the default menu button. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target private chat. + * @return #telebot_core_response_t response that contains MenuButton. + */ +telebot_core_response_t telebot_core_get_chat_menu_button(telebot_core_handler_t core_h, + long long int chat_id); + +/** + * @brief Use this method to change the default administrator rights requested by the bot when it's added as an administrator to groups or channels. + * @param[in] core_h The telebot core handler. + * @param[in] rights A JSON-serialized object describing new default administrator rights. + * @param[in] for_channels Pass True to change the default administrator rights of the bot in channels. + * @return #telebot_core_response_t response that contains the result (true/false). + */ +telebot_core_response_t telebot_core_set_my_default_administrator_rights(telebot_core_handler_t core_h, + const char *rights, bool for_channels); + +/** + * @brief Use this method to get the current default administrator rights of the bot. + * @param[in] core_h The telebot core handler. + * @param[in] for_channels Pass True to get default administrator rights of the bot in channels. + * @return #telebot_core_response_t response that contains ChatAdministratorRights. + */ +telebot_core_response_t telebot_core_get_my_default_administrator_rights(telebot_core_handler_t core_h, + bool for_channels); + +/** + * @brief Use this method to delete the list of the bot's commands for the given scope and user language. + * @param[in] core_h The telebot core handler. + * @param[in] scope A JSON-serialized object, describing scope of users for which the commands are relevant. + * @param[in] language_code A two-letter ISO 639-1 language code. + * @return #telebot_core_response_t response that contains the result (true/false). + */ +telebot_core_response_t telebot_core_delete_my_commands(telebot_core_handler_t core_h, + const char *scope, const char *language_code); + +/** + * @brief Use this method to copy messages of any kind. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] from_chat_id Unique identifier for the chat where the original message was sent. + * @param[in] message_id Message identifier in the chat specified by from_chat_id. + * @param[in] caption New caption for media, 0-1024 characters after entities parsing. + * @param[in] parse_mode Mode for parsing entities in the new caption. + * @param[in] caption_entities A JSON-serialized list of special entities that appear in the new caption. + * @param[in] disable_notification Sends the message silently. + * @param[in] protect_content Protects the contents of the sent message from forwarding and saving. + * @param[in] reply_to_message_id If the message is a reply, ID of the original message. + * @param[in] allow_sending_without_reply Pass True if the message should be sent even if the specified replied-to message is not found. + * @param[in] reply_markup Additional interface options. + * @return #telebot_core_response_t response that contains MessageId. + */ +telebot_core_response_t telebot_core_copy_message(telebot_core_handler_t core_h, + long long int chat_id, long long int from_chat_id, int message_id, + const char *caption, const char *parse_mode, const char *caption_entities, + bool disable_notification, bool protect_content, int reply_to_message_id, + bool allow_sending_without_reply, const char *reply_markup); + +/** + * @brief Use this method to copy messages of any kind. Service messages, + * giveaway messages, giveaway winners messages, and invoice messages can't + * be copied. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] from_chat_id Unique identifier for the chat where the original messages were sent. + * @param[in] message_ids A JSON-serialized list of 1-100 identifiers of messages in the chat from_chat_id to copy. + * @param[in] disable_notification Sends the messages silently. + * @param[in] protect_content Protects the contents of the sent messages from forwarding and saving. + * @param[in] remove_caption Pass True to copy the messages without their captions. + * @return #telebot_core_response_t response that contains an array of MessageId. + */ +telebot_core_response_t telebot_core_copy_messages(telebot_core_handler_t core_h, + long long int chat_id, long long int from_chat_id, const char *message_ids, + bool disable_notification, bool protect_content, bool remove_caption); + +/** + * @brief Use this method to forward multiple messages of any kind. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] from_chat_id Unique identifier for the chat where the original messages were sent. + * @param[in] message_ids A JSON-serialized list of 1-100 identifiers of messages in the chat from_chat_id to forward. + * @param[in] disable_notification Sends the messages silently. + * @param[in] protect_content Protects the contents of the sent messages from forwarding and saving. + * @return #telebot_core_response_t response that contains an array of MessageId. + */ +telebot_core_response_t telebot_core_forward_messages(telebot_core_handler_t core_h, + long long int chat_id, long long int from_chat_id, const char *message_ids, + bool disable_notification, bool protect_content); + +/** + * @brief Use this method to delete multiple messages in a chat. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] message_ids A JSON-serialized list of 1-100 identifiers of messages to delete. + * @return #telebot_core_response_t response that contains the result (true/false). + */ +telebot_core_response_t telebot_core_delete_messages(telebot_core_handler_t core_h, + long long int chat_id, const char *message_ids); + +/** + * @brief Use this method to ban a user in a group, a supergroup or a channel. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] user_id Unique identifier of the target user. + * @param[in] until_date Date when the user will be unbanned, unix time. + * @param[in] revoke_messages Pass True to delete all messages from the chat for the user that is being banned. + * @return #telebot_core_response_t response that contains the result (true/false). + */ +telebot_core_response_t telebot_core_ban_chat_member(telebot_core_handler_t core_h, + long long int chat_id, int user_id, long until_date, bool revoke_messages); + +/** + * @brief Use this method to ban a channel chat in a supergroup or a channel. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] sender_chat_id Unique identifier of the target sender chat. + * @return #telebot_core_response_t response that contains the result (true/false). + */ +telebot_core_response_t telebot_core_ban_chat_sender_chat(telebot_core_handler_t core_h, + long long int chat_id, long long int sender_chat_id); + +/** + * @brief Use this method to unban a previously banned channel chat in a supergroup or a channel. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] sender_chat_id Unique identifier of the target sender chat. + * @return #telebot_core_response_t response that contains the result (true/false). + */ +telebot_core_response_t telebot_core_unban_chat_sender_chat(telebot_core_handler_t core_h, + long long int chat_id, long long int sender_chat_id); + +/** + * @brief Use this method to create an additional invite link for a chat. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] name Invite link name; 0-32 characters. + * @param[in] expire_date Point in time (Unix timestamp) when the link will expire. + * @param[in] member_limit The maximum number of users that can be members of the chat simultaneously after joining the chat via this invite link; 1-99999. + * @param[in] creates_join_request True, if users joining the chat via the link need to be approved by chat administrators. + * @return #telebot_core_response_t response that contains ChatInviteLink. + */ +telebot_core_response_t telebot_core_create_chat_invite_link(telebot_core_handler_t core_h, + long long int chat_id, const char *name, long expire_date, int member_limit, + bool creates_join_request); + +/** + * @brief Use this method to edit a non-primary invite link created by the bot. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] invite_link The invite link to edit. + * @param[in] name Invite link name; 0-32 characters. + * @param[in] expire_date Point in time (Unix timestamp) when the link will expire. + * @param[in] member_limit The maximum number of users that can be members of the chat simultaneously after joining the chat via this invite link; 1-99999. + * @param[in] creates_join_request True, if users joining the chat via the link need to be approved by chat administrators. + * @return #telebot_core_response_t response that contains ChatInviteLink. + */ +telebot_core_response_t telebot_core_edit_chat_invite_link(telebot_core_handler_t core_h, + long long int chat_id, const char *invite_link, const char *name, + long expire_date, int member_limit, bool creates_join_request); + +/** + * @brief Use this method to revoke an invite link created by the bot. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] invite_link The invite link to revoke. + * @return #telebot_core_response_t response that contains ChatInviteLink. + */ +telebot_core_response_t telebot_core_revoke_chat_invite_link(telebot_core_handler_t core_h, + long long int chat_id, const char *invite_link); + +/** + * @brief Use this method to approve a chat join request. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] user_id Unique identifier of the target user. + * @return #telebot_core_response_t response that contains the result (true/false). + */ +telebot_core_response_t telebot_core_approve_chat_join_request(telebot_core_handler_t core_h, + long long int chat_id, int user_id); + +/** + * @brief Use this method to decline a chat join request. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] user_id Unique identifier of the target user. + * @return #telebot_core_response_t response that contains the result (true/false). + */ +telebot_core_response_t telebot_core_decline_chat_join_request(telebot_core_handler_t core_h, + long long int chat_id, int user_id); + +/** + * @brief Use this method to set a new message reaction. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] message_id Unique identifier of the target message. + * @param[in] reaction A JSON-serialized list of reaction types to set on the message. + * @param[in] is_big Pass True to set the reaction with a big animation. + * @return #telebot_core_response_t response that contains the result (true/false). + */ +telebot_core_response_t telebot_core_set_message_reaction(telebot_core_handler_t core_h, + long long int chat_id, int message_id, const char *reaction, bool is_big); + +/** + * @brief Use this method to create a topic in a forum supergroup chat. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] name Topic name, 1-128 characters. + * @param[in] icon_color Color of the topic icon in RGB format. + * @param[in] icon_custom_emoji_id Unique identifier of the custom emoji used as the topic icon. + * @return #telebot_core_response_t response that contains ForumTopic. + */ +telebot_core_response_t telebot_core_create_forum_topic(telebot_core_handler_t core_h, + long long int chat_id, const char *name, int icon_color, const char *icon_custom_emoji_id); + +/** + * @brief Use this method to edit name and icon of a topic in a forum supergroup chat. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] message_thread_id Unique identifier for the target message thread of the forum topic. + * @param[in] name New topic name, 0-128 characters. + * @param[in] icon_custom_emoji_id New unique identifier of the custom emoji used as the topic icon. + * @return #telebot_core_response_t response that contains the result (true/false). + */ +telebot_core_response_t telebot_core_edit_forum_topic(telebot_core_handler_t core_h, + long long int chat_id, int message_thread_id, const char *name, const char *icon_custom_emoji_id); + +/** + * @brief Use this method to close an open topic in a forum supergroup chat. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] message_thread_id Unique identifier for the target message thread of the forum topic. + * @return #telebot_core_response_t response that contains the result (true/false). + */ +telebot_core_response_t telebot_core_close_forum_topic(telebot_core_handler_t core_h, + long long int chat_id, int message_thread_id); + +/** + * @brief Use this method to reopen a closed topic in a forum supergroup chat. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] message_thread_id Unique identifier for the target message thread of the forum topic. + * @return #telebot_core_response_t response that contains the result (true/false). + */ +telebot_core_response_t telebot_core_reopen_forum_topic(telebot_core_handler_t core_h, + long long int chat_id, int message_thread_id); + +/** + * @brief Use this method to delete a forum topic along with all its messages in a forum supergroup chat. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] message_thread_id Unique identifier for the target message thread of the forum topic. + * @return #telebot_core_response_t response that contains the result (true/false). + */ +telebot_core_response_t telebot_core_delete_forum_topic(telebot_core_handler_t core_h, + long long int chat_id, int message_thread_id); + +/** + * @brief Use this method to unpin all messages in a forum topic. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] message_thread_id Unique identifier for the target message thread of the forum topic. + * @return #telebot_core_response_t response that contains the result (true/false). + */ +telebot_core_response_t telebot_core_unpin_all_forum_topic_messages(telebot_core_handler_t core_h, + long long int chat_id, int message_thread_id); + +/** + * @brief Use this method to get custom emoji stickers, which can be used as a forum topic icon by any user. + * @param[in] core_h The telebot core handler. + * @return #telebot_core_response_t response that contains an array of Sticker objects. + */ +telebot_core_response_t telebot_core_get_forum_topic_icon_stickers(telebot_core_handler_t core_h); + +/** + * @brief Use this method to edit the name of the 'General' topic in a forum supergroup chat. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] name New topic name, 1-128 characters. + * @return #telebot_core_response_t response that contains the result (true/false). + */ +telebot_core_response_t telebot_core_edit_general_forum_topic(telebot_core_handler_t core_h, + long long int chat_id, const char *name); + +/** + * @brief Use this method to close an open 'General' topic in a forum supergroup chat. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target chat. + * @return #telebot_core_response_t response that contains the result (true/false). + */ +telebot_core_response_t telebot_core_close_general_forum_topic(telebot_core_handler_t core_h, + long long int chat_id); + +/** + * @brief Use this method to reopen a closed 'General' topic in a forum supergroup chat. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target chat. + * @return #telebot_core_response_t response that contains the result (true/false). + */ +telebot_core_response_t telebot_core_reopen_general_forum_topic(telebot_core_handler_t core_h, + long long int chat_id); + +/** + * @brief Use this method to hide the 'General' topic in a forum supergroup chat. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target chat. + * @return #telebot_core_response_t response that contains the result (true/false). + */ +telebot_core_response_t telebot_core_hide_general_forum_topic(telebot_core_handler_t core_h, + long long int chat_id); + +/** + * @brief Use this method to unhide the 'General' topic in a forum supergroup chat. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target chat. + * @return #telebot_core_response_t response that contains the result (true/false). + */ +telebot_core_response_t telebot_core_unhide_general_forum_topic(telebot_core_handler_t core_h, + long long int chat_id); + +/** + * @brief Use this method to unpin all messages in a General forum topic. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target chat. + * @return #telebot_core_response_t response that contains the result (true/false). + */ +telebot_core_response_t telebot_core_unpin_all_general_forum_topic_messages(telebot_core_handler_t core_h, + long long int chat_id); + +/** + * @brief Use this method to get information about custom emoji stickers by their identifiers. + * @param[in] core_h The telebot core handler. + * @param[in] custom_emoji_ids List of custom emoji identifiers. + * @return #telebot_core_response_t response that contains an array of Sticker objects. + */ +telebot_core_response_t telebot_core_get_custom_emoji_stickers(telebot_core_handler_t core_h, + const char *custom_emoji_ids); + +/** + * @brief Use this method to send answers to an inline query to a user from a Web App. + * @param[in] core_h The telebot core handler. + * @param[in] web_app_query_id Unique identifier for the query to be answered. + * @param[in] result A JSON-serialized object describing the message to be sent. + * @return #telebot_core_response_t response that contains SentWebAppMessage. + */ +telebot_core_response_t telebot_core_answer_web_app_query(telebot_core_handler_t core_h, + const char *web_app_query_id, const char *result); + +/** + * @brief Use this method to send paid media to a user. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] star_count The number of Telegram Stars that must be paid. + * @param[in] media A JSON-serialized array of InputPaidMedia objects. + * @param[in] caption Media caption. + * @param[in] parse_mode Mode for parsing entities in the caption. + * @param[in] caption_entities A JSON-serialized list of special entities. + * @param[in] show_caption_above_media Pass True, if the caption must be shown above the message media. + * @param[in] disable_notification Sends the message silently. + * @param[in] protect_content Protects the contents of the sent message. + * @param[in] reply_parameters Description of the message to reply to. + * @param[in] reply_markup Additional interface options. + * @return #telebot_core_response_t response. + */ +telebot_core_response_t telebot_core_send_paid_media(telebot_core_handler_t core_h, + long long int chat_id, int star_count, const char *media, const char *caption, + const char *parse_mode, const char *caption_entities, bool show_caption_above_media, + bool disable_notification, bool protect_content, const char *reply_parameters, + const char *reply_markup); + +/** + * @brief Use this method to send answers to an inline query. + * @param[in] core_h The telebot core handler. + * @param[in] inline_query_id Unique identifier for the answered query. + * @param[in] results A JSON-serialized array of results for the inline query. + * @param[in] cache_time The maximum amount of time in seconds that the result + * of the inline query may be cached on the server. + * @param[in] is_personal Pass True, if results may be cached only for the user + * that sent the query. + * @param[in] next_offset Pass the offset that a client should send in the next + * query with the same text to receive more results. + * @param[in] button A JSON-serialized object describing a button to be shown + * above inline query results. + * @return #telebot_core_response_t response. + */ +telebot_core_response_t telebot_core_answer_inline_query(telebot_core_handler_t core_h, + const char *inline_query_id, const char *results, int cache_time, + bool is_personal, const char *next_offset, const char *button); + +/** + * @brief Use this method to save a prepared inline message. + * @param[in] core_h The telebot core handler. + * @param[in] user_id Unique identifier of the target user. + * @param[in] result A JSON-serialized object describing the message to be sent. + * @param[in] allow_user_chats Pass True, if the message can be sent to user chats. + * @param[in] allow_bot_chats Pass True, if the message can be sent to bot chats. + * @param[in] allow_group_chats Pass True, if the message can be sent to group chats. + * @param[in] allow_channel_chats Pass True, if the message can be sent to channel chats. + * @return #telebot_core_response_t response. + */ +telebot_core_response_t telebot_core_save_prepared_inline_message(telebot_core_handler_t core_h, + long long int user_id, const char *result, bool allow_user_chats, + bool allow_bot_chats, bool allow_group_chats, bool allow_channel_chats); + +/** + * @brief Use this method to send a gift. + * @param[in] core_h The telebot core handler. + * @param[in] user_id Unique identifier of the target user. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] gift_id Identifier of the gift. + * @param[in] pay_for_upgrade Pass True to pay for the gift upgrade. + * @param[in] text Text that will be shown along with the gift. + * @param[in] text_parse_mode Mode for parsing entities in the text. + * @param[in] text_entities A JSON-serialized list of special entities. + * @return #telebot_core_response_t response. + */ +telebot_core_response_t telebot_core_send_gift(telebot_core_handler_t core_h, + long long int user_id, long long int chat_id, const char *gift_id, + bool pay_for_upgrade, const char *text, const char *text_parse_mode, + const char *text_entities); + +/** + * @brief Use this method to gift a Telegram Premium subscription to a user. + * @param[in] core_h The telebot core handler. + * @param[in] user_id Unique identifier of the target user. + * @param[in] month_count Number of months the Telegram Premium subscription will be active. + * @param[in] star_count Number of Telegram Stars to pay. + * @param[in] text Text that will be shown along with the service message. + * @param[in] text_parse_mode Mode for parsing entities in the text. + * @param[in] text_entities A JSON-serialized list of special entities. + * @return #telebot_core_response_t response. + */ +telebot_core_response_t telebot_core_gift_premium_subscription(telebot_core_handler_t core_h, + long long int user_id, int month_count, int star_count, const char *text, + const char *text_parse_mode, const char *text_entities); + +/** + * @brief Use this method to get the current Telegram Stars balance of the bot. + * @param[in] core_h The telebot core handler. + * @return #telebot_core_response_t response. + */ +telebot_core_response_t telebot_core_get_my_star_balance(telebot_core_handler_t core_h); + +/** + * @brief Use this method to get the bot's Telegram Star transactions. + * @param[in] core_h The telebot core handler. + * @param[in] offset Number of transactions to skip. + * @param[in] limit Maximum number of transactions to be retrieved. + * @return #telebot_core_response_t response. + */ +telebot_core_response_t telebot_core_get_star_transactions(telebot_core_handler_t core_h, + int offset, int limit); + +/** + * @brief Use this method to refund a successful payment in Telegram Stars. + * @param[in] core_h The telebot core handler. + * @param[in] user_id Identifier of the user whose payment will be refunded. + * @param[in] telegram_payment_charge_id Telegram payment identifier. + * @return #telebot_core_response_t response. + */ +telebot_core_response_t telebot_core_refund_star_payment(telebot_core_handler_t core_h, + long long int user_id, const char *telegram_payment_charge_id); + +/** + * @brief Use this method to get a list of gifts that can be sent by the bot to users. + * @param[in] core_h The telebot core handler. + * @return #telebot_core_response_t response. + */ +telebot_core_response_t telebot_core_get_available_gifts(telebot_core_handler_t core_h); + +/** + * @brief Use this method to get a list of gifts received by a user. + * @param[in] core_h The telebot core handler. + * @param[in] user_id Unique identifier of the target user. + * @param[in] offset Number of gifts to skip. + * @param[in] limit Maximum number of gifts to be retrieved. + * @return #telebot_core_response_t response. + */ +telebot_core_response_t telebot_core_get_user_gifts(telebot_core_handler_t core_h, + long long int user_id, int offset, int limit); + +/** + * @brief Use this method to get a list of gifts received by a chat. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier of the target chat. + * @param[in] offset Number of gifts to skip. + * @param[in] limit Maximum number of gifts to be retrieved. + * @return #telebot_core_response_t response. + */ +telebot_core_response_t telebot_core_get_chat_gifts(telebot_core_handler_t core_h, + long long int chat_id, int offset, int limit); + +/** + * @brief Use this method to upgrade a gift. + * @param[in] core_h The telebot core handler. + * @param[in] gift_id Identifier of the gift. + * @param[in] pay_for_upgrade Pass True to pay for the gift upgrade. + * @param[in] text Text that will be shown along with the gift. + * @param[in] text_parse_mode Mode for parsing entities in the text. + * @param[in] text_entities A JSON-serialized list of special entities. + * @return #telebot_core_response_t response. + */ +telebot_core_response_t telebot_core_upgrade_gift(telebot_core_handler_t core_h, + const char *gift_id, bool pay_for_upgrade, const char *text, + const char *text_parse_mode, const char *text_entities); + +/** + * @brief Use this method to transfer a gift. + * @param[in] core_h The telebot core handler. + * @param[in] user_id Unique identifier of the target user. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] gift_id Identifier of the gift. + * @return #telebot_core_response_t response. + */ +telebot_core_response_t telebot_core_transfer_gift(telebot_core_handler_t core_h, + long long int user_id, long long int chat_id, const char *gift_id); + +/** + * @brief Use this method to convert a gift to Telegram Stars. + * @param[in] core_h The telebot core handler. + * @param[in] gift_id Identifier of the gift. + * @return #telebot_core_response_t response. + */ +telebot_core_response_t telebot_core_convert_gift_to_stars(telebot_core_handler_t core_h, + const char *gift_id); + +/** + * @brief Use this method to get user profile audios. + * @param[in] core_h The telebot core handler. + * @param[in] user_id Unique identifier of the target user. + * @param[in] offset Number of audios to skip. + * @param[in] limit Maximum number of audios to be retrieved. + * @return #telebot_core_response_t response. + */ +telebot_core_response_t telebot_core_get_user_profile_audios(telebot_core_handler_t core_h, + long long int user_id, int offset, int limit); + +/** + * @brief Use this method to set the bot's profile photo. + * @param[in] core_h The telebot core handler. + * @param[in] photo Path to the new profile photo. + * @return #telebot_core_response_t response. + */ +telebot_core_response_t telebot_core_set_my_profile_photo(telebot_core_handler_t core_h, + const char *photo); + +/** + * @brief Use this method to remove the bot's profile photo. + * @param[in] core_h The telebot core handler. + * @param[in] photo_id Identifier of the photo to remove. + * @return #telebot_core_response_t response. + */ +telebot_core_response_t telebot_core_remove_my_profile_photo(telebot_core_handler_t core_h, + const char *photo_id); + +/** + * @brief Use this method to get information about the business connection. + * @param[in] core_h The telebot core handler. + * @param[in] business_connection_id Unique identifier of the business connection. + * @return #telebot_core_response_t response. + */ +telebot_core_response_t telebot_core_get_business_connection(telebot_core_handler_t core_h, + const char *business_connection_id); + +/** + * @brief Use this method to get user chat boosts. + * @param[in] core_h The telebot core handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] user_id Unique identifier of the target user. + * @return #telebot_core_response_t response. + */ +telebot_core_response_t telebot_core_get_user_chat_boosts(telebot_core_handler_t core_h, + long long int chat_id, long long int user_id); + +/** + * @brief Use this method to set the score of the specified user in a game. + */ +telebot_core_response_t telebot_core_set_game_score(telebot_core_handler_t core_h, + long long int user_id, int score, bool force, bool disable_edit_message, + long long int chat_id, int message_id, const char *inline_message_id); + +/** + * @brief Use this method to get data for high score tables. + */ +telebot_core_response_t telebot_core_get_game_high_scores(telebot_core_handler_t core_h, + long long int user_id, long long int chat_id, int message_id, const char *inline_message_id); + +/** + * @brief Use this method to send a game. + */ +telebot_core_response_t telebot_core_send_game(telebot_core_handler_t core_h, + long long int chat_id, int message_thread_id, const char *game_short_name, + bool disable_notification, bool protect_content, const char *reply_parameters, + const char *reply_markup); + +/** + * @brief Use this method to set passport data errors. + */ +telebot_core_response_t telebot_core_set_passport_data_errors(telebot_core_handler_t core_h, + long long int user_id, const char *errors); + +/** + * @brief Use this method to send an invoice. + */ +telebot_core_response_t telebot_core_send_invoice(telebot_core_handler_t core_h, + long long int chat_id, int message_thread_id, const char *title, + const char *description, const char *payload, const char *provider_token, + const char *currency, const char *prices, int max_tip_amount, + const char *suggested_tip_amounts, const char *start_parameter, + const char *provider_data, const char *photo_url, int photo_size, + int photo_width, int photo_height, bool need_name, bool need_phone_number, + bool need_email, bool need_shipping_address, bool send_phone_number_to_provider, + bool send_email_to_provider, bool is_flexible, bool disable_notification, + bool protect_content, const char *reply_parameters, const char *reply_markup); + +/** + * @brief Use this method to create a link for an invoice. + */ +telebot_core_response_t telebot_core_create_invoice_link(telebot_core_handler_t core_h, + const char *title, const char *description, const char *payload, + const char *provider_token, const char *currency, const char *prices, + int max_tip_amount, const char *suggested_tip_amounts, const char *provider_data, + const char *photo_url, int photo_size, int photo_width, int photo_height, + bool need_name, bool need_phone_number, bool need_email, bool need_shipping_address, + bool send_phone_number_to_provider, bool send_email_to_provider, bool is_flexible); + +/** + * @brief Use this method to reply to shipping queries. + */ +telebot_core_response_t telebot_core_answer_shipping_query(telebot_core_handler_t core_h, + const char *shipping_query_id, bool ok, const char *shipping_options, + const char *error_message); + +/** + * @brief Use this method to respond to pre-checkout queries. + */ +telebot_core_response_t telebot_core_answer_pre_checkout_query(telebot_core_handler_t core_h, + const char *pre_checkout_query_id, bool ok, const char *error_message); + /** * @} // end of APIs */ diff --git a/include/telebot-forums.h b/include/telebot-forums.h new file mode 100644 index 0000000..6e5d066 --- /dev/null +++ b/include/telebot-forums.h @@ -0,0 +1,201 @@ +/* + * telebot + * + * Copyright (c) 2015 Elmurod Talipov. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __TELEBOT_FORUMS_H__ +#define __TELEBOT_FORUMS_H__ + +#include +#include "telebot-types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @file telebot-forums.h + * @ingroup TELEBOT_API + * @brief This file contains forums feature of telegram bot + * @author Elmurod Talipov + * @date 2026-02-27 + */ + +/** + * @addtogroup TELEBOT_API + * @{ + */ + +/** + * @brief Use this method to create a topic in a forum supergroup chat. + * @param[in] handle The telebot handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] name Topic name, 1-128 characters. + * @param[in] icon_color Color of the topic icon in RGB format. + * @param[in] icon_custom_emoji_id Unique identifier of the custom emoji used as the topic icon. + * @param[out] topic Pointer to get ForumTopic, MUST be released with #telebot_put_forum_topic. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_create_forum_topic(telebot_handler_t handle, + long long int chat_id, const char *name, int icon_color, const char *icon_custom_emoji_id, + telebot_forum_topic_t *topic); + +/** + * @brief Release forum topic obtained with #telebot_create_forum_topic. + * @param[in] topic Pointer to forum topic to be released. + * @return on Success, #TELEBOT_ERROR_NONE is returned. + */ +telebot_error_e telebot_put_forum_topic(telebot_forum_topic_t *topic); + +/** + * @brief Use this method to edit name and icon of a topic in a forum supergroup chat. + * @param[in] handle The telebot handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] message_thread_id Unique identifier for the target message thread of the forum topic. + * @param[in] name New topic name, 0-128 characters. + * @param[in] icon_custom_emoji_id New unique identifier of the custom emoji used as the topic icon. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_edit_forum_topic(telebot_handler_t handle, + long long int chat_id, int message_thread_id, const char *name, const char *icon_custom_emoji_id); + +/** + * @brief Use this method to close an open topic in a forum supergroup chat. + * @param[in] handle The telebot handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] message_thread_id Unique identifier for the target message thread of the forum topic. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_close_forum_topic(telebot_handler_t handle, + long long int chat_id, int message_thread_id); + +/** + * @brief Use this method to reopen a closed topic in a forum supergroup chat. + * @param[in] handle The telebot handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] message_thread_id Unique identifier for the target message thread of the forum topic. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_reopen_forum_topic(telebot_handler_t handle, + long long int chat_id, int message_thread_id); + +/** + * @brief Use this method to delete a forum topic along with all its messages in a forum supergroup chat. + * @param[in] handle The telebot handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] message_thread_id Unique identifier for the target message thread of the forum topic. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_delete_forum_topic(telebot_handler_t handle, + long long int chat_id, int message_thread_id); + +/** + * @brief Use this method to unpin all messages in a forum topic. + * @param[in] handle The telebot handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] message_thread_id Unique identifier for the target message thread of the forum topic. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_unpin_all_forum_topic_messages(telebot_handler_t handle, + long long int chat_id, int message_thread_id); + +/** + * @brief Use this method to get custom emoji stickers, which can be used as a forum topic icon by any user. + * @param[in] handle The telebot handler. + * @param[out] stickers Pointer to stickers to be obtained, MUST be released with #telebot_put_stickers. + * @param[out] count Pointer to get the number of stickers. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_get_forum_topic_icon_stickers(telebot_handler_t handle, + telebot_sticker_t **stickers, int *count); + +/** + * @brief Use this method to edit the name of the 'General' topic in a forum supergroup chat. + * @param[in] handle The telebot handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] name New topic name, 1-128 characters. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_edit_general_forum_topic(telebot_handler_t handle, + long long int chat_id, const char *name); + +/** + * @brief Use this method to close an open 'General' topic in a forum supergroup chat. + * @param[in] handle The telebot handler. + * @param[in] chat_id Unique identifier for the target chat. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_close_general_forum_topic(telebot_handler_t handle, + long long int chat_id); + +/** + * @brief Use this method to reopen a closed 'General' topic in a forum supergroup chat. + * @param[in] handle The telebot handler. + * @param[in] chat_id Unique identifier for the target chat. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_reopen_general_forum_topic(telebot_handler_t handle, + long long int chat_id); + +/** + * @brief Use this method to hide the 'General' topic in a forum supergroup chat. + * @param[in] handle The telebot handler. + * @param[in] chat_id Unique identifier for the target chat. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_hide_general_forum_topic(telebot_handler_t handle, + long long int chat_id); + +/** + * @brief Use this method to unhide the 'General' topic in a forum supergroup chat. + * @param[in] handle The telebot handler. + * @param[in] chat_id Unique identifier for the target chat. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_unhide_general_forum_topic(telebot_handler_t handle, + long long int chat_id); + +/** + * @brief Use this method to unpin all messages in a General forum topic. + * @param[in] handle The telebot handler. + * @param[in] chat_id Unique identifier for the target chat. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_unpin_all_general_forum_topic_messages(telebot_handler_t handle, + long long int chat_id); + +/** + * @} // end of APIs + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __TELEBOT_FORUMS_H__ */ diff --git a/include/telebot-games.h b/include/telebot-games.h new file mode 100644 index 0000000..8254243 --- /dev/null +++ b/include/telebot-games.h @@ -0,0 +1,78 @@ +/* + * telebot + * + * Copyright (c) 2015 Elmurod Talipov. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __TELEBOT_GAMES_H__ +#define __TELEBOT_GAMES_H__ + +#include +#include "telebot-types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @file telebot-games.h + * @ingroup TELEBOT_API + * @brief This file contains games feature of telegram bot + * @author Elmurod Talipov + * @date 2026-02-27 + */ + +/** + * @addtogroup TELEBOT_API + * @{ + */ + +/** + * @brief Use this method to send a game. + */ +telebot_error_e telebot_send_game(telebot_handler_t handle, + long long int chat_id, int message_thread_id, const char *game_short_name, + bool disable_notification, bool protect_content, const char *reply_parameters, + const char *reply_markup, telebot_message_t *message); + +/** + * @brief Use this method to set the score of the specified user in a game. + */ +telebot_error_e telebot_set_game_score(telebot_handler_t handle, + long long int user_id, int score, bool force, bool disable_edit_message, + long long int chat_id, int message_id, const char *inline_message_id, + telebot_message_t *message); + +/** + * @brief Use this method to get data for high score tables. + */ +telebot_error_e telebot_get_game_high_scores(telebot_handler_t handle, + long long int user_id, long long int chat_id, int message_id, const char *inline_message_id, + telebot_game_high_score_t **high_scores, int *count); + +/** + * @brief Release game high scores obtained with #telebot_get_game_high_scores. + */ +telebot_error_e telebot_put_game_high_scores(telebot_game_high_score_t *high_scores, int count); + +/** + * @} // end of APIs + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __TELEBOT_GAMES_H__ */ diff --git a/include/telebot-inline.h b/include/telebot-inline.h new file mode 100644 index 0000000..fbb161b --- /dev/null +++ b/include/telebot-inline.h @@ -0,0 +1,76 @@ +/* + * telebot + * + * Copyright (c) 2015 Elmurod Talipov. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __TELEBOT_INLINE_H__ +#define __TELEBOT_INLINE_H__ + +#include +#include "telebot-types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @file telebot-inline.h + * @ingroup TELEBOT_API + * @brief This file contains inline mode feature of telegram bot + * @author Elmurod Talipov + * @date 2026-02-27 + */ + +/** + * @addtogroup TELEBOT_API + * @{ + */ + +/** + * @brief Use this method to send answers to an inline query. + */ +telebot_error_e telebot_answer_inline_query(telebot_handler_t handle, + const char *inline_query_id, const char *results, int cache_time, + bool is_personal, const char *next_offset, const char *button); + +/** + * @brief Use this method to save a prepared inline message. + */ +telebot_error_e telebot_save_prepared_inline_message(telebot_handler_t handle, + long long int user_id, const char *result, bool allow_user_chats, + bool allow_bot_chats, bool allow_group_chats, bool allow_channel_chats, + telebot_prepared_inline_message_t *prepared_message); + +/** + * @brief Release prepared inline message. + */ +telebot_error_e telebot_put_prepared_inline_message(telebot_prepared_inline_message_t *prepared_message); + +/** + * @brief Use this method to send answers to an inline query to a user from a Web App. + */ +telebot_error_e telebot_answer_web_app_query(telebot_handler_t handle, + const char *web_app_query_id, const char *result, char **inline_message_id); + +/** + * @} // end of APIs + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __TELEBOT_INLINE_H__ */ diff --git a/include/telebot-methods.h b/include/telebot-methods.h index 1a5730d..0908da8 100644 --- a/include/telebot-methods.h +++ b/include/telebot-methods.h @@ -20,6 +20,9 @@ #define __TELEBOT_METHODS_H__ #include +#include "telebot-common.h" +#include "telebot-types.h" +#include "telebot-core.h" #ifdef __cplusplus extern "C" { @@ -200,6 +203,14 @@ telebot_error_e telebot_get_me(telebot_handler_t handle, telebot_user_t *me); */ telebot_error_e telebot_put_me(telebot_user_t *me); +/** + * @brief This function is used to release memory used for user object. + * + * @param[in] user Pointer to telegram user object. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + */ +telebot_error_e telebot_put_user(telebot_user_t *user); + /** * @brief Send text messages. * @param[in] handle The telebot handler created with #telebot_create(). @@ -670,6 +681,51 @@ telebot_error_e telebot_get_user_profile_photos(telebot_handler_t handle, */ telebot_error_e telebot_put_user_profile_photos(telebot_user_profile_photos_t *photos); +/** + * @brief Use this method to get user profile audios. + */ +telebot_error_e telebot_get_user_profile_audios(telebot_handler_t handle, + long long int user_id, int offset, int limit, telebot_user_profile_audios_t *audios); + +/** + * @brief Release user profile audios obtained with #telebot_get_user_profile_audios. + */ +telebot_error_e telebot_put_user_profile_audios(telebot_user_profile_audios_t *audios); + +/** + * @brief Use this method to set the bot's profile photo. + */ +telebot_error_e telebot_set_my_profile_photo(telebot_handler_t handle, + const char *photo); + +/** + * @brief Use this method to remove the bot's profile photo. + */ +telebot_error_e telebot_remove_my_profile_photo(telebot_handler_t handle, + const char *photo_id); + +/** + * @brief Use this method to get information about the business connection. + */ +telebot_error_e telebot_get_business_connection(telebot_handler_t handle, + const char *business_connection_id, telebot_business_connection_t *connection); + +/** + * @brief Release business connection obtained with #telebot_get_business_connection. + */ +telebot_error_e telebot_put_business_connection(telebot_business_connection_t *connection); + +/** + * @brief Use this method to get user chat boosts. + */ +telebot_error_e telebot_get_user_chat_boosts(telebot_handler_t handle, + long long int chat_id, long long int user_id, telebot_user_chat_boosts_t *boosts); + +/** + * @brief Release user chat boosts obtained with #telebot_get_user_chat_boosts. + */ +telebot_error_e telebot_put_user_chat_boosts(telebot_user_chat_boosts_t *boosts); + /** * @brief This function is used to download file. * @param[in] file_id File identifier to get info about. @@ -1199,6 +1255,354 @@ telebot_error_e telebot_stop_poll(telebot_handler_t handle, long long int chat_i telebot_error_e telebot_delete_message(telebot_handler_t handle, long long int chat_id, int message_id); +/** + * @brief Use this method to log out from the cloud Bot API server before + * launching the bot locally. + * @param[in] handle The telebot handler. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_log_out(telebot_handler_t handle); + +/** + * @brief Use this method to close the bot instance before moving it from one + * local server to another. + * @param[in] handle The telebot handler. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_close(telebot_handler_t handle); + +/** + * @brief Use this method to change the bot's name. + * @param[in] handle The telebot handler. + * @param[in] name New bot name; 0-64 characters. + * @param[in] language_code A two-letter ISO 639-1 language code. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_set_my_name(telebot_handler_t handle, + const char *name, const char *language_code); + +/** + * @brief Use this method to get the current bot name for the given user language. + * @param[in] handle The telebot handler. + * @param[in] language_code A two-letter ISO 639-1 language code. + * @param[out] name Pointer to get bot name, MUST be freed after use. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_get_my_name(telebot_handler_t handle, + const char *language_code, char **name); + +/** + * @brief Use this method to change the bot's description. + * @param[in] handle The telebot handler. + * @param[in] description New bot description; 0-512 characters. + * @param[in] language_code A two-letter ISO 639-1 language code. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_set_my_description(telebot_handler_t handle, + const char *description, const char *language_code); + +/** + * @brief Use this method to get the current bot description for the given user language. + * @param[in] handle The telebot handler. + * @param[in] language_code A two-letter ISO 639-1 language code. + * @param[out] description Pointer to get bot description, MUST be freed after use. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_get_my_description(telebot_handler_t handle, + const char *language_code, char **description); + +/** + * @brief Use this method to change the bot's short description. + * @param[in] handle The telebot handler. + * @param[in] short_description New short description; 0-120 characters. + * @param[in] language_code A two-letter ISO 639-1 language code. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_set_my_short_description(telebot_handler_t handle, + const char *short_description, const char *language_code); + +/** + * @brief Use this method to get the current bot short description for the given user language. + * @param[in] handle The telebot handler. + * @param[in] language_code A two-letter ISO 639-1 language code. + * @param[out] short_description Pointer to get bot short description, MUST be freed after use. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_get_my_short_description(telebot_handler_t handle, + const char *language_code, char **short_description); + +/** + * @brief Use this method to change the bot's menu button in a private chat, or the default menu button. + * @param[in] handle The telebot handler. + * @param[in] chat_id Unique identifier for the target private chat. + * @param[in] menu_button A JSON-serialized object for the bot's new menu button. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_set_chat_menu_button(telebot_handler_t handle, + long long int chat_id, const char *menu_button); + +/** + * @brief Use this method to get the current value of the bot's menu button in a private chat, or the default menu button. + * @param[in] handle The telebot handler. + * @param[in] chat_id Unique identifier for the target private chat. + * @param[out] menu_button Pointer to get menu button, MUST be freed after use. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_get_chat_menu_button(telebot_handler_t handle, + long long int chat_id, char **menu_button); + +/** + * @brief Use this method to change the default administrator rights requested by the bot when it's added as an administrator to groups or channels. + * @param[in] handle The telebot handler. + * @param[in] rights A JSON-serialized object describing new default administrator rights. + * @param[in] for_channels Pass True to change the default administrator rights of the bot in channels. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_set_my_default_administrator_rights(telebot_handler_t handle, + const char *rights, bool for_channels); + +/** + * @brief Use this method to get the current default administrator rights of the bot. + * @param[in] handle The telebot handler. + * @param[in] for_channels Pass True to get default administrator rights of the bot in channels. + * @param[out] rights Pointer to get admin rights, MUST be freed after use. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_get_my_default_administrator_rights(telebot_handler_t handle, + bool for_channels, char **rights); + +/** + * @brief Use this method to delete the list of the bot's commands for the given scope and user language. + * @param[in] handle The telebot handler. + * @param[in] scope A JSON-serialized object, describing scope of users for which the commands are relevant. + * @param[in] language_code A two-letter ISO 639-1 language code. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_delete_my_commands(telebot_handler_t handle, + const char *scope, const char *language_code); + +/** + * @brief Use this method to copy messages of any kind. + * @param[in] handle The telebot handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] from_chat_id Unique identifier for the chat where the original message was sent. + * @param[in] message_id Message identifier in the chat specified by from_chat_id. + * @param[in] caption New caption for media, 0-1024 characters after entities parsing. + * @param[in] parse_mode Mode for parsing entities in the new caption. + * @param[in] caption_entities A JSON-serialized list of special entities that appear in the new caption. + * @param[in] disable_notification Sends the message silently. + * @param[in] protect_content Protects the contents of the sent message from forwarding and saving. + * @param[in] reply_to_message_id If the message is a reply, ID of the original message. + * @param[in] allow_sending_without_reply Pass True if the message should be sent even if the specified replied-to message is not found. + * @param[in] reply_markup Additional interface options. + * @param[out] message_id_out Pointer to get the message identifier of the sent message. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_copy_message(telebot_handler_t handle, + long long int chat_id, long long int from_chat_id, int message_id, + const char *caption, const char *parse_mode, const char *caption_entities, + bool disable_notification, bool protect_content, int reply_to_message_id, + bool allow_sending_without_reply, const char *reply_markup, int *message_id_out); + +/** + * @brief Use this method to copy multiple messages of any kind. + * @param[in] handle The telebot handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] from_chat_id Unique identifier for the chat where the original messages were sent. + * @param[in] message_ids A JSON-serialized list of 1-100 identifiers of messages in the chat from_chat_id to copy. + * @param[in] disable_notification Sends the messages silently. + * @param[in] protect_content Protects the contents of the sent messages from forwarding and saving. + * @param[in] remove_caption Pass True to copy the messages without their captions. + * @param[out] message_ids_out Pointer to get the message identifiers of the sent messages, MUST be freed after use. + * @param[out] count Pointer to get the number of messages sent. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_copy_messages(telebot_handler_t handle, + long long int chat_id, long long int from_chat_id, const char *message_ids, + bool disable_notification, bool protect_content, bool remove_caption, + int **message_ids_out, int *count); + +/** + * @brief Use this method to forward multiple messages of any kind. + * @param[in] handle The telebot handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] from_chat_id Unique identifier for the chat where the original messages were sent. + * @param[in] message_ids A JSON-serialized list of 1-100 identifiers of messages in the chat from_chat_id to forward. + * @param[in] disable_notification Sends the messages silently. + * @param[in] protect_content Protects the contents of the sent messages from forwarding and saving. + * @param[out] message_ids_out Pointer to get the message identifiers of the sent messages, MUST be freed after use. + * @param[out] count Pointer to get the number of messages sent. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_forward_messages(telebot_handler_t handle, + long long int chat_id, long long int from_chat_id, const char *message_ids, + bool disable_notification, bool protect_content, int **message_ids_out, int *count); + +/** + * @brief Use this method to delete multiple messages in a chat. + * @param[in] handle The telebot handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] message_ids A JSON-serialized list of 1-100 identifiers of messages to delete. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_delete_messages(telebot_handler_t handle, + long long int chat_id, const char *message_ids); + +/** + * @brief Use this method to ban a user in a group, a supergroup or a channel. + * @param[in] handle The telebot handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] user_id Unique identifier of the target user. + * @param[in] until_date Date when the user will be unbanned, unix time. + * @param[in] revoke_messages Pass True to delete all messages from the chat for the user that is being banned. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_ban_chat_member(telebot_handler_t handle, + long long int chat_id, int user_id, long until_date, bool revoke_messages); + +/** + * @brief Use this method to ban a channel chat in a supergroup or a channel. + * @param[in] handle The telebot handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] sender_chat_id Unique identifier of the target sender chat. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_ban_chat_sender_chat(telebot_handler_t handle, + long long int chat_id, long long int sender_chat_id); + +/** + * @brief Use this method to unban a previously banned channel chat in a supergroup or a channel. + * @param[in] handle The telebot handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] sender_chat_id Unique identifier of the target sender chat. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_unban_chat_sender_chat(telebot_handler_t handle, + long long int chat_id, long long int sender_chat_id); + +/** + * @brief Use this method to create an additional invite link for a chat. + * @param[in] handle The telebot handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] name Invite link name; 0-32 characters. + * @param[in] expire_date Point in time (Unix timestamp) when the link will expire. + * @param[in] member_limit The maximum number of users that can be members of the chat simultaneously after joining the chat via this invite link; 1-99999. + * @param[in] creates_join_request True, if users joining the chat via the link need to be approved by chat administrators. + * @param[out] invite_link Pointer to get ChatInviteLink, MUST be released with #telebot_put_chat_invite_link. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_create_chat_invite_link(telebot_handler_t handle, + long long int chat_id, const char *name, long expire_date, int member_limit, + bool creates_join_request, telebot_chat_invite_link_t *invite_link); + +/** + * @brief Use this method to edit a non-primary invite link created by the bot. + * @param[in] handle The telebot handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] invite_link_str The invite link to edit. + * @param[in] name Invite link name; 0-32 characters. + * @param[in] expire_date Point in time (Unix timestamp) when the link will expire. + * @param[in] member_limit The maximum number of users that can be members of the chat simultaneously after joining the chat via this invite link; 1-99999. + * @param[in] creates_join_request True, if users joining the chat via the link need to be approved by chat administrators. + * @param[out] invite_link Pointer to get ChatInviteLink, MUST be released with #telebot_put_chat_invite_link. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_edit_chat_invite_link(telebot_handler_t handle, + long long int chat_id, const char *invite_link_str, const char *name, + long expire_date, int member_limit, bool creates_join_request, + telebot_chat_invite_link_t *invite_link); + +/** + * @brief Use this method to revoke an invite link created by the bot. + * @param[in] handle The telebot handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] invite_link_str The invite link to revoke. + * @param[out] invite_link Pointer to get ChatInviteLink, MUST be released with #telebot_put_chat_invite_link. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_revoke_chat_invite_link(telebot_handler_t handle, + long long int chat_id, const char *invite_link_str, telebot_chat_invite_link_t *invite_link); + +/** + * @brief Release chat invite link obtained with #telebot_create_chat_invite_link etc. + * @param[in] invite_link Pointer to chat invite link to be released. + * @return on Success, #TELEBOT_ERROR_NONE is returned. + */ +telebot_error_e telebot_put_chat_invite_link(telebot_chat_invite_link_t *invite_link); + +/** + * @brief Use this method to approve a chat join request. + * @param[in] handle The telebot handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] user_id Unique identifier of the target user. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_approve_chat_join_request(telebot_handler_t handle, + long long int chat_id, int user_id); + +/** + * @brief Use this method to decline a chat join request. + * @param[in] handle The telebot handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] user_id Unique identifier of the target user. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_decline_chat_join_request(telebot_handler_t handle, + long long int chat_id, int user_id); + +/** + * @brief Use this method to set a new message reaction. + * @param[in] handle The telebot handler. + * @param[in] chat_id Unique identifier for the target chat. + * @param[in] message_id Unique identifier of the target message. + * @param[in] reaction A JSON-serialized list of reaction types to set on the message. + * @param[in] is_big Pass True to set the reaction with a big animation. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_set_message_reaction(telebot_handler_t handle, + long long int chat_id, int message_id, const char *reaction, bool is_big); + +/** + * @brief Use this method to edit animation, audio, document, photo, or video messages. + * @param[in] handle The telebot handler. + * @param[in] chat_id Required if inline_message_id is not specified. + * @param[in] message_id Required if inline_message_id is not specified. + * @param[in] inline_message_id Required if chat_id and message_id are not specified. + * @param[in] media A JSON-serialized object for a new media content of the message. + * @param[in] reply_markup A JSON-serialized object for a new inline keyboard. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_edit_message_media(telebot_handler_t handle, + long long int chat_id, int message_id, const char *inline_message_id, + const char *media, const char *reply_markup); + /** * @} // end of APIs */ diff --git a/include/telebot-parser.h b/include/telebot-parser.h index 671a0e9..660363c 100644 --- a/include/telebot-parser.h +++ b/include/telebot-parser.h @@ -19,6 +19,9 @@ #ifndef __TELEBOT_PARSER_H__ #define __TELEBOT_PARSER_H__ +#include "telebot-types.h" +#include "telebot-methods.h" + struct json_object *telebot_parser_str_to_obj(const char *data); /** Get update from Json Object */ @@ -117,7 +120,139 @@ telebot_error_e telebot_parser_get_response_parameters(struct json_object *obj, /** Prase chat location object object */ telebot_error_e telebot_parser_get_chat_location(struct json_object *obj, telebot_chat_location_t *chat_location); -/** Prase chat message auto-delete timer changed object object */ +/** Parse chat message auto-delete timer changed object object */ telebot_error_e telebot_parser_get_message_auto_delete_timer_changed(struct json_object *obj, telebot_message_auto_delete_timer_changed_t *timer_changed); +/** Parse invoice object */ +telebot_error_e telebot_parser_get_invoice(struct json_object *obj, telebot_invoice_t *invoice); + +/** Parse shipping address object */ +telebot_error_e telebot_parser_get_shipping_address(struct json_object *obj, telebot_shipping_address_t *address); + +/** Parse order info object */ +telebot_error_e telebot_parser_get_order_info(struct json_object *obj, telebot_order_info_t *info); + +/** Parse successful payment object */ +telebot_error_e telebot_parser_get_successful_payment(struct json_object *obj, telebot_successful_payment_t *payment); + +/** Parse passport file object */ +telebot_error_e telebot_parser_get_passport_file(struct json_object *obj, telebot_passport_file_t *file); + +/** Parse encrypted passport element object */ +telebot_error_e telebot_parser_get_encrypted_passport_element(struct json_object *obj, telebot_encrypted_passport_element_t *element); + +/** Parse encrypted credentials object */ +telebot_error_e telebot_parser_get_encrypted_credentials(struct json_object *obj, telebot_encrypted_credentials_t *credentials); + +/** Parse passport data object */ +telebot_error_e telebot_parser_get_passport_data(struct json_object *obj, telebot_passport_data_t *passport_data); + +/** Parse proximity alert triggered object */ +telebot_error_e telebot_parser_get_proximity_alert_triggered(struct json_object *obj, telebot_proximity_alert_triggered_t *alert); + +/** Parse forum topic created object */ +telebot_error_e telebot_parser_get_forum_topic_created(struct json_object *obj, telebot_forum_topic_created_t *topic); + +/** Parse forum topic edited object */ +telebot_error_e telebot_parser_get_forum_topic_edited(struct json_object *obj, telebot_forum_topic_edited_t *topic); + +/** Parse video chat scheduled object */ +telebot_error_e telebot_parser_get_video_chat_scheduled(struct json_object *obj, telebot_video_chat_scheduled_t *scheduled); + +/** Parse video chat ended object */ +telebot_error_e telebot_parser_get_video_chat_ended(struct json_object *obj, telebot_video_chat_ended_t *ended); + +/** Parse video chat participants invited object */ +telebot_error_e telebot_parser_get_video_chat_participants_invited(struct json_object *obj, telebot_video_chat_participants_invited_t *invited); + +/** Parse web app data object */ +telebot_error_e telebot_parser_get_web_app_data(struct json_object *obj, telebot_web_app_data_t *data); + +/** Parse inline keyboard button object */ +telebot_error_e telebot_parser_get_inline_keyboard_button(struct json_object *obj, telebot_inline_keyboard_button_t *button); + +/** Parse inline keyboard markup object */ +telebot_error_e telebot_parser_get_inline_keyboard_markup(struct json_object *obj, telebot_inline_keyboard_markup_t *markup); + +/** Parse chat invite link object */ +telebot_error_e telebot_parser_get_chat_invite_link(struct json_object *obj, telebot_chat_invite_link_t *invite_link); + +/** Parse chat member updated object */ +telebot_error_e telebot_parser_get_chat_member_updated(struct json_object *obj, telebot_chat_member_updated_t *updated); + +/** Parse chat join request object */ +telebot_error_e telebot_parser_get_chat_join_request(struct json_object *obj, telebot_chat_join_request_t *request); + +/** Parse reaction type object */ +telebot_error_e telebot_parser_get_reaction_type(struct json_object *obj, telebot_reaction_type_t *reaction); + +/** Parse message reaction updated object */ +telebot_error_e telebot_parser_get_message_reaction_updated(struct json_object *obj, telebot_message_reaction_updated_t *updated); + +/** Parse reaction count object */ +telebot_error_e telebot_parser_get_reaction_count(struct json_object *obj, telebot_reaction_count_t *count); + +/** Parse message reaction count updated object */ +telebot_error_e telebot_parser_get_message_reaction_count_updated(struct json_object *obj, telebot_message_reaction_count_updated_t *updated); + +/** Parse chat boost source object */ +telebot_error_e telebot_parser_get_chat_boost_source(struct json_object *obj, telebot_chat_boost_source_t *source); + +/** Parse chat boost object */ +telebot_error_e telebot_parser_get_chat_boost(struct json_object *obj, telebot_chat_boost_t *boost); + +/** Parse chat boost updated object */ +telebot_error_e telebot_parser_get_chat_boost_updated(struct json_object *obj, telebot_chat_boost_updated_t *updated); + +/** Parse chat boost removed object */ +telebot_error_e telebot_parser_get_chat_boost_removed(struct json_object *obj, telebot_chat_boost_removed_t *removed); + +/** Parse forum topic object */ +telebot_error_e telebot_parser_get_forum_topic(struct json_object *obj, telebot_forum_topic_t *topic); + +/** Parse inline query object */ +telebot_error_e telebot_parser_get_inline_query(struct json_object *obj, telebot_inline_query_t *query); + +/** Parse chosen inline result object */ +telebot_error_e telebot_parser_get_chosen_inline_result(struct json_object *obj, telebot_chosen_inline_result_t *result); + +/** Parse shipping query object */ +telebot_error_e telebot_parser_get_shipping_query(struct json_object *obj, telebot_shipping_query_t *query); + +/** Parse pre-checkout query object */ +telebot_error_e telebot_parser_get_pre_checkout_query(struct json_object *obj, telebot_pre_checkout_query_t *query); + +/** Parse stickers array */ +telebot_error_e telebot_parser_get_stickers(struct json_object *obj, telebot_sticker_t **stickers, int *count); + +/** Parse star transactions */ +telebot_error_e telebot_parser_get_star_transactions(struct json_object *obj, telebot_star_transactions_t *transactions); + +/** Parse prepared inline message */ +telebot_error_e telebot_parser_get_prepared_inline_message(struct json_object *obj, telebot_prepared_inline_message_t *prepared_message); + +/** Parse game high score */ +telebot_error_e telebot_parser_get_game_high_score(struct json_object *obj, telebot_game_high_score_t *high_score); + +/** Parse gifts */ +telebot_error_e telebot_parser_get_gifts(struct json_object *obj, telebot_gifts_t *gifts); + +/** Parse user gift */ +telebot_error_e telebot_parser_get_user_gift(struct json_object *obj, telebot_user_gift_t *gift); + +/** Parse user gifts */ +telebot_error_e telebot_parser_get_user_gifts(struct json_object *obj, telebot_user_gifts_t *gifts); + +/** Parse user profile audios */ +telebot_error_e telebot_parser_get_user_profile_audios(struct json_object *obj, telebot_user_profile_audios_t *audios); + +/** Parse business connection */ +telebot_error_e telebot_parser_get_business_connection(struct json_object *obj, telebot_business_connection_t *connection); + +/** Parse user chat boosts */ +telebot_error_e telebot_parser_get_user_chat_boosts(struct json_object *obj, telebot_user_chat_boosts_t *boosts); + +/** Parse paid media purchased */ +telebot_error_e telebot_parser_get_paid_media_purchased(struct json_object *obj, telebot_paid_media_purchased_t *purchased); + #endif /* __TELEBOT_PARSER_H__ */ diff --git a/include/telebot-passport.h b/include/telebot-passport.h new file mode 100644 index 0000000..a5de214 --- /dev/null +++ b/include/telebot-passport.h @@ -0,0 +1,56 @@ +/* + * telebot + * + * Copyright (c) 2015 Elmurod Talipov. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __TELEBOT_PASSPORT_H__ +#define __TELEBOT_PASSPORT_H__ + +#include +#include "telebot-types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @file telebot-passport.h + * @ingroup TELEBOT_API + * @brief This file contains Telegram Passport feature of telegram bot + * @author Elmurod Talipov + * @date 2026-02-27 + */ + +/** + * @addtogroup TELEBOT_API + * @{ + */ + +/** + * @brief Use this method to set passport data errors. + */ +telebot_error_e telebot_set_passport_data_errors(telebot_handler_t handle, + long long int user_id, const char *errors); + +/** + * @} // end of APIs + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __TELEBOT_PASSPORT_H__ */ diff --git a/include/telebot-payments.h b/include/telebot-payments.h new file mode 100644 index 0000000..a6dd4e1 --- /dev/null +++ b/include/telebot-payments.h @@ -0,0 +1,189 @@ +/* + * telebot + * + * Copyright (c) 2015 Elmurod Talipov. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __TELEBOT_PAYMENTS_H__ +#define __TELEBOT_PAYMENTS_H__ + +#include +#include "telebot-types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @file telebot-payments.h + * @ingroup TELEBOT_API + * @brief This file contains payments feature of telegram bot + * @author Elmurod Talipov + * @date 2026-02-27 + */ + +/** + * @addtogroup TELEBOT_API + * @{ + */ + +/** + * @brief Use this method to send an invoice. + */ +telebot_error_e telebot_send_invoice(telebot_handler_t handle, + long long int chat_id, int message_thread_id, const char *title, + const char *description, const char *payload, const char *provider_token, + const char *currency, const char *prices, int max_tip_amount, + const char *suggested_tip_amounts, const char *start_parameter, + const char *provider_data, const char *photo_url, int photo_size, + int photo_width, int photo_height, bool need_name, bool need_phone_number, + bool need_email, bool need_shipping_address, bool send_phone_number_to_provider, + bool send_email_to_provider, bool is_flexible, bool disable_notification, + bool protect_content, const char *reply_parameters, const char *reply_markup, + telebot_message_t *message); + +/** + * @brief Use this method to create a link for an invoice. + */ +telebot_error_e telebot_create_invoice_link(telebot_handler_t handle, + const char *title, const char *description, const char *payload, + const char *provider_token, const char *currency, const char *prices, + int max_tip_amount, const char *suggested_tip_amounts, const char *provider_data, + const char *photo_url, int photo_size, int photo_width, int photo_height, + bool need_name, bool need_phone_number, bool need_email, bool need_shipping_address, + bool send_phone_number_to_provider, bool send_email_to_provider, bool is_flexible, + char **invoice_link); + +/** + * @brief Use this method to reply to shipping queries. + */ +telebot_error_e telebot_answer_shipping_query(telebot_handler_t handle, + const char *shipping_query_id, bool ok, const char *shipping_options, + const char *error_message); + +/** + * @brief Use this method to respond to pre-checkout queries. + */ +telebot_error_e telebot_answer_pre_checkout_query(telebot_handler_t handle, + const char *pre_checkout_query_id, bool ok, const char *error_message); + +/** + * @brief Use this method to get the current Telegram Stars balance of the bot. + */ +telebot_error_e telebot_get_my_star_balance(telebot_handler_t handle, long long int *balance); + +/** + * @brief Use this method to get the bot's Telegram Star transactions. + */ +telebot_error_e telebot_get_star_transactions(telebot_handler_t handle, + int offset, int limit, telebot_star_transactions_t *transactions); + +/** + * @brief Release star transactions obtained with #telebot_get_star_transactions. + */ +telebot_error_e telebot_put_star_transactions(telebot_star_transactions_t *transactions); + +/** + * @brief Use this method to refund a successful payment in Telegram Stars. + */ +telebot_error_e telebot_refund_star_payment(telebot_handler_t handle, + long long int user_id, const char *telegram_payment_charge_id); + +/** + * @brief Use this method to get a list of gifts that can be sent by the bot to users. + */ +telebot_error_e telebot_get_available_gifts(telebot_handler_t handle, + telebot_gifts_t *gifts); + +/** + * @brief Release available gifts obtained with #telebot_get_available_gifts. + */ +telebot_error_e telebot_put_available_gifts(telebot_gifts_t *gifts); + +/** + * @brief Release a gift object. + */ +telebot_error_e telebot_put_gift(telebot_gift_t *gift); + +/** + * @brief Use this method to get a list of gifts received by a user. + */ +telebot_error_e telebot_get_user_gifts(telebot_handler_t handle, + long long int user_id, int offset, int limit, telebot_user_gifts_t *gifts); + +/** + * @brief Release user gifts obtained with #telebot_get_user_gifts. + */ +telebot_error_e telebot_put_user_gifts(telebot_user_gifts_t *gifts); + +/** + * @brief Release a user gift object. + */ +telebot_error_e telebot_put_user_gift(telebot_user_gift_t *gift); + +/** + * @brief Use this method to get a list of gifts received by a chat. + */ +telebot_error_e telebot_get_chat_gifts(telebot_handler_t handle, + long long int chat_id, int offset, int limit, telebot_user_gifts_t *gifts); + +/** + * @brief Release chat gifts obtained with #telebot_get_chat_gifts. + */ +telebot_error_e telebot_put_chat_gifts(telebot_user_gifts_t *gifts); + +/** + * @brief Use this method to upgrade a gift. + */ +telebot_error_e telebot_upgrade_gift(telebot_handler_t handle, + const char *gift_id, bool pay_for_upgrade, const char *text, + const char *text_parse_mode, const char *text_entities); + +/** + * @brief Use this method to transfer a gift. + */ +telebot_error_e telebot_transfer_gift(telebot_handler_t handle, + long long int user_id, long long int chat_id, const char *gift_id); + +/** + * @brief Use this method to convert a gift to Telegram Stars. + */ +telebot_error_e telebot_convert_gift_to_stars(telebot_handler_t handle, + const char *gift_id); + +/** + * @brief Use this method to send a gift. + */ +telebot_error_e telebot_send_gift(telebot_handler_t handle, + long long int user_id, long long int chat_id, const char *gift_id, + bool pay_for_upgrade, const char *text, const char *text_parse_mode, + const char *text_entities); + +/** + * @brief Use this method to gift a Telegram Premium subscription to a user. + */ +telebot_error_e telebot_gift_premium_subscription(telebot_handler_t handle, + long long int user_id, int month_count, int star_count, const char *text, + const char *text_parse_mode, const char *text_entities); + +/** + * @} // end of APIs + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __TELEBOT_PAYMENTS_H__ */ diff --git a/include/telebot-private.h b/include/telebot-private.h index 6a236db..43a712d 100644 --- a/include/telebot-private.h +++ b/include/telebot-private.h @@ -16,11 +16,16 @@ * limitations under the License. */ -#include - #ifndef __TELEBOT_PRIVATE_H__ #define __TELEBOT_PRIVATE_H__ +#include +#include +#include +#include "telebot-common.h" +#include "telebot-types.h" +#include "telebot-core.h" + #define TELEBOT_API_URL "https://api.telegram.org" #define TELEBOT_URL_SIZE 1024 #define TELEBOT_BUFFER_SECTOR 512 @@ -37,8 +42,25 @@ #define TELEBOT_METHOD_DELETE_WEBHOOK "deleteWebhook" #define TELEBOT_METHOD_GET_WEBHOOK_INFO "getWebhookInfo" #define TELEBOT_METHOD_GET_ME "getMe" +#define TELEBOT_METHOD_LOG_OUT "logOut" +#define TELEBOT_METHOD_CLOSE "close" +#define TELEBOT_METHOD_SET_MY_NAME "setMyName" +#define TELEBOT_METHOD_GET_MY_NAME "getMyName" +#define TELEBOT_METHOD_SET_MY_DESCRIPTION "setMyDescription" +#define TELEBOT_METHOD_GET_MY_DESCRIPTION "getMyDescription" +#define TELEBOT_METHOD_SET_MY_SHORT_DESCRIPTION "setMyShortDescription" +#define TELEBOT_METHOD_GET_MY_SHORT_DESCRIPTION "getMyShortDescription" +#define TELEBOT_METHOD_SET_MY_PROFILE_PHOTO "setMyProfilePhoto" +#define TELEBOT_METHOD_REMOVE_MY_PROFILE_PHOTO "removeMyProfilePhoto" +#define TELEBOT_METHOD_SET_CHAT_MENU_BUTTON "setChatMenuButton" +#define TELEBOT_METHOD_GET_CHAT_MENU_BUTTON "getChatMenuButton" +#define TELEBOT_METHOD_SET_MY_DEFAULT_ADMIN_RIGHTS "setMyDefaultAdministratorRights" +#define TELEBOT_METHOD_GET_MY_DEFAULT_ADMIN_RIGHTS "getMyDefaultAdministratorRights" #define TELEBOT_METHOD_SEND_MESSAGE "sendMessage" #define TELEBOT_METHOD_FORWARD_MESSAGE "forwardMessage" +#define TELEBOT_METHOD_FORWARD_MESSAGES "forwardMessages" +#define TELEBOT_METHOD_COPY_MESSAGE "copyMessage" +#define TELEBOT_METHOD_COPY_MESSAGES "copyMessages" #define TELEBOT_METHOD_SEND_PHOTO "sendPhoto" #define TELEBOT_METHOD_SEND_AUDIO "sendAudio" #define TELEBOT_METHOD_SEND_DOCUMENT "sendDocument" @@ -46,6 +68,7 @@ #define TELEBOT_METHOD_SEND_ANIMATION "sendAnimation" #define TELEBOT_METHOD_SEND_VOICE "sendVoice" #define TELEBOT_METHOD_SEND_VIDEO_NOTE "sendVideoNote" +#define TELEBOT_METHOD_SEND_PAID_MEDIA "sendPaidMedia" #define TELEBOT_METHOD_SEND_MEDIA_GROUP "sendMediaGroup" #define TELEBOT_METHOD_SEND_LOCATION "sendLocation" #define TELEBOT_METHOD_EDIT_MESSAGE_LIVE_LOCATION "editMessageLiveLocation" @@ -53,23 +76,38 @@ #define TELEBOT_METHOD_SEND_VENUE "sendVenue" #define TELEBOT_METHOD_SEND_CONTACT "sendContact" #define TELEBOT_METHOD_SEND_POLL "sendPoll" +#define TELEBOT_METHOD_SEND_CHECKLIST "sendChecklist" #define TELEBOT_METHOD_SEND_DICE "sendDice" #define TELEBOT_METHOD_SEND_CHAT_ACTION "sendChatAction" +#define TELEBOT_METHOD_SEND_MESSAGE_DRAFT "sendMessageDraft" #define TELEBOT_METHOD_GET_USER_PHOTOS "getUserProfilePhotos" +#define TELEBOT_METHOD_GET_USER_AUDIOS "getUserProfileAudios" +#define TELEBOT_METHOD_SET_USER_EMOJI_STATUS "setUserEmojiStatus" #define TELEBOT_METHOD_GET_FILE "getFile" +#define TELEBOT_METHOD_BAN_CHAT_MEMBER "banChatMember" #define TELEBOT_METHOD_KICK_CHAT_MEMBER "kickChatMember" #define TELEBOT_METHOD_UNBAN_CHAT_MEMBER "unbanChatMember" #define TELEBOT_METHOD_RESTRICT_CHAT_MEMBER "restrictChatMember" #define TELEBOT_METHOD_PROMOTE_CHAT_MEMBER "promoteChatMember" #define TELEBOT_METHOD_SET_CHAT_ADMIN_TITLE "setChatAdministratorCustomTitle" +#define TELEBOT_METHOD_BAN_CHAT_SENDER_CHAT "banChatSenderChat" +#define TELEBOT_METHOD_UNBAN_CHAT_SENDER_CHAT "unbanChatSenderChat" #define TELEBOT_METHOD_SET_CHAT_PERMISSIONS "setChatPermissions" #define TELEBOT_METHOD_EXPORT_CHAT_INVITE_LINK "exportChatInviteLink" +#define TELEBOT_METHOD_CREATE_CHAT_INVITE_LINK "createChatInviteLink" +#define TELEBOT_METHOD_EDIT_CHAT_INVITE_LINK "editChatInviteLink" +#define TELEBOT_METHOD_CREATE_CHAT_SUBSCRIPTION_INVITE_LINK "createChatSubscriptionInviteLink" +#define TELEBOT_METHOD_EDIT_CHAT_SUBSCRIPTION_INVITE_LINK "editChatSubscriptionInviteLink" +#define TELEBOT_METHOD_REVOKE_CHAT_INVITE_LINK "revokeChatInviteLink" +#define TELEBOT_METHOD_APPROVE_CHAT_JOIN_REQUEST "approveChatJoinRequest" +#define TELEBOT_METHOD_DECLINE_CHAT_JOIN_REQUEST "declineChatJoinRequest" #define TELEBOT_METHOD_SET_CHAT_PHOTO "setChatPhoto" #define TELEBOT_METHOD_DELETE_CHAT_PHOTO "deleteChatPhoto" #define TELEBOT_METHOD_SET_CHAT_TITLE "setChatTitle" #define TELEBOT_METHOD_SET_CHAT_DESCRIPTION "setChatDescription" #define TELEBOT_METHOD_PIN_CHAT_MESSAGE "pinChatMessage" #define TELEBOT_METHOD_UNPIN_CHAT_MESSAGE "unpinChatMessage" +#define TELEBOT_METHOD_UNPIN_ALL_CHAT_MESSAGES "unpinAllChatMessages" #define TELEBOT_METHOD_LEAVE_CHAT "leaveChat" #define TELEBOT_METHOD_GET_CHAT "getChat" #define TELEBOT_METHOD_GET_CHAT_ADMINS "getChatAdministrators" @@ -77,15 +115,93 @@ #define TELEBOT_METHOD_GET_CHAT_MEMBER "getChatMember" #define TELEBOT_METHOD_SET_CHAT_STICKER_SET "setChatStickerSet" #define TELEBOT_METHOD_DEL_CHAT_STICKER_SET "deleteChatStickerSet" +#define TELEBOT_METHOD_GET_FORUM_TOPIC_ICON_STICKERS "getForumTopicIconStickers" +#define TELEBOT_METHOD_CREATE_FORUM_TOPIC "createForumTopic" +#define TELEBOT_METHOD_EDIT_FORUM_TOPIC "editForumTopic" +#define TELEBOT_METHOD_CLOSE_FORUM_TOPIC "closeForumTopic" +#define TELEBOT_METHOD_REOPEN_FORUM_TOPIC "reopenForumTopic" +#define TELEBOT_METHOD_DELETE_FORUM_TOPIC "deleteForumTopic" +#define TELEBOT_METHOD_UNPIN_ALL_FORUM_TOPIC_MESSAGES "unpinAllForumTopicMessages" +#define TELEBOT_METHOD_EDIT_GENERAL_FORUM_TOPIC "editGeneralForumTopic" +#define TELEBOT_METHOD_CLOSE_GENERAL_FORUM_TOPIC "closeGeneralForumTopic" +#define TELEBOT_METHOD_REOPEN_GENERAL_FORUM_TOPIC "reopenGeneralForumTopic" +#define TELEBOT_METHOD_HIDE_GENERAL_FORUM_TOPIC "hideGeneralForumTopic" +#define TELEBOT_METHOD_UNHIDE_GENERAL_FORUM_TOPIC "unhideGeneralForumTopic" +#define TELEBOT_METHOD_UNPIN_ALL_GENERAL_FORUM_TOPIC_MESSAGES "unpinAllGeneralForumTopicMessages" #define TELEBOT_METHOD_ANSWER_CALLBACK_QUERY "answerCallbackQuery" +#define TELEBOT_METHOD_GET_USER_CHAT_BOOSTS "getUserChatBoosts" +#define TELEBOT_METHOD_GET_BUSINESS_CONNECTION "getBusinessConnection" #define TELEBOT_METHOD_SET_MY_COMMANDS "setMyCommands" +#define TELEBOT_METHOD_DELETE_MY_COMMANDS "deleteMyCommands" #define TELEBOT_METHOD_GET_MY_COMMANDS "getMyCommands" +#define TELEBOT_METHOD_SET_MESSAGE_REACTION "setMessageReaction" #define TELEBOT_METHOD_EDIT_MESSAGE_TEXT "editMessageText" #define TELEBOT_METHOD_EDIT_MESSAGE_CAPTION "editMessageCaption" #define TELEBOT_METHOD_EDIT_MESSAGE_MEDIA "editMessageMedia" #define TELEBOT_METHOD_EDIT_MESSAGE_REPLY_MARKUP "editMessageReplyMarkup" +#define TELEBOT_METHOD_EDIT_MESSAGE_CHECKLIST "editMessageChecklist" #define TELEBOT_METHOD_STOP_POLL "stopPoll" +#define TELEBOT_METHOD_APPROVE_SUGGESTED_POST "approveSuggestedPost" +#define TELEBOT_METHOD_DECLINE_SUGGESTED_POST "declineSuggestedPost" #define TELEBOT_METHOD_DELETE_MESSAGE "deleteMessage" +#define TELEBOT_METHOD_DELETE_MESSAGES "deleteMessages" +#define TELEBOT_METHOD_GET_STICKER_SET "getStickerSet" +#define TELEBOT_METHOD_GET_CUSTOM_EMOJI_STICKERS "getCustomEmojiStickers" +#define TELEBOT_METHOD_UPLOAD_STICKER_FILE "uploadStickerFile" +#define TELEBOT_METHOD_CREATE_NEW_STICKER_SET "createNewStickerSet" +#define TELEBOT_METHOD_ADD_STICKER_TO_SET "addStickerToSet" +#define TELEBOT_METHOD_SET_STICKER_POSITION_IN_SET "setStickerPositionInSet" +#define TELEBOT_METHOD_DELETE_STICKER_FROM_SET "deleteStickerFromSet" +#define TELEBOT_METHOD_REPLACE_STICKER_IN_SET "replaceStickerInSet" +#define TELEBOT_METHOD_SET_STICKER_EMOJI_LIST "setStickerEmojiList" +#define TELEBOT_METHOD_SET_STICKER_KEYWORDS "setStickerKeywords" +#define TELEBOT_METHOD_SET_STICKER_MASK_POSITION "setStickerMaskPosition" +#define TELEBOT_METHOD_SET_STICKER_SET_TITLE "setStickerSetTitle" +#define TELEBOT_METHOD_SET_STICKER_SET_THUMBNAIL "setStickerSetThumbnail" +#define TELEBOT_METHOD_SET_CUSTOM_EMOJI_STICKER_SET_THUMBNAIL "setCustomEmojiStickerSetThumbnail" +#define TELEBOT_METHOD_DELETE_STICKER_SET "deleteStickerSet" +#define TELEBOT_METHOD_ANSWER_INLINE_QUERY "answerInlineQuery" +#define TELEBOT_METHOD_ANSWER_WEB_APP_QUERY "answerWebAppQuery" +#define TELEBOT_METHOD_SAVE_PREPARED_INLINE_MESSAGE "savePreparedInlineMessage" +#define TELEBOT_METHOD_SEND_INVOICE "sendInvoice" +#define TELEBOT_METHOD_CREATE_INVOICE_LINK "createInvoiceLink" +#define TELEBOT_METHOD_ANSWER_SHIPPING_QUERY "answerShippingQuery" +#define TELEBOT_METHOD_ANSWER_PRE_CHECKOUT_QUERY "answerPreCheckoutQuery" +#define TELEBOT_METHOD_GET_MY_STAR_BALANCE "getMyStarBalance" +#define TELEBOT_METHOD_GET_STAR_TRANSACTIONS "getStarTransactions" +#define TELEBOT_METHOD_REFUND_STAR_PAYMENT "refundStarPayment" +#define TELEBOT_METHOD_EDIT_USER_STAR_SUBSCRIPTION "editUserStarSubscription" +#define TELEBOT_METHOD_SET_PASSPORT_DATA_ERRORS "setPassportDataErrors" +#define TELEBOT_METHOD_SEND_GAME "sendGame" +#define TELEBOT_METHOD_SET_GAME_SCORE "setGameScore" +#define TELEBOT_METHOD_GET_GAME_HIGH_SCORES "getGameHighScores" +#define TELEBOT_METHOD_GET_AVAILABLE_GIFTS "getAvailableGifts" +#define TELEBOT_METHOD_SEND_GIFT "sendGift" +#define TELEBOT_METHOD_GIFT_PREMIUM_SUBSCRIPTION "giftPremiumSubscription" +#define TELEBOT_METHOD_VERIFY_USER "verifyUser" +#define TELEBOT_METHOD_VERIFY_CHAT "verifyChat" +#define TELEBOT_METHOD_REMOVE_USER_VERIFICATION "removeUserVerification" +#define TELEBOT_METHOD_REMOVE_CHAT_VERIFICATION "removeChatVerification" +#define TELEBOT_METHOD_READ_BUSINESS_MESSAGE "readBusinessMessage" +#define TELEBOT_METHOD_DELETE_BUSINESS_MESSAGES "deleteBusinessMessages" +#define TELEBOT_METHOD_SET_BUSINESS_ACCOUNT_NAME "setBusinessAccountName" +#define TELEBOT_METHOD_SET_BUSINESS_ACCOUNT_USERNAME "setBusinessAccountUsername" +#define TELEBOT_METHOD_SET_BUSINESS_ACCOUNT_BIO "setBusinessAccountBio" +#define TELEBOT_METHOD_SET_BUSINESS_ACCOUNT_PROFILE_PHOTO "setBusinessAccountProfilePhoto" +#define TELEBOT_METHOD_REMOVE_BUSINESS_ACCOUNT_PROFILE_PHOTO "removeBusinessAccountProfilePhoto" +#define TELEBOT_METHOD_SET_BUSINESS_ACCOUNT_GIFT_SETTINGS "setBusinessAccountGiftSettings" +#define TELEBOT_METHOD_GET_BUSINESS_ACCOUNT_STAR_BALANCE "getBusinessAccountStarBalance" +#define TELEBOT_METHOD_TRANSFER_BUSINESS_ACCOUNT_STARS "transferBusinessAccountStars" +#define TELEBOT_METHOD_GET_BUSINESS_ACCOUNT_GIFTS "getBusinessAccountGifts" +#define TELEBOT_METHOD_GET_USER_GIFTS "getUserGifts" +#define TELEBOT_METHOD_GET_CHAT_GIFTS "getChatGifts" +#define TELEBOT_METHOD_CONVERT_GIFT_TO_STARS "convertGiftToStars" +#define TELEBOT_METHOD_UPGRADE_GIFT "upgradeGift" +#define TELEBOT_METHOD_TRANSFER_GIFT "transferGift" +#define TELEBOT_METHOD_POST_STORY "postStory" +#define TELEBOT_METHOD_REPOST_STORY "repostStory" +#define TELEBOT_METHOD_EDIT_STORY "editStory" +#define TELEBOT_METHOD_DELETE_STORY "deleteStory" #ifdef DEBUG #define ERR(fmt, args...) fprintf(stderr, "[ERROR][%s:%d]" fmt "\n", __func__, __LINE__, ##args) @@ -157,6 +273,15 @@ struct telebot_core_handler char *proxy_auth; /**< Proxy authentication (optional) */ }; +/** + * @brief This object represents handler. + */ +struct telebot_handler +{ + telebot_core_handler_t core_h; /**< Core handler */ + int offset; /**< Offset value to get updates */ +}; + /** * @brief This object represents a telegram bot response. */ diff --git a/include/telebot-stickers.h b/include/telebot-stickers.h index 2e417f8..e172477 100644 --- a/include/telebot-stickers.h +++ b/include/telebot-stickers.h @@ -39,75 +39,6 @@ extern "C" { * @{ */ -/** - * @brief This object describes the position on faces where a mask should be - * placed by default. - */ -typedef struct telebot_mask_position { - /** - * The part of the face relative to which the mask should be placed. - * One of "forehead", "eyes", "mouth", or "chin". - */ - char *point; - - /** - * Shift by X-axis measured in widths of the mask scaled to the face size, - * from left to right. For example, choosing -1.0 will place mask just to - * the left of the default mask position. - */ - float x_shift; - - /** - * Shift by Y-axis measured in heights of the mask scaled to the face size, - * from top to bottom. For example, 1.0 will place the mask just below the - * default mask position. - */ - float y_shift; - - /** Mask scaling coefficient. For example, 2.0 means double size. */ - float scale; -} telebot_mask_position_t; - - -/** - * @brief This object represents a sticker. - */ -typedef struct telebot_sticker { - /** Identifier for this file, which can be used to download or reuse the file */ - char *file_id; - - /** - * Unique identifier for this file, which is supposed to be the same over time - * and for different bots. Can't be used to download or reuse the file. - */ - char *file_unique_id; - - /** Sticker width */ - int width; - - /** Sticker height */ - int height; - - /** True, if the sticker is animated */ - bool is_animated; - - /** Optional. Sticker thumbnail in .webp or .jpg format */ - struct telebot_photo *thumb; - - /** Optional. Emoji associated with the sticker. */ - char *emoji; - - /** Optional. Name of the sticker set to which the sticker belongs */ - char *set_name; - - /** Optional. For mask stickers, the position where the mask should be placed. */ - struct telebot_mask_position *mask_position; - - /** Optional. File size */ - int file_size; -} telebot_sticker_t; - - /** * @brief This object represents a sticker set. */ @@ -171,13 +102,21 @@ telebot_error_e telebot_get_sticker_set(telebot_handler_t handle, const char *na /** * @brief Release sticker set obtained with #telebot_get_sticker_set() * - * @param[in] handle The telebot handler created with #telebot_create(). * @param[in] stickers Pointer to sticker set to be released. * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative * error value. */ telebot_error_e telebot_put_sticker_set(telebot_sticker_set_t *stickers); +/** + * @brief Release a sticker object. + * + * @param[in] sticker Pointer to sticker to be released. + * @return on Success, #TELEBOT_ERROR_NONE is returned, otherwise a negative + * error value. + */ +telebot_error_e telebot_put_sticker(telebot_sticker_t *sticker); + /** * @} // end of APIs */ diff --git a/include/telebot-types.h b/include/telebot-types.h index 001125a..fd889c7 100644 --- a/include/telebot-types.h +++ b/include/telebot-types.h @@ -46,16 +46,132 @@ typedef enum telebot_update_type { TELEBOT_UPDATE_TYPE_EDITED_MESSAGE, /**< Edited message */ TELEBOT_UPDATE_TYPE_CHANNEL_POST, /**< Channel post */ TELEBOT_UPDATE_TYPE_EDITED_CHANNEL_POST, /**< Edited channel post */ + TELEBOT_UPDATE_TYPE_BUSINESS_CONNECTION, /**< Business connection */ + TELEBOT_UPDATE_TYPE_BUSINESS_MESSAGE, /**< Business message */ + TELEBOT_UPDATE_TYPE_EDITED_BUSINESS_MESSAGE, /**< Edited business message */ + TELEBOT_UPDATE_TYPE_DELETED_BUSINESS_MESSAGES, /**< Deleted business messages */ + TELEBOT_UPDATE_TYPE_MESSAGE_REACTION, /**< Message reaction updated */ + TELEBOT_UPDATE_TYPE_MESSAGE_REACTION_COUNT, /**< Message reaction count updated */ TELEBOT_UPDATE_TYPE_INLINE_QUERY, /**< Inline query */ TELEBOT_UPDATE_TYPE_CHOSEN_INLINE_RESULT, /**< Chosen inline result */ TELEBOT_UPDATE_TYPE_CALLBACK_QUERY, /**< Callback query */ TELEBOT_UPDATE_TYPE_SHIPPING_QUERY, /**< Shipping query */ TELEBOT_UPDATE_TYPE_PRE_CHECKOUT_QUERY, /**< Pre-checkout query */ + TELEBOT_UPDATE_TYPE_PURCHASED_PAID_MEDIA, /**< User purchased paid media */ TELEBOT_UPDATE_TYPE_POLL, /**< Poll */ TELEBOT_UPDATE_TYPE_POLL_ANSWER, /**< Poll answer */ + TELEBOT_UPDATE_TYPE_MY_CHAT_MEMBER, /**< My chat member updated */ + TELEBOT_UPDATE_TYPE_CHAT_MEMBER, /**< Chat member updated */ + TELEBOT_UPDATE_TYPE_CHAT_JOIN_REQUEST, /**< Chat join request */ + TELEBOT_UPDATE_TYPE_CHAT_BOOST, /**< Chat boost updated */ + TELEBOT_UPDATE_TYPE_REMOVED_CHAT_BOOST, /**< Chat boost removed */ TELEBOT_UPDATE_TYPE_MAX /**< Number of update types */ } telebot_update_type_e; +/** + * @brief Describes the birthdate of a user. + */ +typedef struct telebot_birthdate { + /** Day of the user's birth; 1-31 */ + int day; + + /** Month of the user's birth; 1-12 */ + int month; + + /** Optional. Year of the user's birth */ + int year; +} telebot_birthdate_t; + +/** + * @brief Contains information about the start page settings of a Telegram Business account. + */ +typedef struct telebot_business_intro { + /** Optional. Title text of the business intro */ + char *title; + + /** Optional. Message text of the business intro */ + char *message; + + /** Optional. Sticker of the business intro */ + struct telebot_sticker *sticker; +} telebot_business_intro_t; + +/** + * @brief Contains information about the location of a Telegram Business account. + */ +typedef struct telebot_business_location { + /** Address of the business */ + char *address; + + /** Optional. Location of the business */ + struct telebot_location *location; +} telebot_business_location_t; + +/** + * @brief Describes an interval of time during which a business is open. + */ +typedef struct telebot_business_opening_hours_interval { + /** The minute's sequence number in a week, starting on Monday, marking the start of the time interval during which the business is open; 0 - 7 * 24 * 60 */ + int opening_minute; + + /** The minute's sequence number in a week, starting on Monday, marking the end of the time interval during which the business is open; 0 - 8 * 24 * 60 */ + int closing_minute; +} telebot_business_opening_hours_interval_t; + +/** + * @brief Describes the opening hours of a business. + */ +typedef struct telebot_business_opening_hours { + /** Unique name of the time zone for which the opening hours are defined */ + char *time_zone_name; + + /** List of time intervals describing business opening hours */ + struct telebot_business_opening_hours_interval *opening_hours; + int count_opening_hours; +} telebot_business_opening_hours_t; + +/** + * @brief Represents the rights of a business bot. + */ +typedef struct telebot_business_bot_rights { + bool can_reply; + bool can_read_messages; + bool can_delete_sent_messages; + bool can_delete_all_messages; + bool can_edit_name; + bool can_edit_bio; + bool can_edit_profile_photo; + bool can_edit_username; + bool can_change_gift_settings; + bool can_view_gifts_and_stars; + bool can_convert_gifts_to_stars; + bool can_transfer_and_upgrade_gifts; + bool can_transfer_stars; + bool can_manage_stories; +} telebot_business_bot_rights_t; + +/** + * @brief Describes the connection of the bot with a business account. + */ +typedef struct telebot_business_connection { + char *id; + struct telebot_user *user; + long long int user_chat_id; + long date; + bool can_reply; + bool is_enabled; +} telebot_business_connection_t; + +/** + * @brief This object is received when messages are deleted from a connected business account. + */ +typedef struct telebot_business_messages_deleted { + char *business_connection_id; + struct telebot_chat *chat; + int *message_ids; + int count_message_ids; +} telebot_business_messages_deleted_t; + /** * @brief This object represents a Telegram user or bot. */ @@ -93,6 +209,18 @@ typedef struct telebot_user { /** Optional. True, if the bot supports inline queries. Returned only in getMe. */ bool supports_inline_queries; + /** Optional. True, if the bot can be connected to a Telegram Business account to receive its messages. Returned only in getMe. */ + bool can_connect_to_business; + + /** Optional. True, if the bot has a main Web App. Returned only in getMe. */ + bool has_main_web_app; + + /** Optional. True, if the bot has forum topic mode enabled in private chats. Returned only in getMe. */ + bool has_topics_enabled; + + /** Optional. True, if the bot allows users to create and delete topics in private chats. Returned only in getMe. */ + bool allows_users_to_create_topics; + } telebot_user_t; /** @@ -120,6 +248,15 @@ typedef struct telebot_chat { /** Optional. True, if the supergroup chat is a forum (has topics enabled). */ bool is_forum; + /** Optional. True, if the chat is the direct messages chat of a channel. */ + bool is_direct_messages; + + /** Optional. Identifier of the accent color for the chat name and backgrounds. */ + int accent_color_id; + + /** Optional. The maximum number of reactions that can be set on a message in the chat. */ + int max_reaction_count; + /** Optional. Chat photo. Returned only in getChat. */ struct telebot_chat_photo *photo; @@ -129,12 +266,33 @@ typedef struct telebot_chat { char **active_usernames; int count_active_usernames; + /** Optional. For private chats, the date of birth of the user. */ + struct telebot_birthdate *birthdate; + + /** Optional. For private chats with business accounts, the intro of the business. */ + struct telebot_business_intro *business_intro; + + /** Optional. For private chats with business accounts, the location of the business. */ + struct telebot_business_location *business_location; + + /** Optional. For private chats with business accounts, the opening hours of the business. */ + struct telebot_business_opening_hours *business_opening_hours; + + /** Optional. For private chats, the personal channel of the user. */ + struct telebot_chat *personal_chat; + + /** Optional. Information about the corresponding channel chat; for direct messages chats only. */ + struct telebot_chat *parent_chat; + /** * Optional. Custom emoji identifier of emoji status of the other party in * a private chat. Returned only in getChat. */ char *emoji_status_custom_emoji_id; + /** Optional. Expiration date of the emoji status of the chat or the other party in a private chat, in Unix time, if any. */ + long emoji_status_expiration_date; + /** Optional. Bio of the other party in a private chat. Returned only in getChat. */ char *bio; @@ -165,70 +323,1453 @@ typedef struct telebot_chat { bool join_by_request; /** - * Optional. Desription, for supergroups and channel chats. + * Optional. Description, for supergroups and channel chats. + * Returned only in getChat. + */ + char *description; + + /** + * Optional. Primary invite link, for groups, supergroups and channel chats. + * Returned only in getChat. + */ + char *invite_link; + + /** Optional. The most recent pinned message (by sending date). + * Returned only in getChat. + */ + struct telebot_message *pinned_message; + + /** + * Optional. Default chat member permissions, for groups and supergroups. + * Returned only in getChat. + */ + struct telebot_chat_permissions *permissions; + + /** + * Optional. For supergroups, the minimum allowed delay between consecutive + * messages sent by each unpriviledged user. Returned only in getChat. + */ + int slow_mode_delay; + + /** Optional. For supergroups, the minimum number of boosts that a non-administrator user needs. */ + int unrestrict_boost_count; + + /** + * Optional. The time after which all messages sent to the chat will be + * automatically deleted; in seconds. Returned only in getChat. + */ + int message_auto_delete_time; + + /** Optional. True, if aggressive anti-spam checks are enabled in the supergroup. */ + bool has_aggressive_anti_spam_enabled; + + /** Optional. True, if non-administrators can only get the list of bots and administrators in the chat. */ + bool has_hidden_members; + + /** + * Optional. True, if messages from the chat can't be forwarded to other chats. + * Returned only in getChat. + */ + bool has_protected_content; + + /** Optional. True, if new chat members will have access to old messages. */ + bool has_visible_history; + + /** + * Optional. For supergroups, name of group sticker set. + * Returned only in getChat. + */ + char *sticker_set_name; + + /** + * Optional. True, if the bot can change the group sticker set. + * Returned only in getChat. + */ + bool can_set_sticker_set; + + /** Optional. For supergroups, the name of the group's custom emoji sticker set. */ + char *custom_emoji_sticker_set_name; + + /** + * Optional. Unique identifier for the linked chat, i.e. the discussion + * group identifier for a channel and vice versa; for supergroups and + * channel chats. Returned only in getChat. + */ + long long int linked_chat_id; + + /** + * Optional. For supergroups, the location to which the supergroup is connected. * Returned only in getChat. */ + struct telebot_chat_location *location; +} telebot_chat_t; + +/** + * @brief This object represents a game. + */ +typedef struct telebot_game { + /** Title of the game */ + char *title; + + /** Description of the game */ + char *description; + + /** Photo that will be displayed in the game message in chats. */ + struct telebot_photo *photo; + + /** Number of photos */ + int count_photo; + + /** + * Optional. Brief description of the game or high scores included in the + * game message. + */ + char *text; + + /** + * Optional. Special entities that appear in text, such as usernames, URLs, + * bot commands, etc. + */ + struct telebot_message_entity *text_entities; + int count_text_entities; + + /** + * Optional. Animation that will be displayed in the game message in chats. + */ + struct telebot_animation *animation; +} telebot_game_t; + +/** + * @brief This object represents a shipping address. + */ +typedef struct telebot_shipping_address { + /** ISO 3166-1 alpha-2 country code */ + char *country_code; + + /** State, if applicable */ + char *state; + + /** City */ + char *city; + + /** First line for the address */ + char *street_line1; + + /** Second line for the address */ + char *street_line2; + + /** Address post code */ + char *post_code; +} telebot_shipping_address_t; + +/** + * @brief This object represents information about an order. + */ +typedef struct telebot_order_info { + /** Optional. User name */ + char *name; + + /** Optional. User's phone number */ + char *phone_number; + + /** Optional. User's email address */ + char *email; + + /** Optional. User's shipping address */ + struct telebot_shipping_address *shipping_address; +} telebot_order_info_t; + +/** + * @brief This object contains basic information about an invoice. + */ +typedef struct telebot_invoice { + /** Product name */ + char *title; + + /** Product description */ char *description; - /** - * Optional. Chat invite link, for supergroups and channel chats. - * Returned only in getChat. - */ - char *invite_link; + /** + * Unique bot deep-linking parameter that can be used to generate this + * invoice + */ + char *start_parameter; + + /** Three-letter ISO 4217 currency code */ + char *currency; + + /** + * Total amount in the smallest units of the currency (integer, not + * float/double). + */ + int total_amount; +} telebot_invoice_t; + +/** + * @brief This object contains basic information about a successful payment. + */ +typedef struct telebot_successful_payment { + /** Three-letter ISO 4217 currency code */ + char *currency; + + /** + * Total amount in the smallest units of the currency (integer, not + * float/double). + */ + int total_amount; + + /** Bot specified invoice payload */ + char *invoice_payload; + + /** Optional. Identifier of the shipping option chosen by the user */ + char *shipping_option_id; + + /** Optional. Order info provided by the user */ + struct telebot_order_info *order_info; + + /** Telegram payment identifier */ + char *telegram_payment_charge_id; + + /** Provider payment identifier */ + char *provider_payment_charge_id; +} telebot_successful_payment_t; + +/** + * @brief This object represents an internal identifier of a user in Telegram Passport. + */ +typedef struct telebot_passport_file { + /** Identifier for this file, which can be used to download or reuse the file */ + char *file_id; + + /** + * Unique identifier for this file, which is supposed to be the same over + * time and for different bots. Can't be used to download or reuse the file. + */ + char *file_unique_id; + + /** File size */ + int file_size; + + /** Unix time when the file was uploaded */ + long date; +} telebot_passport_file_t; + +/** + * @brief This object represents one element of the Telegram Passport data. + */ +typedef struct telebot_encrypted_passport_element { + /** + * Element type. One of "personal_details", "passport", "internal_passport", + * "driver_license", "id_card", "internal_passport", "address", + * "utility_bill", "bank_statement", "rental_agreement", + * "passport_registration", "temporary_registration", "phone_number", "email". + */ + char *type; + + /** + * Optional. Base64-encoded encrypted Telegram Passport element data + * provided by the user. + */ + char *data; + + /** Optional. User's verified phone number. */ + char *phone_number; + + /** Optional. User's verified email address. */ + char *email; + + /** Optional. Array of encrypted files with documents provided by the user. */ + struct telebot_passport_file *files; + int count_files; + + /** Optional. Encrypted file with the front side of the document. */ + struct telebot_passport_file *front_side; + + /** Optional. Encrypted file with the reverse side of the document. */ + struct telebot_passport_file *reverse_side; + + /** Optional. Encrypted file with the selfie of the user holding a document. */ + struct telebot_passport_file *selfie; + + /** Optional. Array of encrypted files with translated versions of documents. */ + struct telebot_passport_file *translation; + int count_translation; + + /** Base64-encoded element hash for using in PassportElementErrorUnspecified */ + char *hash; +} telebot_encrypted_passport_element_t; + +/** + * @brief This object represents credentials required to decrypt the data. + */ +typedef struct telebot_encrypted_credentials { + /** Base64-encoded encrypted JSON-serialized data with unique user's payload */ + char *data; + + /** Base64-encoded data hash */ + char *hash; + + /** Base64-encoded secret used for data decryption */ + char *secret; +} telebot_encrypted_credentials_t; + +/** + * @brief Contains information about Telegram Passport data which was shared + * with the bot by the user. + */ +typedef struct telebot_passport_data { + /** + * Array with information about documents and other Telegram Passport + * elements that were shared with the bot + */ + struct telebot_encrypted_passport_element *data; + int count_data; + + /** Encrypted credentials required to decrypt the data */ + struct telebot_encrypted_credentials *credentials; +} telebot_passport_data_t; + +/** + * @brief This object represents a service message about a user in the chat + * triggered another user's proximity alert while sharing Live Location. + */ +typedef struct telebot_proximity_alert_triggered { + /** User that triggered the alert */ + struct telebot_user *traveler; + + /** User that set the alert */ + struct telebot_user *watcher; + + /** The distance between the users */ + int distance; +} telebot_proximity_alert_triggered_t; + +/** + * @brief This object represents a service message about a new forum topic + * created in the chat. + */ +typedef struct telebot_forum_topic_created { + /** Name of the topic */ + char *name; + + /** Color of the topic icon in RGB format */ + int icon_color; + + /** Optional. Unique identifier of the custom emoji used as the topic icon */ + char *icon_custom_emoji_id; +} telebot_forum_topic_created_t; + +/** + * @brief This object represents a service message about a forum topic closed + * in the chat. + */ +typedef struct telebot_forum_topic_closed { + /** Empty struct as per Telegram API */ + bool dummy; +} telebot_forum_topic_closed_t; + +/** + * @brief This object represents a service message about a forum topic reopened + * in the chat. + */ +typedef struct telebot_forum_topic_reopened { + /** Empty struct as per Telegram API */ + bool dummy; +} telebot_forum_topic_reopened_t; + +/** + * @brief This object represents a service message about a video chat scheduled + * in the chat. + */ +typedef struct telebot_video_chat_scheduled { + /** Point in time (Unix timestamp) when the video chat is supposed to be started by a chat administrator */ + long start_date; +} telebot_video_chat_scheduled_t; + +/** + * @brief This object represents a service message about a video chat started + * in the chat. + */ +typedef struct telebot_video_chat_started { + /** Empty struct as per Telegram API */ + bool dummy; +} telebot_video_chat_started_t; + +/** + * @brief This object represents a service message about a video chat ended + * in the chat. + */ +typedef struct telebot_video_chat_ended { + /** Video chat duration in seconds */ + int duration; +} telebot_video_chat_ended_t; + +/** + * @brief This object represents a service message about new members invited to + * a video chat. + */ +typedef struct telebot_video_chat_participants_invited { + /** New members that were invited to the video chat */ + struct telebot_user *users; + int count_users; +} telebot_video_chat_participants_invited_t; + +/** + * @brief This object represents data sent by a Web App to the bot. + */ +typedef struct telebot_web_app_data { + /** The data. Be aware that a bad client can send arbitrary data in this field. */ + char *data; + + /** + * Text of the web_app keyboard button from which the Web App was opened. + * Be aware that a bad client can send arbitrary data in this field. + */ + char *button_text; +} telebot_web_app_data_t; + +/** + * @brief A placeholder, currently holds no information. Use BotFather to set up your game. + */ +typedef struct telebot_callback_game { + bool dummy; +} telebot_callback_game_t; + +/** + * @brief This object represents a parameter of the inline keyboard button used + * to automatically authorize a user. + */ +typedef struct telebot_login_url { + /** An HTTPS URL used to automatically authorize the user. */ + char *url; + + /** Optional. New text of the button in forwarded messages. */ + char *forward_text; + + /** Optional. Username of a bot, which will be used for user authorization. */ + char *bot_username; + + /** Optional. Pass True to request the permission for your bot to send messages to the user. */ + bool request_write_access; +} telebot_login_url_t; + +/** + * @brief This object represents an inline button that switches the current + * user to inline mode in a chosen chat. + */ +typedef struct telebot_switch_inline_query_chosen_chat { + /** Optional. The default inline query to be inserted in the input field. */ + char *query; + + /** Optional. True, if private chats with users can be chosen */ + bool allow_user_chats; + + /** Optional. True, if private chats with bots can be chosen */ + bool allow_bot_chats; + + /** Optional. True, if group and supergroup chats can be chosen */ + bool allow_group_chats; + + /** Optional. True, if channel chats can be chosen */ + bool allow_channel_chats; +} telebot_switch_inline_query_chosen_chat_t; + +/** + * @brief This object represents an inline keyboard button that copies + * specified text to the clipboard. + */ +typedef struct telebot_copy_text_button { + /** The text to be copied to the clipboard; 1-256 characters */ + char *text; +} telebot_copy_text_button_t; + +/** + * @brief This object represents one button of an inline keyboard. You must use + * exactly one of the optional fields. + */ +typedef struct telebot_inline_keyboard_button { + /** Label text on the button */ + char *text; + + /** Optional. HTTP or tg:// url to be opened when button is pressed */ + char *url; + + /** + * Optional. Data to be sent in a callback query to the bot when button is + * pressed, 1-64 bytes + */ + char *callback_data; + + /** + * Optional. Description of the Web App that will be launched when the user + * presses the button. + */ + struct telebot_web_app_info *web_app; + + /** + * Optional. An HTTPS URL used to automatically authorize the user. + */ + struct telebot_login_url *login_url; + + /** + * Optional. If set, pressing the button will prompt the user to select one + * of their chats, open that chat and insert the bot's username and the + * specified inline query in the input field. Can be empty, in which case + * just the bot's username will be inserted. + */ + char *switch_inline_query; + + /** + * Optional. If set, pressing the button will insert the bot's username and + * the specified inline query in the current chat's input field. Can be + * empty, in which case just the bot's username will be inserted. + */ + char *switch_inline_query_current_chat; + + /** + * Optional. If set, pressing the button will prompt the user to select one + * of their chats of the specified type. + */ + struct telebot_switch_inline_query_chosen_chat *switch_inline_query_chosen_chat; + + /** + * Optional. Description of the button that copies the specified text to the clipboard. + */ + struct telebot_copy_text_button *copy_text; + + /** + * Optional. Description of the game that will be launched when the user + * presses the button. + */ + struct telebot_callback_game *callback_game; + + /** + * Optional. Specify True, to send a Pay button. + * NOTE: This type of button must always be the first button in the first row. + */ + bool pay; +} telebot_inline_keyboard_button_t; + +/** + * @brief This object represents an inline keyboard that appears right next to + * the message it belongs to. + */ +typedef struct telebot_inline_keyboard_markup { + /** + * Array of button rows, each represented by an Array of + * InlineKeyboardButton objects + */ + telebot_inline_keyboard_button_t *inline_keyboard; + + /** Number of rows */ + int rows; + + /** Number of columns */ + int cols; +} telebot_inline_keyboard_markup_t; + +/** + * @brief This object represents a service message about a forum topic edited + * in the chat. + */ +typedef struct telebot_forum_topic_edited { + /** Optional. New name of the topic, if it was edited */ + char *name; + + /** Optional. New identifier of the custom emoji used as the topic icon, if it was edited */ + char *icon_custom_emoji_id; +} telebot_forum_topic_edited_t; + +/** + * @brief This object represents a service message about a general forum topic + * hidden in the chat. + */ +typedef struct telebot_general_forum_topic_hidden { + /** Empty struct as per Telegram API */ + bool dummy; +} telebot_general_forum_topic_hidden_t; + +/** + * @brief This object represents a service message about a general forum topic + * unhidden in the chat. + */ +typedef struct telebot_general_forum_topic_unhidden { + /** Empty struct as per Telegram API */ + bool dummy; +} telebot_general_forum_topic_unhidden_t; + +/** + * @brief This object represents a service message about a user allowing a bot + * to write messages after adding the bot to the attachment menu or launching + * a Web App from a link. + */ +typedef struct telebot_write_access_allowed { + /** Optional. Name of the Web App which was launched from a link */ + char *web_app_name; +} telebot_write_access_allowed_t; + +/** + * @brief This object contains information about the user whose identifier was + * shared with the bot using a KeyboardButtonRequestUser button. + */ +typedef struct telebot_user_shared { + /** Identifier of the request */ + int request_id; + + /** Identifier of the shared user. */ + long long int user_id; +} telebot_user_shared_t; + +/** + * @brief This object contains information about the chat whose identifier was + * shared with the bot using a KeyboardButtonRequestChat button. + */ +typedef struct telebot_chat_shared { + /** Identifier of the request */ + int request_id; + + /** Identifier of the shared chat. */ + long long int chat_id; +} telebot_chat_shared_t; + +/** + * @brief This object represents a chat invite link. + */ +typedef struct telebot_chat_invite_link { + /** The invite link. */ + char *invite_link; + + /** Creator of the link */ + struct telebot_user *creator; + + /** True, if users joining the chat via the link need to be approved by chat administrators */ + bool creates_join_request; + + /** True, if the link is primary */ + bool is_primary; + + /** True, if the link is revoked */ + bool is_revoked; + + /** Optional. Invite link name */ + char *name; + + /** Optional. Point in time (Unix timestamp) when the link will expire or has expired */ + long expire_date; + + /** Optional. The maximum number of users that can be members of the chat simultaneously after joining the chat via this invite link; 1-99999 */ + int member_limit; + + /** Optional. Number of pending join requests created using this link */ + int pending_join_request_count; +} telebot_chat_invite_link_t; + +/** + * @brief This object represents changes in the status of a chat member. + */ +typedef struct telebot_chat_member_updated { + /** Chat the user belongs to */ + struct telebot_chat *chat; + + /** Performer of the action, which resulted in the change */ + struct telebot_user *from; + + /** Date the change was effected in Unix time */ + long date; + + /** Previous information about the chat member */ + struct telebot_chat_member *old_chat_member; + + /** New information about the chat member */ + struct telebot_chat_member *new_chat_member; + + /** Optional. Chat invite link, which was used by the user to join the chat; for joining by invite link events only. */ + struct telebot_chat_invite_link *invite_link; + + /** Optional. True, if the user joined the chat via a chat folder invite link */ + bool via_chat_folder_invite_link; +} telebot_chat_member_updated_t; + +/** + * @brief This object represents a join request sent to a chat. + */ +typedef struct telebot_chat_join_request { + /** Chat to which the request was sent */ + struct telebot_chat *chat; + + /** User that sent the join request */ + struct telebot_user *from; + + /** Identifier of a private chat with the user who sent the join request. */ + long long int user_chat_id; + + /** Date the request was sent in Unix time */ + long date; + + /** Optional. Bio of the user. */ + char *bio; + + /** Optional. Chat invite link that was used by the user to send the join request */ + struct telebot_chat_invite_link *invite_link; +} telebot_chat_join_request_t; + +/** + * @brief This object represents a change of a reaction on a message performed + * by a user. + */ +typedef struct telebot_message_reaction_updated { + /** The chat where the reaction was changed */ + struct telebot_chat *chat; + + /** Unique identifier of the message inside the chat */ + int message_id; + + /** Optional. The user that changed the reaction, if the reaction was changed on behalf of a user */ + struct telebot_user *user; + + /** Optional. The chat on behalf of which the reaction was changed, if the reaction was changed on behalf of a chat */ + struct telebot_chat *actor_chat; + + /** Date of the change in Unix time */ + long date; + + /** List of reaction types that were set by the user */ + struct telebot_reaction_type *old_reaction; + int count_old_reaction; + + /** List of reaction types that are set by the user */ + struct telebot_reaction_type *new_reaction; + int count_new_reaction; +} telebot_message_reaction_updated_t; + +/** + * @brief This object represents reaction changes on a message with anonymous + * reactions. + */ +typedef struct telebot_message_reaction_count_updated { + /** The chat where the reactions were changed */ + struct telebot_chat *chat; + + /** Unique identifier of the message inside the chat */ + int message_id; + + /** Date of the change in Unix time */ + long date; + + /** List of reactions that are present on the message */ + struct telebot_reaction_count *reactions; + int count_reactions; +} telebot_message_reaction_count_updated_t; + +/** + * @brief This object represents a reaction type. + */ +typedef struct telebot_reaction_type { + /** Type of the reaction, currently can be "emoji" or "custom_emoji" */ + char *type; + + /** Optional. Reaction emoji. */ + char *emoji; + + /** Optional. Custom emoji identifier. */ + char *custom_emoji_id; +} telebot_reaction_type_t; + +/** + * @brief This object represents a reaction count. + */ +typedef struct telebot_reaction_count { + /** Type of the reaction */ + struct telebot_reaction_type type; + + /** Number of times the reaction was added */ + int total_count; +} telebot_reaction_count_t; + +/** + * @brief This object represents a boost added to a chat. + */ +typedef struct telebot_chat_boost_updated { + /** Chat which was boosted */ + struct telebot_chat *chat; + + /** Information about the boost */ + struct telebot_chat_boost *boost; +} telebot_chat_boost_updated_t; + +/** + * @brief This object contains information about a chat boost. + */ +typedef struct telebot_chat_boost { + /** Unique identifier of the boost */ + char *boost_id; + + /** Point in time (Unix timestamp) when the chat was boosted */ + long add_date; + + /** Point in time (Unix timestamp) when the boost will automatically expire, unless the booster's Telegram Premium subscription is prolonged */ + long expiration_date; + + /** Source of the added boost */ + struct telebot_chat_boost_source *source; +} telebot_chat_boost_t; + +/** + * @brief This object represents the source of a chat boost. + */ +typedef struct telebot_chat_boost_source { + /** Source of the boost, one of "premium", "gift_code", "giveaway" */ + char *source; + + /** Optional. User that boosted the chat */ + struct telebot_user *user; +} telebot_chat_boost_source_t; + +/** + * @brief This object represents a boost removed from a chat. + */ +typedef struct telebot_chat_boost_removed { + /** Chat from which the boost was removed */ + struct telebot_chat *chat; + + /** Unique identifier of the boost */ + char *boost_id; + + /** Point in time (Unix timestamp) when the boost was removed */ + long remove_date; + + /** Source of the removed boost */ + struct telebot_chat_boost_source *source; +} telebot_chat_boost_removed_t; + +/** + * @brief This object describes the origin of a message. + */ +typedef struct telebot_message_origin { + /** Type of the message origin, can be "user", "hidden_user", "chat", "channel" */ + char *type; + + /** Date the message was sent originally in Unix time */ + long date; + + /** Optional. User that sent the message originally */ + struct telebot_user *sender_user; + + /** Optional. Name of the user that sent the message originally */ + char *sender_user_name; + + /** Optional. Chat that sent the message originally */ + struct telebot_chat *sender_chat; + + /** Optional. For messages originally sent by an anonymous chat administrator, original message author signature */ + char *author_signature; + + /** Optional. Unique message identifier inside the chat */ + int message_id; +} telebot_message_origin_t; + +/** + * @brief This object contains information about the quoted part of a message + * that is replied to by the given message. + */ +typedef struct telebot_text_quote { + /** Text of the quoted part of a message */ + char *text; + + /** Optional. Special entities that appear in the quote. */ + struct telebot_message_entity *entities; + int count_entities; + + /** Approximate quote position in the original message */ + int position; + + /** Optional. True, if the quote was chosen manually by the message sender. */ + bool is_manual; +} telebot_text_quote_t; + +/** + * @brief This object contains information about a story. + */ +typedef struct telebot_story { + /** Chat that posted the story */ + struct telebot_chat *chat; + + /** Unique identifier for the story in the chat */ + int id; +} telebot_story_t; + +/** + * @brief This object contains information about the message that is being + * replied to, which may come from another chat or forum topic. + */ +typedef struct telebot_external_reply_info { + /** Origin of the message replied to by the given message */ + struct telebot_message_origin origin; + + /** Optional. Chat the original message belongs to. */ + struct telebot_chat *chat; + + /** Optional. Unique message identifier inside the original chat. */ + int message_id; + + /** Optional. Options used for link preview generation for the original message */ + struct telebot_link_preview_options *link_preview_options; + + /** Optional. Message is an animation, information about the animation */ + struct telebot_animation *animation; + + /** Optional. Message is an audio file, information about the file */ + struct telebot_audio *audio; + + /** Optional. Message is a general file, information about the file */ + struct telebot_document *document; + + /** Optional. Message contains paid media; information about the paid media */ + struct telebot_paid_media_info *paid_media; + + /** Optional. Message is a photo, available sizes of the photo */ + struct telebot_photo *photos; + int count_photos; + + /** Optional. Message is a sticker, information about the sticker */ + struct telebot_sticker *sticker; + + /** Optional. Message is a forwarded story */ + struct telebot_story *story; + + /** Optional. Message is a video, information about the video */ + struct telebot_video *video; + + /** Optional. Message is a video note, information about the video message */ + struct telebot_video_note *video_note; + + /** Optional. Message is a voice message, information about the file */ + struct telebot_voice *voice; + + /** Optional. True, if the message media is covered by a spoiler animation */ + bool has_media_spoiler; + + /** Optional. Message is a shared contact, information about the contact */ + struct telebot_contact *contact; + + /** Optional. Message is a dice with random value */ + struct telebot_dice *dice; + + /** Optional. Message is a game, information about the game. */ + struct telebot_game *game; + + /** Optional. Message is a giveaway, information about the giveaway */ + struct telebot_giveaway *giveaway; + + /** Optional. A giveaway with public winners was completed */ + struct telebot_giveaway_winners *giveaway_winners; + + /** Optional. Message is an invoice for a payment, information about the invoice. */ + struct telebot_invoice *invoice; + + /** Optional. Message is a shared location, information about the location */ + struct telebot_location *location; + + /** Optional. Message is a native poll, information about the poll */ + struct telebot_poll *poll; + + /** Optional. Message is a venue, information about the venue */ + struct telebot_venue *venue; +} telebot_external_reply_info_t; + +/** + * @brief Describes the options used for link preview generation. + */ +typedef struct telebot_link_preview_options { + /** Optional. True, if the link preview is disabled */ + bool is_disabled; + + /** Optional. URL to use for the link preview. */ + char *url; + + /** Optional. True, if the media in the link preview is supposed to be shrunk */ + bool prefer_small_media; + + /** Optional. True, if the media in the link preview is supposed to be enlarged */ + bool prefer_large_media; + + /** Optional. True, if the link preview must be shown above the message text */ + bool show_above_text; +} telebot_link_preview_options_t; + +/** + * @brief This object describes paid media. + */ +typedef struct telebot_paid_media { + /** Type of the paid media, can be "preview", "photo", "video" */ + char *type; + + /** Optional. Media width as defined by the sender */ + int width; + + /** Optional. Media height as defined by the sender */ + int height; + + /** Optional. Duration of the media in seconds as defined by the sender */ + int duration; + + /** Optional. The photo */ + struct telebot_photo *photos; + int count_photos; + + /** Optional. The video */ + struct telebot_video *video; +} telebot_paid_media_t; + +/** + * @brief Describes the paid media added to a message. + */ +typedef struct telebot_paid_media_info { + /** The number of Telegram Stars that must be paid to buy access to the media */ + int star_count; + + /** Information about the paid media */ + struct telebot_paid_media *paid_media; + int count_paid_media; +} telebot_paid_media_info_t; + +/** + * @brief This object represents a message about a scheduled giveaway. + */ +typedef struct telebot_giveaway { + /** The list of chats which the user must join to participate in the giveaway */ + struct telebot_chat *chats; + int count_chats; + + /** Point in time (Unix timestamp) when winners of the giveaway will be selected */ + long winners_selection_date; + + /** The number of users which are supposed to be selected as winners of the giveaway */ + int winner_count; + + /** Optional. True, if only users who join the chats after the giveaway started should be eligible to win */ + bool only_new_members; + + /** Optional. True, if the list of giveaway winners will be visible to everyone */ + bool has_public_winners; + + /** Optional. Description of additional giveaway prize */ + char *prize_description; + + /** Optional. A list of two-letter ISO 3166-1 alpha-2 country codes */ + char **country_codes; + int count_country_codes; + + /** Optional. The number of Telegram Stars to be split between giveaway winners */ + int prize_star_count; + + /** Optional. The number of months the Telegram Premium subscription won from the giveaway will be active for */ + int premium_subscription_month_count; +} telebot_giveaway_t; + +/** + * @brief This object represents a message about the completion of a giveaway + * with public winners. + */ +typedef struct telebot_giveaway_winners { + /** The chat that created the giveaway */ + struct telebot_chat *chat; + + /** Identifier of the message with the giveaway in the chat */ + int giveaway_message_id; + + /** Point in time (Unix timestamp) when winners of the giveaway were selected */ + long winners_selection_date; + + /** Total number of winners in the giveaway */ + int winner_count; + + /** List of winners of the giveaway */ + struct telebot_user *winners; + int count_winners; + + /** Optional. The number of other chats the user had to join in order to be eligible for the giveaway */ + int additional_chat_count; + + /** Optional. The number of Telegram Stars that were split between giveaway winners */ + int prize_star_count; + + /** Optional. The number of months the Telegram Premium subscription won from the giveaway will be active for */ + int premium_subscription_month_count; + + /** Optional. Number of undistributed prizes */ + int unclaimed_prize_count; + + /** Optional. True, if only users who had joined the chats after the giveaway started were eligible to win */ + bool only_new_members; + + /** Optional. True, if the giveaway was canceled because the payment for it was refunded */ + bool was_refunded; + + /** Optional. Description of additional giveaway prize */ + char *prize_description; +} telebot_giveaway_winners_t; + +/** + * @brief This object represents a service message about a refunded payment. + */ +typedef struct telebot_refunded_payment { + /** Three-letter ISO 4217 currency code */ + char *currency; + + /** Total amount in the smallest units of the currency */ + int total_amount; + + /** Bot specified invoice payload */ + char *invoice_payload; + + /** Telegram payment identifier */ + char *telegram_payment_charge_id; + + /** Optional. Provider payment identifier */ + char *provider_payment_charge_id; +} telebot_refunded_payment_t; + +/** + * @brief This object contains information about the users whose identifiers + * were shared with the bot using a KeyboardButtonRequestUsers button. + */ +typedef struct telebot_users_shared { + /** Identifier of the request */ + int request_id; + + /** Information about users shared with the bot. */ + struct telebot_shared_user *users; + int count_users; +} telebot_users_shared_t; + +/** + * @brief This object contains information about a user that was shared with + * the bot. + */ +typedef struct telebot_shared_user { + /** Identifier of the shared user. */ + long long int user_id; + + /** Optional. First name of the user */ + char *first_name; + + /** Optional. Last name of the user */ + char *last_name; + + /** Optional. Username of the user */ + char *username; + + /** Optional. Available sizes of the chat photo */ + struct telebot_photo *photo; + int count_photo; +} telebot_shared_user_t; + +/** + * @brief This object represents a gift that can be sent by the bot. + */ +typedef struct telebot_gift { + /** Unique identifier of the gift */ + char *id; + + /** The sticker that represents the gift */ + struct telebot_sticker *sticker; + + /** The number of Telegram Stars that must be paid to send the sticker */ + int star_count; + + /** Optional. The number of Telegram Stars that must be paid to upgrade the gift */ + int upgrade_star_count; + + /** Optional. True, if the gift can only be purchased by Telegram Premium subscribers */ + bool is_premium; + + /** Optional. True, if the gift can be used (after being upgraded) to customize a user's appearance */ + bool has_colors; + + /** Optional. The total number of gifts of this type that can be sent */ + int total_count; + + /** Optional. The number of remaining gifts */ + int remaining_count; +} telebot_gift_t; + +/** + * @brief Describes a regular gift that was sent or received. + */ +typedef struct telebot_gift_info { + /** Information about the gift */ + struct telebot_gift gift; + + /** Optional. Message text added to the gift */ + char *text; + + /** Optional. Special entities that appear in the text */ + struct telebot_message_entity *entities; + int count_entities; + + /** Optional. True, if the sender and gift text are shown only to the receiver */ + bool is_private; +} telebot_gift_info_t; + +/** + * @brief Describes a unique gift that was sent or received. + */ +typedef struct telebot_unique_gift_info { + /** Information about the gift */ + struct telebot_unique_gift *gift; + + /** Origin of the gift */ + char *origin; + + /** Optional. Currency in which the payment for the gift was done */ + char *last_resale_currency; + + /** Optional. Price paid for the gift */ + long long int last_resale_amount; +} telebot_unique_gift_info_t; + +/** + * @brief This object describes a unique gift that was upgraded from a regular gift. + */ +typedef struct telebot_unique_gift { + /** Identifier of the regular gift */ + char *gift_id; + + /** Unique name of the gift */ + char *name; + + /** Unique number of the upgraded gift */ + int number; + + /** Optional. Model of the gift */ + struct telebot_sticker *sticker; +} telebot_unique_gift_t; + +/** + * @brief This object represents a service message about a user boosting a chat. + */ +typedef struct telebot_chat_boost_added { + /** Number of boosts added by the user */ + int boost_count; +} telebot_chat_boost_added_t; + +/** + * @brief This object represents a chat background. + */ +typedef struct telebot_chat_background { + /** Type of the background */ + char *type; +} telebot_chat_background_t; + +/** + * @brief This object represents a service message about the creation of a scheduled giveaway. + */ +typedef struct telebot_giveaway_created { + /** Optional. The number of Telegram Stars to be split between giveaway winners */ + int prize_star_count; +} telebot_giveaway_created_t; + +/** + * @brief This object represents a service message about the completion of a giveaway + * without public winners. + */ +typedef struct telebot_giveaway_completed { + /** Number of winners in the giveaway */ + int winner_count; + + /** Optional. Number of undistributed prizes */ + int unclaimed_prize_count; + + /** Optional. Message with the giveaway that was completed */ + struct telebot_message *giveaway_message; + + /** Optional. True, if the giveaway is a Telegram Star giveaway */ + bool is_star_giveaway; +} telebot_giveaway_completed_t; + +/** + * @brief Describes an amount of Telegram Stars. + */ +typedef struct telebot_star_amount { + /** Integer amount of Telegram Stars, rounded to 0; can be negative */ + int amount; + + /** Optional. The number of 1/1000000000 shares of Telegram Stars */ + int nanostar_amount; +} telebot_star_amount_t; + +/** + * @brief Contains information about the affiliate that received a commission. + */ +typedef struct telebot_affiliate_info { + /** Optional. The bot or the user that received an affiliate commission */ + struct telebot_user *affiliate_user; + + /** Optional. The chat that received an affiliate commission */ + struct telebot_chat *affiliate_chat; + + /** The number of Telegram Stars received by the affiliate for each 1000 Stars */ + int commission_per_mille; + + /** Integer amount of Telegram Stars received by the affiliate */ + int amount; + + /** Optional. The number of 1/1000000000 shares of Telegram Stars */ + int nanostar_amount; +} telebot_affiliate_info_t; + +/** + * @brief This object describes the state of a revenue withdrawal operation. + */ +typedef struct telebot_revenue_withdrawal_state { + /** Type of the state, currently one of "pending", "succeeded", "failed" */ + char *type; + + /** Optional. Date the withdrawal was completed in Unix time */ + long date; + + /** Optional. An HTTPS URL that can be used to see transaction details */ + char *url; +} telebot_revenue_withdrawal_state_t; + +/** + * @brief This object describes the source of a transaction. + */ +typedef struct telebot_transaction_partner { + /** Type of the transaction partner */ + char *type; + + /** Optional. Type of the transaction */ + char *transaction_type; + + /** Optional. Information about the user */ + struct telebot_user *user; + + /** Optional. Information about the chat */ + struct telebot_chat *chat; + + /** Optional. Information about the affiliate */ + struct telebot_affiliate_info *affiliate; + + /** Optional. Bot-specified invoice payload */ + char *invoice_payload; + + /** Optional. The duration of the paid subscription */ + int subscription_period; + + /** Optional. Information about the paid media bought by the user */ + struct telebot_paid_media *paid_media; + int count_paid_media; + + /** Optional. Bot-specified paid media payload */ + char *paid_media_payload; + + /** Optional. The gift sent to the user by the bot */ + struct telebot_gift *gift; + + /** Optional. Number of months the gifted Telegram Premium subscription will be active for */ + int premium_subscription_duration; + + /** Optional. State of the transaction if the transaction is outgoing */ + struct telebot_revenue_withdrawal_state *withdrawal_state; + + /** Optional. Information about the bot that sponsored the affiliate program */ + struct telebot_user *sponsor_user; + + /** Optional. The number of Telegram Stars received by the bot for each 1000 Stars */ + int commission_per_mille; + + /** Optional. The number of successful requests that exceeded regular limits */ + int request_count; +} telebot_transaction_partner_t; + +/** + * @brief Describes a Telegram Star transaction. + */ +typedef struct telebot_star_transaction { + /** Unique identifier of the transaction. */ + char *id; + + /** Integer amount of Telegram Stars transferred by the transaction */ + int amount; + + /** Optional. The number of 1/1000000000 shares of Telegram Stars */ + int nanostar_amount; + + /** Date the transaction was created in Unix time */ + long date; + + /** Optional. Source of an incoming transaction */ + struct telebot_transaction_partner *source; + + /** Optional. Receiver of an outgoing transaction */ + struct telebot_transaction_partner *receiver; +} telebot_star_transaction_t; + +/** + * @brief Contains a list of Telegram Star transactions. + */ +typedef struct telebot_star_transactions { + /** The list of transactions */ + struct telebot_star_transaction *transactions; + int count_transactions; +} telebot_star_transactions_t; + +/** + * @brief This object contains information about a paid media purchase. + */ +typedef struct telebot_paid_media_purchased { + /** User who purchased the media */ + struct telebot_user *from; + + /** Bot-specified paid media payload */ + char *paid_media_payload; +} telebot_paid_media_purchased_t; - /** Optional. Pinned message, for supergroups. Returned only in getChat. */ - struct telebot_message *pinned_message; +/** + * @brief This object represents an error in the Telegram Passport element. + */ +typedef struct telebot_passport_element_error { + /** Error source */ + char *source; - /** - * Optional. Default chat member permissions, for groups and supergroups. - * Returned only in getChat. - */ - struct telebot_chat_permissions *permissions; + /** The section of the user's Telegram Passport which has the error */ + char *type; - /** - * Optional. For supergroups, the minimum allowed delay between consecutive - * messages sent by each unpriviledged user. Returned only in getChat. - */ - int slow_mode_delay; + /** Name of the data field which has the error */ + char *field_name; - /** - * Optional. The time after which all messages sent to the chat will be - * automatically deleted; in seconds. Returned only in getChat. - */ - int message_auto_delete_time; + /** Base64-encoded data hash */ + char *data_hash; - /** - * Optional. True, if messages from the chat can't be forwarded to other chats. - * Returned only in getChat. - */ - bool has_protected_content; + /** Error message */ + char *message; - /** - * Optional. For supergroups, name of group sticker set. - * Returned only in getChat. - */ - char *sticker_set_name; + /** Base64-encoded file hash */ + char *file_hash; - /** - * Optional. True, if the bot can change the group sticker set. - * Returned only in getChat. - */ - bool can_set_sticker_set; + /** List of base64-encoded file hashes */ + char **file_hashes; + int count_file_hashes; - /** - * Optional. Unique identifier for the linked chat, i.e. the discussion - * group identifier for a channel and vice versa; for supergroups and - * channel chats. Returned only in getChat. - */ - long long int linked_chat_id; + /** Base64-encoded element hash */ + char *element_hash; +} telebot_passport_element_error_t; - /** - * Optional. For supergroups, the location to which the supergroup is connected. - * Returned only in getChat. - */ - struct telebot_chat_location *location; -} telebot_chat_t; +/** + * @brief This object represents a game high score row. + */ +typedef struct telebot_game_high_score { + /** Position in high score table for the game */ + int position; + + /** User */ + struct telebot_user *user; + /** Score */ + int score; +} telebot_game_high_score_t; /** * @brief This object represents a message. @@ -256,12 +1797,24 @@ typedef struct telebot_message { */ struct telebot_chat *sender_chat; + /** Optional. If the sender of the message boosted the chat, the number of boosts */ + int sender_boost_count; + + /** Optional. The bot that actually sent the message on behalf of the business account. */ + struct telebot_user *sender_business_bot; + + /** Optional. Unique identifier of the business connection */ + char *business_connection_id; + /** Date the message was sent in Unix time */ long date; /** Conversation the message belongs to */ struct telebot_chat *chat; + /** Optional. Information about the original message for forwarded messages */ + struct telebot_message_origin *forward_origin; + /** Optional. For forwarded messages, sender of the original message */ struct telebot_user *forward_from; @@ -311,6 +1864,15 @@ typedef struct telebot_message { */ struct telebot_message *reply_to_message; + /** Optional. Information about the message that is being replied to */ + struct telebot_external_reply_info *external_reply; + + /** Optional. For replies that quote part of the original message, the quoted part */ + struct telebot_text_quote *quote; + + /** Optional. For replies to a story, the original story */ + struct telebot_story *reply_to_story; + /** Optional. Bot through which the message was sent */ struct telebot_user *via_bot; @@ -320,6 +1882,9 @@ typedef struct telebot_message { /** Optional. True, if the message can't be forwarded */ bool has_protected_content; + /** Optional. True, if the message is a paid post */ + bool is_paid_post; + /** * Optional. The unique identifier of a media message group this message * belongs to @@ -339,6 +1904,12 @@ typedef struct telebot_message { struct telebot_message_entity *entities; int count_entities; + /** Optional. Options used for link preview generation for the message */ + struct telebot_link_preview_options *link_preview_options; + + /** Optional. Unique identifier of the message effect added to the message */ + char *effect_id; + /** * Optional. Message is an animation, information about the animation. * For backward compatibility, when this field is set, the document field @@ -352,6 +1923,9 @@ typedef struct telebot_message { /** Optional. Message is a general file, information about the file */ struct telebot_document *document; + /** Optional. Message contains paid media; information about the paid media */ + struct telebot_paid_media_info *paid_media; + /** Optional. Message is a photo, available sizes of the photo */ struct telebot_photo *photos; int count_photos; @@ -378,6 +1952,9 @@ typedef struct telebot_message { struct telebot_message_entity *caption_entities; int count_caption_entities; + /** Optional. True, if the caption must be shown above the message media */ + bool show_caption_above_media; + /** Optional. Message is a shared contact, information about the contact */ struct telebot_contact *contact; @@ -385,7 +1962,7 @@ typedef struct telebot_message { struct telebot_dice *dice; /** Optional. Message is a game, information about the game. */ - struct telebot_game *game; //TODO:define type + struct telebot_game *game; /** Optional. Message is a native poll, information about the poll */ struct telebot_poll *poll; @@ -455,55 +2032,97 @@ typedef struct telebot_message { * Optional. Message is an invoice for a payment, information about the * invoice. */ - struct telebot_invoice *invoice; //TODO:define type + struct telebot_invoice *invoice; /** * Optional. Message is a service message about a successful payment, * information about the payment. */ - struct telebot_successful_payment *successful_payment; //TODO:define type + struct telebot_successful_payment *successful_payment; + + /** Optional. Message is a service message about a refunded payment */ + struct telebot_refunded_payment *refunded_payment; + + /** Optional. Service message: the user allowed the bot to write messages */ + struct telebot_write_access_allowed *write_access_allowed; /** Optional. The domain name of the website on which the user has logged in.*/ char *connected_website; /** Telegram Passport data */ - struct telebot_passport_data *passport_data; //TODO:define type + struct telebot_passport_data *passport_data; /** * Optional. Service message. A user in the chat triggered another user's * proximity alert while sharing Live Location. */ - struct telebot_proximity_alert_triggered *proximity_alert_triggered; //TODO:define type + struct telebot_proximity_alert_triggered *proximity_alert_triggered; /** Optional. Service message: forum topic created. */ - struct telebot_forum_topic_created *forum_topic_created; //TODO:define type + struct telebot_forum_topic_created *forum_topic_created; + + /** Optional. Service message: forum topic edited. */ + struct telebot_forum_topic_edited *forum_topic_edited; /** Optional. Service message: forum topic closed. */ - struct telebot_forum_topic_closed *forum_topic_closed; //TODO:define type + struct telebot_forum_topic_closed *forum_topic_closed; /** Optional. Service message: forum topic reopened. */ - struct telebot_forum_topic_reopened *forum_topic_reopened; //TODO:define type + struct telebot_forum_topic_reopened *forum_topic_reopened; + + /** Optional. Service message: general forum topic hidden. */ + struct telebot_general_forum_topic_hidden *general_forum_topic_hidden; + + /** Optional. Service message: general forum topic unhidden. */ + struct telebot_general_forum_topic_unhidden *general_forum_topic_unhidden; /** Optional. Service message: video chat scheduled. */ - struct telebot_video_chat_scheduled *video_chat_scheduled; //TODO:define type + struct telebot_video_chat_scheduled *video_chat_scheduled; /** Optional. Service message: video chat started. */ - struct telebot_video_chat_started *video_chat_started; //TODO:define type + struct telebot_video_chat_started *video_chat_started; /** Optional. Service message: video chat ended. */ - struct telebot_video_chat_ended *video_chat_ended; //TODO:define type + struct telebot_video_chat_ended *video_chat_ended; /** Optional. Service message: new participants invited to a video chat. */ - struct telebot_video_chat_participants_invited *video_chat_participants_invited; //TODO:define type + struct telebot_video_chat_participants_invited *video_chat_participants_invited; /** Optional. Service message: data sent by a Web App. */ - struct telebot_web_app_data *web_app_data; //TODO:define type + struct telebot_web_app_data *web_app_data; + + /** Optional. Service message: users were shared with the bot */ + struct telebot_users_shared *users_shared; + + /** Optional. Service message: a chat was shared with the bot */ + struct telebot_chat_shared *chat_shared; + + /** Optional. Service message: a regular gift was sent or received */ + struct telebot_gift_info *gift; + + /** Optional. Service message: a unique gift was sent or received */ + struct telebot_unique_gift_info *unique_gift; + + /** Optional. Service message: user boosted the chat */ + struct telebot_chat_boost_added *boost_added; + + /** Optional. Service message: chat background set */ + struct telebot_chat_background *chat_background_set; + + /** Optional. Service message: giveaway created */ + struct telebot_giveaway_created *giveaway_created; + + /** Optional. Service message: giveaway completed */ + struct telebot_giveaway_completed *giveaway_completed; + + /** Optional. True, if the message media is covered by a spoiler animation */ + bool has_media_spoiler; /** * Inline keyboard attached to the message. login_url buttons are * represented as ordinary url buttons. */ - struct inline_keyboard_markup *reply_markup; //TODO:define type + struct telebot_inline_keyboard_markup *reply_markup; } telebot_message_t; /** @@ -597,6 +2216,83 @@ typedef struct telebot_audio { struct telebot_photo *thumb; } telebot_audio_t; +/** + * @brief This object represent a list of gifts. + */ +typedef struct telebot_gifts { + /** The list of gifts */ + telebot_gift_t *gifts; + /** Number of gifts */ + int count; +} telebot_gifts_t; + +/** + * @brief This object represents a list of user profile audios. + */ +typedef struct telebot_user_profile_audios { + /** Total number of audios in the list */ + int total_count; + /** The list of audios */ + telebot_audio_t *audios; + /** Number of audios in the list */ + int count; +} telebot_user_profile_audios_t; + +/** + * @brief This object represents a gift received by a user. + */ +typedef struct telebot_user_gift { + /** Unique identifier of the gift */ + char *gift_id; + + /** Optional. The user that sent the gift */ + struct telebot_user *sender_user; + + /** Optional. Message text added to the gift */ + char *text; + + /** Optional. Special entities that appear in the text */ + struct telebot_message_entity *entities; + /** Number of entities */ + int count_entities; + + /** Information about the gift */ + telebot_gift_t *gift; + + /** Date the gift was sent */ + long date; + + /** Optional. Message identifier of the message with the gift */ + int message_id; + + /** Optional. The number of Telegram Stars that must be paid to upgrade the gift */ + int upgrade_star_count; + + /** Optional. True, if the gift is upgraded */ + bool is_upgraded; +} telebot_user_gift_t; + +/** + * @brief This object represents a list of gifts received by a user. + */ +typedef struct telebot_user_gifts { + /** Total number of gifts in the list */ + int total_count; + /** The list of gifts */ + telebot_user_gift_t *gifts; + /** Number of gifts in the list */ + int count; +} telebot_user_gifts_t; + +/** + * @brief This object represents a list of user chat boosts. + */ +typedef struct telebot_user_chat_boosts { + /** The list of boosts */ + telebot_chat_boost_t *boosts; + /** Number of boosts */ + int count; +} telebot_user_chat_boosts_t; /** * @brief This object represents a general file (as opposed to photos, voice @@ -934,6 +2630,78 @@ typedef struct telebot_keyboard_button_poll_type { char *type; } telebot_keyboard_button_poll_type_t; +/** + * @brief This object defines the criteria used to request suitable users. + */ +typedef struct telebot_keyboard_button_request_users { + /** Identifier of the request */ + int request_id; + + /** Optional. Pass True to request bots, pass False to request regular users. */ + bool user_is_bot; + + /** Optional. Pass True to request premium users, pass False to request non-premium users. */ + bool user_is_premium; + + /** Optional. The maximum number of users to be selected; 1-10. */ + int max_quantity; + + /** Optional. Pass True to request the users' first and last names */ + bool request_name; + + /** Optional. Pass True to request the users' usernames */ + bool request_username; + + /** Optional. Pass True to request the users' photos */ + bool request_photo; +} telebot_keyboard_button_request_users_t; + +/** + * @brief This object defines the criteria used to request a suitable chat. + */ +typedef struct telebot_keyboard_button_request_chat { + /** Identifier of the request */ + int request_id; + + /** Pass True to request a channel chat, pass False to request a group or a supergroup chat. */ + bool chat_is_channel; + + /** Optional. Pass True to request a forum supergroup, pass False to request a non-forum chat. */ + bool chat_is_forum; + + /** Optional. Pass True to request a supergroup or a channel with a username, pass False to request a chat without a username. */ + bool chat_has_username; + + /** Optional. Pass True to request a chat owned by the user. */ + bool chat_is_created; + + /** Optional. A JSON-serialized object listing the required administrator rights of the user in the chat. */ + struct telebot_chat_administrator_rights *user_administrator_rights; + + /** Optional. A JSON-serialized object listing the required administrator rights of the bot in the chat. */ + struct telebot_chat_administrator_rights *bot_administrator_rights; + + /** Optional. Pass True to request a chat with the bot as a member. */ + bool bot_is_member; + + /** Optional. Pass True to request the chat's title */ + bool request_title; + + /** Optional. Pass True to request the chat's username */ + bool request_username; + + /** Optional. Pass True to request the chat's photo */ + bool request_photo; +} telebot_keyboard_button_request_chat_t; + +/** + * @brief Describes a Web App. + */ +typedef struct telebot_web_app_info { + /** An HTTPS URL of a Web App to be opened */ + char *url; +} telebot_web_app_info_t; + /** * @brief This object represents one button of the reply keyboard. For simple * text buttons String can be used instead of this object to specify text of @@ -947,6 +2715,20 @@ typedef struct telebot_keyboard_button { */ char *text; + /** + * Optional. If specified, pressing the button will open a list of suitable + * users. Identifiers of selected users will be sent to the bot in a + * "users_shared" service message. Available in private chats only. + */ + struct telebot_keyboard_button_request_users *request_users; + + /** + * Optional. If specified, pressing the button will open a list of suitable + * chats. Tapping on a chat will send its identifier to the bot in a + * "chat_shared" service message. Available in private chats only. + */ + struct telebot_keyboard_button_request_chat *request_chat; + /** * Optional. If True, the user's phone number will be sent as a contact * when the button is pressed. Available in private chats only. @@ -963,6 +2745,13 @@ typedef struct telebot_keyboard_button { * it to the bot when the button is pressed. Available in private chats only */ telebot_keyboard_button_poll_type_t *request_poll; + + /** + * Optional. If specified, the described Web App will be launched when the + * button is pressed. The Web App will be able to send a "web_app_data" + * service message. Available in private chats only. + */ + struct telebot_web_app_info *web_app; } telebot_keyboard_button_t; /** @@ -981,6 +2770,12 @@ typedef struct telebot_reply_keyboard_markup { /* Number of keyboard columns */ int keyboard_cols; + /** + * Optional. Requests clients to always show the keyboard when the regular + * keyboard is hidden. Defaults to false. + */ + bool is_persistent; + /** * Optional. Requests clients to resize the keyboard vertically for optimal * fit (e.g., make the keyboard smaller if there are just two rows of buttons). @@ -1329,6 +3124,204 @@ typedef struct telebot_response_paramters { int retry_after; } telebot_response_paramters_t; +/** + * @brief This object represents an incoming inline query. When the user sends + * an empty query, your bot could return some default or trending results. + */ +typedef struct telebot_inline_query { + /** Unique identifier for this query */ + char *id; + + /** Sender */ + struct telebot_user *from; + + /** Text of the query (up to 256 characters) */ + char *query; + + /** Offset of the results to be returned, can be controlled by the bot */ + char *offset; + + /** Optional. Type of the chat from which the inline query was sent */ + char *chat_type; + + /** Optional. Sender location, only for bots that request user location */ + struct telebot_location *location; +} telebot_inline_query_t; + +/** + * @brief Represents a result of an inline query that was chosen by the user + * and sent to their chat partner. + */ +typedef struct telebot_chosen_inline_result { + /** The unique identifier for the result that was chosen */ + char *result_id; + + /** The user who chose the result */ + struct telebot_user *from; + + /** Optional. Sender location, only for bots that request user location */ + struct telebot_location *location; + + /** + * Optional. Identifier of the sent inline message. Available only if there + * is an inline keyboard attached to the message. Will be also received in + * callback queries and can be used to edit the message. + */ + char *inline_message_id; + + /** The query that was used to obtain the result */ + char *query; +} telebot_chosen_inline_result_t; + +/** + * @brief This object contains information about an incoming shipping query. + */ +typedef struct telebot_shipping_query { + /** Unique query identifier */ + char *id; + + /** User who sent the query */ + struct telebot_user *from; + + /** Bot specified invoice payload */ + char *invoice_payload; + + /** User specified shipping address */ + struct telebot_shipping_address *shipping_address; +} telebot_shipping_query_t; + +/** + * @brief This object contains information about an incoming pre-checkout query. + */ +typedef struct telebot_pre_checkout_query { + /** Unique query identifier */ + char *id; + + /** User who sent the query */ + struct telebot_user *from; + + /** Three-letter ISO 4217 currency code */ + char *currency; + + /** + * Total amount in the smallest units of the currency (integer, not + * float/double). + */ + int total_amount; + + /** Bot specified invoice payload */ + char *invoice_payload; + + /** Optional. Identifier of the shipping option chosen by the user */ + char *shipping_option_id; + + /** Optional. Order info provided by the user */ + struct telebot_order_info *order_info; +} telebot_pre_checkout_query_t; + +/** + * @brief This object describes the position on faces where a mask should be + * placed by default. + */ +typedef struct telebot_mask_position { + /** + * The part of the face relative to which the mask should be placed. + * One of "forehead", "eyes", "mouth", or "chin". + */ + char *point; + + /** + * Shift by X-axis measured in widths of the mask scaled to the face size, + * from left to right. For example, choosing -1.0 will place mask just to + * the left of the default mask position. + */ + float x_shift; + + /** + * Shift by Y-axis measured in heights of the mask scaled to the face size, + * from top to bottom. For example, 1.0 will place the mask just below the + * default mask position. + */ + float y_shift; + + /** Mask scaling coefficient. For example, 2.0 means double size. */ + float scale; +} telebot_mask_position_t; + +/** + * @brief This object represents a sticker. + */ +typedef struct telebot_sticker { + /** Identifier for this file, which can be used to download or reuse the file */ + char *file_id; + + /** + * Unique identifier for this file, which is supposed to be the same over time + * and for different bots. Can't be used to download or reuse the file. + */ + char *file_unique_id; + + /** Sticker width */ + int width; + + /** Sticker height */ + int height; + + /** True, if the sticker is animated */ + bool is_animated; + + /** Optional. Sticker thumbnail in .webp or .jpg format */ + struct telebot_photo *thumb; + + /** Optional. Emoji associated with the sticker. */ + char *emoji; + + /** Optional. Name of the sticker set to which the sticker belongs */ + char *set_name; + + /** Optional. For mask stickers, the position where the mask should be placed. */ + struct telebot_mask_position *mask_position; + + /** Optional. File size */ + int file_size; +} telebot_sticker_t; + +/** + * @brief This object represents a forum topic. + */ +typedef struct telebot_forum_topic { + /** Unique identifier of the forum topic */ + int message_thread_id; + + /** Name of the topic */ + char *name; + + /** Color of the topic icon in RGB format */ + int icon_color; + + /** Optional. Unique identifier of the custom emoji used as the topic icon */ + char *icon_custom_emoji_id; +} telebot_forum_topic_t; + +/** + * @brief This object represents a prepared inline message. + */ +typedef struct telebot_prepared_inline_message { + /** Unique identifier of the prepared message */ + char *id; + + /** Expiration date of the prepared message */ + long expiration_date; +} telebot_prepared_inline_message_t; + +/** + * @brief This object represents a message sent via a Web App. + */ +typedef struct telebot_sent_web_app_message { + /** Optional. Identifier of the sent inline message. */ + char *inline_message_id; +} telebot_sent_web_app_message_t; + /** * @brief This object represents an incoming update. */ @@ -1357,24 +3350,39 @@ typedef struct telebot_update { /** New version of a channel post that is known to the bot and was edited */ telebot_message_t edited_channel_post; + /** The bot was connected to or disconnected from a business account */ + telebot_business_connection_t business_connection; + + /** New message from a connected business account */ + telebot_message_t business_message; + + /** New version of a message from a connected business account */ + telebot_message_t edited_business_message; + + /** Messages were deleted from a connected business account */ + telebot_business_messages_deleted_t deleted_business_messages; + /** New incoming inline query */ - //TODO: telebot_inline_query_t inline_query; + telebot_inline_query_t inline_query; /** * The result of an inline query that was chosen by a user and sent to * their chat partner. Please see our documentation on the feedback collecting * for details on how to enable these updates for your bot. */ - //TODO: telebot_inline_query_result_t chosen_inline_result; + telebot_chosen_inline_result_t chosen_inline_result; /** New incoming callback query */ telebot_callback_query_t callback_query; /** New incoming shipping query. Only for invoices with flexible price */ - //TODO: telebot_shipping_query_t shipping_query; + telebot_shipping_query_t shipping_query; /** New incoming pre-checkout query. Contains full information about checkout */ - //TODO: telebot_pre_checkout_query_t pre_checkout_query; + telebot_pre_checkout_query_t pre_checkout_query; + + /** A user purchased paid media */ + telebot_paid_media_purchased_t purchased_paid_media; /** * New poll state. Bots receive only updates about stopped polls and @@ -1387,6 +3395,27 @@ typedef struct telebot_update { * new votes only in polls that were sent by the bot itself. */ telebot_poll_answer_t poll_answer; + + /** The bot's chat member status was updated in a chat. For private chats, this update is received only when the bot is blocked or unblocked by the user. */ + telebot_chat_member_updated_t my_chat_member; + + /** A chat member's status was updated in a chat. The bot must be an administrator in the chat and must explicitly specify "chat_member" in the list of allowed_updates to receive these updates. */ + telebot_chat_member_updated_t chat_member; + + /** A request to join the chat has been sent. The bot must have the can_invite_users administrator right in the chat to receive these updates. */ + telebot_chat_join_request_t chat_join_request; + + /** A reaction to a message was changed by a user. The bot must be an administrator in the chat and must explicitly specify "message_reaction" in the list of allowed_updates to receive these updates. */ + telebot_message_reaction_updated_t message_reaction; + + /** Reactions to a message with anonymous reactions were changed. The bot must be an administrator in the chat and must explicitly specify "message_reaction_count" in the list of allowed_updates to receive these updates. */ + telebot_message_reaction_count_updated_t message_reaction_count; + + /** A chat boost was added or changed. The bot must be an administrator in the chat to receive these updates. */ + telebot_chat_boost_updated_t chat_boost; + + /** A boost was removed from a chat. The bot must be an administrator in the chat to receive these updates. */ + telebot_chat_boost_removed_t chat_boost_removed; }; } telebot_update_t; diff --git a/include/telebot.h b/include/telebot.h index cc211d2..80e19c0 100644 --- a/include/telebot.h +++ b/include/telebot.h @@ -22,6 +22,12 @@ #include "telebot-common.h" #include "telebot-types.h" #include "telebot-methods.h" +#include "telebot-stickers.h" +#include "telebot-inline.h" +#include "telebot-payments.h" +#include "telebot-passport.h" +#include "telebot-games.h" +#include "telebot-forums.h" #endif /* __TELEBOT_H__ */ diff --git a/src/telebot-core.c b/src/telebot-core.c index 89889b2..3626e04 100644 --- a/src/telebot-core.c +++ b/src/telebot-core.c @@ -2658,3 +2658,1853 @@ telebot_core_delete_message(telebot_core_handler_t core_h, long long int chat_id return telebot_core_curl_perform(core_h, TELEBOT_METHOD_DELETE_MESSAGE, mimes, count); } + +telebot_core_response_t +telebot_core_log_out(telebot_core_handler_t core_h) +{ + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_LOG_OUT, NULL, 0); +} + +telebot_core_response_t +telebot_core_close(telebot_core_handler_t core_h) +{ + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_CLOSE, NULL, 0); +} + +telebot_core_response_t +telebot_core_set_my_name(telebot_core_handler_t core_h, const char *name, const char *language_code) +{ + int count = 0; + telebot_core_mime_t mimes[2]; + if (name) + { + mimes[count].name = "name"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)name; + count++; + } + if (language_code) + { + mimes[count].name = "language_code"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)language_code; + count++; + } + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_MY_NAME, mimes, count); +} + +telebot_core_response_t +telebot_core_get_my_name(telebot_core_handler_t core_h, const char *language_code) +{ + int count = 0; + telebot_core_mime_t mimes[1]; + if (language_code) + { + mimes[count].name = "language_code"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)language_code; + count++; + } + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_MY_NAME, mimes, count); +} + +telebot_core_response_t +telebot_core_set_my_description(telebot_core_handler_t core_h, const char *description, const char *language_code) +{ + int count = 0; + telebot_core_mime_t mimes[2]; + if (description) + { + mimes[count].name = "description"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)description; + count++; + } + if (language_code) + { + mimes[count].name = "language_code"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)language_code; + count++; + } + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_MY_DESCRIPTION, mimes, count); +} + +telebot_core_response_t +telebot_core_get_my_description(telebot_core_handler_t core_h, const char *language_code) +{ + int count = 0; + telebot_core_mime_t mimes[1]; + if (language_code) + { + mimes[count].name = "language_code"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)language_code; + count++; + } + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_MY_DESCRIPTION, mimes, count); +} + +telebot_core_response_t +telebot_core_set_my_short_description(telebot_core_handler_t core_h, const char *short_description, + const char *language_code) +{ + int count = 0; + telebot_core_mime_t mimes[2]; + if (short_description) + { + mimes[count].name = "short_description"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)short_description; + count++; + } + if (language_code) + { + mimes[count].name = "language_code"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)language_code; + count++; + } + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_MY_SHORT_DESCRIPTION, mimes, count); +} + +telebot_core_response_t +telebot_core_get_my_short_description(telebot_core_handler_t core_h, const char *language_code) +{ + int count = 0; + telebot_core_mime_t mimes[1]; + if (language_code) + { + mimes[count].name = "language_code"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)language_code; + count++; + } + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_MY_SHORT_DESCRIPTION, mimes, count); +} + +telebot_core_response_t +telebot_core_set_chat_menu_button(telebot_core_handler_t core_h, long long int chat_id, const char *menu_button) +{ + int count = 0; + telebot_core_mime_t mimes[2]; + if (chat_id != 0) + { + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + } + if (menu_button) + { + mimes[count].name = "menu_button"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)menu_button; + count++; + } + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_CHAT_MENU_BUTTON, mimes, count); +} + +telebot_core_response_t +telebot_core_get_chat_menu_button(telebot_core_handler_t core_h, long long int chat_id) +{ + int count = 0; + telebot_core_mime_t mimes[1]; + if (chat_id != 0) + { + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + } + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_CHAT_MENU_BUTTON, mimes, count); +} + +telebot_core_response_t +telebot_core_set_my_default_administrator_rights(telebot_core_handler_t core_h, const char *rights, bool for_channels) +{ + int count = 0; + telebot_core_mime_t mimes[2]; + if (rights) + { + mimes[count].name = "rights"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)rights; + count++; + } + mimes[count].name = "for_channels"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = for_channels ? "true" : "false"; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_MY_DEFAULT_ADMIN_RIGHTS, mimes, count); +} + +telebot_core_response_t +telebot_core_get_my_default_administrator_rights(telebot_core_handler_t core_h, bool for_channels) +{ + int count = 0; + telebot_core_mime_t mimes[1]; + mimes[count].name = "for_channels"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = for_channels ? "true" : "false"; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_MY_DEFAULT_ADMIN_RIGHTS, mimes, count); +} + +telebot_core_response_t +telebot_core_delete_my_commands(telebot_core_handler_t core_h, const char *scope, const char *language_code) +{ + int count = 0; + telebot_core_mime_t mimes[2]; + if (scope) + { + mimes[count].name = "scope"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)scope; + count++; + } + if (language_code) + { + mimes[count].name = "language_code"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)language_code; + count++; + } + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_DELETE_MY_COMMANDS, mimes, count); +} + +telebot_core_response_t +telebot_core_copy_message(telebot_core_handler_t core_h, long long int chat_id, long long int from_chat_id, int message_id, + const char *caption, const char *parse_mode, const char *caption_entities, + bool disable_notification, bool protect_content, int reply_to_message_id, + bool allow_sending_without_reply, const char *reply_markup) +{ + int count = 0; + telebot_core_mime_t mimes[12]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + mimes[count].name = "from_chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = from_chat_id; + count++; + mimes[count].name = "message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = message_id; + count++; + if (caption) + { + mimes[count].name = "caption"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)caption; + count++; + } + if (parse_mode) + { + mimes[count].name = "parse_mode"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)parse_mode; + count++; + } + if (caption_entities) + { + mimes[count].name = "caption_entities"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)caption_entities; + count++; + } + mimes[count].name = "disable_notification"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = disable_notification ? "true" : "false"; + count++; + mimes[count].name = "protect_content"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = protect_content ? "true" : "false"; + count++; + if (reply_to_message_id > 0) + { + mimes[count].name = "reply_to_message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = reply_to_message_id; + count++; + } + mimes[count].name = "allow_sending_without_reply"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = allow_sending_without_reply ? "true" : "false"; + count++; + if (reply_markup) + { + mimes[count].name = "reply_markup"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)reply_markup; + count++; + } + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_COPY_MESSAGE, mimes, count); +} + +telebot_core_response_t +telebot_core_ban_chat_member(telebot_core_handler_t core_h, long long int chat_id, int user_id, + long until_date, bool revoke_messages) +{ + int count = 0; + telebot_core_mime_t mimes[4]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + mimes[count].name = "user_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = user_id; + count++; + if (until_date > 0) + { + mimes[count].name = "until_date"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_INT; + mimes[count].data.ld = until_date; + count++; + } + mimes[count].name = "revoke_messages"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = revoke_messages ? "true" : "false"; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_BAN_CHAT_MEMBER, mimes, count); +} + +telebot_core_response_t +telebot_core_ban_chat_sender_chat(telebot_core_handler_t core_h, long long int chat_id, long long int sender_chat_id) +{ + int count = 0; + telebot_core_mime_t mimes[2]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + mimes[count].name = "sender_chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = sender_chat_id; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_BAN_CHAT_SENDER_CHAT, mimes, count); +} + +telebot_core_response_t +telebot_core_unban_chat_sender_chat(telebot_core_handler_t core_h, long long int chat_id, long long int sender_chat_id) +{ + int count = 0; + telebot_core_mime_t mimes[2]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + mimes[count].name = "sender_chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = sender_chat_id; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_UNBAN_CHAT_SENDER_CHAT, mimes, count); +} + +telebot_core_response_t +telebot_core_create_chat_invite_link(telebot_core_handler_t core_h, long long int chat_id, const char *name, + long expire_date, int member_limit, bool creates_join_request) +{ + int count = 0; + telebot_core_mime_t mimes[6]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + if (name) + { + mimes[count].name = "name"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)name; + count++; + } + if (expire_date > 0) + { + mimes[count].name = "expire_date"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_INT; + mimes[count].data.ld = expire_date; + count++; + } + if (member_limit > 0) + { + mimes[count].name = "member_limit"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = member_limit; + count++; + } + mimes[count].name = "creates_join_request"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = creates_join_request ? "true" : "false"; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_CREATE_CHAT_INVITE_LINK, mimes, count); +} + +telebot_core_response_t +telebot_core_edit_chat_invite_link(telebot_core_handler_t core_h, long long int chat_id, const char *invite_link, + const char *name, long expire_date, int member_limit, bool creates_join_request) +{ + int count = 0; + telebot_core_mime_t mimes[7]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + mimes[count].name = "invite_link"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)invite_link; + count++; + if (name) + { + mimes[count].name = "name"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)name; + count++; + } + if (expire_date > 0) + { + mimes[count].name = "expire_date"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_INT; + mimes[count].data.ld = expire_date; + count++; + } + if (member_limit > 0) + { + mimes[count].name = "member_limit"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = member_limit; + count++; + } + mimes[count].name = "creates_join_request"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = creates_join_request ? "true" : "false"; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_EDIT_CHAT_INVITE_LINK, mimes, count); +} + +telebot_core_response_t +telebot_core_revoke_chat_invite_link(telebot_core_handler_t core_h, long long int chat_id, const char *invite_link) +{ + int count = 0; + telebot_core_mime_t mimes[2]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + mimes[count].name = "invite_link"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)invite_link; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_REVOKE_CHAT_INVITE_LINK, mimes, count); +} + +telebot_core_response_t +telebot_core_approve_chat_join_request(telebot_core_handler_t core_h, long long int chat_id, int user_id) +{ + int count = 0; + telebot_core_mime_t mimes[2]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + mimes[count].name = "user_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = user_id; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_APPROVE_CHAT_JOIN_REQUEST, mimes, count); +} + +telebot_core_response_t +telebot_core_decline_chat_join_request(telebot_core_handler_t core_h, long long int chat_id, int user_id) +{ + int count = 0; + telebot_core_mime_t mimes[2]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + mimes[count].name = "user_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = user_id; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_DECLINE_CHAT_JOIN_REQUEST, mimes, count); +} + +telebot_core_response_t +telebot_core_set_message_reaction(telebot_core_handler_t core_h, long long int chat_id, int message_id, + const char *reaction, bool is_big) +{ + int count = 0; + telebot_core_mime_t mimes[4]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + mimes[count].name = "message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = message_id; + count++; + if (reaction) + { + mimes[count].name = "reaction"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)reaction; + count++; + } + mimes[count].name = "is_big"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = is_big ? "true" : "false"; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_MESSAGE_REACTION, mimes, count); +} + +telebot_core_response_t +telebot_core_create_forum_topic(telebot_core_handler_t core_h, long long int chat_id, const char *name, + int icon_color, const char *icon_custom_emoji_id) +{ + int count = 0; + telebot_core_mime_t mimes[5]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + mimes[count].name = "name"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)name; + count++; + if (icon_color > 0) + { + mimes[count].name = "icon_color"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = icon_color; + count++; + } + if (icon_custom_emoji_id) + { + mimes[count].name = "icon_custom_emoji_id"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)icon_custom_emoji_id; + count++; + } + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_CREATE_FORUM_TOPIC, mimes, count); +} + +telebot_core_response_t +telebot_core_edit_forum_topic(telebot_core_handler_t core_h, long long int chat_id, int message_thread_id, + const char *name, const char *icon_custom_emoji_id) +{ + int count = 0; + telebot_core_mime_t mimes[4]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + mimes[count].name = "message_thread_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = message_thread_id; + count++; + if (name) + { + mimes[count].name = "name"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)name; + count++; + } + if (icon_custom_emoji_id) + { + mimes[count].name = "icon_custom_emoji_id"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)icon_custom_emoji_id; + count++; + } + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_EDIT_FORUM_TOPIC, mimes, count); +} + +telebot_core_response_t +telebot_core_close_forum_topic(telebot_core_handler_t core_h, long long int chat_id, int message_thread_id) +{ + int count = 0; + telebot_core_mime_t mimes[2]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + mimes[count].name = "message_thread_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = message_thread_id; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_CLOSE_FORUM_TOPIC, mimes, count); +} + +telebot_core_response_t +telebot_core_reopen_forum_topic(telebot_core_handler_t core_h, long long int chat_id, int message_thread_id) +{ + int count = 0; + telebot_core_mime_t mimes[2]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + mimes[count].name = "message_thread_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = message_thread_id; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_REOPEN_FORUM_TOPIC, mimes, count); +} + +telebot_core_response_t +telebot_core_delete_forum_topic(telebot_core_handler_t core_h, long long int chat_id, int message_thread_id) +{ + int count = 0; + telebot_core_mime_t mimes[2]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + mimes[count].name = "message_thread_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = message_thread_id; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_DELETE_FORUM_TOPIC, mimes, count); +} + +telebot_core_response_t +telebot_core_unpin_all_forum_topic_messages(telebot_core_handler_t core_h, long long int chat_id, int message_thread_id) +{ + int count = 0; + telebot_core_mime_t mimes[2]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + mimes[count].name = "message_thread_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = message_thread_id; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_UNPIN_ALL_FORUM_TOPIC_MESSAGES, mimes, count); +} + +telebot_core_response_t +telebot_core_get_forum_topic_icon_stickers(telebot_core_handler_t core_h) +{ + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_FORUM_TOPIC_ICON_STICKERS, NULL, 0); +} + +telebot_core_response_t +telebot_core_edit_general_forum_topic(telebot_core_handler_t core_h, long long int chat_id, const char *name) +{ + int count = 0; + telebot_core_mime_t mimes[2]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + mimes[count].name = "name"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)name; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_EDIT_GENERAL_FORUM_TOPIC, mimes, count); +} + +telebot_core_response_t +telebot_core_close_general_forum_topic(telebot_core_handler_t core_h, long long int chat_id) +{ + int count = 0; + telebot_core_mime_t mimes[1]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_CLOSE_GENERAL_FORUM_TOPIC, mimes, count); +} + +telebot_core_response_t +telebot_core_reopen_general_forum_topic(telebot_core_handler_t core_h, long long int chat_id) +{ + int count = 0; + telebot_core_mime_t mimes[1]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_REOPEN_GENERAL_FORUM_TOPIC, mimes, count); +} + +telebot_core_response_t +telebot_core_hide_general_forum_topic(telebot_core_handler_t core_h, long long int chat_id) +{ + int count = 0; + telebot_core_mime_t mimes[1]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_HIDE_GENERAL_FORUM_TOPIC, mimes, count); +} + +telebot_core_response_t +telebot_core_unhide_general_forum_topic(telebot_core_handler_t core_h, long long int chat_id) +{ + int count = 0; + telebot_core_mime_t mimes[1]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_UNHIDE_GENERAL_FORUM_TOPIC, mimes, count); +} + +telebot_core_response_t +telebot_core_unpin_all_general_forum_topic_messages(telebot_core_handler_t core_h, long long int chat_id) +{ + int count = 0; + telebot_core_mime_t mimes[1]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_UNPIN_ALL_GENERAL_FORUM_TOPIC_MESSAGES, mimes, count); +} + +telebot_core_response_t +telebot_core_get_custom_emoji_stickers(telebot_core_handler_t core_h, const char *custom_emoji_ids) +{ + int count = 0; + telebot_core_mime_t mimes[1]; + mimes[count].name = "custom_emoji_ids"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)custom_emoji_ids; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_CUSTOM_EMOJI_STICKERS, mimes, count); +} + +telebot_core_response_t +telebot_core_answer_web_app_query(telebot_core_handler_t core_h, const char *web_app_query_id, const char *result) +{ + int count = 0; + telebot_core_mime_t mimes[2]; + mimes[count].name = "web_app_query_id"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)web_app_query_id; + count++; + mimes[count].name = "result"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)result; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_ANSWER_WEB_APP_QUERY, mimes, count); +} + +telebot_core_response_t +telebot_core_copy_messages(telebot_core_handler_t core_h, long long int chat_id, long long int from_chat_id, + const char *message_ids, bool disable_notification, bool protect_content, + bool remove_caption) +{ + int count = 0; + telebot_core_mime_t mimes[6]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + mimes[count].name = "from_chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = from_chat_id; + count++; + mimes[count].name = "message_ids"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)message_ids; + count++; + mimes[count].name = "disable_notification"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = disable_notification ? "true" : "false"; + count++; + mimes[count].name = "protect_content"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = protect_content ? "true" : "false"; + count++; + mimes[count].name = "remove_caption"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = remove_caption ? "true" : "false"; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_COPY_MESSAGES, mimes, count); +} + +telebot_core_response_t +telebot_core_forward_messages(telebot_core_handler_t core_h, long long int chat_id, long long int from_chat_id, + const char *message_ids, bool disable_notification, bool protect_content) +{ + int count = 0; + telebot_core_mime_t mimes[5]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + mimes[count].name = "from_chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = from_chat_id; + count++; + mimes[count].name = "message_ids"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)message_ids; + count++; + mimes[count].name = "disable_notification"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = disable_notification ? "true" : "false"; + count++; + mimes[count].name = "protect_content"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = protect_content ? "true" : "false"; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_FORWARD_MESSAGES, mimes, count); +} + +telebot_core_response_t +telebot_core_delete_messages(telebot_core_handler_t core_h, long long int chat_id, const char *message_ids) +{ + int count = 0; + telebot_core_mime_t mimes[2]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + mimes[count].name = "message_ids"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)message_ids; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_DELETE_MESSAGES, mimes, count); +} + +telebot_core_response_t +telebot_core_edit_message_media(telebot_core_handler_t core_h, long long int chat_id, int message_id, + const char *inline_message_id, const char *media, const char *reply_markup) +{ + if (((chat_id == 0) || (message_id <= 0)) && (inline_message_id == NULL)) + { + ERR("Either valid chat_id & message_id or inline_message_id required"); + return telebot_core_get_error_response(TELEBOT_ERROR_INVALID_PARAMETER); + } + + int count = 0; + telebot_core_mime_t mimes[5]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + + if (message_id > 0) + { + mimes[count].name = "message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = message_id; + count++; + } + + if (inline_message_id != NULL) + { + mimes[count].name = "inline_message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)inline_message_id; + count++; + } + + mimes[count].name = "media"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)media; + count++; + + if (reply_markup != NULL) + { + mimes[count].name = "reply_markup"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)reply_markup; + count++; + } + + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_EDIT_MESSAGE_MEDIA, mimes, count); +} + +telebot_core_response_t +telebot_core_send_paid_media(telebot_core_handler_t core_h, long long int chat_id, int star_count, const char *media, + const char *caption, const char *parse_mode, const char *caption_entities, + bool show_caption_above_media, bool disable_notification, bool protect_content, + const char *reply_parameters, const char *reply_markup) +{ + int count = 0; + telebot_core_mime_t mimes[12]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + mimes[count].name = "star_count"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = star_count; + count++; + mimes[count].name = "media"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)media; + count++; + if (caption) + { + mimes[count].name = "caption"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)caption; + count++; + } + if (parse_mode) + { + mimes[count].name = "parse_mode"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)parse_mode; + count++; + } + if (caption_entities) + { + mimes[count].name = "caption_entities"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)caption_entities; + count++; + } + mimes[count].name = "show_caption_above_media"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = show_caption_above_media ? "true" : "false"; + count++; + mimes[count].name = "disable_notification"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = disable_notification ? "true" : "false"; + count++; + mimes[count].name = "protect_content"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = protect_content ? "true" : "false"; + count++; + if (reply_parameters) + { + mimes[count].name = "reply_parameters"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)reply_parameters; + count++; + } + if (reply_markup) + { + mimes[count].name = "reply_markup"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)reply_markup; + count++; + } + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_PAID_MEDIA, mimes, count); +} + +telebot_core_response_t +telebot_core_answer_inline_query(telebot_core_handler_t core_h, const char *inline_query_id, const char *results, + int cache_time, bool is_personal, const char *next_offset, const char *button) +{ + int count = 0; + telebot_core_mime_t mimes[6]; + mimes[count].name = "inline_query_id"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)inline_query_id; + count++; + mimes[count].name = "results"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)results; + count++; + if (cache_time > 0) + { + mimes[count].name = "cache_time"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = cache_time; + count++; + } + if (is_personal) + { + mimes[count].name = "is_personal"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = "true"; + count++; + } + if (next_offset) + { + mimes[count].name = "next_offset"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)next_offset; + count++; + } + if (button) + { + mimes[count].name = "button"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)button; + count++; + } + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_ANSWER_INLINE_QUERY, mimes, count); +} + +telebot_core_response_t +telebot_core_save_prepared_inline_message(telebot_core_handler_t core_h, long long int user_id, const char *result, + bool allow_user_chats, bool allow_bot_chats, bool allow_group_chats, + bool allow_channel_chats) +{ + int count = 0; + telebot_core_mime_t mimes[6]; + mimes[count].name = "user_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = user_id; + count++; + mimes[count].name = "result"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)result; + count++; + if (allow_user_chats) + { + mimes[count].name = "allow_user_chats"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = "true"; + count++; + } + if (allow_bot_chats) + { + mimes[count].name = "allow_bot_chats"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = "true"; + count++; + } + if (allow_group_chats) + { + mimes[count].name = "allow_group_chats"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = "true"; + count++; + } + if (allow_channel_chats) + { + mimes[count].name = "allow_channel_chats"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = "true"; + count++; + } + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SAVE_PREPARED_INLINE_MESSAGE, mimes, count); +} + +telebot_core_response_t +telebot_core_send_gift(telebot_core_handler_t core_h, long long int user_id, long long int chat_id, const char *gift_id, + bool pay_for_upgrade, const char *text, const char *text_parse_mode, + const char *text_entities) +{ + int count = 0; + telebot_core_mime_t mimes[7]; + if (user_id > 0) + { + mimes[count].name = "user_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = user_id; + count++; + } + if (chat_id != 0) + { + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + } + mimes[count].name = "gift_id"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)gift_id; + count++; + mimes[count].name = "pay_for_upgrade"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = pay_for_upgrade ? "true" : "false"; + count++; + if (text) + { + mimes[count].name = "text"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)text; + count++; + } + if (text_parse_mode) + { + mimes[count].name = "text_parse_mode"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)text_parse_mode; + count++; + } + if (text_entities) + { + mimes[count].name = "text_entities"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)text_entities; + count++; + } + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_GIFT, mimes, count); +} + +telebot_core_response_t +telebot_core_gift_premium_subscription(telebot_core_handler_t core_h, long long int user_id, int month_count, + int star_count, const char *text, const char *text_parse_mode, + const char *text_entities) +{ + int count = 0; + telebot_core_mime_t mimes[7]; + mimes[count].name = "user_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = user_id; + count++; + mimes[count].name = "month_count"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = month_count; + count++; + mimes[count].name = "star_count"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = star_count; + count++; + if (text) + { + mimes[count].name = "text"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)text; + count++; + } + if (text_parse_mode) + { + mimes[count].name = "text_parse_mode"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)text_parse_mode; + count++; + } + if (text_entities) + { + mimes[count].name = "text_entities"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)text_entities; + count++; + } + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GIFT_PREMIUM_SUBSCRIPTION, mimes, count); +} + +telebot_core_response_t +telebot_core_get_my_star_balance(telebot_core_handler_t core_h) +{ + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_MY_STAR_BALANCE, NULL, 0); +} + +telebot_core_response_t +telebot_core_get_star_transactions(telebot_core_handler_t core_h, int offset, int limit) +{ + int count = 0; + telebot_core_mime_t mimes[2]; + if (offset > 0) + { + mimes[count].name = "offset"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = offset; + count++; + } + if (limit > 0) + { + mimes[count].name = "limit"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = limit; + count++; + } + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_STAR_TRANSACTIONS, mimes, count); +} + +telebot_core_response_t +telebot_core_refund_star_payment(telebot_core_handler_t core_h, long long int user_id, + const char *telegram_payment_charge_id) +{ + int count = 0; + telebot_core_mime_t mimes[2]; + mimes[count].name = "user_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = user_id; + count++; + mimes[count].name = "telegram_payment_charge_id"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)telegram_payment_charge_id; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_REFUND_STAR_PAYMENT, mimes, count); +} + +telebot_core_response_t +telebot_core_get_available_gifts(telebot_core_handler_t core_h) +{ + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_AVAILABLE_GIFTS, NULL, 0); +} + +telebot_core_response_t +telebot_core_get_user_gifts(telebot_core_handler_t core_h, long long int user_id, int offset, int limit) +{ + int count = 0; + telebot_core_mime_t mimes[3]; + mimes[count].name = "user_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = user_id; + count++; + if (offset > 0) + { + mimes[count].name = "offset"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = offset; + count++; + } + if (limit > 0) + { + mimes[count].name = "limit"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = limit; + count++; + } + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_USER_GIFTS, mimes, count); +} + +telebot_core_response_t +telebot_core_get_chat_gifts(telebot_core_handler_t core_h, long long int chat_id, int offset, int limit) +{ + int count = 0; + telebot_core_mime_t mimes[3]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + if (offset > 0) + { + mimes[count].name = "offset"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = offset; + count++; + } + if (limit > 0) + { + mimes[count].name = "limit"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = limit; + count++; + } + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_CHAT_GIFTS, mimes, count); +} + +telebot_core_response_t +telebot_core_upgrade_gift(telebot_core_handler_t core_h, const char *gift_id, bool pay_for_upgrade, const char *text, + const char *text_parse_mode, const char *text_entities) +{ + int count = 0; + telebot_core_mime_t mimes[5]; + mimes[count].name = "gift_id"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)gift_id; + count++; + mimes[count].name = "pay_for_upgrade"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = pay_for_upgrade ? "true" : "false"; + count++; + if (text) + { + mimes[count].name = "text"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)text; + count++; + } + if (text_parse_mode) + { + mimes[count].name = "text_parse_mode"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)text_parse_mode; + count++; + } + if (text_entities) + { + mimes[count].name = "text_entities"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)text_entities; + count++; + } + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_UPGRADE_GIFT, mimes, count); +} + +telebot_core_response_t +telebot_core_transfer_gift(telebot_core_handler_t core_h, long long int user_id, long long int chat_id, + const char *gift_id) +{ + int count = 0; + telebot_core_mime_t mimes[3]; + mimes[count].name = "user_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = user_id; + count++; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + mimes[count].name = "gift_id"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)gift_id; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_TRANSFER_GIFT, mimes, count); +} + +telebot_core_response_t +telebot_core_convert_gift_to_stars(telebot_core_handler_t core_h, const char *gift_id) +{ + int count = 0; + telebot_core_mime_t mimes[1]; + mimes[count].name = "gift_id"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)gift_id; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_CONVERT_GIFT_TO_STARS, mimes, count); +} + +telebot_core_response_t +telebot_core_get_user_profile_audios(telebot_core_handler_t core_h, long long int user_id, int offset, int limit) +{ + int count = 0; + telebot_core_mime_t mimes[3]; + mimes[count].name = "user_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = user_id; + count++; + if (offset > 0) + { + mimes[count].name = "offset"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = offset; + count++; + } + if (limit > 0) + { + mimes[count].name = "limit"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = limit; + count++; + } + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_USER_AUDIOS, mimes, count); +} + +telebot_core_response_t +telebot_core_set_my_profile_photo(telebot_core_handler_t core_h, const char *photo) +{ + int count = 0; + telebot_core_mime_t mimes[1]; + mimes[count].name = "photo"; + mimes[count].type = TELEBOT_MIME_TYPE_FILE; + mimes[count].data.s = (char *)photo; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_MY_PROFILE_PHOTO, mimes, count); +} + +telebot_core_response_t +telebot_core_remove_my_profile_photo(telebot_core_handler_t core_h, const char *photo_id) +{ + int count = 0; + telebot_core_mime_t mimes[1]; + mimes[count].name = "photo_id"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)photo_id; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_REMOVE_MY_PROFILE_PHOTO, mimes, count); +} + +telebot_core_response_t +telebot_core_get_business_connection(telebot_core_handler_t core_h, const char *business_connection_id) +{ + int count = 0; + telebot_core_mime_t mimes[1]; + mimes[count].name = "business_connection_id"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)business_connection_id; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_BUSINESS_CONNECTION, mimes, count); +} + +telebot_core_response_t +telebot_core_get_user_chat_boosts(telebot_core_handler_t core_h, long long int chat_id, long long int user_id) +{ + int count = 0; + telebot_core_mime_t mimes[2]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + mimes[count].name = "user_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = user_id; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_USER_CHAT_BOOSTS, mimes, count); +} + +telebot_core_response_t +telebot_core_send_game(telebot_core_handler_t core_h, long long int chat_id, int message_thread_id, + const char *game_short_name, bool disable_notification, bool protect_content, + const char *reply_parameters, const char *reply_markup) +{ + int count = 0; + telebot_core_mime_t mimes[8]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + if (message_thread_id > 0) + { + mimes[count].name = "message_thread_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = message_thread_id; + count++; + } + mimes[count].name = "game_short_name"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)game_short_name; + count++; + mimes[count].name = "disable_notification"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = disable_notification ? "true" : "false"; + count++; + mimes[count].name = "protect_content"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = protect_content ? "true" : "false"; + count++; + if (reply_parameters) + { + mimes[count].name = "reply_parameters"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)reply_parameters; + count++; + } + if (reply_markup) + { + mimes[count].name = "reply_markup"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)reply_markup; + count++; + } + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_GAME, mimes, count); +} + +telebot_core_response_t +telebot_core_set_game_score(telebot_core_handler_t core_h, long long int user_id, int score, bool force, + bool disable_edit_message, long long int chat_id, int message_id, + const char *inline_message_id) +{ + int count = 0; + telebot_core_mime_t mimes[7]; + mimes[count].name = "user_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = user_id; + count++; + mimes[count].name = "score"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = score; + count++; + mimes[count].name = "force"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = force ? "true" : "false"; + count++; + mimes[count].name = "disable_edit_message"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = disable_edit_message ? "true" : "false"; + count++; + if (chat_id != 0) + { + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + } + if (message_id > 0) + { + mimes[count].name = "message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = message_id; + count++; + } + if (inline_message_id) + { + mimes[count].name = "inline_message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)inline_message_id; + count++; + } + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_GAME_SCORE, mimes, count); +} + +telebot_core_response_t +telebot_core_get_game_high_scores(telebot_core_handler_t core_h, long long int user_id, long long int chat_id, + int message_id, const char *inline_message_id) +{ + int count = 0; + telebot_core_mime_t mimes[4]; + mimes[count].name = "user_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = user_id; + count++; + if (chat_id != 0) + { + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + } + if (message_id > 0) + { + mimes[count].name = "message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = message_id; + count++; + } + if (inline_message_id) + { + mimes[count].name = "inline_message_id"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)inline_message_id; + count++; + } + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_GAME_HIGH_SCORES, mimes, count); +} + +telebot_core_response_t +telebot_core_set_passport_data_errors(telebot_core_handler_t core_h, long long int user_id, const char *errors) +{ + int count = 0; + telebot_core_mime_t mimes[2]; + mimes[count].name = "user_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = user_id; + count++; + mimes[count].name = "errors"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)errors; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_PASSPORT_DATA_ERRORS, mimes, count); +} + +telebot_core_response_t +telebot_core_send_invoice(telebot_core_handler_t core_h, long long int chat_id, int message_thread_id, + const char *title, const char *description, const char *payload, const char *provider_token, + const char *currency, const char *prices, int max_tip_amount, + const char *suggested_tip_amounts, const char *start_parameter, + const char *provider_data, const char *photo_url, int photo_size, + int photo_width, int photo_height, bool need_name, bool need_phone_number, + bool need_email, bool need_shipping_address, bool send_phone_number_to_provider, + bool send_email_to_provider, bool is_flexible, bool disable_notification, + bool protect_content, const char *reply_parameters, const char *reply_markup) +{ + int count = 0; + telebot_core_mime_t mimes[28]; + mimes[count].name = "chat_id"; + mimes[count].type = TELEBOT_MIME_TYPE_LONG_LONG_INT; + mimes[count].data.lld = chat_id; + count++; + if (message_thread_id > 0) + { + mimes[count].name = "message_thread_id"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = message_thread_id; + count++; + } + mimes[count].name = "title"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)title; + count++; + mimes[count].name = "description"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)description; + count++; + mimes[count].name = "payload"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)payload; + count++; + if (provider_token) + { + mimes[count].name = "provider_token"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)provider_token; + count++; + } + mimes[count].name = "currency"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)currency; + count++; + mimes[count].name = "prices"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)prices; + count++; + if (max_tip_amount > 0) + { + mimes[count].name = "max_tip_amount"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = max_tip_amount; + count++; + } + if (suggested_tip_amounts) + { + mimes[count].name = "suggested_tip_amounts"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)suggested_tip_amounts; + count++; + } + if (start_parameter) + { + mimes[count].name = "start_parameter"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)start_parameter; + count++; + } + if (provider_data) + { + mimes[count].name = "provider_data"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)provider_data; + count++; + } + if (photo_url) + { + mimes[count].name = "photo_url"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)photo_url; + count++; + } + if (photo_size > 0) + { + mimes[count].name = "photo_size"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = photo_size; + count++; + } + if (photo_width > 0) + { + mimes[count].name = "photo_width"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = photo_width; + count++; + } + if (photo_height > 0) + { + mimes[count].name = "photo_height"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = photo_height; + count++; + } + mimes[count].name = "need_name"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = need_name ? "true" : "false"; + count++; + mimes[count].name = "need_phone_number"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = need_phone_number ? "true" : "false"; + count++; + mimes[count].name = "need_email"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = need_email ? "true" : "false"; + count++; + mimes[count].name = "need_shipping_address"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = need_shipping_address ? "true" : "false"; + count++; + mimes[count].name = "send_phone_number_to_provider"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = send_phone_number_to_provider ? "true" : "false"; + count++; + mimes[count].name = "send_email_to_provider"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = send_email_to_provider ? "true" : "false"; + count++; + mimes[count].name = "is_flexible"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = is_flexible ? "true" : "false"; + count++; + mimes[count].name = "disable_notification"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = disable_notification ? "true" : "false"; + count++; + mimes[count].name = "protect_content"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = protect_content ? "true" : "false"; + count++; + if (reply_parameters) + { + mimes[count].name = "reply_parameters"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)reply_parameters; + count++; + } + if (reply_markup) + { + mimes[count].name = "reply_markup"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)reply_markup; + count++; + } + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_INVOICE, mimes, count); +} + +telebot_core_response_t +telebot_core_create_invoice_link(telebot_core_handler_t core_h, const char *title, const char *description, + const char *payload, const char *provider_token, const char *currency, + const char *prices, int max_tip_amount, const char *suggested_tip_amounts, + const char *provider_data, const char *photo_url, int photo_size, int photo_width, + int photo_height, bool need_name, bool need_phone_number, bool need_email, + bool need_shipping_address, bool send_phone_number_to_provider, + bool send_email_to_provider, bool is_flexible) +{ + int count = 0; + telebot_core_mime_t mimes[21]; + mimes[count].name = "title"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)title; + count++; + mimes[count].name = "description"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)description; + count++; + mimes[count].name = "payload"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)payload; + count++; + if (provider_token) + { + mimes[count].name = "provider_token"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)provider_token; + count++; + } + mimes[count].name = "currency"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)currency; + count++; + mimes[count].name = "prices"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)prices; + count++; + if (max_tip_amount > 0) + { + mimes[count].name = "max_tip_amount"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = max_tip_amount; + count++; + } + if (suggested_tip_amounts) + { + mimes[count].name = "suggested_tip_amounts"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)suggested_tip_amounts; + count++; + } + if (provider_data) + { + mimes[count].name = "provider_data"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)provider_data; + count++; + } + if (photo_url) + { + mimes[count].name = "photo_url"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)photo_url; + count++; + } + if (photo_size > 0) + { + mimes[count].name = "photo_size"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = photo_size; + count++; + } + if (photo_width > 0) + { + mimes[count].name = "photo_width"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = photo_width; + count++; + } + if (photo_height > 0) + { + mimes[count].name = "photo_height"; + mimes[count].type = TELEBOT_MIME_TYPE_INT; + mimes[count].data.d = photo_height; + count++; + } + mimes[count].name = "need_name"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = need_name ? "true" : "false"; + count++; + mimes[count].name = "need_phone_number"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = need_phone_number ? "true" : "false"; + count++; + mimes[count].name = "need_email"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = need_email ? "true" : "false"; + count++; + mimes[count].name = "need_shipping_address"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = need_shipping_address ? "true" : "false"; + count++; + mimes[count].name = "send_phone_number_to_provider"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = send_phone_number_to_provider ? "true" : "false"; + count++; + mimes[count].name = "send_email_to_provider"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = send_email_to_provider ? "true" : "false"; + count++; + mimes[count].name = "is_flexible"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = is_flexible ? "true" : "false"; + count++; + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_CREATE_INVOICE_LINK, mimes, count); +} + +telebot_core_response_t +telebot_core_answer_shipping_query(telebot_core_handler_t core_h, const char *shipping_query_id, bool ok, + const char *shipping_options, const char *error_message) +{ + int count = 0; + telebot_core_mime_t mimes[4]; + mimes[count].name = "shipping_query_id"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)shipping_query_id; + count++; + mimes[count].name = "ok"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = ok ? "true" : "false"; + count++; + if (shipping_options) + { + mimes[count].name = "shipping_options"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)shipping_options; + count++; + } + if (error_message) + { + mimes[count].name = "error_message"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)error_message; + count++; + } + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_ANSWER_SHIPPING_QUERY, mimes, count); +} + +telebot_core_response_t +telebot_core_answer_pre_checkout_query(telebot_core_handler_t core_h, const char *pre_checkout_query_id, bool ok, + const char *error_message) +{ + int count = 0; + telebot_core_mime_t mimes[3]; + mimes[count].name = "pre_checkout_query_id"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)pre_checkout_query_id; + count++; + mimes[count].name = "ok"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = ok ? "true" : "false"; + count++; + if (error_message) + { + mimes[count].name = "error_message"; + mimes[count].type = TELEBOT_MIME_TYPE_STRING; + mimes[count].data.s = (char *)error_message; + count++; + } + return telebot_core_curl_perform(core_h, TELEBOT_METHOD_ANSWER_PRE_CHECKOUT_QUERY, mimes, count); +} diff --git a/src/telebot-forums.c b/src/telebot-forums.c new file mode 100644 index 0000000..c2661ff --- /dev/null +++ b/src/telebot-forums.c @@ -0,0 +1,249 @@ +/* + * telebot + * + * Copyright (c) 2015 Elmurod Talipov. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +telebot_error_e telebot_create_forum_topic(telebot_handler_t handle, long long int chat_id, + const char *name, int icon_color, const char *icon_custom_emoji_id, + telebot_forum_topic_t *topic) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + if (topic == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + struct json_object *obj = NULL; + telebot_core_response_t response = telebot_core_create_forum_topic(handle->core_h, chat_id, name, icon_color, icon_custom_emoji_id); + int ret = telebot_core_get_response_code(response); + if (ret != TELEBOT_ERROR_NONE) + goto finish; + + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); + if (obj == NULL) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *ok = NULL; + if (!json_object_object_get_ex(obj, "ok", &ok) || !json_object_get_boolean(ok)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *result = NULL; + if (!json_object_object_get_ex(obj, "result", &result)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + ret = telebot_parser_get_forum_topic(result, topic); + +finish: + if (obj) + json_object_put(obj); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_put_forum_topic(telebot_forum_topic_t *topic) +{ + if (topic == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + TELEBOT_SAFE_FREE(topic->name); + TELEBOT_SAFE_FREE(topic->icon_custom_emoji_id); + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_edit_forum_topic(telebot_handler_t handle, long long int chat_id, int message_thread_id, + const char *name, const char *icon_custom_emoji_id) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + telebot_core_response_t response = telebot_core_edit_forum_topic(handle->core_h, chat_id, message_thread_id, name, icon_custom_emoji_id); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_close_forum_topic(telebot_handler_t handle, long long int chat_id, int message_thread_id) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + telebot_core_response_t response = telebot_core_close_forum_topic(handle->core_h, chat_id, message_thread_id); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_reopen_forum_topic(telebot_handler_t handle, long long int chat_id, int message_thread_id) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + telebot_core_response_t response = telebot_core_reopen_forum_topic(handle->core_h, chat_id, message_thread_id); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_delete_forum_topic(telebot_handler_t handle, long long int chat_id, int message_thread_id) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + telebot_core_response_t response = telebot_core_delete_forum_topic(handle->core_h, chat_id, message_thread_id); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_unpin_all_forum_topic_messages(telebot_handler_t handle, long long int chat_id, int message_thread_id) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + telebot_core_response_t response = telebot_core_unpin_all_forum_topic_messages(handle->core_h, chat_id, message_thread_id); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_get_forum_topic_icon_stickers(telebot_handler_t handle, telebot_sticker_t **stickers, int *count) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + if ((stickers == NULL) || (count == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + struct json_object *obj = NULL; + telebot_core_response_t response = telebot_core_get_forum_topic_icon_stickers(handle->core_h); + int ret = telebot_core_get_response_code(response); + if (ret != TELEBOT_ERROR_NONE) + goto finish; + + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); + if (obj == NULL) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *ok = NULL; + if (!json_object_object_get_ex(obj, "ok", &ok) || !json_object_get_boolean(ok)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *result = NULL; + if (!json_object_object_get_ex(obj, "result", &result)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + ret = telebot_parser_get_stickers(result, stickers, count); + +finish: + if (obj) + json_object_put(obj); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_edit_general_forum_topic(telebot_handler_t handle, long long int chat_id, const char *name) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + telebot_core_response_t response = telebot_core_edit_general_forum_topic(handle->core_h, chat_id, name); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_close_general_forum_topic(telebot_handler_t handle, long long int chat_id) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + telebot_core_response_t response = telebot_core_close_general_forum_topic(handle->core_h, chat_id); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_reopen_general_forum_topic(telebot_handler_t handle, long long int chat_id) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + telebot_core_response_t response = telebot_core_reopen_general_forum_topic(handle->core_h, chat_id); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_hide_general_forum_topic(telebot_handler_t handle, long long int chat_id) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + telebot_core_response_t response = telebot_core_hide_general_forum_topic(handle->core_h, chat_id); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_unhide_general_forum_topic(telebot_handler_t handle, long long int chat_id) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + telebot_core_response_t response = telebot_core_unhide_general_forum_topic(handle->core_h, chat_id); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_unpin_all_general_forum_topic_messages(telebot_handler_t handle, long long int chat_id) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + telebot_core_response_t response = telebot_core_unpin_all_general_forum_topic_messages(handle->core_h, chat_id); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} diff --git a/src/telebot-games.c b/src/telebot-games.c new file mode 100644 index 0000000..c2bd696 --- /dev/null +++ b/src/telebot-games.c @@ -0,0 +1,199 @@ +/* + * telebot + * + * Copyright (c) 2015 Elmurod Talipov. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include +#include +#include + +telebot_error_e telebot_send_game(telebot_handler_t handle, + long long int chat_id, int message_thread_id, const char *game_short_name, + bool disable_notification, bool protect_content, const char *reply_parameters, + const char *reply_markup, telebot_message_t *message) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + if (message == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + struct json_object *obj = NULL; + telebot_core_response_t response = telebot_core_send_game(handle->core_h, chat_id, message_thread_id, + game_short_name, disable_notification, protect_content, + reply_parameters, reply_markup); + int ret = telebot_core_get_response_code(response); + if (ret != TELEBOT_ERROR_NONE) + goto finish; + + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); + if (obj == NULL) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *ok = NULL; + if (!json_object_object_get_ex(obj, "ok", &ok) || !json_object_get_boolean(ok)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *result = NULL; + if (!json_object_object_get_ex(obj, "result", &result)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + ret = telebot_parser_get_message(result, message); + +finish: + if (obj) + json_object_put(obj); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_set_game_score(telebot_handler_t handle, + long long int user_id, int score, bool force, bool disable_edit_message, + long long int chat_id, int message_id, const char *inline_message_id, + telebot_message_t *message) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + struct json_object *obj = NULL; + telebot_core_response_t response = telebot_core_set_game_score(handle->core_h, user_id, score, force, + disable_edit_message, chat_id, message_id, inline_message_id); + int ret = telebot_core_get_response_code(response); + if (ret != TELEBOT_ERROR_NONE) + goto finish; + + if (message) + { + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); + if (obj == NULL) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *ok = NULL; + if (!json_object_object_get_ex(obj, "ok", &ok) || !json_object_get_boolean(ok)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *result = NULL; + if (json_object_object_get_ex(obj, "result", &result)) + { + if (json_object_get_type(result) == json_type_object) + ret = telebot_parser_get_message(result, message); + } + } + +finish: + if (obj) + json_object_put(obj); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_get_game_high_scores(telebot_handler_t handle, + long long int user_id, long long int chat_id, int message_id, const char *inline_message_id, + telebot_game_high_score_t **high_scores, int *count) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + if ((high_scores == NULL) || (count == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + struct json_object *obj = NULL; + telebot_core_response_t response = telebot_core_get_game_high_scores(handle->core_h, user_id, chat_id, message_id, inline_message_id); + int ret = telebot_core_get_response_code(response); + if (ret != TELEBOT_ERROR_NONE) + goto finish; + + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); + if (obj == NULL) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *ok = NULL; + if (!json_object_object_get_ex(obj, "ok", &ok) || !json_object_get_boolean(ok)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *result = NULL; + if (!json_object_object_get_ex(obj, "result", &result)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + int array_len = json_object_array_length(result); + if (array_len <= 0) + { + *count = 0; + *high_scores = NULL; + goto finish; + } + + *high_scores = calloc(array_len, sizeof(telebot_game_high_score_t)); + if (*high_scores == NULL) + { + ret = TELEBOT_ERROR_OUT_OF_MEMORY; + goto finish; + } + *count = array_len; + + for (int i = 0; i < array_len; i++) + { + telebot_parser_get_game_high_score(json_object_array_get_idx(result, i), &((*high_scores)[i])); + } + +finish: + if (obj) + json_object_put(obj); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_put_game_high_scores(telebot_game_high_score_t *high_scores, int count) +{ + if (high_scores == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + for (int i = 0; i < count; i++) + { + telebot_put_user(high_scores[i].user); + TELEBOT_SAFE_FREE(high_scores[i].user); + } + free(high_scores); + + return TELEBOT_ERROR_NONE; +} diff --git a/src/telebot-inline.c b/src/telebot-inline.c new file mode 100644 index 0000000..2f0be21 --- /dev/null +++ b/src/telebot-inline.c @@ -0,0 +1,124 @@ +#include +#include +#include +#include +#include + +telebot_error_e telebot_answer_inline_query(telebot_handler_t handle, + const char *inline_query_id, const char *results, int cache_time, + bool is_personal, const char *next_offset, const char *button) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + telebot_core_response_t response = telebot_core_answer_inline_query(handle->core_h, inline_query_id, + results, cache_time, is_personal, + next_offset, button); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_save_prepared_inline_message(telebot_handler_t handle, + long long int user_id, const char *result, bool allow_user_chats, + bool allow_bot_chats, bool allow_group_chats, bool allow_channel_chats, + telebot_prepared_inline_message_t *prepared_message) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + if (prepared_message == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + struct json_object *obj = NULL; + telebot_core_response_t response = telebot_core_save_prepared_inline_message(handle->core_h, user_id, result, + allow_user_chats, allow_bot_chats, + allow_group_chats, allow_channel_chats); + int ret = telebot_core_get_response_code(response); + if (ret != TELEBOT_ERROR_NONE) + goto finish; + + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); + if (obj == NULL) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *ok = NULL; + if (!json_object_object_get_ex(obj, "ok", &ok) || !json_object_get_boolean(ok)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *res_obj = NULL; + if (!json_object_object_get_ex(obj, "result", &res_obj)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + ret = telebot_parser_get_prepared_inline_message(res_obj, prepared_message); + +finish: + if (obj) + json_object_put(obj); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_put_prepared_inline_message(telebot_prepared_inline_message_t *prepared_message) +{ + if (prepared_message == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + TELEBOT_SAFE_FREE(prepared_message->id); + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_answer_web_app_query(telebot_handler_t handle, const char *web_app_query_id, const char *result, char **inline_message_id) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + struct json_object *obj = NULL; + telebot_core_response_t response = telebot_core_answer_web_app_query(handle->core_h, web_app_query_id, result); + int ret = telebot_core_get_response_code(response); + if (ret != TELEBOT_ERROR_NONE) + goto finish; + + if (inline_message_id) + { + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); + if (obj == NULL) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *ok = NULL; + if (!json_object_object_get_ex(obj, "ok", &ok) || !json_object_get_boolean(ok)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *result_obj = NULL; + if (json_object_object_get_ex(obj, "result", &result_obj)) + { + struct json_object *imid_obj = NULL; + if (json_object_object_get_ex(result_obj, "inline_message_id", &imid_obj)) + { + *inline_message_id = TELEBOT_SAFE_STRDUP(json_object_get_string(imid_obj)); + } + } + } + +finish: + if (obj) + json_object_put(obj); + telebot_core_put_response(response); + return ret; +} diff --git a/src/telebot-parser.c b/src/telebot-parser.c index 994d640..f692f2a 100644 --- a/src/telebot-parser.c +++ b/src/telebot-parser.c @@ -21,18 +21,51 @@ #include #include #include -#include +#include #include +#include static const char *telebot_update_type_str[TELEBOT_UPDATE_TYPE_MAX] = { "message", "edited_message", "channel_post", - "edited_channel_post", "inline_query", + "edited_channel_post", "business_connection", + "business_message", "edited_business_message", + "deleted_business_messages", "message_reaction", + "message_reaction_count", "inline_query", "chosen_inline_result", "callback_query", "shipping_query", "pre_checkout_query", - "poll", "poll_answer"}; + "purchased_paid_media", + "poll", "poll_answer", "my_chat_member", + "chat_member", "chat_join_request", + "chat_boost", "removed_chat_boost"}; static telebot_error_e telebot_parser_get_photos(struct json_object *obj, telebot_photo_t **photos, int *count); static telebot_error_e telebot_parser_get_users(struct json_object *obj, telebot_user_t **users, int *count); +static telebot_error_e telebot_parser_get_business_messages_deleted(struct json_object *obj, telebot_business_messages_deleted_t *deleted); +static telebot_error_e telebot_parser_get_message_origin(struct json_object *obj, telebot_message_origin_t *origin); +static telebot_error_e telebot_parser_get_text_quote(struct json_object *obj, telebot_text_quote_t *quote); +static telebot_error_e telebot_parser_get_story(struct json_object *obj, telebot_story_t *story); +static telebot_error_e telebot_parser_get_external_reply_info(struct json_object *obj, telebot_external_reply_info_t *info); +static telebot_error_e telebot_parser_get_link_preview_options(struct json_object *obj, telebot_link_preview_options_t *options); +static telebot_error_e telebot_parser_get_paid_media_info(struct json_object *obj, telebot_paid_media_info_t *info); +static telebot_error_e telebot_parser_get_refunded_payment(struct json_object *obj, telebot_refunded_payment_t *payment); +static telebot_error_e telebot_parser_get_write_access_allowed(struct json_object *obj, telebot_write_access_allowed_t *allowed); +static telebot_error_e telebot_parser_get_users_shared(struct json_object *obj, telebot_users_shared_t *shared); +static telebot_error_e telebot_parser_get_chat_shared(struct json_object *obj, telebot_chat_shared_t *shared); +static telebot_error_e telebot_parser_get_gift_info(struct json_object *obj, telebot_gift_info_t *gift); +static telebot_error_e telebot_parser_get_unique_gift_info(struct json_object *obj, telebot_unique_gift_info_t *gift); +static telebot_error_e telebot_parser_get_chat_boost_added(struct json_object *obj, telebot_chat_boost_added_t *boost); +static telebot_error_e telebot_parser_get_chat_background(struct json_object *obj, telebot_chat_background_t *background); +static telebot_error_e telebot_parser_get_giveaway_created(struct json_object *obj, telebot_giveaway_created_t *giveaway); +static telebot_error_e telebot_parser_get_giveaway_completed(struct json_object *obj, telebot_giveaway_completed_t *giveaway); +static telebot_error_e telebot_parser_get_birthdate(struct json_object *obj, telebot_birthdate_t *birthdate); +static telebot_error_e telebot_parser_get_business_intro(struct json_object *obj, telebot_business_intro_t *intro); +static telebot_error_e telebot_parser_get_business_location(struct json_object *obj, telebot_business_location_t *location); +static telebot_error_e telebot_parser_get_business_opening_hours(struct json_object *obj, telebot_business_opening_hours_t *hours); +static telebot_error_e telebot_parser_get_business_bot_rights(struct json_object *obj, telebot_business_bot_rights_t *rights); +static telebot_error_e telebot_parser_get_paid_media(struct json_object *obj, telebot_paid_media_t *media); +static telebot_error_e telebot_parser_get_gift(struct json_object *obj, telebot_gift_t *gift); +static telebot_error_e telebot_parser_get_unique_gift(struct json_object *obj, telebot_unique_gift_t *gift); +static telebot_error_e telebot_parser_get_shared_user(struct json_object *obj, telebot_shared_user_t *user); struct json_object *telebot_parser_str_to_obj(const char *data) { @@ -105,6 +138,42 @@ telebot_error_e telebot_parser_get_updates(struct json_object *obj, telebot_upda continue; } + struct json_object *business_connection = NULL; + if (json_object_object_get_ex(item, "business_connection", &business_connection)) + { + if (telebot_parser_get_business_connection(business_connection, &(result[index].business_connection)) != TELEBOT_ERROR_NONE) + ERR("Failed to parse business_connection of bot update"); + result[index].update_type = TELEBOT_UPDATE_TYPE_BUSINESS_CONNECTION; + continue; + } + + struct json_object *business_message = NULL; + if (json_object_object_get_ex(item, "business_message", &business_message)) + { + if (telebot_parser_get_message(business_message, &(result[index].business_message)) != TELEBOT_ERROR_NONE) + ERR("Failed to parse business_message of bot update"); + result[index].update_type = TELEBOT_UPDATE_TYPE_BUSINESS_MESSAGE; + continue; + } + + struct json_object *edited_business_message = NULL; + if (json_object_object_get_ex(item, "edited_business_message", &edited_business_message)) + { + if (telebot_parser_get_message(edited_business_message, &(result[index].edited_business_message)) != TELEBOT_ERROR_NONE) + ERR("Failed to parse edited_business_message of bot update"); + result[index].update_type = TELEBOT_UPDATE_TYPE_EDITED_BUSINESS_MESSAGE; + continue; + } + + struct json_object *deleted_business_messages = NULL; + if (json_object_object_get_ex(item, "deleted_business_messages", &deleted_business_messages)) + { + if (telebot_parser_get_business_messages_deleted(deleted_business_messages, &(result[index].deleted_business_messages)) != TELEBOT_ERROR_NONE) + ERR("Failed to parse deleted_business_messages of bot update"); + result[index].update_type = TELEBOT_UPDATE_TYPE_DELETED_BUSINESS_MESSAGES; + continue; + } + struct json_object *callback_query = NULL; if (json_object_object_get_ex(item, "callback_query", &callback_query)) { @@ -132,6 +201,114 @@ telebot_error_e telebot_parser_get_updates(struct json_object *obj, telebot_upda continue; } + struct json_object *my_chat_member = NULL; + if (json_object_object_get_ex(item, "my_chat_member", &my_chat_member)) + { + if (telebot_parser_get_chat_member_updated(my_chat_member, &(result[index].my_chat_member)) != TELEBOT_ERROR_NONE) + ERR("Failed to parse my_chat_member of bot update"); + result[index].update_type = TELEBOT_UPDATE_TYPE_MY_CHAT_MEMBER; + continue; + } + + struct json_object *chat_member = NULL; + if (json_object_object_get_ex(item, "chat_member", &chat_member)) + { + if (telebot_parser_get_chat_member_updated(chat_member, &(result[index].chat_member)) != TELEBOT_ERROR_NONE) + ERR("Failed to parse chat_member of bot update"); + result[index].update_type = TELEBOT_UPDATE_TYPE_CHAT_MEMBER; + continue; + } + + struct json_object *chat_join_request = NULL; + if (json_object_object_get_ex(item, "chat_join_request", &chat_join_request)) + { + if (telebot_parser_get_chat_join_request(chat_join_request, &(result[index].chat_join_request)) != TELEBOT_ERROR_NONE) + ERR("Failed to parse chat_join_request of bot update"); + result[index].update_type = TELEBOT_UPDATE_TYPE_CHAT_JOIN_REQUEST; + continue; + } + + struct json_object *message_reaction = NULL; + if (json_object_object_get_ex(item, "message_reaction", &message_reaction)) + { + if (telebot_parser_get_message_reaction_updated(message_reaction, &(result[index].message_reaction)) != TELEBOT_ERROR_NONE) + ERR("Failed to parse message_reaction of bot update"); + result[index].update_type = TELEBOT_UPDATE_TYPE_MESSAGE_REACTION; + continue; + } + + struct json_object *message_reaction_count = NULL; + if (json_object_object_get_ex(item, "message_reaction_count", &message_reaction_count)) + { + if (telebot_parser_get_message_reaction_count_updated(message_reaction_count, &(result[index].message_reaction_count)) != TELEBOT_ERROR_NONE) + ERR("Failed to parse message_reaction_count of bot update"); + result[index].update_type = TELEBOT_UPDATE_TYPE_MESSAGE_REACTION_COUNT; + continue; + } + + struct json_object *chat_boost = NULL; + if (json_object_object_get_ex(item, "chat_boost", &chat_boost)) + { + if (telebot_parser_get_chat_boost_updated(chat_boost, &(result[index].chat_boost)) != TELEBOT_ERROR_NONE) + ERR("Failed to parse chat_boost of bot update"); + result[index].update_type = TELEBOT_UPDATE_TYPE_CHAT_BOOST; + continue; + } + + struct json_object *chat_boost_removed = NULL; + if (json_object_object_get_ex(item, "removed_chat_boost", &chat_boost_removed)) + { + if (telebot_parser_get_chat_boost_removed(chat_boost_removed, &(result[index].chat_boost_removed)) != TELEBOT_ERROR_NONE) + ERR("Failed to parse chat_boost_removed of bot update"); + result[index].update_type = TELEBOT_UPDATE_TYPE_REMOVED_CHAT_BOOST; + continue; + } + + struct json_object *inline_query = NULL; + if (json_object_object_get_ex(item, "inline_query", &inline_query)) + { + if (telebot_parser_get_inline_query(inline_query, &(result[index].inline_query)) != TELEBOT_ERROR_NONE) + ERR("Failed to parse inline_query of bot update"); + result[index].update_type = TELEBOT_UPDATE_TYPE_INLINE_QUERY; + continue; + } + + struct json_object *chosen_inline_result = NULL; + if (json_object_object_get_ex(item, "chosen_inline_result", &chosen_inline_result)) + { + if (telebot_parser_get_chosen_inline_result(chosen_inline_result, &(result[index].chosen_inline_result)) != TELEBOT_ERROR_NONE) + ERR("Failed to parse chosen_inline_result of bot update"); + result[index].update_type = TELEBOT_UPDATE_TYPE_CHOSEN_INLINE_RESULT; + continue; + } + + struct json_object *shipping_query = NULL; + if (json_object_object_get_ex(item, "shipping_query", &shipping_query)) + { + if (telebot_parser_get_shipping_query(shipping_query, &(result[index].shipping_query)) != TELEBOT_ERROR_NONE) + ERR("Failed to parse shipping_query of bot update"); + result[index].update_type = TELEBOT_UPDATE_TYPE_SHIPPING_QUERY; + continue; + } + + struct json_object *pre_checkout_query = NULL; + if (json_object_object_get_ex(item, "pre_checkout_query", &pre_checkout_query)) + { + if (telebot_parser_get_pre_checkout_query(pre_checkout_query, &(result[index].pre_checkout_query)) != TELEBOT_ERROR_NONE) + ERR("Failed to parse pre_checkout_query of bot update"); + result[index].update_type = TELEBOT_UPDATE_TYPE_PRE_CHECKOUT_QUERY; + continue; + } + + struct json_object *purchased_paid_media = NULL; + if (json_object_object_get_ex(item, "purchased_paid_media", &purchased_paid_media)) + { + if (telebot_parser_get_paid_media_purchased(purchased_paid_media, &(result[index].purchased_paid_media)) != TELEBOT_ERROR_NONE) + ERR("Failed to parse purchased_paid_media of bot update"); + result[index].update_type = TELEBOT_UPDATE_TYPE_PURCHASED_PAID_MEDIA; + continue; + } + } /* for index */ return TELEBOT_ERROR_NONE; @@ -268,6 +445,22 @@ telebot_error_e telebot_parser_get_user(struct json_object *obj, telebot_user_t if (json_object_object_get_ex(obj, "supports_inline_queries", &supports_inline_queries)) user->supports_inline_queries = json_object_get_boolean(supports_inline_queries); + struct json_object *can_connect_to_business = NULL; + if (json_object_object_get_ex(obj, "can_connect_to_business", &can_connect_to_business)) + user->can_connect_to_business = json_object_get_boolean(can_connect_to_business); + + struct json_object *has_main_web_app = NULL; + if (json_object_object_get_ex(obj, "has_main_web_app", &has_main_web_app)) + user->has_main_web_app = json_object_get_boolean(has_main_web_app); + + struct json_object *has_topics_enabled = NULL; + if (json_object_object_get_ex(obj, "has_topics_enabled", &has_topics_enabled)) + user->has_topics_enabled = json_object_get_boolean(has_topics_enabled); + + struct json_object *allows_users_to_create_topics = NULL; + if (json_object_object_get_ex(obj, "allows_users_to_create_topics", &allows_users_to_create_topics)) + user->allows_users_to_create_topics = json_object_get_boolean(allows_users_to_create_topics); + return TELEBOT_ERROR_NONE; } @@ -339,6 +532,18 @@ telebot_error_e telebot_parser_get_chat(struct json_object *obj, telebot_chat_t if (json_object_object_get_ex(obj, "is_forum", &is_forum)) chat->is_forum = json_object_get_boolean(is_forum); + struct json_object *is_direct_messages = NULL; + if (json_object_object_get_ex(obj, "is_direct_messages", &is_direct_messages)) + chat->is_direct_messages = json_object_get_boolean(is_direct_messages); + + struct json_object *accent_color_id = NULL; + if (json_object_object_get_ex(obj, "accent_color_id", &accent_color_id)) + chat->accent_color_id = json_object_get_int(accent_color_id); + + struct json_object *max_reaction_count = NULL; + if (json_object_object_get_ex(obj, "max_reaction_count", &max_reaction_count)) + chat->max_reaction_count = json_object_get_int(max_reaction_count); + struct json_object *chat_photo = NULL; if (json_object_object_get_ex(obj, "photo", &chat_photo)) { @@ -366,10 +571,56 @@ telebot_error_e telebot_parser_get_chat(struct json_object *obj, telebot_chat_t } } + struct json_object *birthdate = NULL; + if (json_object_object_get_ex(obj, "birthdate", &birthdate)) + { + chat->birthdate = calloc(1, sizeof(telebot_birthdate_t)); + telebot_parser_get_birthdate(birthdate, chat->birthdate); + } + + struct json_object *business_intro = NULL; + if (json_object_object_get_ex(obj, "business_intro", &business_intro)) + { + chat->business_intro = calloc(1, sizeof(telebot_business_intro_t)); + telebot_parser_get_business_intro(business_intro, chat->business_intro); + } + + struct json_object *business_location = NULL; + if (json_object_object_get_ex(obj, "business_location", &business_location)) + { + chat->business_location = calloc(1, sizeof(telebot_business_location_t)); + telebot_parser_get_business_location(business_location, chat->business_location); + } + + struct json_object *business_opening_hours = NULL; + if (json_object_object_get_ex(obj, "business_opening_hours", &business_opening_hours)) + { + chat->business_opening_hours = calloc(1, sizeof(telebot_business_opening_hours_t)); + telebot_parser_get_business_opening_hours(business_opening_hours, chat->business_opening_hours); + } + + struct json_object *personal_chat = NULL; + if (json_object_object_get_ex(obj, "personal_chat", &personal_chat)) + { + chat->personal_chat = calloc(1, sizeof(telebot_chat_t)); + telebot_parser_get_chat(personal_chat, chat->personal_chat); + } + + struct json_object *parent_chat = NULL; + if (json_object_object_get_ex(obj, "parent_chat", &parent_chat)) + { + chat->parent_chat = calloc(1, sizeof(telebot_chat_t)); + telebot_parser_get_chat(parent_chat, chat->parent_chat); + } + struct json_object *emoji_status_custom_emoji_id = NULL; if (json_object_object_get_ex(obj, "emoji_status_custom_emoji_id", &emoji_status_custom_emoji_id)) chat->emoji_status_custom_emoji_id = TELEBOT_SAFE_STRDUP(json_object_get_string(emoji_status_custom_emoji_id)); + struct json_object *emoji_status_expiration_date = NULL; + if (json_object_object_get_ex(obj, "emoji_status_expiration_date", &emoji_status_expiration_date)) + chat->emoji_status_expiration_date = json_object_get_int(emoji_status_expiration_date); + struct json_object *bio = NULL; if (json_object_object_get_ex(obj, "bio", &bio)) chat->bio = TELEBOT_SAFE_STRDUP(json_object_get_string(bio)); @@ -424,6 +675,18 @@ telebot_error_e telebot_parser_get_chat(struct json_object *obj, telebot_chat_t if (json_object_object_get_ex(obj, "slow_mode_delay", &slow_mode_delay)) chat->slow_mode_delay = json_object_get_int(slow_mode_delay); + struct json_object *unrestrict_boost_count = NULL; + if (json_object_object_get_ex(obj, "unrestrict_boost_count", &unrestrict_boost_count)) + chat->unrestrict_boost_count = json_object_get_int(unrestrict_boost_count); + + struct json_object *has_aggressive_anti_spam_enabled = NULL; + if (json_object_object_get_ex(obj, "has_aggressive_anti_spam_enabled", &has_aggressive_anti_spam_enabled)) + chat->has_aggressive_anti_spam_enabled = json_object_get_boolean(has_aggressive_anti_spam_enabled); + + struct json_object *has_hidden_members = NULL; + if (json_object_object_get_ex(obj, "has_hidden_members", &has_hidden_members)) + chat->has_hidden_members = json_object_get_boolean(has_hidden_members); + struct json_object *has_protected_content = NULL; if (json_object_object_get_ex(obj, "has_protected_content", &has_protected_content)) chat->has_protected_content = json_object_get_boolean(has_protected_content); @@ -440,6 +703,10 @@ telebot_error_e telebot_parser_get_chat(struct json_object *obj, telebot_chat_t if (json_object_object_get_ex(obj, "can_set_sticker_set", &can_set_sticker_set)) chat->can_set_sticker_set = json_object_get_boolean(can_set_sticker_set); + struct json_object *custom_emoji_sticker_set_name = NULL; + if (json_object_object_get_ex(obj, "custom_emoji_sticker_set_name", &custom_emoji_sticker_set_name)) + chat->custom_emoji_sticker_set_name = TELEBOT_SAFE_STRDUP(json_object_get_string(custom_emoji_sticker_set_name)); + struct json_object *linked_chat_id = NULL; if (json_object_object_get_ex(obj, "linked_chat_id", &linked_chat_id)) chat->linked_chat_id = json_object_get_int64(linked_chat_id); @@ -531,6 +798,17 @@ telebot_error_e telebot_parser_get_message(struct json_object *obj, telebot_mess return TELEBOT_ERROR_OPERATION_FAILED; } + struct json_object *forward_origin = NULL; + if (json_object_object_get_ex(obj, "forward_origin", &forward_origin)) + { + msg->forward_origin = calloc(1, sizeof(telebot_message_origin_t)); + if (telebot_parser_get_message_origin(forward_origin, msg->forward_origin) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->forward_origin); + } + } + /* Optional Fields */ struct json_object *message_thread_id = NULL; if (json_object_object_get_ex(obj, "message_thread_id", &message_thread_id)) @@ -558,6 +836,25 @@ telebot_error_e telebot_parser_get_message(struct json_object *obj, telebot_mess } } + struct json_object *sender_boost_count = NULL; + if (json_object_object_get_ex(obj, "sender_boost_count", &sender_boost_count)) + msg->sender_boost_count = json_object_get_int(sender_boost_count); + + struct json_object *sender_business_bot = NULL; + if (json_object_object_get_ex(obj, "sender_business_bot", &sender_business_bot)) + { + msg->sender_business_bot = calloc(1, sizeof(telebot_user_t)); + if (telebot_parser_get_user(sender_business_bot, msg->sender_business_bot) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->sender_business_bot); + } + } + + struct json_object *business_connection_id = NULL; + if (json_object_object_get_ex(obj, "business_connection_id", &business_connection_id)) + msg->business_connection_id = TELEBOT_SAFE_STRDUP(json_object_get_string(business_connection_id)); + struct json_object *forward_from = NULL; if (json_object_object_get_ex(obj, "forward_from", &forward_from)) { @@ -615,6 +912,39 @@ telebot_error_e telebot_parser_get_message(struct json_object *obj, telebot_mess } } + struct json_object *external_reply = NULL; + if (json_object_object_get_ex(obj, "external_reply", &external_reply)) + { + msg->external_reply = calloc(1, sizeof(telebot_external_reply_info_t)); + if (telebot_parser_get_external_reply_info(external_reply, msg->external_reply) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->external_reply); + } + } + + struct json_object *quote = NULL; + if (json_object_object_get_ex(obj, "quote", "e)) + { + msg->quote = calloc(1, sizeof(telebot_text_quote_t)); + if (telebot_parser_get_text_quote(quote, msg->quote) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->quote); + } + } + + struct json_object *reply_to_story = NULL; + if (json_object_object_get_ex(obj, "reply_to_story", &reply_to_story)) + { + msg->reply_to_story = calloc(1, sizeof(telebot_story_t)); + if (telebot_parser_get_story(reply_to_story, msg->reply_to_story) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->reply_to_story); + } + } + struct json_object *via_bot = NULL; if (json_object_object_get_ex(obj, "via_bot", &via_bot)) { @@ -634,6 +964,10 @@ telebot_error_e telebot_parser_get_message(struct json_object *obj, telebot_mess if (json_object_object_get_ex(obj, "has_protected_content", &has_protected_content)) msg->has_protected_content = json_object_get_boolean(has_protected_content); + struct json_object *is_paid_post = NULL; + if (json_object_object_get_ex(obj, "is_paid_post", &is_paid_post)) + msg->is_paid_post = json_object_get_boolean(is_paid_post); + struct json_object *media_group_id = NULL; if (json_object_object_get_ex(obj, "media_group_id", &media_group_id)) msg->media_group_id = TELEBOT_SAFE_STRDUP(json_object_get_string(media_group_id)); @@ -654,6 +988,21 @@ telebot_error_e telebot_parser_get_message(struct json_object *obj, telebot_mess ERR("Failed to get from message object"); } + struct json_object *link_preview_options = NULL; + if (json_object_object_get_ex(obj, "link_preview_options", &link_preview_options)) + { + msg->link_preview_options = calloc(1, sizeof(telebot_link_preview_options_t)); + if (telebot_parser_get_link_preview_options(link_preview_options, msg->link_preview_options) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->link_preview_options); + } + } + + struct json_object *effect_id = NULL; + if (json_object_object_get_ex(obj, "effect_id", &effect_id)) + msg->effect_id = TELEBOT_SAFE_STRDUP(json_object_get_string(effect_id)); + struct json_object *animation = NULL; if (json_object_object_get_ex(obj, "animation", &animation)) { @@ -687,6 +1036,17 @@ telebot_error_e telebot_parser_get_message(struct json_object *obj, telebot_mess } } + struct json_object *paid_media = NULL; + if (json_object_object_get_ex(obj, "paid_media", &paid_media)) + { + msg->paid_media = calloc(1, sizeof(telebot_paid_media_info_t)); + if (telebot_parser_get_paid_media_info(paid_media, msg->paid_media) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->paid_media); + } + } + struct json_object *photo = NULL; if (json_object_object_get_ex(obj, "photo", &photo)) { @@ -741,6 +1101,14 @@ telebot_error_e telebot_parser_get_message(struct json_object *obj, telebot_mess ERR("Failed to get from message object"); } + struct json_object *show_caption_above_media = NULL; + if (json_object_object_get_ex(obj, "show_caption_above_media", &show_caption_above_media)) + msg->show_caption_above_media = json_object_get_boolean(show_caption_above_media); + + struct json_object *has_media_spoiler = NULL; + if (json_object_object_get_ex(obj, "has_media_spoiler", &has_media_spoiler)) + msg->has_media_spoiler = json_object_get_boolean(has_media_spoiler); + struct json_object *contact = NULL; if (json_object_object_get_ex(obj, "contact", &contact)) { @@ -878,7 +1246,257 @@ telebot_error_e telebot_parser_get_message(struct json_object *obj, telebot_mess if (json_object_object_get_ex(obj, "connected_website", &connected_website)) msg->connected_website = TELEBOT_SAFE_STRDUP(json_object_get_string(connected_website)); - // TODO: implement invoce, successful_payment, passport_data, reply_markup + struct json_object *invoice = NULL; + if (json_object_object_get_ex(obj, "invoice", &invoice)) + { + msg->invoice = calloc(1, sizeof(telebot_invoice_t)); + if (telebot_parser_get_invoice(invoice, msg->invoice) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->invoice); + } + } + + struct json_object *successful_payment = NULL; + if (json_object_object_get_ex(obj, "successful_payment", &successful_payment)) + { + msg->successful_payment = calloc(1, sizeof(telebot_successful_payment_t)); + if (telebot_parser_get_successful_payment(successful_payment, msg->successful_payment) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->successful_payment); + } + } + + struct json_object *refunded_payment = NULL; + if (json_object_object_get_ex(obj, "refunded_payment", &refunded_payment)) + { + msg->refunded_payment = calloc(1, sizeof(telebot_refunded_payment_t)); + if (telebot_parser_get_refunded_payment(refunded_payment, msg->refunded_payment) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->refunded_payment); + } + } + + struct json_object *write_access_allowed = NULL; + if (json_object_object_get_ex(obj, "write_access_allowed", &write_access_allowed)) + { + msg->write_access_allowed = calloc(1, sizeof(telebot_write_access_allowed_t)); + if (telebot_parser_get_write_access_allowed(write_access_allowed, msg->write_access_allowed) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->write_access_allowed); + } + } + + struct json_object *passport_data = NULL; + if (json_object_object_get_ex(obj, "passport_data", &passport_data)) + { + msg->passport_data = calloc(1, sizeof(telebot_passport_data_t)); + if (telebot_parser_get_passport_data(passport_data, msg->passport_data) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->passport_data); + } + } + + struct json_object *proximity_alert_triggered = NULL; + if (json_object_object_get_ex(obj, "proximity_alert_triggered", &proximity_alert_triggered)) + { + msg->proximity_alert_triggered = calloc(1, sizeof(telebot_proximity_alert_triggered_t)); + if (telebot_parser_get_proximity_alert_triggered(proximity_alert_triggered, msg->proximity_alert_triggered) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->proximity_alert_triggered); + } + } + + struct json_object *forum_topic_created = NULL; + if (json_object_object_get_ex(obj, "forum_topic_created", &forum_topic_created)) + { + msg->forum_topic_created = calloc(1, sizeof(telebot_forum_topic_created_t)); + if (telebot_parser_get_forum_topic_created(forum_topic_created, msg->forum_topic_created) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->forum_topic_created); + } + } + + struct json_object *forum_topic_edited = NULL; + if (json_object_object_get_ex(obj, "forum_topic_edited", &forum_topic_edited)) + { + msg->forum_topic_edited = calloc(1, sizeof(telebot_forum_topic_edited_t)); + if (telebot_parser_get_forum_topic_edited(forum_topic_edited, msg->forum_topic_edited) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->forum_topic_edited); + } + } + + struct json_object *forum_topic_closed = NULL; + if (json_object_object_get_ex(obj, "forum_topic_closed", &forum_topic_closed)) + { + msg->forum_topic_closed = calloc(1, sizeof(telebot_forum_topic_closed_t)); + msg->forum_topic_closed->dummy = true; + } + + struct json_object *forum_topic_reopened = NULL; + if (json_object_object_get_ex(obj, "forum_topic_reopened", &forum_topic_reopened)) + { + msg->forum_topic_reopened = calloc(1, sizeof(telebot_forum_topic_reopened_t)); + msg->forum_topic_reopened->dummy = true; + } + + struct json_object *video_chat_scheduled = NULL; + if (json_object_object_get_ex(obj, "video_chat_scheduled", &video_chat_scheduled)) + { + msg->video_chat_scheduled = calloc(1, sizeof(telebot_video_chat_scheduled_t)); + if (telebot_parser_get_video_chat_scheduled(video_chat_scheduled, msg->video_chat_scheduled) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->video_chat_scheduled); + } + } + + struct json_object *video_chat_started = NULL; + if (json_object_object_get_ex(obj, "video_chat_started", &video_chat_started)) + { + msg->video_chat_started = calloc(1, sizeof(telebot_video_chat_started_t)); + msg->video_chat_started->dummy = true; + } + + struct json_object *video_chat_ended = NULL; + if (json_object_object_get_ex(obj, "video_chat_ended", &video_chat_ended)) + { + msg->video_chat_ended = calloc(1, sizeof(telebot_video_chat_ended_t)); + if (telebot_parser_get_video_chat_ended(video_chat_ended, msg->video_chat_ended) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->video_chat_ended); + } + } + + struct json_object *video_chat_participants_invited = NULL; + if (json_object_object_get_ex(obj, "video_chat_participants_invited", &video_chat_participants_invited)) + { + msg->video_chat_participants_invited = calloc(1, sizeof(telebot_video_chat_participants_invited_t)); + if (telebot_parser_get_video_chat_participants_invited(video_chat_participants_invited, msg->video_chat_participants_invited) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->video_chat_participants_invited); + } + } + + struct json_object *web_app_data = NULL; + if (json_object_object_get_ex(obj, "web_app_data", &web_app_data)) + { + msg->web_app_data = calloc(1, sizeof(telebot_web_app_data_t)); + if (telebot_parser_get_web_app_data(web_app_data, msg->web_app_data) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->web_app_data); + } + } + + struct json_object *users_shared = NULL; + if (json_object_object_get_ex(obj, "users_shared", &users_shared)) + { + msg->users_shared = calloc(1, sizeof(telebot_users_shared_t)); + if (telebot_parser_get_users_shared(users_shared, msg->users_shared) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->users_shared); + } + } + + struct json_object *chat_shared = NULL; + if (json_object_object_get_ex(obj, "chat_shared", &chat_shared)) + { + msg->chat_shared = calloc(1, sizeof(telebot_chat_shared_t)); + if (telebot_parser_get_chat_shared(chat_shared, msg->chat_shared) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->chat_shared); + } + } + + struct json_object *gift = NULL; + if (json_object_object_get_ex(obj, "gift", &gift)) + { + msg->gift = calloc(1, sizeof(telebot_gift_info_t)); + if (telebot_parser_get_gift_info(gift, msg->gift) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->gift); + } + } + + struct json_object *unique_gift = NULL; + if (json_object_object_get_ex(obj, "unique_gift", &unique_gift)) + { + msg->unique_gift = calloc(1, sizeof(telebot_unique_gift_info_t)); + if (telebot_parser_get_unique_gift_info(unique_gift, msg->unique_gift) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->unique_gift); + } + } + + struct json_object *boost_added = NULL; + if (json_object_object_get_ex(obj, "boost_added", &boost_added)) + { + msg->boost_added = calloc(1, sizeof(telebot_chat_boost_added_t)); + if (telebot_parser_get_chat_boost_added(boost_added, msg->boost_added) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->boost_added); + } + } + + struct json_object *chat_background_set = NULL; + if (json_object_object_get_ex(obj, "chat_background_set", &chat_background_set)) + { + msg->chat_background_set = calloc(1, sizeof(telebot_chat_background_t)); + if (telebot_parser_get_chat_background(chat_background_set, msg->chat_background_set) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->chat_background_set); + } + } + + struct json_object *giveaway_created = NULL; + if (json_object_object_get_ex(obj, "giveaway_created", &giveaway_created)) + { + msg->giveaway_created = calloc(1, sizeof(telebot_giveaway_created_t)); + if (telebot_parser_get_giveaway_created(giveaway_created, msg->giveaway_created) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->giveaway_created); + } + } + + struct json_object *giveaway_completed = NULL; + if (json_object_object_get_ex(obj, "giveaway_completed", &giveaway_completed)) + { + msg->giveaway_completed = calloc(1, sizeof(telebot_giveaway_completed_t)); + if (telebot_parser_get_giveaway_completed(giveaway_completed, msg->giveaway_completed) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->giveaway_completed); + } + } + + struct json_object *reply_markup = NULL; + if (json_object_object_get_ex(obj, "reply_markup", &reply_markup)) + { + msg->reply_markup = calloc(1, sizeof(telebot_inline_keyboard_markup_t)); + if (telebot_parser_get_inline_keyboard_markup(reply_markup, msg->reply_markup) != TELEBOT_ERROR_NONE) + { + ERR("Failed to get from message object"); + TELEBOT_SAFE_FREE(msg->reply_markup); + } + } return TELEBOT_ERROR_NONE; } @@ -2210,3 +2828,1926 @@ telebot_parser_get_message_auto_delete_timer_changed(struct json_object *obj, return TELEBOT_ERROR_NONE; } + +telebot_error_e telebot_parser_get_invoice(struct json_object *obj, telebot_invoice_t *invoice) +{ + if ((obj == NULL) || (invoice == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(invoice, 0, sizeof(telebot_invoice_t)); + struct json_object *title = NULL; + if (json_object_object_get_ex(obj, "title", &title)) + invoice->title = TELEBOT_SAFE_STRDUP(json_object_get_string(title)); + + struct json_object *description = NULL; + if (json_object_object_get_ex(obj, "description", &description)) + invoice->description = TELEBOT_SAFE_STRDUP(json_object_get_string(description)); + + struct json_object *start_parameter = NULL; + if (json_object_object_get_ex(obj, "start_parameter", &start_parameter)) + invoice->start_parameter = TELEBOT_SAFE_STRDUP(json_object_get_string(start_parameter)); + + struct json_object *currency = NULL; + if (json_object_object_get_ex(obj, "currency", ¤cy)) + invoice->currency = TELEBOT_SAFE_STRDUP(json_object_get_string(currency)); + + struct json_object *total_amount = NULL; + if (json_object_object_get_ex(obj, "total_amount", &total_amount)) + invoice->total_amount = json_object_get_int(total_amount); + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_shipping_address(struct json_object *obj, telebot_shipping_address_t *address) +{ + if ((obj == NULL) || (address == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(address, 0, sizeof(telebot_shipping_address_t)); + struct json_object *country_code = NULL; + if (json_object_object_get_ex(obj, "country_code", &country_code)) + address->country_code = TELEBOT_SAFE_STRDUP(json_object_get_string(country_code)); + + struct json_object *state = NULL; + if (json_object_object_get_ex(obj, "state", &state)) + address->state = TELEBOT_SAFE_STRDUP(json_object_get_string(state)); + + struct json_object *city = NULL; + if (json_object_object_get_ex(obj, "city", &city)) + address->city = TELEBOT_SAFE_STRDUP(json_object_get_string(city)); + + struct json_object *street_line1 = NULL; + if (json_object_object_get_ex(obj, "street_line1", &street_line1)) + address->street_line1 = TELEBOT_SAFE_STRDUP(json_object_get_string(street_line1)); + + struct json_object *street_line2 = NULL; + if (json_object_object_get_ex(obj, "street_line2", &street_line2)) + address->street_line2 = TELEBOT_SAFE_STRDUP(json_object_get_string(street_line2)); + + struct json_object *post_code = NULL; + if (json_object_object_get_ex(obj, "post_code", &post_code)) + address->post_code = TELEBOT_SAFE_STRDUP(json_object_get_string(post_code)); + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_order_info(struct json_object *obj, telebot_order_info_t *info) +{ + if ((obj == NULL) || (info == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(info, 0, sizeof(telebot_order_info_t)); + struct json_object *name = NULL; + if (json_object_object_get_ex(obj, "name", &name)) + info->name = TELEBOT_SAFE_STRDUP(json_object_get_string(name)); + + struct json_object *phone_number = NULL; + if (json_object_object_get_ex(obj, "phone_number", &phone_number)) + info->phone_number = TELEBOT_SAFE_STRDUP(json_object_get_string(phone_number)); + + struct json_object *email = NULL; + if (json_object_object_get_ex(obj, "email", &email)) + info->email = TELEBOT_SAFE_STRDUP(json_object_get_string(email)); + + struct json_object *shipping_address = NULL; + if (json_object_object_get_ex(obj, "shipping_address", &shipping_address)) + { + info->shipping_address = calloc(1, sizeof(telebot_shipping_address_t)); + telebot_parser_get_shipping_address(shipping_address, info->shipping_address); + } + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_successful_payment(struct json_object *obj, telebot_successful_payment_t *payment) +{ + if ((obj == NULL) || (payment == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(payment, 0, sizeof(telebot_successful_payment_t)); + struct json_object *currency = NULL; + if (json_object_object_get_ex(obj, "currency", ¤cy)) + payment->currency = TELEBOT_SAFE_STRDUP(json_object_get_string(currency)); + + struct json_object *total_amount = NULL; + if (json_object_object_get_ex(obj, "total_amount", &total_amount)) + payment->total_amount = json_object_get_int(total_amount); + + struct json_object *invoice_payload = NULL; + if (json_object_object_get_ex(obj, "invoice_payload", &invoice_payload)) + payment->invoice_payload = TELEBOT_SAFE_STRDUP(json_object_get_string(invoice_payload)); + + struct json_object *shipping_option_id = NULL; + if (json_object_object_get_ex(obj, "shipping_option_id", &shipping_option_id)) + payment->shipping_option_id = TELEBOT_SAFE_STRDUP(json_object_get_string(shipping_option_id)); + + struct json_object *order_info = NULL; + if (json_object_object_get_ex(obj, "order_info", &order_info)) + { + payment->order_info = calloc(1, sizeof(telebot_order_info_t)); + telebot_parser_get_order_info(order_info, payment->order_info); + } + + struct json_object *telegram_payment_charge_id = NULL; + if (json_object_object_get_ex(obj, "telegram_payment_charge_id", &telegram_payment_charge_id)) + payment->telegram_payment_charge_id = TELEBOT_SAFE_STRDUP(json_object_get_string(telegram_payment_charge_id)); + + struct json_object *provider_payment_charge_id = NULL; + if (json_object_object_get_ex(obj, "provider_payment_charge_id", &provider_payment_charge_id)) + payment->provider_payment_charge_id = TELEBOT_SAFE_STRDUP(json_object_get_string(provider_payment_charge_id)); + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_passport_file(struct json_object *obj, telebot_passport_file_t *file) +{ + if ((obj == NULL) || (file == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(file, 0, sizeof(telebot_passport_file_t)); + struct json_object *file_id = NULL; + if (json_object_object_get_ex(obj, "file_id", &file_id)) + file->file_id = TELEBOT_SAFE_STRDUP(json_object_get_string(file_id)); + + struct json_object *file_unique_id = NULL; + if (json_object_object_get_ex(obj, "file_unique_id", &file_unique_id)) + file->file_unique_id = TELEBOT_SAFE_STRDUP(json_object_get_string(file_unique_id)); + + struct json_object *file_size = NULL; + if (json_object_object_get_ex(obj, "file_size", &file_size)) + file->file_size = json_object_get_int(file_size); + + struct json_object *date = NULL; + if (json_object_object_get_ex(obj, "date", &date)) + file->date = json_object_get_int(date); + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_encrypted_passport_element(struct json_object *obj, telebot_encrypted_passport_element_t *element) +{ + if ((obj == NULL) || (element == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(element, 0, sizeof(telebot_encrypted_passport_element_t)); + struct json_object *type = NULL; + if (json_object_object_get_ex(obj, "type", &type)) + element->type = TELEBOT_SAFE_STRDUP(json_object_get_string(type)); + + struct json_object *data = NULL; + if (json_object_object_get_ex(obj, "data", &data)) + element->data = TELEBOT_SAFE_STRDUP(json_object_get_string(data)); + + struct json_object *phone_number = NULL; + if (json_object_object_get_ex(obj, "phone_number", &phone_number)) + element->phone_number = TELEBOT_SAFE_STRDUP(json_object_get_string(phone_number)); + + struct json_object *email = NULL; + if (json_object_object_get_ex(obj, "email", &email)) + element->email = TELEBOT_SAFE_STRDUP(json_object_get_string(email)); + + struct json_object *files = NULL; + if (json_object_object_get_ex(obj, "files", &files)) + { + int array_len = json_object_array_length(files); + element->count_files = array_len; + element->files = calloc(array_len, sizeof(telebot_passport_file_t)); + for (int i = 0; i < array_len; i++) + telebot_parser_get_passport_file(json_object_array_get_idx(files, i), &(element->files[i])); + } + + struct json_object *front_side = NULL; + if (json_object_object_get_ex(obj, "front_side", &front_side)) + { + element->front_side = calloc(1, sizeof(telebot_passport_file_t)); + telebot_parser_get_passport_file(front_side, element->front_side); + } + + struct json_object *reverse_side = NULL; + if (json_object_object_get_ex(obj, "reverse_side", &reverse_side)) + { + element->reverse_side = calloc(1, sizeof(telebot_passport_file_t)); + telebot_parser_get_passport_file(reverse_side, element->reverse_side); + } + + struct json_object *selfie = NULL; + if (json_object_object_get_ex(obj, "selfie", &selfie)) + { + element->selfie = calloc(1, sizeof(telebot_passport_file_t)); + telebot_parser_get_passport_file(selfie, element->selfie); + } + + struct json_object *translation = NULL; + if (json_object_object_get_ex(obj, "translation", &translation)) + { + int array_len = json_object_array_length(translation); + element->count_translation = array_len; + element->translation = calloc(array_len, sizeof(telebot_passport_file_t)); + for (int i = 0; i < array_len; i++) + telebot_parser_get_passport_file(json_object_array_get_idx(translation, i), &(element->translation[i])); + } + + struct json_object *hash = NULL; + if (json_object_object_get_ex(obj, "hash", &hash)) + element->hash = TELEBOT_SAFE_STRDUP(json_object_get_string(hash)); + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_encrypted_credentials(struct json_object *obj, telebot_encrypted_credentials_t *credentials) +{ + if ((obj == NULL) || (credentials == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(credentials, 0, sizeof(telebot_encrypted_credentials_t)); + struct json_object *data = NULL; + if (json_object_object_get_ex(obj, "data", &data)) + credentials->data = TELEBOT_SAFE_STRDUP(json_object_get_string(data)); + + struct json_object *hash = NULL; + if (json_object_object_get_ex(obj, "hash", &hash)) + credentials->hash = TELEBOT_SAFE_STRDUP(json_object_get_string(hash)); + + struct json_object *secret = NULL; + if (json_object_object_get_ex(obj, "secret", &secret)) + credentials->secret = TELEBOT_SAFE_STRDUP(json_object_get_string(secret)); + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_passport_data(struct json_object *obj, telebot_passport_data_t *passport_data) +{ + if ((obj == NULL) || (passport_data == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(passport_data, 0, sizeof(telebot_passport_data_t)); + struct json_object *data = NULL; + if (json_object_object_get_ex(obj, "data", &data)) + { + int array_len = json_object_array_length(data); + passport_data->count_data = array_len; + passport_data->data = calloc(array_len, sizeof(telebot_encrypted_passport_element_t)); + for (int i = 0; i < array_len; i++) + telebot_parser_get_encrypted_passport_element(json_object_array_get_idx(data, i), &(passport_data->data[i])); + } + + struct json_object *credentials = NULL; + if (json_object_object_get_ex(obj, "credentials", &credentials)) + { + passport_data->credentials = calloc(1, sizeof(telebot_encrypted_credentials_t)); + telebot_parser_get_encrypted_credentials(credentials, passport_data->credentials); + } + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_proximity_alert_triggered(struct json_object *obj, telebot_proximity_alert_triggered_t *alert) +{ + if ((obj == NULL) || (alert == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(alert, 0, sizeof(telebot_proximity_alert_triggered_t)); + struct json_object *traveler = NULL; + if (json_object_object_get_ex(obj, "traveler", &traveler)) + { + alert->traveler = calloc(1, sizeof(telebot_user_t)); + telebot_parser_get_user(traveler, alert->traveler); + } + + struct json_object *watcher = NULL; + if (json_object_object_get_ex(obj, "watcher", &watcher)) + { + alert->watcher = calloc(1, sizeof(telebot_user_t)); + telebot_parser_get_user(watcher, alert->watcher); + } + + struct json_object *distance = NULL; + if (json_object_object_get_ex(obj, "distance", &distance)) + alert->distance = json_object_get_int(distance); + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_forum_topic_created(struct json_object *obj, telebot_forum_topic_created_t *topic) +{ + if ((obj == NULL) || (topic == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(topic, 0, sizeof(telebot_forum_topic_created_t)); + struct json_object *name = NULL; + if (json_object_object_get_ex(obj, "name", &name)) + topic->name = TELEBOT_SAFE_STRDUP(json_object_get_string(name)); + + struct json_object *icon_color = NULL; + if (json_object_object_get_ex(obj, "icon_color", &icon_color)) + topic->icon_color = json_object_get_int(icon_color); + + struct json_object *icon_custom_emoji_id = NULL; + if (json_object_object_get_ex(obj, "icon_custom_emoji_id", &icon_custom_emoji_id)) + topic->icon_custom_emoji_id = TELEBOT_SAFE_STRDUP(json_object_get_string(icon_custom_emoji_id)); + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_forum_topic_edited(struct json_object *obj, telebot_forum_topic_edited_t *topic) +{ + if ((obj == NULL) || (topic == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(topic, 0, sizeof(telebot_forum_topic_edited_t)); + struct json_object *name = NULL; + if (json_object_object_get_ex(obj, "name", &name)) + topic->name = TELEBOT_SAFE_STRDUP(json_object_get_string(name)); + + struct json_object *icon_custom_emoji_id = NULL; + if (json_object_object_get_ex(obj, "icon_custom_emoji_id", &icon_custom_emoji_id)) + topic->icon_custom_emoji_id = TELEBOT_SAFE_STRDUP(json_object_get_string(icon_custom_emoji_id)); + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_video_chat_scheduled(struct json_object *obj, telebot_video_chat_scheduled_t *scheduled) +{ + if ((obj == NULL) || (scheduled == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(scheduled, 0, sizeof(telebot_video_chat_scheduled_t)); + struct json_object *start_date = NULL; + if (json_object_object_get_ex(obj, "start_date", &start_date)) + scheduled->start_date = json_object_get_int(start_date); + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_video_chat_ended(struct json_object *obj, telebot_video_chat_ended_t *ended) +{ + if ((obj == NULL) || (ended == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(ended, 0, sizeof(telebot_video_chat_ended_t)); + struct json_object *duration = NULL; + if (json_object_object_get_ex(obj, "duration", &duration)) + ended->duration = json_object_get_int(duration); + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_video_chat_participants_invited(struct json_object *obj, telebot_video_chat_participants_invited_t *invited) +{ + if ((obj == NULL) || (invited == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(invited, 0, sizeof(telebot_video_chat_participants_invited_t)); + struct json_object *users = NULL; + if (json_object_object_get_ex(obj, "users", &users)) + { + int array_len = json_object_array_length(users); + invited->count_users = array_len; + invited->users = calloc(array_len, sizeof(telebot_user_t)); + for (int i = 0; i < array_len; i++) + telebot_parser_get_user(json_object_array_get_idx(users, i), &(invited->users[i])); + } + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_web_app_data(struct json_object *obj, telebot_web_app_data_t *data) +{ + if ((obj == NULL) || (data == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(data, 0, sizeof(telebot_web_app_data_t)); + struct json_object *data_obj = NULL; + if (json_object_object_get_ex(obj, "data", &data_obj)) + data->data = TELEBOT_SAFE_STRDUP(json_object_get_string(data_obj)); + + struct json_object *button_text = NULL; + if (json_object_object_get_ex(obj, "button_text", &button_text)) + data->button_text = TELEBOT_SAFE_STRDUP(json_object_get_string(button_text)); + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_inline_keyboard_button(struct json_object *obj, telebot_inline_keyboard_button_t *button) +{ + if ((obj == NULL) || (button == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(button, 0, sizeof(telebot_inline_keyboard_button_t)); + struct json_object *text = NULL; + if (json_object_object_get_ex(obj, "text", &text)) + button->text = TELEBOT_SAFE_STRDUP(json_object_get_string(text)); + + struct json_object *url = NULL; + if (json_object_object_get_ex(obj, "url", &url)) + button->url = TELEBOT_SAFE_STRDUP(json_object_get_string(url)); + + struct json_object *callback_data = NULL; + if (json_object_object_get_ex(obj, "callback_data", &callback_data)) + button->callback_data = TELEBOT_SAFE_STRDUP(json_object_get_string(callback_data)); + + struct json_object *switch_inline_query = NULL; + if (json_object_object_get_ex(obj, "switch_inline_query", &switch_inline_query)) + button->switch_inline_query = TELEBOT_SAFE_STRDUP(json_object_get_string(switch_inline_query)); + + struct json_object *switch_inline_query_current_chat = NULL; + if (json_object_object_get_ex(obj, "switch_inline_query_current_chat", &switch_inline_query_current_chat)) + button->switch_inline_query_current_chat = TELEBOT_SAFE_STRDUP(json_object_get_string(switch_inline_query_current_chat)); + + struct json_object *pay = NULL; + if (json_object_object_get_ex(obj, "pay", &pay)) + button->pay = json_object_get_boolean(pay); + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_inline_keyboard_markup(struct json_object *obj, telebot_inline_keyboard_markup_t *markup) +{ + if ((obj == NULL) || (markup == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(markup, 0, sizeof(telebot_inline_keyboard_markup_t)); + struct json_object *inline_keyboard = NULL; + if (json_object_object_get_ex(obj, "inline_keyboard", &inline_keyboard)) + { + int rows = json_object_array_length(inline_keyboard); + int cols = 0; + if (rows > 0) + { + struct json_object *row0 = json_object_array_get_idx(inline_keyboard, 0); + cols = json_object_array_length(row0); + } + markup->rows = rows; + markup->cols = cols; + markup->inline_keyboard = calloc(rows * cols, sizeof(telebot_inline_keyboard_button_t)); + for (int i = 0; i < rows; i++) + { + struct json_object *row = json_object_array_get_idx(inline_keyboard, i); + int row_cols = json_object_array_length(row); + for (int j = 0; j < row_cols && j < cols; j++) + { + telebot_parser_get_inline_keyboard_button(json_object_array_get_idx(row, j), &(markup->inline_keyboard[i * cols + j])); + } + } + } + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_chat_invite_link(struct json_object *obj, telebot_chat_invite_link_t *invite_link) +{ + if ((obj == NULL) || (invite_link == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(invite_link, 0, sizeof(telebot_chat_invite_link_t)); + struct json_object *invite_link_obj = NULL; + if (json_object_object_get_ex(obj, "invite_link", &invite_link_obj)) + invite_link->invite_link = TELEBOT_SAFE_STRDUP(json_object_get_string(invite_link_obj)); + + struct json_object *creator = NULL; + if (json_object_object_get_ex(obj, "creator", &creator)) + { + invite_link->creator = calloc(1, sizeof(telebot_user_t)); + telebot_parser_get_user(creator, invite_link->creator); + } + + struct json_object *creates_join_request = NULL; + if (json_object_object_get_ex(obj, "creates_join_request", &creates_join_request)) + invite_link->creates_join_request = json_object_get_boolean(creates_join_request); + + struct json_object *is_primary = NULL; + if (json_object_object_get_ex(obj, "is_primary", &is_primary)) + invite_link->is_primary = json_object_get_boolean(is_primary); + + struct json_object *is_revoked = NULL; + if (json_object_object_get_ex(obj, "is_revoked", &is_revoked)) + invite_link->is_revoked = json_object_get_boolean(is_revoked); + + struct json_object *name = NULL; + if (json_object_object_get_ex(obj, "name", &name)) + invite_link->name = TELEBOT_SAFE_STRDUP(json_object_get_string(name)); + + struct json_object *expire_date = NULL; + if (json_object_object_get_ex(obj, "expire_date", &expire_date)) + invite_link->expire_date = json_object_get_int(expire_date); + + struct json_object *member_limit = NULL; + if (json_object_object_get_ex(obj, "member_limit", &member_limit)) + invite_link->member_limit = json_object_get_int(member_limit); + + struct json_object *pending_join_request_count = NULL; + if (json_object_object_get_ex(obj, "pending_join_request_count", &pending_join_request_count)) + invite_link->pending_join_request_count = json_object_get_int(pending_join_request_count); + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_chat_member_updated(struct json_object *obj, telebot_chat_member_updated_t *updated) +{ + if ((obj == NULL) || (updated == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(updated, 0, sizeof(telebot_chat_member_updated_t)); + struct json_object *chat = NULL; + if (json_object_object_get_ex(obj, "chat", &chat)) + { + updated->chat = calloc(1, sizeof(telebot_chat_t)); + telebot_parser_get_chat(chat, updated->chat); + } + + struct json_object *from = NULL; + if (json_object_object_get_ex(obj, "from", &from)) + { + updated->from = calloc(1, sizeof(telebot_user_t)); + telebot_parser_get_user(from, updated->from); + } + + struct json_object *date = NULL; + if (json_object_object_get_ex(obj, "date", &date)) + updated->date = json_object_get_int(date); + + struct json_object *old_chat_member = NULL; + if (json_object_object_get_ex(obj, "old_chat_member", &old_chat_member)) + { + updated->old_chat_member = calloc(1, sizeof(telebot_chat_member_t)); + telebot_parser_get_chat_member(old_chat_member, updated->old_chat_member); + } + + struct json_object *new_chat_member = NULL; + if (json_object_object_get_ex(obj, "new_chat_member", &new_chat_member)) + { + updated->new_chat_member = calloc(1, sizeof(telebot_chat_member_t)); + telebot_parser_get_chat_member(new_chat_member, updated->new_chat_member); + } + + struct json_object *invite_link = NULL; + if (json_object_object_get_ex(obj, "invite_link", &invite_link)) + { + updated->invite_link = calloc(1, sizeof(telebot_chat_invite_link_t)); + telebot_parser_get_chat_invite_link(invite_link, updated->invite_link); + } + + struct json_object *via_chat_folder_invite_link = NULL; + if (json_object_object_get_ex(obj, "via_chat_folder_invite_link", &via_chat_folder_invite_link)) + updated->via_chat_folder_invite_link = json_object_get_boolean(via_chat_folder_invite_link); + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_chat_join_request(struct json_object *obj, telebot_chat_join_request_t *request) +{ + if ((obj == NULL) || (request == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(request, 0, sizeof(telebot_chat_join_request_t)); + struct json_object *chat = NULL; + if (json_object_object_get_ex(obj, "chat", &chat)) + { + request->chat = calloc(1, sizeof(telebot_chat_t)); + telebot_parser_get_chat(chat, request->chat); + } + + struct json_object *from = NULL; + if (json_object_object_get_ex(obj, "from", &from)) + { + request->from = calloc(1, sizeof(telebot_user_t)); + telebot_parser_get_user(from, request->from); + } + + struct json_object *user_chat_id = NULL; + if (json_object_object_get_ex(obj, "user_chat_id", &user_chat_id)) + request->user_chat_id = json_object_get_int64(user_chat_id); + + struct json_object *date = NULL; + if (json_object_object_get_ex(obj, "date", &date)) + request->date = json_object_get_int(date); + + struct json_object *bio = NULL; + if (json_object_object_get_ex(obj, "bio", &bio)) + request->bio = TELEBOT_SAFE_STRDUP(json_object_get_string(bio)); + + struct json_object *invite_link = NULL; + if (json_object_object_get_ex(obj, "invite_link", &invite_link)) + { + request->invite_link = calloc(1, sizeof(telebot_chat_invite_link_t)); + telebot_parser_get_chat_invite_link(invite_link, request->invite_link); + } + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_reaction_type(struct json_object *obj, telebot_reaction_type_t *reaction) +{ + if ((obj == NULL) || (reaction == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(reaction, 0, sizeof(telebot_reaction_type_t)); + struct json_object *type = NULL; + if (json_object_object_get_ex(obj, "type", &type)) + reaction->type = TELEBOT_SAFE_STRDUP(json_object_get_string(type)); + + struct json_object *emoji = NULL; + if (json_object_object_get_ex(obj, "emoji", &emoji)) + reaction->emoji = TELEBOT_SAFE_STRDUP(json_object_get_string(emoji)); + + struct json_object *custom_emoji_id = NULL; + if (json_object_object_get_ex(obj, "custom_emoji_id", &custom_emoji_id)) + reaction->custom_emoji_id = TELEBOT_SAFE_STRDUP(json_object_get_string(custom_emoji_id)); + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_message_reaction_updated(struct json_object *obj, telebot_message_reaction_updated_t *updated) +{ + if ((obj == NULL) || (updated == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(updated, 0, sizeof(telebot_message_reaction_updated_t)); + struct json_object *chat = NULL; + if (json_object_object_get_ex(obj, "chat", &chat)) + { + updated->chat = calloc(1, sizeof(telebot_chat_t)); + telebot_parser_get_chat(chat, updated->chat); + } + + struct json_object *message_id = NULL; + if (json_object_object_get_ex(obj, "message_id", &message_id)) + updated->message_id = json_object_get_int(message_id); + + struct json_object *user = NULL; + if (json_object_object_get_ex(obj, "user", &user)) + { + updated->user = calloc(1, sizeof(telebot_user_t)); + telebot_parser_get_user(user, updated->user); + } + + struct json_object *actor_chat = NULL; + if (json_object_object_get_ex(obj, "actor_chat", &actor_chat)) + { + updated->actor_chat = calloc(1, sizeof(telebot_chat_t)); + telebot_parser_get_chat(actor_chat, updated->actor_chat); + } + + struct json_object *date = NULL; + if (json_object_object_get_ex(obj, "date", &date)) + updated->date = json_object_get_int(date); + + struct json_object *old_reaction = NULL; + if (json_object_object_get_ex(obj, "old_reaction", &old_reaction)) + { + int array_len = json_object_array_length(old_reaction); + updated->count_old_reaction = array_len; + updated->old_reaction = calloc(array_len, sizeof(telebot_reaction_type_t)); + for (int i = 0; i < array_len; i++) + telebot_parser_get_reaction_type(json_object_array_get_idx(old_reaction, i), &(updated->old_reaction[i])); + } + + struct json_object *new_reaction = NULL; + if (json_object_object_get_ex(obj, "new_reaction", &new_reaction)) + { + int array_len = json_object_array_length(new_reaction); + updated->count_new_reaction = array_len; + updated->new_reaction = calloc(array_len, sizeof(telebot_reaction_type_t)); + for (int i = 0; i < array_len; i++) + telebot_parser_get_reaction_type(json_object_array_get_idx(new_reaction, i), &(updated->new_reaction[i])); + } + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_reaction_count(struct json_object *obj, telebot_reaction_count_t *count) +{ + if ((obj == NULL) || (count == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(count, 0, sizeof(telebot_reaction_count_t)); + struct json_object *type = NULL; + if (json_object_object_get_ex(obj, "type", &type)) + telebot_parser_get_reaction_type(type, &(count->type)); + + struct json_object *total_count = NULL; + if (json_object_object_get_ex(obj, "total_count", &total_count)) + count->total_count = json_object_get_int(total_count); + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_message_reaction_count_updated(struct json_object *obj, telebot_message_reaction_count_updated_t *updated) +{ + if ((obj == NULL) || (updated == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(updated, 0, sizeof(telebot_message_reaction_count_updated_t)); + struct json_object *chat = NULL; + if (json_object_object_get_ex(obj, "chat", &chat)) + { + updated->chat = calloc(1, sizeof(telebot_chat_t)); + telebot_parser_get_chat(chat, updated->chat); + } + + struct json_object *message_id = NULL; + if (json_object_object_get_ex(obj, "message_id", &message_id)) + updated->message_id = json_object_get_int(message_id); + + struct json_object *date = NULL; + if (json_object_object_get_ex(obj, "date", &date)) + updated->date = json_object_get_int(date); + + struct json_object *reactions = NULL; + if (json_object_object_get_ex(obj, "reactions", &reactions)) + { + int array_len = json_object_array_length(reactions); + updated->count_reactions = array_len; + updated->reactions = calloc(array_len, sizeof(telebot_reaction_count_t)); + for (int i = 0; i < array_len; i++) + telebot_parser_get_reaction_count(json_object_array_get_idx(reactions, i), &(updated->reactions[i])); + } + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_chat_boost_source(struct json_object *obj, telebot_chat_boost_source_t *source) +{ + if ((obj == NULL) || (source == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(source, 0, sizeof(telebot_chat_boost_source_t)); + struct json_object *source_obj = NULL; + if (json_object_object_get_ex(obj, "source", &source_obj)) + source->source = TELEBOT_SAFE_STRDUP(json_object_get_string(source_obj)); + + struct json_object *user = NULL; + if (json_object_object_get_ex(obj, "user", &user)) + { + source->user = calloc(1, sizeof(telebot_user_t)); + telebot_parser_get_user(user, source->user); + } + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_chat_boost(struct json_object *obj, telebot_chat_boost_t *boost) +{ + if ((obj == NULL) || (boost == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(boost, 0, sizeof(telebot_chat_boost_t)); + struct json_object *boost_id = NULL; + if (json_object_object_get_ex(obj, "boost_id", &boost_id)) + boost->boost_id = TELEBOT_SAFE_STRDUP(json_object_get_string(boost_id)); + + struct json_object *add_date = NULL; + if (json_object_object_get_ex(obj, "add_date", &add_date)) + boost->add_date = json_object_get_int(add_date); + + struct json_object *expiration_date = NULL; + if (json_object_object_get_ex(obj, "expiration_date", &expiration_date)) + boost->expiration_date = json_object_get_int(expiration_date); + + struct json_object *source = NULL; + if (json_object_object_get_ex(obj, "source", &source)) + { + boost->source = calloc(1, sizeof(telebot_chat_boost_source_t)); + telebot_parser_get_chat_boost_source(source, boost->source); + } + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_chat_boost_updated(struct json_object *obj, telebot_chat_boost_updated_t *updated) +{ + if ((obj == NULL) || (updated == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(updated, 0, sizeof(telebot_chat_boost_updated_t)); + struct json_object *chat = NULL; + if (json_object_object_get_ex(obj, "chat", &chat)) + { + updated->chat = calloc(1, sizeof(telebot_chat_t)); + telebot_parser_get_chat(chat, updated->chat); + } + + struct json_object *boost = NULL; + if (json_object_object_get_ex(obj, "boost", &boost)) + { + updated->boost = calloc(1, sizeof(telebot_chat_boost_t)); + telebot_parser_get_chat_boost(boost, updated->boost); + } + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_chat_boost_removed(struct json_object *obj, telebot_chat_boost_removed_t *removed) +{ + if ((obj == NULL) || (removed == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(removed, 0, sizeof(telebot_chat_boost_removed_t)); + struct json_object *chat = NULL; + if (json_object_object_get_ex(obj, "chat", &chat)) + { + removed->chat = calloc(1, sizeof(telebot_chat_t)); + telebot_parser_get_chat(chat, removed->chat); + } + + struct json_object *boost_id = NULL; + if (json_object_object_get_ex(obj, "boost_id", &boost_id)) + removed->boost_id = TELEBOT_SAFE_STRDUP(json_object_get_string(boost_id)); + + struct json_object *remove_date = NULL; + if (json_object_object_get_ex(obj, "remove_date", &remove_date)) + removed->remove_date = json_object_get_int(remove_date); + + struct json_object *source = NULL; + if (json_object_object_get_ex(obj, "source", &source)) + { + removed->source = calloc(1, sizeof(telebot_chat_boost_source_t)); + telebot_parser_get_chat_boost_source(source, removed->source); + } + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_forum_topic(struct json_object *obj, telebot_forum_topic_t *topic) +{ + if ((obj == NULL) || (topic == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(topic, 0, sizeof(telebot_forum_topic_t)); + struct json_object *message_thread_id = NULL; + if (json_object_object_get_ex(obj, "message_thread_id", &message_thread_id)) + topic->message_thread_id = json_object_get_int(message_thread_id); + + struct json_object *name = NULL; + if (json_object_object_get_ex(obj, "name", &name)) + topic->name = TELEBOT_SAFE_STRDUP(json_object_get_string(name)); + + struct json_object *icon_color = NULL; + if (json_object_object_get_ex(obj, "icon_color", &icon_color)) + topic->icon_color = json_object_get_int(icon_color); + + struct json_object *icon_custom_emoji_id = NULL; + if (json_object_object_get_ex(obj, "icon_custom_emoji_id", &icon_custom_emoji_id)) + topic->icon_custom_emoji_id = TELEBOT_SAFE_STRDUP(json_object_get_string(icon_custom_emoji_id)); + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_inline_query(struct json_object *obj, telebot_inline_query_t *query) +{ + if ((obj == NULL) || (query == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(query, 0, sizeof(telebot_inline_query_t)); + struct json_object *id = NULL; + if (json_object_object_get_ex(obj, "id", &id)) + query->id = TELEBOT_SAFE_STRDUP(json_object_get_string(id)); + + struct json_object *from = NULL; + if (json_object_object_get_ex(obj, "from", &from)) + { + query->from = calloc(1, sizeof(telebot_user_t)); + telebot_parser_get_user(from, query->from); + } + + struct json_object *query_obj = NULL; + if (json_object_object_get_ex(obj, "query", &query_obj)) + query->query = TELEBOT_SAFE_STRDUP(json_object_get_string(query_obj)); + + struct json_object *offset = NULL; + if (json_object_object_get_ex(obj, "offset", &offset)) + query->offset = TELEBOT_SAFE_STRDUP(json_object_get_string(offset)); + + struct json_object *chat_type = NULL; + if (json_object_object_get_ex(obj, "chat_type", &chat_type)) + query->chat_type = TELEBOT_SAFE_STRDUP(json_object_get_string(chat_type)); + + struct json_object *location = NULL; + if (json_object_object_get_ex(obj, "location", &location)) + { + query->location = calloc(1, sizeof(telebot_location_t)); + telebot_parser_get_location(location, query->location); + } + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_chosen_inline_result(struct json_object *obj, telebot_chosen_inline_result_t *result) +{ + if ((obj == NULL) || (result == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(result, 0, sizeof(telebot_chosen_inline_result_t)); + struct json_object *result_id = NULL; + if (json_object_object_get_ex(obj, "result_id", &result_id)) + result->result_id = TELEBOT_SAFE_STRDUP(json_object_get_string(result_id)); + + struct json_object *from = NULL; + if (json_object_object_get_ex(obj, "from", &from)) + { + result->from = calloc(1, sizeof(telebot_user_t)); + telebot_parser_get_user(from, result->from); + } + + struct json_object *location = NULL; + if (json_object_object_get_ex(obj, "location", &location)) + { + result->location = calloc(1, sizeof(telebot_location_t)); + telebot_parser_get_location(location, result->location); + } + + struct json_object *inline_message_id = NULL; + if (json_object_object_get_ex(obj, "inline_message_id", &inline_message_id)) + result->inline_message_id = TELEBOT_SAFE_STRDUP(json_object_get_string(inline_message_id)); + + struct json_object *query = NULL; + if (json_object_object_get_ex(obj, "query", &query)) + result->query = TELEBOT_SAFE_STRDUP(json_object_get_string(query)); + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_shipping_query(struct json_object *obj, telebot_shipping_query_t *query) +{ + if ((obj == NULL) || (query == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(query, 0, sizeof(telebot_shipping_query_t)); + struct json_object *id = NULL; + if (json_object_object_get_ex(obj, "id", &id)) + query->id = TELEBOT_SAFE_STRDUP(json_object_get_string(id)); + + struct json_object *from = NULL; + if (json_object_object_get_ex(obj, "from", &from)) + { + query->from = calloc(1, sizeof(telebot_user_t)); + telebot_parser_get_user(from, query->from); + } + + struct json_object *invoice_payload = NULL; + if (json_object_object_get_ex(obj, "invoice_payload", &invoice_payload)) + query->invoice_payload = TELEBOT_SAFE_STRDUP(json_object_get_string(invoice_payload)); + + struct json_object *shipping_address = NULL; + if (json_object_object_get_ex(obj, "shipping_address", &shipping_address)) + { + query->shipping_address = calloc(1, sizeof(telebot_shipping_address_t)); + telebot_parser_get_shipping_address(shipping_address, query->shipping_address); + } + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_pre_checkout_query(struct json_object *obj, telebot_pre_checkout_query_t *query) +{ + if ((obj == NULL) || (query == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(query, 0, sizeof(telebot_pre_checkout_query_t)); + struct json_object *id = NULL; + if (json_object_object_get_ex(obj, "id", &id)) + query->id = TELEBOT_SAFE_STRDUP(json_object_get_string(id)); + + struct json_object *from = NULL; + if (json_object_object_get_ex(obj, "from", &from)) + { + query->from = calloc(1, sizeof(telebot_user_t)); + telebot_parser_get_user(from, query->from); + } + + struct json_object *currency = NULL; + if (json_object_object_get_ex(obj, "currency", ¤cy)) + query->currency = TELEBOT_SAFE_STRDUP(json_object_get_string(currency)); + + struct json_object *total_amount = NULL; + if (json_object_object_get_ex(obj, "total_amount", &total_amount)) + query->total_amount = json_object_get_int(total_amount); + + struct json_object *invoice_payload = NULL; + if (json_object_object_get_ex(obj, "invoice_payload", &invoice_payload)) + query->invoice_payload = TELEBOT_SAFE_STRDUP(json_object_get_string(invoice_payload)); + + struct json_object *shipping_option_id = NULL; + if (json_object_object_get_ex(obj, "shipping_option_id", &shipping_option_id)) + query->shipping_option_id = TELEBOT_SAFE_STRDUP(json_object_get_string(shipping_option_id)); + + struct json_object *order_info = NULL; + if (json_object_object_get_ex(obj, "order_info", &order_info)) + { + query->order_info = calloc(1, sizeof(telebot_order_info_t)); + telebot_parser_get_order_info(order_info, query->order_info); + } + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_stickers(struct json_object *obj, telebot_sticker_t **stickers, int *count) +{ + // Stub: implement if needed, usually in telebot-stickers.c + return TELEBOT_ERROR_OPERATION_FAILED; +} + +static telebot_error_e telebot_parser_get_business_bot_rights(struct json_object *obj, telebot_business_bot_rights_t *rights) +{ + if ((obj == NULL) || (rights == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(rights, 0, sizeof(telebot_business_bot_rights_t)); + struct json_object *tmp = NULL; + if (json_object_object_get_ex(obj, "can_reply", &tmp)) + rights->can_reply = json_object_get_boolean(tmp); + if (json_object_object_get_ex(obj, "can_read_messages", &tmp)) + rights->can_read_messages = json_object_get_boolean(tmp); + if (json_object_object_get_ex(obj, "can_delete_sent_messages", &tmp)) + rights->can_delete_sent_messages = json_object_get_boolean(tmp); + if (json_object_object_get_ex(obj, "can_delete_all_messages", &tmp)) + rights->can_delete_all_messages = json_object_get_boolean(tmp); + if (json_object_object_get_ex(obj, "can_edit_name", &tmp)) + rights->can_edit_name = json_object_get_boolean(tmp); + if (json_object_object_get_ex(obj, "can_edit_bio", &tmp)) + rights->can_edit_bio = json_object_get_boolean(tmp); + if (json_object_object_get_ex(obj, "can_edit_profile_photo", &tmp)) + rights->can_edit_profile_photo = json_object_get_boolean(tmp); + if (json_object_object_get_ex(obj, "can_edit_username", &tmp)) + rights->can_edit_username = json_object_get_boolean(tmp); + if (json_object_object_get_ex(obj, "can_change_gift_settings", &tmp)) + rights->can_change_gift_settings = json_object_get_boolean(tmp); + if (json_object_object_get_ex(obj, "can_view_gifts_and_stars", &tmp)) + rights->can_view_gifts_and_stars = json_object_get_boolean(tmp); + if (json_object_object_get_ex(obj, "can_convert_gifts_to_stars", &tmp)) + rights->can_convert_gifts_to_stars = json_object_get_boolean(tmp); + if (json_object_object_get_ex(obj, "can_transfer_and_upgrade_gifts", &tmp)) + rights->can_transfer_and_upgrade_gifts = json_object_get_boolean(tmp); + if (json_object_object_get_ex(obj, "can_transfer_stars", &tmp)) + rights->can_transfer_stars = json_object_get_boolean(tmp); + if (json_object_object_get_ex(obj, "can_manage_stories", &tmp)) + rights->can_manage_stories = json_object_get_boolean(tmp); + + return TELEBOT_ERROR_NONE; +} + +static telebot_error_e telebot_parser_get_business_messages_deleted(struct json_object *obj, telebot_business_messages_deleted_t *deleted) +{ + if ((obj == NULL) || (deleted == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(deleted, 0, sizeof(telebot_business_messages_deleted_t)); + struct json_object *id = NULL; + if (json_object_object_get_ex(obj, "business_connection_id", &id)) + deleted->business_connection_id = TELEBOT_SAFE_STRDUP(json_object_get_string(id)); + + struct json_object *chat = NULL; + if (json_object_object_get_ex(obj, "chat", &chat)) + { + deleted->chat = calloc(1, sizeof(telebot_chat_t)); + telebot_parser_get_chat(chat, deleted->chat); + } + + struct json_object *message_ids = NULL; + if (json_object_object_get_ex(obj, "message_ids", &message_ids)) + { + int array_len = json_object_array_length(message_ids); + deleted->count_message_ids = array_len; + deleted->message_ids = calloc(array_len, sizeof(int)); + for (int i = 0; i < array_len; i++) + deleted->message_ids[i] = json_object_get_int(json_object_array_get_idx(message_ids, i)); + } + + return TELEBOT_ERROR_NONE; +} + +static telebot_error_e telebot_parser_get_message_origin(struct json_object *obj, telebot_message_origin_t *origin) +{ + if ((obj == NULL) || (origin == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(origin, 0, sizeof(telebot_message_origin_t)); + struct json_object *type = NULL; + if (json_object_object_get_ex(obj, "type", &type)) + origin->type = TELEBOT_SAFE_STRDUP(json_object_get_string(type)); + + struct json_object *date = NULL; + if (json_object_object_get_ex(obj, "date", &date)) + origin->date = json_object_get_int(date); + + struct json_object *sender_user = NULL; + if (json_object_object_get_ex(obj, "sender_user", &sender_user)) + { + origin->sender_user = calloc(1, sizeof(telebot_user_t)); + telebot_parser_get_user(sender_user, origin->sender_user); + } + + struct json_object *sender_user_name = NULL; + if (json_object_object_get_ex(obj, "sender_user_name", &sender_user_name)) + origin->sender_user_name = TELEBOT_SAFE_STRDUP(json_object_get_string(sender_user_name)); + + struct json_object *sender_chat = NULL; + if (json_object_object_get_ex(obj, "sender_chat", &sender_chat)) + { + origin->sender_chat = calloc(1, sizeof(telebot_chat_t)); + telebot_parser_get_chat(sender_chat, origin->sender_chat); + } + + struct json_object *author_signature = NULL; + if (json_object_object_get_ex(obj, "author_signature", &author_signature)) + origin->author_signature = TELEBOT_SAFE_STRDUP(json_object_get_string(author_signature)); + + struct json_object *message_id = NULL; + if (json_object_object_get_ex(obj, "message_id", &message_id)) + origin->message_id = json_object_get_int(message_id); + + return TELEBOT_ERROR_NONE; +} + +static telebot_error_e telebot_parser_get_text_quote(struct json_object *obj, telebot_text_quote_t *quote) +{ + if ((obj == NULL) || (quote == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(quote, 0, sizeof(telebot_text_quote_t)); + struct json_object *text = NULL; + if (json_object_object_get_ex(obj, "text", &text)) + quote->text = TELEBOT_SAFE_STRDUP(json_object_get_string(text)); + + struct json_object *entities = NULL; + if (json_object_object_get_ex(obj, "entities", &entities)) + telebot_parser_get_message_entities(entities, &(quote->entities), &(quote->count_entities)); + + struct json_object *position = NULL; + if (json_object_object_get_ex(obj, "position", &position)) + quote->position = json_object_get_int(position); + + struct json_object *is_manual = NULL; + if (json_object_object_get_ex(obj, "is_manual", &is_manual)) + quote->is_manual = json_object_get_boolean(is_manual); + + return TELEBOT_ERROR_NONE; +} + +static telebot_error_e telebot_parser_get_story(struct json_object *obj, telebot_story_t *story) +{ + if ((obj == NULL) || (story == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(story, 0, sizeof(telebot_story_t)); + struct json_object *chat = NULL; + if (json_object_object_get_ex(obj, "chat", &chat)) + { + story->chat = calloc(1, sizeof(telebot_chat_t)); + telebot_parser_get_chat(chat, story->chat); + } + + struct json_object *id = NULL; + if (json_object_object_get_ex(obj, "id", &id)) + story->id = json_object_get_int(id); + + return TELEBOT_ERROR_NONE; +} + +static telebot_error_e telebot_parser_get_external_reply_info(struct json_object *obj, telebot_external_reply_info_t *info) +{ + if ((obj == NULL) || (info == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(info, 0, sizeof(telebot_external_reply_info_t)); + struct json_object *origin = NULL; + if (json_object_object_get_ex(obj, "origin", &origin)) + telebot_parser_get_message_origin(origin, &(info->origin)); + + struct json_object *chat = NULL; + if (json_object_object_get_ex(obj, "chat", &chat)) + { + info->chat = calloc(1, sizeof(telebot_chat_t)); + telebot_parser_get_chat(chat, info->chat); + } + + struct json_object *message_id = NULL; + if (json_object_object_get_ex(obj, "message_id", &message_id)) + info->message_id = json_object_get_int(message_id); + + // ... other optional media fields can be added as needed ... + + return TELEBOT_ERROR_NONE; +} + +static telebot_error_e telebot_parser_get_link_preview_options(struct json_object *obj, telebot_link_preview_options_t *options) +{ + if ((obj == NULL) || (options == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(options, 0, sizeof(telebot_link_preview_options_t)); + struct json_object *tmp = NULL; + if (json_object_object_get_ex(obj, "is_disabled", &tmp)) + options->is_disabled = json_object_get_boolean(tmp); + if (json_object_object_get_ex(obj, "url", &tmp)) + options->url = TELEBOT_SAFE_STRDUP(json_object_get_string(tmp)); + if (json_object_object_get_ex(obj, "prefer_small_media", &tmp)) + options->prefer_small_media = json_object_get_boolean(tmp); + if (json_object_object_get_ex(obj, "prefer_large_media", &tmp)) + options->prefer_large_media = json_object_get_boolean(tmp); + if (json_object_object_get_ex(obj, "show_above_text", &tmp)) + options->show_above_text = json_object_get_boolean(tmp); + + return TELEBOT_ERROR_NONE; +} + +static telebot_error_e telebot_parser_get_paid_media(struct json_object *obj, telebot_paid_media_t *media) +{ + if ((obj == NULL) || (media == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(media, 0, sizeof(telebot_paid_media_t)); + struct json_object *type = NULL; + if (json_object_object_get_ex(obj, "type", &type)) + media->type = TELEBOT_SAFE_STRDUP(json_object_get_string(type)); + + struct json_object *width = NULL; + if (json_object_object_get_ex(obj, "width", &width)) + media->width = json_object_get_int(width); + + struct json_object *height = NULL; + if (json_object_object_get_ex(obj, "height", &height)) + media->height = json_object_get_int(height); + + struct json_object *duration = NULL; + if (json_object_object_get_ex(obj, "duration", &duration)) + media->duration = json_object_get_int(duration); + + return TELEBOT_ERROR_NONE; +} + +static telebot_error_e telebot_parser_get_paid_media_info(struct json_object *obj, telebot_paid_media_info_t *info) +{ + if ((obj == NULL) || (info == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(info, 0, sizeof(telebot_paid_media_info_t)); + struct json_object *star_count = NULL; + if (json_object_object_get_ex(obj, "star_count", &star_count)) + info->star_count = json_object_get_int(star_count); + + struct json_object *paid_media = NULL; + if (json_object_object_get_ex(obj, "paid_media", &paid_media)) + { + int array_len = json_object_array_length(paid_media); + info->count_paid_media = array_len; + info->paid_media = calloc(array_len, sizeof(telebot_paid_media_t)); + for (int i = 0; i < array_len; i++) + telebot_parser_get_paid_media(json_object_array_get_idx(paid_media, i), &(info->paid_media[i])); + } + + return TELEBOT_ERROR_NONE; +} + +static telebot_error_e telebot_parser_get_refunded_payment(struct json_object *obj, telebot_refunded_payment_t *payment) +{ + if ((obj == NULL) || (payment == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(payment, 0, sizeof(telebot_refunded_payment_t)); + struct json_object *currency = NULL; + if (json_object_object_get_ex(obj, "currency", ¤cy)) + payment->currency = TELEBOT_SAFE_STRDUP(json_object_get_string(currency)); + + struct json_object *total_amount = NULL; + if (json_object_object_get_ex(obj, "total_amount", &total_amount)) + payment->total_amount = json_object_get_int(total_amount); + + struct json_object *invoice_payload = NULL; + if (json_object_object_get_ex(obj, "invoice_payload", &invoice_payload)) + payment->invoice_payload = TELEBOT_SAFE_STRDUP(json_object_get_string(invoice_payload)); + + struct json_object *telegram_payment_charge_id = NULL; + if (json_object_object_get_ex(obj, "telegram_payment_charge_id", &telegram_payment_charge_id)) + payment->telegram_payment_charge_id = TELEBOT_SAFE_STRDUP(json_object_get_string(telegram_payment_charge_id)); + + struct json_object *provider_payment_charge_id = NULL; + if (json_object_object_get_ex(obj, "provider_payment_charge_id", &provider_payment_charge_id)) + payment->provider_payment_charge_id = TELEBOT_SAFE_STRDUP(json_object_get_string(provider_payment_charge_id)); + + return TELEBOT_ERROR_NONE; +} + +static telebot_error_e telebot_parser_get_write_access_allowed(struct json_object *obj, telebot_write_access_allowed_t *allowed) +{ + if ((obj == NULL) || (allowed == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(allowed, 0, sizeof(telebot_write_access_allowed_t)); + struct json_object *web_app_name = NULL; + if (json_object_object_get_ex(obj, "web_app_name", &web_app_name)) + allowed->web_app_name = TELEBOT_SAFE_STRDUP(json_object_get_string(web_app_name)); + + return TELEBOT_ERROR_NONE; +} + +static telebot_error_e telebot_parser_get_shared_user(struct json_object *obj, telebot_shared_user_t *user) +{ + if ((obj == NULL) || (user == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(user, 0, sizeof(telebot_shared_user_t)); + struct json_object *user_id = NULL; + if (json_object_object_get_ex(obj, "user_id", &user_id)) + user->user_id = json_object_get_int64(user_id); + + struct json_object *first_name = NULL; + if (json_object_object_get_ex(obj, "first_name", &first_name)) + user->first_name = TELEBOT_SAFE_STRDUP(json_object_get_string(first_name)); + + struct json_object *last_name = NULL; + if (json_object_object_get_ex(obj, "last_name", &last_name)) + user->last_name = TELEBOT_SAFE_STRDUP(json_object_get_string(last_name)); + + struct json_object *username = NULL; + if (json_object_object_get_ex(obj, "username", &username)) + user->username = TELEBOT_SAFE_STRDUP(json_object_get_string(username)); + + return TELEBOT_ERROR_NONE; +} + +static telebot_error_e telebot_parser_get_users_shared(struct json_object *obj, telebot_users_shared_t *shared) +{ + if ((obj == NULL) || (shared == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(shared, 0, sizeof(telebot_users_shared_t)); + struct json_object *request_id = NULL; + if (json_object_object_get_ex(obj, "request_id", &request_id)) + shared->request_id = json_object_get_int(request_id); + + struct json_object *users = NULL; + if (json_object_object_get_ex(obj, "users", &users)) + { + int array_len = json_object_array_length(users); + shared->count_users = array_len; + shared->users = calloc(array_len, sizeof(telebot_shared_user_t)); + for (int i = 0; i < array_len; i++) + telebot_parser_get_shared_user(json_object_array_get_idx(users, i), &(shared->users[i])); + } + + return TELEBOT_ERROR_NONE; +} + +static telebot_error_e telebot_parser_get_chat_shared(struct json_object *obj, telebot_chat_shared_t *shared) +{ + if ((obj == NULL) || (shared == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(shared, 0, sizeof(telebot_chat_shared_t)); + struct json_object *request_id = NULL; + if (json_object_object_get_ex(obj, "request_id", &request_id)) + shared->request_id = json_object_get_int(request_id); + + struct json_object *chat_id = NULL; + if (json_object_object_get_ex(obj, "chat_id", &chat_id)) + shared->chat_id = json_object_get_int64(chat_id); + + return TELEBOT_ERROR_NONE; +} + +static telebot_error_e telebot_parser_get_gift(struct json_object *obj, telebot_gift_t *gift) +{ + if ((obj == NULL) || (gift == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(gift, 0, sizeof(telebot_gift_t)); + struct json_object *id = NULL; + if (json_object_object_get_ex(obj, "id", &id)) + gift->id = TELEBOT_SAFE_STRDUP(json_object_get_string(id)); + + struct json_object *star_count = NULL; + if (json_object_object_get_ex(obj, "star_count", &star_count)) + gift->star_count = json_object_get_int(star_count); + + return TELEBOT_ERROR_NONE; +} + +static telebot_error_e telebot_parser_get_gift_info(struct json_object *obj, telebot_gift_info_t *gift_info) +{ + if ((obj == NULL) || (gift_info == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(gift_info, 0, sizeof(telebot_gift_info_t)); + struct json_object *gift = NULL; + if (json_object_object_get_ex(obj, "gift", &gift)) + telebot_parser_get_gift(gift, &(gift_info->gift)); + + struct json_object *text = NULL; + if (json_object_object_get_ex(obj, "text", &text)) + gift_info->text = TELEBOT_SAFE_STRDUP(json_object_get_string(text)); + + return TELEBOT_ERROR_NONE; +} + +static telebot_error_e telebot_parser_get_unique_gift(struct json_object *obj, telebot_unique_gift_t *gift) +{ + if ((obj == NULL) || (gift == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(gift, 0, sizeof(telebot_unique_gift_t)); + struct json_object *gift_id = NULL; + if (json_object_object_get_ex(obj, "gift_id", &gift_id)) + gift->gift_id = TELEBOT_SAFE_STRDUP(json_object_get_string(gift_id)); + + struct json_object *name = NULL; + if (json_object_object_get_ex(obj, "name", &name)) + gift->name = TELEBOT_SAFE_STRDUP(json_object_get_string(name)); + + struct json_object *number = NULL; + if (json_object_object_get_ex(obj, "number", &number)) + gift->number = json_object_get_int(number); + + return TELEBOT_ERROR_NONE; +} + +static telebot_error_e telebot_parser_get_unique_gift_info(struct json_object *obj, telebot_unique_gift_info_t *gift_info) +{ + if ((obj == NULL) || (gift_info == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(gift_info, 0, sizeof(telebot_unique_gift_info_t)); + struct json_object *gift = NULL; + if (json_object_object_get_ex(obj, "gift", &gift)) + { + gift_info->gift = calloc(1, sizeof(telebot_unique_gift_t)); + telebot_parser_get_unique_gift(gift, gift_info->gift); + } + + struct json_object *origin = NULL; + if (json_object_object_get_ex(obj, "origin", &origin)) + gift_info->origin = TELEBOT_SAFE_STRDUP(json_object_get_string(origin)); + + return TELEBOT_ERROR_NONE; +} + +static telebot_error_e telebot_parser_get_chat_boost_added(struct json_object *obj, telebot_chat_boost_added_t *boost) +{ + if ((obj == NULL) || (boost == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(boost, 0, sizeof(telebot_chat_boost_added_t)); + struct json_object *boost_count = NULL; + if (json_object_object_get_ex(obj, "boost_count", &boost_count)) + boost->boost_count = json_object_get_int(boost_count); + + return TELEBOT_ERROR_NONE; +} + +static telebot_error_e telebot_parser_get_chat_background(struct json_object *obj, telebot_chat_background_t *background) +{ + if ((obj == NULL) || (background == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(background, 0, sizeof(telebot_chat_background_t)); + struct json_object *type = NULL; + if (json_object_object_get_ex(obj, "type", &type)) + { + struct json_object *type_str = NULL; + if (json_object_object_get_ex(type, "type", &type_str)) + background->type = TELEBOT_SAFE_STRDUP(json_object_get_string(type_str)); + } + + return TELEBOT_ERROR_NONE; +} + +static telebot_error_e telebot_parser_get_giveaway_created(struct json_object *obj, telebot_giveaway_created_t *giveaway) +{ + if ((obj == NULL) || (giveaway == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(giveaway, 0, sizeof(telebot_giveaway_created_t)); + struct json_object *prize_star_count = NULL; + if (json_object_object_get_ex(obj, "prize_star_count", &prize_star_count)) + giveaway->prize_star_count = json_object_get_int(prize_star_count); + + return TELEBOT_ERROR_NONE; +} + +static telebot_error_e telebot_parser_get_giveaway_completed(struct json_object *obj, telebot_giveaway_completed_t *giveaway) +{ + if ((obj == NULL) || (giveaway == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(giveaway, 0, sizeof(telebot_giveaway_completed_t)); + struct json_object *winner_count = NULL; + if (json_object_object_get_ex(obj, "winner_count", &winner_count)) + giveaway->winner_count = json_object_get_int(winner_count); + + struct json_object *unclaimed_prize_count = NULL; + if (json_object_object_get_ex(obj, "unclaimed_prize_count", &unclaimed_prize_count)) + giveaway->unclaimed_prize_count = json_object_get_int(unclaimed_prize_count); + + struct json_object *giveaway_message = NULL; + if (json_object_object_get_ex(obj, "giveaway_message", &giveaway_message)) + { + giveaway->giveaway_message = calloc(1, sizeof(telebot_message_t)); + telebot_parser_get_message(giveaway_message, giveaway->giveaway_message); + } + + struct json_object *is_star_giveaway = NULL; + if (json_object_object_get_ex(obj, "is_star_giveaway", &is_star_giveaway)) + giveaway->is_star_giveaway = json_object_get_boolean(is_star_giveaway); + + return TELEBOT_ERROR_NONE; +} + +static telebot_error_e telebot_parser_get_birthdate(struct json_object *obj, telebot_birthdate_t *birthdate) +{ + if ((obj == NULL) || (birthdate == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(birthdate, 0, sizeof(telebot_birthdate_t)); + struct json_object *tmp = NULL; + if (json_object_object_get_ex(obj, "day", &tmp)) + birthdate->day = json_object_get_int(tmp); + if (json_object_object_get_ex(obj, "month", &tmp)) + birthdate->month = json_object_get_int(tmp); + if (json_object_object_get_ex(obj, "year", &tmp)) + birthdate->year = json_object_get_int(tmp); + + return TELEBOT_ERROR_NONE; +} + +static telebot_error_e telebot_parser_get_business_intro(struct json_object *obj, telebot_business_intro_t *intro) +{ + if ((obj == NULL) || (intro == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(intro, 0, sizeof(telebot_business_intro_t)); + struct json_object *tmp = NULL; + if (json_object_object_get_ex(obj, "title", &tmp)) + intro->title = TELEBOT_SAFE_STRDUP(json_object_get_string(tmp)); + if (json_object_object_get_ex(obj, "message", &tmp)) + intro->message = TELEBOT_SAFE_STRDUP(json_object_get_string(tmp)); + + return TELEBOT_ERROR_NONE; +} + +static telebot_error_e telebot_parser_get_business_location(struct json_object *obj, telebot_business_location_t *location) +{ + if ((obj == NULL) || (location == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(location, 0, sizeof(telebot_business_location_t)); + struct json_object *address = NULL; + if (json_object_object_get_ex(obj, "address", &address)) + location->address = TELEBOT_SAFE_STRDUP(json_object_get_string(address)); + + struct json_object *loc = NULL; + if (json_object_object_get_ex(obj, "location", &loc)) + { + location->location = calloc(1, sizeof(telebot_location_t)); + telebot_parser_get_location(loc, location->location); + } + + return TELEBOT_ERROR_NONE; +} + +static telebot_error_e telebot_parser_get_business_opening_hours(struct json_object *obj, telebot_business_opening_hours_t *hours) +{ + if ((obj == NULL) || (hours == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(hours, 0, sizeof(telebot_business_opening_hours_t)); + struct json_object *time_zone_name = NULL; + if (json_object_object_get_ex(obj, "time_zone_name", &time_zone_name)) + hours->time_zone_name = TELEBOT_SAFE_STRDUP(json_object_get_string(time_zone_name)); + + return TELEBOT_ERROR_NONE; +} + +static telebot_error_e telebot_parser_get_star_transaction(struct json_object *obj, telebot_star_transaction_t *transaction) +{ + if ((obj == NULL) || (transaction == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(transaction, 0, sizeof(telebot_star_transaction_t)); + struct json_object *id = NULL; + if (json_object_object_get_ex(obj, "id", &id)) + transaction->id = TELEBOT_SAFE_STRDUP(json_object_get_string(id)); + + struct json_object *amount = NULL; + if (json_object_object_get_ex(obj, "amount", &amount)) + transaction->amount = json_object_get_int(amount); + + struct json_object *date = NULL; + if (json_object_object_get_ex(obj, "date", &date)) + transaction->date = json_object_get_int(date); + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_star_transactions(struct json_object *obj, telebot_star_transactions_t *transactions) +{ + if ((obj == NULL) || (transactions == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(transactions, 0, sizeof(telebot_star_transactions_t)); + struct json_object *array = NULL; + if (json_object_object_get_ex(obj, "transactions", &array)) + { + int array_len = json_object_array_length(array); + transactions->count_transactions = array_len; + transactions->transactions = calloc(array_len, sizeof(telebot_star_transaction_t)); + for (int i = 0; i < array_len; i++) + telebot_parser_get_star_transaction(json_object_array_get_idx(array, i), &(transactions->transactions[i])); + } + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_prepared_inline_message(struct json_object *obj, telebot_prepared_inline_message_t *prepared_message) +{ + if ((obj == NULL) || (prepared_message == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(prepared_message, 0, sizeof(telebot_prepared_inline_message_t)); + struct json_object *id = NULL; + if (json_object_object_get_ex(obj, "id", &id)) + prepared_message->id = TELEBOT_SAFE_STRDUP(json_object_get_string(id)); + + struct json_object *expiration_date = NULL; + if (json_object_object_get_ex(obj, "expiration_date", &expiration_date)) + prepared_message->expiration_date = json_object_get_int(expiration_date); + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_game_high_score(struct json_object *obj, telebot_game_high_score_t *high_score) +{ + if ((obj == NULL) || (high_score == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(high_score, 0, sizeof(telebot_game_high_score_t)); + struct json_object *position = NULL; + if (json_object_object_get_ex(obj, "position", &position)) + high_score->position = json_object_get_int(position); + + struct json_object *user = NULL; + if (json_object_object_get_ex(obj, "user", &user)) + { + high_score->user = calloc(1, sizeof(telebot_user_t)); + telebot_parser_get_user(user, high_score->user); + } + + struct json_object *score = NULL; + if (json_object_object_get_ex(obj, "score", &score)) + high_score->score = json_object_get_int(score); + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_paid_media_purchased(struct json_object *obj, telebot_paid_media_purchased_t *purchased) +{ + if ((obj == NULL) || (purchased == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(purchased, 0, sizeof(telebot_paid_media_purchased_t)); + struct json_object *from = NULL; + if (json_object_object_get_ex(obj, "from", &from)) + { + purchased->from = calloc(1, sizeof(telebot_user_t)); + telebot_parser_get_user(from, purchased->from); + } + + struct json_object *paid_media_payload = NULL; + if (json_object_object_get_ex(obj, "paid_media_payload", &paid_media_payload)) + purchased->paid_media_payload = TELEBOT_SAFE_STRDUP(json_object_get_string(paid_media_payload)); + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_gifts(struct json_object *obj, telebot_gifts_t *gifts) +{ + if ((obj == NULL) || (gifts == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(gifts, 0, sizeof(telebot_gifts_t)); + + struct json_object *result = NULL; + if (!json_object_object_get_ex(obj, "result", &result)) + result = obj; + + if (json_object_get_type(result) != json_type_array) + return TELEBOT_ERROR_OPERATION_FAILED; + + int array_len = json_object_array_length(result); + if (array_len > 0) + { + gifts->gifts = calloc(array_len, sizeof(telebot_gift_t)); + if (gifts->gifts == NULL) + return TELEBOT_ERROR_OUT_OF_MEMORY; + + gifts->count = array_len; + for (int i = 0; i < array_len; i++) + { + struct json_object *item = json_object_array_get_idx(result, i); + telebot_parser_get_gift(item, &(gifts->gifts[i])); + } + } + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_user_gift(struct json_object *obj, telebot_user_gift_t *gift) +{ + if ((obj == NULL) || (gift == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(gift, 0, sizeof(telebot_user_gift_t)); + + struct json_object *gift_id = NULL; + if (json_object_object_get_ex(obj, "gift_id", &gift_id)) + gift->gift_id = TELEBOT_SAFE_STRDUP(json_object_get_string(gift_id)); + + struct json_object *sender_user = NULL; + if (json_object_object_get_ex(obj, "sender_user", &sender_user)) + { + gift->sender_user = calloc(1, sizeof(telebot_user_t)); + telebot_parser_get_user(sender_user, gift->sender_user); + } + + struct json_object *text = NULL; + if (json_object_object_get_ex(obj, "text", &text)) + gift->text = TELEBOT_SAFE_STRDUP(json_object_get_string(text)); + + struct json_object *entities = NULL; + if (json_object_object_get_ex(obj, "entities", &entities)) + telebot_parser_get_message_entities(entities, &(gift->entities), &(gift->count_entities)); + + struct json_object *gift_obj = NULL; + if (json_object_object_get_ex(obj, "gift", &gift_obj)) + { + gift->gift = calloc(1, sizeof(telebot_gift_t)); + telebot_parser_get_gift(gift_obj, gift->gift); + } + + struct json_object *date = NULL; + if (json_object_object_get_ex(obj, "date", &date)) + gift->date = json_object_get_int(date); + + struct json_object *message_id = NULL; + if (json_object_object_get_ex(obj, "message_id", &message_id)) + gift->message_id = json_object_get_int(message_id); + + struct json_object *upgrade_star_count = NULL; + if (json_object_object_get_ex(obj, "upgrade_star_count", &upgrade_star_count)) + gift->upgrade_star_count = json_object_get_int(upgrade_star_count); + + struct json_object *is_upgraded = NULL; + if (json_object_object_get_ex(obj, "is_upgraded", &is_upgraded)) + gift->is_upgraded = json_object_get_boolean(is_upgraded); + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_user_gifts(struct json_object *obj, telebot_user_gifts_t *gifts) +{ + if ((obj == NULL) || (gifts == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(gifts, 0, sizeof(telebot_user_gifts_t)); + + struct json_object *result = NULL; + if (!json_object_object_get_ex(obj, "result", &result)) + result = obj; + + struct json_object *total_count = NULL; + if (json_object_object_get_ex(result, "total_count", &total_count)) + gifts->total_count = json_object_get_int(total_count); + + struct json_object *gifts_array = NULL; + if (json_object_object_get_ex(result, "gifts", &gifts_array)) + { + int array_len = json_object_array_length(gifts_array); + if (array_len > 0) + { + gifts->gifts = calloc(array_len, sizeof(telebot_user_gift_t)); + if (gifts->gifts == NULL) + return TELEBOT_ERROR_OUT_OF_MEMORY; + + gifts->count = array_len; + for (int i = 0; i < array_len; i++) + { + struct json_object *item = json_object_array_get_idx(gifts_array, i); + telebot_parser_get_user_gift(item, &(gifts->gifts[i])); + } + } + } + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_user_profile_audios(struct json_object *obj, telebot_user_profile_audios_t *audios) +{ + if ((obj == NULL) || (audios == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(audios, 0, sizeof(telebot_user_profile_audios_t)); + + struct json_object *result = NULL; + if (!json_object_object_get_ex(obj, "result", &result)) + result = obj; + + struct json_object *total_count = NULL; + if (json_object_object_get_ex(result, "total_count", &total_count)) + audios->total_count = json_object_get_int(total_count); + + struct json_object *audios_array = NULL; + if (json_object_object_get_ex(result, "audios", &audios_array)) + { + int array_len = json_object_array_length(audios_array); + if (array_len > 0) + { + audios->audios = calloc(array_len, sizeof(telebot_audio_t)); + if (audios->audios == NULL) + return TELEBOT_ERROR_OUT_OF_MEMORY; + + audios->count = array_len; + for (int i = 0; i < array_len; i++) + { + struct json_object *item = json_object_array_get_idx(audios_array, i); + telebot_parser_get_audio(item, &(audios->audios[i])); + } + } + } + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_business_connection(struct json_object *obj, telebot_business_connection_t *connection) +{ + if ((obj == NULL) || (connection == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(connection, 0, sizeof(telebot_business_connection_t)); + + struct json_object *result = NULL; + if (!json_object_object_get_ex(obj, "result", &result)) + result = obj; + + struct json_object *id = NULL; + if (json_object_object_get_ex(result, "id", &id)) + connection->id = TELEBOT_SAFE_STRDUP(json_object_get_string(id)); + + struct json_object *user = NULL; + if (json_object_object_get_ex(result, "user", &user)) + { + connection->user = calloc(1, sizeof(telebot_user_t)); + telebot_parser_get_user(user, connection->user); + } + + struct json_object *user_chat_id = NULL; + if (json_object_object_get_ex(result, "user_chat_id", &user_chat_id)) + connection->user_chat_id = json_object_get_int64(user_chat_id); + + struct json_object *date = NULL; + if (json_object_object_get_ex(result, "date", &date)) + connection->date = json_object_get_int(date); + + struct json_object *can_reply = NULL; + if (json_object_object_get_ex(result, "can_reply", &can_reply)) + connection->can_reply = json_object_get_boolean(can_reply); + + struct json_object *is_enabled = NULL; + if (json_object_object_get_ex(result, "is_enabled", &is_enabled)) + connection->is_enabled = json_object_get_boolean(is_enabled); + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_parser_get_user_chat_boosts(struct json_object *obj, telebot_user_chat_boosts_t *boosts) +{ + if ((obj == NULL) || (boosts == NULL)) + return TELEBOT_ERROR_INVALID_PARAMETER; + + memset(boosts, 0, sizeof(telebot_user_chat_boosts_t)); + + struct json_object *result = NULL; + if (!json_object_object_get_ex(obj, "result", &result)) + result = obj; + + struct json_object *boosts_array = NULL; + if (json_object_object_get_ex(result, "boosts", &boosts_array)) + { + int array_len = json_object_array_length(boosts_array); + if (array_len > 0) + { + boosts->boosts = calloc(array_len, sizeof(telebot_chat_boost_t)); + if (boosts->boosts == NULL) + return TELEBOT_ERROR_OUT_OF_MEMORY; + + boosts->count = array_len; + for (int i = 0; i < array_len; i++) + { + struct json_object *item = json_object_array_get_idx(boosts_array, i); + telebot_parser_get_chat_boost(item, &(boosts->boosts[i])); + } + } + } + + return TELEBOT_ERROR_NONE; +} + + diff --git a/src/telebot-passport.c b/src/telebot-passport.c new file mode 100644 index 0000000..d6d8cc9 --- /dev/null +++ b/src/telebot-passport.c @@ -0,0 +1,35 @@ +/* + * telebot + * + * Copyright (c) 2015 Elmurod Talipov. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include +#include +#include + +telebot_error_e telebot_set_passport_data_errors(telebot_handler_t handle, + long long int user_id, const char *errors) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + telebot_core_response_t response = telebot_core_set_passport_data_errors(handle->core_h, user_id, errors); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} diff --git a/src/telebot-payments.c b/src/telebot-payments.c new file mode 100644 index 0000000..ffb9a88 --- /dev/null +++ b/src/telebot-payments.c @@ -0,0 +1,463 @@ +/* + * telebot + * + * Copyright (c) 2015 Elmurod Talipov. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include +#include +#include +#include + +telebot_error_e telebot_send_invoice(telebot_handler_t handle, + long long int chat_id, int message_thread_id, const char *title, + const char *description, const char *payload, const char *provider_token, + const char *currency, const char *prices, int max_tip_amount, + const char *suggested_tip_amounts, const char *start_parameter, + const char *provider_data, const char *photo_url, int photo_size, + int photo_width, int photo_height, bool need_name, bool need_phone_number, + bool need_email, bool need_shipping_address, bool send_phone_number_to_provider, + bool send_email_to_provider, bool is_flexible, bool disable_notification, + bool protect_content, const char *reply_parameters, const char *reply_markup, + telebot_message_t *message) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + if (message == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + struct json_object *obj = NULL; + telebot_core_response_t response = telebot_core_send_invoice(handle->core_h, chat_id, message_thread_id, + title, description, payload, provider_token, + currency, prices, max_tip_amount, suggested_tip_amounts, + start_parameter, provider_data, photo_url, photo_size, + photo_width, photo_height, need_name, need_phone_number, + need_email, need_shipping_address, send_phone_number_to_provider, + send_email_to_provider, is_flexible, disable_notification, + protect_content, reply_parameters, reply_markup); + int ret = telebot_core_get_response_code(response); + if (ret != TELEBOT_ERROR_NONE) + goto finish; + + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); + if (obj == NULL) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *ok = NULL; + if (!json_object_object_get_ex(obj, "ok", &ok) || !json_object_get_boolean(ok)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *result = NULL; + if (!json_object_object_get_ex(obj, "result", &result)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + ret = telebot_parser_get_message(result, message); + +finish: + if (obj) + json_object_put(obj); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_create_invoice_link(telebot_handler_t handle, + const char *title, const char *description, const char *payload, + const char *provider_token, const char *currency, const char *prices, + int max_tip_amount, const char *suggested_tip_amounts, const char *provider_data, + const char *photo_url, int photo_size, int photo_width, int photo_height, + bool need_name, bool need_phone_number, bool need_email, bool need_shipping_address, + bool send_phone_number_to_provider, bool send_email_to_provider, bool is_flexible, + char **invoice_link) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + if (invoice_link == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + struct json_object *obj = NULL; + telebot_core_response_t response = telebot_core_create_invoice_link(handle->core_h, title, description, payload, + provider_token, currency, prices, max_tip_amount, + suggested_tip_amounts, provider_data, photo_url, + photo_size, photo_width, photo_height, need_name, + need_phone_number, need_email, need_shipping_address, + send_phone_number_to_provider, send_email_to_provider, + is_flexible); + int ret = telebot_core_get_response_code(response); + if (ret != TELEBOT_ERROR_NONE) + goto finish; + + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); + if (obj == NULL) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *ok = NULL; + if (!json_object_object_get_ex(obj, "ok", &ok) || !json_object_get_boolean(ok)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *result = NULL; + if (json_object_object_get_ex(obj, "result", &result)) + { + *invoice_link = TELEBOT_SAFE_STRDUP(json_object_get_string(result)); + } + else + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + } + +finish: + if (obj) + json_object_put(obj); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_answer_shipping_query(telebot_handler_t handle, + const char *shipping_query_id, bool ok, const char *shipping_options, + const char *error_message) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + telebot_core_response_t response = telebot_core_answer_shipping_query(handle->core_h, shipping_query_id, ok, shipping_options, error_message); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_answer_pre_checkout_query(telebot_handler_t handle, + const char *pre_checkout_query_id, bool ok, const char *error_message) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + telebot_core_response_t response = telebot_core_answer_pre_checkout_query(handle->core_h, pre_checkout_query_id, ok, error_message); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_get_my_star_balance(telebot_handler_t handle, long long int *balance) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + if (balance == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + struct json_object *obj = NULL; + telebot_core_response_t response = telebot_core_get_my_star_balance(handle->core_h); + int ret = telebot_core_get_response_code(response); + if (ret != TELEBOT_ERROR_NONE) + goto finish; + + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); + if (obj == NULL) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *ok = NULL; + if (!json_object_object_get_ex(obj, "ok", &ok) || !json_object_get_boolean(ok)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *result = NULL; + if (json_object_object_get_ex(obj, "result", &result)) + { + struct json_object *balance_obj = NULL; + if (json_object_object_get_ex(result, "balance", &balance_obj)) + { + *balance = json_object_get_int64(balance_obj); + } + } + +finish: + if (obj) + json_object_put(obj); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_get_star_transactions(telebot_handler_t handle, + int offset, int limit, telebot_star_transactions_t *transactions) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + if (transactions == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + struct json_object *obj = NULL; + telebot_core_response_t response = telebot_core_get_star_transactions(handle->core_h, offset, limit); + int ret = telebot_core_get_response_code(response); + if (ret != TELEBOT_ERROR_NONE) + goto finish; + + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); + if (obj == NULL) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *ok = NULL; + if (!json_object_object_get_ex(obj, "ok", &ok) || !json_object_get_boolean(ok)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *result = NULL; + if (!json_object_object_get_ex(obj, "result", &result)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + ret = telebot_parser_get_star_transactions(result, transactions); + +finish: + if (obj) + json_object_put(obj); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_put_star_transactions(telebot_star_transactions_t *transactions) +{ + if (transactions == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + if (transactions->transactions) + { + for (int i = 0; i < transactions->count_transactions; i++) + { + TELEBOT_SAFE_FREE(transactions->transactions[i].id); + // ... free transaction partners etc if needed ... + } + free(transactions->transactions); + } + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_refund_star_payment(telebot_handler_t handle, + long long int user_id, const char *telegram_payment_charge_id) +{ + if (handle == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + telebot_core_response_t response = telebot_core_refund_star_payment(handle->core_h, user_id, telegram_payment_charge_id); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_get_available_gifts(telebot_handler_t handle, + telebot_gifts_t *gifts) +{ + if (handle == NULL || gifts == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + telebot_core_response_t response = telebot_core_get_available_gifts(handle->core_h); + int ret = telebot_core_get_response_code(response); + if (ret == TELEBOT_ERROR_NONE) + { + struct json_object *obj = telebot_parser_str_to_obj(telebot_core_get_response_data(response)); + if (obj == NULL) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + } + else + { + ret = telebot_parser_get_gifts(obj, gifts); + json_object_put(obj); + } + } + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_put_available_gifts(telebot_gifts_t *gifts) +{ + if (gifts == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + for (int i = 0; i < gifts->count; i++) + { + telebot_put_gift(&(gifts->gifts[i])); + } + TELEBOT_SAFE_FREE(gifts->gifts); + gifts->count = 0; + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_get_user_gifts(telebot_handler_t handle, + long long int user_id, int offset, int limit, telebot_user_gifts_t *gifts) +{ + if (handle == NULL || gifts == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + telebot_core_response_t response = telebot_core_get_user_gifts(handle->core_h, user_id, offset, limit); + int ret = telebot_core_get_response_code(response); + if (ret == TELEBOT_ERROR_NONE) + { + struct json_object *obj = telebot_parser_str_to_obj(telebot_core_get_response_data(response)); + if (obj == NULL) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + } + else + { + ret = telebot_parser_get_user_gifts(obj, gifts); + json_object_put(obj); + } + } + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_put_user_gifts(telebot_user_gifts_t *gifts) +{ + if (gifts == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + for (int i = 0; i < gifts->count; i++) + { + telebot_put_user_gift(&(gifts->gifts[i])); + } + TELEBOT_SAFE_FREE(gifts->gifts); + gifts->count = 0; + gifts->total_count = 0; + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_get_chat_gifts(telebot_handler_t handle, + long long int chat_id, int offset, int limit, telebot_user_gifts_t *gifts) +{ + if (handle == NULL || gifts == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + telebot_core_response_t response = telebot_core_get_chat_gifts(handle->core_h, chat_id, offset, limit); + int ret = telebot_core_get_response_code(response); + if (ret == TELEBOT_ERROR_NONE) + { + struct json_object *obj = telebot_parser_str_to_obj(telebot_core_get_response_data(response)); + if (obj == NULL) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + } + else + { + ret = telebot_parser_get_user_gifts(obj, gifts); + json_object_put(obj); + } + } + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_put_chat_gifts(telebot_user_gifts_t *gifts) +{ + return telebot_put_user_gifts(gifts); +} + +telebot_error_e telebot_upgrade_gift(telebot_handler_t handle, + const char *gift_id, bool pay_for_upgrade, const char *text, + const char *text_parse_mode, const char *text_entities) +{ + if (handle == NULL || gift_id == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + telebot_core_response_t response = telebot_core_upgrade_gift(handle->core_h, gift_id, pay_for_upgrade, text, text_parse_mode, text_entities); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_transfer_gift(telebot_handler_t handle, + long long int user_id, long long int chat_id, const char *gift_id) +{ + if (handle == NULL || gift_id == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + telebot_core_response_t response = telebot_core_transfer_gift(handle->core_h, user_id, chat_id, gift_id); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_convert_gift_to_stars(telebot_handler_t handle, + const char *gift_id) +{ + if (handle == NULL || gift_id == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + telebot_core_response_t response = telebot_core_convert_gift_to_stars(handle->core_h, gift_id); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_send_gift(telebot_handler_t handle, + long long int user_id, long long int chat_id, const char *gift_id, + bool pay_for_upgrade, const char *text, const char *text_parse_mode, + const char *text_entities) +{ + if (handle == NULL || gift_id == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + telebot_core_response_t response = telebot_core_send_gift(handle->core_h, user_id, chat_id, gift_id, pay_for_upgrade, text, text_parse_mode, text_entities); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_gift_premium_subscription(telebot_handler_t handle, + long long int user_id, int month_count, int star_count, const char *text, + const char *text_parse_mode, const char *text_entities) +{ + if (handle == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + telebot_core_response_t response = telebot_core_gift_premium_subscription(handle->core_h, user_id, month_count, star_count, text, text_parse_mode, text_entities); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} diff --git a/src/telebot.c b/src/telebot.c index 7526ffe..bc277fe 100644 --- a/src/telebot.c +++ b/src/telebot.c @@ -25,18 +25,12 @@ #include #include #include -#include +#include #include #include - -/** - * @brief This object represents handler. - */ -struct telebot_handler -{ - telebot_core_handler_t core_h; /**< Core handler */ - int offset; /**< Offset value to get updates */ -}; +#include +#include +#include static const char *telebot_update_type_str[TELEBOT_UPDATE_TYPE_MAX] = { "message", @@ -44,14 +38,20 @@ static const char *telebot_update_type_str[TELEBOT_UPDATE_TYPE_MAX] = { "channel_post", "edited_channel_post", "inline_query", - "chonse_inline_result", + "chosen_inline_result", "callback_query", "shipping_query", "pre_checkout_query", "poll", - "poll_answer"}; + "poll_answer", + "my_chat_member", + "chat_member", + "chat_join_request", + "message_reaction", + "message_reaction_count", + "chat_boost", + "removed_chat_boost"}; -static void telebot_put_user(telebot_user_t *user); static void telebot_put_chat_photo(telebot_chat_photo_t *photo); static void telebot_put_chat_permissions(telebot_chat_permissions_t *permissions); static void telebot_put_chat_location(telebot_chat_location_t *chat_location); @@ -72,9 +72,31 @@ static void telebot_put_location(telebot_location_t *location); static void telebot_put_venue(telebot_venue_t *venue); static void telebot_put_file(telebot_file_t *file); static void telebot_put_callback_query(telebot_callback_query_t *query); -// static void telebot_put_game(telebot_document_t *game); -// static void telebot_put_invoice(telebot_invoice_t *invoice); -// static void telebot_put_payment(telebot_successful_payment_t *payment); +static void telebot_put_gift_info(telebot_gift_info_t *gift_info); +static void telebot_put_unique_gift_info(telebot_unique_gift_info_t *gift_info); +static void telebot_put_game(telebot_game_t *game); +static void telebot_put_invoice(telebot_invoice_t *invoice); +static void telebot_put_successful_payment(telebot_successful_payment_t *payment); +static void telebot_put_passport_data(telebot_passport_data_t *passport_data); +static void telebot_put_proximity_alert_triggered(telebot_proximity_alert_triggered_t *alert); +static void telebot_put_forum_topic_created(telebot_forum_topic_created_t *topic); +static void telebot_put_forum_topic_edited(telebot_forum_topic_edited_t *topic); +static void telebot_put_video_chat_scheduled(telebot_video_chat_scheduled_t *scheduled); +static void telebot_put_video_chat_ended(telebot_video_chat_ended_t *ended); +static void telebot_put_video_chat_participants_invited(telebot_video_chat_participants_invited_t *invited); +static void telebot_put_web_app_data(telebot_web_app_data_t *data); +static void telebot_put_inline_keyboard_markup(telebot_inline_keyboard_markup_t *markup); +static void telebot_put_chat_member_updated(telebot_chat_member_updated_t *updated); +static void telebot_put_chat_join_request(telebot_chat_join_request_t *request); +static void telebot_put_message_reaction_updated(telebot_message_reaction_updated_t *updated); +static void telebot_put_message_reaction_count_updated(telebot_message_reaction_count_updated_t *updated); +static void telebot_put_chat_boost_updated(telebot_chat_boost_updated_t *updated); +static void telebot_put_chat_boost_removed(telebot_chat_boost_removed_t *removed); +static void telebot_put_inline_query(telebot_inline_query_t *query); +static void telebot_put_chat_invite_link_internal(telebot_chat_invite_link_t *invite_link); +static void telebot_put_chosen_inline_result(telebot_chosen_inline_result_t *result); +static void telebot_put_shipping_query(telebot_shipping_query_t *query); +static void telebot_put_pre_checkout_query(telebot_pre_checkout_query_t *query); telebot_error_e telebot_create(telebot_handler_t *handle, char *token) { @@ -255,6 +277,40 @@ telebot_error_e telebot_put_updates(telebot_update_t *updates, int count) break; case TELEBOT_UPDATE_TYPE_POLL_ANSWER: telebot_put_poll_answer(&(updates[index].poll_answer)); + break; + case TELEBOT_UPDATE_TYPE_MY_CHAT_MEMBER: + telebot_put_chat_member_updated(&(updates[index].my_chat_member)); + break; + case TELEBOT_UPDATE_TYPE_CHAT_MEMBER: + telebot_put_chat_member_updated(&(updates[index].chat_member)); + break; + case TELEBOT_UPDATE_TYPE_CHAT_JOIN_REQUEST: + telebot_put_chat_join_request(&(updates[index].chat_join_request)); + break; + case TELEBOT_UPDATE_TYPE_MESSAGE_REACTION: + telebot_put_message_reaction_updated(&(updates[index].message_reaction)); + break; + case TELEBOT_UPDATE_TYPE_MESSAGE_REACTION_COUNT: + telebot_put_message_reaction_count_updated(&(updates[index].message_reaction_count)); + break; + case TELEBOT_UPDATE_TYPE_CHAT_BOOST: + telebot_put_chat_boost_updated(&(updates[index].chat_boost)); + break; + case TELEBOT_UPDATE_TYPE_REMOVED_CHAT_BOOST: + telebot_put_chat_boost_removed(&(updates[index].chat_boost_removed)); + break; + case TELEBOT_UPDATE_TYPE_INLINE_QUERY: + telebot_put_inline_query(&(updates[index].inline_query)); + break; + case TELEBOT_UPDATE_TYPE_CHOSEN_INLINE_RESULT: + telebot_put_chosen_inline_result(&(updates[index].chosen_inline_result)); + break; + case TELEBOT_UPDATE_TYPE_SHIPPING_QUERY: + telebot_put_shipping_query(&(updates[index].shipping_query)); + break; + case TELEBOT_UPDATE_TYPE_PRE_CHECKOUT_QUERY: + telebot_put_pre_checkout_query(&(updates[index].pre_checkout_query)); + break; default: ERR("Unsupported update type: %d", updates[index].update_type); } @@ -320,12 +376,7 @@ telebot_error_e telebot_get_me(telebot_handler_t handle, telebot_user_t *me) telebot_error_e telebot_put_me(telebot_user_t *me) { - if (me == NULL) - return TELEBOT_ERROR_INVALID_PARAMETER; - - telebot_put_user(me); - - return TELEBOT_ERROR_NONE; + return telebot_put_user(me); } telebot_error_e telebot_set_webhook(telebot_handler_t handle, char *url, char *certificate, int max_connections, @@ -846,6 +897,252 @@ telebot_error_e telebot_put_user_profile_photos(telebot_user_profile_photos_t *p return TELEBOT_ERROR_NONE; } +telebot_error_e telebot_get_user_profile_audios(telebot_handler_t handle, + long long int user_id, int offset, int limit, telebot_user_profile_audios_t *audios) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + if (audios == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + struct json_object *obj = NULL; + telebot_core_response_t response; + response = telebot_core_get_user_profile_audios(handle->core_h, user_id, offset, limit); + int ret = telebot_core_get_response_code(response); + if (ret != TELEBOT_ERROR_NONE) + goto finish; + + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); + if (obj == NULL) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *ok = NULL; + if (!json_object_object_get_ex(obj, "ok", &ok) || !json_object_get_boolean(ok)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *result = NULL; + if (!json_object_object_get_ex(obj, "result", &result)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + ret = telebot_parser_get_user_profile_audios(result, audios); + +finish: + if (obj) + json_object_put(obj); + + telebot_core_put_response(response); + + return ret; +} + +telebot_error_e telebot_put_user_profile_audios(telebot_user_profile_audios_t *audios) +{ + if (audios == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + if (audios->audios) + { + for (int i = 0; i < audios->count; i++) + { + telebot_put_audio(&(audios->audios[i])); + } + free(audios->audios); + } + audios->audios = NULL; + audios->count = 0; + audios->total_count = 0; + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_set_my_profile_photo(telebot_handler_t handle, + const char *photo) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + if (photo == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + telebot_core_response_t response = telebot_core_set_my_profile_photo(handle->core_h, photo); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_remove_my_profile_photo(telebot_handler_t handle, + const char *photo_id) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + if (photo_id == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + telebot_core_response_t response = telebot_core_remove_my_profile_photo(handle->core_h, photo_id); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_get_business_connection(telebot_handler_t handle, + const char *business_connection_id, telebot_business_connection_t *connection) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + if (connection == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + struct json_object *obj = NULL; + telebot_core_response_t response; + response = telebot_core_get_business_connection(handle->core_h, business_connection_id); + int ret = telebot_core_get_response_code(response); + if (ret != TELEBOT_ERROR_NONE) + goto finish; + + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); + if (obj == NULL) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *ok = NULL; + if (!json_object_object_get_ex(obj, "ok", &ok) || !json_object_get_boolean(ok)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *result = NULL; + if (!json_object_object_get_ex(obj, "result", &result)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + ret = telebot_parser_get_business_connection(result, connection); + +finish: + if (obj) + json_object_put(obj); + + telebot_core_put_response(response); + + return ret; +} + +telebot_error_e telebot_put_business_connection(telebot_business_connection_t *connection) +{ + if (connection == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + TELEBOT_SAFE_FREE(connection->id); + telebot_put_user(connection->user); + TELEBOT_SAFE_FREE(connection->user); + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_get_user_chat_boosts(telebot_handler_t handle, + long long int chat_id, long long int user_id, telebot_user_chat_boosts_t *boosts) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + if (boosts == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + struct json_object *obj = NULL; + telebot_core_response_t response; + response = telebot_core_get_user_chat_boosts(handle->core_h, chat_id, user_id); + int ret = telebot_core_get_response_code(response); + if (ret != TELEBOT_ERROR_NONE) + goto finish; + + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); + if (obj == NULL) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *ok = NULL; + if (!json_object_object_get_ex(obj, "ok", &ok) || !json_object_get_boolean(ok)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *result = NULL; + if (!json_object_object_get_ex(obj, "result", &result)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + ret = telebot_parser_get_user_chat_boosts(result, boosts); + +finish: + if (obj) + json_object_put(obj); + + telebot_core_put_response(response); + + return ret; +} + +static void telebot_put_chat_boost_source(telebot_chat_boost_source_t *source) +{ + if (source == NULL) + return; + TELEBOT_SAFE_FREE(source->source); + telebot_put_user(source->user); + TELEBOT_SAFE_FREE(source->user); +} + +static void telebot_put_chat_boost(telebot_chat_boost_t *boost) +{ + if (boost == NULL) + return; + TELEBOT_SAFE_FREE(boost->boost_id); + telebot_put_chat_boost_source(boost->source); + TELEBOT_SAFE_FREE(boost->source); +} + +telebot_error_e telebot_put_user_chat_boosts(telebot_user_chat_boosts_t *boosts) +{ + if (boosts == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + if (boosts->boosts) + { + for (int i = 0; i < boosts->count; i++) + { + telebot_put_chat_boost(&(boosts->boosts[i])); + } + free(boosts->boosts); + } + boosts->boosts = NULL; + boosts->count = 0; + + return TELEBOT_ERROR_NONE; +} + telebot_error_e telebot_download_file(telebot_handler_t handle, const char *file_id, const char *path) { telebot_file_t file; @@ -1576,16 +1873,20 @@ telebot_error_e telebot_delete_message(telebot_handler_t handle, long long int c } /* Utility functions for releasing memory */ -static void telebot_put_user(telebot_user_t *user) +telebot_error_e telebot_put_user(telebot_user_t *user) { if (user == NULL) - return; + return TELEBOT_ERROR_INVALID_PARAMETER; + TELEBOT_SAFE_FREE(user->first_name); TELEBOT_SAFE_FREE(user->last_name); TELEBOT_SAFE_FREE(user->username); TELEBOT_SAFE_FREE(user->language_code); + + return TELEBOT_ERROR_NONE; } + telebot_error_e telebot_put_chat(telebot_chat_t *chat) { if (chat == NULL) @@ -1706,9 +2007,8 @@ static void telebot_put_message(telebot_message_t *msg) msg->count_photos = 0; } - // TODO - // telebot_put_sticker(msg->sticker); - // TELEBOT_SAFE_FREE(msg->sticker); + telebot_put_sticker(msg->sticker); + TELEBOT_SAFE_FREE(msg->sticker); telebot_put_video(msg->video); TELEBOT_SAFE_FREE(msg->video); @@ -1734,9 +2034,8 @@ static void telebot_put_message(telebot_message_t *msg) telebot_put_dice(msg->dice); TELEBOT_SAFE_FREE(msg->dice); - // TODO - // telebot_put_game(msg->game); - // TELEBOT_SAFE_FREE(msg->game); + telebot_put_game(msg->game); + TELEBOT_SAFE_FREE(msg->game); telebot_put_poll(msg->poll); TELEBOT_SAFE_FREE(msg->poll); @@ -1747,6 +2046,12 @@ static void telebot_put_message(telebot_message_t *msg) telebot_put_location(msg->location); TELEBOT_SAFE_FREE(msg->location); + telebot_put_gift_info(msg->gift); + TELEBOT_SAFE_FREE(msg->gift); + + telebot_put_unique_gift_info(msg->unique_gift); + TELEBOT_SAFE_FREE(msg->unique_gift); + if (msg->new_chat_members) { for (int index = 0; index < msg->count_new_chat_members; index++) @@ -1776,22 +2081,53 @@ static void telebot_put_message(telebot_message_t *msg) TELEBOT_SAFE_FREE(msg->message_auto_delete_timer_changed); telebot_put_message(msg->pinned_message); + TELEBOT_SAFE_FREE(msg->pinned_message); + + telebot_put_invoice(msg->invoice); + TELEBOT_SAFE_FREE(msg->invoice); + + telebot_put_successful_payment(msg->successful_payment); + TELEBOT_SAFE_FREE(msg->successful_payment); - // TODO - // telebot_put_invoice(msg->invoice); - // TELEBOT_SAFE_FREE(msg->invoice); + TELEBOT_SAFE_FREE(msg->connected_website); - // TODO - // telebot_put_payment(msg->successful_payment); - // TELEBOT_SAFE_FREE(msg->successful_payment); + telebot_put_passport_data(msg->passport_data); + TELEBOT_SAFE_FREE(msg->passport_data); - // TODO - // telebot_put_passport_data(msg->passport_data); - // TELEBOT_SAFE_FREE(msg->passport_data); + telebot_put_proximity_alert_triggered(msg->proximity_alert_triggered); + TELEBOT_SAFE_FREE(msg->proximity_alert_triggered); - // TODO - // telebot_put_inline_keyboard_markup(msg->reply_markup); - // TELEBOT_SAFE_FREE(msg->reply_markup); + telebot_put_forum_topic_created(msg->forum_topic_created); + TELEBOT_SAFE_FREE(msg->forum_topic_created); + + telebot_put_forum_topic_edited(msg->forum_topic_edited); + TELEBOT_SAFE_FREE(msg->forum_topic_edited); + + telebot_put_forum_topic_created((telebot_forum_topic_created_t *)msg->forum_topic_closed); + TELEBOT_SAFE_FREE(msg->forum_topic_closed); + + telebot_put_forum_topic_created((telebot_forum_topic_created_t *)msg->forum_topic_reopened); + TELEBOT_SAFE_FREE(msg->forum_topic_reopened); + + TELEBOT_SAFE_FREE(msg->general_forum_topic_hidden); + TELEBOT_SAFE_FREE(msg->general_forum_topic_unhidden); + + telebot_put_video_chat_scheduled(msg->video_chat_scheduled); + TELEBOT_SAFE_FREE(msg->video_chat_scheduled); + + TELEBOT_SAFE_FREE(msg->video_chat_started); + + telebot_put_video_chat_ended(msg->video_chat_ended); + TELEBOT_SAFE_FREE(msg->video_chat_ended); + + telebot_put_video_chat_participants_invited(msg->video_chat_participants_invited); + TELEBOT_SAFE_FREE(msg->video_chat_participants_invited); + + telebot_put_web_app_data(msg->web_app_data); + TELEBOT_SAFE_FREE(msg->web_app_data); + + telebot_put_inline_keyboard_markup(msg->reply_markup); + TELEBOT_SAFE_FREE(msg->reply_markup); } static void telebot_put_telebot_message_entity(telebot_message_entity_t *entity) @@ -1995,6 +2331,956 @@ static void telebot_put_callback_query(telebot_callback_query_t *query) TELEBOT_SAFE_FREE(query->game_short_name); } -// TODO: static void telebot_put_invoice(telebot_invoice_t *invoice); -// TODO: static void telebot_put_payment(telebot_successful_payment_t *payment); -// TODO: static void telebot_put_game(telebot_game_t *game); +telebot_error_e telebot_put_sticker(telebot_sticker_t *sticker) +{ + if (sticker == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + TELEBOT_SAFE_FREE(sticker->file_id); + TELEBOT_SAFE_FREE(sticker->file_unique_id); + telebot_put_photo(sticker->thumb); + TELEBOT_SAFE_FREE(sticker->thumb); + TELEBOT_SAFE_FREE(sticker->emoji); + TELEBOT_SAFE_FREE(sticker->set_name); + // telebot_put_mask_position(sticker->mask_position); + TELEBOT_SAFE_FREE(sticker->mask_position); + + return TELEBOT_ERROR_NONE; +} + +telebot_error_e telebot_put_gift(telebot_gift_t *gift) +{ + if (gift == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + TELEBOT_SAFE_FREE(gift->id); + telebot_put_sticker(gift->sticker); + TELEBOT_SAFE_FREE(gift->sticker); + + return TELEBOT_ERROR_NONE; +} + +static void telebot_put_gift_info(telebot_gift_info_t *gift_info) +{ + if (gift_info == NULL) + return; + + telebot_put_gift(&(gift_info->gift)); + TELEBOT_SAFE_FREE(gift_info->text); + if (gift_info->entities) + { + for (int i = 0; i < gift_info->count_entities; i++) + telebot_put_telebot_message_entity(&(gift_info->entities[i])); + TELEBOT_SAFE_FREE(gift_info->entities); + } +} + +static void telebot_put_unique_gift(telebot_unique_gift_t *gift) +{ + if (gift == NULL) + return; + + TELEBOT_SAFE_FREE(gift->gift_id); + TELEBOT_SAFE_FREE(gift->name); + telebot_put_sticker(gift->sticker); + TELEBOT_SAFE_FREE(gift->sticker); +} + +static void telebot_put_unique_gift_info(telebot_unique_gift_info_t *gift_info) +{ + if (gift_info == NULL) + return; + + telebot_put_unique_gift(gift_info->gift); + TELEBOT_SAFE_FREE(gift_info->gift); + TELEBOT_SAFE_FREE(gift_info->origin); +} + +telebot_error_e telebot_put_user_gift(telebot_user_gift_t *user_gift) +{ + if (user_gift == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + TELEBOT_SAFE_FREE(user_gift->gift_id); + telebot_put_user(user_gift->sender_user); + TELEBOT_SAFE_FREE(user_gift->sender_user); + TELEBOT_SAFE_FREE(user_gift->text); + if (user_gift->entities) + { + for (int i = 0; i < user_gift->count_entities; i++) + telebot_put_telebot_message_entity(&(user_gift->entities[i])); + TELEBOT_SAFE_FREE(user_gift->entities); + } + telebot_put_gift(user_gift->gift); + TELEBOT_SAFE_FREE(user_gift->gift); + + return TELEBOT_ERROR_NONE; +} + +static void telebot_put_game(telebot_game_t *game) +{ + if (game == NULL) + return; + + TELEBOT_SAFE_FREE(game->title); + TELEBOT_SAFE_FREE(game->description); + if (game->photo) + { + for (int i = 0; i < game->count_photo; i++) + telebot_put_photo(&(game->photo[i])); + TELEBOT_SAFE_FREE(game->photo); + } + TELEBOT_SAFE_FREE(game->text); + if (game->text_entities) + { + for (int i = 0; i < game->count_text_entities; i++) + telebot_put_telebot_message_entity(&(game->text_entities[i])); + TELEBOT_SAFE_FREE(game->text_entities); + } + telebot_put_animation(game->animation); + TELEBOT_SAFE_FREE(game->animation); +} + +telebot_error_e telebot_log_out(telebot_handler_t handle) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + telebot_core_response_t response = telebot_core_log_out(handle->core_h); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_close(telebot_handler_t handle) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + telebot_core_response_t response = telebot_core_close(handle->core_h); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_set_my_name(telebot_handler_t handle, const char *name, const char *language_code) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + telebot_core_response_t response = telebot_core_set_my_name(handle->core_h, name, language_code); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_get_my_name(telebot_handler_t handle, const char *language_code, char **name) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + if (name == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + struct json_object *obj = NULL; + telebot_core_response_t response = telebot_core_get_my_name(handle->core_h, language_code); + int ret = telebot_core_get_response_code(response); + if (ret != TELEBOT_ERROR_NONE) + goto finish; + + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); + if (obj == NULL) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *ok = NULL; + if (!json_object_object_get_ex(obj, "ok", &ok) || !json_object_get_boolean(ok)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *result = NULL; + if (json_object_object_get_ex(obj, "result", &result)) + { + struct json_object *name_obj = NULL; + if (json_object_object_get_ex(result, "name", &name_obj)) + { + *name = TELEBOT_SAFE_STRDUP(json_object_get_string(name_obj)); + } + else + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + } + } + else + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + } + +finish: + if (obj) + json_object_put(obj); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_set_my_description(telebot_handler_t handle, const char *description, const char *language_code) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + telebot_core_response_t response = telebot_core_set_my_description(handle->core_h, description, language_code); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_get_my_description(telebot_handler_t handle, const char *language_code, char **description) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + if (description == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + struct json_object *obj = NULL; + telebot_core_response_t response = telebot_core_get_my_description(handle->core_h, language_code); + int ret = telebot_core_get_response_code(response); + if (ret != TELEBOT_ERROR_NONE) + goto finish; + + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); + if (obj == NULL) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *ok = NULL; + if (!json_object_object_get_ex(obj, "ok", &ok) || !json_object_get_boolean(ok)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *result = NULL; + if (json_object_object_get_ex(obj, "result", &result)) + { + struct json_object *desc_obj = NULL; + if (json_object_object_get_ex(result, "description", &desc_obj)) + { + *description = TELEBOT_SAFE_STRDUP(json_object_get_string(desc_obj)); + } + else + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + } + } + else + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + } + +finish: + if (obj) + json_object_put(obj); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_set_my_short_description(telebot_handler_t handle, const char *short_description, const char *language_code) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + telebot_core_response_t response = telebot_core_set_my_short_description(handle->core_h, short_description, language_code); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_get_my_short_description(telebot_handler_t handle, const char *language_code, char **short_description) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + if (short_description == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + struct json_object *obj = NULL; + telebot_core_response_t response = telebot_core_get_my_short_description(handle->core_h, language_code); + int ret = telebot_core_get_response_code(response); + if (ret != TELEBOT_ERROR_NONE) + goto finish; + + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); + if (obj == NULL) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *ok = NULL; + if (!json_object_object_get_ex(obj, "ok", &ok) || !json_object_get_boolean(ok)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *result = NULL; + if (json_object_object_get_ex(obj, "result", &result)) + { + struct json_object *desc_obj = NULL; + if (json_object_object_get_ex(result, "short_description", &desc_obj)) + { + *short_description = TELEBOT_SAFE_STRDUP(json_object_get_string(desc_obj)); + } + else + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + } + } + else + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + } + +finish: + if (obj) + json_object_put(obj); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_set_chat_menu_button(telebot_handler_t handle, long long int chat_id, const char *menu_button) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + telebot_core_response_t response = telebot_core_set_chat_menu_button(handle->core_h, chat_id, menu_button); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_get_chat_menu_button(telebot_handler_t handle, long long int chat_id, char **menu_button) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + if (menu_button == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + struct json_object *obj = NULL; + telebot_core_response_t response = telebot_core_get_chat_menu_button(handle->core_h, chat_id); + int ret = telebot_core_get_response_code(response); + if (ret != TELEBOT_ERROR_NONE) + goto finish; + + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); + if (obj == NULL) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *ok = NULL; + if (!json_object_object_get_ex(obj, "ok", &ok) || !json_object_get_boolean(ok)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *result = NULL; + if (json_object_object_get_ex(obj, "result", &result)) + { + *menu_button = TELEBOT_SAFE_STRDUP(json_object_get_string(result)); + } + else + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + } + +finish: + if (obj) + json_object_put(obj); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_set_my_default_administrator_rights(telebot_handler_t handle, const char *rights, bool for_channels) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + telebot_core_response_t response = telebot_core_set_my_default_administrator_rights(handle->core_h, rights, for_channels); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_get_my_default_administrator_rights(telebot_handler_t handle, bool for_channels, char **rights) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + if (rights == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + + struct json_object *obj = NULL; + telebot_core_response_t response = telebot_core_get_my_default_administrator_rights(handle->core_h, for_channels); + int ret = telebot_core_get_response_code(response); + if (ret != TELEBOT_ERROR_NONE) + goto finish; + + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); + if (obj == NULL) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *ok = NULL; + if (!json_object_object_get_ex(obj, "ok", &ok) || !json_object_get_boolean(ok)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *result = NULL; + if (json_object_object_get_ex(obj, "result", &result)) + { + *rights = TELEBOT_SAFE_STRDUP(json_object_get_string(result)); + } + else + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + } + +finish: + if (obj) + json_object_put(obj); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_delete_my_commands(telebot_handler_t handle, const char *scope, const char *language_code) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + telebot_core_response_t response = telebot_core_delete_my_commands(handle->core_h, scope, language_code); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_copy_message(telebot_handler_t handle, long long int chat_id, long long int from_chat_id, int message_id, + const char *caption, const char *parse_mode, const char *caption_entities, + bool disable_notification, bool protect_content, int reply_to_message_id, + bool allow_sending_without_reply, const char *reply_markup, int *message_id_out) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + struct json_object *obj = NULL; + telebot_core_response_t response = telebot_core_copy_message(handle->core_h, chat_id, from_chat_id, message_id, + caption, parse_mode, caption_entities, disable_notification, + protect_content, reply_to_message_id, allow_sending_without_reply, + reply_markup); + int ret = telebot_core_get_response_code(response); + if (ret != TELEBOT_ERROR_NONE) + goto finish; + + if (message_id_out) + { + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); + if (obj == NULL) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *ok = NULL; + if (!json_object_object_get_ex(obj, "ok", &ok) || !json_object_get_boolean(ok)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *result = NULL; + if (json_object_object_get_ex(obj, "result", &result)) + { + struct json_object *mid_obj = NULL; + if (json_object_object_get_ex(result, "message_id", &mid_obj)) + { + *message_id_out = json_object_get_int(mid_obj); + } + } + } + +finish: + if (obj) + json_object_put(obj); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_copy_messages(telebot_handler_t handle, long long int chat_id, long long int from_chat_id, const char *message_ids, + bool disable_notification, bool protect_content, bool remove_caption, + int **message_ids_out, int *count) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + struct json_object *obj = NULL; + telebot_core_response_t response = telebot_core_copy_messages(handle->core_h, chat_id, from_chat_id, message_ids, + disable_notification, protect_content, remove_caption); + int ret = telebot_core_get_response_code(response); + if (ret != TELEBOT_ERROR_NONE) + goto finish; + + if (message_ids_out && count) + { + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); + if (obj == NULL) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *ok = NULL; + if (!json_object_object_get_ex(obj, "ok", &ok) || !json_object_get_boolean(ok)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *result = NULL; + if (json_object_object_get_ex(obj, "result", &result)) + { + int array_len = json_object_array_length(result); + *count = array_len; + *message_ids_out = calloc(array_len, sizeof(int)); + for (int i = 0; i < array_len; i++) + { + struct json_object *mid_obj = json_object_array_get_idx(result, i); + (*message_ids_out)[i] = json_object_get_int(mid_obj); + } + } + } + +finish: + if (obj) + json_object_put(obj); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_forward_messages(telebot_handler_t handle, long long int chat_id, long long int from_chat_id, const char *message_ids, + bool disable_notification, bool protect_content, int **message_ids_out, int *count) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + struct json_object *obj = NULL; + telebot_core_response_t response = telebot_core_forward_messages(handle->core_h, chat_id, from_chat_id, message_ids, + disable_notification, protect_content); + int ret = telebot_core_get_response_code(response); + if (ret != TELEBOT_ERROR_NONE) + goto finish; + + if (message_ids_out && count) + { + const char *rdata = telebot_core_get_response_data(response); + obj = telebot_parser_str_to_obj(rdata); + if (obj == NULL) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *ok = NULL; + if (!json_object_object_get_ex(obj, "ok", &ok) || !json_object_get_boolean(ok)) + { + ret = TELEBOT_ERROR_OPERATION_FAILED; + goto finish; + } + + struct json_object *result = NULL; + if (json_object_object_get_ex(obj, "result", &result)) + { + int array_len = json_object_array_length(result); + *count = array_len; + *message_ids_out = calloc(array_len, sizeof(int)); + for (int i = 0; i < array_len; i++) + { + struct json_object *mid_obj = json_object_array_get_idx(result, i); + (*message_ids_out)[i] = json_object_get_int(mid_obj); + } + } + } + +finish: + if (obj) + json_object_put(obj); + telebot_core_put_response(response); + return ret; +} + +telebot_error_e telebot_delete_messages(telebot_handler_t handle, long long int chat_id, const char *message_ids) +{ + if (handle == NULL) + return TELEBOT_ERROR_NOT_SUPPORTED; + + telebot_core_response_t response = telebot_core_delete_messages(handle->core_h, chat_id, message_ids); + int ret = telebot_core_get_response_code(response); + telebot_core_put_response(response); + return ret; +} + +static void telebot_put_invoice(telebot_invoice_t *invoice) +{ + if (invoice == NULL) + return; + TELEBOT_SAFE_FREE(invoice->title); + TELEBOT_SAFE_FREE(invoice->description); + TELEBOT_SAFE_FREE(invoice->start_parameter); + TELEBOT_SAFE_FREE(invoice->currency); +} + +static void telebot_put_shipping_address(telebot_shipping_address_t *address) +{ + if (address == NULL) + return; + TELEBOT_SAFE_FREE(address->country_code); + TELEBOT_SAFE_FREE(address->state); + TELEBOT_SAFE_FREE(address->city); + TELEBOT_SAFE_FREE(address->street_line1); + TELEBOT_SAFE_FREE(address->street_line2); + TELEBOT_SAFE_FREE(address->post_code); +} + +static void telebot_put_order_info(telebot_order_info_t *info) +{ + if (info == NULL) + return; + TELEBOT_SAFE_FREE(info->name); + TELEBOT_SAFE_FREE(info->phone_number); + TELEBOT_SAFE_FREE(info->email); + telebot_put_shipping_address(info->shipping_address); + TELEBOT_SAFE_FREE(info->shipping_address); +} + +static void telebot_put_successful_payment(telebot_successful_payment_t *payment) +{ + if (payment == NULL) + return; + TELEBOT_SAFE_FREE(payment->currency); + TELEBOT_SAFE_FREE(payment->invoice_payload); + TELEBOT_SAFE_FREE(payment->shipping_option_id); + telebot_put_order_info(payment->order_info); + TELEBOT_SAFE_FREE(payment->order_info); + TELEBOT_SAFE_FREE(payment->telegram_payment_charge_id); + TELEBOT_SAFE_FREE(payment->provider_payment_charge_id); +} + +static void telebot_put_passport_data(telebot_passport_data_t *passport_data) +{ + if (passport_data == NULL) + return; + if (passport_data->data) + { + for (int i = 0; i < passport_data->count_data; i++) + { + TELEBOT_SAFE_FREE(passport_data->data[i].type); + TELEBOT_SAFE_FREE(passport_data->data[i].data); + TELEBOT_SAFE_FREE(passport_data->data[i].phone_number); + TELEBOT_SAFE_FREE(passport_data->data[i].email); + if (passport_data->data[i].files) + { + for (int j = 0; j < passport_data->data[i].count_files; j++) + { + TELEBOT_SAFE_FREE(passport_data->data[i].files[j].file_id); + TELEBOT_SAFE_FREE(passport_data->data[i].files[j].file_unique_id); + } + TELEBOT_SAFE_FREE(passport_data->data[i].files); + } + TELEBOT_SAFE_FREE(passport_data->data[i].hash); + } + TELEBOT_SAFE_FREE(passport_data->data); + } + if (passport_data->credentials) + { + TELEBOT_SAFE_FREE(passport_data->credentials->data); + TELEBOT_SAFE_FREE(passport_data->credentials->hash); + TELEBOT_SAFE_FREE(passport_data->credentials->secret); + TELEBOT_SAFE_FREE(passport_data->credentials); + } +} + +static void telebot_put_proximity_alert_triggered(telebot_proximity_alert_triggered_t *alert) +{ + if (alert == NULL) + return; + telebot_put_user(alert->traveler); + TELEBOT_SAFE_FREE(alert->traveler); + telebot_put_user(alert->watcher); + TELEBOT_SAFE_FREE(alert->watcher); +} + +static void telebot_put_forum_topic_created(telebot_forum_topic_created_t *topic) +{ + if (topic == NULL) + return; + TELEBOT_SAFE_FREE(topic->name); + TELEBOT_SAFE_FREE(topic->icon_custom_emoji_id); +} + +static void telebot_put_forum_topic_edited(telebot_forum_topic_edited_t *topic) +{ + if (topic == NULL) + return; + TELEBOT_SAFE_FREE(topic->name); + TELEBOT_SAFE_FREE(topic->icon_custom_emoji_id); +} + +static void telebot_put_video_chat_scheduled(telebot_video_chat_scheduled_t *scheduled) +{ + if (scheduled == NULL) + return; +} + +static void telebot_put_video_chat_ended(telebot_video_chat_ended_t *ended) +{ + if (ended == NULL) + return; +} + +static void telebot_put_video_chat_participants_invited(telebot_video_chat_participants_invited_t *invited) +{ + if (invited == NULL) + return; + if (invited->users) + { + for (int i = 0; i < invited->count_users; i++) + telebot_put_user(&(invited->users[i])); + TELEBOT_SAFE_FREE(invited->users); + } +} + +static void telebot_put_web_app_data(telebot_web_app_data_t *data) +{ + if (data == NULL) + return; + TELEBOT_SAFE_FREE(data->data); + TELEBOT_SAFE_FREE(data->button_text); +} + +static void telebot_put_inline_keyboard_markup(telebot_inline_keyboard_markup_t *markup) +{ + if (markup == NULL) + return; + if (markup->inline_keyboard) + { + int count = markup->rows * markup->cols; + for (int i = 0; i < count; i++) + { + TELEBOT_SAFE_FREE(markup->inline_keyboard[i].text); + TELEBOT_SAFE_FREE(markup->inline_keyboard[i].url); + TELEBOT_SAFE_FREE(markup->inline_keyboard[i].callback_data); + TELEBOT_SAFE_FREE(markup->inline_keyboard[i].switch_inline_query); + TELEBOT_SAFE_FREE(markup->inline_keyboard[i].switch_inline_query_current_chat); + } + TELEBOT_SAFE_FREE(markup->inline_keyboard); + } +} + +static void telebot_put_chat_member_updated(telebot_chat_member_updated_t *updated) +{ + if (updated == NULL) + return; + telebot_put_chat(updated->chat); + TELEBOT_SAFE_FREE(updated->chat); + telebot_put_user(updated->from); + TELEBOT_SAFE_FREE(updated->from); + telebot_put_chat_member(updated->old_chat_member); + TELEBOT_SAFE_FREE(updated->old_chat_member); + telebot_put_chat_member(updated->new_chat_member); + TELEBOT_SAFE_FREE(updated->new_chat_member); + telebot_put_chat_invite_link_internal(updated->invite_link); + TELEBOT_SAFE_FREE(updated->invite_link); +} + +static void telebot_put_chat_join_request(telebot_chat_join_request_t *request) +{ + if (request == NULL) + return; + telebot_put_chat(request->chat); + TELEBOT_SAFE_FREE(request->chat); + telebot_put_user(request->from); + TELEBOT_SAFE_FREE(request->from); + TELEBOT_SAFE_FREE(request->bio); + telebot_put_chat_invite_link_internal(request->invite_link); + TELEBOT_SAFE_FREE(request->invite_link); +} + +static void telebot_put_reaction_type(telebot_reaction_type_t *reaction) +{ + if (reaction == NULL) + return; + TELEBOT_SAFE_FREE(reaction->type); + TELEBOT_SAFE_FREE(reaction->emoji); + TELEBOT_SAFE_FREE(reaction->custom_emoji_id); +} + +static void telebot_put_message_reaction_updated(telebot_message_reaction_updated_t *updated) +{ + if (updated == NULL) + return; + telebot_put_chat(updated->chat); + TELEBOT_SAFE_FREE(updated->chat); + telebot_put_user(updated->user); + TELEBOT_SAFE_FREE(updated->user); + telebot_put_chat(updated->actor_chat); + TELEBOT_SAFE_FREE(updated->actor_chat); + if (updated->old_reaction) + { + for (int i = 0; i < updated->count_old_reaction; i++) + telebot_put_reaction_type(&(updated->old_reaction[i])); + TELEBOT_SAFE_FREE(updated->old_reaction); + } + if (updated->new_reaction) + { + for (int i = 0; i < updated->count_new_reaction; i++) + telebot_put_reaction_type(&(updated->new_reaction[i])); + TELEBOT_SAFE_FREE(updated->new_reaction); + } +} + +static void telebot_put_message_reaction_count_updated(telebot_message_reaction_count_updated_t *updated) +{ + if (updated == NULL) + return; + telebot_put_chat(updated->chat); + TELEBOT_SAFE_FREE(updated->chat); + if (updated->reactions) + { + for (int i = 0; i < updated->count_reactions; i++) + telebot_put_reaction_type(&(updated->reactions[i].type)); + TELEBOT_SAFE_FREE(updated->reactions); + } +} + +static void telebot_put_chat_boost_updated(telebot_chat_boost_updated_t *updated) +{ + if (updated == NULL) + return; + telebot_put_chat(updated->chat); + TELEBOT_SAFE_FREE(updated->chat); + if (updated->boost) + { + TELEBOT_SAFE_FREE(updated->boost->boost_id); + if (updated->boost->source) + { + TELEBOT_SAFE_FREE(updated->boost->source->source); + telebot_put_user(updated->boost->source->user); + TELEBOT_SAFE_FREE(updated->boost->source->user); + TELEBOT_SAFE_FREE(updated->boost->source); + } + TELEBOT_SAFE_FREE(updated->boost); + } +} + +static void telebot_put_chat_boost_removed(telebot_chat_boost_removed_t *removed) +{ + if (removed == NULL) + return; + telebot_put_chat(removed->chat); + TELEBOT_SAFE_FREE(removed->chat); + TELEBOT_SAFE_FREE(removed->boost_id); + if (removed->source) + { + TELEBOT_SAFE_FREE(removed->source->source); + telebot_put_user(removed->source->user); + TELEBOT_SAFE_FREE(removed->source->user); + TELEBOT_SAFE_FREE(removed->source); + } +} + +static void telebot_put_inline_query(telebot_inline_query_t *query) +{ + if (query == NULL) + return; + TELEBOT_SAFE_FREE(query->id); + telebot_put_user(query->from); + TELEBOT_SAFE_FREE(query->from); + TELEBOT_SAFE_FREE(query->query); + TELEBOT_SAFE_FREE(query->offset); + TELEBOT_SAFE_FREE(query->chat_type); + telebot_put_location(query->location); + TELEBOT_SAFE_FREE(query->location); +} + +static void telebot_put_chosen_inline_result(telebot_chosen_inline_result_t *result) +{ + if (result == NULL) + return; + TELEBOT_SAFE_FREE(result->result_id); + telebot_put_user(result->from); + TELEBOT_SAFE_FREE(result->from); + telebot_put_location(result->location); + TELEBOT_SAFE_FREE(result->location); + TELEBOT_SAFE_FREE(result->inline_message_id); + TELEBOT_SAFE_FREE(result->query); +} + +static void telebot_put_shipping_query(telebot_shipping_query_t *query) +{ + if (query == NULL) + return; + TELEBOT_SAFE_FREE(query->id); + telebot_put_user(query->from); + TELEBOT_SAFE_FREE(query->from); + TELEBOT_SAFE_FREE(query->invoice_payload); + telebot_put_shipping_address(query->shipping_address); + TELEBOT_SAFE_FREE(query->shipping_address); +} + +static void telebot_put_pre_checkout_query(telebot_pre_checkout_query_t *query) +{ + if (query == NULL) + return; + TELEBOT_SAFE_FREE(query->id); + telebot_put_user(query->from); + TELEBOT_SAFE_FREE(query->from); + TELEBOT_SAFE_FREE(query->currency); + TELEBOT_SAFE_FREE(query->invoice_payload); + TELEBOT_SAFE_FREE(query->shipping_option_id); + telebot_put_order_info(query->order_info); + TELEBOT_SAFE_FREE(query->order_info); +} + +static void telebot_put_chat_invite_link_internal(telebot_chat_invite_link_t *invite_link) +{ + if (invite_link == NULL) + return; + + TELEBOT_SAFE_FREE(invite_link->invite_link); + telebot_put_user(invite_link->creator); + TELEBOT_SAFE_FREE(invite_link->creator); + TELEBOT_SAFE_FREE(invite_link->name); +} + +telebot_error_e telebot_put_chat_invite_link(telebot_chat_invite_link_t *invite_link) +{ + if (invite_link == NULL) + return TELEBOT_ERROR_INVALID_PARAMETER; + telebot_put_chat_invite_link_internal(invite_link); + return TELEBOT_ERROR_NONE; +} From b7c4ddee9192efac0e11de3cfba42d543d800569 Mon Sep 17 00:00:00 2001 From: Elmurod Talipov Date: Fri, 27 Feb 2026 07:12:58 +0900 Subject: [PATCH 08/12] Fix build failure in github action - missing packages Signed-off-by: Elmurod Talipov --- .github/workflows/telebot.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/telebot.yml b/.github/workflows/telebot.yml index d4353b8..57876c7 100644 --- a/.github/workflows/telebot.yml +++ b/.github/workflows/telebot.yml @@ -6,12 +6,12 @@ jobs: build: runs-on: ubuntu-latest - + steps: - uses: actions/checkout@v3 - name: prepare - run: sudo apt install -y pkg-config libcurl4-openssl-dev libjson-c-dev cmake binutils make - - name: cmake + run: sudo apt update && sudo apt install -y pkg-config libcurl4-openssl-dev libjson-c-dev cmake binutils make + - name: cmake run: mkdir -p build && cd build && cmake .. - name: make run: cd build && make From 3892001d104133cd7432f260490e9975407f2960 Mon Sep 17 00:00:00 2001 From: Elmurod Talipov Date: Fri, 27 Feb 2026 18:05:12 +0900 Subject: [PATCH 09/12] Simplify version string and remove redundant const char * casts Signed-off-by: Elmurod Talipov --- CMakeLists.txt | 2 +- src/telebot-core.c | 192 ++++++++++++++++++++++----------------------- 2 files changed, 97 insertions(+), 97 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0bc53de..70435b2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,7 @@ SET(PREFIX ${CMAKE_INSTALL_PREFIX}) SET(EXEC_PREFIX "${PREFIX}/bin") SET(INCLUDEDIR "${PREFIX}/include/${PROJECT_NAME}") SET(LIBDIR "${PREFIX}/lib") -SET(VERSION 9.4.0) +SET(VERSION 9.4) SET(CMAKE_MACOSX_RPATH 1) diff --git a/src/telebot-core.c b/src/telebot-core.c index 3626e04..7fb24ae 100644 --- a/src/telebot-core.c +++ b/src/telebot-core.c @@ -2680,14 +2680,14 @@ telebot_core_set_my_name(telebot_core_handler_t core_h, const char *name, const { mimes[count].name = "name"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)name; + mimes[count].data.s = name; count++; } if (language_code) { mimes[count].name = "language_code"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)language_code; + mimes[count].data.s = language_code; count++; } return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_MY_NAME, mimes, count); @@ -2702,7 +2702,7 @@ telebot_core_get_my_name(telebot_core_handler_t core_h, const char *language_cod { mimes[count].name = "language_code"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)language_code; + mimes[count].data.s = language_code; count++; } return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_MY_NAME, mimes, count); @@ -2717,14 +2717,14 @@ telebot_core_set_my_description(telebot_core_handler_t core_h, const char *descr { mimes[count].name = "description"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)description; + mimes[count].data.s = description; count++; } if (language_code) { mimes[count].name = "language_code"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)language_code; + mimes[count].data.s = language_code; count++; } return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_MY_DESCRIPTION, mimes, count); @@ -2739,7 +2739,7 @@ telebot_core_get_my_description(telebot_core_handler_t core_h, const char *langu { mimes[count].name = "language_code"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)language_code; + mimes[count].data.s = language_code; count++; } return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_MY_DESCRIPTION, mimes, count); @@ -2755,14 +2755,14 @@ telebot_core_set_my_short_description(telebot_core_handler_t core_h, const char { mimes[count].name = "short_description"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)short_description; + mimes[count].data.s = short_description; count++; } if (language_code) { mimes[count].name = "language_code"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)language_code; + mimes[count].data.s = language_code; count++; } return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_MY_SHORT_DESCRIPTION, mimes, count); @@ -2777,7 +2777,7 @@ telebot_core_get_my_short_description(telebot_core_handler_t core_h, const char { mimes[count].name = "language_code"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)language_code; + mimes[count].data.s = language_code; count++; } return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_MY_SHORT_DESCRIPTION, mimes, count); @@ -2799,7 +2799,7 @@ telebot_core_set_chat_menu_button(telebot_core_handler_t core_h, long long int c { mimes[count].name = "menu_button"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)menu_button; + mimes[count].data.s = menu_button; count++; } return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_CHAT_MENU_BUTTON, mimes, count); @@ -2829,7 +2829,7 @@ telebot_core_set_my_default_administrator_rights(telebot_core_handler_t core_h, { mimes[count].name = "rights"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)rights; + mimes[count].data.s = rights; count++; } mimes[count].name = "for_channels"; @@ -2860,14 +2860,14 @@ telebot_core_delete_my_commands(telebot_core_handler_t core_h, const char *scope { mimes[count].name = "scope"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)scope; + mimes[count].data.s = scope; count++; } if (language_code) { mimes[count].name = "language_code"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)language_code; + mimes[count].data.s = language_code; count++; } return telebot_core_curl_perform(core_h, TELEBOT_METHOD_DELETE_MY_COMMANDS, mimes, count); @@ -2897,21 +2897,21 @@ telebot_core_copy_message(telebot_core_handler_t core_h, long long int chat_id, { mimes[count].name = "caption"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)caption; + mimes[count].data.s = caption; count++; } if (parse_mode) { mimes[count].name = "parse_mode"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)parse_mode; + mimes[count].data.s = parse_mode; count++; } if (caption_entities) { mimes[count].name = "caption_entities"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)caption_entities; + mimes[count].data.s = caption_entities; count++; } mimes[count].name = "disable_notification"; @@ -2937,7 +2937,7 @@ telebot_core_copy_message(telebot_core_handler_t core_h, long long int chat_id, { mimes[count].name = "reply_markup"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)reply_markup; + mimes[count].data.s = reply_markup; count++; } return telebot_core_curl_perform(core_h, TELEBOT_METHOD_COPY_MESSAGE, mimes, count); @@ -3017,7 +3017,7 @@ telebot_core_create_chat_invite_link(telebot_core_handler_t core_h, long long in { mimes[count].name = "name"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)name; + mimes[count].data.s = name; count++; } if (expire_date > 0) @@ -3053,13 +3053,13 @@ telebot_core_edit_chat_invite_link(telebot_core_handler_t core_h, long long int count++; mimes[count].name = "invite_link"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)invite_link; + mimes[count].data.s = invite_link; count++; if (name) { mimes[count].name = "name"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)name; + mimes[count].data.s = name; count++; } if (expire_date > 0) @@ -3094,7 +3094,7 @@ telebot_core_revoke_chat_invite_link(telebot_core_handler_t core_h, long long in count++; mimes[count].name = "invite_link"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)invite_link; + mimes[count].data.s = invite_link; count++; return telebot_core_curl_perform(core_h, TELEBOT_METHOD_REVOKE_CHAT_INVITE_LINK, mimes, count); } @@ -3149,7 +3149,7 @@ telebot_core_set_message_reaction(telebot_core_handler_t core_h, long long int c { mimes[count].name = "reaction"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)reaction; + mimes[count].data.s = reaction; count++; } mimes[count].name = "is_big"; @@ -3171,7 +3171,7 @@ telebot_core_create_forum_topic(telebot_core_handler_t core_h, long long int cha count++; mimes[count].name = "name"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)name; + mimes[count].data.s = name; count++; if (icon_color > 0) { @@ -3184,7 +3184,7 @@ telebot_core_create_forum_topic(telebot_core_handler_t core_h, long long int cha { mimes[count].name = "icon_custom_emoji_id"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)icon_custom_emoji_id; + mimes[count].data.s = icon_custom_emoji_id; count++; } return telebot_core_curl_perform(core_h, TELEBOT_METHOD_CREATE_FORUM_TOPIC, mimes, count); @@ -3208,14 +3208,14 @@ telebot_core_edit_forum_topic(telebot_core_handler_t core_h, long long int chat_ { mimes[count].name = "name"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)name; + mimes[count].data.s = name; count++; } if (icon_custom_emoji_id) { mimes[count].name = "icon_custom_emoji_id"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)icon_custom_emoji_id; + mimes[count].data.s = icon_custom_emoji_id; count++; } return telebot_core_curl_perform(core_h, TELEBOT_METHOD_EDIT_FORUM_TOPIC, mimes, count); @@ -3302,7 +3302,7 @@ telebot_core_edit_general_forum_topic(telebot_core_handler_t core_h, long long i count++; mimes[count].name = "name"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)name; + mimes[count].data.s = name; count++; return telebot_core_curl_perform(core_h, TELEBOT_METHOD_EDIT_GENERAL_FORUM_TOPIC, mimes, count); } @@ -3374,7 +3374,7 @@ telebot_core_get_custom_emoji_stickers(telebot_core_handler_t core_h, const char telebot_core_mime_t mimes[1]; mimes[count].name = "custom_emoji_ids"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)custom_emoji_ids; + mimes[count].data.s = custom_emoji_ids; count++; return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_CUSTOM_EMOJI_STICKERS, mimes, count); } @@ -3386,11 +3386,11 @@ telebot_core_answer_web_app_query(telebot_core_handler_t core_h, const char *web telebot_core_mime_t mimes[2]; mimes[count].name = "web_app_query_id"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)web_app_query_id; + mimes[count].data.s = web_app_query_id; count++; mimes[count].name = "result"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)result; + mimes[count].data.s = result; count++; return telebot_core_curl_perform(core_h, TELEBOT_METHOD_ANSWER_WEB_APP_QUERY, mimes, count); } @@ -3412,7 +3412,7 @@ telebot_core_copy_messages(telebot_core_handler_t core_h, long long int chat_id, count++; mimes[count].name = "message_ids"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)message_ids; + mimes[count].data.s = message_ids; count++; mimes[count].name = "disable_notification"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; @@ -3445,7 +3445,7 @@ telebot_core_forward_messages(telebot_core_handler_t core_h, long long int chat_ count++; mimes[count].name = "message_ids"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)message_ids; + mimes[count].data.s = message_ids; count++; mimes[count].name = "disable_notification"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; @@ -3469,7 +3469,7 @@ telebot_core_delete_messages(telebot_core_handler_t core_h, long long int chat_i count++; mimes[count].name = "message_ids"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)message_ids; + mimes[count].data.s = message_ids; count++; return telebot_core_curl_perform(core_h, TELEBOT_METHOD_DELETE_MESSAGES, mimes, count); } @@ -3503,20 +3503,20 @@ telebot_core_edit_message_media(telebot_core_handler_t core_h, long long int cha { mimes[count].name = "inline_message_id"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)inline_message_id; + mimes[count].data.s = inline_message_id; count++; } mimes[count].name = "media"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)media; + mimes[count].data.s = media; count++; if (reply_markup != NULL) { mimes[count].name = "reply_markup"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)reply_markup; + mimes[count].data.s = reply_markup; count++; } @@ -3541,27 +3541,27 @@ telebot_core_send_paid_media(telebot_core_handler_t core_h, long long int chat_i count++; mimes[count].name = "media"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)media; + mimes[count].data.s = media; count++; if (caption) { mimes[count].name = "caption"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)caption; + mimes[count].data.s = caption; count++; } if (parse_mode) { mimes[count].name = "parse_mode"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)parse_mode; + mimes[count].data.s = parse_mode; count++; } if (caption_entities) { mimes[count].name = "caption_entities"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)caption_entities; + mimes[count].data.s = caption_entities; count++; } mimes[count].name = "show_caption_above_media"; @@ -3580,14 +3580,14 @@ telebot_core_send_paid_media(telebot_core_handler_t core_h, long long int chat_i { mimes[count].name = "reply_parameters"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)reply_parameters; + mimes[count].data.s = reply_parameters; count++; } if (reply_markup) { mimes[count].name = "reply_markup"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)reply_markup; + mimes[count].data.s = reply_markup; count++; } return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_PAID_MEDIA, mimes, count); @@ -3601,11 +3601,11 @@ telebot_core_answer_inline_query(telebot_core_handler_t core_h, const char *inli telebot_core_mime_t mimes[6]; mimes[count].name = "inline_query_id"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)inline_query_id; + mimes[count].data.s = inline_query_id; count++; mimes[count].name = "results"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)results; + mimes[count].data.s = results; count++; if (cache_time > 0) { @@ -3625,14 +3625,14 @@ telebot_core_answer_inline_query(telebot_core_handler_t core_h, const char *inli { mimes[count].name = "next_offset"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)next_offset; + mimes[count].data.s = next_offset; count++; } if (button) { mimes[count].name = "button"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)button; + mimes[count].data.s = button; count++; } return telebot_core_curl_perform(core_h, TELEBOT_METHOD_ANSWER_INLINE_QUERY, mimes, count); @@ -3651,7 +3651,7 @@ telebot_core_save_prepared_inline_message(telebot_core_handler_t core_h, long lo count++; mimes[count].name = "result"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)result; + mimes[count].data.s = result; count++; if (allow_user_chats) { @@ -3707,7 +3707,7 @@ telebot_core_send_gift(telebot_core_handler_t core_h, long long int user_id, lon } mimes[count].name = "gift_id"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)gift_id; + mimes[count].data.s = gift_id; count++; mimes[count].name = "pay_for_upgrade"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; @@ -3717,21 +3717,21 @@ telebot_core_send_gift(telebot_core_handler_t core_h, long long int user_id, lon { mimes[count].name = "text"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)text; + mimes[count].data.s = text; count++; } if (text_parse_mode) { mimes[count].name = "text_parse_mode"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)text_parse_mode; + mimes[count].data.s = text_parse_mode; count++; } if (text_entities) { mimes[count].name = "text_entities"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)text_entities; + mimes[count].data.s = text_entities; count++; } return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_GIFT, mimes, count); @@ -3760,21 +3760,21 @@ telebot_core_gift_premium_subscription(telebot_core_handler_t core_h, long long { mimes[count].name = "text"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)text; + mimes[count].data.s = text; count++; } if (text_parse_mode) { mimes[count].name = "text_parse_mode"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)text_parse_mode; + mimes[count].data.s = text_parse_mode; count++; } if (text_entities) { mimes[count].name = "text_entities"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)text_entities; + mimes[count].data.s = text_entities; count++; } return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GIFT_PREMIUM_SUBSCRIPTION, mimes, count); @@ -3820,7 +3820,7 @@ telebot_core_refund_star_payment(telebot_core_handler_t core_h, long long int us count++; mimes[count].name = "telegram_payment_charge_id"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)telegram_payment_charge_id; + mimes[count].data.s = telegram_payment_charge_id; count++; return telebot_core_curl_perform(core_h, TELEBOT_METHOD_REFUND_STAR_PAYMENT, mimes, count); } @@ -3891,7 +3891,7 @@ telebot_core_upgrade_gift(telebot_core_handler_t core_h, const char *gift_id, bo telebot_core_mime_t mimes[5]; mimes[count].name = "gift_id"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)gift_id; + mimes[count].data.s = gift_id; count++; mimes[count].name = "pay_for_upgrade"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; @@ -3901,21 +3901,21 @@ telebot_core_upgrade_gift(telebot_core_handler_t core_h, const char *gift_id, bo { mimes[count].name = "text"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)text; + mimes[count].data.s = text; count++; } if (text_parse_mode) { mimes[count].name = "text_parse_mode"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)text_parse_mode; + mimes[count].data.s = text_parse_mode; count++; } if (text_entities) { mimes[count].name = "text_entities"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)text_entities; + mimes[count].data.s = text_entities; count++; } return telebot_core_curl_perform(core_h, TELEBOT_METHOD_UPGRADE_GIFT, mimes, count); @@ -3937,7 +3937,7 @@ telebot_core_transfer_gift(telebot_core_handler_t core_h, long long int user_id, count++; mimes[count].name = "gift_id"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)gift_id; + mimes[count].data.s = gift_id; count++; return telebot_core_curl_perform(core_h, TELEBOT_METHOD_TRANSFER_GIFT, mimes, count); } @@ -3949,7 +3949,7 @@ telebot_core_convert_gift_to_stars(telebot_core_handler_t core_h, const char *gi telebot_core_mime_t mimes[1]; mimes[count].name = "gift_id"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)gift_id; + mimes[count].data.s = gift_id; count++; return telebot_core_curl_perform(core_h, TELEBOT_METHOD_CONVERT_GIFT_TO_STARS, mimes, count); } @@ -3987,7 +3987,7 @@ telebot_core_set_my_profile_photo(telebot_core_handler_t core_h, const char *pho telebot_core_mime_t mimes[1]; mimes[count].name = "photo"; mimes[count].type = TELEBOT_MIME_TYPE_FILE; - mimes[count].data.s = (char *)photo; + mimes[count].data.s = photo; count++; return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_MY_PROFILE_PHOTO, mimes, count); } @@ -3999,7 +3999,7 @@ telebot_core_remove_my_profile_photo(telebot_core_handler_t core_h, const char * telebot_core_mime_t mimes[1]; mimes[count].name = "photo_id"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)photo_id; + mimes[count].data.s = photo_id; count++; return telebot_core_curl_perform(core_h, TELEBOT_METHOD_REMOVE_MY_PROFILE_PHOTO, mimes, count); } @@ -4011,7 +4011,7 @@ telebot_core_get_business_connection(telebot_core_handler_t core_h, const char * telebot_core_mime_t mimes[1]; mimes[count].name = "business_connection_id"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)business_connection_id; + mimes[count].data.s = business_connection_id; count++; return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_BUSINESS_CONNECTION, mimes, count); } @@ -4052,7 +4052,7 @@ telebot_core_send_game(telebot_core_handler_t core_h, long long int chat_id, int } mimes[count].name = "game_short_name"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)game_short_name; + mimes[count].data.s = game_short_name; count++; mimes[count].name = "disable_notification"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; @@ -4066,14 +4066,14 @@ telebot_core_send_game(telebot_core_handler_t core_h, long long int chat_id, int { mimes[count].name = "reply_parameters"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)reply_parameters; + mimes[count].data.s = reply_parameters; count++; } if (reply_markup) { mimes[count].name = "reply_markup"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)reply_markup; + mimes[count].data.s = reply_markup; count++; } return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_GAME, mimes, count); @@ -4120,7 +4120,7 @@ telebot_core_set_game_score(telebot_core_handler_t core_h, long long int user_id { mimes[count].name = "inline_message_id"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)inline_message_id; + mimes[count].data.s = inline_message_id; count++; } return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_GAME_SCORE, mimes, count); @@ -4154,7 +4154,7 @@ telebot_core_get_game_high_scores(telebot_core_handler_t core_h, long long int u { mimes[count].name = "inline_message_id"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)inline_message_id; + mimes[count].data.s = inline_message_id; count++; } return telebot_core_curl_perform(core_h, TELEBOT_METHOD_GET_GAME_HIGH_SCORES, mimes, count); @@ -4171,7 +4171,7 @@ telebot_core_set_passport_data_errors(telebot_core_handler_t core_h, long long i count++; mimes[count].name = "errors"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)errors; + mimes[count].data.s = errors; count++; return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SET_PASSPORT_DATA_ERRORS, mimes, count); } @@ -4202,30 +4202,30 @@ telebot_core_send_invoice(telebot_core_handler_t core_h, long long int chat_id, } mimes[count].name = "title"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)title; + mimes[count].data.s = title; count++; mimes[count].name = "description"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)description; + mimes[count].data.s = description; count++; mimes[count].name = "payload"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)payload; + mimes[count].data.s = payload; count++; if (provider_token) { mimes[count].name = "provider_token"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)provider_token; + mimes[count].data.s = provider_token; count++; } mimes[count].name = "currency"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)currency; + mimes[count].data.s = currency; count++; mimes[count].name = "prices"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)prices; + mimes[count].data.s = prices; count++; if (max_tip_amount > 0) { @@ -4238,28 +4238,28 @@ telebot_core_send_invoice(telebot_core_handler_t core_h, long long int chat_id, { mimes[count].name = "suggested_tip_amounts"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)suggested_tip_amounts; + mimes[count].data.s = suggested_tip_amounts; count++; } if (start_parameter) { mimes[count].name = "start_parameter"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)start_parameter; + mimes[count].data.s = start_parameter; count++; } if (provider_data) { mimes[count].name = "provider_data"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)provider_data; + mimes[count].data.s = provider_data; count++; } if (photo_url) { mimes[count].name = "photo_url"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)photo_url; + mimes[count].data.s = photo_url; count++; } if (photo_size > 0) @@ -4323,14 +4323,14 @@ telebot_core_send_invoice(telebot_core_handler_t core_h, long long int chat_id, { mimes[count].name = "reply_parameters"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)reply_parameters; + mimes[count].data.s = reply_parameters; count++; } if (reply_markup) { mimes[count].name = "reply_markup"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)reply_markup; + mimes[count].data.s = reply_markup; count++; } return telebot_core_curl_perform(core_h, TELEBOT_METHOD_SEND_INVOICE, mimes, count); @@ -4349,30 +4349,30 @@ telebot_core_create_invoice_link(telebot_core_handler_t core_h, const char *titl telebot_core_mime_t mimes[21]; mimes[count].name = "title"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)title; + mimes[count].data.s = title; count++; mimes[count].name = "description"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)description; + mimes[count].data.s = description; count++; mimes[count].name = "payload"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)payload; + mimes[count].data.s = payload; count++; if (provider_token) { mimes[count].name = "provider_token"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)provider_token; + mimes[count].data.s = provider_token; count++; } mimes[count].name = "currency"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)currency; + mimes[count].data.s = currency; count++; mimes[count].name = "prices"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)prices; + mimes[count].data.s = prices; count++; if (max_tip_amount > 0) { @@ -4385,21 +4385,21 @@ telebot_core_create_invoice_link(telebot_core_handler_t core_h, const char *titl { mimes[count].name = "suggested_tip_amounts"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)suggested_tip_amounts; + mimes[count].data.s = suggested_tip_amounts; count++; } if (provider_data) { mimes[count].name = "provider_data"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)provider_data; + mimes[count].data.s = provider_data; count++; } if (photo_url) { mimes[count].name = "photo_url"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)photo_url; + mimes[count].data.s = photo_url; count++; } if (photo_size > 0) @@ -4462,7 +4462,7 @@ telebot_core_answer_shipping_query(telebot_core_handler_t core_h, const char *sh telebot_core_mime_t mimes[4]; mimes[count].name = "shipping_query_id"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)shipping_query_id; + mimes[count].data.s = shipping_query_id; count++; mimes[count].name = "ok"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; @@ -4472,14 +4472,14 @@ telebot_core_answer_shipping_query(telebot_core_handler_t core_h, const char *sh { mimes[count].name = "shipping_options"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)shipping_options; + mimes[count].data.s = shipping_options; count++; } if (error_message) { mimes[count].name = "error_message"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)error_message; + mimes[count].data.s = error_message; count++; } return telebot_core_curl_perform(core_h, TELEBOT_METHOD_ANSWER_SHIPPING_QUERY, mimes, count); @@ -4493,7 +4493,7 @@ telebot_core_answer_pre_checkout_query(telebot_core_handler_t core_h, const char telebot_core_mime_t mimes[3]; mimes[count].name = "pre_checkout_query_id"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)pre_checkout_query_id; + mimes[count].data.s = pre_checkout_query_id; count++; mimes[count].name = "ok"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; @@ -4503,7 +4503,7 @@ telebot_core_answer_pre_checkout_query(telebot_core_handler_t core_h, const char { mimes[count].name = "error_message"; mimes[count].type = TELEBOT_MIME_TYPE_STRING; - mimes[count].data.s = (char *)error_message; + mimes[count].data.s = error_message; count++; } return telebot_core_curl_perform(core_h, TELEBOT_METHOD_ANSWER_PRE_CHECKOUT_QUERY, mimes, count); From 6f5b93a463e9b949894260a80fe06269988d14c9 Mon Sep 17 00:00:00 2001 From: Elmurod Talipov Date: Fri, 27 Feb 2026 19:04:33 +0900 Subject: [PATCH 10/12] Rename echobot to testbot and implement comprehensive test commands Signed-off-by: Elmurod Talipov --- CMakeLists.txt | 2 +- README.md | 5 +- test/CMakeLists.txt | 4 +- test/echobot.c | 102 -------------- test/samples/animation.gif | Bin 0 -> 239321 bytes test/samples/audio.mp3 | Bin 0 -> 2158877 bytes test/samples/document.md | 9 ++ test/samples/logo.png | Bin 0 -> 64951 bytes test/samples/video.mp4 | Bin 0 -> 788493 bytes test/samples/voice.wav | Bin 0 -> 203850 bytes test/testbot.c | 265 +++++++++++++++++++++++++++++++++++++ 11 files changed, 280 insertions(+), 107 deletions(-) delete mode 100644 test/echobot.c create mode 100644 test/samples/animation.gif create mode 100644 test/samples/audio.mp3 create mode 100644 test/samples/document.md create mode 100644 test/samples/logo.png create mode 100644 test/samples/video.mp4 create mode 100644 test/samples/voice.wav create mode 100644 test/testbot.c diff --git a/CMakeLists.txt b/CMakeLists.txt index 70435b2..e90dc4e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -41,7 +41,7 @@ SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION}) # package configuration CONFIGURE_FILE(telebot.pc.in telebot.pc @ONLY) -# echobot (test) +# testbot (test) ADD_SUBDIRECTORY(test) # CMake Policy (CMP0002) diff --git a/README.md b/README.md index d83e1a4..784c7ba 100644 --- a/README.md +++ b/README.md @@ -37,8 +37,9 @@ make Sample Following sample creates a simple dummy bot which echoes back the messages sent to it. -The [same example](test/echobot.c) is built as `echobot` executable under `Build/test` folder. The -executable expects and reads bot token from `.token` file on the same location. +A more comprehensive [test bot](test/testbot.c) is built as `testbot` executable under `Build/test` folder. +It supports various commands to test APIs, polls, custom keyboards, and multimedia sending. +The executable expects and reads bot token from `.token` file on the same location. ```c #include diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 0d599b5..c24b77e 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,5 +1,5 @@ -SET(TEST_NAME echobot) -SET(TEST_SRC echobot.c) +SET(TEST_NAME testbot) +SET(TEST_SRC testbot.c) ADD_EXECUTABLE(${TEST_NAME} ${TEST_SRC}) TARGET_LINK_LIBRARIES(${TEST_NAME} ${PKGS_LDFLAGS} ${PROJECT_NAME} pthread) diff --git a/test/echobot.c b/test/echobot.c deleted file mode 100644 index e8cd499..0000000 --- a/test/echobot.c +++ /dev/null @@ -1,102 +0,0 @@ -#include -#include -#include -#include -#include -#include - -#define SIZE_OF_ARRAY(array) (sizeof(array) / sizeof(array[0])) - -int main(int argc, char *argv[]) -{ - printf("Welcome to Echobot\n"); - - FILE *fp = fopen(".token", "r"); - if (fp == NULL) - { - printf("Failed to open .token file\n"); - return -1; - } - - char token[1024]; - if (fscanf(fp, "%s", token) == 0) - { - printf("Failed to read token\n"); - fclose(fp); - return -1; - } - printf("Token: %s\n", token); - fclose(fp); - - telebot_handler_t handle; - if (telebot_create(&handle, token) != TELEBOT_ERROR_NONE) - { - printf("Telebot create failed\n"); - return -1; - } - - telebot_user_t me; - if (telebot_get_me(handle, &me) != TELEBOT_ERROR_NONE) - { - printf("Failed to get bot information\n"); - telebot_destroy(handle); - return -1; - } - - printf("ID: %lld\n", me.id); - printf("First Name: %s\n", me.first_name); - printf("User Name: %s\n", me.username); - - telebot_put_me(&me); - - int index, count, offset = -1; - telebot_error_e ret; - telebot_message_t message; - telebot_update_type_e update_types[] = {TELEBOT_UPDATE_TYPE_MESSAGE}; - - while (1) - { - telebot_update_t *updates; - ret = telebot_get_updates(handle, offset, 20, 0, update_types, 0, &updates, &count); - if (ret != TELEBOT_ERROR_NONE) - continue; - printf("Number of updates: %d\n", count); - for (index = 0; index < count; index++) - { - message = updates[index].message; - if (message.text) - { - printf("%s: %s \n", message.from->first_name, message.text); - if (strstr(message.text, "/dice")) - { - telebot_send_dice(handle, message.chat->id, false, 0, ""); - } - else - { - char str[4096]; - if (strstr(message.text, "/start")) - { - snprintf(str, SIZE_OF_ARRAY(str), "Hello %s", message.from->first_name); - } - else - { - snprintf(str, SIZE_OF_ARRAY(str), "%s", message.text); - } - ret = telebot_send_message(handle, message.chat->id, str, "HTML", false, false, updates[index].message.message_id, ""); - } - if (ret != TELEBOT_ERROR_NONE) - { - printf("Failed to send message: %d \n", ret); - } - } - offset = updates[index].update_id + 1; - } - telebot_put_updates(updates, count); - - sleep(1); - } - - telebot_destroy(handle); - - return 0; -} diff --git a/test/samples/animation.gif b/test/samples/animation.gif new file mode 100644 index 0000000000000000000000000000000000000000..87dd7c8a7950e57c403bb8e6f185e7aad5615fcd GIT binary patch literal 239321 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

To~(_K@&T?^&Q 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%0DZ)Z|`$ELss!gD3{c)`BQFveXRum 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 Qp-3@7s`t#m&bZ$H0=etD6951J literal 0 HcmV?d00001 diff --git a/test/samples/audio.mp3 b/test/samples/audio.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..d7f7afe21317ec43566b4360fc2be858276dc178 GIT binary patch literal 2158877 zcmeFZcT^NXw=dcg8DM|`1{m@X1qt>5l9eF}I3QV2!jPkifC`E*aTYN>EWz z8KOi*FrbJe0Z|YTkRUL3Jm-Ahd+Ysi)>&`ed+xn!eS59yuBxszQ~m3z-FyFPSDP3p z!+^hX&c@!}o^i%AlHqyx3m%>xc(*Wsq-$n~_dSm{BH^t=E_wJ~z$=0O(Nd7nQqRH+ zFXQIv8WM~T^bEqE^F4nl#8Va^Fd8`+S}__R7)c2vsM{D=>Hoiq^gmMujN*SPCg;5_ zFdA?G0E!d9uT}w21QQFIgA2>YFC-!+DJ?6fNKjT)*E&YjH#9aiJ7r~i`i!HCn}@e= z!1;?ImqV{!r$omkB&Vcj<>VLKDlV(6s;#@%*!<{m>vLLXcW?jD>ydXKK7F2?`MR*U z^mBE6b9;B6@qZeBZ&_K90D_RAfAmj$- z*9mi_5%>FKd9S|X*rX7a4hydB_S;rdU|u>7rVmyD2!iZMOyZU>`Wy#OqCQC;x+lj| zFL*sO{ymnkV9~1^ay8A~=u~Zs*$~cg7fw@uEZtmfj6tCF=HT#@xFN_Rs?%fXw7__C zMkPE^N%W6|s*&7zKQ2OWG@O6>M$57Fv9Q<2B7NReNcK}u0RK6ow=B#G7acTJ6*F|9 zKxrn@OlT2gKLqJoFVNKkFgO+#3?U=_0)2PA*gW{w2Z{6FV#UO83_x_5>2$gt1|N-r zBa}n~OBr_r=E}>|n zYNBQC;nwrXpd44%b{fSG&ZfA%%7m4~Kp&6Q78LA%cv3e>Zf~c_gf%N&ThbHDdo|ge zCSN+G$;BbtrWH9^P;hg9<=T+S@^zWUzA~EeaTNTebWXKPQ+9K+5>o3~ zkO0(FgSx7%^L{N_B-(+~fz3R!H9#NJXYmrb8SXEZhRH2@?!5Ad^kMDNwKgvCSw8Es z_0IPX&04BQK0V9|tJInP(jX*OH>7e+aQni$oFv7gb5V7Et2&kFmg>=^)lJ1`_KTZV zdqS;V>y@kHHY)mINZ zy48vnW=`v@|5z_!JTN+4hrYi|&kM!wdTAI%$(!G6{!#zEMcmGvN67f)qn$oG1ooVy zP#N0y6!fQ8)hkpHaaGFPXDgRvq z7)vAS6eJx&A(KmSi6o@CVN|j)4XefHIZDHVFbEWAZwDk%FdlAV`}7nN5)~I$ee!lE z4S>R+Knx3vOgl#bqG7P87?_y5o^;6XaNQ^mNFa2K4-hCtqgXkIBZ(OLpBazS0CQzh zJ2Ija=;!3^emxANJZoi{SOcJr3O8YGL;$Lx7q*v(l);uwy@Tdxvu!*RL%C(oVB%%p z&9HEyZlhv@S*euz6Ns`M=fHsL#-qYo@!JYEV3!)pHNf$P*Uvp z_^RVTL9pT}KI5dBZ;RSa;!+)pA!{QmT3QZ!%if-Yzpovm(-rwn-tJhu>~u`iiB7+D zZ2i^~^%};U$AdBmG@%?SK=@S>q1J^&f}2(GN~0FpV217wkR8wfu`%yK0^}&@3*A_U zYNOVHudu8JYzhJ-=uDk=j2fvz-;NQQ7SI)lK+DlaDr2}{TFioLY4Hw!s{IHR<)F1>w5RBAs5b&+<>}@6NyE|4;-NO2Gg?SR=(dTK~x6U1D)( zBE2Np2A?BOEp@e*Ws^Vdmr~&@Hbel2AzR{PX*N_ZS4|O3&rj5b(la;^5G<;}JZ#TP zprS&jqCH}7n(GLbsR+ebLn|op5($X1RqzS?mAdw5)63;sfxh^d!K9XhmEGN~+G}lV zOBE|Fry>syLIDa)4iBJFfwE{Gq8v#DEai|_`a?Q{QB1*6*v*$PXI2NgNN@vk7}C(| zH~srg)ie3}ByqeBo%;bcN-xJAfc^-w57u*>K69eBHVJ*pncQ zvlG8$wDHvSr4R0fvvSXM>(3QIH+m|m1a^gZ@B@vB7UAMe1-8++V4F-A;fU(^dfQW|S|39%?jRN?aLo(MPh z&=2K51hn|MEsX=O%tnRQ&n!cynpu*_}V^*Bti! z_RssY%(eRbFPvTf3xE3m(0TAbrCShmDL}S?mXa?ap1O+UZv!!>K=bZ*l0&^o_pTKXHOG;Q(^`0!VJd5SkK)l13Ytfsiy{^Wrg{Uv?x z3Z0%xr!Uj@AAgUekFG`1#}6iqAUL*ps0_XbF`Vh;rq|5mQ(2(>nLHiZtFF_9eq&bX z+xCjdB->2YS3s9O1gAwwkLqsUG^=8h{8*kKHo>l+(UYSxrFJT2`hMN1T(^d-tPt>l zizF)Om%y+?S&{PYUrWIQSl9B@Q{I=E=0Bo_k4)#nJda~NvTWEf^gtkL*KFHWMR>9D zW2JCk3~7g>>yyVQNjeo~qEtYV<~AuVG-C=Y_mv)Eze$oFWsWgar7kv~sOom}7@6L~ zBcolFs4A%RO=F(#m|bSix8E~(0z z?4e?POsPPH`#M;#nA34i3C~>l$-mGmLB-l6b}T}gjlE!z@^hYY*R0Saw!>$bgFcEZ zsG`nODFP-H25;zvzLou+;7wAYNe0yRya7PF1(BpJ!D$^3d4u;iANRh5peozDpt!FS zW|`#CLDGYeH%!sYUr>m68m0W9YaM@iWZtcytM?Cgol$vkHM$Xu!<3__Ih_E>Vu32h z?4==_SWc*VXmaw_HSdQ?I{h5sjgdzVT>1wX)_~kjc-w)?ueQBMFHX~Q&)=tiJQ(sM zU#E&Pk{%OEFyYpR0`90BoF1N0N4y?p&nZGCP+lI`L%0@lDNe&lm?V@z3hpuPDW~SD z>lh(&ssrDFQIf=apcpw1W8K(LgDX)Pc(gbg&xuEi!Nd*34RHFgr&rxpwog!%pGgdR zN3MFSpP-6{p|+-8ZNfCBMfMn#qBRm9d&WJk#AxoMd%vH z5Q&2Z?@&?AJtun0>G3=Nmna3WILa05)a@etK^Gh^csQZ#1hD~kXh*?ofFyW=rmra- zLsA8m*P^7f9)@*FTq-*M?rzqv10#17AhnOgVsu%A}#G3YINd3Zf} zP^$Q4^NNAlz~jP&pl45no{cE?X<1W03~&A*Z)e66zl9y0nQ@NW%F4L^Bq{@y!@4hx z1r?-m-!$ThWrfw_zduW#E0v2E9Ya=ca0{ix`?>vsvT}llJ&0`O)4;H7=*whqse; zGyhr&^&Fd{SB}U0(OrFd|Ilz`qN4D`)GEhXTxZ@h5#0l@0bAj^%#kdgBY)mYD?h30 zkHMPXx6P0TGd~a@Jr6voI|vrT;s~B^gmkvNMwHd`n!u?jlVh5c&oS0V+6A)O?eFrb>- zXZcU%UhK?-s0lkJZZFOMbn~$&k60OA$=j;)W-~87q7k%5=o|iAl^Tn1a~USb#(=K; zNFz5&F*Q7`JH)dscF;8gs&^&FwHe{%z(moL=HSAixN4uQK}wwvCO_5;hZGyn-OfO~ z5)(OM!k@iq!s>dI_r>>F1EJIRZmS%6?orQGGxOnQBeQ>t{_!}a%UOn;%gjRshX&ph zid5^U%Kzd1eO&pSt)3yZC`Y2pKjWtP{XK zPNApAb??0O4ruYH&UvAzs287G92fXA=yo||IW z*u4@g(sl`&`{thY%uq5AU&nQj45mYLL7fDEK+HDNxr<#>(n9iqv7J~j5NH9JfNc-~ zoCGx{QA7w^5qamx;LQ2>-r>s3%8UY(m6SF`WWEWZK8axQCsmVf z9~C5%w@}@%a0A zt+I}*C1*}O6k_rD+;4u^cA<~;^i8fdVK$SOX7VcTsZ~9F7ViiTHGY|=8$Hkje>UHA z7eGw~4rB>xbbI=R4WR3oH{C=H(bZ6qPx~od$~H2;Kdh?>c&ES#zj*Wg4+V;Y`8YIF zs~eBRXlgNwlrmIMfL-91Nc@8hjdRuaBZd>Qc;@qRzaG6F`oP7-`J4X<{o(gofGdxgtK%HbI7JIU9J_N5C7y*Bs%NS-i} zIH<*Zq|>e9ZoMipl)q%tD4i!h7Gs+R4Y*T3ry*a6Cz(>9I@x1>P-<1_SKRwiLOiQU)u5LjD$rzCb6_$&Vs^+Z z7E$HD`>sH{WQ6UGPH~^hhc#7~-+HwrTbq!itX|2!rURubn|pps(dKlM0tx!EWoDB! zsrKv25An!sH`BkC0-eGv8uk=%eF|c9L3;H*8BmuN|HV%SU_+f>^tFh9c2)hm4949J zIUV@jDY_%=F6NhJ1u6ad`;;w?D3`zLcl}z%+>`Uhw5jc*ef&bA$o5xy*Q?8ubm>eQ z7Jd-N_y^^_OVz$9)e+PKYBBXr%OG#m%fKo=WOj3TYnEDa0{Cc;@4eM za2It34>ui88DI4`8!$Zgy4W#jkR^j~gnG18ED7Rq{zSUzg}e8!eo<)#wjmNgB_vqe zAT5|nn-_QYFwY%*^5(gt5~tMb3#DIu_;JtsKwH{UU-Ix_g?fIdrBd9}{>d1Dz-485 znHUjW5?BuL$~7}H!Fo0QdGNX~1!%-IvvMW@$8gRu4it>m1sfYHhi|HCxG3L6k`#p4 zjU^6(dRQTjdF-^R>v3%G#b+_@E9SSN_1^hFJCNBgua($D|r3e z?JKgkTcl16y;RJzJ)9a|Pm4v7Scwm4v5-L&V0r5XP!Nsh#qk0e4M-duD5I2O49mB~ zb6P%ym~Xy6IKsW_a7;=&t9ZlC%q zLuCQGUlIKeoTluzdbqwgx6e>Ax@iqqvCQh5~qdI2u6|hAd6dY@j4Y zPI3~PZlW0j(T$ZsAYc|Tz^h-q)6zS0TLXhX+1QYTii=NiZ_=U|6t0tiQm+7n=oZH| z`s>?kQHWkt;Earge3g{~%MMmPg~*QNvoq}X45)Y141B6)M5WASh}k%OBdCv8d^Y5T%I)b=C;5|zGMBu>GVG1=c3uVJCp>urO6_iE1?Sc( zg90C`-RNE`Qg=Kiz~niyT_JQN|5S?WVnp~2UQ`)hW>7n?_*{AW$o8w0#q|o!z{la+ zuTmu{F1sk^zb-n$=Zy?~;l$s^qkt^6&pR2^9&ls8t>^4N;OKHD2y(3)lT`mq$kMy5 z?Q+GNa9%I%SOZ}j{Mz*%?C$aa8-O1mGhhkcrd{TIp>Zskt`gR|pEYA(2Zi2`CVp#8?E!`lglv? z5^qFn*hXtRz&JB0y%nwpI&+H=fk+gQg&oG41awOPaHeRA=zwAQYZ#CS(4qpt1`;z= z?^_fFm?BS=(2L_znS`J;3pOYuiU_%+m&FafFBPa5T|>9w36+R!YgHx(3RFNo`SCL zi0xhC8qd(CQWgfLoLr!RDOzaTIG7pxG+Igq4B9pbCX=Tzs$n8CK7h+Ec zT+)rnjbqp4>=^OXB)50ejp}wJ;K|GWb*h1`CTgCHs`qyfxP_+0Xkf4-PThM$EiiGK z*gkNmLn3x*=hP>w{kelR$M4mq0Ob640D#06Vl1PrSf>-e7!vZh9Nuinkru1$FPNlt z;rOGcpncJKoRH`-qzQ!=dXX{$&!qf9svwYv=*4729N{&|BxYWGs$3CL z!e5qmgsbDT#F}ujki+efwNS_Ij`pm?vf6pe_j-Nesqjm+P7{|#cUI^tkuA-Bbi2ug z{R<`ZGk+o@ZvSJD(vN*}0AMhCW-b~q&pqturJF&Hf24cRqp@9Jgh^zJhmx7&5gEvM zSPgC-g2K(iYS^m~RJa#{3iX0gQC_Fn|fMKh}U^LIkH{VDSiO98ppo7dUkWhmeCA7&Ad3Q!%H3Uu5lD zws2iYG!iF*!+;=}(hkWHq;UyZxJDW69Sy8Ebe0ppBS)~4gM3XW7B8DiDCx2=Z1}}O zt55Ec6R$ZMa5O^Tshs*9o=kh5TXt@BY);9IwmgaT$z8THO>&UBHG3Z2I)t5^x?j6} zGOeEFaeZ>x>D6}~jWb6QA1I&=#pXJP_O#39_Y7x_a1z%O^8PPzkp2^@15l#@1uJ#MuVj?5lOS6_zJT9O2;%KN<2-k#Om+@4(7I4C(#`yqIN-Y^ll zZ`A62x|M!#kO3fy>L~!IOyLIwX)>S@#S{Fhi#e8obX4M@S%9Gc3#dU82KfOJ!x&XP z44h#D#4=tiIzHe#d&X^`vHG4L({bEYzb0?pm)DDpq-T^0SN}A;@P5n78YE2R&u(R3 z!80xYPVFwSK~?6(2wkT-9J+e>=|bu9PvsL=Z-3Nuc{sA4cPV=E1HETCC?w?EZt<<^ zTi@vP+tyZi3)ZA408$n$j_8Yn<6P&FQ)TIo(Yk9E^Zl~?x2oJP_Qk~lm|i^kg|IjO zvb*w&+Zlstmi>nE-srjf7cp;)S8F?lEm%sek+fLD8~7J&;-7OuRe8EEmeSIQ_8V50 z{76+RwofITb6P&`o_=#YSox1a{@wuJJB56+r0dVt@9(NVOO=>uJ?sQ_Z;d{-v%;vb zE;4%59?gQNjUU5_E&Tj?F@2A%|NE!Re=?i?`!C%m z!k}ZYDH*IZyi^a#9(cSuUA5JVBy-0LhL`Sv<9NJa8SF+78Z(S2$OKTx7>W@B;H+({ z`R#C2;t>bCk?3Yh=PM)+Xexc!Va`_#6!QNdB zBqAva!_66Oz$H6Z@MtId^5Gqd3iC8&9^pXw47*4PfDEIMt2ACTWEK9F-+`al3y9HR zF;my@Vf-|Ow%AUq!Z};1!UB+(~c)B<7CNxUFdbSw! z{chtY5i_O>3$Mdgyw3W&7x_f|e0|bg_^w&@%5IEiU9-!t48OYp-fzZFHytZPGy8tX zeW`GKg}yJ-L&D${NlXnYDQr{zq+>xg>|#RYDJ=v=G#B|a36&wt%?21jN+BLZ!7M;P z2$1KcKW9FZAmB+k^QPcxNnj;7xbGR@xm6icBK*T8<2F9y#`TEaJ#X`q<#Fe!<_|%fA(g`P~6w!AsHF zWi2L3H?c}N=S96-u$4Xcyv`Iy)}t`LQp|tD7GYchFClx z2C~pZw3$_nlrwoz%3_%iSpLz^&dd#YuLUosEB1=`wuj|Pn4kMJ{^ifhQNnJHYR>tA zPV>;!%3~${=J$O3R6kXlKYn{x%GTZN)0X9YY zlUkM!oIWd0JZfE-_iPI;nYljZnA-QjvMps|?3w_`MtcPsMhSzL^_&R}NinLmk0X^k zpagKCodntdmq10L1DtX-@UmbPnJL}|`a!@;Q(bt>rnCkitWMR_D6$q;KbBjd>XLXv zN?3UPnRL$eukRcVsjYj(!dk|e6>r9w#WG`DVUWaJD6JEh!%1yUK3*vOC5O{(HRNH~ ztCM%jZzn#xldsEN_x85p6ZuUT>S;omsIc8BUr(NtWpt{?VK&FR#ZT$(E&TU+7xH?V zd~^7|#&DX|dtM7z9uhW*9sQ*1E8A*4_UMzdlGQZ#qyB3bpXXZn1)Nv9Y4JMeF8^){ zEKntdv(%WxnQbym-$MqI%fzy)f3{iDspia8|J$ zit5hd<$WBMnSHJ}BPhmK+1s-5kQF9W%l+(S$wPf1V+)#w&vW9W9lQwe7hYll8q!u( zDWMr^2G7H;SGf&-468F$o)zecsDQ6>SR?B>IvMLC%5tCWIwhETVa9MIHzy6*%=8Qz z48k6`_Op>b zCExMiPts#;dgnb({WZ8n8R_7}!F}K8P^Q`#JJ$Ai6xKE7n>Has`RBz-KbEj088(xc zUx?ahEEAxP>3mYH4CohysjKO`h$@v@6Li5h%_4S6!R|^j3ey$Q9C(OcY+@`#9FM4R zpG6Qu00!x(BWX$Ixz%GB^ysUi68B`Q4VYWhRZ_+E@#h3txL@At1i#>N#|Jye7YRj{QPRc zfN%fKw;5%fdUGNWFnCq&;jh_Zioql-qp^(n+CzHL2B<=mrS346N>fwHQRdP7r z(Io^~3D=bl7C-{Qy$(JwTlXY8n{j(Bw4T-mNul9@8rmgTEbTbpLAwMc(@p`~V>r^$ z)uBa-^n8R0c^1j8M4mGedPH_dc+LwsA9h6Jlqr(1C*)!A8rQ5SSOTPTvBplwo_&?f z8FvHD9!1Q=Jjg-u${?{YajsMGR}c@YUX*YYUaPLD;Uu%&SGC&Pi5Qn~cN%zjneWHA zY{XeDPp7*@S0n^Io$A{BpENzX+~3M~<&mux$>1d^(!IEP6hl3B>Z}>BB`X za!l5xwB;(D+D)CswCYj8QNjJ>+D$Dq$8TPo5Q7FYOKkIRY*edjysYYfw`5#%MZe|I zrHMy_tr+~r)7Lx#UVOxE?Uu-(t#4~uPaaV3TsMEaTO_TvO%5uyUQDHbzg(U3%U$|N z?bnyqf4b$Knxok z$p~ol*acX}!qws;$-rhR6aKyhpngY!ng4(SyW2S#!yp=A$exaAy;W9IWRLzPs|lxT z5aM+*8nl>1v#Z6xSpW-=mPtgFI%*rn+KGQQbW`YZ;nc+@mL?~b-Y{?$e`XkaHnHAt zJK0T9{PB&%>MobA(}|BA)%FY-e&hBHdSb(k$ix;-OTI2U@k}1h^WxMSUDlkDi4P13 zJe+|T3LHxTkh-$qXGpJ7Ih&2jmx6nQ3qb`Q5z zmg|tP!&)N}MhWN#Y6fAs@4eR?&k1n3%QScq0M96Ma^NEm{BL)Bar3<6r4=QwvF~Jc zihF5_$5=9+BZZxlbcTCS5lMow4jQn|tX+E(`g{}z(-+d?hQeaFq3+zoY&Z-LT9NUl zu7R2v0MVwMruLPgkz7~Rg_Nl>JUB-d4wMlKJe~`}EQ5s;+fg-eEYJa1)Nr1lN7CsX z5O)M*770M-a6&B5sP+tiHl>b78DI;bQ7l&9A;bj3VJOAr)z%K3K1V^(rkIaID4Y}` zS2zs72Qo9k0LkqbGR+5pd_o*%9sLM=DV}6R+%3?5lpHu9#y$?GX7( z+YY$>d-HSaP4S;jLz!0;=X+akYI!(KG6w7aBR`(CvE{V+a5?>W-mJL!<82UNkNVvs-7r5aXKX6Lq+03>S|x0A2;JV+rr*rZEG4!yh=Bo9uM(vN z9(yC;G7>M%Pgr=dC!;Nq;ZvnII zfy?pm>5uDKi{Z~gch;+eo3o}nn-|QBwA8f*vi91vjw}o;oVs-^|Kvh*&5Dzu;q!u5 z=K1Lh1I-H@!bJyxJE1Rv2ddLWv?DHuY|+=V*SkAMrUMt~d%v&gD4PHGF6T1h`4VXW zjPJ8bjMw-?Fvi$;9kzF96pCim zhhX9Q5E8763?0@xlfkMV@`zvekRno<&EhZ5csMC%!KveP1Rh8mIMlde3}jAUVLP?- zqvHsn#9^scT|;vFD@WGah|o#Cfyzccl^}APvLct^n}#DN!a}ZaNZj@4J07|dm?m!c zOQiBfO8)!mmi0C|{r)@p_svTYZ3mO|n%%-kx;haj0WqNvp;Ue(bG&O3?kw|K!mu&F zW~;`{(tA`#)MAW}GEOyGm(t4~3P31CfJUU1Olcc99;ZBJA0F@YW6MyAet^cP86uTk zmpHm=a#Lzq^wOZ1SkYc9jDs76f109PlMGy96WcLxd|jRxW z;6l%1bnM^^BdbK)_(7o&05nY-Voy5;eM@sjY|{*xKX(8)T%Ynn=*VT!#Ex_pkM>-| z+m2|~MA`(5x-l@MjuOgq1EMT=zYP~QIoI0Qwp|mQ%r^a+16pS-&@jSs_1~W^b*Qlo z8C`Hljr244cEk|Y6UDFB0l_xvV%sa5wY&57TSqtcRTdX7&>3MVrGZwQGqGcg zg}!VA9wa!+DC4t*!B)0xKBE>TT@GtlX#^+=pXolNQ`LlMho&-B3J{;a&Syx zCAMrb@v~E!9-|9%dfM6~3l$jLBK7DV5k~#62w=vnA^GVEkY+tmx#v95Do{O>LS+!i5iLj{B+f%-&Y|k!^ z_lEUdDJv+<4m1Dda<(b){MXvOD|g>k_dM8WI>26}zTJ&x=j?*&r4gcTXd2eW_9#PT zK7Ki`xKL5>*L%=O$_)+FRsO@Z+WZQ|73t~BNiJZ%OE1@B%@UJs+c0*r4fmIz=6>*S ze$p!b=EBeV30qz3(<_xBjaR~RxQ2uyevECl-nnaHcFWDi^1YSxIRFMlL8fS?Xf%eO zBuL>K)C?>gG$UuFHa)nV?oE81;xb%5DBRFV!s-d5k*hCLbR0W*0PzYj{V2~p5r_-3 z&E7rUZ~cXXLc4v%GNZ{e+ExpfrDys@{fz4xruFY@Go6x2wd$*|8CHM%{)z=Bn~)8k z`bV3WPYO)6w1&FRU)9LDdT0B`|EJGJql`XZwQqf4%2W7b%lYNq30ptYfZ0CF6As2y zjAUvI>9~qiuxB}VUKu5Xac7aSPzJZux!s9=!3oy0+^Nmsd-{iYW(n|hw4OTxun2@l z)z&}#w9ZzXuPYC6Q??P0w9@TAdCA*cmDK9S@&=-{#$VmB?sYxz+U(ks5Ma--DBbmn zmNj_9M^@hDy=VgcduuPLeE;mnH@|u(m$yErMlRRWn;$S)Hu#dXBqo zeC4?S{i6fj+wY%B;lH1g```SJfRr5(08;efoueFaF$%re@z~k)b!(kJgkT99rR?}Z z3FGV-&++wBS?i*(S+;f%k9K*ms()D|-drO0)WvxHAie{1P?d``s$V3`5w+XOTcv1Q zaV@{zH@3~+kVda-3!_I{O7%_W;7_B-(pvJ&|>*4ct5vXrgGNs_?6cc zy8wVR1p%N356~Lno#OWWJO&dv#Koe3VWnZoJ~s5mjM2B(UE5<@Hg63+_u^NDc*==5 z!6Pi+JtP3jtGqEmscMPUKqs0rw`W$hFzy?FuMc;c!NQ=`pwY*04a_Ck3T_>?lTDRX zZO+lj5iwdNyU)jOO>A?Yyjf@US1Cj%<(Nw9X|*i^sgk{>SN8G3x63y;=8kj@J#dcN zm)h1jTk}QZ;L|A9iV!`iv0%B6L{qTRD0^-rG?_~pisP)psO!bcFN&Rjh=naIZ(poB zIZQ@!ujU#-G`yrWFh%pQF@<;-$Xo^ahJX;^?RY#AD0cHX)7-R%DW&N~BP5h9>>l~$ zzM|Sxo;}$RX8@pCCSs$@q6G?v{p5>o*JimYt2f;aP}-s1JdxWq-ZR4ECuPEuaQxWC zyT;WMiz;`b2~52*0q=goI)8Gois@}t#xarfelF?0DW|W&GK9X?SU%Rz?iKF+8Suoo z+VNo7HiFu`dm#ueycp8DD<*gAAd0R&f2+SusPTIB@t!9?)I>MBv3ZeFQ~n3*NFSC_ zcn(tq{4rNB>k=nS8E0fIWRukyLwhm0kJYf2o&w!jF(iG+(qn6(RWoIn0nQx=WXXnx zuv7rXs8Ilffgp2NrLh6-uoo$`CL4#P#Sxlopp^PX4>s~`B9(C@oLCVWzFdqX@6p7 zdM%zWis_DGT3az8K5cu%uS{WwvF9-!znFrwZYo;Ie$Z*Pb*WN3xcNDX>8g|BL89q` zPHE(T&}hNw**t{@3uBYVyk-xmnWr z@wd1vT1DK8BSd{=0CqY$h%-q?u)?=2Ebc6>%p_V&_o!FOyx_ zlXH0{l~;e8KifPd@$vTl!u2D0hX3X$x%^;QSk9mlB^%@+CWGQpte_QSkMN;A3ZyaH zC@ozBHHAzCz{Hr-;Ax^2I3CvsUZY5Y{xo$^7O(*^H2l#Nvx}qhgKsOD1xO+F%y&eP z7);13W+4;?i$f4@6t<_x9OAi_z+|Tuc5ouZ;6mZGCSy0ifg}KQ)zp)a{E_r8^ijf z|Coqm9Ohvdv?m2O$eb}x5?@1^u`6$lrEv6T85k4-#Rn!< zqAd_GbUYE)&*uoy2T=TIb)2y@j7SDE&}cXe2BCDGrc7bjA;}FQTx^bvPzt~YEeDYC zIKQQ%K6N}9i6}b+`6$_M+JPs^;ehWfJzfCEFzL~1anq}hE&1qO&f+EX)u)U=o>TPi z^mrj!Cxk?^Vx+Ig-gZ+=;A^7ngKjD(ZhZd$eB}y0?nJQ5cXYzLx{P3`jyRMB?IS>` zhpj`uGSL_jIZzrqzLc4`-42s1MdxFV9)^?Z@8KR3fQJ(FMMHint zmtx#-V8e8%r@kD!D7v~+Hi0#PgWF}scRCrylVtTm%FRy7rR#pzh;+G~RAkpES6k9) zu6on1VKZ?%sf$Nz>H99zx#)5L!u59xE)8J%+UqO z#4n7wBW=X>#Q%m-NivqCV{s-8G;^gXF@4>rM1mHe)WD93;%aP)BCGHKJq!k7lSMZb zZ-x_%ib@DH#Gxowy3)gej7Q7aZzDf3kwxW+B18`>!GXS%L^Y}f&@KKtYL2CHR?hFc zYeaQTihwS*bBV(s+M@%D9Xvw(3}=zQ-PAPiyksgnVOL*%{>Rn{9C!h4jmTh=Pl|fX zQr7ii?tY;7+lEe~EctJh$RFxh!jo`2;Oc%9@y+!1n~u z%NqbweNy5yLYs z59tIl9RQ@RD*akTDFQ-7KaPTB) zsYcQu_=|kB*JOa8@qb0U4lxf>Fn5K`b%MI4Dp{S%vZfLJiPqfZRA* zaOmxvJ3<^v9?c$mnCgp*hF6)C+rtawtnLnb2Yz1`IBV;ieEoNv-%*6-_%-3Hs4hQr z#dEK#-F~?Zsh zs{ezWywa!sTzm4Sx5tL|$4fSBTp|~5M_$g_@Lw4?;_^fnGCJb?AK=knYR2DLo zG{P;!lpR0#s-Ny7Dxo&J39pk;gi4eExZUjlo`N)k+_Wih7V-x?PV_o@c!;1E0ERjc z0%dJ7v!SBFp{3j>#w1vbW~Ol%*6!M`^DW$7tI}TG*+$KrNJO#`A|@7Z9}7kvH=BP6 zpYKesx-ZsagY7wYs|p%}7?6k1GGqnja<(q)q{NC*Dl(%g9^#T^ zrJ#jLI#|g?&{iS<`~)}x#z8Eb>TF0c0Gjf?rqm-g&gx9k>7X_Qv|tBG{8I3Cpfr{P z1h_F#-TS^uzH%nn`Xi?|Z$~ol*@>cQP^N%YoFp=rGBpJn15AJy0I=ZLfXKJL{o928 zZ6)--H3 z=;~-}y9PH}OmC@OTYw1Mg2Kf6sQi=;c(ghoH1$z8G;WG5hb^1+bu!JF{82Xyv9R`3 z23N-jeVS>|*=y;3rIY?=i3nv# z4wE|&4#i_wj35{$a&Y@5ZnZ%yK;Mp18Y_>Znw15X5Ap`SLP}%SO0*A&Wf_-Rir>!a zhm0hbK712&gBr)4XwkhkrV$-2I5)HUS1A}JQeB6p z(&XGyZRjoIBo5w-+=`-#`K)uJaii5~qDP94JArpv#`n(+fB3%jiF{%NZm`Y(2;fz-Ha-)!EZ9Kq>bxL*~opNX)oHilRUdcT- z9-Pkk<4Mf+kiY5aG|jc6B7rap zjtQ5?B9;_tKs^iBD3-zJ@nYL)3Mm*}k9H3h^VwGtsqsu`((gO*66NW=+%4(I=p`|z(u|9=nwj!pq8C|wF1 z5KzX!i3lp!loFMR2BBi3J#aG6nOhp#ywsDD`?#x7QdH&AOc4W<&iew8r2HE=P*eAr ztiinx>!y}HkO=uvVUv$%Px^1Hod{CMF8yj{-Fo@n@?=FD;)G!iZO@-WNT1QHpvGz=%PN09`QvPeTHK-3PPO2acrn=0BRN zlq#xGq_;E9w+w!2%B2a4adKh4pX2wbNaAB&v)((ukIQRvP1c^j1mdE%6 zhSMR34DoYwGZGTXf9)7|*;>J8Np<+#{Ep%5a82h2jTG*jhaC`+R_~nk5hKU9}I$+h!hN2$ z#(g?JlliHFHNQjlr~S6?w68i%hrVCd?jnzg*u8Pl2@$%=tVOF`lo2gFl`tis^*{`T z7fghsm7?8mnJL{%dw_VQ)hPMSiCNAsk?nYAm^m${>QBfe8SG*g2QpeAf*S@X# z-v0IZJJ*PkW1z36G_rF z-%L)t;pARY%UNPJz0h*P)-eD6X)mAdaCE()aq`Zg+ob=GL5rldQhhj`)*kyODF8c``$V z;f$Ki2?=rqhvUj0D;X+W(&5wiDj%|WRA7yH*I}D)GGzOIJwN+JlVkG9hJu>?uPyEh zXbK8o9)wU>QXs?FL1d`_8b!W32m|<21OrD&Xm^qHg7BZ{>BgWG*$h534_UaYbtpq- z#%Rz)XhgDoBg4{s}7H_a3AF7B^VXiWco^(+nc zNAK6GflwgQ-}$U>@h-=rLg%^WN!@*^hQkiO$K4Ai|J)uu{U;^T|E#b}_y>jWs!ydO zAGatT%!u=)pPuLaU_`8z>)*T(`b{TdVfev>`@m=O6c$hbKtd^AWB>>!Get?0Lx4hZ zKBV8xBgxM*jpyn`t1F7`eK7%UZ(we&GSLsn&!9+hXp}u!0}u~16Sz}V8I|C}1Lxo( zTU1Iofxc**_a0hFoa%2=1S)+-GjYGOQ5uG(s%L7bdEwu{I z5d#uzdrdGsIn-gjIDs?pN>lUntn5t5Q1j4V=k-75Z+-rmbiB~GWS41c!|8bbwOu~? z=_eJ{*YkjW}NGGu`cY9dtD6CZ3F(xm6>s8F;Ho;4yB%a1Sr3xn~|-S zX*$lNpq^p+GV87Z<4qwHMvXB^$&jBJAvJ!bWFR^`z8O^A$yCY8ygXE|?AIsRWEg+( zjF~`@_6oJ0ErZf^UrJIbjx5V*#pRVzPFiE}Kb)SOm05Y+dSNt33^QQT9Ay{7`d=jRdN;9)>@gx zp3C@L4Il=wVQhd5H9~%jE@Wzq@!>OsD|@(g_FxQUq)us9+;hMUZYmQHqM9B2@(hvg5nY_n!Tob@u+_taZ*h zYwhn@$x1TwB$;_;o^s#!bzS#HiUH7;O@@!;^fQ-Btd%y>H>GJwx?En{i&D7a<}nGi zu*%lr+h;R#xTA`nj?i<`OfZTPeWXMw{4f)Ihz$_ulhD$nH}7$m>PX-vCXEMxvbaWg zfWsZS>pel3qTOloD|blHl4;`cjn2r*1MjKoDs%2o@v=Z?^F<%S3?~xtIps59YGht_G9|(ClTBD?PwU z<%cca!gp4&UZx)A5kFAnziAN}4Rv894C?Qfqf=V#*{ea8T zN*AQWj_LnXyP=g3c0sBa0oSL-aL>Tela^IN3G}@P^7IW@uBKH$J#h>yJ z66lnkKMrPZiipJ?2}9X8s2<)?tr_UvAgyS7Ug#2<8w+dhb6-wy39H{FcJs>hnO7F6 z2a9!D$F2-6vKC$zoUyAXem!SxeB1S(jX}1~P08w7q-t`_1e}2~pT8EYgi1t;0>qA{nZFpd2`CG-aw2BM#Fg@djc@ZlDw@516K5 z;dy|w02)>WCyMg|Xvt0(2638vo8?+zZOVYp*wI2$bV-dj=q|+Fec7)qiD-rdu?+c9 zCt(oRu_t*+D(J{PoXh%htZBe>nH8}uDNgz0^8UlSd3!o!%C(AkISi@D<+#?^`KY+o z3$c&=O^h5$wTcE;2_K#ah}ZTK=HDF{DjKv)-EGJHIh0>U^YY$(Q863e=i_EJx;{G& z1%JJ`GIv;4Yh@$qjA7MP{xX-bSDNBFpP4hWAJ1UzSM4TZIUt`8pI+=THZCjQ zANM0}<0k;*Qv#E2QkD_D0p%Be1%!#G1cvb$20ThcQg_2zC{92{P(z9kCALcBoLWO9 zC%|sa1MKS+6N>COgAN*#)|KjN5HnRfRGc4q8ef|=Q6X1X?21<4K2?B!kff4%M#nmFA zLP`>%7Dg=Kbc6UUmI9ni-p$SAhitJ(fOedhcohXF8^PeyI4wMqc9Is0;esBr>`@tj z62%Z^!j9sg@!6mdpwu7*EV#3MS9Od%!) z3l&4w7zGo~A8w0tjLitKJod0wzZ3h5=%?zH(F#u-%FY^q<-gW2C}cJVmpJ5(ZiK~i zYX6^Q8*VLjN%1P%q5R+5)?RCK`saH0?3aeJ>1g1j(We8=nyDc2{$_%l_8 zCDUmI%u?Eo(t7!@;t?1D?*g1H1aKVQlL;sUZITkZ9;(CNpzykoN(KK9Z3ICAn2D^= zvk}2+I{|KFuml?mtHeP;AC(D$u2?x(gD8=j!?Xy&M@C4XWEEkFFsK6!9v75@<)AA% ziC{Vw#nqYIiLS$W-Gim#XZ6IShOh(jgQ>B?iWi<S;PEl?tK%A?Wl8I=b9zb|_AWb0@B8O&$$bqbYYTDrE7{gCfk^~>Ft z;~6fd4~jZg=zD&r^{bmUDp(!bV`=A){$wW>c&eu8n#*`i3HwLm5cW^%=Z1C*$-B!? zccouG*GpoaN#gTjp@U+l%u=p!?Y9ps;1v~HQSoQYi^RrkE` z)6^?`;6Hs~we4Wk*e-)Z@{dqI_s9KYeJ#fEq^Sq+=iT~P9{#Te;D&h@CPLiVkgp*E z0~v9R&?03BN$=sZj7=U|_FO!5h(XpdsTW;OZqO&=`yWT1r?MSc~%bSIWQ3lh>6{+DUoWJQE*!S)SFL+@#=At;u~Fg zCL>-NPahU{(%bV#4k-b@WjCXa$edFiY}hs~_R!yBeEQzZ^;6exgvBv9|ed8@IWAt4|jv%kssjdJkjuB ztUM}6cT5V9uOfNcM)TJ?MZcX>kjJ~bxS=Srfp96oJQ$g`%V6!ftIn|je8$5d{g zLeXL@X_}S^aV&T9Eq>j|z^hQCKUd@g| zG#4S*--x8eVZMTzBdokl;m8JMrd)jLVG+;gJPz!ngj?5T{kFJTRtxkI5KIE5Q}X7i_9(uWn$0%v!HNSa{j4mv!32}KI7wZLFR(! zlSwG1C+U(E6E(9NPvR&eohAF?kJ|h!%jjX?Ghs4izeK_j8&!5FXF+Bhh|@iqT#15e z(y&$N%asFfe0S_FSy?c@`Us4f@C<)qJ-8RDQdECqs7>$MqsTJHDev*00V8`hq`X7M z-<@47xwAcJccQf7$-zCh*h7B(<%8_Soz+u&><$KrJ}P1RESy&VI^pfNyrD082D>4rU%Zx!mM<~3&4n;QM3*{YxC*UD>0(C+~`*gP0aDXwgf$}UtfpUbi z-vVNuK7O{;7gzsuMH|kexT0`tWyvd&5Mk_#X7KjPv7O!js6H$rvO^~kO)=kbuk=k{cVzPk10jYpYF{i5R=4lv=y z<2wKGtg>;Xw|5`EG4>8``!}Fb3>n0d<#3vmfMJ#cEQwVJYh}HIi*!1Qu=@H$@Lk_T zefuZ|=qX`;yOSSnw5h@vgF`6)?N;y9|G22sp))sDwl{!fCF~S9xLdn zyI|zOb0{W`inIg$D?kflIUX}UX5$O711Sk@8Iy_EK6UvgzsSG$LjLmRke?O++L65skC44{ z7+Ab4EG9GQ`jh_dpvo=^02^7F7WZ^N<;9)UO`Ow*`!|uh_aShpcpOZhLi?jXXx%XcOK8jh{qcynubN0CP5-=~M~jSp?Q z_UBgeq~AfMP4?u>s7*8+fV&%je1ItkgZ6P4xssqFFaUCQe*>>|)@k=Vg_Hgc3V$yC z_6~iVxM{vJZ~uEZKI}Nv=I)BX{Gx@@-S-@hWZlycBNGKHy!N&^101BKfvKis(3WNn znv;)!(vTXc4itksj97Ua`l}?oVF0D*J2E?l9R0x%ZCJ6aoj`%vgj}4zc{q|3s4v39 zHydG(OCpkWM~_!@G<+>SqWCu63_8@S99e#V*@q34Wy;^tgqJwj2>ru)Oq3Fc@;<4b z_v!8EWL(+9g|oV467d&)#qAt(P~H9Xr;d8o$A9)+-}ae$9L9cd`r)IIsm}wK^M+LG zlfP|*6!4$lx6%(kbn)R-zwS`n*qZ(Q5`X#med#t2+kY<>eLnd6@d@3<)eS_~d&&esJLkG+8@n7DQJE$5LTKy~i!Ws|1#Fam?vD!u1$5MfVAfT-h`e zr~{YrD4cUADhg|*8{Z>B*{8T7SkuB4BApA8Y9km}TLd|4Sz9q-9Ar<|} z_zC8Rl@D(}E&C@Xobp{jDX+@K|53R~?OcKI$8*JnHviEQN7zF~o9weYaeW(m+YSmG zZZ8aT{@gsI-l!P+=lNE%{qN@{7IyVDEBo`Fo__v`-5%F&bnDUT*{kvI?SBucm$ToP zEa*8qH^O^?BN!{VGdukxCOhvMETs)EpnA(94a+ zR8n{bP%K0*Pe`)M4NwHgtfVz}0v-pi zbyo25V_M4|dyOr)iG|6-F&-Izq^%7#G;op^ZycK6I2<|ok{`KMk~k^;&twR$Sop@` zpU>cjpA#QEa?gBxm$+j&)yua-UAgd^UCy37yRm|Ob!KY&oAU*>tCy0`k9P0RCjL|X z-gEJKj~sXQL>C_=?BA7h;m*$HZ^Pf8SB#IU-y2-jniSoLE_-!BASZb9$Ir`4b8MF{ zsyLLzM}3()n?YZBe8+$oL^DtU6NV@8+=fV4zKU{t2Nn;bJE)5xJ97DXw{8eSa5!v0 z8qmNBHVWIL8`V?EmY@QVg#gxq_Y!=bczF6%UJN*fX6iJ+b9)Ud>C!yuUKK)hE9wFJZ?~u{GA{$eM@Sg|DUaxqYHMtepEQN;WJh_zBmHq073_(|i&%|v- zS+BHx3fXsVQSU{Y4b-;>i#tCXGRD1p^ru{y-t+P`M0(Am;QLL=8A3qm!A6CNXRf>{qw-!6Iq3tp@=6D${r9RN0=zC zAtdMq!RW5?-+FzqLaJ`EZA>9v8x3S706 zoU(&94o1AQ^8D?kii^0-eO5tP&DufZQK#Rj$(G>9vVU|%PIyWpu0+W)r|w=O-8;On zr`aUu>W>s@M(@G~;dp9imA`B3DVuwzvv+hiB+umb20BZX?24bMBmJgZRXKmV zaXLNSs?FEPs&S{cWLv$)C-7v^%y4yPPxULm341fXyq>cAp4ykWX%w%(Q)A2G=~Jmb z*Bc7Ib6IWL$TfP?hTAnxCU&iSwLTTs7LhnHv@JYy0BdxjypLmW|1CS|`fPLC(3Nur zomr`0+W)nUy^}VX+4u4Bdf#?WRYg1lo^3I}KRw0?*cuPup%Dg>g|tU331WGZ4={|I z4l;UMI-ggMN({)*jRt%b__4|?(f~Z0(1q{;ahwoeX@a>l{QJC+4!sgHqbYi&eN7naH)Ws@Q9={s>r0k5Q z&hQpX!N@-<8A)^`l8meXD8DR-T=6n5twyPzcckNkGD*aj>7_Okd%=H{1MO#S?jJC9 zB%Bg9^cQS*Mh=jDHv3AN*C$_};$0>%`iXD2=3Z3SEQdv%*>T)yU4X0ZSOi7vVB>u( zwGyZ9$^MSRr#IfypLfE~9$bF$hn9_zvybUY&k8YPXxBk+%Wh*w$}HrvpE-HLSbiYeAb$+3ZQWiz#%Q< zN?SkM+KcW|5s2#+fmw9iUVjrJx3Mh}B*1`>%Pn6Dl(R|wf@-A{s8%BQOD}?Tf z;(p3vqKI9_yp+y0cqx*P@by+0v$8G!xe9C8D4>1>qD-WO5Ng8O9y#y1Sm#n18c6nf%lnAQls%h81MB3FSbJyuK=`f!aS^Pa zxCwi!6U25`Ry>(SKcTRmxniH3?Cuq;V6pxNAA+a=pWC_4yYUsk<&4xTL(TwRvRo!5xjy;f zoU+Vvd+(aF3A_6crzY=pApnJ2*RbMxDwKkFjj=+!mP$d^iH4x36_oHxFXk*waiOop zk*J1MvpL%t{#rfo7>AakVa1DAv*I}-Vg*~`sDiVw6%-+$uL7Y7VLbt)m@JTkI0kvD z;KYvjqWxq~NG*M^kQ0iMCeDoNI;OwA@0b3%QQKTWqNS1473ZXwplND-@~~re;2EX# zkd&Ga*DPvm5E5bdrrG&{jmV9i*!F>a?PctZsa3W~IeV|kDtnL(vdjN^&h0nGU_^|@ zGb|IyStuZr$&mn`5{4RkbgyrqY)go%j*=u5P08n0LPFM}NFDgFI%otN191EV)0NN( zxzksPuSvjGvHTZJ}k#SPtDo0WJrJMsTplJo!CUHO0A3u1w31OrL_ zi_;MpKta10Jdv6MLeK%MJdQr#X6h;MMyx8+$n_V)f~+zin61lr8#m&~*jLSiLUCaO z;JhdVo=i9|GI8N<<{hbBsPkN2xRpnt*!h>I-bsWG>YP3p;*w5E<;D~7k2fLJE89IA(LO0jCgNOeg#m>t*?|T+@wHoF&^~&Q9 z`_@g`7D|d0^!NU7%V%qCUDf!s(_`{!Upt#kU>`ly7S7)BY99uGs54t+!MqaF)Ll*0 zv!O>X!FN#$hi&jt9IQB4Du80*U9h~g>F(DT#!;dr0S!>&3e-@*45`EDidf^uQK=$a zqF66&#MDp6dP&RI4~oJsyD7gZx%py!@=>z^x~tyO^z>y^T94ngAKweM^V-+6UhERZ z2BhmqR904GK5k!e%Hv#cPFX7<0u(_)8rsT@RJ`nY%&R!zyHH2UO=ChwO`q50I7yW> zcZ?0q3YdVLfet7Eh;~2&SWoz?8wUPAB`AGC-)twEjgszQuoZYkvh^&;T`?pgeE*^j+BY%~0Z+qUhe!P_90jCa>BHeFII9klV@ zcgRgD)A-vRI6R{EN!${Fq0={W58~p@(@ENK074F#{ngg^y2A z2RYEEtuBjE^$hpW)91zZqsRkx$gTu#l)4-a&JCBsRV&cf_hH!NJ)WYI9?0vwTYcl{ zHQ~>!94BP@)a>)x)GUv54EjoZyde`cN!R5DX0RyeOAt#_3xf^QL(zfv z(^La8X%!T8VDM<<0ipfhQL*_FlJE>H@(kMTA=HXPbMHv@@J_cK^}AMqJ<-xy`ff^3blSonn1{PRS! zX#3l}qv2~WBDB1Ft56R+Qh0T(lLlU`Up??!rhC54Xlhe;?2kQ~2(UPCcy0=kiGq~z zLKI!57%LD+oCEui(}v31-}FLk#K6}{(x6QTg`?;=2J(|(AUA|D4CfODp7wlzDM&NK z75Keh4J=J-*WOj%Wl6~)rma+d5f())i6&bX97za>BG^)t-)fwmd9{7hpjlUj@9BH` zmVwdFXEMcCXAL4GAtDd#V;a;XRecOGGvo3pQzXXpT_!j`cN}>-ZIWJ?npytjjiXzC zvFPWUj=75l=KIC6R*(L<)*5em_iY*J<%4s-PMzSLnO$w2_KXYBt?$DTrwF_fWJ~Pz%(Rw;^m=#(rMY8=w&XK z^Re}kr4Sq`2OBJ`iEGNn2rD4*VMO62Lo>MWFNB#T-cw51Oi^t3q)9-OxJQV%W}#Da zYKZrwLOWk~g{QQ!;ZAQ&p;B}ijv*rWWxuWz&a}dD50CVbUlPh+PW?vVb&6Z{uAGrm zto#tV{41|;WzO>KwY=&F&xePStM+Z~eElIa9DH}q{?yI)k81vPW;g!Rneo7e;Y2$u zVpz}~1xPV4OS|obAP1~aBg0+;_{liET<-V>rr{t;$$1_^yu|>gov}(FjDcEGV;~#l z80ZQ_H^mN*BJL{J3eo83P3Jm?l|o0TD2x)2l5)ybP-RC3Jyp%??kJ7w z^m$o0_JsV z=)j#(=7{Tk9u5kv!mnfG z;V~El{2^B}d=g{cwnsa=d4CP5k(fME`GFv(M{Xq2axOA4E)WklU&TymK?(}LZVJ(h z@rLMe5KHE-H=70t=Q3WGEIB)4DKKUoj|p*KJ1?oK{y}czV%LHMqrG`(EO)x4?$~+j zO9yUBoP2wx<{QI`8xGB!GT&(wI0@9(H{HL6Ry=^9*#sZjw#-DzM_V4;bPCpZw<7EI z06ecWC)W^s=bvjX@j_$b4sm<6wHNNVtQMXO^!iswlFfLn8@pe4(`}jm1b0*X(F;V; z%S&1dH@a4J-dk?pxxb(v)UT=d;gGML&)=zJBXuW`y~Cjzan=C9Cnr7eL>(k@=Fp_X=Q4#_VU8MQc7WQ6ggVV@u#%{6|wqOO;SoN z$0BqyJufli7rwhF$}rnDA54S{pcN8iK8d)Po~zfU<$GB(h0gY$zRTL$CBQeTkOht;=SUrvKY76_XFvGZO0FQd#%o?GTlG`2`S@*%XU{UCuD3K_ zw4wY`RZIKf^D*wGG5z)07JZNPlvI+xYR=Onj@T8Mn+YRJ;`ydUnSy`^UWgdRREGY+ z8&k8H7rI5Hme#QNHcCI?0My5fgBgkbooRVisYJyxS~u?P zFdx#>`XjOwi}Q4$b}7pM2~0!N1fVV(jqT`4K7PW|Zl)#^iard%8~F3aO!VL`xFi*0%v)%mA-L8$G}XPr-_ZToBr%1T1FG7FwG z$w-$M2)LR&A^8{B*=DGU0d)^)kr*0Fjmbq(U0s*7I-Tci+LV^0U1KAW)z&4RtS5ar0nTc0cNoDXrIwNRa z{gD3rY+NLt=J@-Zv+a!A01g^$$g30%3eRb%RGjr0k^G@+`Z>);;hw^XwRDM^o#S#J zWt|6>XG2uA^)K93xW7I0z~!^QiJKN^WPSMWKXYrf1@ipxZF+d`~T?imoVe0VQ zQ6@*6l`|iP;(eeHyaQr4K_aNSBs=ssUYR_Jw`85gb60RG3xEn_j`Tj+7KCwZI_EsH zC=%s>g)tI=kZczIIa1sc3*r&d7l9{L!xVcwKl&nYBnu0pCBZB9ArV#-Iu@A-bX)<1 zurTs4D2YHNlF7Q<5EP5$=Hd#%BVZk#0tNg!`@&bq zgGnWDNJI~S!-!ZJfJKyslN4wuIUDeL%2 zULc^tfy2c;j#4+n^fCglrD&p3GAIk8La>5}i=~@s?s-VSoHOUInP2h`^J`M7%Psi-YQd&IPrJ>`;b z_XRa+i18};HmW_mO|oS8iP0-L=@vc@Noy84maTM%XcSia-qWy)Qn_sCYv^C(wEFp~ zK>1~($QCd4LOZT29TDkb(W$(jM%kaU$_yjdmb)Gw))bFY*@(F7Re1ZQPvIv9hZ`sN zDR(5aaE~ZwstZaFEGQ*J?7~Ei{c{Dg$blpht9g~Ex(cfRi^N^%x ztEPA6awTbZk~nAydj=}PdBGBzB#31xfNQKn9Bzi8UZ&1yU`S3gfd|W_@7E<8q@NoE z)7t~L_yoA!Dbjl@v!70PYs?a-~9Z|Z+k~_huy+t9IUapGRQcsI&XVr z=z6W%(C2vnp|1Fge*uk&07fsO3&j}}KBzw_;G~xoE;xgI_X~ns;mcDwj>d2C?81AG z&pcTCvmjlxzlrebP59ZL#f6WjMlW4s=UJkyIkaK`uLQL+Rm}|Wl7I|TsZs>b3;E)C zuLLuF;nU0(Yp58QJy0xpH66e8(VviOnZv}er0^n;6jQR|I8&G`#WV)A@R(@}q&d(A zrB@iKb{YfS4-p6QIf4nBCbU~flyNM#B?6pAWC1fAkq(C|b$}I36eb+Nn*f`pPoGVE zMv@oNBAw>TCc*9pd^Jfi<&~G|8A_{FdT87DEX7^BHQ3_TdI84WcKty{)2Z2S;(@~W z*8Aco)6x#Hmrv2vHh8m(d1cyV6{?G5s@v2QF^+cZj9VG)E8^Kr>p&p{qv>=0IRbu` zhK3Om&IwYJdhxOur_DMt{KhI%8KjxiImwZv2;SlpU2YmJi)&9pE}Ao1a?(BA1x`|6 zF2h`82o8w@;tA@Fjkac^e*BTqgBM}3j@)S?)Td8Uq#U}(ANv_g%eVMR2QRRTt;~SYq{Fa|Bs_sD?loJ`cWEMX^ zySR0DTThSuhrO0xzQ#VV7Jqj<>+s3yi1o?pdhTvkOG1LD z5N^HJeP;UZ&sD%|x)7JDHXUo7L+!;|tC-SNeOuf$`U~Min(mw6ueuXnxjwq%HzU$* ztQEZ%Y)5;YkOdx(sk&kY4F|pUT}YLE8dc!9u~}akzw@~L&0cfc-`}2_aJs|JFvfP4 zL$=c7JokVKEN9RNN(KWvguuDPQ@Z0HbM`bNkAefH6i}b_1RS!=1^MA1s0R@AUc*E$`wPs!SdAiu*_S7Y;!ke{z1oWv66 zDZ7))#_X=-X(}o{HjaOTGNUP`herIAGSuV-L^f z!6GYo?2(QC{Z$N1!e+_8>tTAA8*@9^G%k{{HnBo82S&Uw!&ty%^aI0AtB?oW1OqC$aW$RwQS^qhzmw9ULfu z?dov%N)76Gag)lRwH26RGN!xs-%q5nj0|)D0c&4YsW50C$Ms z!Pi}oAV<&Uc%ladLwHp^0sol%$TwZNcP7K01W^QlcF zFT`724MdldG2sJGy0-JGvov1LDLNTN($OVpJHslX5ei&fS;<&5-9onWwE$k8MVZaS z6VXTvu=pig{_qL+re_*^-l%jl6Eo`fN(ItZVmj#KHa?*otjV#+m(LQ8dk01a1lW-7 zz1PLOd4Y~-Dm=Y%ru8qW7xMVO$VaScL>jwG=>um9EMp?W2vXBh!MG^t%u-e-F$-4;C?Ro85`tg=J10 z5X`)(@!hCw;b9$MtADQ`FQ>0uYu*dhd+Zw7S4qS*FGTC?dePLc8k35LEyP3T3Y*v8V+hhz@iV#|d6cmkxXQ~XUJ-9|!M~=0<7d3q)zu=MwyoD% z@Gf+(M_^ZP|9@((D=>~U$p!_L2(!nz!I=E=NL~48t}njk26rFI+eMrYhzq=_-6gkCOjZkb?O%dI;Wx=;Hc?vu`bS&$Yj257rF zA0aSNyX!zuLP8rUXFI=s)x`iWrO4*UZ0lUs zjYOy=gwRXQ#84vxu%@L3PEE1%agV)?7z8Ty$eM7+a7%;F6VEj@Le0r<8XxvM7uadv z(kLig{_d_*xN`f-?aJZyedmo1?>l|YzevEbX!l@N>TOOLJh++uq|J-!oF$#y-p?DH z%ZgE4^dD#&>Xfe5tOYg6yT?p{nDr9S!J81y7JNz2eI`~1EwkAIJXzg zk&8q-4$M6BM*KL5XG+ac=AS!iQ^vLMakALUEI^UmCxPDgDS=*eD!Y=d41MVW2pX2= zVn0>i75#Kghl%lDxwz*PGeFcZj5yGLqz2}U9k9;r=7n58ZC(*boK-}OQ#zgs$?A$* zB@8p9Vbv#7=2yVweMaS){G)qT^R_ZIcgYR*H*cj~F1c4KVoVI)1i%rIs~sy%RG zEM#w3>Bv>*a-##rWkxZ-_iSbr4PG{kX^r3busZe(!^uMz2MBZICJ``qG=dAwwThe+ za>HcnubQ1Yh0q?htFpe!(F}kPW5QsVJR->`5h&#rY7`#8EjinxAaQ$c0L9Fyzel)I zT;g3^SwS%j#8as`m+>n$DVc=UQN+M7uBFx}eEL2>i55T;#Yr6jxDt}A5EV&Q0>lgv zyYRTL(RjL91QM>Et$d&31Ulrl$5T-~bnzR}0hwohP%xJ8TqM9iV86XrX>(!JM!(G7 z@sqV@B(B8ON!#qru$Ue0`}kYa+2xt?7tj1cC&4)R<1GcHqqhErLnBsG=alywm~*$q zxW`+XZMvAY#E5A1fB$1T()xCF&FO9KCsw&;rd7pa)s+i@?*68xnu&@a;>XtTpQIUQ zi!f=7Nmo4IV*`c7)IVLOJL^Ux_XcGuuH@fuIoZIYV%)Qrv$*{q%TFVmFcsbpgrnf& zJfI5~0ERPPW|8U~PvOl78>vt-QyHF?%(SMH=`0Z#mJ5J7;$RGZvJ}UFwiv)FJ8N68 z_FCiT$x?CZ46IwEPG`5TCLXU0OQBI&Ja}g^kF#duI}scu#}vgaf))`nK+vUzXU#K3 zva4;(oTHKA{G}We(TDYPuEkWcT<4rD+H^g6$0R#Rd0X7&uleu`;DOE>6>wY%_Zf$B zI7uIFYJB4%>;Q-v9Z7Q&XCUK)@RncfeU2cH|Bh|^6N6r24+oo+zjCNAUNOEenkPm~ zn1f|X1YwE7cVEJqrIDH+X6wN~K2L68ULt-K(Nb=XL8B6}SO;@-H>?Y;z!!+bbIaqf zvgX`mxkwyt4#?(uB5i>W>OFaL;-#Ry0*DNDRw*XeD)Dfz!pjW2Mj@83@+&gW-i()@ z3-62$LsnkSP&#VHHGBmpM^Hbb&<)IzJq`Dx#1jD&w_q{dD3H{V+GnN4b5)&s`&q3U zNlENMcAHdo7d1VlO0J8SKER39HlC`ns9wfr${i|t?pSmsJ1i=S6-xndsvszW7DfO_ z+M0-nE(iItJ6`7Z_D)!)w%u+}Ss4<;!sX|K=)m>o2p2n!LKp`HGd+}8@%LpNZ0qB{ z&ei5to$8^G>{dteY-ew9kf(Vz)wj=@Y?Xf;4O74Dq!4xR;8VB!UYC2aecrYPs5VX4 z(Ww97o|$H^|NAbQ{;Y(Jn!Kun{jJg$6MTGnf1VRN=VdcF;{8_vV>BDWCr!Zcc_^OTYu|&@UBaiMxs7P zCu*_!*R{8V+Gz^~rsA=LD<8Qpw9}?;%}6d;ZDHHVoj;rdv+<1x#aw7y6&H{sSKg^I z9RTr>D-pUSlmK&k?63lBFx5HjrJ%}m=Ov_LIZC8cQEU4|BDbMMt+2}G;zTSMy(1{a zjJm1n!vHj{QnJTS`rWftE-Gajmw(jwvHoY2I8w8RFhZtlK;^`H%jTi9|}}q zA`}oXYjiV!MwkN+IZo$YNn}8$#Yq+*VY?MJ;5OP?S>#7rrlX|_H4R~RtXyjfK6{h; zlJRfm>odb8aPjrxPOokqoXj(gt9dUvd?NL>gW7!DP|ZJTFJwc)bSHY$`~R*K%rWEd zmCeNenFg4OXtTwKfbhT_^w3Ym&H_nd-!=(!uQog`U%#PWgBe=b@bIfCIpQ{HWqkp_ zl7_3WlEbN3OP6*mO&i0%<-#+t)Uh?7NOrg9igd=38!ND4I5{ke#m9g$fAAi~ z>4dyFa9&|$ko|k*alzN@W)Wt@?09g4tFM8u`}aiG{Lo)p&BsTd>uUVitw?L(q$gr> z@;Pj=2H>rodwH?na$^|1Rb1a+Bw2hMi5U*^?SbJsa}*4f!5Bd~q&+A4`OIIAC~E3T zh`kv+`_mv+aD>q9hnGX9vTghSh@pJ9sc$LES*fHMmcieF1(A{Fmo9k-&?ct z%CtBC{o{Tm^=ER!{Sgg6@*Zy;sI=?PPBi}@EbD!e8sV|m%)N=+;H`8~KoEE6rs1Bv zFM-!C?|gP^*DBx3HWB+Z8cJne{cJLa(*7zWcFsej&H6@8Tco01<@l+e24z0?FYk%i zZF@U0;_!covHi~-ga0q=0RY~Q09Ig{ZvaJ6V(<<73@E{<{FBn5*yEJDSZ;DQLo{0< zOV@BL{b0*;$0zAn1q>n)WOndtnrR7LR?{GKvb$umDxnlislpe`LiSt7YjyM6bj z+w)d`2!c&d=5^1y>fNmj4xVWHHe}ZI)+35q8Y9MkC#v(qo1?-J9=_v#$Il+M;vQ<6 zH!P^w{yQjGrxi%-?y&nqovuno8^qt26De@QXf=8!_%f-49k6l4J-5}z(yyt&ZPE2X zoziEYO%^Q*2cS?(TuSg^TrbK{SqV2>%6;JY@m}pn*WPQi+FqWNhli~!BtqZIrkhzt zp0#eArLc&H2vNq$`Sl~AH|<0q)jMJ@F&TPu3lbOm2xFlUiv!7bvU*=1P2}ssE?+fX zS}T!0I`GW%l@H^2n)%n2`+K%t96PjdZDZ$PL_+0R;pq{*=h)5tStS7QgZhGxEQ-nSb<|r{YJ{(j~34#@@**Ib*kWb)m24_jd@1?qeF*& z{I>g2GVc*`_0P#`FUK^_Id?0tZovEEImal#IYw!F1o;3%*u}~r_(s`)A=qPIou@mq z^<6J8I3tZQYYvA%oQPi(4lb7r!B~1k_Ji<$x@a=l8(bYOSnkp+)9DLR5?P-bm*6s@ zQ-sIM>CHiXjz59B*#{5bKjLIEr}?VzKF zTz@+;_M$$8`BAaXv?M;^2#P+)$CS?ZMp+UNC75u1{FOA>bR+QKDEUR%2&67bs3zw6HEicb%?!MTZ zZ}h_`z3S^W`|W5s`{&AyshCx^{im1h&)HMY*pJSzS7?S1AQ^iztfjJ5Ww#_ZA$h%? zU^cT`s$#A9t7I|onHi*rhlH7CJX#|Bb!(jA|+hw?%gfp#`K95Fu1)V(6fh(0lJl2_W4s#xa zb27EX+tWNjpKtsJ3K7)P2DiG053g(&^haw1o-&+g{U^re+w1mEjIB1v%k?BBTTv_z z7L|9Pd6jpV{rLQS*Mm1Zxvh$~>Q(no=Wm-&uIJtO{#?8C-t*4Xq5F56TS7XPonCGl zM%-(x{!0YVCaBAR1JPok05uHTAYN1E&JiZ5qIz6fIPyu?iFCYnLDin{$+?9}szt@5&qmw|n z)3SDoIP`OFr1ws4h{p;;nouFKaKJ$qzP$2Y;5-%Yn5%JQT6D>@w-t4)M_-s#rqsus zP8+iuqwlh8?2O#BK1@&9OpOF;vHVds3Haf2+SgB%{_NvF=isyX=TYYEs=C)dJo3+8 z|BxuVS@EhKRK2X=gzto|QLIPEAsG_@EJwu0S-s*pTHY8wp7qd7D1?wqTZq3$>5WIh z{R!Z-NWC^n-@7c2BL|Wyhzb))gP~B}@p+-@NPzePi)S$3@r?VMV?Zbq;|QbS6?mal z&2|oh5xUB5#dcAq)?`i+P`N>v3=q6oe9^P*Vrr|JmC;bi@&{4u_K7vlFiU{9sJ5a~ z)?q6BM#rlCSI5e#SDvfYB6W4`9m79-M3(2@P1{WWQ63hn{39)cBi}VqHZnQ?*u-Jp z%<=a0JMwABw4=jEvzsPl@@;dBB3_4&GN^kFit8g#Dohpy>AvM)iSMH}XnDtVF237{ z-WJ2e4-@C^g|N`LK}{(qA<@7R0EgiGcpx~c5lR4Q$j!`2HQdK{1J{@BCZw!hQHQ{*b|v+rz{%BiP(7aGtMtxzJ@M3#SCe=8AeJ_9F>bUaIOBzRNCKDmU>Yzup z(uubRj4Gv++KgVk;uQ@37EaTiruW(W37c%JKnhoS>Em#Q&CD&m;o2cZnbWGYBuP`g zdoGNlG~h)AxBTzH3;S0dKK%}Q1dLHIp`VPP0Y;?pwjUj~yeYnDT+xtm_x?zcU;GFf z(;t7X!2lF2vL1op*bSiz0)`ZTU_9K9_I;ZhO*CinjG8JW zVxfZmh5SB45+e7eF%`meY{`7Ja_7@jZ;8GvRrB>GywJW)S-T&s>S33j5>q4ofF|_f z#f7Her5{XmMtVI@L%p9Sj-85frcBuh9_v|IJA83t@|n%MVIWwcFK;35sFiNoc4~n> zmALPl7|k@9Uh(xRHK*l`qCR~`iqW1_|6!|sJ`>Z_Wfyv5&M#k^s!Q@JQ|nitUP7LQ zahEM$G|{U50|j!zC#iccVMhi#6!aepLkwI4=N@_$}nu|0l zIiiUZ!3*Iqplm}RLC(bhhVgosFzeC-33Vxx`R$?`p6X%{`UGbH(Z%Hx%5W~gE0RHpm^PMu^2nsxH~dNc@+HuYYH?F zo8KGGKJXYM?}GCt=Soa-1R^@Z)<#^4xxihDJ4|8U(32mD+PzR5zaA9tXD~{&wA6C# zs#FyZ#ne4_z78)%rPioD)~2`mmDPne&7O?3GROo>NsScPWzvUWTc5jzo);LtE6vqp zeA9m1>{?;n)0p+DmgG+UOI2$k-aJO|YomfRA5L<4@l~L@y%$W4kVqLEj-y>Hl8_aN zIAHQm8oQibWX_@(+I5bYtSdwvr0D^A;;ep;cXjcwF1cP%wt2&$ncECVqGHj~Foa`z zsW}uG(G8|(J8HMyU&29(uMG#DDCv*&P%&nUaLh74rePC~XME!koyOs4IE(q1>uNZz z$jc*E&(d0A3p*wb;drvLRm<-X`>Ad(jgMli zD~yqui7BA~^!8{zZ~gMo-BR6|AzyrOv182nj^+2&CCqx&?3a)e#uNaqTyU4FSqZaMt!Yu|YF!CdaIQ5nvl8|`aRwd%f zdvy{a^ajBDo{|@$3Rhes)4Q=+)0?TVUrZC=81m*5@?1yHURkk^-MA@Ez2_^vO4naz)k9Ts^nyFAH_5?uBS{YxwTy>{HK zq1st?Giamf)w89|{n0C>KZi;}q=%-eN4W>joG<^noN-R6e!l8qzh(XMljCzEy?=(CwB>P}RJM`HvmxN!Q{PfA z(-K1d`SVMOHXH7W6sV4de}%hpd7!Kuc|Au~JC^6u!vQx0isXm8!+=1+%w4?Bx%luR zkyk8OWWK$-vYe2@jKa<^M1{j4=y2$WJ-Qd-k3gd_Ah8F|kA?$=6ql@7M}o|<71^p4U%Zon%CmBx$24(b6bp932sk1L+?N z%+i2Y6i2u@rzHx@Nds5F;&v-G-I-9)4m#;L0uxPyk~&_{wUu`S=RTM_yfdizQ6@;v zx?niq~7tisqI)UMpzW-GNVQ@@4d_CAd+l!j5i!EUtsjx zzi@%wt!StFz5E5PMB0dNJ3$K@cXd#9OJSu?3*s1y6U7pvmNr!TY=b0v51w4%Lw8B^ z?mTi%48o5mgl&-;RCj!%+pwn#K}h#)@gCJ0+LeK196?yyB^^_OBN$eGd;0Q++Q%k#uUc?CjJWDh7ZNT0#%>!C^D_Wk`Dr znsq&FnbIZoo6}AKKuZXhLaY;n5O(+}#&H6aiV^PtVEoPva@!Z)Vem5%62p(t6DTgY zMAD-01YC4a6>cm6sq4O^v$te8O`*&3=vqp|b{A`7O53FmF-wu&Zgq1mR%X@|w#x*& z9s`Mv0KR(W0#eX+L1EK!Pjkz;sL30RpNC=>?cO5XdKn$Y9?3K+RwQu;RcwqJPuR$a z8ebFtE}!YwSG4;lV`Z%)|Hi<;9SJSlN6H$1J6=&rdkDjZ$@aL7KYJchkvuX!%}H}{ zG&z?D0boI+=5M->zwRle&A9m;(Z5Lzp}v)8RX=6df787Ii8vR`&o9c9RORr1** zl}F#dx4kBBAG9MP4N1ZmKz1fc{8d6il5KCaUV_ikjY->wNG5gAH`rsP!F?=BxWomi zEoJUe%x^dFm&Gf>L%_#{Vqqc^&j9D6;zbCs=%icmF=7gA+%0jaCLM9k%&byd^Sy4o z-P_n#RXdqtOM>>7wH9Qx!sVh|Os^9AHt^MkjLRnJ`WGY7bq3-Q9eVT1N_ppvzhovj zelEZD<-BpH&7J9^R*fUK)~s~FsK2d&^+%1zRVbTyq%|rw(Ee!Dq%v_vDJ>w<`6RV#m&k^rqXuZe zGQe=0L8z45Z0G=vl8WA?xH8eRfI=N7N07rI0VP~U*i)P%A^h=0VE@^3cox+RSBhrh zMEVR&l6oYFfeG)5X~%>j;A-w5fw+J`AnrVgBh7$@_LF*7SRKP8VpigXR>sDeWL)fB zipNqZSl*xq7M+%Np8mmmp`BFp4aB3qdE9ZEtXZ3 zyJt3&AzxKPPDX_uJsQ23srPV5D0@F6;{y5Y-g9roomKhQd3t3Tdz1Onhvgxv*^Dxy zX`Xj}cV#+DPt6TxE2Z6|4*9LW`yNvYQ8T5&TtXDnHqu;yT-;@J^OtsLoRr<+!8~PI zz)YdeMa(EDC)JF{%D!uz`YBCqDrw7LGsZ9yanT&@%xM(wR$=BM^S1j_E z_Z80%&nC++)SCs(+M(tL&92SA z)7Pf@3y=2JkEtJR2Y2dhayMslvZlY-|EdgWmF+YUyHH=9a3rzzs_dr2%uwE@k>b}Z zNxtEQ}2;Mp$eiuIp3K)nneEoMnzR68X$c{5YRXf|H2qM8Q3{OqV*bI zMCI^Ndxry;sMLhf*mx!gi>`(hzs%A$-WVzgvd0dh^VBgi&>}QTG<2oFw1H2u40Z>J zy?qsIyVipz(0!Cfb>!X9XTii?ok=bPC50>-j!k5GT`g)PY-fF@c1$CL(nMP%ytCuJ zaqX5(dL7Q@$p(L1$%qK9<&c(1^?a4va@j~;b<**f^^T-WbC>g@ipLj!zx`vQR6pKq zyt`keGcgkXG9W5zWr3YsV!!M(R?MhU_OFo&tb~(U!8#W6Qs8lrtkOvde}Ms z&5X=!HTZtxHhB7A_HcIYlYP)t*zAL`v)hz}hnH=6?ta@o2Vz2fmy_17OIN@Um4S~C za@hmVy_wJoI1wBp5(-#Qf)VS@X==nqm`Dm!3daUMI~+|(w1k>PKPIZ{wKNi0@HBI_ z_}&;K14BPlpQ(F{!Ze)LbdpI>S}ME}gN0{G0(-q^6iq^OcT6Z-s0=OLurA(-O7f4D zl_^ERpB(p%*|t^Y58pQQ4VGRAOt^EI(7T>}cr-4)kZjN(->J`jb6&z+|H#t$$@cGu zGOuon*FLey&o@a*lHc8*KNL9A>zaI(_Gj z9$q}VKA$^${90hWvOLuzcsb8oss5yiEWUf_+#Dh{D!+UGNr=){SzW>8tz=v* zb2^=_b>#`CO!=1S}&}mbkF}I!aFP4>w^b6dcLlq%N!R5vmbg@X@ zitb{#0Gbh$c&_kyON*7dUBs8V{nq#&qrBxanmo&}cb{bV^?&+Q)m4@!(uFJEc9uKU zQr2G&9M4-*cUcP3GCkG(a{cbqN9SE<)0w-nAI%)KPF>}m*C)!d^Vf95ov$nUDN=R2 zs=lh@sBHCXW!a0``ue)(Wj;;SVmX{4xmKV6vLD_N3f7`+$8qX3GUm9Lpc*>}VWveW z3`I=XfiO`soH0y6lgJJk4{N~05~vCo>WY4yFVQya&Smm|gwu0F{Ugt#`^y;#W~?%d zEb89406<5r!$X%Q0G&~GQR&M2Tm>{|##rU>ld2n)zkL~)r314@xP~|U+f^)$)13Dt zK~lk>P>VrX#AgxZiZ=#d9R*0sElPFpzVu-S%kjf# z@>u7uda^((6Da5K(AKj>OFh#l?(XHcP=VdS+X72YIWG5}ALf=O$bD&$oHTr#f@EP8wHB|D(jxBEr-VX9 zAvoj#qYJc>)_j&)Z_w*?F zr9`!_oXGN2v-)0v$*4Q|or-Vio!=`$=2ruc2}T=yDT0rD;H}% zm@f>c9>kKAF)-3UP&iHaxD>1en{^8~Fwwz3G`xYf%Uiy@-Wbl*JlB6ZT0aTf^sI4w8|#|N0>-a)u={sat85YL43#?!OINS5cM zp>Ra?0AiaCjk_2hJLw7Zip!mYqu&>!x681EP$ADA4y?MKkpb^oHw}_`m!8g|O-;mim1s+D+H-a@rMD)AS6uiI`f8NIOomEw< zmSL{wGYhmci4upvdv}-j$S*Q6Drj#fP$f~t^J$rxi@7#b_XzNl`^{{b3)G8VAo9Bl ztjXa|sK@GKdkX#u4YRsF7u`1Q*TSpB7PVD|2Ga3~0V4{KKv)6e60MSBukqA(7-I#C z2C%?jL0Q5O1{FZ?Q?|gEVO%tmKoDn`-|^L(OugRkfqXTNk87MvM#(#T{PpW#ytL8qB{~5~3{JY?I#wa5zc*e02k7#0(8BRhEEYS1o#SUX zUxL_x+aosEqusI3@UBoUV4Rkhr)NUT2M+jC8FDSga+uzVc4nl|8tY(prHP_aQ=Cti6=Rwc(*LQC!B)+y@0-;@M!d;Ejz0xL zLQ?BfNB^ATw@pm12>T;7v%Bo-Yp%3iYPKD4{xzU#xT||x0$)h-Xuhh=v&89I;=4*& zcn`NmF+f*f=%Nl2qDMn<0nkD}K6*eJ-hhHa8HKsHRGvlvhBm#%aE6;w4kVj0;eu|g zI^@|6e9G*RVR@$tqmV8YO3?39j=_(Vy@(;242d$DFbEy0+j_}Uf-pfLjW&OtRumNE+c)G4EoQ8xp@A~RSDD@H zauodielWA1mu@bNkaB0HgHZyUB)!-qB5>srM9c0oqhynNs+~Jj4fX@dqPgG3fol*L3Tks~SGURGM{kjF^i`_F4)&6}FBH-DDTZTotrGW&kK zaclZqVV4Xszl5Jt>~hM8REPD|>nR(*`&Mh_+ZtXgebKSj|N8yweyXgB9Ou_zk>9hV zcbQ$S|3KjYvft*_)jVUcO|E6fJ-n@ge!05Gx&gqsyS|2kbSRaePiOaKUGSd(A_UJ7 zYO9HY(?fEWqKH-D6@GHW=BSxaG!H8QYfGU6)&{UZ)v(DpCYbw%b?jOrYgFD(F(Nhg`58ZcIXUgk z@XrtWW8{&Uzta3WKkIE>_x{3G`@K~1Tqk+^61lASI3*|DGN)Z@|F+{xBfb0U^=4!H zwDU&4kB?qIm}~muJKvc;^*jIde*NQl^6Pu~>)u=X5)-GhCK=9+2BMu${#;W1QdYZP z=hzwWYwNX1K;FCK7I_J$U&Alz9SUBX>_5p&U705ze|)m?^Tm@rYCQvT2zm3gyMPPB z3H9;!?(tUGrb7w-3HaZ2hOD>mOJ$8)jLmI*d42CxR&ccJ z0uUexpZnC$jU4Ogq1x+KfQ0uX3#!ql2pF-sAe|Hq_jsojutKGguQ>-C5)k*f zB3aS~7-@yLfmGWr_4J7%RDbcg~70<6$p^9vdNj#kQZmC;IJ7+;R-Myk>?=VP=G*EzY4)e z*5p-CgfV}hH}R4~V&%zSkLSr}c+G==Zju0JzV~+C`rqXOp1G30VH{K3E3#{HNb+|w zd7u3H%hBWVj>kujyEoMzcgO5dw$p2(mK9YF+Etd@F}`*O@^k;WAOgPYe{KhggJDl! z@X-Yzg27D!NBI1T=G$ zWG@B9*cdp(sFnW!FfH)25p;q9t>HKT^@4tq*9hJpG+oEDwBg1?1sHXJg#x!X;f91n z`1u28zt3=X<^~K3jW~azRQNh+@m2p@RoZliuoEfZ_HPDz*pCH7qs5o}3a8m&G&a5W)j;k98~A#0}t< zacsXYbM;v3(_asak_n7)HBIOGYVbx*KQp?L<&tjY^+r^Wuw6=k@HM_Z(`NC^;p?_7 z_L*@U;s&V`PKpy2f-%lX^GQo!WhOIE6Z4=6`QS`Fju<{@&YZLWAeHct=rUAcI2+A) zxQtw7`k0Ly$`wH_{F)jw%mmL8|++< zUk~trV#?r!{X_JE2ZxPaCW^)~CLG#d5IqWh=CYYhPsb6v?M4(0{jG^&$E)G7ya4_w zhCUt+I+j2XP@E70yf7F6L(Bon6k&*c#6akGLerpWS6Dft85?aLZ4|q3d(>h;^nt`; zAZ@xIJ>TFNKVg`wX@*^#p=g=wX?R?Ia@&b&2v6gY#G{Dh;{9dxDZ79J84M3E#k=GZ z@h5{OznR&2X_x-0ha9wbMUZ*gPI(2;WL^Prhh<)Bo|7lZ?bN)w&OA*lA<5wv$w?>S zajB|0Yo|%m|4pj;f2f7{pMMCrUjX2oL5sCOh&JwNsDMilWzoaI_wTPOz|L@+AOv^; z_Bb&-Jq6Im2|+UeV-)~h3F=mt!*O*3X$7;ap?&M$NP#ydecMw_dP5ACF-#>F5-rXM zNkWXS>2xoPEX16$EJVC9{_uh+=aQJyjccCf_WMevzr=04vNaw^v%Z`85cZ(*!?OLe zi&kUr11n{ur2AzJl=jOEZ~7E}sfiFA`$qZDM4$h1K&|w&(Y#K=pGJ<9nE?@IZ{iE} zmmj>K``{T^f*FS=gb$ZM*mkj`WD7bRm~dNyWj@SEsfVtrQHE(Qq@eLk)bLAoj@p5j z8_#LijM%?8&luR$PtkW#n_V|UpkR+p#1q=hO56(*6G4G*aK70qPaXW;o#Ug=XKbP_{c% z7cxXZKo~>0AVU$6h{pA8UCCr87_fau2+;;D5AII(;?=iAVb~G{c|zuA9p}o@KCH;* z?tW>`IK9_3M5*8pu{|Hgfe+)2=3@oMN>KCxb4faDS3DF(%;mG3=V^T^cDV7c7p6 zVUP3+czUQJ!w6LAmr-es46k1Bp?U0Bn$m*{>knsmU;LI!Asae~?tWv9J78fc7yhfm z#_Qj&oH!nKbg7p7bv_NW8zS$_|2n&R65wBhMo5XN3o=~3Ms=ly^0 z9RTkh0APf1;*IbY z1F7ER`-QVK!SxKLQ4CdJR&F7o2ph#mx}Lij_IW4*ZyOQJIB7UBM&%NT(;D6Z3Q!~fCCT* zJEv#_hr`<5Yp+Ym-Yl+l$?%uBseWX|g%N)uT{+YASLS|n`fT=R{;MApJLiOsli!Lg zdk)(%YiGanaH{)K?H|&})hfkT8_85XP4m;Z>UYr8LoU{aBgB=7&>A~UThddgFo^{& zPST}p04M0?c2&kl`ajc7jac$i)Q=>GN^ZCD%4u358DG6~FDo^NYT+BJDCX%k#t#P{ znwC>o5kh}J4tsoPpGo*#pa~0SqKNe14`^C`8y?`_*xvg~=SxkF^Ns60Lv!&zzFF*m~LAZ=j@27?A1%!nFBB8i{8bP zIy*U5raAQGse8@BX8zDsnI@TDU_~(U3(4l@PQ(jyTi#YNqib&G-8 zl0H`q1EmVwjf?!t9e}~N=>uWnEXD9-kxA;3GL6JhahMdB))LhxPG*=AZ82!R*bLkO zmhkDHa-=A5omQ@pfE0V>mu)MxHm@z@dRbbxH}0J|%W}kVBf}9og!!o^gK@>*#9Sn?W1v_^ z>HG1Mfi$63=A4BboTu72!N{^|d%Xa@)wgI{hXE5-rB`X20i{=qbMtt0GobKfp+**P zeS+SIDLH*GoH^_XrQwKrWt3M`YJaHwJkud;pybX2jq*?27tg64*yhoc^{|UZZ%|IM zh5q>Y>xV#1O0lKY>jVeWcMUI7Xi(}s7voFpU4_`&%q|;|7O$5?~4C`9nx*YbqaRzo|uNUsFT}mH?38=c@BPn@9@6ZN^bFvl2z^?^& zDgQYvY-1aWDxxk7Q-XO<#}N&@6Y5bD9HHs@RT@SWma-w*IH9NQnT7bENy5JQC(Ev; zBQ6oqHbt*hsrGe&t||HOhPyi4FXM)X_F9KRt=3M)kzapuSh3fn9kt!(etY<$s!>lX zA1f!PtdZ!EbFCQD_MC6xK*aXZOw;_E#)imuNj6RXyO(}hf7zuIOLegSwl;yy`F=~j zrS~vGImp;JJoQh>VdKQK@Do~HnQ6pl;fn&*J?E$Hk{d5`rp6im&LVG~o_yh)&$;0sB4=^kM9R>wF zVgS^~9Xb=9L9t#bT>Qdzw|rESB|Nr$@N@MSZi#&OeQG_qqj{S+;_;v`{Fem_Jk?X` z#5qAe@*34%m7ZErV8CyTJF$Zu=gY3)lHfeOI@3UMHaH{|-YD!SlCp@jUoUmhye`{m zh(b28t@ze)EthoPnaY%iRD7svRbk$Z)5uExo3Sik_-)D=6Iu9+A|~kFy6mpm!%U&j z{uX6EU*7(8xB6VKd!|!Lv-B!0k!*b38E?=l5lF{+30i6;4NlW#%xBxToMQ#jrl-6W z54bMH4L;P-u+i3Y@pcy1d`5TD3^LEb!lvevmX$0p+gqvs8xBASB)B)>h?X&8jA|wx zA(2A#%p*Me!BQA6&a8(2O|cV7qSzq-h#mY>KoMU6OU6L{j*u%RSBnspX5IS5re((I z<0q?;5xZBSPlSZ^4vfMm)Ze!M{iFSuNY0ixI9ns$|P@aGO{M%mr$tUuz8yLnxau;OamWjm0PZLZ=$+jHQ?eYsxgvvJL1 zcgY6Z#z90`)YYYAE%je7Vq)crxz;F9 z-l^w5R~n<0zs~0O$T)k4uxRp=z-}kZeWu_>x}TC31^YT}W4`ZxHxBwKbR$(Sggn1G zLe{$`lM9CN-!|KoqbHDdtedJgKkEJZKMs+}n^z)KYo4K(W1nf->u>q|cIUvb;zguH z$0RYzSPm&f+^l4jx))|q-w_i6q>qQbhgBzDmx?oYPmRxe&k+`MK%^!0prp~gFGi|N zY)|xyU7MWltJ6mjGr}OT=U8H8L_B;XQ4hVnzFBIU3vea(xus~LKpmM&XW7b*9v|tnx%A1lDjw;x}F``w8ciD{Rm)DzAtls z2j4($)nsw3xtzktt9Sg}$_cVRIIkJEoP$^>#WNb)EeWd2r>5|IOP}0p%FY^JNbi`E z$>R9)*|MI_?vU7j=%`E~Q~U8j)r-4M%h)CCk+rcYqUr4r{#LJs5JjU&n4OzD`NpPA zJHzen`TvaV+4RDJY-Tr^Qmx@(%C_f!1^lS7JguX9g09u_2S4S5H(|ub03fqOkH!Lk z6bIBz`q&pF2m4qA zA1)bkhP#N*b7jHL;XpAn&rCIsn20;LF_aJ;o?~nADRmODJdrvXe~3baQ4<;z2!!96 z@N&sXv;_sDuOtII=sV=eh!?>FG#PmQti63D5>d~P2cF!0qB_D3t0CbO;sLxvG~BXH z81Ra#C+|W`BQT(Gjj$RGbSM-jOQZ|kg$6lT{S#xmj;DQlqt`fu1iblKzBp(Hkdh{&5U^naAYuy%!!y(Xk$5gHAQqGF z1vd#l4pTvr!_cGP18f6Iv_loCD6#y>IbLuxfqfG#CX+jRChpAto;nNpw|fol$P0ac z%@ib+3qDD{4R9z2`NepE8HqtlwlQf?1H71CL@^Z5#Au3wA^48@O&RDpwkl4|n<9A^ zb(Js_q02xNftaFT`4C*GQ8Fd=g0V2~Yr+`m6XrbS!1pj*cbhQg1rM*J6YGuxyZY8{ zd6F@5`-_5K$3vwDPS36cwfQ;ptX!sF49IGqj4~c>PC3~5y&iO*`*Ob0!ns+DR~0aEZCY-5$lo zwNB_@h#|0nX;2Yl9Nz><*c0(CcrT_fJPSz)MhkG} zdvu4z-{g!(wyWs(fzF1?%K8Jfn?-N$I12@=o7TM1+bOhrpL_L@o8_$%A9;>POP2n` zsav3Of4quhmFQ(M`9K~dl}piw@sN+Q$QwpJWb%jqGt>FM+a~<)|2qIwDgppZg;`3= zO|?`(97Z7{!Ay1Fuq1qu;AT4bkiU9e+QZf&S8_>i3?`+K#)#)dcQwZjJf&@iul?R> zau*l3r-zF7Sb(}qStAwt zA?3zwgea&H8`BLhU8}dfYMh)weKLqs=ia8YqD9 z1P8%aPymmZ07B5%8aJVNVjGR7hBtVqWN0)>NMVDP(fGBWUP3F^dkIf2Cc{&6%%7%y zJ`i8ECkxlSzmcbIS%#gL4sm`NGU#tGFUmhUXt+0h`zWdBwe3OGBkjtN+uu_7ADf$x zdT#uZTYN0vJ$Cff#PaKhH{EwulznsNl-YQ_a9BVX3fm(!1BMu(Nu;JQGm|ZghV%9G z;@4|@8Z0fmfe0m03z+G>FknNhn6XxzpHoTMVRFxt$Mp1`3?tA5=jeSxN*s-?W#wT6w5Z9jt8e@EQ-rWcr^vU%x&3{||Sx|IMHP zB1-~5F9nv>&>Gx(`ZJHJ1C^UobW*sVp(8j82ovrk8iP}XIy}%> zb+yD{3wU`K*%M+082>u*KFQ<|Mk(nl^hsIU%v=$ACcIb2d3#mzB#PgbUk>JjeTK*; z(tKr}+4APX)sf1YcEiO}_r?cPQq&ut!oLW_N(OMw$-~-iAw%RV*CRPd_LMyow5%*i z7tDnG6&V$#uCg9~dA;lX(VqNgEA@BCZO+O0`uSf+M{bWi|9+k)TmE@{q(2@ugeL(I zyf!2T%+ve{+6eFPHoEaJDG|kT>R`pNJc-JPy>tGdL?mOF6a8VB1MLjK5DLMIf*dVK z9DRlu4Lg9u16=GIx1=gQU7b4}9mwvQteRT+Q-B@OziN5p+K%so^s%~6#9+&Cw_R4s zE<_|om?w26wC+bO>Fn(9N(dzw@CSMZK`^HF}Ccje73%O+LF-1YkN zR=1m*vM(e#*xC13qv)|v6rz9wR6y53vEssr4hyy@3BDgW6QA9Q2K-*cTaXJVQT%Td zc9DgsOj;qbf{bn`nkpRNqF7_n|Fp#kE(;_-t+w`JD$3Cd)yr;p{bPgP{%ZGVXk<9p>j>i^ef9dV@7g4%uc1-ui*46Z z^>0}SzNsa7xdBsYy6%{8^h562 z+_l?xJ55$U`?$56Y&nR@+ptxA>l>B%=sS7O-*M$bXM(cCe7mFDgLS3ZXIFlzj(@hk zTVp}l`Kg<7wcj+9zo}odD$_u#4KSml0CQi%>kxz?TQU~x3koBUF*x1*9X)MV(4M|5 zz+F5WqMe{G6TwEv6T$E7BJDB?vEf)-TO6981|`74U}$)>;T1>OqBl&JhHW-l4|IJK ziux_e_Obxo8=SCpfnd}s;m+-w&Q1a=g|Y%~bk9_VT_uD2=4x3JHk-0;9tIxuJBU2X z+sybhUsvq@vj6#hV9VLf=VcEwPk%;u{P;HQVCR_Qo6C9Yy;xVrNB{ED&--FEw;cs@ zEvg+okFNT>Z;f@i%l+xatDK)ULiH`6>BYY(g_ut~fl9EWhc2}5JySzWZtx5(Z;!6u z>|^M9)(wiW?Oy%A#_R0Ymi8p;%g#Af>?o~FLIP=xA;BlOb!Fh^HZaUtgNcn4}e=;qXB=`#Y zdN?fh9tbq{Ho|y)OWU8`cvyupx0vfM+iz)jY5vncf!>g6)1fh5EGa~}?@3!V`9x#q z9M?evnf#6YARMOwp~o@eLCIC&p=!WJZ(Q}yhZKw$(9L*6EIsu48qDAb& zu&|v_75E|n4RayrLx}no;l%g+s4m$xFMXO^Xruy14BQ1$$~Wu_vv~?v%us_fc`q!+ z91Zt}6;N?f&zfJ}y^MVb%k_Orfsp;Yea8joUi+?2xS8+%@}5QFoJw@zdHudFl^T_V zKL5A!iWI1lT%9TF-k)Wd>M~VUYQ8vA9#buiAHsZ?;u%eSY#hzWwM314TlbrR(-S%x$4OqV-O)!9pv;}1qJ z_~(*2x;!wlBuWeu{x*i4P>l%*bCx7%eUoC1cqQk3&>{6s?*KEXUW#e%K9A`kBxA~Z zyfENQ3`PkL!=OpUpm44_08HTM0S4T44-bLs<{o_r-)?j$beU6FGB%dOt3bqSkU~q# zf~AL2J3Kl1#iEN8=^F%sza%I+h-c~wLL#B!Y{J0A^-ZW70k4VOpJs(sRoYET-sNG# z{TN86uwpAtE;kLRYWEo^*RLtZ+~C>N$f8tBe#Et+_9JlfTJrJ7Bb9+)`H_akg4|4~22HDGmiJ>RB&Wk%4aF~PF~sz|JDc& z&j-LSuy$z+ppo%v|7ZG8@r#`Rim@r4@l&;*;o$^jr!dg;flQ8lLp}l5ufZfxteAEd(U7iER1Hmj8Ic|AYTHfyby}~J^mfgp}A>^Oku*dm_ zE~kQ~W2cJh#)u^HtyKJwWPA<33|)~FRhXpVH|hA$qswHesr#647R&;RBnveLuPKQv zkmhQUMEXmXR7q|yy(H^B98rKG#c7e^R1^dlBeWZ**{6P|XKaB%gxJMLWMCtfh=Auc zkA#!dNN{E%M3KQ>861fFX;!KIKNVf3&hhPBGdoYGIFiS$W0v<{a zVdceRnXNgXNI_~qO)=DkH@pCAD~J(bk_ZmPZjn{VzsWQIT5K;cR#n}rs+?`d<2cKG z${wi+H9w_kw2|^Y~zz)S0!rlUx#<7 z;Fb0Te#mJ!nyH)tuTKPD#iOdy05HG#=)o$I_mhuQS>(B5yeB-ijC$cI4g>c94KG~N z=@GsV;~Q-}Wl+46EyRMRAr2!5TcTq)!j!{sbleCkKOWWvZ*53!31wvRQ<9gda{;G0 zU04_rA@hl&4X^v@dt$JtD9Ibtvq2!aNRpA=9cn>g2;KJU&4})>9K~<`g8iT5bVKo9 z7-M)T*G>n-UAsHfY2pegB85YH4{4Jo7&5qaMg(KbttI-{P(_=Pa8|zlc2>TKN)HJ= z8r5^l;vuQwmEs0E3W3*4G6Z98WC$*03+e@!1`erT6Z~zi&lFzpJvF>tjBCh~Z>34> zQYNidlc@bA9ZZJcP=IZg;PsloCff`_9r@H$dwsB>xWN-iRWdoQqK`c!uH%1QIt3WD z5doCKLKX^zQ$*1gfYp+{m<#x23=Jd#V~a1w828Xg5B{9SIMawrTJ$Dk60mLH^W~uL zdlrTh&yRtE&J&a*ZX~bWj-z!%bZsnDjRZ`e%tHUu-LZMg7wGMD<=dpp$H zw2EEmxG1pld9t6bFV<>LHdz0U`QLw_pdM`%rq`zmim|2s%*x&}1XvUwBTP1a_UMQg z=zWYOUUPmjJ38<=U-MB_stN!1iC2$~4`2W1RNq<1;eXt3FGI)&pb+6Hm^eewkZ=a} zOn^k%I2W&kJs5eqh2-hp8<8m+x!XPU?%PN_9gSswvLxu*O$41u;sEaz92zGKErS;D zQEEckNpE0c;SU(sAWD2*S{SMF?KVl)eoF}`=j-T#s+A?EC|{Ib)8OM__)O4KzMdyq zh$4|6wbA3C_0!hbzw3Aoo%(6WZS6!H(nIIsXI3TPv70q`bJ2@(m#`xsJVI1JAh zv>B>0nkTuwe}>HHjWIN0=tuGt;7qnE){BgOVcsJ~#Iw&EB=bQyp?d3X`!J1W>G$ar zJl?G$;MLI(?aZ`z0Ifvo|N;o$=iqJx4zoQ;nTQ_$8E zueN1beY;pW_*^SkCm;O%?#BA#-1*0BTmRArBf5+PKQ)76(d`z&1Np#X0j2~yDwE~v z9vv}Wk-sz;{i|XfvWb<0{(pbf8lPDjm>8VDmqtFp!3BE&AUg-jhZ>P`>*4L~`yb@J zcTiJp_%?V_2_f_r5FxbCF_0idz)+=x-W4JAA|fCnRT4rk(yM~>qNsok3mSUwV!=ii z6_6$ZQa11J`*vsc|DD;H-NT#{<`9^39+ErHbKO^|E%QbTV$6!NL6?PDJ+}mUyu{GD zl-(k}nX7^X=EB?Pp#CH(IMr0*g8O(K_{crIzuzt6rR=2#(3GicEv4@Y`yphh8*&hR zzlKlO4LTBMd-pa&r582|Rs}*Nx0~zMgbUgWaRX~k-+E;aYLAYCpS(IVeErYfXW?gN z&%~-9vl&R{A^E@Fwy#2l-Ywas&nARnSKmv{O5r@O4XKcZQf=}3e2^wOGeDwa8CB~n zNR#2_NTE+bw%bFwKXg{0N#E8UeI7o~mEH~qS<-!gt{KFzWa%jalK9N-28K=f& zun2pSht`AACs+0_|M_v{@aXtm*{%K6gX<1sqr-qfj{#+cLE#XZ3 zE@LIpIM0wD1naOckvqIa1fu|6He39uya^HB`o!rE7phwZQ)I3`jq-EcjQSGw^V^?q zKi+-&7xU)6R@nBZ-7m3vvH1V%lkxvK*4_Un{}LYn*xd!8P!jD-8R9}yP!w|oC&LS$ zmOgxO1!XyQgCr4Toz8)gG-t&OLCu6(dniK^(&2X2O19FDD}GlWSk0j48+wta4-~x% z_KhDt4**}ZP^2slbbW2*X|4|gO46qCJM0n;+NTz%2Vu@g8SL}juXJ;1x(%p;$M0px z7iZP|dc!Y=AHS>Y`TU&v)35?S?pycw-y^0_;j~gYyJv1fR4{p3mZV<^$d; zMz$<>iY-Ch#({w^W^lhT>lgUo-&uE+-K_>@ggJj(+ z|0GU0l^-zDWjk>=k@mxyh|$66N$>LsK;t{V8_#VNZPe<@L*|3N^sRo?pFy8Ko1XNj zc=)^Z$nlTKD>_;W{_QA01u9n zc!m+;LdJOzskkWcdEBkuBRmmyodAmECL9@AD!IoE<8nI0aOxmA96$Xgj)xMgwvj$A zE`b?+1g7GuNbVs!4Q?uc5uwT3xAkR5g^==E3z$B&BqShr$LVRwM~5imK*i`u(v6R{ z$_M5zuXqxsFniJJcxxG{*k2QB%z&k}5JR?%;Y}y#3vwodagm!5zfKcy_8-xqANHvo zDi@6jU&hjeKVLq4b)`Vr{ij%D_AyT_Tl(LKGM6_ZS3OoW%0j8R=MlH{HXe3rdPrkX zlYkn-kt`apVMNU7L0Uz&z~mD&=G&6FoMii4HJ_xdb9pfyJP6z*lQUZH-LclQ8D-{N z8Wl8*3P1xF@S;dXL?0r^Xc;m7NR9{U=n3wwG77RG0vcDI>X+(X@^H#bydt!6Fj=|! z_^&R)YfV!ufjAQd*kCOhy9TA>2feeqts5Rmq*TFby$U=c3oi`jFE4(}i%I|dB*ZoN z#gWUaH~%!Y7IR*FzWb)&_?I}7L*Uhye>IQGKD}RI#MvNCw%Q-+?5I-1vgN=CIydMx z-5Rt^mxMUCH^J!b8t_*=F~aF12b|kK4bOy+tq8wuzs1o?cLmAQ8z3`uHz1wil{=)y zJV6wI66KS11pfF0si!&9pe93hAcQi;`#FdUgs`%f{0UBDgUXxC5OHqL+Tv7dp+73` z<)tXlZ6Wf$%OgKeXI8pdKX}Tkc-d>HwljUGaul!THFh#7W!`rR)AMAgZZYu+o4_pB zTmqRquYr3Nlu{o2kiV<8S47i&(q{CNRFU#kllASVNv5AWQ)QJx zu7-X2Tk_(kcU8l~h=hreQ#5YrQ@EacG=8Pg{snc5qXq@LYsYqGc4rS`-`W}E|2Ga6 zz*{;y*s+}*wB5oz-Rw%AANWL7YqIEUsE2>%=4N#M}jv5c;NxB#uVLS|#BV#dtE3z^iCSz=D_Yo$V6*wJC>&?(5+h#G_AhKOS*T_) z%-BSzm1`>d0OXnS=Z-g)!0}yEyNj_?Hg*=ru77x~yo~ID9~3oUmdxq_Y6a&a(@*4b zpf2XJnoC?&+C4{0Rv3c_EimIb7Zf@XO&m0cFN0wG0ph_(+T;c=!*fB^(0Ncff=JK; z94rNSfXkt}H z7DSO}`*e9?`PG@TS~wC8Vnqh%*786tIfObu4gn3g{X%iM>B0~`A52Yxd@~DfEY50r zze!W}v`av`=`x;YMr|QGQwikOxEV445Xn)DU6IiaZju1y^pgXv9R;N2;SB;%J5kOe zbRQpFS%3y2df*($NH+1VK8K3K%+3dqz+WJ8=;w0dOg?(+?P$ z(myI2BpK;_)(G%CGSVcvsnt4Ic z<<%5sgBrMgGFOo6S{+kJ^|An;_A0%WZLMlW*10;kJyP`Zr68;!E~xKo$FPs?*1_%=cmO~)gp zCqpPv)SIhsxd%+u${aIBL%p03Mlu2)a4qKVp~c~~Jju#$F=nI1u1fpt)4~25<0aozl zQxo+FTi_|^+n|7fUL2_n%;-f zUw_3yZoRAiKgT}Og16bs!r0VZj;js(zfb;qC-)`C=3=bGWASsS#);)e4+Y$RxC-lza24r_zCoX%K+sWh zBIw7J8R%@r?}*MA6st%I&vptz_ilaeezSQsj9o8j+Q!am(vruL{<%jtqvlPEhu82U zHzW;V#4XX4tCTUx)?cMC2$3iGojS-G?Bp1lmmbt14=WS8v);CsuLxlnO%DLV&6VJ~ zr@BWgm!_M$`#yDVHTRh5b1%Mbk7UcRv&e+cg z4yUk6GQ5BOXWO@jPzVqGHoXfb#}E_)O#Wts>i_=Hn-;riihbV8!t4F~SB)<=*Z_i#nfC9`^ZP|ljWA!ppAFfa~m1huSPeq9>(^GC^{Ys zsb{N2s9}~6ILsn>r~n9sUxWO5%l?q4-G&({A1RN~fJO#+;k=}kvy{s?gQ=}o5zlA5 z2C0RLaK~rI>*Q8_#xc2349Y-TA;+}f*}U1jcFNh~T^t(<#JJi{Ss_ie*iObodzM3% z2z!nI&;n!wG!i2K2g39LW{NL(kAebIsThum1b>(lr3BiahSdl4-3TbAxvN$-$S=1?wOw_vWTU^04S@AFm3|oMxR~!tBX6bSCAf$$o zry(n3_c(Vlqix`ObtyXDcflLXN2a#NlZon)Ru~0an_({Qy%rh&W#_R^>M_C}MCYhZ z9zpe+FESq}Zr|iuIakf@c|v!ub=AS##xD2lhU$n2Z+>vAZp{NbV{YD*M3$&=gE+s` zqG`fnTHc~^&9#A;K}Evn#}5?_B?n{k6$T=oO}#!Y)tg+l`~QhkJiy=;Uls)bID=dQ z81aCJL?{*{&5;PkU>TIZA$++M$+De^6s*r@0fxLv_W){1qL!p|PK-RmOJ0CoJl6#w z)Ge89=VdAOC@f^A+nBW0bnS6XM|(E2xe-mi&}uWW1w4#J99>Z$ipS z89W|Ko5O)C)_1{rNENHEs)uhf{;Px+ZZJ^)Ux!Kes^0&Caxneb@?l1kxj8;S<>nqD$>yFm-C|5CDlw_F8GMYRgLB5H)jtV?TImQ1b3O>}X4~*XSK6g-t0aItx z6-WMYR)%nTwbNJ5IpxT>iP)5K8(LJ};HcwRb;b&?Otrm9shZX<09%d=fDTy^eJ7YW zPpdLdHwCFYDX30iQ?Tsb$zA$U?Xzb0j#$U#D-#Na1 z{Ex`?S)W;lA`J9XEJ4AP9B?re1+}8SW-^XnVA096Mm^7*6SB(q!_Rs2hxvI%pY%rD zO;k!853?v$82a(;tB~2^c)Db=^Lc(>9^wmxtdr`+iyEdt6;X#>OvhTrrsKiMb59PU zYh4XHjgE~)n79r#UH;8IpOP?Nu+CmcePE|}5=vkqG=Suf<>9{)TOPnLI7Du2Io>j>N zjfK0fiT2Uc_4Fkb$LDI^n#DhG#Rnu9m#beW6w0={#S)yQ#@A4_B2b~~i?#glZMVR| z-*5cB@r@i;C7C<7E7?KeH!$WByj*KiF9Z#C2XryB^IdphhcLF-m$gowF5Y|Am;U{` zxppGpj??e?J*TK8_o_dsZ$lrnIS7AwYk@a-ZEFtJBz&e#NjEQ_FZZq&`i~_Drei>0 z#*MKMu?!n0JDeD?ixFM#fqSawtu)x_seFcfQ;TBUpcJkfgu6|R!l}|9;{<>^8jAog z$#=@c!$Lr(vwXbaq-hSD`Ux`YNw?`+>8pdeWdc|@r8j@TFH7HCl}#se%IMz}bl}53 zePZ&zpBb|p{hiczd12zHnNR`&L6~$ZiXn(tBUzeG-^X^vHK{FeFKTv#=>wiOXVr_} ze`1;U+1e+$`d`|}IGhGuH0o`U8QvsTtSC5 ztu`NXkLOP+4L#gEdnf6_`-mS8J3-~3EDS)I5gCHf#na)I(j3G^-<~+- z*(1GxcsZ%yLkI`^w5@t#OClp zrq_|H)W0KR*S)1%!~b@_b#1*aF#cxrZ}?zq&oTPV-a%O`VYC12k<**w;l(>g|K2bF zQ2{VuOGZ%w$taL5Svby|+yQ#!#!T7qR7G~UKg?qDpit&wN_)56f2QuZ!JrH)M;ew9 z_6`k_#oq8He>Z$8=3bE)mg;T@aIbTHn5{^TPiRjUk_H^b0Yyuke3xOGI4d|V9_Zl# z(~KTCLJYi~4vNY8PNH*-74eCKw#M-<6yrjoLW33wP0@ba5q?xLP7Y-b_!zj3Ti-y- zFhh{1U#DCxh2UBheEc=7O6PL|I50%w-)f%{_@e5K9G+vy3)kO2u$gTmYlkOXo4=+I z%2FgQerr2aX1jBEsCe|fHuw0)%j179t{hh`PcfPxP#g$=@qrFJ0S|~gmmZKV!j05d zy2`!_u@R$d>;Axv&6!@zbBwo>dvg<7%$n;#B$zk&!(U&iwpjsQ(nn(d5bOd)N&|8;VhYz&*NFMnTt94S}y1rbf0qW6XTLKqGsh; z$8a(-%mgvAcVDF?>Oemj1Imi^)}qsdXB^GJH>IQC>i#k!d9`M(Ro_yd$aTO$n-5);NUpAI%n z7ozYZ{mMRV1%W#eXqSlM>fEZ#8gb3no}a$S^QwWhwkq2XX z@tlrnq7M|^JkSV(8Z`;1bX<}FOz`S*BwUTmUPSqY@GG; zHIJueYO%j&G#kkUz8j4GJkfgMKtE*hwW3Vzi2xz8NzAF-E6|f z!D}Cj=!a6JCy#IZ+c_=D2@pmGD4cM{J4BxGZn2=0k>7$&yO|}$yH~Lukgve+`UUdD zk>5k&BR%Ul94|{O4V3%&5*P7T3~`-$?40;G8-_J0j#!)r6uHgN1#YB5QACt34|%q~ z{jf;UCd+Loy+-k+-U}Th8jZs5pQ4LvG+5~X}Q+I zsX%&o?(9_KWo5kCKbF7s?hOmMvYxJ%!}yP0r8kZ5yeaV_OpMfC`*Ht@zwo!M7akXU zChz?cEQ|^WzQ5Dve}3cM@3ct&vinc>3Ig|C311mO%`20CUq?7f<@mIiY5ta4u|7Jw z9?O{D9RGXx&-K#rUwtC?gHC`1ng`IZDu7{Bi$)qE#|YkF-{(D+cQ5q_sp)$+i>7+B zm+J#F?^38B93Rn%VPM710N?Z&%@?Q^OL`x%ChIhJb$a_t1?gnH6H4v0TS$0(f$d8# zGQXAdHkjqKw=OPIqxc@#8F{IkdR}l|{nDkHKfXghA<0&KA}P^YoHZ%NHCN7%)87xM zD4p+|oBmXmPB%Bo{+1=K3xKMb)dh_?)%$GB7L3&eRn<@AM&geIZdFG=YfJDh?wlN; zp9!sK9kt1mJYDtOdc7|^zwq&wajDO1LRUX0j4nq_ibk62=9X=UjwFD7yjx2q|&~_vCA!(hWPO?8LxYP1$EQB=YX*n;SIh3Yf-T`GzN9Y7W zA%^xk`rM~DK6Wc%Q8wIaF$%}Be#&d{>Yqm`x;ilZp zl%{f!9jVd4)6y&QiG-JpWuh| zfnS))n69Dhq%ywCXx{M&OS#@nA^lPR50NUr#=Uj7eXMRi^z3GaiTxRSkbR`VywWq! zF*HAxha~M7q|K(+zQlSY@RS=@OUviI9}v2V8X5_`<()z6~dn3mRw+mbzsJJWVOGq;BVTBFpqrKL$bVW$!asx97XmR>yd z2`8jY7ixq$@%aBK3hU|b`~6;VPkRJyuBukWk^)aUtoYCfUVoR@S) z8Tn|!T9L{*<8sb`f(7S-)q9zLS1iI09-({m~mBc^ngC7r;p*_u-Sk2spk@iyjtu36_`^U99$ zpTh#S9wQ$^-j=d|sV#)8bv@;^)h&yNJKDs}3(EV^+tY>3Yd1eTSi7ynn7bJ)1{Ai{ zm_6&PZ`gVNJl}eFNa>z(-AAj$xxZW9F& zH*yG(JXpB8yoTkb{mM?q%Dk_**U{R=Cof+*a3^@2XB}Vvb?>Cy)Y^3EnXq>*)A^~r zfnQ!aJbB@8Z}h>Nz2ePBx1aso+kfzgt?;S#%FA~S$2EV-+G?JB!ADJn(Y|b4R;*Zi z_C%#|ayo7Q5FWF(G%Q->3?hR$e5ow3Q+>%4J0&Wi z$#~zz7E%x$kK|Klcnb5Z%P)h%+pxO&A1(`wVxf*RNVL|wRW!Bsmpc5!p)Jz;Z@(DrZVd36+F zvh8>rFR=ZP{DvkN9mNrG$G`;!ycvN%p_+Y>EIDe=1a20c4A>kLz_9mse@YT9D zX7JnJEnZ3iE5M-!egvQ)RX`U&gD{MFzyX|{kUn`2edtSZK~k89Vjo*4JDsZv3UE&LRU%p}S@!+*nMoQhK0`J#{d(DJ&yxEy=|N1SMCaS)^ zi5xz&7hPuY_3!t>Y$d7eJ0m3}vBzbelgBbu%2)nAL`SDIh?stjkSH;ZlzO!(Ci#0` z*1gH~fPU@2nZjYbL$UX3{B%?>IN&`c_DTTe@b)zOPI~9E@)v=_C%aG~`ZcIf`!0~x zX$Y$BkQII0`-wezL|dkDTtp1Ib?IvSq^f{ryR#ss1I^;tevwnZ*WUBtS1qMtJd%en zt|G5nD}(m_!-T!cg}s`Dy_y3Ts!MQd&jGbNhWMysm`=?IgwR6Ah)xK?GNQ01(E z8yDTHS|@=r$Ped-$UCB%$;ylE2_2HR#m>W>U!fT%f>MG~$f=g@=A6cG$>VjmK+aQ+ zxHlb=GaUzFg~vP5=)!x94@5+Dw3ytkzQYkGe}~w&c!QaCPqA(?ZjTI^1lA#)kY#3W zrdO;qNU|`5H{G23WU4lvImHFSpFV>39GHixp=>s_ z)QfXBwNB?w=8UMTgmg4#_7~62mOU1jHzuo%vYUIZkFv8?tBpd2{#1`z5PJX{yfRu| zfJ#a;hoO~d%FPs|>|zu(o!$fU!06Bf1QbNcFk=T_()xMyJ0XYH0#04yzMQ)kUcLdTQihz-S8=&Ss%=4ICH zEA?fp=_s8_0iwCSyP9#)PqJ{OVWPLUd*V$i0TXnPcMC$oC>8zQ0K6+M&ugzs!-M<8 zTu}zegF7V zXr*58R9b~XFI3LkQY;nLoDAIdWsna8%{4&*dGsK#DG*LR&&lw6cJw6=!P)gHZ&({8 z;>*k2KCsNw!-ND4SulZQX{N>gv+1x8h^&b63Jme%m;up-kvQyVna5&Uo2abTCo6`5 zVd)hzZhrPoVR;ouJvau{R?j2LbNTjbqg75~wKmZ&%+5;SPB7(jqHocust3!jFp zMoPY~av3v)jSSV^D7hP=GPmd0H#0hy2^ZQAM|@TMThtxdYA7ceqOmQYkDUg?$ZoNs z`NhGFnv=3)mf~87(W+^ggn7{>4i6rbdkFm|T+r9x+zp09*pbhB(dXY2sO|en@GK+2 zM&s{FMZ#a~1BuV?FvIy-1h(^h=*{Ii-ebg)8cVNoE3&t}vYexU{JtYggrj4lqFad0 z9b<160Y11lUZ7~mlU(i;M>UB1=;Ygklt)o@ugXJ*B)D){q~`{MFlMSQ!_=o8B(_jQ z!m@UNY$-Ar0WoqnC?8es#UMJM%7dt_dWk&dZ~)K;lo-1{0tet=WIBfN#gQx|#uRT5 zuJ3wG17gT@ksU^Xm|>h2<^(f3NDR9eG?)`?58Wdp+2tUp4lVfSb|prUltZrcPD9ZH zf4!IAW>y>wKDt8hNrr`X$gxLvLy#*yQc$7JZ=kmwFA?>Pa#ipwX=}P}Et~^e%Uq64 zWUfaW!a301a5SNoxgJ|vplIph-qEAD@8|yA!PZgobYjkns=E>zm3l~JIRD;1N}e=6qsDPU~mAK4$1HfvI_2c(6zW)n-{Eq@mEcSfs$JBq# zbmtMQg^23AY%POP_8^hEdPXpsrL_q?M0#r^WaFIZ9Dg<4xM1vF~ z8fd9$qUfTMQkgMl2}Le`=IbOV2A4m8;+A73k(-c{Bww5&7)RAlD3RKKb#yk@?daT@ zvlbni;pzGcA1nPb2_0O&@7SD7ioLz7DKfHY)BpR7h{n&II{%*92dgf>cHT@M`)_F< zAMF?~l-WPmY_X6(O!_-vvg7C4FBPMiW2$`SZ_f2c*N55i z^sD-pE|gP1Fqy{9iVs9^EdWT{pM*1uu9KrBy~Pbjyv9!X7(tgjHMx4&X6(sxK&?on zCiyl;5C6zC>sT$8|Q7*8Uf~798 z$?9rV$CA(8geKL~fecdL>tQQ7?h5s9?|)D=f(y)qGha+j-mGFScw_$S*h0bUy&^s6 znu=)sw+GLqv(9ECs@6B3Hs7Tdr%@414Oq@$;8URnJ#Cy#mF<{_1P}R}|JVnLhcpK|V#1_cQtXqD*fHXW#zGzG+6w zR{D1G^IhLp-MubH&+paRh{PNpz4&?J;c>(9FS&+$4;Lw%Ncu@RhA^rOAh+u(dkDCNQ^^*kWGjbD>GrgTd8!1l zDcQ@?9Dw=MKL1&J!B;AtcF1O1*#t}f6$5>TWM7z#CZ#&4DBdA!b~-u#*Py1z??fB>rUYy_i+_1p&*Q8v}!+V=W-K+IM$N51*~!z z%FK`jR5u>)=I8-}=*q(-rlDD4VuaVroToZ{F5YWx8Ur;8lw7^K=%*b*Pz62vqKjK!!;4!O^m&a0z^x`v9GgjJS@ zF_!&qsk!nadHN7FI}>`G0qupG4b=+Vn>Rb*M4Azxa_*P5C@u|r=8If2FgU?J2OYbb%n9XpW||XtaqmI1 zblA-;am}!z`PS=fvmZP?Po7+IT*FPJ>?j%-*u|K?7b)1}c6HH0y+7}u|JBaGZtMJE z*!L~xPvaM}t_TUcPEAdT|J>g%IjY?DqVOQV<&^U{A}|levEg)1Y%!M;m6&+BO_Z)^ zQIX<;S*A*hT$5Z@!ni%wN(f%ZTZM-AX;ArL0|M}3omRYf@$&kLYzkVffs#~IA5qR! z06=MdG!$B0BRyGIIp2#sr`O<8X>9W|-BHFG|1SQyrD2*(Ma*ry>grk7>e;|cSUmDh zMO*^j06J&6qsczAU>+z8)7R6(2Rl_3)#o(bdZ(hQg2yTGdV52j;ZUTZbHQ1^d)=tX zYjxeE;U@>7`yPGhuOs63pV{$3d3T8Cc!*bKbM0CpJEt6+v;G7uX6{|T@?wFucQC4a zjPLckQ{?TGQe3!~v}6eXAD}V*@0M@dt?3IJAa>QPs7rwurOKb9s}H*n1m||f^1%`U zFg>*a>OoZ?U({8`qYaqEc@-2Y3=&lzQq6KF8S7-QHR<`2j4%Nx;(8K^gNPX7!@)?L zbY=?uBpOB`l%~&SxEFUsyp$10cH;(RR21v@Q9j)gC`vY>o27sF+`&0?P~M&hfk5(E zWNmqrKsw@Axu7_l~ z3V_pj%H@VwaS9}TOvI4sj5SJW(TkK9*NXC5Zzb`K@sXH-=pl|KW)dgn^w3Enh{OR% zuntHg3PMZkqUEo7NWGIF)4X5kdsoo)tE@1n_ayT3VCgJ9x^&jm0E(AmVhX&xB&#VD z??$a4Zec)dXL0Lei{k*Z(p@cA5Ue^#LMfR>%_7zO7$lP5HOti_rj}&`=XVpCw1Xm_ zVP)@}@-JnqznAv3gHqP9j)s&#dU3qII9SMT!(j&Pnwpg^zB?pd!I^@{<`Ur&j+DD0 zC{{OH)$M{j=GDI;p?OZ9lG$yf;I51Ov3!$r?isJz1Dr_LPBo4V(1Q@=aLfQVf_z44 zp3g&p(--HLCtec%63@%yAxJ!ly8xXB19;6Qk}~d1E;~;bFSt|5?Lu*;rW@0V*@P}E zS_6^XYD=LvB{AFT3sD55y*F%mIxL+MWn1jB97EKz;wp`0dGvxnm=ga0xgUL>N{*Gr znlx|SrpB;A`ecxA=hx%ISX}mBCwT&OzrDc%4(##EN$ArC>LPhD-||s8KzvB*G9T1`(;; zy!T1{F1!KP2jnKMkozvL~H@&%sO-x5@=l>B}x%B z69=76mni2<=dzSUF=22hMN43WpGly2OTEh8Z0Gmb_wE8@`cmJ$`g z12hsPnZpLO_l0V#wuYKYnUUKfG!$Xm^FSTP2 zRvmBqyZB#n4SPRbQZhO4-hVMNVY=;;^CR4_X6{}|{^&p3Z#$|FznRJPIAtz|=0v>O z?E4>w#+{7972j8B(;nBLX8hDx3xDDMrELp8h0f+zUq7x$uIE48tBzPQ)81?=KA0Ff zTuA3WbK{V3`NAVKqiqENvc$n4@-n)J3LlR*5=6gF*BM|bMQ_t6P4-3V)Z}CYyMHbb z{qANC71fF1=+Ufnmdk~P>+`4uhrZQtb4;P~w>hG7Oq=4-EJ^7 zr`wkPA+5_kQJu~=Y}7yT(bFGJ)Q_i_XB7)taHn#Jaw{$%*f!YOa_h_fVuOF+_k}l? zzb<_H{GOP@b7umhH`3O1=Q&bBO2a5uN;~#Br&!GF`d%+~E$hWa3Fl4oW!UGm+8jUR zzVY_wLSrUlZ7N|xo3iQqb-r56<8YJ>TWAb+EjRnZ6cWR-_qFgi$wh=E^5^+Wck9VU zU^s}(MP5f5idUF;)UxZ{FY?^Z!HRa|kz0^%ly!1AtQJHrA_Gvr5ntbbdhvk>%ZgC? zB_8Ptl38z5|EY{jFejR#^>6a}gF7{`b=wzLLvu;R_T% z=f9RXv&Xr%tA>hjFS}0uIo{pM_vL9gZv-r#FRF!+^V|$YYq`n=-L^%0PbB7$oA|v^ zm@;w`*nn&j6MwPuBc7A+RM1yQAhiz)H}6B$IC3g2i+Z`!8j~-h?BhBH${KHN-w4c% z7tokj-(tP*^!@7PZ5H_gI*(SKrFxUR$yQbs`haa9XT z@TOIC`FwM)8ddkG%#EL`Dpe%K^qS{#-!9*6bY5?6c8sPxYQ5MfrX6aC(TLt_KQG?a zmHB<-XscdGZg$g9*tjmMoL$5yr+bn`T14Ceve5TsL{t0LL{#I(`f`fWDSksC_G(g5 zD-d4X5t;*`&!7~uN=0!v;Wh1BFbV*Ga~RI)Y!pK>3niKr97@jxrMI7jQrbUqI8J%7 zJZ?V=BG7k$AvzX#%LDQ^zC(aFwUVolYCUBNmCg+qfEy?X9;_~u*QJoIMG;r$3Tr!W zj@+s`9e7vv^L>>cCk%^kju50z2j;ByUp(Q*WHD^5eY3HSp7Bkv#@qd2chf0 z>BN78#)HgV$w*BIBXXK$^c*GDI8a1qX^q`Wp|eNxD`-`V+}STiazY0g&B_uZjZ+MA zxT+=eMb;t%?Ab4~rZjo9_Hq{7^9;LYbVU90qiW`r|@D-t{bPAk#M=Ori zkC!_|n<>$PO#Ja#)+x-M4Q}qkJYoMHZZs>74~r7ZcOaRobJfOHa_$>F8V)HD+ta`D zGVk|MX+7VGtNy8@0@uscPHL`Su#|{q)5w;V&mMaGH8$&Xwlb5%MyS~Jq=eiMRi+&N z5U3~+qk4MIe9kghVplprTod{=Q~-V!^1+QAk$d~BYK0kS9Zj7PJ!OQ3b3n)gI6JlS z*XDZq7m-k-ll|)&=?KjA1&q>6xLVLLnCpk+*!8-xO2h4uzv@!rA->%DIWdR$`(QR3 zNk0hSMB!jX%g~t9DQZPKu;&Rv_}hK2+No&!+gr7FWwLRo5Q*ykdj^T&lsu%NowNk1 zut9D1C7Zlsbmr1CGlM@yRf$8vO3#}OFOcmkG2-hx%6?D75PpU)G~L{NVwJHsibyry zC1RHk9$~%m7mPj4u%0D1_PFKVPvUV;v~yxVI^MDPc)rL*+emVul>5xLGhNj!;iEN* zH^i0;rVEkXt|=9E-3U#|24^y__Y+|1-d0QU}i!2e@%ia#+;@ zdi8RvNJY7JRv072{A6o0p1xNPthDVa=&>i6`a)rXxB10WtWWDyu1?z6SRFMw+?$?S zd?H+_{l5GDy~pX`XgOLUq53xAn+j^v11M`P$*HZKd-r4dF!;M~=^&-`lilDPtPA8Bz59E$K_$ z)(gLj{9RhC`6kuY1rKd6jpilpb*pLTbfm9)UQlikPk(tT&CR}C3m4Eh_&(C31jhG{EoU~Qio19 z?p>wsnJ1B4?_#c9anK+=DY}doU6F}b5lZuOu@#hkcJFsSQo?gWw$_g@Ws!T|pv1BUiMp&erNY;)Woa|8`qxFyf_Zer#LW zRyW_c?(To9hnOgV%amA3 zcrigeALmf9QE^bh^C|EjcZvS@&{a}&!>!vn13k~U=uup}brFFr zFBQ%|SzCLEwG%N6@1R-;9qKm1rUS;3mrZ-3Q_ILiUO3ECP++i1G)pGWkyvrn z)@ffa?Dm297A~Oq*GTnZPwPKb-=SK_(|!3rJL@e83qKz&zZKf;^9YKnxqP=WGS6Ff zj0@pUvUT}vZX7@F&)YS-d_H!y=Muftu?I8V}R zL42Yt(b*y|pZD|I4@E-Kc&^omi5RU@172S3<6O#{oUF=KdQcTf?=G5WWJ%BYgm-OI zF0UFD+DJz8Fwba{3S(TG^-U9|yPX8Dw+%ltbZ_LtBqUDh-fB?B_2PP`>Lpyx0x-0_ zB&(-MBP%cuB3s~eSoC0HK}rJft-|0#+;4Cd5+jOJ0Ej`@hYM>b#Tp*vO$OaLeT|)? z>YL{ua&u<*obm_dUrSSO7cImW>^BPszuA5_H_$v{J9%i7uzaL;chQTRZveiz9OOd4Z`H$x>_PyRq`85G&AfpWEqDJn05b6# z*)E40`>!uvlsY-mcbM_x>*X`iA7Y!&+RJJr|5xiRryQP|4(!0P*g`$JSP$c$ev%ECps;pd8CTL$gPt1sQ}&Z=(| z*gWUk9`x5FYM$p5?TP1N=)2g46YxrwJ$<#0zBe{ZtJKWPj_6fHF6{o*HI}`2$xSUd zUUklii`&;Q4j6_xN!Rk^wE!{1?X2~JG_LW*OLnq`p&xb%Ue{%3FpFy&)o+4x%Jqk{ z7Je>@W#{BCg$i0Nvz*zwuwflJ&I|J{Ot zj%ua+g7QYk$M>OD_{Y|T*^g>L9BdvK4o^!L8RD%oTxg_JkunP!!BuWNE)B_f@-MDr zt2F)qqJATFfyEdvS75VfW~wgiZGPKd(g{bC$r`d}y)^U(vE0~kV)?zmy~~IXWj`f7 zAB$JZbFWowrxmb=cQZY?bdHzv;ST%XVny$>g+=FX!hQnS0Y6U3L#Nr^dUq(|ZeVf@1`Phequr&!K;D zaj23jW0mq;ts7{g7m-*0e7?uJr*(c{;Bb8O!jmuWo=wG^kSu-i;D^aGHxmrz`^I)f zKq4GT?$Y7#CYVQZEq(8tcFO|d>Dweg-U?6{SGeOdeqCKEv=({)zVC79gU~rgGuqFj zT=kHAg|Hspj?2o$sw4Tie{dwuk+(*Vf7FI)M%Kn~UJjTG`ZkvrkT~Y?>|MT*Y4EdjmqWHjPHr zs7(0h1N?MLF23|+lrW{bqtAQToHmBhHl`L!Tc_~2z}Qbh>i-Y+-ZHF>sBIUWB)B`l z-6;fjcXwzhh2T~wP^5TpZ}H;pt`$m4aCc~d(gH0GEe-_=IqCcD>-%wj?VsO1XU~<% zm8_X$)_P{GXV!Y;z6)7uYV`*nTh9L7v)UV!|CCpzR@i2N|At4OGrOH5LH$RJ*hfiP z-RKip7FElZB!OT3ogRY`U&;BZhCO+|V2y-o7w^9vd&4z7RmB0Rh7ve}@%&|`M)$55H2vofWN^{i3LhS})T=U!p4ouqM=^;wp1I$kMLk4Dc2 zUAk|6Om#AT|Qf(&OAu1wL z=j3kd`cElb6E2AbNhgH`34x9@Y@MgYi$^#2iCWL1cDoBFzqEPCjaR^)d}Y^aoUX`NTamoy|7ImFyMwAPp| zt*Rr*my=H0qQHC(T9AS9jMTVyT`-wU; z(b|Pyf~LE6H)NHtZDzd`Z4Q&DbDo3e$%g{Dw98B%og9>t@<@=Y!EeO69TNNb+&U{G zq>Jr!B&e@iXS6?;S9Ye5AnTu-w+J(8mS32nu=f=7KDh7n`F+_Rc3ZrB(>z|y>rB(-UHo z58<;JF%{USXu#cvxj1x>tln&FT*t@bktarX4nBvA!&?p+iC!kK)%9sv{ng==_NJXL zkq?OsQdNBs-}2tuLu%s&I!UuUM;dt!HNZZd9bom}rP;Dl)TyWoeB$AvZ!Qg!@Y9OO#HXgG?+ba)Ge4*{>}E`i z@soVSO2o>{Qk0%i+MMh)r@VD+PJohX3~OMzREDU!rl#g|PEAd6Ze?knOcUXlr$i>k z6+Y=DNH5VBS+H(Kq3$6mHKfo29S#^u=jbsLOI+qG#Hm`R&rhg96P`YoR{?amKd8lH!%H;X_mBqQ}nf_QQ^*#q_h%j^|NyO``uqEzt zg{}@e$D_p^(4{WrFZ&Zw>(_aPuRS~*ZnNv}Dqj>mNSucg#M|2KdUwQ;M@t0~kve5K z670Rnj(MSuFY>EaTt9CmiB-S*Aj7FztJ>+bTOrTXp*x4%{-9JVPVJle(LL=8m)K$y zp=}v$Zh7jG>$k{jC~tk-UiBK0z`uY7=gq)W2v|3zUXQk%+|I_ zT4>GQ;M>ZZGB3Hbo_a`uH$!XMhzh5gIU7_ofTksqS8DGONR9q@|1gJ#$Ud{XK6771 zk42jEv^?p@?mI@!pYeYrwMN$$LXq+}xEL=AD|xV-9L?!|JZUV>5Sc~%ahBAIV#^Qw z$iA=#N$Pw)SmYgtvv9jc<-DVfqvHu}Ym!%9giP)t>Vj%T*0-@{}LtX=7Z6 z8WaepnwV?TxWv~w|0#tN;&|g1?;*{e-q=Ufu)tqa3>VwmgdV$)XwfHyO&@Vs9Q*Y3 zNhjUNej9M=wXvnKt=PBja8w>f@-5@%s}@rD=k)j7^CIDiX(p&aZ)3jqFb7YOOeci8 zY&_^?TgdR{01(WWWvAh6F8A0}kiNh{hVV4=Svjd)%aHNd`o#B*r_0(O^xsI2xE10& zOr!UDRcT*9#q;B)W$(07lT+n0rvo77KxA)A!{5_+6}sl;+r(Hxqgwl>!F+Q2^{1>O zC)*?a-fq(J-Q!f1>*G_`hfe-q*ms`J(G85Ssct2ga(QlZk;{cMc1}Lcu7CKZi7qEY z%FF-Pxc~R8iSwX}P@V@uFO@+&RrxPYexCQn@Q=N2qcxE;COcn_W0gC9MaxuW^x#RY z)k3pxlX-o(-%7@>@Xq>h3mJF6Z(aVs=2~$(N&rO(dNdKRff96v+$dEeGw{~2g*%E5 zl86+8T3iG#Jk!%m3cG0d^Lr(MPK#NEmZY~MUo-A0jJiV&uvnq0}D9stYGe<)46~fksY~W4;(uf0oO;=f!8@k1UYu|;v zWf{N49cnl8%TK?WJ1^gKKCf!uXk6(o$gjKd&|jQ%hEz2zZf9NVNmaAjisq#qj-tED zw2i!m7Tc(en9TmLhi6y!Pyf#gA)Vn<;_ZRU0}G!&H@N@O&ua7t{c7AhY!?C?-XvD^N^z|n4Sdt!G!Y~qL1D)SG z+!s>a6}#O3+LiP`U#~y20(bA77MW*x-L*8Y1+*mir_r15qRX#?9RMiUVdd#pmr3{W zql33!B~VpdRT4LaJScvcJyFg^T$ONTyYcgLY+Nj^I`^suXt}`SG^`M6#*ER;2WBQcBQDFdqB)AJka>>3;WV;E z+M{cG?0I_Z>7CD_m^Z;vuDj&|mKIfYL7!munOjoNk{-Fko-%GKjqVoXUKS;aU{%*= zpy^=H$GG!%Fcc!8r0{qgxEd-_04D@^jUZDZ0JJg8KpP>n&oxa_5pV*UTpXI*O|hKC z>)cv5XaQG&G)-#l1QRwNUc5-Qe>!nqd`+Z>hbo!WS%?k$O30(H-^*AhoCyn0^eVWr ziSpGN8NdmZ&+nj~!lsaZ!So}|oylV@?A~L&SoXA-H_n3j+hv0J>-o>3eoUFF6|}$Z zEf@1|SX_A)&K9roXtzTH#iFzewBDX~R!gA5=k-V2q=_s1lDxy4~7i zzZR+PJ$2?`wR$~x8nQh5bnZW43V#Tfp9a2(dhhAY^h^CDK+=%eV}DaXff_Q@{RH>Z zN1%|J2YvQe^u_JhrtV;593;Nu`vzsD(L)#T6&Pl>o8N`mo^NCXx(iy5zNrIE*L+ za}5a3%ULKY;#B>+kPcV%4b;p^Ch7oFy<8L1BL*0|(f)H=P@Nlbz?*QpZDv&UXPZm} zz(NzAtuL?UeRcG3p3M8K*PdAiG=wFXze%9HF20rg;QniW(N47-qekV`MYv1ewy8o?Cgiyr$fWI3i!u9sc3V&M79j)u*#U1(9Q;C`GUxa)hR1tDqX0ito35WiSD2XJ zcZMz7IOcZ~S5udfam6wLJKXlksoZKoOI(j*1D}T{Uy^4zwG>3!cPnc1r-kjn&;UqYX zegs2LgyIC`OQ0Gt3X@J6H+gK*wfLiP|C36X$&}d-Rd71gKnpLkhi>}O%=!6P&r|zZN9Q6m7zbb>|fNWkng|Oi`ccGe$#n+=<&*=^Lgjx`{{)D8=|k6n4U9Pd1k~- z2fqmy5q;%!L^OORf2zR4o_2B~`bvhN+2KX#)ln6vFp=OI-?_iO-MRmB zyK$7i{zoM9m9U29mr?d&>d6xn>arOP=~+8KnpL%6##-sNcE6}#ef`NGWBvM8il2bH zOzRU5^S|#KM^Rfx`P|z-y=*BxL;&`0I9Uv3S64lQ}i?l9~pO1}cP4&;K(U z<0m#~?LxbDC9XYgv@lr4Suh=AhBZQ~B_B_mgs`lR_nVq|!(wQ?m@N+GFTzvJ^EAu~ zN`;UJEX_;b#j(Ntj75n$GdAO1-)e@m-ym*N;v!nIlw*4Jz9OTS2jHzN!zi z#NuCET8SE1PB9O&YB~aDX*~Cjbr?NUm?mCQ^MCtKDF9P%W&$XtnEcj%5N@3H@5s>) zPRP9|s9C#Plr-uvKduMEsxf1u-XxCsRP)N+S1UBt4%h6|BGr|X)zoP5#MINCP^KBF zr#-%-48K$VNGS(KobfO3$mc8UQr<_nP~muA1SNO*Km% ziR}ln6Z-sO^ZV$}!(|<5fz_y+U+))1$4{u^bFrj%l&!dqV zqGz)h>n|O)Qj_5mmQ<5U`AwzYo3vY_pR`cNA@qlh++w4m9QvE7;qSvmi?qVbd?rFB zXoeB%q_5{0ZLSUltpkoirZcz{(@FYCT6IrE?{M?9xJ*Y9tY7NC{E@0RE`q$3FT85r zF0v6dr?Q*4Avfwaeo5YGdi*Q*_UG1*Tivx{t7|UR!vZFU1Jrc!bPq~is(o}+=I=Gf z_;-}*-eW#}PHL#0m4yry3*XbCq9VR4PpiswtLpbY9Aw(q7q}-S0xr0ru!tzbO-aTGjgVc#M#Ym0p>*IICTg`~etu?`Psn{Apx*g3I!nmwo{ zcr%nmuAnvQg?i?k_6*vM8`3s$qfte-_;A~dN=z&DgrG>H`NOrfpU8mN*;RF7O@GMT z$@#vkW1*hxBo=PS_E=48KpW4Zad${f$c;ri@AqtpZDHCw<0=zbn<8DTM!--okQGCR z*PJ*(^D5C>CGt@Oh83nJDJ2YevxEts z~p~>BE54X=Bi)7XKRs_Yq9z zxFxFXj>%O>Y~~kKhHXr!X~kD4)Im%J-v|*$CI8&h@UvN)#rg&J@IfiHa4}e;o2Zdj zBF|XCW_fr|uctGrlhKMJCYvHn$Ax#zs8SMjL3eahaFbHA!dG|vQ_Q@k)=apN(-upZTkeqftPdP9108Rsg-x1AQ%wY1C%5d!>3dV zuTU&%6F7-DSOVTYDYHJqyW697Hvg2u2yqUMODCkO{{(o(`RBPv7(?Ou5`p7hG^X6+ ztZoIb&38MHr%~oncsghhZ61yU?P1YOa<3h-bkoNLLJaF|5NBJd$sb`iLNy;`FZ9sVz@^qCLO4po}p}m`Xx}cTH{Th z{XZJ#@S0P%hb{Kpyz7y%&2ZnODENpfGt=JoT$q^ntZ!-7)YUm}{C@4O(X!FEQJ`+e zL;vP|qvfKAWv6AMdA(Wfw@Vs^&X#)9x~ex+)HbM!-+qF#cPiwNa+e`p(BJy*_9pq1AV5-w>aQOf=3-^>gFs zlEfQQX05_2uB>Tf;wY;=glVDHBk6)lj&?>Jichs<{@kPfW^6XEAE;zHvT>x3+DvDR zI;6WwjLK`BYVqC6SE*vHqT?T*T{d&1hok=H-le~!9w$g0-7Mz1tmnAK$hg--{d%P8 z5H%8Be3bq-_v@?hzlDFVWn)NoWxIYy?P#d^&H8b3*Vr4?;W*Bubp04A@y+b~>})EO z$n|&)PgiiR<_rjgJjxMpYOa_=R?L`2SnW~}i>;Y!BEHYg8v2TclZL!@3V>-0Q( zt}yotM`eUqtd3B$tu0fbLlvs%BDHM-Y2W|JR{+};uls;<1WB##)0+z z9)KJ%GOsBhfvB9dCNV6N%t4dY?{7_N@ee~&Ivs{|9i>(ZdC>nd=7&P2GhT7(a=K7}d%Lu(Yk58rqvC_muyR#z|i_x_4{JRV1Uj=Ml zKTtJQQZ;c^RT$6sSN3naw|XU@aT6aD|6gBGs5uY_3`3)XIWWTs0A2Jh>^34;;a=cK|vZQbHWWbO%N(CBBPlM&I|jmK-j@$52=5hIEfBjQse_WjW= z>LUE#A(Y;KCsX`?66pE=+(!LV3IMLjv_Y>#ND1Jls>ym(01zC9V;P*6gKE&L^}Ea* z01Yu@4^0}e`;)%u+*KJJ{Bq}wqYQ3te@{${59a_ zabvmIx93JF@;h5}`sl&+xdXrw&Ou_q5=7O*Xzet51@fHC(zKmqQsGXZ90GL=D0?gp zn$!!FO5p@)0oSsE0ouqdv9)pe<);-b3#FQ6IxbV34#jjJ-9bcVrhRkF21 zq?A9|SR!m)xcL|fv=G}-1{a)c#&2$0XH10c+Q1CzMAWv*HRB`Z+?%tQssLu=Isb=O z#g-4;`{#K38r1@J9o?4~KTtghc-nNojoL>Uny?_&v9%Cy$RZ-2noCuV=0!v^)6pPq z@LJO!CAUGlc+w&=pc&Yrw85QE_2WEFen$ON%$Ti*bdK)C)Yb6BJzKi%;3LA>;LW#{_lDJ zUy{JTfJOi}W6Da2{8kF~tYS$x+=-L8AqMB@7klq6$p+0`PL4GiQv*h-0!(l}$A)*6 zN3aFA6aJBbKq{y+e8q6 zYxWJ2q`hTMu+*;#cprWf$`q<_BX)E+>bu%AFSmA8SaqOwl_g?rzQfz+x94Xnqih~( z=JB=e1wcTAluZV=yqch8%_p3k@YfYW&LtDfm`tXR%vw$?lZ?b5hJPxh=wBAszc)al z#{PaypsCzm-D*87JIir(m-v41?$4j!-wKO@{7poDbbU_>)5DpYZI`ZMD5Wan`Dnh9 zxl;LI@>l+mSM2vjZy^}m15E=O2=1`;P00(;>xJ8;MXSRbKn>5EI6LB&zZ(Y4dnLG3C?_u-;URCVprC;RgyS zO$Ne46h@I!>oxVv%w&%hwf-g>?y+?AiA@f$cQO3?MIIR2`)xLeH9TT2MaC$bwwtD##?C;W@*f@yKQJB1YykrRW#}@*8{*OOB?UF;r8_uh<3*^vq(E9y0+OvSosh z#VgseQ`5k`Rx$Z;pV$Nlv73yQ8lj85Ztzlq|J%f5i>5YxiE^Uhh;B(}J502LM_Ic$ z_PWCHOx?X|haze!Tqt|x!u z3p4+9bh9X@9KOvTcDTD?OpV>MO`vZ!tjM3o9mIBwdhSoNj`aObd(&#YULZM+SN~if zr(-)I@`C>J+LMtF-sahNT;r!>u_7woOU-(!g zs=ZaA=4Xfs_Rl1@qVbp@VFq$;cegH4_Od7buciIUd4)@@M+T6eD?^(6K#yo4_Pk-T z&=J#vqvNmWz@yLWE2uwDHV}X<7~>RfiTBVhsdDPY3uSJ*4B|I%T&x#x{-|uY7?>L_ z7vTmMM%cjx01|#kpfYiVT5AFRyJiSVO+X`OGSF%>HZ4ct+^jNP;-wgAqEWvn;h~dg z7i(R~)OQI+?seHI$yDElNf{n*Z}ySj`?#m2mVL9En#rZ|E~8}anGR?3(wywwwxHZZ z-(4q8{0T%|6Gw24oaa0kUyTA@Lw9^GK=US259Bb2l`uS_`r|4?Ue+5P57A z8fqbYc~Ezaib-WpU0vM!y;I@qQ#)GLHkGKem_K%vJl3NG|5gvEl%@HQ5BRr%trX1? zKH>b<^p5MtW>*MEnJgpTr(-||bDxE#lB0Wms>*jHV&oYkO%VeYAHgu2`3hNzvEc*fvfnCaAdnflpW69hWsrxnaH9nob z-Nn}C23vvrXSF_c+3fodgRBqcm9qZk$A~OVZ|FB2J*xDb>J<^;8**j7O7`&l?s%)4 z_P6l-)pj`Bb>?z9IL$=3%I0UMta-WRO3?&5hv2H=<4^pdM$>XF4L}7u%dtG{w^4Gu6)?8otkPJ9iaM z{n%WS5g*vJaJc=*Qzdm?PPt%Ldn*v__3eJeQRI?h$YDI?&r54~l)LEDlU8aZb0M>+ z!{mRd#h@dDFZ-%8_0&C7!ha%8!PVV3Q0AHm?GeaOQ^{M@+I_C<;JZ+L6wDdC_gy~i zU@!Q(c$}*!VA?tKOWu~bLhjl9^-bYny8)xQli&4s&5OX-AN}~2Eqea7^Wxs-26b1B zx>eBzNC0#`5PB1;7}Jt_s!Igpv~(2})@cxJFtL?p!}W|AVE^%=pBeU>4l5E z952;1L=u=}N&@XT@!)ob4h!mwV2(N7{EckawBzA={4A{FPb1_aJG|u5LOep;xLIZf znGhC^0CC|Pfio`BT;Y0xGa^7qsFu|C+Q88Q9YJs%wHkeCW@6LECCm+J7i+T@ZKg4y zMVK0KKn=o;V$6-$Eqn^H%%TVc`{)PGp%YLc%D@!DH5U?` zU5YF^5X2FGi@FYH1W?LCsv`MxrLb05jT?NluT(62L-#qz7vu6#qfO0{VXxvACs+ zCwM{fIkoZC+Mx!uUuw7H_Cxjm-O7L4JdFX*O7VrX$$hmgg0cF)3ej-#fSyq9u_A8s z<{lqlj3Cl9M3VD?vSeV`|7Hp|2x4S{lzcc6!bM8$H`xt5*k{7ey+=S)2bkjI&{nVz zE&xLjfM8L{m!1sS3p0tbGef(&!$bdyl(FeE`mAZmus9%@2kks&eiMMiRcHgtlGL$) z6<6KMcFk+^0L2E1h?hKsgxszjPYc|Jovt|Jmfv~t%_lAfD|?sph}P3m4ue~9bvb7; zu4|X+7sBeN2k|;X3Ed22^e*fua{SRjLl)?qV%O8SYO~*YDVOER8y5bN%5mAMg#_## z+=2HRVw{w}T#I7r8A?ZjwNG!LpB^=niON}qUATR0#C6wW+RLIjEi|f5y`ZIyE!`ia zO_3R*scQ0H$k!92)js+DYsI;fY5(j*c+aX?`CC<1irWHPx-YC#MMr){D|JDRSf%Hm zDDP(nz6A!SD=TXn4oH>$mvncXcikAfV?|j~xSeeP00#pH40(tiLftu7T()}E8kOLLpf1$zh^z`_FFQ3_af z{|Z=IL*ukWh$7dGhGU6IO^6j*iO5ohFj4`=I6NLlo}8`LGM9}s?1Z>2k`i&G#S9XA zt$1Y8RI}fH!mvxIdjN*f-tZyQY$c%fO6xq9mvYO;9G#4fw)Wd%M?HmSM>N2P@WA%NBt$-WPh6bvv%Bq6 zVk_Va5fx}FvoSmg5fA4D`rvYC{&NvPU@Vi@x@gv`o{?O!hrs*Ll00plD>6j>wU&3E zEQOtv>XyTt>2sZ^(d20winvlKaR)pNV}T6w+(5En$1l!vdkt$U_4j{&_k6Lb_iXw% zQ&3LG{Hon25n2M2j6UQ!>Hx?;)`JaN3?jX$;d_6(m)2&RcAsPOWOIpqwO7!Lj5b=n zBYk!U2k^xapqNN9r6_USh-gu9+>9C1tng|>aZ(wcPTL~AWbz}wM2AHv*UM8uWBAcxBw`iu8GN??|w!(FyY6B_Ia)bg2x{$aTQw^zq{n-2z1R1WSu(GBE&F0mfliiXt!^Bn%%= zMr^Ww)#Yf!j9_`ki}TKbiM&5+=4DNyGFfHCqDGl6_P|!9$vmb2^(%^6)t0I_jYA8^ zuaYkPCgRRQ1)1$#Z5L19JeiZ58~RWsfpUm^^E9jw^UgK$$=UjC&w=)rruHZCbr(); zNpg{$VlJxFzjxDClW~wiFg`>SOil4S>~oZwtfRxN&`;1j%tbL3CIT?YsZsjc_A42Z zj$}Wo@OLM|1?0(hZaB~sljyLBhhqa?Xx8^=P#Fnmwvit(!%j@hS#HPT5GeDwZhHEdNj`ihg_yR4b=?w|4|CK znO^Ej9}daAl3aHs!ZqZn#7eOZy7l^M-mK@|asLS$Kln6d;vRmu2dN!EgHLiO{;M%Q zF-DCoJOT(Npw@L@N9@AS0bV?;hEq||B%oST3ycOB=+YJ2(MoS~R@UJBpv4u%VHn~Q zOJ5x&QWOc=Q)FW%jy@&=3D5(&!~;LUc02+*$@CIb(kyP&-zRo@P_vXBMRq~?cT5MD zUs{Q)oKHJ5e|CB<`&m31^LTbw$oka>0!E@S6TQIwkOB&F&{LeV>B8)voG%_gFcSw9`+Al>e+|Bw6i46pL2c#T zZXWU4)cS~o#k0?UKi7VwA+NXo`KwalcT^_>ow#2k{eyY8c&?3{J$#u zHUno@eD|6M%9=MHa>kd;kbr#E5*+$;=&fdYCR_<>v7r>4wl?M3mw-gC1pkfV7b=0>H!ncOQA(C)LP#2sN z1Vu0R*`H|@L?jYuQzrBfEyvThE!9bg4(YCUX@@C(DUFw^>3?zlpB(bJF(r=vwnSZ0fE29nzSR67AgkrxeN)va%l|+i#4$-W=pmh2vS%$E^M# z-s9=7?_LA_t$b0}Wz_LNBY(~5%a^>0nm5|4_3e~(4L=j9${9NwedWp=xgJFUxUP|$ zgrt$1&_^*<)}%{1KT3-kc}`-Xqd*t@97cLVc#qzbp;si=*J5(J~l z(6s9^M7cyM+I(W1_?h(=?_vLM9h6?Sm1lyV1#~;_gF#!7Kbg5Pl1UPm@qw$E)G|db zZ$IT98n{N?>G8fPSzebP3m(V0jJj zlKQBBV%lB%VLC*dDs=S5V{G}ez3{GO{X%e0(O}@e)qL)hT%>XeDmO9`ZX7Ls_2(mCQ3_i9Ua{DQ> z?>}o@8!sTGK@w1uGf~u$aF;m;aayHT;~IE_6o~ja!srw~{?WYA&YxBh9dj>!#>-kj zrACxMJ*k|e@%+)?X!dcrB+(hdQyc$tJKErfdIIBBT!87LnMule z4PgPpf)cpzW<~lUgJFY8nlMwumV)3ED#MZagp&6&$cu{IB7~QHN<`EYOqWea2v9vF zz#=KZkky>cry!9d#ZG2zkpd@DPm(Ou;BbR#fG`_+7F}vXlm0v^gi-Q9NpNh5Fh;jP zIg9<0U2>nO6=yaS0lqKR?0Ls+_ad!xse?< zD*UoNXcB$eJ}ll`9xwc@-XGnT0aFG>a&OR?e#L0QW?`^cFIfYyaH)37EP;>;VXHMbU_rGZXN z8cVG3g5qVV9Czjn(&FPf@ve6S5zQ1NX!Tl2MMXQ~lBQ0`4e<^|uJ=+kl%N~T!UQ#z zB2Q~Ie90*+MUik#tHDb8r_V>6^Wg-n;H9}m_A4#hr_Fp>I;wwzC@S0f%4Q>)`IG5u z>iJ*h8cxVns=d1+GybpkW~JE^r%h#NYw*ywZ1hQyNtG|yj(Z<+grDSz*jJ-&lCc#D zlEH=+$)boR-NaJ)WREXjlaojy2;|odlX3nj1=Oq8XaAtrA9im`~hQUY29UUSW0d@#ff(8B( zsjoW7rewmv+!GD1RKy_LBZ|ed7HHwVCS-5*jfyi8R~(r$t1e;q4u5c_>B-O2KK!l9 zn_$%ZYZRH+qj`&ulrJ3GY+O$RZuIBa+g!PNn$PsF6-FI;PA%@LdglVpHroQ()7rIq zHhYfFoGvFhE~KwTv$f6@PF>lvGHy{^*RtsbTp8h`C8&&$JfaM(%~xl492tL^I5M=@ z(*tFk!{zl*oG6piKt6{I@j#Kg(`V>aYQ`u#isK5sU`-Fc<_s@ET^8MshUt@}B7Ff# zq#8KBPnYn}0MxyBLrR zG+0l`I(=jb4nqjr@j$h`0UCy8W)Pb_{;UcIYnCUy8wcV=_AX&l1j0*AD7i-QBhJK| zoYYElfYwxVY4{uK28#*ylUEhcM1#4|ws&I%V*VJdyDp)fC+CqyhO2c8?-<)lr+v2=>DwDgxDpDR`+~; zI7vKP2Y{pDys`eaC)iaEQps5MAQnz1A;uv%H^2=CBXHnHkfYEONe>qCfCRkTl~XMVr_KSqL~j9#9HzAm{T@2bYCj#>6$#7 zGg%WNU=zXd;m2{}iFR_riPdM?4y5G7pkxaBwMIrm@PJHL1u{X6t1Ch<;rn1B1am@# zn?Ra+f(Ta-O>c!G1KSjYWs;k0(??grwUXGp5lGyqGSUPVTLkk)tnC-n+WX+SmOevS zUjQ2vg@nSe$RH355lj^}fw%CEC$vq`nD`p8 z-XaNsNirzH;;~_p*oN~U#L2n@>L?ub9fb)dPLk2Wc%>yV$hIc#pAJW`BjFruAV8Cw zloAvHXvc#Uqf_*nd(iSlp#tve>-?Mdi|c!MF;ZV#UBsh{-rb8fvc7ZYo z8<_a33=;DOuxj&~|MR2&eydZ{+RwN%4)1iTTl`;zcgDA7rj2IC=%QN7vP#oNLuL}R zX^W(9Y4nhFf=M}Z*ug59Nzr$(!8;NRCBWk(V^*~_g~U$9MZ-M>>`GXb!JOD7L0FIy zZnRQxI7bkM#rI)_mw-5gum`6N0jft4SRXGDV0B^3el+DY3zRQ1f*L;%BH&Bq4~|fz zR7}L?R0EM73zsQEQ)#@>kgcFJ5^2nuFa}V9ibXM{(iLE+xFo4Sc5)WEDy^deRl~=O zcuCw6#>W1LwX%&@ZJZ;Q;(@wiA|95S8rYJxdb(KfwE=Z}%WC#kw;>xFf12^YN$-tU zmrbE$$nJr(jifb0d(<_a*Ixe)F*VU^{PwLMduL~HL`;HH<1z0Y5~;@3B3F~B^j}8q z{SG-<{UA8*7>TwCWe2)+JkHkPNawZW9~WMBNE*j1TYEsI!_nQzPlZB_ha~E#rO&#f z?k)Ls$R6;IvzxX6IS`WM2W&XWv}{-e^lW&#5MA`!4AmIy!qVFM;Ws>CdSDHd4^R*gk+nIc7td9>HATz`CxeKBc7 zGQJTfWuGpGvZkCyO9p0*Cb2DnT!J69MoTeSHIDki3_Ib=F8#CvHZ_BWMf%3j>^zso zAddN+S0P7N3V(NYoJER@Q3|Mnzx(9Yji@j;TNiEqz<5Q<_c2dda1)j=mz!3VT~qe) zY~z(3Ha_rDw*DCKl1kat*NRtW0mXPKpTLzNn4%QZe3%mBz(`g^0G2=`UyI!);pHus zeDAAn=m#tTG#R<-AVdgS;>1QpDinNdOO6J*k5=0t4gC;~g^%um(Q0Gvs0OI&ukWO+ z;i$*Up-;M51@}>RXd}l-fgnrR(AcQrF^D!817Zhe zF^D0o*z!^|S6x$#$3ocDMWU=zI13`YAPYm1!=7Ssf~eXZ!zrbQUND;fn<=p3W(vWS z$M3Xe5_Lw@!z<;id?as7(_Y#xfE#NB8mee`i4Ng&L@{$#^r91LQdmK zZ$v+<^h#ayy;hPJHIgUsCzQd-bbunV^x0=+CZ)!#Oy#dmpFL6((xvEbB~w3}Mitn- z#2adI$&?Jzf*q3zVCbY^03f=Qal&N@%dc{;4XW;LzkArMRz#U!`%bmssISJ?YN$V2 zUGr%*_glIQHxnGoK_&tPNMVo{(jIh(6vB9ce1P$^uaCB6V)8C$`6U`-ly3DKwdvur z^=UE5X_E5+I6%NqS|(A>x}+;^*_vN}LK{_S!QsX3dKb&Gb4i=S{(yThDMcN5Z1u2Y zbxwULr2bVZJ}E6xSFw;xoooI6TdUh1Q?uqLbtX3-!@o#T{<;tM=yHF$`pGGO&Nx_N z_|_2uK=*GK^e&2=M$aGW zzzzK$@MQOz!Sz3^M1P_r=h^zn@VFhldC$&Q8Oa{Y- zKk8d?e|Whur&jR_^5?!I;GQTlhutaRPgxma{pvHJ|5_p~w=h8{)58km!}N?EpS-`u zIpN14aI|mCyXVg#j5++(-)ES;7M5kVT`Mn(qK8qpUT8K^Rw#7MjSXZ{qf$Cxr0;667U)!$zSI5!@XC8l^ z1grSO77ZA;bWiay8@yS0OqFR}F+}oZ>)EGgAx(*q6=kL~7kZ)>Q}UOUAqn4l!uOiy ztSV7o);^1w%g}tgV95?0I+za%i@EypWbNS`dc~46v5j=X4vaw%vBcRiye|ut zr-_P}#Eq3D2SxrNjEFWS*o*2Q#6`RVDF95(Xj0%uSzycU6BLK|D2&-rz^(voR zxl|EJzg#*!zcm62RZKCurW?~1LuriPFC0$aU6(y}U@6tmQsI#gPQR}F_X zV34(F(}W;hGw4La?dAHwjvf| zYclC+o5AUOJ1b!xmKWGC>~e@q%i(-Ppx|JH`#@!my$rjzvXNPFgiI>yeeFX3Y{KMe zTd{EKY@yrtZyz>%F)1V359RK@I0Xmwyw15jx%%lC^sM6PzZ&&w^^;?=u zv;#T_TDpOqg)dp5It@O3xRHlgQV~<&w8$E4tw>coqt|YDLTO}Xz0ECAz2}VBd#Q&c zrP0Z(5fRBITFHjYqpN=xd4$-iMMVWWE{ngs?qa&3g?|9Ogr`Js z!#MzRQN`ul5{8rXDFdO_k|>rdD%^y$UA)p57uHq;ttm}P3;SL~EP+ylC>{;sGpIKK z8C6BVfiXZk(ZSt2u18{pG?|Ep4ue&*4fXARAV>h?UN_|uq&>4DIT0hX0OXRMwRHjt zrKkU9Tv?TUNo2LRl1Pr@8Ovk2D~)M{T(C{w(%LOkYi=@X*4eLF&aLwS>~j)*mL8hz ze+jKA==^`l>p5Cp1|KY>H@~9gH7?Am5${vvN{aLQ#57KiecB){F3ya%d&GBh%ly=} zx-jrZo%1i=q8lyik3n|QTkE%XRtt?5SNb1JD!s-1f5ligyZJ5t{^nn;=b`<@?Y`$$ zMPoNun+|nwa2GhQqI_%MdKVa6iYl#x5uibCC&2#?ci$b=#22kQlSY65p@*V`7K(sF zFQSGjRX|W_O6VX+S5XlXdQ*y&fFK}6L=*%?u|PtTrc?`xQbn+VfJ)CBf4981?qB!) zaqoKf%~}kZ$z*bJ=FFb6zy0lR*W=Ss#B=GwrBqzWRJxTCvlK@?kGxD(l}Q(^&$AM= zJ=D)b9WY>Q5u_+b;sH|)L@2cueB_EM2a*BgJLwpyyTEPaK9s&w>FJugDk5hyle>)_ z>~0;^6Sp-0B}bbxHY!g9?(jrjU+X*Ia9s3`;vRX+n#Bj~H=kV^E&d(y)y(VM!bv9$ zi*FV)17{)1;)r|h6!ESwVe(_|hrS(PD&h_oR+wcDb+h6KE zul#lO;ex^sx0}zRS;IQ4@Y&UeEog|F8V(6F+#!8tA9Rw+P;>3TtL{#TQd2#ps0|u3 zpbKpUkRLMxI*qJ@jN!PkGkFFsnT>-47+x5v14Rt*pdhJ=p@-c+`ri*m1U@}|9SabR zhaej^l+t@Y@l&7`G0_yazbqMZ>=m)fzq`Lq!NR6XEbXV^D`^W^$!L*Ay+G^JtLLU- ziaNf1-*DW`O})!FPINvb#g={IM)?Nz16vEvWiCO~sViyo@-aI}^PUo-Wo7B6^5q&q zbzSl?xa(V*a$7OZ+0kkjo__tDaXv#@%~_)Ss%cBCSb6DXy{wwO06w7$V5dB^**W3qTvYzcp`DG15jKjNlx}>Q>gukAs`vKYDMxwCvS;*4FZ*WZwjH zd;8+2jQyVhzzjelu%h-l>AjwSF?YDaTGa|dMlf!7{C;WA`^W4-TU#U5qPy*ETOvk> zN|E;LC@p?e2e&8S1xlkzQAj`op$<6075k`2X$vk@X=y-47#0N77EWMe^JAyZiA%R3AiojCnj46?KrxQux#mWvvu!j5{L}A33uRq2 z88)h$cAGZ$<9x9m^~slGGimZcr#VuJ)NdZvcp|2F=Emdijyj8OZ$z#eWh{=g+eq)M zw7)oW)M?x^hr9Olo&7JbvIHV_ANqCe@c>8q-H4xUDMdpM30hiTwdyZAL`>u=rfb{` z{dhC*A@PlmQZF&`^hS)tqpv@^_4+{dD zwd;q=Rn}5KF8t=d?qXpy->C5XKKK3HWVb#OgROWTzjujYg!Jp>loMd|p@CijA^mYD z0S88}5b-6C`ed63N@t{n!>cWr$CcTPq%tglEv6R&3#XkLGwMNXB%WWE*1u+r)23IS zJX1v>TDXU(4;o7d@e&AxoSDvY-MBUwyb4W-D`U<+A+l?b8Sn1Xy>@$r^!TFy26T_Z zlT)*M?-!y9dQZTOHX5-WOK~UihE1$_qXjnN>WtH|qcYe*bR=xv>N zbHsv0iZ1>124TR}S$xy^V)alo-&A9h**ojrYl;d6f1KV2z7g{l3W{)8L_OB1zkHO| zP*wW<{_p<92fxQQ!k(#4oE4qbJ~Z{Rw!{7NON%ec;8TU zPR>0ic&F@*^RC$}=C$)v^ZS2a@_)aF>@zTm8?U?*Iuurn4laz^cs+BKXVgdgo$!g` zy?cFmU@euT#+%IImcW^R?ey)H-yttsx0iemyp-Vi*L{CFi`A3*#-2CUMY$=$#5DvL zkqmP{-4mnKj^O;D4g+^c^tl#vmplgv7}=;p7!S20rYRbUC!ed2zsQCR!*aE>lANI( z!#b$KAWqfICu#GL6kv3;_4iFD zEU`2lA8B=(tFJbzp>$Q}FN(8SSqWQ(NV8b|qPzP)9I#p;T9Z_97kJWTg>ZJbbYWyV z$c{4-ILO+9a8UgbRYr(vwVLYqK^!W5A0G~Yje?gufNQ_d{xYT%xPg;v8gKxFUR=X` zfN@53m6EPRr=q?S@#nWYIX`ELPEPHG~W zW{RLmz|=oVy$mG;PXH7rDF7Zr*o};%YA(tf&j93j0~JNmQ`zqj!1lLGe~Bp-1T)C7 zPgfn3Xuim6qq)baq|6>8xvF$oc`?RFTZJIoFaX zr#?MjtFL3jhxRLdo)8NE=hy)j%Qx_QabpI2?L^w=)(*J+vzxW^(v9a2vsk_Ecf?v_ zUidZ{u*Jf1{siAtg;KtAbR`t6R79Adgy_lpXhj6WrD@)E&x+a`{341-)42%*05NqWk&@wrW?7Oe(quY zJhlhmDg$tmct;#3UJ}QFKY-(}*H1?;Ii-t~PW3xZAF(P#8V)4*KCpf~Yu9fNs#!TO z-dS-1!s)=I5RM1t)RrQX8N1*ooHBr<$)N#hvR8s12|ycmC>rP?WxQ}iX+wQ8-q>k1 zM1(Nq@paxZQIU@7YIBpx2ZEfH2_`-XpYGjKDi~h&NiLBY*rjvgvrW-~6Z^NO7Qe$Z z64qx{{%6+K!r07&PWbv_@p{jA$G{e=q{0i}%)UmRjABfa`(9IeZ&bgGaQ#?s_HzyU zcGR&854C0b;RI>1RC!T(P&lv_!JWDHk+ft&hvNZeu;g!^TY}tXx^^ulmPk>PM2!X) zWgMlnyGhL>jxg1th9sGAdO4&Cb<%EfbaZ*xoA>X{M(>`m z>E-_zU1BRh^fDflSIisMf zZi-4sxlw|n12qEomi(b-dQKBWDD}mO@gBCi z_C&kimZ_3XnmlI3Q!jpn*Lc`0-B#u~nM&QmV>OT)VC$W}jJ1Jp(n8*z(j@4g(o{;~FZ^8SKcH>xyuH(EGg5c$aO-+8 zYy0ePb(@X%Hlq(WlA@`=*EWU@)s|^&eTMofzzPfGq+_No^*`7~TAgIN;Z%q&{d}2n zR|=wrpX2Hy+6>Zllv5faS}JK1rdPoxpGKLu4|U-;>@}8>In36d*xeEkEEaFkJR%65 z64WgI+DNb)JmOaPGVl9~xE@5jk?b9p;&bn7o_-Bn9*rKImgiB zIm*fc%1RezSX<%X!d6(aSU)BcpYip@s$jfoeVhen`*U97hW{6plQ38QYkgWgB(owYgPwDX#EdOPh|>sy=t2X&)o zqLpk~xA)JXh)5Frv^GVUVdoHo0$t#wOcja@QUthg+jK4M>pE3|Z$s_=x`Sm+Y;dU1 z*lo?{rqPQzo zB!csaD2>7h0jwApAd_JPj4}>@^U3O-h|Bu?F))2tXd95_&JGoC$zLb2Hc4xGr7 zfdchWA-6_MHJG49POp$?AwcP%@!sM;zUg%6*B&2x+<`W4TiF@jLw^vMvlG5I^z5Y? zbUMzZC0Q~_4;Czna-Qe}0^GVTC ze}3(H9&vZ$R`YFE%8qpNleL`f;-A4E99lb{yIP+s8cNtVp5!35rOeJ+82ViEVdv#P z!3S;>#1H{-3>DCiVFQD7&(LIs2giNJl%9M~x2nJ|%T)=f4K5iZlH@K0VD=+xaRnqB>t4dl1poK5;Ilkd~SDM z&kgT>q-;`V)#)PP+VnP;gXJ%3i>Ma)^4$Jq4*q zQA9;k))1#W$OR`avR(S(eiL)W;}=TGT`x9}(he9>VyGm_F_6RWd7N+YG?{|22KzMN z!iHxmd(b$(@s55~IC-5_Zg{)Epht)UL4~c1osXg;Hm|#k&uP!y)42^@*DLQRzB~Eg zmi^AcfQDndVFtGUu8Epda>vinsKK@5C{vl7BH04W?E*3R=IpWNdkqzxnhshotn)ve zdHsA^QexTTd$`NFp!Jkk-fhdVbFM+5adIu*n;w>*BZQ(acr2z(&xC7r_SGdzTeT)% zTu6K+v3|3Tb^B{g%jw(IHC;6-&D1D>ooWn#)CPnCm5lgF`)8)Go$)6nvIV(e8S*DX zm=R+cL=3&L#Pj`oJg9LJ+Z<5HiqJHkBAF4(Wlc-8g3LP7l2RCLRVa=45m|O8Sy*l* zxeKe2N%24jhI*#-7Tm@r2PQvL;TQUyca6+O3@ z@0G&Nw~c_$BM*aKu^#NX*mUz!50>@dw)2N;*3mu>txw#3@HpGQYB|E8@xYPZ!NFfK zjn)S*O_;+vS340M15bC%Csfy~idQCNiZh;-yij*Lud%4#-|#H5V8?v3qoeUzUc^9u z1A&bJ#F7C>oJ@p7fLUn8umd`QkWhX222>O6?$>tQ$y57;+@+dmC{l){NT>`_o(*)5wG4oak)h*3@Vtv#B&o$LoG zQvD!+{2Q_+k3ou^pHz=`Evg6U=BnSbu~bvND67fSMN)kdhlZ?>rjQ*t4CylXARz-2 zNS$E|Nm9>1yU4cMptL-B-x;cl{|gB^`%fw$HnpZe9v3n|W2muMgTO9=trH&Kb1B}N zi1g?NE_2E_0r-h>5l13rEU*tq&AOd|CJ;}FCZQCM)$a7zOGdW7_d0M(1nG6+azR6r zY44be6iWEQ_rSh;4HJQ^?*$F4CY!()`P&VfK99$)srv+e9248;4SN#5d%iX|XnBvp zekHusbmsle7>o6Oj~5F*;!@+L_le87jWJE8ec!LW-{6DP_5Ih!C-3(* zxv_qY{c%zGd7`hmA*RXgclVQLXPaUIUlccFqAB8efDS|i)L<4U4Vq@istP>cR1dY2 z(+)`3fVN`k&;^=4bRpgh(xv449x4%@Pyqk@NstTS|E|c*CGMFe4J^QDMN-YU zL5QOQV{WE4C?-i}l9}#8lulqA;4>48M=+=c#7=koB!dA#7)(kvjtitQ+R0|!T8MIuH!cBq4HH1rnqfc zw6anvtle{1+!F0cthK@z7T;e?fkkDv^KDLup#bl!h3)DF0c{~^gvcgQkqId{Jc2x5ixyB zIE0~kT5*DD(aR-S8Gc1WCkV$OI7p z58t2=FH-Uhlj?=Tff?}7hL@$lw@4(OA_9MkB836#{g6lqfuUeANN#}90n+GNI7ozH z1l1!FAz|P>6k)0XNyFn26ZcTV47muYxBXOeI>ZC*1MjPoOh=*h1U*O|J|3hhLRt(J z98lCYi&$cmBS!I5B;cnM&%PUJ9>I0KR8OXlK0iaUCM_{p#okP6S|o=zo13u*lQBd>vy`7< z_Yu77#4_GBc1{xgQYCaPUdOdBiE}GWs1Kbz+9*t9NgkRCPs>SI{^*ot$P~;=3)`b? zY0}UUli7?lOv^SDin{NtoE4_5v_4YV{ybw~_krk>`wxUgu8$;HHjX^6kpJ6bvwJgU z*0F{$tXYy_X6)>&?Ej6c1dX&&p{s^g(B(F6D3}=nDH(`BiHHY#_^Ug=abuq^ap`m= zUhDYbnW8hWEw$Ell<#dD4U}ipqr8|FXeA~ATxD2*N~7tjHGt`5i@1k=-{0*K3cOP? za8v0XrMWjRtg`6FC+{@$71#27`95JK4y`~~Yw?~p%}3rTRmdZuO3kB6@w$~Kw}@)a zcU1>i>Q1Ivw#N?j4wbFum6mEW%FVu_%bvyho_qH01Z>h8 zwM@pJx z$1jco{Fwt>)-e^arh6tjzumf!XCoWq_T~@F7baabmsmL1s_1O;jpUEv0v{xPAT;A)ZH)c};&Y-}N= z>iVSr8_6a(V@1dVk2R!JA+CL*+H(R`(Y#e{dmgDq@SZ>&xAj#}Sd$F7rP95uDg53zpoFy}?1s~EUpo=ZT1pnHB?DEJ zhrWka?DiWH@gcpo+t{JZr4G7p0>&P1F&3WFvWG98l@j+%MK^`lJoTq#`y?-UW~REo zb)XCiRGP=CfqN4d_)i!x_@9x7%DxEiGAA`UIB;Cay&u4x)8cm4^~;lt#^~2mYmJjj z=96+BsERc07pJc0UYLs6ced6xtV&{hxo~lYwaxmxov{P=%LljZ(Kho#Wfz}4lSyFB zAt?yTTU;3!=+$w$sz3_mE$*8r?1?{h>JSNEdc$Sq6=(8}_%V*`V#1)Hh|;`caH zkzg|5!GQhbQdAh^cMu@F5=hSD&R9lqGFswW*duqnqwK;h2_9fBneUDY0kM+<$u)k{6jjs4C zyy~nzvWK<)<1&k->@Nxc3{xS12SWViF1e(<^6_QzZ|N;JevUMZNpW^KTFh=Uf2S>5 zPLgXo{N;E!-H_H{tkM+Eqj9S=5G&C%; zv)2>3inYs@xS=U^pWoR#y|?eA#iF*#m$0SFn{|8te6CxWKKk*}(y6?dpL2~(G%*#s zyz!(k!k)-KBQagG*RR$74E#Na`bvefkx=)$00684%#awc6g`JX7Bt0{dROgsL?%i` zW_IoC%{`P;=uxHd$g_(NQX#Rg5iqDFUf(>s20c$h`85Ms`paYC@8X{v7E^WZ`{aA8 z{KwXwi>A)z9*@(Y_qSrx?k#UVu7AXPXT+ec(k1Vv+qsd+!#aa9=ol`X;v??i;`vh# z{zO(TKJ%6Wa&(_#4+WEJBUD&u$w=vnE}2LV4; zpZ)&vF1qCUCx^|?p8hqOI}gOp9KR=g@sG=6mrLve%Ktyx1Og6C0muM~fF$zMkz{cK zmLg5(1MCPKlRxM=0Fi!x`hw6ApmRN3*@AFnN`@{AI1}&`B|0adE}>I245q1?AD-^L zKLl9i?qLjRIR2wkUuKIWd_vj0D)_Q*~5W)r1W#~9zE6CeqFUSSv~JuQ#tc9vz%3I(eo#T z?isjOLqb?3%w@~JIAhl3F3^>kw!SZ-K?SQ8b0|oZR=C6SovTkreG1T{^vi{6+2iu?%JrdW*4+n4c_YCtb!m^zs8t3`Zb6pdNQXNI*!5yu7J= zXq?E-Wd|1D^7*OV)ChfS z8p6*p-uA+-?&Zt8M(=1wrb6faMAAeA#Afc?!?>j6UTf7@kg(@n=&|>FBpz{k|As)v z>;=8b-&@1ab47nOyx0u){Ba}rlfn(2dYFw(mBj%>guNF7u0_sJ2J0EqNEDNogVBC~ z->Z97K%iSb)p+@?sC`~$ZAyw->w-{}Xw z3v;^4RTb^>=`q|kA8VyTt`afa0{m$9>?;DQaSHxrf|`OBcQ>+}a)o7$dS|L<&GWVo zRk#&9{kZTd^wPzemd*NYw-diZ$Bu$vAqAi!D0rY0mKA$P2>|OUuc%EFon$Z1+IXV7 zXiB7aJWlFTjiIRLVRizgC$5Ha0{lj~KB-SRp)DVtH>TIrXVoQjR?L7OJSiUfZ((9U%_adi*#sxqHrwaA>3a1y zXXFxNuT* zcPawx!6Qtlcq{fyWgI*3rJtjo*bnilrSA^E!KH~`={JTP(|LhIR@i!3*fQ@X|3;so zU8av$&6nl)`CvqBCGD!}yGy4PG5rQ9C^W_c$BjWsn9ZhfAVLkXsR{O#NWVp~xuhRa z?}%ee9``w)s_##au4nDD+Atwx^&5>057k#Edl5v0c@Mc~PCo4~G(Cq2qI`Tu?^E0* z8|q^$8EC@$;jmcuJ(Agb?5W!yLffUTZk+z^d-CMx-*?^V!7B6{g%2AjZ9DYou1l>= zEB%XKJSD?*65E3>s`SgQ&ON+HIPq)$K)78FoiV*Y#R2A2K9EdCnmFZjEDvjkpxE0bOU*Qd5Db)P{i8rdv3<0CL`71SDqmTJQ5rvVQY!w1 z6(=f7%HuT3;`Y0l_|&}%!46;BYPT%O2FXYXR8vJS z$D=Pl#w`q|*S`*F5Id9i^0f(2ht#nqA>OPQF8<#XFR>q^J0*$xgnsc*1aS#mKuHn1CPE}PK`XW8a&?_~FsEJ$z5 zuFGw1%dlAM(%USV?1QXjbM>89ZWAn6YYa}pwO&57Y+iJ3c4F~c$-DARQjE;9&ANWp z*40+{gjZQT6_=f@#hKQPhAmB9$ zCgCum$%O!85F`K&vCDw8r01mBAfFo7P`qhE209CYclR><%%h6Mf|wnoA=5xI(C9ek zuK1L0VuzfX!(opwe){KBMo~|wqB!%V__VWOw>kT=K>YOA8R5T>!a9{B_JUpl3@J3@ z^0Vq}0lkHS0I;Zhbc)u->*2?OffDHq@%4}sV^Rs6Du-2O4Jgh(cnm;*kL2ZRY0|g15Q}uynfguPvu!DXKwZ5>!Ea%L2tVA(x??T zpo~LOl&u`e`t6gd>5H}mCbg-b8+=+Tlnzq8AS)|LW_tIabNX4VRfs2!ojl3Fv16#+ z3~^ZKj=&`I!~q(eR(tyob(%3;4_N7f$qYO!tj?hi5^ZsNkTZy-y=KHoH%J_8#}OAH z0*4WYtvZy%DGe@#ivXy{ya1J{lcAfCLRAP}oc?dFK3dEbfJJ-f9F z!v-+@hjBWXL3|IADhUP_F+#Zd(NrQM9e{P%N^$5pBo#x!qdXX7Sn$L3uieD~s~z@C zD&gj-C;!p#;q7>S z@v{D|mOqgO<=J7x$-778$Z28uW`zycoOjEgVs={p9?Tjw+BS~)=hZ)}ZLNQKn>3Lx ztM#=5SF_wG5 zICcu9ZH*9b$cup=G&FxQL_!%rssMx|OM);l(oaK0TuKrozfDVI7lW%jYbUN56L>Lk zAe9Ka%~JOSc_UM?EmA|moQb@lLYxVl@x0MeL*&cdAH}j-q^3fK;C-x&nYAqygRS_? z8?)1UctZs^lX%?)*U~~CYfHt7Wwl;jtL3^4kfqM-!Ll z;qyEZ8xQJ4X#Z@!{PU6aj{HHf8?-Hx{}L_~5wX(osB-kO-rG|jDqhujeh&+k|G^a*#)1?6O%yFFpW3HbxswTlKHkr)M zi}a_?^U_h&5Q2aSwH8$&n#`So`An6L<3?n2Mgsl`?Fr8?RC#EN6Z|azl)_oeOkt@` zTB}qg)9^}phx~kghPYIPYcMWyT&kSpOqlLZ-F4u^-s-98^|q~FZc1BlbZL3w@93^& zumO>N*mhtQfD_yi5bUc()Ul4MW*br@5R0PE32OJhdtjpYhzPXCmPxBtS(cQ zCF(#(i-V{BOkGK^4; zA4<3vNYF{uapX_uXRILY zZHIv`2+`Xzr@j=FHul{wu|bX;F}T;nBNA3bSN(N)$Y3di*^co{-)Lwh%tCr zQ!y+S2aL+HmR<_O(Twputb|wpKVu62WAMrZIC)?Y@C5YXB!GETJ6MEmL=1AxpgIJ@ zv6(V6{9Ymavm8SsHc;hNJVl*M7Mx5-LiqPZI68Ag3X8vNN2?FJb22SnTU^sTd$;3# zQQ37>wyYlS1)9h4J^2H}hZL$+jtm_L2`E>|XSC@Ia*I*@4)D?JJ1a4N-G}|y&V6o- zs~dVtH~S-{{^m&HuW`I!#Ty4CNYih`o*Q3yafMU{r3*n-BC^Rdp9MO386?)1m! zx9u$aErg;e<;gM>H*gv*ij+wa1Eoq2r4>RaCX^rukV|c^K{BF&6f6`T_5<|y; z{h==A>#u*+GGOhi>XA>%H=~OcWVzno^Syw}F{tljkuSVJR@9R?w?Dtde{Y0CtVIA{()a_l|nS^387X<}~yL*ysBm8drd>5cxjNNcY zaBlgZo2c~;j2*<3iBqFxKC3debYrzM{;yZL3@ zH;Lq|?}fnPF1VW16Os1Y%iMKpsca&yqwrh{b#W>z;_w?RBwmw;S z_PVC{t>)&>-?dA>z*+AiF*Aod#r?<6j%zioTeaR>^VNPYsu+C5e#h~5cJ`+&-GOJD z?fFr*4a1IK@)XT4jMhJO8qNFq;|x8z#DxS=pl#tn zyW0wM=XFYfk~D#Ej@C?bsP+6Bp+j?rfD_hI+EW0Qh!K3?%?s$FXG+> z@GG1*8{)fn-#f%rIP9n{fu666d;Q)mid1IH?-e-ULl8ah z(tNE@2$N1=^p-fxiwEj!35ejh)YK?pwkRD2gVr-|ZaBh5bhA>@K}G8O2_P_x*R%DJ zM|ESVrzVqmHE&tgd}{ox>{xI~F-J)sTlsxOis}+km`1MKLkM~)CR0@zv@~XQQY!5x zGBeU`FK4;Z`g)X%^jIRnefEfU*KT8}sLSGLILhXF_t^3+;XIq&pUWroqtAvPxDfGe zDzf21xK89k#CqH8Pk;H-#n<=p=#JdX5dWlJvHMlepy}R1x)cNui4&MH^fX3s=?pSG{ zgiKx$Ol+4R5jg0XI+RHQMaN8^8%KDWN`cyr(skrLCMN+YNJc+mf#4(}(a6Vx!_Yf7xAmq-N*qPBc1sqd@%g$!rtX zkpo#0`rDh&KX4oAtsG*l?yK7y!}42r-OBp0@$h%co0eB^T7NtpiJAM%vtsjUIY$4Z zQ&dKw{zseH!sCtIEB)WIwU^gR6r&nmXq5cXJvag@UPwY{zyg-Em4M`6euNx(1k$3; zLl>CssGs_4?MV`9WZk{7d zOGwwZb&+BA(hM<=aNh1!IBu^BqNI_iJb86>?=4#s?i;-%Da_+;@>rXGg*)VQ5rfQr zR-eGMtwaRWHyU+Y@RtW3k7q3N9X&rf4B00;Cy(<~A-eiYj+NBNhK^rTy_~}D-~2Ip z+4rNvp}cd$-RoM*{uL|hQ6IgJ7jJmJ&?x>Bx$M9BiX(tEd;J6{{I+axtixguW-|KRPz%>=XDr58e|GUOcuvV@hUy8=H#Fv(;e_FhD<*VV*zZ|v{YFY z7SBT~*SV)!q~w0Ip0lH)Yd=0g+M<}lFk{7`#w@?w@mblSg^l<_e&>}^Dn=I%o>yN~ zlW%V4C-{?;WQS)CI;Tv%xmPKV8m1Sye=u!v-a73j*7g!hlY6;m|q$)h+V zU#S!Iv@=*1Ex>`%p@>WpgVejAK&__h*^+c-R?Vh!`z< z?0;1Aa);ymSU{ykrG9|=yQtcDz@{b)x zNli(^`URni-##fgtg{V3z`46{U^Wgy0)Ya61~UlrhDWN8WHzaN`upo7iy=umwupqO=!Pt7b#3kO`Uv7sBk?V_l=y$OSH!wk>|Z{V&R2L zyWt?3AYu^ZU+CoWCvFhIAG^MNm{Nk#CQw0yb1iqd- zR@dx(u`2skcFqas;<2m~56{+}dgpS)?QyDXo=IX#bGbm;ShXj7>O`v7>+Oju;-p(GHTz{QF zM;m16yr;LPz1N8NV+`8q%p(^LV!W6{4Tl>4J*&lj{qcPgq^6F zuuMHrD$jxAB;RMmW8LJQ|NX{)Teg?svrQcQw@ntT2`56M;0YW+X+2h0sX3S`kL(8- z;sW3tno6d~BdDeFuTse{1^_S+KsO^Cg))Sr2eVjOECN$N!?1(t#J`xr4#2&f@(dHh z0QWBWRt^jTq%(~;k!>n6LapTZelkKzB)iL(Hz`$1#tNY#v8Zw^ zgp>xhup<~HED`~60}wY-fOZvu_(L9QM3T~x-SG6Gle#(y7rkXK)uK>))Q~bb+*qk0 z9+?YXBkrLNhMY(CW4h^Z_`x9VIPeHml;|AbS`9OKDP$~77R4#HA5X01auluC3{I>S zq#aXSN|rpPI9+{|Gt)J8R?_2>B-=Fq^Z8QDY;f25@WRT^kCBgKVD*0O#I2w-P(aC2 zS4c^y!r{K7RKpM@E$hfj7p1(gp}+={H18WKF3R4w1f&`ios@(ujgL7i3H3R_3Jz0I z{>Azy^&=LRhlI0^Fa?E8vd8Z!_x;oJa6;qOQM$TkRYA;)T6*5(0DU5fogi0shMwWS zDJI0rMR+u|P$I#ROZPJgERGCd(4&m*6FO-fbaUW6-H@0@XJg0`qDlh^Tx1m8lKHY; zVNGA04-G=8{PwZhbmNOgI~!9uq;>e$(_j4wwy%z)&t}@< zh(dQrnt@M3n|m)(hsptdRfDTC+ED0>v{cue6FFE;3YJ3#(`4kK-?u49UOS3yG zF{ZzM$FopG$dTEBp!#4rDAf6JXPGb0onm5sB}%MCFKzjF?dhRbv!Ajzd(zqKtjO6C z{eU&l$7)_&Ui`Ds=TrGI?c2-jb!v@6g1=>Roz?ITt7!Y&qs2dWR!W{8bp9Ok^y8#_ zTEm^Y**_e8O^Tj09{D0MZ)1P(wS$$j9|A6kfx{r?I|F-gq5!4sTYwb?=w_Ct_lI_5 ze!Zu{^`}E=s@U_zohz5olJVy?l)=Z7Z*^22r6rfT>O+t=p5ks`>|hdqQeN^AJQ`H0!`Tg9 z%3{qqGYi-=eum@Ym0V+KTk))n=}&!Xe}_ey-HRUoJ=qP%Wy74crO#?hpA&0Vo^7!_ zPpNm#GVIUKZg9=(iMiq~Z^^e~xnntdKd;BbHeZ(AYH#rr{UG(9H98%qG{wrw%gZmfmMjNn$MnPoh+~ip^fVv}l-kh|)Jy{V zlqj7CsYD=0za^ZB7b37tU4`ZBd+8S$ci0ej*`BCR9l1BCimlf@gQVt4O_+EqMR;0G zH8<6^n7g(vMAj;t9VmP<+dch5=A`Me`q~|RlkJ!tYa9GcHVzUSb&HLMW89M8j_}x8 zaXY_e{=?o))+#HQWqy6);a_Vn|0+yytT)b-Onis|0X!v7+y~@>AD=2dz82TL10^x6 z@^1Ggc27fR1bPswn738SjgMDQFB+rOz0PBb%MVd_@SWkW?AE$(hpi^;wa%^WHXh2lqDD$jDQlD9{;wS4 z|GlupfA-q|wQhjo25?jKV0_D+MxvA2ZzTAJ8;*Sr=iqygHNS1fBKuBd{Us4dre`!!@tld_>+E~>IE?I zF6coV^c$@;lb6Cyhl;961MEjSO)D+a1ymfG&-))4{u1+gp{P|Q_{7zr%<`%iBcojo zBdgmIhk|O?Z{=5-bqnmBF75yw0eK%9qMoxKK_sSQY;oz@Wgo3h)SpNvqB_#K%g$RV z()iQahzI*%WmWtn7cAGsRbqfZOpCj}BAeodsDifP(%jV(1e~~sRU)S<0@0O*u7shjMhGP@>Y?aUlf{vx>U{s&M2|EJ4$?Lp`ZF;Up)&5e%VhqsdRj^HB0Rc(+G@h< zS*y$I5-jPMzb`3pI1V&p_#tqNJBYVT0puz(gQf@EZq(VIIc`%GSrrs}^Yn*;Cco_- znZf3ss!D4QS%oXk4+MH`5O@4Uze_(<#aP@qJWf=5o|Zw9$2F8CpHioL9Uou2SM6T$ z()q*g^{V}M!!*wCvfe+OB;xwqUQq5?&BvXwLhnDnFZDL|@2mQ?|I@`o@1!pr9aq2Z zmC<8{0U|+fDn~koh_hgf!0A5$(4+QQHACJljR@vV%_FmJYC6nfHHc#uR07ICa?F0H zh878@44vJ-BHqbRzcgp%pRcxJ+?lK{#EJ9L+=HSk?T(OMciif5U%|7dpNif?Brw`2 zpX~CoNbGEM0moxUp`~~REVx0%Sx6%R5b(qSJ#=!WZ{B2^p)LM|R$871)lWv?72s%) zhXbB60?Gcdom2oIB)pBCL_iIXyuqfBAfT6uZjYC`cNCim)w?I(m0A*TOocB^a$S1@ zYg!qmq^H5xiN$;BKVuUh5vme|V4Q|{ff{HxQyS7hctNp;?rDMt@-?kEl2nhzzJ>z8 zBhYU{Lr4|$gq(q65P@-=1Q?HLg5};K+IJe+XOBClMEG8DPaG&zf5a+%w_%lwaWn;T z`%e5WJtG!3zci?l-^NjV)#PSCR8zuK)svHVdR+#+4`LJI9eV{79ki-XUH^9KmF4x? zCQUZdty@O58#Ti()Q#jfC3FKHKY3xa@5t4X8ugE#zBYv^7Zc8wqZ5RpQPmFR_+xDG zv*X;O@gM_)6{2|IVDkdi4;4zCV;iGI@VdvDYTqjV&{9y9Zm|&imNPWL7&J&oflS%G9tvUu0KpXc*b-PIdE)*vlPTNqE~u@!R&l>11|TQ2v^?p(XJSMWDd+1nXm zYb;r4r2n0fyYuAzsb3KJ-o_rVr^Y9VC* zHpSVq=5p_T$MftzsIAd+dsi%SyFC+K$-%lXdpVm_d02PYIb@JN21k(`<;vlK=%wP! z%b>JNWWOS5?_?2%Tjnjb6@V6NbOk2^X~4A`-lomQ*B1j|TKebG=^7)R*3gK(B)eoG zjNtaamcqB}R~jDVguUY-;|iwuSgEU0(iPwT!Pvsv+!=qLKH~Nv1F1w`iOKk(@rA(Ka-N`e#8y2-3qxIqT*clm*=Sr8m zf19n8UVNC(l-KHNZ}1#Z8H(Q2DUEXZRUG+h(@ZNrRw?S^<2+CXzKkJamr;X2G6xou z%r}Teh)!_#TbgE?Xq-BH+S=@@%)|RK2qBz`F)M>r#=yE@nRA!BAL3*#1DQkjhbD$Z z-)RhrVl1nkJl}+OGf-Fnqc1&g?&NR%tA1I%B@^hr-VeGG(rq?sGR>$}J zF0Qxd52Avs?dN6wqz0aU!{5-OSaSkcV z*aKaCBn*K*2t?B3Ag1b=i2#HQl*(d2N9m7>K$2-x!2vDV>z5wAg2_k%9i~VQ4PP3V z2XUtCnte_jF1;B-R<&IrK5PtKF%#@NTu=^OyMX;HeM0udq*cmGa}Vj!J$l$Nui;o4 z&u*tnq5vxAh#HdBi%69giz=IlRO4cd8ge109}S%H^|JNr8@IDK@>`SB_Ov zM7WkQ@L}uhz}lO7#iLz)@82;W3j|-%z2+zX!lM1I+CqDfg~zK`8;##zU5wFWGXFGv zZU0Z7G4u83OV4iZ8EjzA?SOqo5Ajc_n|yykN;FB#xT_4p{8N3!_0)IJecB2v0TTfb z&?^aeOB~CD5V=Q1D7P@@rhj2#Y@nGj+^(Z~bA(LXgi;_=wc)(i@V`?)7T1DrC zNYMR&^*?%~Uztz6;r(}8BmrKoI$8U>hK3pe^aPxJ4-0Y0mV-@%b*;?{FjNT}F+f)E zz${)`+9QVew(voA8Tvw(W>@x_>)zedTzw+Ac?|LC=yzR@*G$VIX10(1+9k2YO|e+z zS>ku5dvxpUGh2}^&lJM@vcL21kMDgy(X_+dnvG&M`XT+gdNx0DJ&`#P#E6E{&-e91HwJmlZA!p?;J5N%$d8f`oO1KoG|7? zw6Kk!sge{=H?r)V$$a}OrrP?*r&+|KtyuB3u;X>`Mcqb*~$4ZCJ6L2#ZvvSa0Am+NSs~CGMF}CRH-uV8pl%1IUjwZ9%ovc`i zk1fmhMwVjUC+L`5=vrKy+i7UaMXObBL!LHny#!DI#25v>3OGQdARud}eUFr#JEiu< zk3E++s`6ziB_Pq#ixqeg_**a!f^i8bC>C`%pG8#^ zAWF0$`=1FzxV@$(8y#${i8gj6A0C8w9lrmj!eWu_I%MFIoX6;FxK;WI<3<(rvMEH5 zoLDc!P7u?RBFiIsA0PYMs^>=x z`Avz(kGkk0d2`hD;pCz?=-uA?x`&v|Ei^Q}$Dad@V8H;aVnAG6aJ8yEXkXryno_Iy zS2M{Yac~X-3KUc1d@T9U)h8?kF0HfSkQk9i9li?^YeU zh(87E|Azg~{ISb%OuZ$EvR)KX|W(*86rdcVrCZ%E^Lk{J4l%aF$S#yCvqZ@lW}hV$P+Qh z0QIDV z@UJ^zP!#3)o>9mk1l!UFsY}X%0B|=w$~2Gzop8oB^TTWl`z3w7bHfykQo+7mQU~9N zp|v|dn^C;15vp9^2v^{lpL>z>J&A7KTw#jNg&9$NBR>0&-H&TVe2)D2C}M9Y`iX{; z_zjB=Z|6ek3I^qw=Z!G|wmTyOhsMT5b(KU*v@SSEEf!GV9D!uIkGwF z+diUOxH(C=SD0bwd4wyL`Kd0*_0!#qSmxg8Bb#pktQ2TbLnpy0_oy}ATwF4KbpnX1 z0#<~;@|y&op~NLhTs*-mG-=t(Cc%($l#@#oHp?j^<&u=CRqcl2Xip-M?TPZiC5`jNM}cZ~h(P2m0Cn zr^x#LtDFD-AC40MRZN+PMVKrs9G(fOWWz!2UiwO?NVKr3AlDS~p}deq7?Iyv0>H1^ zucYBlW)6lr&m{^#{92Y@D!qaI5D3ic&ya0pyRO$%K(iDViS@Qc9^mp4UigqNsv_kS zc#;_FzT#9Wzaj@gI*IQ;EN6A}OSqR_{;p<7)tanwOne)6xgcVEwXR#_P&s-hZC6?B zN?ZAz`(uG^M?Ko^_`e_dG3EAh`}6QO+w-nF5BGLnTWsEbPWtPr+7-GJ^|b3Ct_1)s z`C&vA>M^1PnV;BBmC`QIKg=S@O=*uCqkMxPyo}Mwlu6(h#T!tkAgQ*>5V9=5>ticP zXG;K}WazCXqZH2*U$=SB({6Uihv0;J*Lo|6393~aK)5vb00gyd6JvdkJygNbH^@!I z*f{02mQ}`J_wea6OTGom_xJ7=Gt{r&k?jONv!yweY_FiQnaoSoXsI%uX{U2NVG z*8R&BXdL$!Bn>DLb*c5l`tB*MDltLQu3jjy5z;`crH>QY;!vP$Kk?|nXb!*~k{}^D zJX4u2_tqQp?W)=(=>iQ!yY+8fSl(u58{gl?D@XO;MGMm25a&X833yp3rwAd`Px5`p zW=e93R6_aOS^#4)<=y75*`PmHZ(qJJw7t=P7Wc*Ooo~fUmr3n&bu26}Pv&2_4JVO) z=o^-0#5$KTcfiS&z*aYZwKww1T-YP=L@rB=B!FS1a9P4akcJ=|6v!e1_4Q5V6d>=X zCa6vl(cj}YKaqIJL@3~vkmaB`Htlk~gZAaly{{HK_jQWC4$0UZF736`xuWvAS^R`j zj6!yGp_%j*DbJU&JIuej%!9SrZ+{rE3+?}-r||z8_22&kpD59sYC#mDmJ#*zl8EgH zK>NnQvN96-g6P-tfLN-hu0E0T+_x2tv%G&a7{Ml#%bAz?^e#k*C(#r>V(V3jgR{C_ zz9_}(B>BM(iv97W|&gXXv)MhuL zgO$Idj>#S91}cne4!Je`(v7*?>=Cl#5$t~~>Z$<8{fxnv7XlX|T!nQ!15)1YEj)YL z>}eA8+g;4D5E-Ht;{2F->EHIjo&DuUb9%zQ*=8xBRwDMUBJbzp2&+!3;o3vx?E7`< z%%2Q6@RRNVBJ;np*mq~~QPvygB?gi)z^V#iw&KxJd*a&(x{v~#O^+^-2q6+63UOHO z?@b$Xq7%iTf`0~EU35rI$4HpR@|FrpX@23yGzzi|Q|et`Ee6*=`}Rw%I+9u(P!eWzI0U8#c2%Z{;P(?PB zA~Y&AG>}xhRfUVW-ZOa~vzj*5Ham=D@5HhN+fWDkUX#z=*SK1*v4BpEJd@3Z7yN^W z?myE{c+hW6TRtBCly>KZJ~OgY_K)BPcDcgBV5W=gt8Hi1v(xF{Q(xCy9^2=iZFnbY zf9Q^L@`qTHFUNj=*-oA(@&f0;zFZHHQ_qwLj~h8Ae6N7G3t1s5&>5gaXo#pBmk)xT zz|3}#7!FgN5b(z)lZ^~)qU;SRwZf92_8m^roWj{c5rMOjPZX-6=Po`N7y24XGk-WC zG|EaR@|I1LI4#+z*9GED?GZU-8xdinWqE$_8@42;O3q?VV@gX3+G*4SXJCuF{}R{ivrPw`iW?wCqujd)h6+pO{>Z5MyMz+{uGv#c`b=>CVGdQ_ZFNV3=1eq zxCgh^J}k6kB5;8tuXsMqsiQde?@-Qz_eX<0x27APZ}B`I=TR{2^?9HDY;#a|~n@Cqjqw-<7)=SZ1K=d!L&iNcaht!C-MQtQp=N?L(v6{TMGdf=; zBO;ls#akEW0_tOk+~w3aupw#$gjNgq7pApyoP!p%^*hB0Ll?0~xh4|8)gof%1Q~gE z@$oCJ&%yHd0G8B8IoNx~iFf5kTka}8{u?L$ND<-BYc)0ZdTy7UKdu~G+i~dn{cNGE zt&6zZrgiD~tsU%{0mXs`88i7c6^i^{I7VujN3S#=XeQgA;t`n+Res&$vi#)7-Ibn> z-PqZVR@U~Dioq*ceul@Y&Ys!*{bH(t+pA5q!GCUx&;`CKOO_CYOdMHj^awTpxJI{^Wfrr7RGiJU8=DC|-utn3iykvH>tmfr>~4AD?Fh#Uc@9(d8HOEufQ|e~BF{C2I|5bQ>TuOe_7Y)qu=IeX>MZUx}EvIS2QyCU!!-WJuCOJEdxb z+v||>KpmTIMr~eNMx2g|_1g}Kt8K!p)5IYUPtVVNVHc`jT+sPi-tgS~^||8Tywf)w zFP#2<UwtTV=*28ro;?W?TVcBnN&B95_?GeQ)Pfk+2a>JqGL~6>JM>2q7b(Nk0 zz6Op#AQUxK;E)l!jx zgPDwBvB#bsL7!iSg_gev)%sdK@-1lKWbvPH$CtM}|J<~5^$ZRQ@cetHO=PDn!y?M{XJ}%a67! zM)5uUy=j{c)Pgh zOJ!a0<>9Ozm~>Y!k-2$-2m_6sdURc4EVYw_>n>9TN?s_R?0Zd0t$3pPx&IWg9b!Rr zf$9?j3^>752VEisWLl|{+!4mK)P?H%-tilM!nXuKRK4964^Tt9FX^_waAtah=59x?& zftyjAAc7Q_H$}dCj)lfTuWqEZCUFbm&CT-$t_)|CTbqf(f5sY74dHR_-BkV})>G8{CV6>}C0o@a39NEl z-3#E!!NE!lvC3PQ8y+UnlUrpb=A?A8V9A>?awN+LBfnp;u_kob_&!*C(X-g;`Oj|okk0Cid=Ywh;W2Y z{5-FwsDO!7Bd5`uxz*GxLrX1@)P?!MtK!ii+5*u=J+lJ4X##91CMHPrXPO!rN$YDiYHBaV&nAdL^o<+#IJPa0>BpX#+1+PmU^t@SX zeE1^@gNtR=OPcV&xn&n6v;^Ne=)b#HE)xhTx?W}9BP`gmoFtDR>I3Cm)_tj502d1) zi5pr20pjQKbI%fG>~CSs9~?or43tH(`|DyVkpAbjetxKZ3|pG<{UXBao-MqP0bS3-S$N!3DRpA#I^gR&dq_>9`n?Y zI`VGWG%x9HAnNC@NA+5dCrn>E^L}+WeJ1P5u_sj<=oNCw#)fjaT}m%pNecQ0WgQVw zcX&Fp$rJJ^SDJJMI_#P%)Q~j8q#~GfYyZ>)d z_!;;5Q_fS+W*%aHOO~5IHz#~-En)mM+g;h;*|%ZpGBw6x_ZA0ECNgkJ zWgIC$7{v*aMfs2jco!4^-i?qpABJvcASrW{5)D_Q+={JTW!7>K7> zQCTUf5IKrcoEyb9ZpqGaWJ()jd92cZ%`|SC7Cu{w@V9@PMm=xCgT{%l%J|TzRY(Yb z36y|>asUD{E8fu45cd(=4pN{*El$XuuqV)9iq33)g3dGCTU_=O)E zAs%oYCANKcfuzAsrM~&Aibg;B=xu!)VM-Yrk#0m!vM3P=SQ4cm0z`KRU3rC^OM<{Z zDx2>IsoX~95Wng75RnWE;wbbZQI_mP;lS4NUFFbcUOv|3$%gRd#_^PAVokS^Vk6pa9`(BvQ-M>D&7;&B*G#+ns9$O4M z*7eUsywM@Nc=cHFC*lb3gEax2OmZr=X)-IyalU!K6LOnzS~$pSeyaE+5=hsW#8Utp=3#-c1yaV>FVj)KUp!Yq}Hk;PQiS{^=#F-gtHOf zx_KVUmlHf%2_GM>9B=UPHTaEaYa*9fYyFL<^~z>X9ShDaG|m0keb)bKLFjiYxf7^0&Q+yXii`Ymp@4KS${@m4<2?Na3Mpz<;0gEWiylzWn-*F z8yYbQKxuFYP}6f(P>M$9g0taV%IR3DtT}4Rozu+ZbS>z3pnBi8sCvn^9FJ!asTu*2 zJ4{k-d!cA`H!P*H4@D<%CFy=vziXi_^9~=W;#mLt*=9#@&hZA>{4~SO4dO||WN$HC zc=4!>R;i{^yI|PBx9@*#C*EE-UK+ErwBLbnN$H3rMf1iK7P&p$`Lun(Wy4e0uMiZu ze-SNgg^k`#9(TN_0n0rYUVZ!W;*(?7zMqYCFBlaYXbZf3IXn8_qOiyABpUi8;a$}F z-q^8+R}{{PM=ftE`N{YEc=QpycCSO@kIH{PWZ^JGC{+SZ!$S`zhMc*nC#OfHNU<8% zWz${bp|!?9KSm;zq616KyP6zYT1X#41(=10NPL4z@?wlv?WYZm*2O=A*lgw&h5Ky2_#n0K@Bo|qLTsmV=1UiM5vqf7Gyww3~( zd|-aA*&1}8#9LHyR~kwguCTEoxaJfnTF4p{IguiZ_g^}^;47iM?C+ixktn&$EkUJB zu=(Q_wJ4iFB?C%9vDdD;7@YDEabQumgx?>1PU)2++KEWdv;=t|SPqHws*xY=JMkTk znX>OV`NzfNRqdQ4>kFDyl^=EO$@FILZ@2XqI*)7xeoGu9A{>PNx6S)8PE>aoc8y)o-Dov-)v%V07C|+F7^z&DX>H z<8NpDb~o{DHDEa`AMwTh-N;tzouNLh+i!DK^Q8S76#Y67FY7L++S(O4)`4);Pb^38 z{PsV6X)=AV#%tbyPZWT7$q=1c@?kkJ;u#FAETUA!SSO!iTzT}i@DvBtoP^?%LV@wY zJa8TqWrDbiP=T%MaFnUQdW?-ptqgBFPif-ZLW)=1i#S-^QDv|0#T$t|Ms{SJ8%jV0 zyGh{{WlN;d$$DfxFdxlMT@DVQM@4+$j$;gI2}qwJuM~t6C!ualrV!eOHecEMv%93C z+(sOlkA%LG@*y70?5S;Ik@aBcvd9`QHj6^U*vdw)s&JG?X2mNLNVf-^J|C!fD@*xQ z8LN+JCN3E-sA(>cM5T1+xiv#yp@GkW1D5UsHm`THd!tPwyAszucDoq$lTutC6*G3b zHZJx3=wn2v^Mpfwg7ttY&JHa?^f`fJw?mh3O7TWcZt-E|!&zGR7va1RDHaUN6l52w z0(k?<{!Ll)p`CDp82e*AJd!CY^(_mq)2w0a5eoLEefqt|HJXMVwp*zHpr>jytaz^_%Q$>-GZaeRG>_ojxCIenIA^zJw@Xf7p z1~&FAJ^2XvcC>|Ep4~&9a)p)2*RhJhzGfGbV|~-OVb>SiXJgI40HY|XCBqcRROq#w zL%kWLB&LqA60f292763#qc|#tj!_>~jUS}jvsucKm*@lzOD>f|gY!JtZdJ=sUMZPO zvMB?mX_<&hs6fJrh6RW7;Ajp%12zmlb&RE)jop-K`g10ln>?J1AtcBermyPPA0&iC zi`BiT_Ax6`E!g)RP4dzGvHOK%Qdls~f{Qk)k~%S_f*O3zX5Eo78K%S*Kle1L)+1vw z#66?aE#uJ>0V4)zNezwkU?V?SI8Y3Y_7E@{UtkLK?Yn1GthsGm>0@TZue>DxPVxv8LR!vA;50ZDjMUkdKeg!q2T$th1##+qR+u+`+cpyf_*o>x4piw03dd}u4G*TunNKW5NEvT5z!k>_dVQ}b}0D&;y zJ|rWNz;Fz}E}CW;rJ`us(&IdcqAUZO{drQTE(wAeN ztLAHOGG}+5u7S}1;|Ebo#V472(f3chttvF@ihT9UgJubK@M@UMpWVUC-)EI4namnJ zI*9+wXUn-r96mBtyCh8Fg}``2dWqvuA6SSL68fkNMUzYt9Irk9=cX_IEk{M=@Zeg( zQEv{*1QelH=LC$E+PU^#q^vvFE%iW_&=MCeXAjNbAGe{%~I~QSh@H|Ta56GRiB9BN*$=V{zB&T)lFyd&O)<~V|&a^-7O1d?#~yU#euPf z&bm=6dFKwC_g^pxn@p{|5yGvV8{^0KW}h=-r9OAQ&@Oadx%pf*Z%C_)$t*M}b-q*T zNw{yuEDfwGbrz3ZDfA@#xKr$@RQ#_{*g)^hL}|gmLSZZWSk4tIH*tsJFU@BgdeJIw zjBo9aPM4mSTAAwF>e|x1m8pmXC81O?8YzyHitW0k8YXyy){8T(d7DYJra6Q1lvO^O z2~>6>NSMp3oio8^w0Bju)4M#`UPK6f8YW|CPv|x*3u2W*l=VpYV-UG8J&gTmqPpVA ztP1QR0ueJxaO-0mFv@uJT`Do;A>g&}BMvAp5WvH2Hs;o4UA*7`Oj(KpGWW^_YM&~{ z1(nE>%aOvEev;<|iAca0xrB=qD&iTYE^vlFQ^X3*y#`V1N;b*N8FY~A52^kXrTW=yy z4Xebu^cPdb07>H%AxU47cY>-c@p`zfFp-+CAxD-a5{1N!tf>YZpghKwN;Koy&6xu= zArT=gf&&R7nIjlD;c0^qch`+8!g#o&nqx)01PE#I>|ZS~q7V&lSbN{%NYT?ts*T9( zR@2nmcjqb(Ayn)J34m+a!q20Kdlv~Tq2k>5Cc;T*m{cdP<8)0sn1;cyN;X;7L1@)^=Sw%@o8d?YgZGO6_*w zmj%>2Qf$ysCt%2{ydc}UyHZOHe&l6fW_JFpRk z%{|b?<}xJ-68rj`iyJ6?&Lv5i~$nW}jZ&CW$ zduR}dzxr4F5mVt){M$44oj+AD&L835ly$~eKXX>#3R7^!_Z3lEoD~k76-N9z+Z75e zGd5bTl@ zpg19583#tl;sWQAaMF6@4r@q3PjZQ$$PM36u2$Ka!eV+PFHSIZF39|F#Z0f&oxH+A zSwH%{L>7d;B#sV0jd0Ez>puo5(qp^wJ(iZ^<}<$mGT#W?xJRbmd7ymFU+oA@%Mi`- z_XqPaftMJf&Y+i+9{tsqFW!)F2 zFP95-JgTqTOTV;zZNz8aK4~Z5Fll?6$$Yx=Zy)-$k55>=qVj_5)9K&G>^___DtX+L z!5)2!KiqJ&W#*7k$-hDW^O)?{$s!pDXIl3!@~X!E_n+e;oX&Vno+hOjz0A~9P@~ed zpl;7?$t4UQ_D6%abkw^GBqMuVgQI(IL01`MNEsc2EMpWx6c}fbWX1&B68$_xfqodg zT0z(7DiE!^*h**>D>Y3Pe;(${O*d1(q}IXkTzV}O97UN66ITIl1}AG#*hJGfZUrN{ zX`)g0Jbh%2PMKzbk?8@rPB(<2KwL)B93xVVJsC{aau4BUPwMHlXMsiHcu^QA=@ol$(`9@3-#HCar+?LXhH_sn1D z{u*u6Yb$`lAK>HvKMkS&->bxcxDNteZ3&$ehd6!;5@G3s%{&vF_NCb8C!euTCo+%n z3z|;hi+@jv0*pa8?;wR7hZ2E@Et&fMs}w{b*A=C@kHyRZ*ZgrNKRN+!iJM5PPcq%& zIh3~txR$UJ>mfjmZKArRlWC}2x}Mt&IerJd>wgmyE61mdngm*32Ju$gK3)IyYT?7F z_Nc&SQ|An~&i9pAwYI76s^`Psp1ZaB*Xe*M`GZ-8l$`)QpPdQ4;8RtjU=U|~_%mCA zo4#rKa_}wqyhSckHlW~#IDQ>u0V`6}sBgfhDuRROsjKxcWv$QXx)#to@@$fNLlJu$^sR z-kaZv3;U90SmO56j`G^1lKsbni(i}q-rOIq3Kh7kkZkpMJ2T|g5nrpkj2pZ>j`=LN z8u)*f)`E;edGK0FJQC+ejOlaJxUA+)x}^V1)8Ndwj1L!!o`e(z%Fx5Fb}+qaMtdgr z;M#g7L3mH2JbWFf7a(%i|BA;5C3OJQ=1 zfMywY2mXJHf@IqDG*1T4XPyw+S<^!?@#nCgFCl(ZoruSZmVG#opl!CKJ!CDw#|6NK zXAH{)8zw%qdDWWn1Rau5=}b{g3`x;^e8GWdZ|kGR-?Pha<%S*K9`VgKQMoN{V%Pj$ ze8>HF$_C7D2>^qpif3Y|hemm(efs<7S6L}BuXdcay}!2BJXHA@UjOpXOOECN zS8e;&bKBn^Hj6VY4&n}>h?dk7L;@H9X9PG9Tl7w9YqF0j!@yLp3jhT4Lb8AfOL9aw z6_h!ilmf_x0K4{RuJDb{6YP8m-@m~kS2{}UJ6JEAUiyGezj2u*(?q3Gv#!CizdkGR zZ{S$_a7yM2+Ye`MEnj}(`MI}Yr(6EQ!&l7TJD1+Zb!B8siitlD@^NQ&8tG$rs63-+ zYYq(893Kd~waxaD3du|gk>>0aS4%Y<)$hSzQVbU*7U&$O8ni@3Oy3Fc;lAtOSsyt{<3D({u{N!B#b+!t1) zzE+v|TsCQPs2Tbpb1*Hr`#7Ij{l6B4|LZ>60REW^8Dt6JV66}ovIqJTn~z#mH5k<{ z^--8pgCWmwhr@8F#n)O(cXZg;Kl1=kAYrQNficA{?8dP3f_m4)NVUO5`1ujaohECY z#(j)C&igYiogYlZbQuX0^?B0y2XjSZb}W2$!)k>?R6SyE-iBd)cSR?9Z+!gfm6X1O z*#lH)Xb6*;!sKN3tQeV$m*|2-lf8qG&$DBFjp1wB>eM)BNx9zixkj@Lc{D z`qyFhxd*d-*zLKUk7=knS@`DRH+^2;J1e{w^QCq}`!~6zW)x zpQ<`Z!f4!3(44D^D`XZ`ooL&J_rNHEUkY4`+zMPu32ccL`qFdVA3HG}7ZTXwZYb>< zy#w>Oj&&b~9@a~PnyDKRNecMFx!#;~Q<5&L`CRYU15D_y(R0dxT;1>MkBso--mYCE z2_pqu9>#)^7D*Z(>pC?zpquE%{K8}w5Zxg1L@m8q;>m;)#A}vvn&)>_RnkEITw^?% zs83!!mUZHALhbZynTm1nY?{t8w(-gh*Q#utzIvD2<<0~}f?_5^8&Zf}GQAU0Y zN8ehq^_>iqmGS#L!nG$HaP2{1yWNXQyAuVcbJ{CO2&talMzi?JoJ8-y)@?k?z&5wO zy;(%CwxJ`nmBV-cuX3d?OJ1&b=ZEwgCaT}M6m1-*?#T8Q`gv{?ip;3JJX<;Nn|I~p zv|)^pT5h>jh2BDY$Gb_6nZ}gDTl@lIB58AN5 zr}0L0f~LK#0qd@W9h|_?6S*`^)4X=#caQ4D&SGhRW}x9d6_Mfd{_MO<61BCSb;iGpYkG==l|*E-w#z48;#&d;CL zpJ}|uG`=Z=YCk0!ScAn|JV>ZLcJAU&<2A3gSGV{><5qdDTpaK%Ecc_H{za3Q(7_3l z$7$M<8@Shrs1jih@uGJI3AFcf-;(rB5UuFpM0WZUe%LKTiz3wFKhm(NLY zn0#&*?0kCo1Yyt+z7QqyVdAlzR?18lig(DLU7Db8i;aTB7^R-$c!$slva3GQ|oP~f? zf$*}ehv566C@vXDEo@T##aSH+7QvBs>fS2`3wPvU?6!U?6}x`z{RMV>Z%iXw4f?&(x6uEnL7nvF4YAQZ<4ZErvM={M%}57PqJh5* z63P!jjvBV+4BT00^wii;NZVHU)WQEe-*lzG`pyX)+mBQEHSf%Zq}cSOF%G6xwl#0n zE*!T#EL6l{s%+ z^0V#V)hoBKnjUgi2}O>bZ4b_Fw|{!4r=t)g`9;@pbAs3_*E-S6hw?83V&p1+TgU`=`ZppSBfS9l;pjdPCwf3H5+MmQuHCb zb~l=brzesWRL3~y)?QoR;?2ca){I{UgE8l{=pkAmC`AK}(}!ht(;>vLTU9m@lxHlJFHJdi9M+0>0$P zQTwnLhX)hhC*~Lu;96Er1Z4E_X_FJ}4t59isfKR7N!yN=4nmH{WH=M}92`Vajtqx^ zj!K($`-JIF#yJx0_Gbed;Gie_Wje}~rh$-HN_T0A#*KOMhm6f0dcGcQZ?t8)91a?o z|I<}c)Hi9Z%8%CGjJ6BhJZ+V*_}_a?pC7yz>^6JGDP)#T{c&?Ccl7gDCiBSz8~^|! zj#FK35jYF-K5=R=0a$#iIGZ*Zh`6}D zw;8h?btAyCc3H~=22qE{N5L`FD!@COz`aR>HT-c!cx;7mmfaX z5q}o7taWlTV)sY1jjqJJ;&ii)ZB79(TU`G(E$2&G_|& zy|y#La+68IiTQ{G&T<)&1bUG*XOyUjXl0>m$OGq@TO1QfL@8hq zRwhEsM%f`lJOPMCT#GnZrtOOX5OF4x=miaj04l^_WGk{omlzM5qo8QqkN{N}i1>SJ zNWoCVAfWMboybY!he%S_(Qv>^0t%K<3@ROpLsBmQssIK;*N}4w4g+UpJp|nnzl(!Y zHA3GF9si5Uk1;^9Wa0AoD1~e01#8Jy&=2_rvusG>El0hDY-5d z1gAsWfB!SJze4iP-)?Dd1~oOv*ITYRUlr1f^R^B@4Qw$Lu7@8z3rQxoQT?g5spKmfy3 zXEfii1kP$)a!8%h&ELP@{f5#l>yH86Q|K^bKHwY_k`JS>yVE14la|>hVYp*#A}}FU z;96X!F!oeZcB&lv6xL0c;EwT3%EIWSOO(auvLy0nG$}3-{zLU!UXtiAQOSD~zreQJ z5gNA12y!{XWp+e*fLJIprcn}}W+lD<&sAEGm)HclO64rf!kj=7o7brH(%l=qjS?=pMKAJ+IQMXbDA=KMO!5IYiG0{DA|FD8 zl2A}EF(SXVT`KcpTm`GtUpK`=-C8?py#Fc%`PA!$vOTB3Mq^p<8<`(%0M<7FeKNK} z-%Qc#@Gn-%xx+l<*G_hAi)z=T?aSsX8vmI+-1Iw3{~C?E#B0?_(jaEXuP4cpA%0haJx z*X+tb;<=;JR%xl-*AoXTG|X&G3q%Z1j>mmSn|o8L<|WU(9klLi+Rc2cFMj8+eQxJ` zsYg>6$f^C@s0(KBTE&jX{<%Gx$YKltg6bY#+~t}1GVY}~e)?6~G5lLW#rLO#yem6| zGT#>EDT@>Z7sV$RJ;URuT=DUK0d9eF!_N3{MQ65co^-nXWT53z{W*i9R*I=FdK?z+ z-IXGaYCukm(x=uHDx6&|r+?D6*t7DF-yJB?$!oN~>u@yMx@)rQ(N^x?nAkAt^-2UZ zgrx=;WJ`uj@YTR*_+&_`<1+grda~t?y75if4Fv1@Q5ggZZOlz^T}BMzWe{(W#?TO$ z3{VT{B}0!7l0Up_IJ4Evzmcn@KXLa&Vy1W&q5Bgn-l_V&?G_IV@028nSQ#2ON!E4^ z*+a)TR5NdXa39y%s_C3L#E6{(6OhCQ4pdo>folL8Q|y2Gq5ey6&Hpv%|M(05=js1~ z5j?<9gh!MkamExAXeMPg1@CnXGwR>9J9;)6TjJH4v`P7%(Cu{!0*x#4`c6|m}DbH?C#WD>)9Z-RPi-K|5bvFtFgt4t>W#U|7@96M< zxDEd?ccS}2!<_Tqf=HJ9Oe#PW14M}ksv(h!o%uchNCE^1Jyb)lLPA#&LI(*Q5fCwSP(%<^5R`;o zg3=9$5{eXS1Pdxks8WJ}fTE&;Qp85H00Oz=Ip>~r|9@wF>sxnyS=pIAvxd#=S$p=p z`+eW%c>+7HqUF?!=(_Ug;c`vDflc5|563rbSmB{+5NWjucaF^vzP}%WpW^v)k(ml?VSk@|y9X3l^RunG1gUxtu4LTjg28yJSMnepYEA z&+pv8D8E+V8OlZP1r7FsN4=(!#5>~lzP^=ufVCKvz1pl0cl@#WshdrTC*v1xeNvWw zd+Dh1a6~%WInBAQqp>knR8u3LodQg-vw&LmJutf63zpXT8a>u+fUbS}OHcXt3d*&6 zC#to5C+`h*hk`4+0E2sZtz$k73~^P#0x*RW=dKlgJM;Q&{=(jZaw%mQwX@O#zNg-0 z3XU`6HKL5&PhZ&N2>)eNowcOkldhU%P1g&SARNuy?}^t{fAyOA8Y7tUAoS7EiP*Q* zN#A-8$^004cRezzBIw!GM%lVY3Fv@nhhE;{?6C>YcVt|d?|(ZQ|DTWc|NB}1g{Azj`@utQDSpo123dMn{97|&!sSyKh znfRjzqEQxV(v#WUPN$S4FQ2((VR^@601&^zwE*JrsuzrMN1o!_p6u=dGYqFhMmojdEtf>Cg2sw@tq5*hHR z{Q#s+@FERQfcLy2uC=b3xT4z$>a-<-G1Z;G=xlvg0jl5QveB{atH7Pp4}$D~l8J)x2u;xDaoWliY2)~Qd`C;QVxeb5HHmk^-N{#^%S!uCH2 za5GkP)b7q0B|!+xY$svpuaVTp!&#L6bFYYbQ<$-Szqsz4>GF4fluL@z|r!cgJ0ySYAgr8(sZW^!VUx z(q!gPUC5#+husBOvlD5xT}1o!Gz;B*`(xu}cb3p_#}`ai=S>Wv zGm?J{BBjh{XM@FTPXN>Fq1PcWvT6;S3@8hyAZR32AZs63av6fAcse=lV~Q98gNF

wHq; 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

*AuZL#nK`$;cmKXrqf^MTCQG+8u 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


Qsh@h4KoA;Zj(v934w1xGBv+m6 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%0D{SB?4HG6dxEueQSS{? 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≺%E5YN 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%0D!W5wzZIH%+%&n=Qh4tio8@}g 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%0DMsKlk!mAKoMx5* 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 O2qRm2FKVf^)6Q4$?!ZR&~qh3=7DwK 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

gL{Gf;4L5sHeFpuQc1Zek5SELA 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%0AI~MCn>yFJX+%L}JA66;6!;uw_HDFFjNt&W% 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 >6a4c?hYFK`6T=O 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�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
mrFQG}D)1QlsaMIH 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

S#gwml0D8+ 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

{9wHkTb|Dx1-ADA1eB@{WE}fcs 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

P);E)jr?$AbMxTQFI8 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 +#include +#include +#include +#include +#include +#include + +#define SIZE_OF_ARRAY(array) (sizeof(array) / sizeof(array[0])) + +/* Local sample media paths */ +#define SAMPLE_PHOTO "samples/logo.png" +#define SAMPLE_AUDIO "samples/audio.mp3" +#define SAMPLE_VIDEO "samples/video.mp4" +#define SAMPLE_DOC "samples/document.md" +#define SAMPLE_ANIMATION "samples/animation.gif" +#define SAMPLE_VOICE "samples/voice.wav" + +void setup_commands(telebot_handler_t handle) +{ + telebot_bot_command_t commands[] = { + {"start", "Start the bot and show help"}, + {"media", "Test sending various media types"}, + {"keyboard", "Test custom reply keyboard"}, + {"poll", "Send a regular poll"}, + {"quiz", "Send a quiz poll"}, + {"dice", "Send a random dice"}, + {"location", "Send a static location"}, + {"venue", "Send a venue"}, + {"contact", "Send a contact"}, + {"description", "Set chat description"}, + {"info", "Get chat information"}}; + + telebot_error_e ret = telebot_set_my_commands(handle, commands, SIZE_OF_ARRAY(commands)); + if (ret != TELEBOT_ERROR_NONE) + { + printf("Failed to set my commands: %d\n", ret); + } + else + { + printf("Bot commands registered successfully\n"); + } +} + +void handle_message(telebot_handler_t handle, telebot_message_t *message) +{ + if (message->text == NULL) + return; + + printf("Message from %s: %s\n", message->from->first_name, message->text); + + telebot_error_e ret = TELEBOT_ERROR_NONE; + + if (strstr(message->text, "/start")) + { + char welcome[1024]; + snprintf(welcome, sizeof(welcome), + "Welcome %s!\n" + "I am a test bot for telebot library.\n\n" + "Use the menu or type / to see available commands.", + message->from->first_name); + ret = telebot_send_message(handle, message->chat->id, welcome, "", false, false, 0, ""); + } + else if (strstr(message->text, "/media")) + { + const char *keyboard = "{\"inline_keyboard\":[[" + "{\"text\":\"Photo\",\"callback_data\":\"media_photo\"}," + "{\"text\":\"Audio\",\"callback_data\":\"media_audio\"}]," + "[{\"text\":\"Video\",\"callback_data\":\"media_video\"}," + "{\"text\":\"Document\",\"callback_data\":\"media_doc\"}]," + "[{\"text\":\"Animation\",\"callback_data\":\"media_animation\"}," + "{\"text\":\"Voice\",\"callback_data\":\"media_voice\"}]]}"; + ret = telebot_send_message(handle, message->chat->id, "Select media to send (from local files):", "", false, false, 0, keyboard); + } + else if (strstr(message->text, "/keyboard")) + { + const char *keyboard = "{\"keyboard\":[[{\"text\":\"Button 1\"},{\"text\":\"Button 2\"}],[{\"text\":\"Button 3\"}]],\"resize_keyboard\":true,\"one_time_keyboard\":true}"; + ret = telebot_send_message(handle, message->chat->id, "Testing reply keyboard:", "", false, false, 0, keyboard); + } + else if (strstr(message->text, "/poll")) + { + const char *options[] = {"Option 1", "Option 2", "Option 3"}; + ret = telebot_send_poll(handle, message->chat->id, "Test Poll", options, 3, false, "regular", false, 0, false, false, 0, ""); + } + else if (strstr(message->text, "/quiz")) + { + const char *options[] = {"A", "B", "C", "D"}; + ret = telebot_send_poll(handle, message->chat->id, "Which one is correct?", options, 4, false, "quiz", false, 1, false, false, 0, ""); + } + else if (strstr(message->text, "/dice")) + { + ret = telebot_send_dice(handle, message->chat->id, false, 0, ""); + } + else if (strstr(message->text, "/location")) + { + ret = telebot_send_location(handle, message->chat->id, 41.311081f, 69.240562f, 0, false, 0, ""); + } + else if (strstr(message->text, "/venue")) + { + ret = telebot_send_venue(handle, message->chat->id, 41.311081f, 69.240562f, "Tashkent", "Uzbekistan", "", "", false, 0, ""); + } + else if (strstr(message->text, "/contact")) + { + ret = telebot_send_contact(handle, message->chat->id, "+998901234567", "John", "Doe", "", false, 0, ""); + } + else if (strstr(message->text, "/description")) + { + char desc[256]; + snprintf(desc, sizeof(desc), "Test description set at %ld", (long)time(NULL)); + ret = telebot_set_chat_description(handle, message->chat->id, desc); + if (ret == TELEBOT_ERROR_NONE) + telebot_send_message(handle, message->chat->id, "Chat description updated!", "", false, false, 0, ""); + } + else if (strstr(message->text, "/info")) + { + telebot_chat_t chat; + ret = telebot_get_chat(handle, message->chat->id, &chat); + if (ret == TELEBOT_ERROR_NONE) + { + char info[1024]; + snprintf(info, sizeof(info), "Chat Info:\nID: %lld\nType: %s\nTitle: %s\nDescription: %s", + chat.id, chat.type ? chat.type : "N/A", + chat.title ? chat.title : "N/A", + chat.description ? chat.description : "N/A"); + telebot_send_message(handle, message->chat->id, info, "", false, false, 0, ""); + telebot_put_chat(&chat); + } + } + else + { + char echo[4096]; + snprintf(echo, sizeof(echo), "Echo: %s", message->text); + ret = telebot_send_message(handle, message->chat->id, echo, "", false, false, 0, ""); + } + + if (ret != TELEBOT_ERROR_NONE) + { + printf("Error: %d\n", ret); + } +} + +void handle_callback_query(telebot_handler_t handle, telebot_callback_query_t *query) +{ + if (query->data == NULL) + return; + + printf("Callback query from %s: %s\n", query->from->first_name, query->data); + + telebot_error_e ret = TELEBOT_ERROR_NONE; + long long int chat_id = query->message->chat->id; + + if (strcmp(query->data, "media_photo") == 0) + { + ret = telebot_send_photo(handle, chat_id, SAMPLE_PHOTO, true, "Test Photo from local file", "", false, 0, ""); + } + else if (strcmp(query->data, "media_audio") == 0) + { + ret = telebot_send_audio(handle, chat_id, SAMPLE_AUDIO, true, "Test Audio from local file", "", 0, "Artist", "Title", "", false, 0, ""); + } + else if (strcmp(query->data, "media_video") == 0) + { + ret = telebot_send_video(handle, chat_id, SAMPLE_VIDEO, true, 0, 0, 0, "", "Test Video from local file", "", false, false, 0, ""); + } + else if (strcmp(query->data, "media_doc") == 0) + { + ret = telebot_send_document(handle, chat_id, SAMPLE_DOC, true, "", "Test Document from local file", "", false, 0, ""); + } + else if (strcmp(query->data, "media_animation") == 0) + { + ret = telebot_send_animation(handle, chat_id, SAMPLE_ANIMATION, true, 0, 0, 0, "", "Test Animation from local file", "", false, 0, ""); + } + else if (strcmp(query->data, "media_voice") == 0) + { + ret = telebot_send_voice(handle, chat_id, SAMPLE_VOICE, true, "Test Voice from local file", "", 0, false, 0, ""); + } + + /* Acknowledge callback query */ + telebot_answer_callback_query(handle, query->id, "Sending media...", false, "", 0); + + if (ret != TELEBOT_ERROR_NONE) + { + printf("Error in callback: %d\n", ret); + char err[64]; + snprintf(err, sizeof(err), "Error sending media: %d", ret); + telebot_send_message(handle, chat_id, err, "", false, false, 0, ""); + } +} + +int main(int argc, char *argv[]) +{ + printf("Welcome to Testbot\n"); + + FILE *fp = fopen(".token", "r"); + if (fp == NULL) + { + printf("Failed to open .token file. Please create it and put your bot token there.\n"); + return -1; + } + + char token[1024]; + if (fscanf(fp, "%s", token) == 0) + { + printf("Failed to read token\n"); + fclose(fp); + return -1; + } + fclose(fp); + + telebot_handler_t handle; + if (telebot_create(&handle, token) != TELEBOT_ERROR_NONE) + { + printf("Telebot create failed\n"); + return -1; + } + + telebot_user_t me; + if (telebot_get_me(handle, &me) != TELEBOT_ERROR_NONE) + { + printf("Failed to get bot information\n"); + telebot_destroy(handle); + return -1; + } + + printf("Bot ID: %lld\n", me.id); + printf("Bot Name: %s\n", me.first_name); + printf("Bot Username: %s\n", me.username); + telebot_put_me(&me); + + /* Setup bot commands in Telegram menu */ + setup_commands(handle); + + int index, count, offset = -1; + telebot_error_e ret; + telebot_update_type_e update_types[] = {TELEBOT_UPDATE_TYPE_MESSAGE, TELEBOT_UPDATE_TYPE_CALLBACK_QUERY}; + + while (1) + { + telebot_update_t *updates; + ret = telebot_get_updates(handle, offset, 20, 0, update_types, 2, &updates, &count); + if (ret != TELEBOT_ERROR_NONE) + { + sleep(1); + continue; + } + + for (index = 0; index < count; index++) + { + if (updates[index].update_type == TELEBOT_UPDATE_TYPE_MESSAGE) + { + handle_message(handle, &(updates[index].message)); + } + else if (updates[index].update_type == TELEBOT_UPDATE_TYPE_CALLBACK_QUERY) + { + handle_callback_query(handle, &(updates[index].callback_query)); + } + offset = updates[index].update_id + 1; + } + telebot_put_updates(updates, count); + sleep(1); + } + + telebot_destroy(handle); + + return 0; +} From 1140fcd14e3164c962542d0cd03946ff1f251ec0 Mon Sep 17 00:00:00 2001 From: Elmurod Talipov Date: Sat, 28 Feb 2026 00:12:13 +0900 Subject: [PATCH 11/12] fix: handle empty thumbnail strings and correct video thumb check - treat "" same as NULL for thumb parameter in core send routines (audio, document, animation, video, video_note) to avoid curl CURLE_READ_ERROR (26) when uploading with no thumbnail. - add comments documenting optional thumb behavior. - fix typo in send_video: was comparing thumb[0] != '0', now proper '\0'. - update tests/helpers to exercise media sending paths. Signed-off-by: Elmurod Talipov --- CMakeLists.txt | 12 +- README.md | 18 ++- include/telebot-private.h | 333 +++++++++++++++++++------------------- src/telebot-core.c | 10 +- src/telebot-parser.c | 10 -- src/telebot.c | 12 +- test/testbot.c | 36 +++-- 7 files changed, 230 insertions(+), 201 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e90dc4e..df04af4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,7 +21,6 @@ SET(SRCS src/telebot-games.c ) -ADD_DEFINITIONS("-DDEBUG=0") INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include) SET(DEPENDENTS "libcurl json-c") INCLUDE(FindPkgConfig) @@ -30,7 +29,16 @@ pkg_check_modules(PKGS REQUIRED ${DEPENDENTS}) FOREACH(flag ${PKGS_CFLAGS}) SET(EXTRA_LIB_CFLAGS "${EXTRA_LIB_CFLAGS} ${flag}") ENDFOREACH(flag) -SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_LIB_CFLAGS} -Werror -Wall -Wno-unused-function -O2" ) +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_LIB_CFLAGS} -Werror -Wall -Wno-unused-function" ) + +#Debug option +IF(DEBUG) + MESSAGE("Build debug version") + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g") + ADD_DEFINITIONS("-DDEBUG") +ELSE(DEBUG) + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2") +ENDIF(DEBUG) # libtelebot ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS}) diff --git a/README.md b/README.md index 784c7ba..9f38eb5 100644 --- a/README.md +++ b/README.md @@ -28,11 +28,25 @@ To build the library run following commands: ```sh cd [your repository] -mkdir -p Build && cd Build -cmake ../ +mkdir -p build && cd build +cmake .. make ``` +For debug build +```sh +mkdir -p build && cd build +cmake .. -DDEBUG=1 +make +``` + +## Testing + +Place Telegam Bot API Token in .toke file in the root folder of the repository, and run as below +```sh +./build/test/testbot +``` +

Sample diff --git a/include/telebot-private.h b/include/telebot-private.h index 43a712d..03492b9 100644 --- a/include/telebot-private.h +++ b/include/telebot-private.h @@ -37,177 +37,176 @@ #define TELEBOT_SAFE_FZCNT(addr, count) { TELEBOT_SAFE_FREE(addr); count = 0; } #define TELEBOT_SAFE_STRDUP(str) (str) ? strdup(str) : NULL; -#define TELEBOT_METHOD_GET_UPDATES "getUpdates" -#define TELEBOT_METHOD_SET_WEBHOOK "setWebhook" -#define TELEBOT_METHOD_DELETE_WEBHOOK "deleteWebhook" -#define TELEBOT_METHOD_GET_WEBHOOK_INFO "getWebhookInfo" -#define TELEBOT_METHOD_GET_ME "getMe" -#define TELEBOT_METHOD_LOG_OUT "logOut" -#define TELEBOT_METHOD_CLOSE "close" -#define TELEBOT_METHOD_SET_MY_NAME "setMyName" -#define TELEBOT_METHOD_GET_MY_NAME "getMyName" -#define TELEBOT_METHOD_SET_MY_DESCRIPTION "setMyDescription" -#define TELEBOT_METHOD_GET_MY_DESCRIPTION "getMyDescription" -#define TELEBOT_METHOD_SET_MY_SHORT_DESCRIPTION "setMyShortDescription" -#define TELEBOT_METHOD_GET_MY_SHORT_DESCRIPTION "getMyShortDescription" -#define TELEBOT_METHOD_SET_MY_PROFILE_PHOTO "setMyProfilePhoto" -#define TELEBOT_METHOD_REMOVE_MY_PROFILE_PHOTO "removeMyProfilePhoto" -#define TELEBOT_METHOD_SET_CHAT_MENU_BUTTON "setChatMenuButton" -#define TELEBOT_METHOD_GET_CHAT_MENU_BUTTON "getChatMenuButton" -#define TELEBOT_METHOD_SET_MY_DEFAULT_ADMIN_RIGHTS "setMyDefaultAdministratorRights" -#define TELEBOT_METHOD_GET_MY_DEFAULT_ADMIN_RIGHTS "getMyDefaultAdministratorRights" -#define TELEBOT_METHOD_SEND_MESSAGE "sendMessage" -#define TELEBOT_METHOD_FORWARD_MESSAGE "forwardMessage" -#define TELEBOT_METHOD_FORWARD_MESSAGES "forwardMessages" -#define TELEBOT_METHOD_COPY_MESSAGE "copyMessage" -#define TELEBOT_METHOD_COPY_MESSAGES "copyMessages" -#define TELEBOT_METHOD_SEND_PHOTO "sendPhoto" -#define TELEBOT_METHOD_SEND_AUDIO "sendAudio" -#define TELEBOT_METHOD_SEND_DOCUMENT "sendDocument" -#define TELEBOT_METHOD_SEND_VIDEO "sendVideo" -#define TELEBOT_METHOD_SEND_ANIMATION "sendAnimation" -#define TELEBOT_METHOD_SEND_VOICE "sendVoice" -#define TELEBOT_METHOD_SEND_VIDEO_NOTE "sendVideoNote" -#define TELEBOT_METHOD_SEND_PAID_MEDIA "sendPaidMedia" -#define TELEBOT_METHOD_SEND_MEDIA_GROUP "sendMediaGroup" -#define TELEBOT_METHOD_SEND_LOCATION "sendLocation" -#define TELEBOT_METHOD_EDIT_MESSAGE_LIVE_LOCATION "editMessageLiveLocation" -#define TELEBOT_METHOD_STOP_MESSAGE_LIVE_LOCATION "stopMessageLiveLocation" -#define TELEBOT_METHOD_SEND_VENUE "sendVenue" -#define TELEBOT_METHOD_SEND_CONTACT "sendContact" -#define TELEBOT_METHOD_SEND_POLL "sendPoll" -#define TELEBOT_METHOD_SEND_CHECKLIST "sendChecklist" -#define TELEBOT_METHOD_SEND_DICE "sendDice" -#define TELEBOT_METHOD_SEND_CHAT_ACTION "sendChatAction" -#define TELEBOT_METHOD_SEND_MESSAGE_DRAFT "sendMessageDraft" -#define TELEBOT_METHOD_GET_USER_PHOTOS "getUserProfilePhotos" -#define TELEBOT_METHOD_GET_USER_AUDIOS "getUserProfileAudios" -#define TELEBOT_METHOD_SET_USER_EMOJI_STATUS "setUserEmojiStatus" -#define TELEBOT_METHOD_GET_FILE "getFile" -#define TELEBOT_METHOD_BAN_CHAT_MEMBER "banChatMember" -#define TELEBOT_METHOD_KICK_CHAT_MEMBER "kickChatMember" -#define TELEBOT_METHOD_UNBAN_CHAT_MEMBER "unbanChatMember" -#define TELEBOT_METHOD_RESTRICT_CHAT_MEMBER "restrictChatMember" -#define TELEBOT_METHOD_PROMOTE_CHAT_MEMBER "promoteChatMember" -#define TELEBOT_METHOD_SET_CHAT_ADMIN_TITLE "setChatAdministratorCustomTitle" -#define TELEBOT_METHOD_BAN_CHAT_SENDER_CHAT "banChatSenderChat" -#define TELEBOT_METHOD_UNBAN_CHAT_SENDER_CHAT "unbanChatSenderChat" -#define TELEBOT_METHOD_SET_CHAT_PERMISSIONS "setChatPermissions" -#define TELEBOT_METHOD_EXPORT_CHAT_INVITE_LINK "exportChatInviteLink" -#define TELEBOT_METHOD_CREATE_CHAT_INVITE_LINK "createChatInviteLink" -#define TELEBOT_METHOD_EDIT_CHAT_INVITE_LINK "editChatInviteLink" -#define TELEBOT_METHOD_CREATE_CHAT_SUBSCRIPTION_INVITE_LINK "createChatSubscriptionInviteLink" -#define TELEBOT_METHOD_EDIT_CHAT_SUBSCRIPTION_INVITE_LINK "editChatSubscriptionInviteLink" -#define TELEBOT_METHOD_REVOKE_CHAT_INVITE_LINK "revokeChatInviteLink" -#define TELEBOT_METHOD_APPROVE_CHAT_JOIN_REQUEST "approveChatJoinRequest" -#define TELEBOT_METHOD_DECLINE_CHAT_JOIN_REQUEST "declineChatJoinRequest" -#define TELEBOT_METHOD_SET_CHAT_PHOTO "setChatPhoto" -#define TELEBOT_METHOD_DELETE_CHAT_PHOTO "deleteChatPhoto" -#define TELEBOT_METHOD_SET_CHAT_TITLE "setChatTitle" -#define TELEBOT_METHOD_SET_CHAT_DESCRIPTION "setChatDescription" -#define TELEBOT_METHOD_PIN_CHAT_MESSAGE "pinChatMessage" -#define TELEBOT_METHOD_UNPIN_CHAT_MESSAGE "unpinChatMessage" -#define TELEBOT_METHOD_UNPIN_ALL_CHAT_MESSAGES "unpinAllChatMessages" -#define TELEBOT_METHOD_LEAVE_CHAT "leaveChat" -#define TELEBOT_METHOD_GET_CHAT "getChat" -#define TELEBOT_METHOD_GET_CHAT_ADMINS "getChatAdministrators" -#define TELEBOT_METHOD_GET_CHAT_MEMBERS_COUNT "getChatMembersCount" -#define TELEBOT_METHOD_GET_CHAT_MEMBER "getChatMember" -#define TELEBOT_METHOD_SET_CHAT_STICKER_SET "setChatStickerSet" -#define TELEBOT_METHOD_DEL_CHAT_STICKER_SET "deleteChatStickerSet" -#define TELEBOT_METHOD_GET_FORUM_TOPIC_ICON_STICKERS "getForumTopicIconStickers" -#define TELEBOT_METHOD_CREATE_FORUM_TOPIC "createForumTopic" -#define TELEBOT_METHOD_EDIT_FORUM_TOPIC "editForumTopic" -#define TELEBOT_METHOD_CLOSE_FORUM_TOPIC "closeForumTopic" -#define TELEBOT_METHOD_REOPEN_FORUM_TOPIC "reopenForumTopic" -#define TELEBOT_METHOD_DELETE_FORUM_TOPIC "deleteForumTopic" -#define TELEBOT_METHOD_UNPIN_ALL_FORUM_TOPIC_MESSAGES "unpinAllForumTopicMessages" -#define TELEBOT_METHOD_EDIT_GENERAL_FORUM_TOPIC "editGeneralForumTopic" -#define TELEBOT_METHOD_CLOSE_GENERAL_FORUM_TOPIC "closeGeneralForumTopic" -#define TELEBOT_METHOD_REOPEN_GENERAL_FORUM_TOPIC "reopenGeneralForumTopic" -#define TELEBOT_METHOD_HIDE_GENERAL_FORUM_TOPIC "hideGeneralForumTopic" -#define TELEBOT_METHOD_UNHIDE_GENERAL_FORUM_TOPIC "unhideGeneralForumTopic" -#define TELEBOT_METHOD_UNPIN_ALL_GENERAL_FORUM_TOPIC_MESSAGES "unpinAllGeneralForumTopicMessages" -#define TELEBOT_METHOD_ANSWER_CALLBACK_QUERY "answerCallbackQuery" -#define TELEBOT_METHOD_GET_USER_CHAT_BOOSTS "getUserChatBoosts" -#define TELEBOT_METHOD_GET_BUSINESS_CONNECTION "getBusinessConnection" -#define TELEBOT_METHOD_SET_MY_COMMANDS "setMyCommands" -#define TELEBOT_METHOD_DELETE_MY_COMMANDS "deleteMyCommands" -#define TELEBOT_METHOD_GET_MY_COMMANDS "getMyCommands" -#define TELEBOT_METHOD_SET_MESSAGE_REACTION "setMessageReaction" -#define TELEBOT_METHOD_EDIT_MESSAGE_TEXT "editMessageText" -#define TELEBOT_METHOD_EDIT_MESSAGE_CAPTION "editMessageCaption" -#define TELEBOT_METHOD_EDIT_MESSAGE_MEDIA "editMessageMedia" -#define TELEBOT_METHOD_EDIT_MESSAGE_REPLY_MARKUP "editMessageReplyMarkup" -#define TELEBOT_METHOD_EDIT_MESSAGE_CHECKLIST "editMessageChecklist" -#define TELEBOT_METHOD_STOP_POLL "stopPoll" -#define TELEBOT_METHOD_APPROVE_SUGGESTED_POST "approveSuggestedPost" -#define TELEBOT_METHOD_DECLINE_SUGGESTED_POST "declineSuggestedPost" -#define TELEBOT_METHOD_DELETE_MESSAGE "deleteMessage" -#define TELEBOT_METHOD_DELETE_MESSAGES "deleteMessages" -#define TELEBOT_METHOD_GET_STICKER_SET "getStickerSet" -#define TELEBOT_METHOD_GET_CUSTOM_EMOJI_STICKERS "getCustomEmojiStickers" -#define TELEBOT_METHOD_UPLOAD_STICKER_FILE "uploadStickerFile" -#define TELEBOT_METHOD_CREATE_NEW_STICKER_SET "createNewStickerSet" -#define TELEBOT_METHOD_ADD_STICKER_TO_SET "addStickerToSet" -#define TELEBOT_METHOD_SET_STICKER_POSITION_IN_SET "setStickerPositionInSet" -#define TELEBOT_METHOD_DELETE_STICKER_FROM_SET "deleteStickerFromSet" -#define TELEBOT_METHOD_REPLACE_STICKER_IN_SET "replaceStickerInSet" -#define TELEBOT_METHOD_SET_STICKER_EMOJI_LIST "setStickerEmojiList" -#define TELEBOT_METHOD_SET_STICKER_KEYWORDS "setStickerKeywords" -#define TELEBOT_METHOD_SET_STICKER_MASK_POSITION "setStickerMaskPosition" -#define TELEBOT_METHOD_SET_STICKER_SET_TITLE "setStickerSetTitle" -#define TELEBOT_METHOD_SET_STICKER_SET_THUMBNAIL "setStickerSetThumbnail" -#define TELEBOT_METHOD_SET_CUSTOM_EMOJI_STICKER_SET_THUMBNAIL "setCustomEmojiStickerSetThumbnail" -#define TELEBOT_METHOD_DELETE_STICKER_SET "deleteStickerSet" -#define TELEBOT_METHOD_ANSWER_INLINE_QUERY "answerInlineQuery" -#define TELEBOT_METHOD_ANSWER_WEB_APP_QUERY "answerWebAppQuery" -#define TELEBOT_METHOD_SAVE_PREPARED_INLINE_MESSAGE "savePreparedInlineMessage" -#define TELEBOT_METHOD_SEND_INVOICE "sendInvoice" -#define TELEBOT_METHOD_CREATE_INVOICE_LINK "createInvoiceLink" -#define TELEBOT_METHOD_ANSWER_SHIPPING_QUERY "answerShippingQuery" -#define TELEBOT_METHOD_ANSWER_PRE_CHECKOUT_QUERY "answerPreCheckoutQuery" -#define TELEBOT_METHOD_GET_MY_STAR_BALANCE "getMyStarBalance" -#define TELEBOT_METHOD_GET_STAR_TRANSACTIONS "getStarTransactions" -#define TELEBOT_METHOD_REFUND_STAR_PAYMENT "refundStarPayment" -#define TELEBOT_METHOD_EDIT_USER_STAR_SUBSCRIPTION "editUserStarSubscription" -#define TELEBOT_METHOD_SET_PASSPORT_DATA_ERRORS "setPassportDataErrors" -#define TELEBOT_METHOD_SEND_GAME "sendGame" -#define TELEBOT_METHOD_SET_GAME_SCORE "setGameScore" -#define TELEBOT_METHOD_GET_GAME_HIGH_SCORES "getGameHighScores" -#define TELEBOT_METHOD_GET_AVAILABLE_GIFTS "getAvailableGifts" -#define TELEBOT_METHOD_SEND_GIFT "sendGift" -#define TELEBOT_METHOD_GIFT_PREMIUM_SUBSCRIPTION "giftPremiumSubscription" -#define TELEBOT_METHOD_VERIFY_USER "verifyUser" -#define TELEBOT_METHOD_VERIFY_CHAT "verifyChat" -#define TELEBOT_METHOD_REMOVE_USER_VERIFICATION "removeUserVerification" -#define TELEBOT_METHOD_REMOVE_CHAT_VERIFICATION "removeChatVerification" -#define TELEBOT_METHOD_READ_BUSINESS_MESSAGE "readBusinessMessage" -#define TELEBOT_METHOD_DELETE_BUSINESS_MESSAGES "deleteBusinessMessages" -#define TELEBOT_METHOD_SET_BUSINESS_ACCOUNT_NAME "setBusinessAccountName" -#define TELEBOT_METHOD_SET_BUSINESS_ACCOUNT_USERNAME "setBusinessAccountUsername" -#define TELEBOT_METHOD_SET_BUSINESS_ACCOUNT_BIO "setBusinessAccountBio" -#define TELEBOT_METHOD_SET_BUSINESS_ACCOUNT_PROFILE_PHOTO "setBusinessAccountProfilePhoto" -#define TELEBOT_METHOD_REMOVE_BUSINESS_ACCOUNT_PROFILE_PHOTO "removeBusinessAccountProfilePhoto" -#define TELEBOT_METHOD_SET_BUSINESS_ACCOUNT_GIFT_SETTINGS "setBusinessAccountGiftSettings" -#define TELEBOT_METHOD_GET_BUSINESS_ACCOUNT_STAR_BALANCE "getBusinessAccountStarBalance" -#define TELEBOT_METHOD_TRANSFER_BUSINESS_ACCOUNT_STARS "transferBusinessAccountStars" -#define TELEBOT_METHOD_GET_BUSINESS_ACCOUNT_GIFTS "getBusinessAccountGifts" -#define TELEBOT_METHOD_GET_USER_GIFTS "getUserGifts" -#define TELEBOT_METHOD_GET_CHAT_GIFTS "getChatGifts" -#define TELEBOT_METHOD_CONVERT_GIFT_TO_STARS "convertGiftToStars" -#define TELEBOT_METHOD_UPGRADE_GIFT "upgradeGift" -#define TELEBOT_METHOD_TRANSFER_GIFT "transferGift" -#define TELEBOT_METHOD_POST_STORY "postStory" -#define TELEBOT_METHOD_REPOST_STORY "repostStory" -#define TELEBOT_METHOD_EDIT_STORY "editStory" -#define TELEBOT_METHOD_DELETE_STORY "deleteStory" +#define TELEBOT_METHOD_GET_UPDATES "getUpdates" +#define TELEBOT_METHOD_SET_WEBHOOK "setWebhook" +#define TELEBOT_METHOD_DELETE_WEBHOOK "deleteWebhook" +#define TELEBOT_METHOD_GET_WEBHOOK_INFO "getWebhookInfo" +#define TELEBOT_METHOD_GET_ME "getMe" +#define TELEBOT_METHOD_LOG_OUT "logOut" +#define TELEBOT_METHOD_CLOSE "close" +#define TELEBOT_METHOD_SET_MY_NAME "setMyName" +#define TELEBOT_METHOD_GET_MY_NAME "getMyName" +#define TELEBOT_METHOD_SET_MY_DESCRIPTION "setMyDescription" +#define TELEBOT_METHOD_GET_MY_DESCRIPTION "getMyDescription" +#define TELEBOT_METHOD_SET_MY_SHORT_DESCRIPTION "setMyShortDescription" +#define TELEBOT_METHOD_GET_MY_SHORT_DESCRIPTION "getMyShortDescription" +#define TELEBOT_METHOD_SET_MY_PROFILE_PHOTO "setMyProfilePhoto" +#define TELEBOT_METHOD_REMOVE_MY_PROFILE_PHOTO "removeMyProfilePhoto" +#define TELEBOT_METHOD_SET_CHAT_MENU_BUTTON "setChatMenuButton" +#define TELEBOT_METHOD_GET_CHAT_MENU_BUTTON "getChatMenuButton" +#define TELEBOT_METHOD_SET_MY_DEFAULT_ADMIN_RIGHTS "setMyDefaultAdministratorRights" +#define TELEBOT_METHOD_GET_MY_DEFAULT_ADMIN_RIGHTS "getMyDefaultAdministratorRights" +#define TELEBOT_METHOD_SEND_MESSAGE "sendMessage" +#define TELEBOT_METHOD_FORWARD_MESSAGE "forwardMessage" +#define TELEBOT_METHOD_FORWARD_MESSAGES "forwardMessages" +#define TELEBOT_METHOD_COPY_MESSAGE "copyMessage" +#define TELEBOT_METHOD_COPY_MESSAGES "copyMessages" +#define TELEBOT_METHOD_SEND_PHOTO "sendPhoto" +#define TELEBOT_METHOD_SEND_AUDIO "sendAudio" +#define TELEBOT_METHOD_SEND_DOCUMENT "sendDocument" +#define TELEBOT_METHOD_SEND_VIDEO "sendVideo" +#define TELEBOT_METHOD_SEND_ANIMATION "sendAnimation" +#define TELEBOT_METHOD_SEND_VOICE "sendVoice" +#define TELEBOT_METHOD_SEND_VIDEO_NOTE "sendVideoNote" +#define TELEBOT_METHOD_SEND_PAID_MEDIA "sendPaidMedia" +#define TELEBOT_METHOD_SEND_MEDIA_GROUP "sendMediaGroup" +#define TELEBOT_METHOD_SEND_LOCATION "sendLocation" +#define TELEBOT_METHOD_EDIT_MESSAGE_LIVE_LOCATION "editMessageLiveLocation" +#define TELEBOT_METHOD_STOP_MESSAGE_LIVE_LOCATION "stopMessageLiveLocation" +#define TELEBOT_METHOD_SEND_VENUE "sendVenue" +#define TELEBOT_METHOD_SEND_CONTACT "sendContact" +#define TELEBOT_METHOD_SEND_POLL "sendPoll" +#define TELEBOT_METHOD_SEND_CHECKLIST "sendChecklist" +#define TELEBOT_METHOD_SEND_DICE "sendDice" +#define TELEBOT_METHOD_SEND_CHAT_ACTION "sendChatAction" +#define TELEBOT_METHOD_SEND_MESSAGE_DRAFT "sendMessageDraft" +#define TELEBOT_METHOD_GET_USER_PHOTOS "getUserProfilePhotos" +#define TELEBOT_METHOD_GET_USER_AUDIOS "getUserProfileAudios" +#define TELEBOT_METHOD_SET_USER_EMOJI_STATUS "setUserEmojiStatus" +#define TELEBOT_METHOD_GET_FILE "getFile" +#define TELEBOT_METHOD_BAN_CHAT_MEMBER "banChatMember" +#define TELEBOT_METHOD_KICK_CHAT_MEMBER "kickChatMember" +#define TELEBOT_METHOD_UNBAN_CHAT_MEMBER "unbanChatMember" +#define TELEBOT_METHOD_RESTRICT_CHAT_MEMBER "restrictChatMember" +#define TELEBOT_METHOD_PROMOTE_CHAT_MEMBER "promoteChatMember" +#define TELEBOT_METHOD_SET_CHAT_ADMIN_TITLE "setChatAdministratorCustomTitle" +#define TELEBOT_METHOD_BAN_CHAT_SENDER_CHAT "banChatSenderChat" +#define TELEBOT_METHOD_UNBAN_CHAT_SENDER_CHAT "unbanChatSenderChat" +#define TELEBOT_METHOD_SET_CHAT_PERMISSIONS "setChatPermissions" +#define TELEBOT_METHOD_EXPORT_CHAT_INVITE_LINK "exportChatInviteLink" +#define TELEBOT_METHOD_CREATE_CHAT_INVITE_LINK "createChatInviteLink" +#define TELEBOT_METHOD_EDIT_CHAT_INVITE_LINK "editChatInviteLink" +#define TELEBOT_METHOD_CREATE_CHAT_SUBSCRIPTION_INVITE_LINK "createChatSubscriptionInviteLink" +#define TELEBOT_METHOD_EDIT_CHAT_SUBSCRIPTION_INVITE_LINK "editChatSubscriptionInviteLink" +#define TELEBOT_METHOD_REVOKE_CHAT_INVITE_LINK "revokeChatInviteLink" +#define TELEBOT_METHOD_APPROVE_CHAT_JOIN_REQUEST "approveChatJoinRequest" +#define TELEBOT_METHOD_DECLINE_CHAT_JOIN_REQUEST "declineChatJoinRequest" +#define TELEBOT_METHOD_SET_CHAT_PHOTO "setChatPhoto" +#define TELEBOT_METHOD_DELETE_CHAT_PHOTO "deleteChatPhoto" +#define TELEBOT_METHOD_SET_CHAT_TITLE "setChatTitle" +#define TELEBOT_METHOD_SET_CHAT_DESCRIPTION "setChatDescription" +#define TELEBOT_METHOD_PIN_CHAT_MESSAGE "pinChatMessage" +#define TELEBOT_METHOD_UNPIN_CHAT_MESSAGE "unpinChatMessage" +#define TELEBOT_METHOD_UNPIN_ALL_CHAT_MESSAGES "unpinAllChatMessages" +#define TELEBOT_METHOD_LEAVE_CHAT "leaveChat" +#define TELEBOT_METHOD_GET_CHAT "getChat" +#define TELEBOT_METHOD_GET_CHAT_ADMINS "getChatAdministrators" +#define TELEBOT_METHOD_GET_CHAT_MEMBERS_COUNT "getChatMembersCount" +#define TELEBOT_METHOD_GET_CHAT_MEMBER "getChatMember" +#define TELEBOT_METHOD_SET_CHAT_STICKER_SET "setChatStickerSet" +#define TELEBOT_METHOD_DEL_CHAT_STICKER_SET "deleteChatStickerSet" +#define TELEBOT_METHOD_GET_FORUM_TOPIC_ICON_STICKERS "getForumTopicIconStickers" +#define TELEBOT_METHOD_CREATE_FORUM_TOPIC "createForumTopic" +#define TELEBOT_METHOD_EDIT_FORUM_TOPIC "editForumTopic" +#define TELEBOT_METHOD_CLOSE_FORUM_TOPIC "closeForumTopic" +#define TELEBOT_METHOD_REOPEN_FORUM_TOPIC "reopenForumTopic" +#define TELEBOT_METHOD_DELETE_FORUM_TOPIC "deleteForumTopic" +#define TELEBOT_METHOD_UNPIN_ALL_FORUM_TOPIC_MESSAGES "unpinAllForumTopicMessages" +#define TELEBOT_METHOD_EDIT_GENERAL_FORUM_TOPIC "editGeneralForumTopic" +#define TELEBOT_METHOD_CLOSE_GENERAL_FORUM_TOPIC "closeGeneralForumTopic" +#define TELEBOT_METHOD_REOPEN_GENERAL_FORUM_TOPIC "reopenGeneralForumTopic" +#define TELEBOT_METHOD_HIDE_GENERAL_FORUM_TOPIC "hideGeneralForumTopic" +#define TELEBOT_METHOD_UNHIDE_GENERAL_FORUM_TOPIC "unhideGeneralForumTopic" +#define TELEBOT_METHOD_UNPIN_ALL_GENERAL_FORUM_TOPIC_MESSAGES "unpinAllGeneralForumTopicMessages" +#define TELEBOT_METHOD_ANSWER_CALLBACK_QUERY "answerCallbackQuery" +#define TELEBOT_METHOD_GET_USER_CHAT_BOOSTS "getUserChatBoosts" +#define TELEBOT_METHOD_GET_BUSINESS_CONNECTION "getBusinessConnection" +#define TELEBOT_METHOD_SET_MY_COMMANDS "setMyCommands" +#define TELEBOT_METHOD_DELETE_MY_COMMANDS "deleteMyCommands" +#define TELEBOT_METHOD_GET_MY_COMMANDS "getMyCommands" +#define TELEBOT_METHOD_SET_MESSAGE_REACTION "setMessageReaction" +#define TELEBOT_METHOD_EDIT_MESSAGE_TEXT "editMessageText" +#define TELEBOT_METHOD_EDIT_MESSAGE_CAPTION "editMessageCaption" +#define TELEBOT_METHOD_EDIT_MESSAGE_MEDIA "editMessageMedia" +#define TELEBOT_METHOD_EDIT_MESSAGE_REPLY_MARKUP "editMessageReplyMarkup" +#define TELEBOT_METHOD_EDIT_MESSAGE_CHECKLIST "editMessageChecklist" +#define TELEBOT_METHOD_STOP_POLL "stopPoll" +#define TELEBOT_METHOD_APPROVE_SUGGESTED_POST "approveSuggestedPost" +#define TELEBOT_METHOD_DECLINE_SUGGESTED_POST "declineSuggestedPost" +#define TELEBOT_METHOD_DELETE_MESSAGE "deleteMessage" +#define TELEBOT_METHOD_DELETE_MESSAGES "deleteMessages" +#define TELEBOT_METHOD_GET_STICKER_SET "getStickerSet" +#define TELEBOT_METHOD_GET_CUSTOM_EMOJI_STICKERS "getCustomEmojiStickers" +#define TELEBOT_METHOD_UPLOAD_STICKER_FILE "uploadStickerFile" +#define TELEBOT_METHOD_CREATE_NEW_STICKER_SET "createNewStickerSet" +#define TELEBOT_METHOD_ADD_STICKER_TO_SET "addStickerToSet" +#define TELEBOT_METHOD_SET_STICKER_POSITION_IN_SET "setStickerPositionInSet" +#define TELEBOT_METHOD_DELETE_STICKER_FROM_SET "deleteStickerFromSet" +#define TELEBOT_METHOD_REPLACE_STICKER_IN_SET "replaceStickerInSet" +#define TELEBOT_METHOD_SET_STICKER_EMOJI_LIST "setStickerEmojiList" +#define TELEBOT_METHOD_SET_STICKER_KEYWORDS "setStickerKeywords" +#define TELEBOT_METHOD_SET_STICKER_MASK_POSITION "setStickerMaskPosition" +#define TELEBOT_METHOD_SET_STICKER_SET_TITLE "setStickerSetTitle" +#define TELEBOT_METHOD_SET_STICKER_SET_THUMBNAIL "setStickerSetThumbnail" +#define TELEBOT_METHOD_SET_CUSTOM_EMOJI_STICKER_SET_THUMBNAIL "setCustomEmojiStickerSetThumbnail" +#define TELEBOT_METHOD_DELETE_STICKER_SET "deleteStickerSet" +#define TELEBOT_METHOD_ANSWER_INLINE_QUERY "answerInlineQuery" +#define TELEBOT_METHOD_ANSWER_WEB_APP_QUERY "answerWebAppQuery" +#define TELEBOT_METHOD_SAVE_PREPARED_INLINE_MESSAGE "savePreparedInlineMessage" +#define TELEBOT_METHOD_SEND_INVOICE "sendInvoice" +#define TELEBOT_METHOD_CREATE_INVOICE_LINK "createInvoiceLink" +#define TELEBOT_METHOD_ANSWER_SHIPPING_QUERY "answerShippingQuery" +#define TELEBOT_METHOD_ANSWER_PRE_CHECKOUT_QUERY "answerPreCheckoutQuery" +#define TELEBOT_METHOD_GET_MY_STAR_BALANCE "getMyStarBalance" +#define TELEBOT_METHOD_GET_STAR_TRANSACTIONS "getStarTransactions" +#define TELEBOT_METHOD_REFUND_STAR_PAYMENT "refundStarPayment" +#define TELEBOT_METHOD_EDIT_USER_STAR_SUBSCRIPTION "editUserStarSubscription" +#define TELEBOT_METHOD_SET_PASSPORT_DATA_ERRORS "setPassportDataErrors" +#define TELEBOT_METHOD_SEND_GAME "sendGame" +#define TELEBOT_METHOD_SET_GAME_SCORE "setGameScore" +#define TELEBOT_METHOD_GET_GAME_HIGH_SCORES "getGameHighScores" +#define TELEBOT_METHOD_GET_AVAILABLE_GIFTS "getAvailableGifts" +#define TELEBOT_METHOD_SEND_GIFT "sendGift" +#define TELEBOT_METHOD_GIFT_PREMIUM_SUBSCRIPTION "giftPremiumSubscription" +#define TELEBOT_METHOD_VERIFY_USER "verifyUser" +#define TELEBOT_METHOD_VERIFY_CHAT "verifyChat" +#define TELEBOT_METHOD_REMOVE_USER_VERIFICATION "removeUserVerification" +#define TELEBOT_METHOD_REMOVE_CHAT_VERIFICATION "removeChatVerification" +#define TELEBOT_METHOD_READ_BUSINESS_MESSAGE "readBusinessMessage" +#define TELEBOT_METHOD_DELETE_BUSINESS_MESSAGES "deleteBusinessMessages" +#define TELEBOT_METHOD_SET_BUSINESS_ACCOUNT_NAME "setBusinessAccountName" +#define TELEBOT_METHOD_SET_BUSINESS_ACCOUNT_USERNAME "setBusinessAccountUsername" +#define TELEBOT_METHOD_SET_BUSINESS_ACCOUNT_BIO "setBusinessAccountBio" +#define TELEBOT_METHOD_SET_BUSINESS_ACCOUNT_PROFILE_PHOTO "setBusinessAccountProfilePhoto" +#define TELEBOT_METHOD_REMOVE_BUSINESS_ACCOUNT_PROFILE_PHOTO "removeBusinessAccountProfilePhoto" +#define TELEBOT_METHOD_SET_BUSINESS_ACCOUNT_GIFT_SETTINGS "setBusinessAccountGiftSettings" +#define TELEBOT_METHOD_GET_BUSINESS_ACCOUNT_STAR_BALANCE "getBusinessAccountStarBalance" +#define TELEBOT_METHOD_TRANSFER_BUSINESS_ACCOUNT_STARS "transferBusinessAccountStars" +#define TELEBOT_METHOD_GET_BUSINESS_ACCOUNT_GIFTS "getBusinessAccountGifts" +#define TELEBOT_METHOD_GET_USER_GIFTS "getUserGifts" +#define TELEBOT_METHOD_GET_CHAT_GIFTS "getChatGifts" +#define TELEBOT_METHOD_CONVERT_GIFT_TO_STARS "convertGiftToStars" +#define TELEBOT_METHOD_UPGRADE_GIFT "upgradeGift" +#define TELEBOT_METHOD_TRANSFER_GIFT "transferGift" +#define TELEBOT_METHOD_POST_STORY "postStory" +#define TELEBOT_METHOD_REPOST_STORY "repostStory" +#define TELEBOT_METHOD_EDIT_STORY "editStory" +#define TELEBOT_METHOD_DELETE_STORY "deleteStory" -#ifdef DEBUG #define ERR(fmt, args...) fprintf(stderr, "[ERROR][%s:%d]" fmt "\n", __func__, __LINE__, ##args) +#ifdef DEBUG #define DBG(fmt, args...) fprintf(stdout, "[DEBUG][%s:%d]" fmt "\n", __func__, __LINE__, ##args) #else -#define ERR(x, ...) #define DBG(x, ...) #endif diff --git a/src/telebot-core.c b/src/telebot-core.c index 7fb24ae..29d7eac 100644 --- a/src/telebot-core.c +++ b/src/telebot-core.c @@ -664,7 +664,7 @@ telebot_core_send_audio(telebot_core_handler_t core_h, long long int chat_id, co count++; } - if (thumb != NULL) + if (thumb != NULL && thumb[0] != '\0') { mimes[count].name = "thumb"; mimes[count].type = TELEBOT_MIME_TYPE_FILE; @@ -715,7 +715,7 @@ telebot_core_send_document(telebot_core_handler_t core_h, long long int chat_id, mimes[count].data.s = document; count++; - if (thumb != NULL) + if (thumb != NULL && thumb[0] != '\0') { mimes[count].name = "thumb"; mimes[count].type = TELEBOT_MIME_TYPE_FILE; @@ -806,7 +806,7 @@ telebot_core_send_video(telebot_core_handler_t core_h, long long int chat_id, co count++; } - if (thumb != NULL) + if (thumb != NULL && thumb[0] != '\0') { mimes[count].name = "thumb"; mimes[count].type = TELEBOT_MIME_TYPE_FILE; @@ -902,7 +902,7 @@ telebot_core_send_animation(telebot_core_handler_t core_h, long long int chat_id count++; } - if (thumb != NULL) + if (thumb != NULL && thumb[0] != '0') { mimes[count].name = "thumb"; mimes[count].type = TELEBOT_MIME_TYPE_FILE; @@ -1051,7 +1051,7 @@ telebot_core_send_video_note(telebot_core_handler_t core_h, long long int chat_i count++; } - if (thumb != NULL) + if (thumb != NULL && thumb[0] != '\0') { mimes[count].name = "thumb"; mimes[count].type = TELEBOT_MIME_TYPE_FILE; diff --git a/src/telebot-parser.c b/src/telebot-parser.c index f692f2a..d6065c4 100644 --- a/src/telebot-parser.c +++ b/src/telebot-parser.c @@ -649,16 +649,6 @@ telebot_error_e telebot_parser_get_chat(struct json_object *obj, telebot_chat_t if (json_object_object_get_ex(obj, "invite_link", &invite_link)) chat->invite_link = TELEBOT_SAFE_STRDUP(json_object_get_string(invite_link)); - struct json_object *pinned_message = NULL; - if (json_object_object_get_ex(obj, "pinned_message", &pinned_message)) - { - chat->pinned_message = calloc(1, sizeof(telebot_message_t)); - if (telebot_parser_get_message(pinned_message, chat->pinned_message) != TELEBOT_ERROR_NONE) - { - ERR("Failed to get from chat object"); - TELEBOT_SAFE_FREE(chat->pinned_message); - } - } struct json_object *permissions = NULL; if (json_object_object_get_ex(obj, "permissions", &permissions)) diff --git a/src/telebot.c b/src/telebot.c index bc277fe..39a824e 100644 --- a/src/telebot.c +++ b/src/telebot.c @@ -37,18 +37,23 @@ static const char *telebot_update_type_str[TELEBOT_UPDATE_TYPE_MAX] = { "edited_message", "channel_post", "edited_channel_post", + "business_connection", + "business_message", + "edited_business_message", + "deleted_business_messages", + "message_reaction", + "message_reaction_count", "inline_query", "chosen_inline_result", "callback_query", "shipping_query", "pre_checkout_query", + "purchased_paid_media", "poll", "poll_answer", "my_chat_member", "chat_member", "chat_join_request", - "message_reaction", - "message_reaction_count", "chat_boost", "removed_chat_boost"}; @@ -1945,6 +1950,9 @@ static void telebot_put_chat_permissions(telebot_chat_permissions_t *permissions static void telebot_put_chat_location(telebot_chat_location_t *chat_location) { + if (chat_location == NULL) + return; + TELEBOT_SAFE_FREE(chat_location->address); telebot_put_location(chat_location->location); } diff --git a/test/testbot.c b/test/testbot.c index 50c6246..8d697f6 100644 --- a/test/testbot.c +++ b/test/testbot.c @@ -9,12 +9,12 @@ #define SIZE_OF_ARRAY(array) (sizeof(array) / sizeof(array[0])) /* Local sample media paths */ -#define SAMPLE_PHOTO "samples/logo.png" -#define SAMPLE_AUDIO "samples/audio.mp3" -#define SAMPLE_VIDEO "samples/video.mp4" -#define SAMPLE_DOC "samples/document.md" -#define SAMPLE_ANIMATION "samples/animation.gif" -#define SAMPLE_VOICE "samples/voice.wav" +#define SAMPLE_PHOTO "test/samples/logo.png" +#define SAMPLE_AUDIO "test/samples/audio.mp3" +#define SAMPLE_VIDEO "test/samples/video.mp4" +#define SAMPLE_DOC "test/samples/document.md" +#define SAMPLE_ANIMATION "test/samples/animation.gif" +#define SAMPLE_VOICE "test/samples/voice.wav" void setup_commands(telebot_handler_t handle) { @@ -70,7 +70,7 @@ void handle_message(telebot_handler_t handle, telebot_message_t *message) "{\"text\":\"Document\",\"callback_data\":\"media_doc\"}]," "[{\"text\":\"Animation\",\"callback_data\":\"media_animation\"}," "{\"text\":\"Voice\",\"callback_data\":\"media_voice\"}]]}"; - ret = telebot_send_message(handle, message->chat->id, "Select media to send (from local files):", "", false, false, 0, keyboard); + ret = telebot_send_message(handle, message->chat->id, "Select media to send:", "", false, false, 0, keyboard); } else if (strstr(message->text, "/keyboard")) { @@ -149,29 +149,39 @@ void handle_callback_query(telebot_handler_t handle, telebot_callback_query_t *q telebot_error_e ret = TELEBOT_ERROR_NONE; long long int chat_id = query->message->chat->id; + int duration = 0; + int width = 0; + int height = 0; + const char *thumb = NULL; + bool disable_notification = false; + int reply_to_message_id = 0; + const char *reply_markup = NULL; + const char *parse_mode = ""; + bool is_file = true; + if (strcmp(query->data, "media_photo") == 0) { - ret = telebot_send_photo(handle, chat_id, SAMPLE_PHOTO, true, "Test Photo from local file", "", false, 0, ""); + ret = telebot_send_photo(handle, chat_id, SAMPLE_PHOTO, is_file, "Test Photo", parse_mode, disable_notification, reply_to_message_id, reply_markup); } else if (strcmp(query->data, "media_audio") == 0) { - ret = telebot_send_audio(handle, chat_id, SAMPLE_AUDIO, true, "Test Audio from local file", "", 0, "Artist", "Title", "", false, 0, ""); + ret = telebot_send_audio(handle, chat_id, SAMPLE_AUDIO, is_file, "Test Audio", parse_mode, duration, "Artist", "Title", parse_mode, disable_notification, reply_to_message_id, reply_markup); } else if (strcmp(query->data, "media_video") == 0) { - ret = telebot_send_video(handle, chat_id, SAMPLE_VIDEO, true, 0, 0, 0, "", "Test Video from local file", "", false, false, 0, ""); + ret = telebot_send_video(handle, chat_id, SAMPLE_VIDEO, is_file, duration, width, height, thumb, "Test Video", parse_mode, disable_notification, false, reply_to_message_id, reply_markup); } else if (strcmp(query->data, "media_doc") == 0) { - ret = telebot_send_document(handle, chat_id, SAMPLE_DOC, true, "", "Test Document from local file", "", false, 0, ""); + ret = telebot_send_document(handle, chat_id, SAMPLE_DOC, is_file, thumb, "Test Document", parse_mode, disable_notification, reply_to_message_id, reply_markup); } else if (strcmp(query->data, "media_animation") == 0) { - ret = telebot_send_animation(handle, chat_id, SAMPLE_ANIMATION, true, 0, 0, 0, "", "Test Animation from local file", "", false, 0, ""); + ret = telebot_send_animation(handle, chat_id, SAMPLE_ANIMATION, is_file, duration, width, height, thumb, "Test Animation", parse_mode, disable_notification, reply_to_message_id, reply_markup); } else if (strcmp(query->data, "media_voice") == 0) { - ret = telebot_send_voice(handle, chat_id, SAMPLE_VOICE, true, "Test Voice from local file", "", 0, false, 0, ""); + ret = telebot_send_voice(handle, chat_id, SAMPLE_VOICE, is_file, "Test Voice", parse_mode, duration, disable_notification, reply_to_message_id, reply_markup); } /* Acknowledge callback query */ From 0a52d6dc046d1ae97ef043f6f78f4a70f3e8889c Mon Sep 17 00:00:00 2001 From: Elmurod Talipov Date: Sat, 28 Feb 2026 00:40:29 +0900 Subject: [PATCH 12/12] Update documentation Signed-off-by: Elmurod Talipov --- .gitignore | 1 + Doxyconf | 6 +- README.md | 2 +- docs/annotated.html | 212 +- docs/bc_sd.png | Bin 0 -> 635 bytes docs/bdwn.png | Bin 147 -> 0 bytes docs/classes.html | 63 +- .../dir_d44c64559bbebec7f509842c48db8b23.html | 74 +- docs/doc.png | Bin 746 -> 0 bytes docs/doc.svg | 12 + docs/docd.svg | 12 + docs/doxygen.css | 1213 +++- docs/doxygen.png | Bin 3779 -> 0 bytes docs/doxygen.svg | 28 + docs/dynsections.js | 97 +- docs/files.html | 60 +- docs/folderclosed.png | Bin 616 -> 0 bytes docs/folderclosed.svg | 11 + docs/folderclosedd.svg | 11 + docs/folderopen.png | Bin 597 -> 0 bytes docs/folderopen.svg | 17 + docs/folderopend.svg | 12 + docs/functions.html | 86 +- docs/functions_b.html | 67 +- docs/functions_c.html | 207 +- docs/functions_d.html | 81 +- docs/functions_e.html | 71 +- docs/functions_f.html | 145 +- docs/functions_g.html | 65 +- docs/functions_h.html | 65 +- docs/functions_i.html | 101 +- docs/functions_j.html | 85 + docs/functions_k.html | 46 +- docs/functions_l.html | 91 +- docs/functions_m.html | 90 +- docs/functions_n.html | 62 +- docs/functions_o.html | 65 +- docs/functions_p.html | 111 +- docs/functions_q.html | 48 +- docs/functions_r.html | 92 +- docs/functions_s.html | 125 +- docs/functions_t.html | 91 +- docs/functions_u.html | 84 +- docs/functions_v.html | 76 +- docs/functions_vars.html | 88 +- docs/functions_vars_b.html | 69 +- docs/functions_vars_c.html | 209 +- docs/functions_vars_d.html | 83 +- docs/functions_vars_e.html | 73 +- docs/functions_vars_f.html | 147 +- docs/functions_vars_g.html | 67 +- docs/functions_vars_h.html | 67 +- docs/functions_vars_i.html | 103 +- docs/functions_vars_j.html | 85 + docs/functions_vars_k.html | 48 +- docs/functions_vars_l.html | 93 +- docs/functions_vars_m.html | 92 +- docs/functions_vars_n.html | 64 +- docs/functions_vars_o.html | 67 +- docs/functions_vars_p.html | 113 +- docs/functions_vars_q.html | 50 +- docs/functions_vars_r.html | 94 +- docs/functions_vars_s.html | 127 +- docs/functions_vars_t.html | 93 +- docs/functions_vars_u.html | 86 +- docs/functions_vars_v.html | 78 +- docs/functions_vars_w.html | 61 +- docs/functions_vars_x.html | 48 +- docs/functions_vars_y.html | 49 +- docs/functions_w.html | 59 +- docs/functions_x.html | 46 +- docs/functions_y.html | 47 +- docs/globals.html | 864 +-- docs/globals_enum.html | 50 +- docs/globals_eval.html | 126 +- docs/globals_func.html | 525 +- docs/globals_type.html | 293 +- docs/group__TELEBOT__API.html | 5730 +++++++++++---- docs/group__TELEBOT__CORE__API.html | 6121 ++++++++++++----- docs/index.html | 205 +- docs/jquery.js | 93 +- docs/menu.js | 122 +- docs/menudata.js | 28 +- docs/minus.svg | 8 + docs/minusd.svg | 8 + docs/nav_fd.png | Bin 0 -> 169 bytes docs/nav_hd.png | Bin 0 -> 114 bytes docs/plus.svg | 9 + docs/plusd.svg | 9 + docs/search/all_0.html | 26 - docs/search/all_0.js | 31 +- docs/search/all_1.html | 26 - docs/search/all_1.js | 23 +- docs/search/all_10.html | 26 - docs/search/all_10.js | 11 +- docs/search/all_11.html | 26 - docs/search/all_11.js | 41 +- docs/search/all_12.html | 26 - docs/search/all_12.js | 275 +- docs/search/all_13.html | 26 - docs/search/all_13.js | 613 +- docs/search/all_14.html | 26 - docs/search/all_14.js | 24 +- docs/search/all_15.html | 26 - docs/search/all_15.js | 14 +- docs/search/all_16.html | 26 - docs/search/all_16.js | 12 +- docs/search/all_17.html | 26 - docs/search/all_17.js | 2 +- docs/search/all_18.js | 5 + docs/search/all_2.html | 26 - docs/search/all_2.js | 97 +- docs/search/all_3.html | 26 - docs/search/all_3.js | 19 +- docs/search/all_4.html | 26 - docs/search/all_4.js | 19 +- docs/search/all_5.html | 26 - docs/search/all_5.js | 43 +- docs/search/all_6.html | 26 - docs/search/all_6.js | 17 +- docs/search/all_7.html | 26 - docs/search/all_7.js | 16 +- docs/search/all_8.html | 26 - docs/search/all_8.js | 37 +- docs/search/all_9.html | 26 - docs/search/all_9.js | 3 +- docs/search/all_a.html | 26 - docs/search/all_a.js | 11 +- docs/search/all_b.html | 26 - docs/search/all_b.js | 23 +- docs/search/all_c.html | 26 - docs/search/all_c.js | 22 +- docs/search/all_d.html | 26 - docs/search/all_d.js | 12 +- docs/search/all_e.html | 26 - docs/search/all_e.js | 23 +- docs/search/all_f.html | 26 - docs/search/all_f.js | 31 +- docs/search/classes_0.html | 26 - docs/search/classes_0.js | 169 +- docs/search/close.png | Bin 273 -> 0 bytes docs/search/close.svg | 18 + docs/search/enums_0.html | 26 - docs/search/enums_0.js | 4 +- docs/search/enumvalues_0.html | 26 - docs/search/enumvalues_0.js | 48 +- docs/search/files_0.html | 26 - docs/search/files_0.js | 15 +- docs/search/functions_0.html | 26 - docs/search/functions_0.js | 405 +- docs/search/groups_0.html | 26 - docs/search/groups_0.js | 2 +- docs/search/groups_1.html | 26 - docs/search/groups_1.js | 2 +- docs/search/groups_2.js | 4 + docs/search/groups_3.js | 4 + docs/search/groups_4.js | 4 + docs/search/mag.svg | 24 + docs/search/mag_d.svg | 24 + docs/search/mag_sel.png | Bin 563 -> 0 bytes docs/search/mag_sel.svg | 31 + docs/search/mag_seld.svg | 31 + docs/search/nomatches.html | 12 - docs/search/pages_0.html | 26 - docs/search/pages_0.js | 2 +- docs/search/search.css | 178 +- docs/search/search.js | 221 +- docs/search/search_l.png | Bin 604 -> 0 bytes docs/search/search_m.png | Bin 158 -> 0 bytes docs/search/search_r.png | Bin 612 -> 0 bytes docs/search/searchdata.js | 6 +- docs/search/typedefs_0.html | 26 - docs/search/typedefs_0.js | 175 +- docs/search/variables_0.html | 26 - docs/search/variables_0.js | 30 +- docs/search/variables_1.html | 26 - docs/search/variables_1.js | 21 +- docs/search/variables_10.html | 26 - docs/search/variables_10.js | 11 +- docs/search/variables_11.html | 26 - docs/search/variables_11.js | 40 +- docs/search/variables_12.html | 26 - docs/search/variables_12.js | 46 +- docs/search/variables_13.html | 26 - docs/search/variables_13.js | 21 +- docs/search/variables_14.html | 26 - docs/search/variables_14.js | 24 +- docs/search/variables_15.html | 26 - docs/search/variables_15.js | 14 +- docs/search/variables_16.html | 26 - docs/search/variables_16.js | 12 +- docs/search/variables_17.html | 26 - docs/search/variables_17.js | 2 +- docs/search/variables_18.js | 5 + docs/search/variables_2.html | 26 - docs/search/variables_2.js | 95 +- docs/search/variables_3.html | 26 - docs/search/variables_3.js | 19 +- docs/search/variables_4.html | 26 - docs/search/variables_4.js | 19 +- docs/search/variables_5.html | 26 - docs/search/variables_5.js | 43 +- docs/search/variables_6.html | 26 - docs/search/variables_6.js | 17 +- docs/search/variables_7.html | 26 - docs/search/variables_7.js | 16 +- docs/search/variables_8.html | 26 - docs/search/variables_8.js | 37 +- docs/search/variables_9.html | 26 - docs/search/variables_9.js | 3 +- docs/search/variables_a.html | 26 - docs/search/variables_a.js | 11 +- docs/search/variables_b.html | 26 - docs/search/variables_b.js | 23 +- docs/search/variables_c.html | 26 - docs/search/variables_c.js | 22 +- docs/search/variables_d.html | 26 - docs/search/variables_d.js | 12 +- docs/search/variables_e.html | 26 - docs/search/variables_e.js | 23 +- docs/search/variables_f.html | 26 - docs/search/variables_f.js | 31 +- docs/splitbard.png | Bin 0 -> 282 bytes ...tructtelebot__affiliate__info-members.html | 90 + docs/structtelebot__affiliate__info.html | 185 + docs/structtelebot__animation-members.html | 51 +- docs/structtelebot__animation.html | 99 +- docs/structtelebot__audio-members.html | 51 +- docs/structtelebot__audio.html | 93 +- docs/structtelebot__birthdate-members.html | 88 + docs/structtelebot__birthdate.html | 151 + docs/structtelebot__bot__command-members.html | 45 +- docs/structtelebot__bot__command.html | 57 +- ...elebot__business__bot__rights-members.html | 99 + .../structtelebot__business__bot__rights.html | 141 + ...telebot__business__connection-members.html | 91 + docs/structtelebot__business__connection.html | 117 + ...tructtelebot__business__intro-members.html | 88 + docs/structtelebot__business__intro.html | 151 + ...cttelebot__business__location-members.html | 87 + docs/structtelebot__business__location.html | 134 + ...__business__messages__deleted-members.html | 89 + ...ttelebot__business__messages__deleted.html | 111 + ...bot__business__opening__hours-members.html | 88 + ...ructtelebot__business__opening__hours.html | 137 + ...ess__opening__hours__interval-members.html | 87 + ...t__business__opening__hours__interval.html | 134 + ...structtelebot__callback__game-members.html | 86 + docs/structtelebot__callback__game.html | 102 + ...tructtelebot__callback__query-members.html | 49 +- docs/structtelebot__callback__query.html | 87 +- docs/structtelebot__chat-members.html | 97 +- docs/structtelebot__chat.html | 597 +- ...ructtelebot__chat__background-members.html | 86 + docs/structtelebot__chat__background.html | 117 + docs/structtelebot__chat__boost-members.html | 89 + docs/structtelebot__chat__boost.html | 168 + ...cttelebot__chat__boost__added-members.html | 86 + docs/structtelebot__chat__boost__added.html | 117 + ...telebot__chat__boost__removed-members.html | 89 + docs/structtelebot__chat__boost__removed.html | 168 + ...ttelebot__chat__boost__source-members.html | 87 + docs/structtelebot__chat__boost__source.html | 134 + ...telebot__chat__boost__updated-members.html | 87 + docs/structtelebot__chat__boost__updated.html | 134 + ...cttelebot__chat__invite__link-members.html | 94 + docs/structtelebot__chat__invite__link.html | 253 + ...ttelebot__chat__join__request-members.html | 91 + docs/structtelebot__chat__join__request.html | 202 + ...structtelebot__chat__location-members.html | 87 + docs/structtelebot__chat__location.html | 134 + docs/structtelebot__chat__member-members.html | 61 +- docs/structtelebot__chat__member.html | 159 +- ...elebot__chat__member__updated-members.html | 92 + .../structtelebot__chat__member__updated.html | 219 + ...ucttelebot__chat__permissions-members.html | 51 +- docs/structtelebot__chat__permissions.html | 93 +- docs/structtelebot__chat__photo-members.html | 47 +- docs/structtelebot__chat__photo.html | 69 +- docs/structtelebot__chat__shared-members.html | 87 + docs/structtelebot__chat__shared.html | 134 + ...lebot__chosen__inline__result-members.html | 90 + ...structtelebot__chosen__inline__result.html | 185 + docs/structtelebot__contact-members.html | 47 +- docs/structtelebot__contact.html | 75 +- ...cttelebot__copy__text__button-members.html | 86 + docs/structtelebot__copy__text__button.html | 117 + docs/structtelebot__core__handler.html | 116 - docs/structtelebot__core__response.html | 127 - docs/structtelebot__dice-members.html | 43 +- docs/structtelebot__dice.html | 51 +- docs/structtelebot__document-members.html | 49 +- docs/structtelebot__document.html | 81 +- ...lebot__encrypted__credentials-members.html | 88 + ...structtelebot__encrypted__credentials.html | 151 + ..._encrypted__passport__element-members.html | 97 + ...telebot__encrypted__passport__element.html | 276 + ...elebot__external__reply__info-members.html | 110 + .../structtelebot__external__reply__info.html | 511 ++ docs/structtelebot__file-members.html | 47 +- docs/structtelebot__file.html | 69 +- docs/structtelebot__force__reply-members.html | 45 +- docs/structtelebot__force__reply.html | 59 +- docs/structtelebot__forum__topic-members.html | 89 + docs/structtelebot__forum__topic.html | 168 + ...telebot__forum__topic__closed-members.html | 86 + docs/structtelebot__forum__topic__closed.html | 117 + ...elebot__forum__topic__created-members.html | 88 + .../structtelebot__forum__topic__created.html | 151 + ...telebot__forum__topic__edited-members.html | 87 + docs/structtelebot__forum__topic__edited.html | 134 + ...lebot__forum__topic__reopened-members.html | 86 + ...structtelebot__forum__topic__reopened.html | 117 + docs/structtelebot__game-members.html | 93 + docs/structtelebot__game.html | 222 + ...ucttelebot__game__high__score-members.html | 88 + docs/structtelebot__game__high__score.html | 151 + ...general__forum__topic__hidden-members.html | 86 + ...elebot__general__forum__topic__hidden.html | 117 + ...neral__forum__topic__unhidden-members.html | 86 + ...ebot__general__forum__topic__unhidden.html | 117 + docs/structtelebot__gift-members.html | 93 + docs/structtelebot__gift.html | 236 + docs/structtelebot__gift__info-members.html | 90 + docs/structtelebot__gift__info.html | 171 + docs/structtelebot__gifts-members.html | 87 + docs/structtelebot__gifts.html | 134 + docs/structtelebot__giveaway-members.html | 96 + docs/structtelebot__giveaway.html | 259 + ...ttelebot__giveaway__completed-members.html | 89 + docs/structtelebot__giveaway__completed.html | 168 + ...ucttelebot__giveaway__created-members.html | 86 + docs/structtelebot__giveaway__created.html | 117 + ...ucttelebot__giveaway__winners-members.html | 98 + docs/structtelebot__giveaway__winners.html | 307 + ...bot__inline__keyboard__button-members.html | 96 + ...ructtelebot__inline__keyboard__button.html | 287 + ...bot__inline__keyboard__markup-members.html | 88 + ...ructtelebot__inline__keyboard__markup.html | 151 + .../structtelebot__inline__query-members.html | 91 + docs/structtelebot__inline__query.html | 202 + docs/structtelebot__invoice-members.html | 90 + docs/structtelebot__invoice.html | 185 + ...ructtelebot__keyboard__button-members.html | 54 +- docs/structtelebot__keyboard__button.html | 122 +- ..._keyboard__button__poll__type-members.html | 43 +- ...telebot__keyboard__button__poll__type.html | 51 +- ...yboard__button__request__chat-members.html | 96 + ...ebot__keyboard__button__request__chat.html | 287 + ...board__button__request__users-members.html | 92 + ...bot__keyboard__button__request__users.html | 219 + ...lebot__link__preview__options-members.html | 90 + ...structtelebot__link__preview__options.html | 185 + docs/structtelebot__location-members.html | 45 +- docs/structtelebot__location.html | 57 +- docs/structtelebot__login__url-members.html | 89 + docs/structtelebot__login__url.html | 168 + ...structtelebot__mask__position-members.html | 47 +- docs/structtelebot__mask__position.html | 73 +- docs/structtelebot__message-members.html | 159 +- docs/structtelebot__message.html | 1091 ++- ..._auto__delete__timer__changed-members.html | 86 + ...message__auto__delete__timer__changed.html | 117 + ...tructtelebot__message__entity-members.html | 49 +- docs/structtelebot__message__entity.html | 85 +- ...tructtelebot__message__origin-members.html | 92 + docs/structtelebot__message__origin.html | 219 + ...age__reaction__count__updated-members.html | 90 + ...ot__message__reaction__count__updated.html | 171 + ...t__message__reaction__updated-members.html | 94 + ...cttelebot__message__reaction__updated.html | 225 + docs/structtelebot__order__info-members.html | 89 + docs/structtelebot__order__info.html | 168 + docs/structtelebot__paid__media-members.html | 92 + docs/structtelebot__paid__media.html | 205 + ...ucttelebot__paid__media__info-members.html | 88 + docs/structtelebot__paid__media__info.html | 137 + ...lebot__paid__media__purchased-members.html | 87 + ...structtelebot__paid__media__purchased.html | 134 + ...structtelebot__passport__data-members.html | 88 + docs/structtelebot__passport__data.html | 137 + ...bot__passport__element__error-members.html | 94 + ...ructtelebot__passport__element__error.html | 239 + ...structtelebot__passport__file-members.html | 89 + docs/structtelebot__passport__file.html | 168 + docs/structtelebot__photo-members.html | 47 +- docs/structtelebot__photo.html | 75 +- docs/structtelebot__poll-members.html | 53 +- docs/structtelebot__poll.html | 103 +- docs/structtelebot__poll__answer-members.html | 47 +- docs/structtelebot__poll__answer.html | 65 +- docs/structtelebot__poll__option-members.html | 45 +- docs/structtelebot__poll__option.html | 57 +- ...telebot__pre__checkout__query-members.html | 92 + docs/structtelebot__pre__checkout__query.html | 219 + ...ot__prepared__inline__message-members.html | 87 + ...ucttelebot__prepared__inline__message.html | 134 + ...__proximity__alert__triggered-members.html | 88 + ...ttelebot__proximity__alert__triggered.html | 151 + ...tructtelebot__reaction__count-members.html | 87 + docs/structtelebot__reaction__count.html | 134 + ...structtelebot__reaction__type-members.html | 88 + docs/structtelebot__reaction__type.html | 151 + ...ucttelebot__refunded__payment-members.html | 90 + docs/structtelebot__refunded__payment.html | 185 + ...ebot__reply__keyboard__markup-members.html | 56 +- ...tructtelebot__reply__keyboard__markup.html | 94 +- ...ebot__reply__keyboard__remove-members.html | 45 +- ...tructtelebot__reply__keyboard__remove.html | 63 +- ...ttelebot__response__paramters-members.html | 45 +- docs/structtelebot__response__paramters.html | 57 +- ...t__revenue__withdrawal__state-members.html | 88 + ...cttelebot__revenue__withdrawal__state.html | 151 + ...ebot__sent__web__app__message-members.html | 86 + ...tructtelebot__sent__web__app__message.html | 117 + docs/structtelebot__shared__user-members.html | 91 + docs/structtelebot__shared__user.html | 188 + ...ucttelebot__shipping__address-members.html | 91 + docs/structtelebot__shipping__address.html | 202 + ...tructtelebot__shipping__query-members.html | 89 + docs/structtelebot__shipping__query.html | 168 + docs/structtelebot__star__amount-members.html | 87 + docs/structtelebot__star__amount.html | 134 + ...ucttelebot__star__transaction-members.html | 91 + docs/structtelebot__star__transaction.html | 202 + ...cttelebot__star__transactions-members.html | 87 + docs/structtelebot__star__transactions.html | 120 + docs/structtelebot__sticker-members.html | 53 +- docs/structtelebot__sticker.html | 109 +- docs/structtelebot__sticker__set-members.html | 49 +- docs/structtelebot__sticker__set.html | 85 +- docs/structtelebot__story-members.html | 87 + docs/structtelebot__story.html | 134 + ...ttelebot__successful__payment-members.html | 92 + docs/structtelebot__successful__payment.html | 219 + ...__inline__query__chosen__chat-members.html | 90 + ...__switch__inline__query__chosen__chat.html | 185 + docs/structtelebot__text__quote-members.html | 90 + docs/structtelebot__text__quote.html | 171 + ...telebot__transaction__partner-members.html | 101 + docs/structtelebot__transaction__partner.html | 358 + docs/structtelebot__unique__gift-members.html | 89 + docs/structtelebot__unique__gift.html | 168 + ...cttelebot__unique__gift__info-members.html | 89 + docs/structtelebot__unique__gift__info.html | 168 + docs/structtelebot__update-members.html | 71 +- docs/structtelebot__update.html | 400 +- docs/structtelebot__user-members.html | 63 +- docs/structtelebot__user.html | 205 +- ...cttelebot__user__chat__boosts-members.html | 87 + docs/structtelebot__user__chat__boosts.html | 134 + docs/structtelebot__user__gift-members.html | 95 + docs/structtelebot__user__gift.html | 270 + docs/structtelebot__user__gifts-members.html | 88 + docs/structtelebot__user__gifts.html | 151 + ...elebot__user__profile__audios-members.html | 88 + .../structtelebot__user__profile__audios.html | 151 + ...elebot__user__profile__photos-members.html | 45 +- .../structtelebot__user__profile__photos.html | 63 +- docs/structtelebot__user__shared-members.html | 87 + docs/structtelebot__user__shared.html | 134 + .../structtelebot__users__shared-members.html | 88 + docs/structtelebot__users__shared.html | 137 + docs/structtelebot__venue-members.html | 47 +- docs/structtelebot__venue.html | 75 +- docs/structtelebot__video-members.html | 51 +- docs/structtelebot__video.html | 93 +- ...ttelebot__video__chat__ended-members.html} | 49 +- docs/structtelebot__video__chat__ended.html | 117 + ...__chat__participants__invited-members.html | 87 + ...t__video__chat__participants__invited.html | 120 + ...lebot__video__chat__scheduled-members.html | 86 + ...structtelebot__video__chat__scheduled.html | 117 + ...telebot__video__chat__started-members.html | 86 + docs/structtelebot__video__chat__started.html | 117 + docs/structtelebot__video__note-members.html | 49 +- docs/structtelebot__video__note.html | 81 +- docs/structtelebot__voice-members.html | 47 +- docs/structtelebot__voice.html | 75 +- ...structtelebot__web__app__data-members.html | 87 + docs/structtelebot__web__app__data.html | 134 + ...tructtelebot__web__app__info-members.html} | 48 +- docs/structtelebot__web__app__info.html | 117 + .../structtelebot__webhook__info-members.html | 51 +- docs/structtelebot__webhook__info.html | 95 +- ...lebot__write__access__allowed-members.html | 86 + ...structtelebot__write__access__allowed.html | 117 + docs/tab_ad.png | Bin 0 -> 135 bytes docs/tab_bd.png | Bin 0 -> 173 bytes docs/tab_hd.png | Bin 0 -> 180 bytes docs/tab_sd.png | Bin 0 -> 188 bytes docs/tabs.css | 2 +- docs/telebot-common_8h.html | 65 +- docs/telebot-common_8h_source.html | 104 +- docs/telebot-core_8h.html | 514 ++ docs/telebot-core_8h_source.html | 739 +- docs/telebot-forums_8h.html | 145 + docs/telebot-forums_8h_source.html | 185 + docs/telebot-games_8h.html | 119 + docs/telebot-games_8h_source.html | 149 + docs/telebot-inline_8h.html | 119 + docs/telebot-inline_8h_source.html | 146 + docs/telebot-methods_8h.html | 426 +- docs/telebot-methods_8h_source.html | 615 +- docs/telebot-passport_8h.html | 107 + docs/telebot-passport_8h_source.html | 131 + docs/telebot-payments_8h.html | 187 + docs/telebot-payments_8h_source.html | 230 + docs/telebot-stickers_8h.html | 86 +- docs/telebot-stickers_8h_source.html | 160 +- docs/telebot-types_8h.html | 1057 ++- docs/telebot-types_8h_source.html | 3471 +++++++++- docs/telebot_8h.html | 104 + docs/telebot_8h_source.html | 93 +- docs/{modules.html => topics.html} | 49 +- include/telebot-core.h | 5 +- include/telebot.h | 8 + 517 files changed, 53460 insertions(+), 12348 deletions(-) create mode 100644 docs/bc_sd.png delete mode 100644 docs/bdwn.png delete mode 100644 docs/doc.png create mode 100644 docs/doc.svg create mode 100644 docs/docd.svg delete mode 100644 docs/doxygen.png create mode 100644 docs/doxygen.svg delete mode 100644 docs/folderclosed.png create mode 100644 docs/folderclosed.svg create mode 100644 docs/folderclosedd.svg delete mode 100644 docs/folderopen.png create mode 100644 docs/folderopen.svg create mode 100644 docs/folderopend.svg create mode 100644 docs/functions_j.html create mode 100644 docs/functions_vars_j.html create mode 100644 docs/minus.svg create mode 100644 docs/minusd.svg create mode 100644 docs/nav_fd.png create mode 100644 docs/nav_hd.png create mode 100644 docs/plus.svg create mode 100644 docs/plusd.svg delete mode 100644 docs/search/all_0.html delete mode 100644 docs/search/all_1.html delete mode 100644 docs/search/all_10.html delete mode 100644 docs/search/all_11.html delete mode 100644 docs/search/all_12.html delete mode 100644 docs/search/all_13.html delete mode 100644 docs/search/all_14.html delete mode 100644 docs/search/all_15.html delete mode 100644 docs/search/all_16.html delete mode 100644 docs/search/all_17.html create mode 100644 docs/search/all_18.js delete mode 100644 docs/search/all_2.html delete mode 100644 docs/search/all_3.html delete mode 100644 docs/search/all_4.html delete mode 100644 docs/search/all_5.html delete mode 100644 docs/search/all_6.html delete mode 100644 docs/search/all_7.html delete mode 100644 docs/search/all_8.html delete mode 100644 docs/search/all_9.html delete mode 100644 docs/search/all_a.html delete mode 100644 docs/search/all_b.html delete mode 100644 docs/search/all_c.html delete mode 100644 docs/search/all_d.html delete mode 100644 docs/search/all_e.html delete mode 100644 docs/search/all_f.html delete mode 100644 docs/search/classes_0.html delete mode 100644 docs/search/close.png create mode 100644 docs/search/close.svg delete mode 100644 docs/search/enums_0.html delete mode 100644 docs/search/enumvalues_0.html delete mode 100644 docs/search/files_0.html delete mode 100644 docs/search/functions_0.html delete mode 100644 docs/search/groups_0.html delete mode 100644 docs/search/groups_1.html create mode 100644 docs/search/groups_2.js create mode 100644 docs/search/groups_3.js create mode 100644 docs/search/groups_4.js create mode 100644 docs/search/mag.svg create mode 100644 docs/search/mag_d.svg delete mode 100644 docs/search/mag_sel.png create mode 100644 docs/search/mag_sel.svg create mode 100644 docs/search/mag_seld.svg delete mode 100644 docs/search/nomatches.html delete mode 100644 docs/search/pages_0.html delete mode 100644 docs/search/search_l.png delete mode 100644 docs/search/search_m.png delete mode 100644 docs/search/search_r.png delete mode 100644 docs/search/typedefs_0.html delete mode 100644 docs/search/variables_0.html delete mode 100644 docs/search/variables_1.html delete mode 100644 docs/search/variables_10.html delete mode 100644 docs/search/variables_11.html delete mode 100644 docs/search/variables_12.html delete mode 100644 docs/search/variables_13.html delete mode 100644 docs/search/variables_14.html delete mode 100644 docs/search/variables_15.html delete mode 100644 docs/search/variables_16.html delete mode 100644 docs/search/variables_17.html create mode 100644 docs/search/variables_18.js delete mode 100644 docs/search/variables_2.html delete mode 100644 docs/search/variables_3.html delete mode 100644 docs/search/variables_4.html delete mode 100644 docs/search/variables_5.html delete mode 100644 docs/search/variables_6.html delete mode 100644 docs/search/variables_7.html delete mode 100644 docs/search/variables_8.html delete mode 100644 docs/search/variables_9.html delete mode 100644 docs/search/variables_a.html delete mode 100644 docs/search/variables_b.html delete mode 100644 docs/search/variables_c.html delete mode 100644 docs/search/variables_d.html delete mode 100644 docs/search/variables_e.html delete mode 100644 docs/search/variables_f.html create mode 100644 docs/splitbard.png create mode 100644 docs/structtelebot__affiliate__info-members.html create mode 100644 docs/structtelebot__affiliate__info.html create mode 100644 docs/structtelebot__birthdate-members.html create mode 100644 docs/structtelebot__birthdate.html create mode 100644 docs/structtelebot__business__bot__rights-members.html create mode 100644 docs/structtelebot__business__bot__rights.html create mode 100644 docs/structtelebot__business__connection-members.html create mode 100644 docs/structtelebot__business__connection.html create mode 100644 docs/structtelebot__business__intro-members.html create mode 100644 docs/structtelebot__business__intro.html create mode 100644 docs/structtelebot__business__location-members.html create mode 100644 docs/structtelebot__business__location.html create mode 100644 docs/structtelebot__business__messages__deleted-members.html create mode 100644 docs/structtelebot__business__messages__deleted.html create mode 100644 docs/structtelebot__business__opening__hours-members.html create mode 100644 docs/structtelebot__business__opening__hours.html create mode 100644 docs/structtelebot__business__opening__hours__interval-members.html create mode 100644 docs/structtelebot__business__opening__hours__interval.html create mode 100644 docs/structtelebot__callback__game-members.html create mode 100644 docs/structtelebot__callback__game.html create mode 100644 docs/structtelebot__chat__background-members.html create mode 100644 docs/structtelebot__chat__background.html create mode 100644 docs/structtelebot__chat__boost-members.html create mode 100644 docs/structtelebot__chat__boost.html create mode 100644 docs/structtelebot__chat__boost__added-members.html create mode 100644 docs/structtelebot__chat__boost__added.html create mode 100644 docs/structtelebot__chat__boost__removed-members.html create mode 100644 docs/structtelebot__chat__boost__removed.html create mode 100644 docs/structtelebot__chat__boost__source-members.html create mode 100644 docs/structtelebot__chat__boost__source.html create mode 100644 docs/structtelebot__chat__boost__updated-members.html create mode 100644 docs/structtelebot__chat__boost__updated.html create mode 100644 docs/structtelebot__chat__invite__link-members.html create mode 100644 docs/structtelebot__chat__invite__link.html create mode 100644 docs/structtelebot__chat__join__request-members.html create mode 100644 docs/structtelebot__chat__join__request.html create mode 100644 docs/structtelebot__chat__location-members.html create mode 100644 docs/structtelebot__chat__location.html create mode 100644 docs/structtelebot__chat__member__updated-members.html create mode 100644 docs/structtelebot__chat__member__updated.html create mode 100644 docs/structtelebot__chat__shared-members.html create mode 100644 docs/structtelebot__chat__shared.html create mode 100644 docs/structtelebot__chosen__inline__result-members.html create mode 100644 docs/structtelebot__chosen__inline__result.html create mode 100644 docs/structtelebot__copy__text__button-members.html create mode 100644 docs/structtelebot__copy__text__button.html delete mode 100644 docs/structtelebot__core__handler.html delete mode 100644 docs/structtelebot__core__response.html create mode 100644 docs/structtelebot__encrypted__credentials-members.html create mode 100644 docs/structtelebot__encrypted__credentials.html create mode 100644 docs/structtelebot__encrypted__passport__element-members.html create mode 100644 docs/structtelebot__encrypted__passport__element.html create mode 100644 docs/structtelebot__external__reply__info-members.html create mode 100644 docs/structtelebot__external__reply__info.html create mode 100644 docs/structtelebot__forum__topic-members.html create mode 100644 docs/structtelebot__forum__topic.html create mode 100644 docs/structtelebot__forum__topic__closed-members.html create mode 100644 docs/structtelebot__forum__topic__closed.html create mode 100644 docs/structtelebot__forum__topic__created-members.html create mode 100644 docs/structtelebot__forum__topic__created.html create mode 100644 docs/structtelebot__forum__topic__edited-members.html create mode 100644 docs/structtelebot__forum__topic__edited.html create mode 100644 docs/structtelebot__forum__topic__reopened-members.html create mode 100644 docs/structtelebot__forum__topic__reopened.html create mode 100644 docs/structtelebot__game-members.html create mode 100644 docs/structtelebot__game.html create mode 100644 docs/structtelebot__game__high__score-members.html create mode 100644 docs/structtelebot__game__high__score.html create mode 100644 docs/structtelebot__general__forum__topic__hidden-members.html create mode 100644 docs/structtelebot__general__forum__topic__hidden.html create mode 100644 docs/structtelebot__general__forum__topic__unhidden-members.html create mode 100644 docs/structtelebot__general__forum__topic__unhidden.html create mode 100644 docs/structtelebot__gift-members.html create mode 100644 docs/structtelebot__gift.html create mode 100644 docs/structtelebot__gift__info-members.html create mode 100644 docs/structtelebot__gift__info.html create mode 100644 docs/structtelebot__gifts-members.html create mode 100644 docs/structtelebot__gifts.html create mode 100644 docs/structtelebot__giveaway-members.html create mode 100644 docs/structtelebot__giveaway.html create mode 100644 docs/structtelebot__giveaway__completed-members.html create mode 100644 docs/structtelebot__giveaway__completed.html create mode 100644 docs/structtelebot__giveaway__created-members.html create mode 100644 docs/structtelebot__giveaway__created.html create mode 100644 docs/structtelebot__giveaway__winners-members.html create mode 100644 docs/structtelebot__giveaway__winners.html create mode 100644 docs/structtelebot__inline__keyboard__button-members.html create mode 100644 docs/structtelebot__inline__keyboard__button.html create mode 100644 docs/structtelebot__inline__keyboard__markup-members.html create mode 100644 docs/structtelebot__inline__keyboard__markup.html create mode 100644 docs/structtelebot__inline__query-members.html create mode 100644 docs/structtelebot__inline__query.html create mode 100644 docs/structtelebot__invoice-members.html create mode 100644 docs/structtelebot__invoice.html create mode 100644 docs/structtelebot__keyboard__button__request__chat-members.html create mode 100644 docs/structtelebot__keyboard__button__request__chat.html create mode 100644 docs/structtelebot__keyboard__button__request__users-members.html create mode 100644 docs/structtelebot__keyboard__button__request__users.html create mode 100644 docs/structtelebot__link__preview__options-members.html create mode 100644 docs/structtelebot__link__preview__options.html create mode 100644 docs/structtelebot__login__url-members.html create mode 100644 docs/structtelebot__login__url.html create mode 100644 docs/structtelebot__message__auto__delete__timer__changed-members.html create mode 100644 docs/structtelebot__message__auto__delete__timer__changed.html create mode 100644 docs/structtelebot__message__origin-members.html create mode 100644 docs/structtelebot__message__origin.html create mode 100644 docs/structtelebot__message__reaction__count__updated-members.html create mode 100644 docs/structtelebot__message__reaction__count__updated.html create mode 100644 docs/structtelebot__message__reaction__updated-members.html create mode 100644 docs/structtelebot__message__reaction__updated.html create mode 100644 docs/structtelebot__order__info-members.html create mode 100644 docs/structtelebot__order__info.html create mode 100644 docs/structtelebot__paid__media-members.html create mode 100644 docs/structtelebot__paid__media.html create mode 100644 docs/structtelebot__paid__media__info-members.html create mode 100644 docs/structtelebot__paid__media__info.html create mode 100644 docs/structtelebot__paid__media__purchased-members.html create mode 100644 docs/structtelebot__paid__media__purchased.html create mode 100644 docs/structtelebot__passport__data-members.html create mode 100644 docs/structtelebot__passport__data.html create mode 100644 docs/structtelebot__passport__element__error-members.html create mode 100644 docs/structtelebot__passport__element__error.html create mode 100644 docs/structtelebot__passport__file-members.html create mode 100644 docs/structtelebot__passport__file.html create mode 100644 docs/structtelebot__pre__checkout__query-members.html create mode 100644 docs/structtelebot__pre__checkout__query.html create mode 100644 docs/structtelebot__prepared__inline__message-members.html create mode 100644 docs/structtelebot__prepared__inline__message.html create mode 100644 docs/structtelebot__proximity__alert__triggered-members.html create mode 100644 docs/structtelebot__proximity__alert__triggered.html create mode 100644 docs/structtelebot__reaction__count-members.html create mode 100644 docs/structtelebot__reaction__count.html create mode 100644 docs/structtelebot__reaction__type-members.html create mode 100644 docs/structtelebot__reaction__type.html create mode 100644 docs/structtelebot__refunded__payment-members.html create mode 100644 docs/structtelebot__refunded__payment.html create mode 100644 docs/structtelebot__revenue__withdrawal__state-members.html create mode 100644 docs/structtelebot__revenue__withdrawal__state.html create mode 100644 docs/structtelebot__sent__web__app__message-members.html create mode 100644 docs/structtelebot__sent__web__app__message.html create mode 100644 docs/structtelebot__shared__user-members.html create mode 100644 docs/structtelebot__shared__user.html create mode 100644 docs/structtelebot__shipping__address-members.html create mode 100644 docs/structtelebot__shipping__address.html create mode 100644 docs/structtelebot__shipping__query-members.html create mode 100644 docs/structtelebot__shipping__query.html create mode 100644 docs/structtelebot__star__amount-members.html create mode 100644 docs/structtelebot__star__amount.html create mode 100644 docs/structtelebot__star__transaction-members.html create mode 100644 docs/structtelebot__star__transaction.html create mode 100644 docs/structtelebot__star__transactions-members.html create mode 100644 docs/structtelebot__star__transactions.html create mode 100644 docs/structtelebot__story-members.html create mode 100644 docs/structtelebot__story.html create mode 100644 docs/structtelebot__successful__payment-members.html create mode 100644 docs/structtelebot__successful__payment.html create mode 100644 docs/structtelebot__switch__inline__query__chosen__chat-members.html create mode 100644 docs/structtelebot__switch__inline__query__chosen__chat.html create mode 100644 docs/structtelebot__text__quote-members.html create mode 100644 docs/structtelebot__text__quote.html create mode 100644 docs/structtelebot__transaction__partner-members.html create mode 100644 docs/structtelebot__transaction__partner.html create mode 100644 docs/structtelebot__unique__gift-members.html create mode 100644 docs/structtelebot__unique__gift.html create mode 100644 docs/structtelebot__unique__gift__info-members.html create mode 100644 docs/structtelebot__unique__gift__info.html create mode 100644 docs/structtelebot__user__chat__boosts-members.html create mode 100644 docs/structtelebot__user__chat__boosts.html create mode 100644 docs/structtelebot__user__gift-members.html create mode 100644 docs/structtelebot__user__gift.html create mode 100644 docs/structtelebot__user__gifts-members.html create mode 100644 docs/structtelebot__user__gifts.html create mode 100644 docs/structtelebot__user__profile__audios-members.html create mode 100644 docs/structtelebot__user__profile__audios.html create mode 100644 docs/structtelebot__user__shared-members.html create mode 100644 docs/structtelebot__user__shared.html create mode 100644 docs/structtelebot__users__shared-members.html create mode 100644 docs/structtelebot__users__shared.html rename docs/{structtelebot__core__handler-members.html => structtelebot__video__chat__ended-members.html} (55%) create mode 100644 docs/structtelebot__video__chat__ended.html create mode 100644 docs/structtelebot__video__chat__participants__invited-members.html create mode 100644 docs/structtelebot__video__chat__participants__invited.html create mode 100644 docs/structtelebot__video__chat__scheduled-members.html create mode 100644 docs/structtelebot__video__chat__scheduled.html create mode 100644 docs/structtelebot__video__chat__started-members.html create mode 100644 docs/structtelebot__video__chat__started.html create mode 100644 docs/structtelebot__web__app__data-members.html create mode 100644 docs/structtelebot__web__app__data.html rename docs/{structtelebot__core__response-members.html => structtelebot__web__app__info-members.html} (57%) create mode 100644 docs/structtelebot__web__app__info.html create mode 100644 docs/structtelebot__write__access__allowed-members.html create mode 100644 docs/structtelebot__write__access__allowed.html create mode 100644 docs/tab_ad.png create mode 100644 docs/tab_bd.png create mode 100644 docs/tab_hd.png create mode 100644 docs/tab_sd.png create mode 100644 docs/telebot-core_8h.html create mode 100644 docs/telebot-forums_8h.html create mode 100644 docs/telebot-forums_8h_source.html create mode 100644 docs/telebot-games_8h.html create mode 100644 docs/telebot-games_8h_source.html create mode 100644 docs/telebot-inline_8h.html create mode 100644 docs/telebot-inline_8h_source.html create mode 100644 docs/telebot-passport_8h.html create mode 100644 docs/telebot-passport_8h_source.html create mode 100644 docs/telebot-payments_8h.html create mode 100644 docs/telebot-payments_8h_source.html create mode 100644 docs/telebot_8h.html rename docs/{modules.html => topics.html} (57%) diff --git a/.gitignore b/.gitignore index 5360e2c..480919d 100644 --- a/.gitignore +++ b/.gitignore @@ -49,3 +49,4 @@ build # CLion projects .idea + diff --git a/Doxyconf b/Doxyconf index 0f7dafe..a5abe33 100644 --- a/Doxyconf +++ b/Doxyconf @@ -38,7 +38,7 @@ PROJECT_NAME = "Telebot" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 4.7.0 +PROJECT_NUMBER = 9.4 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a @@ -58,7 +58,7 @@ PROJECT_LOGO = # entered, it will be relative to the location where doxygen was started. If # left blank the current directory will be used. -OUTPUT_DIRECTORY = +OUTPUT_DIRECTORY = docs # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub- # directories (in 2 levels) under the output directory of each output format and @@ -743,7 +743,7 @@ WARN_LOGFILE = # spaces. # Note: If this tag is empty the current directory is searched. -INPUT = include +INPUT = README.md include # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses diff --git a/README.md b/README.md index 9f38eb5..c676037 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ make ## Testing -Place Telegam Bot API Token in .toke file in the root folder of the repository, and run as below +Place Telegam Bot API Token in `.token` file in the root folder of the repository, and run as below ```sh ./build/test/testbot ``` diff --git a/docs/annotated.html b/docs/annotated.html index 8569816..018d693 100644 --- a/docs/annotated.html +++ b/docs/annotated.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class List @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,64 +57,161 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
Class List
+
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Ctelebot_animationThis object represents a video file
 Ctelebot_audioThis object represents an audio file to be treated as music by the Telegram clients
 Ctelebot_bot_commandThis object represents a bot command
 Ctelebot_callback_queryThis object represents an incoming callback query from a callback button in an inline keyboard. If the button that originated the query was attached to a message sent by the bot, the field message will be present. If the button was attached to a message sent via the bot (in inline mode), the field inline_message_id will be present. Exactly one of the fields data or game_short_name will be present
 Ctelebot_chatThis object represents a chat
 Ctelebot_chat_memberThis object contains information about one member of a chat
 Ctelebot_chat_permissionsDescribes actions that a non-administrator user is allowed to take in a chat
 Ctelebot_chat_photoThis object represents a chat photo
 Ctelebot_contactThis object represents a phone contact
 Ctelebot_core_handlerThis object represents a core telebot handler
 Ctelebot_core_responseThis object represents a telegram bot response
 Ctelebot_diceThis object represents a dice with random value from 1 to 6
 Ctelebot_documentThis object represents a general file (as opposed to photos, voice messages and audio files)
 Ctelebot_fileThis object represents a file ready to be downloaded
 Ctelebot_force_replyUpon receiving a message with this object, Telegram clients will display a reply interface to the user (act as if the user has selected the bot's message and tapped ’Reply'). This can be extremely useful if you want to create user-friendly step-by-step interfaces without having to sacrifice privacy mode
 Ctelebot_keyboard_buttonThis object represents one button of the reply keyboard. For simple text buttons String can be used instead of this object to specify text of the button. Optional fields request_contact, request_location, and request_poll are mutually exclusive
 Ctelebot_keyboard_button_poll_typeThis object represents type of a poll, which is allowed to be created and sent when the corresponding button is pressed
 Ctelebot_locationThis object represents a point on the map
 Ctelebot_mask_positionThis object describes the position on faces where a mask should be placed by default
 Ctelebot_messageThis object represents a message
 Ctelebot_message_entityThis object represents one special entity in a text message. For example, hashtags, usernames, URLs, etc
 Ctelebot_photoThis object represents one size of a photo or a file / sticker thumbnail
 Ctelebot_pollThis object contains information about a poll
 Ctelebot_poll_answerThis object represents an answer of a user in a non-anonymous poll
 Ctelebot_poll_optionThis object contains information about one answer option in a poll
 Ctelebot_reply_keyboard_markupThis object represents a custom keyboard with reply options
 Ctelebot_reply_keyboard_removeUpon receiving a message with this object, Telegram clients will remove the current custom keyboard and display the default letter-keyboard. By default, custom keyboards are displayed until a new keyboard is sent by a bot. An exception is made for one-time keyboards that are hidden immediately after the user presses a button (see telebot_reply_keyboard_markup_t)
 Ctelebot_response_paramtersContains information about why a request was unsuccessful
 Ctelebot_stickerThis object represents a sticker
 Ctelebot_sticker_setThis object represents a sticker set
 Ctelebot_updateThis object represents an incoming update
 Ctelebot_userThis object represents a Telegram user or bot
 Ctelebot_user_profile_photosThis object represent a user's profile pictures
 Ctelebot_venueThis object represents a venue
 Ctelebot_videoThis object represents a video file
 Ctelebot_video_noteThis object represents a video message (available in Telegram apps as of v.4.0)
 Ctelebot_voiceThis object represents a voice note
 Ctelebot_webhook_infoThi object represetns information about the current status of a webhook
 Ctelebot_affiliate_infoContains information about the affiliate that received a commission
 Ctelebot_animationThis object represents a video file
 Ctelebot_audioThis object represents an audio file to be treated as music by the Telegram clients
 Ctelebot_birthdateDescribes the birthdate of a user
 Ctelebot_bot_commandThis object represents a bot command
 Ctelebot_business_bot_rightsRepresents the rights of a business bot
 Ctelebot_business_connectionDescribes the connection of the bot with a business account
 Ctelebot_business_introContains information about the start page settings of a Telegram Business account
 Ctelebot_business_locationContains information about the location of a Telegram Business account
 Ctelebot_business_messages_deletedThis object is received when messages are deleted from a connected business account
 Ctelebot_business_opening_hoursDescribes the opening hours of a business
 Ctelebot_business_opening_hours_intervalDescribes an interval of time during which a business is open
 Ctelebot_callback_gameA placeholder, currently holds no information. Use BotFather to set up your game
 Ctelebot_callback_queryThis object represents an incoming callback query from a callback button in an inline keyboard. If the button that originated the query was attached to a message sent by the bot, the field message will be present. If the button was attached to a message sent via the bot (in inline mode), the field inline_message_id will be present. Exactly one of the fields data or game_short_name will be present
 Ctelebot_chatThis object represents a chat
 Ctelebot_chat_backgroundThis object represents a chat background
 Ctelebot_chat_boostThis object contains information about a chat boost
 Ctelebot_chat_boost_addedThis object represents a service message about a user boosting a chat
 Ctelebot_chat_boost_removedThis object represents a boost removed from a chat
 Ctelebot_chat_boost_sourceThis object represents the source of a chat boost
 Ctelebot_chat_boost_updatedThis object represents a boost added to a chat
 Ctelebot_chat_invite_linkThis object represents a chat invite link
 Ctelebot_chat_join_requestThis object represents a join request sent to a chat
 Ctelebot_chat_locationThi object represetns information about the current status of a webhook
 Ctelebot_chat_memberThis object contains information about one member of a chat
 Ctelebot_chat_member_updatedThis object represents changes in the status of a chat member
 Ctelebot_chat_permissionsDescribes actions that a non-administrator user is allowed to take in a chat
 Ctelebot_chat_photoThis object represents a chat photo
 Ctelebot_chat_sharedThis object contains information about the chat whose identifier was shared with the bot using a KeyboardButtonRequestChat button
 Ctelebot_chosen_inline_resultRepresents a result of an inline query that was chosen by the user and sent to their chat partner
 Ctelebot_contactThis object represents a phone contact
 Ctelebot_copy_text_buttonThis object represents an inline keyboard button that copies specified text to the clipboard
 Ctelebot_diceThis object represents a dice with random value from 1 to 6
 Ctelebot_documentThis object represents a general file (as opposed to photos, voice messages and audio files)
 Ctelebot_encrypted_credentialsThis object represents credentials required to decrypt the data
 Ctelebot_encrypted_passport_elementThis object represents one element of the Telegram Passport data
 Ctelebot_external_reply_infoThis object contains information about the message that is being replied to, which may come from another chat or forum topic
 Ctelebot_fileThis object represents a file ready to be downloaded
 Ctelebot_force_replyUpon receiving a message with this object, Telegram clients will display a reply interface to the user (act as if the user has selected the bot's message and tapped ’Reply'). This can be extremely useful if you want to create user-friendly step-by-step interfaces without having to sacrifice privacy mode
 Ctelebot_forum_topicThis object represents a forum topic
 Ctelebot_forum_topic_closedThis object represents a service message about a forum topic closed in the chat
 Ctelebot_forum_topic_createdThis object represents a service message about a new forum topic created in the chat
 Ctelebot_forum_topic_editedThis object represents a service message about a forum topic edited in the chat
 Ctelebot_forum_topic_reopenedThis object represents a service message about a forum topic reopened in the chat
 Ctelebot_gameThis object represents a game
 Ctelebot_game_high_scoreThis object represents a game high score row
 Ctelebot_general_forum_topic_hiddenThis object represents a service message about a general forum topic hidden in the chat
 Ctelebot_general_forum_topic_unhiddenThis object represents a service message about a general forum topic unhidden in the chat
 Ctelebot_giftThis object represents a gift that can be sent by the bot
 Ctelebot_gift_infoDescribes a regular gift that was sent or received
 Ctelebot_giftsThis object represent a list of gifts
 Ctelebot_giveawayThis object represents a message about a scheduled giveaway
 Ctelebot_giveaway_completedThis object represents a service message about the completion of a giveaway without public winners
 Ctelebot_giveaway_createdThis object represents a service message about the creation of a scheduled giveaway
 Ctelebot_giveaway_winnersThis object represents a message about the completion of a giveaway with public winners
 Ctelebot_inline_keyboard_buttonThis object represents one button of an inline keyboard. You must use exactly one of the optional fields
 Ctelebot_inline_keyboard_markupThis object represents an inline keyboard that appears right next to the message it belongs to
 Ctelebot_inline_queryThis object represents an incoming inline query. When the user sends an empty query, your bot could return some default or trending results
 Ctelebot_invoiceThis object contains basic information about an invoice
 Ctelebot_keyboard_buttonThis object represents one button of the reply keyboard. For simple text buttons String can be used instead of this object to specify text of the button. Optional fields request_contact, request_location, and request_poll are mutually exclusive
 Ctelebot_keyboard_button_poll_typeThis object represents type of a poll, which is allowed to be created and sent when the corresponding button is pressed
 Ctelebot_keyboard_button_request_chatThis object defines the criteria used to request a suitable chat
 Ctelebot_keyboard_button_request_usersThis object defines the criteria used to request suitable users
 Ctelebot_link_preview_optionsDescribes the options used for link preview generation
 Ctelebot_locationThis object represents a point on the map
 Ctelebot_login_urlThis object represents a parameter of the inline keyboard button used to automatically authorize a user
 Ctelebot_mask_positionThis object describes the position on faces where a mask should be placed by default
 Ctelebot_messageThis object represents a message
 Ctelebot_message_auto_delete_timer_changedThis object represents a service message about a change in auto-delete timer settings
 Ctelebot_message_entityThis object represents one special entity in a text message. For example, hashtags, usernames, URLs, etc
 Ctelebot_message_originThis object describes the origin of a message
 Ctelebot_message_reaction_count_updatedThis object represents reaction changes on a message with anonymous reactions
 Ctelebot_message_reaction_updatedThis object represents a change of a reaction on a message performed by a user
 Ctelebot_order_infoThis object represents information about an order
 Ctelebot_paid_mediaThis object describes paid media
 Ctelebot_paid_media_infoDescribes the paid media added to a message
 Ctelebot_paid_media_purchasedThis object contains information about a paid media purchase
 Ctelebot_passport_dataContains information about Telegram Passport data which was shared with the bot by the user
 Ctelebot_passport_element_errorThis object represents an error in the Telegram Passport element
 Ctelebot_passport_fileThis object represents an internal identifier of a user in Telegram Passport
 Ctelebot_photoThis object represents one size of a photo or a file / sticker thumbnail
 Ctelebot_pollThis object contains information about a poll
 Ctelebot_poll_answerThis object represents an answer of a user in a non-anonymous poll
 Ctelebot_poll_optionThis object contains information about one answer option in a poll
 Ctelebot_pre_checkout_queryThis object contains information about an incoming pre-checkout query
 Ctelebot_prepared_inline_messageThis object represents a prepared inline message
 Ctelebot_proximity_alert_triggeredThis object represents a service message about a user in the chat triggered another user's proximity alert while sharing Live Location
 Ctelebot_reaction_countThis object represents a reaction count
 Ctelebot_reaction_typeThis object represents a reaction type
 Ctelebot_refunded_paymentThis object represents a service message about a refunded payment
 Ctelebot_reply_keyboard_markupThis object represents a custom keyboard with reply options
 Ctelebot_reply_keyboard_removeUpon receiving a message with this object, Telegram clients will remove the current custom keyboard and display the default letter-keyboard. By default, custom keyboards are displayed until a new keyboard is sent by a bot. An exception is made for one-time keyboards that are hidden immediately after the user presses a button (see telebot_reply_keyboard_markup_t)
 Ctelebot_response_paramtersContains information about why a request was unsuccessful
 Ctelebot_revenue_withdrawal_stateThis object describes the state of a revenue withdrawal operation
 Ctelebot_sent_web_app_messageThis object represents a message sent via a Web App
 Ctelebot_shared_userThis object contains information about a user that was shared with the bot
 Ctelebot_shipping_addressThis object represents a shipping address
 Ctelebot_shipping_queryThis object contains information about an incoming shipping query
 Ctelebot_star_amountDescribes an amount of Telegram Stars
 Ctelebot_star_transactionDescribes a Telegram Star transaction
 Ctelebot_star_transactionsContains a list of Telegram Star transactions
 Ctelebot_stickerThis object represents a sticker
 Ctelebot_sticker_setThis object represents a sticker set
 Ctelebot_storyThis object contains information about a story
 Ctelebot_successful_paymentThis object contains basic information about a successful payment
 Ctelebot_switch_inline_query_chosen_chatThis object represents an inline button that switches the current user to inline mode in a chosen chat
 Ctelebot_text_quoteThis object contains information about the quoted part of a message that is replied to by the given message
 Ctelebot_transaction_partnerThis object describes the source of a transaction
 Ctelebot_unique_giftThis object describes a unique gift that was upgraded from a regular gift
 Ctelebot_unique_gift_infoDescribes a unique gift that was sent or received
 Ctelebot_updateThis object represents an incoming update
 Ctelebot_userThis object represents a Telegram user or bot
 Ctelebot_user_chat_boostsThis object represents a list of user chat boosts
 Ctelebot_user_giftThis object represents a gift received by a user
 Ctelebot_user_giftsThis object represents a list of gifts received by a user
 Ctelebot_user_profile_audiosThis object represents a list of user profile audios
 Ctelebot_user_profile_photosThis object represent a user's profile pictures
 Ctelebot_user_sharedThis object contains information about the user whose identifier was shared with the bot using a KeyboardButtonRequestUser button
 Ctelebot_users_sharedThis object contains information about the users whose identifiers were shared with the bot using a KeyboardButtonRequestUsers button
 Ctelebot_venueThis object represents a venue
 Ctelebot_videoThis object represents a video file
 Ctelebot_video_chat_endedThis object represents a service message about a video chat ended in the chat
 Ctelebot_video_chat_participants_invitedThis object represents a service message about new members invited to a video chat
 Ctelebot_video_chat_scheduledThis object represents a service message about a video chat scheduled in the chat
 Ctelebot_video_chat_startedThis object represents a service message about a video chat started in the chat
 Ctelebot_video_noteThis object represents a video message (available in Telegram apps as of v.4.0)
 Ctelebot_voiceThis object represents a voice note
 Ctelebot_web_app_dataThis object represents data sent by a Web App to the bot
 Ctelebot_web_app_infoDescribes a Web App
 Ctelebot_webhook_infoThi object represetns information about the current status of a webhook
 Ctelebot_write_access_allowedThis object represents a service message about a user allowing a bot to write messages after adding the bot to the attachment menu or launching a Web App from a link
diff --git a/docs/bc_sd.png b/docs/bc_sd.png new file mode 100644 index 0000000000000000000000000000000000000000..31ca888dc71049713b35c351933a8d0f36180bf1 GIT binary patch literal 635 zcmV->0)+jEP)Jwi0r1~gdSq#w{Bu1q z`craw(p2!hu$4C_$Oc3X(sI6e=9QSTwPt{G) z=htT&^~&c~L2~e{r5_5SYe7#Is-$ln>~Kd%$F#tC65?{LvQ}8O`A~RBB0N~`2M+waajO;5>3B&-viHGJeEK2TQOiPRa zfDKyqwMc4wfaEh4jt>H`nW_Zidwk@Bowp`}(VUaj-pSI(-1L>FJVsX}Yl9~JsqgsZ zUD9(rMwf23Gez6KPa|wwInZodP-2}9@fK0Ga_9{8SOjU&4l`pH4@qlQp83>>HT$xW zER^U>)MyV%t(Lu=`d=Y?{k1@}&r7ZGkFQ%z%N+sE9BtYjovzxyxCPxN6&@wLK{soQ zSmkj$aLI}miuE^p@~4}mg9OjDfGEkgY4~^XzLRUBB*O{+&vq<3v(E%+k_i%=`~j%{ Vj14gnt9}3g002ovPDHLkV1n!oC4m3{ literal 0 HcmV?d00001 diff --git a/docs/bdwn.png b/docs/bdwn.png deleted file mode 100644 index 940a0b950443a0bb1b216ac03c45b8a16c955452..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PKZC{Gv1kP61Pb5HX&C2wk~_T - + + - - + + Telebot: Class Index @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,36 +57,32 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
Class Index
+
Class Index
- - - - - - - - - - - -
  t  
-
telebot_chat_permissions   telebot_force_reply   telebot_poll   telebot_update   
telebot_chat_photo   telebot_keyboard_button   telebot_poll_answer   telebot_user   
telebot_animation   telebot_contact   telebot_keyboard_button_poll_type   telebot_poll_option   telebot_user_profile_photos   
telebot_audio   telebot_core_handler   telebot_location   telebot_reply_keyboard_markup   telebot_venue   
telebot_bot_command   telebot_core_response   telebot_mask_position   telebot_reply_keyboard_remove   telebot_video   
telebot_callback_query   telebot_dice   telebot_message   telebot_response_paramters   telebot_video_note   
telebot_chat   telebot_document   telebot_message_entity   telebot_sticker   telebot_voice   
telebot_chat_member   telebot_file   telebot_photo   telebot_sticker_set   telebot_webhook_info   
- + +
+
+
T
+
telebot_affiliate_info
telebot_animation
telebot_audio
telebot_birthdate
telebot_bot_command
telebot_business_bot_rights
telebot_business_connection
telebot_business_intro
telebot_business_location
telebot_business_messages_deleted
telebot_business_opening_hours
telebot_business_opening_hours_interval
telebot_callback_game
telebot_callback_query
telebot_chat
telebot_chat_background
telebot_chat_boost
telebot_chat_boost_added
telebot_chat_boost_removed
telebot_chat_boost_source
telebot_chat_boost_updated
telebot_chat_invite_link
telebot_chat_join_request
telebot_chat_location
telebot_chat_member
telebot_chat_member_updated
telebot_chat_permissions
telebot_chat_photo
telebot_chat_shared
telebot_chosen_inline_result
telebot_contact
telebot_copy_text_button
telebot_dice
telebot_document
telebot_encrypted_credentials
telebot_encrypted_passport_element
telebot_external_reply_info
telebot_file
telebot_force_reply
telebot_forum_topic
telebot_forum_topic_closed
telebot_forum_topic_created
telebot_forum_topic_edited
telebot_forum_topic_reopened
telebot_game
telebot_game_high_score
telebot_general_forum_topic_hidden
telebot_general_forum_topic_unhidden
telebot_gift
telebot_gift_info
telebot_gifts
telebot_giveaway
telebot_giveaway_completed
telebot_giveaway_created
telebot_giveaway_winners
telebot_inline_keyboard_button
telebot_inline_keyboard_markup
telebot_inline_query
telebot_invoice
telebot_keyboard_button
telebot_keyboard_button_poll_type
telebot_keyboard_button_request_chat
telebot_keyboard_button_request_users
telebot_link_preview_options
telebot_location
telebot_login_url
telebot_mask_position
telebot_message
telebot_message_auto_delete_timer_changed
telebot_message_entity
telebot_message_origin
telebot_message_reaction_count_updated
telebot_message_reaction_updated
telebot_order_info
telebot_paid_media
telebot_paid_media_info
telebot_paid_media_purchased
telebot_passport_data
telebot_passport_element_error
telebot_passport_file
telebot_photo
telebot_poll
telebot_poll_answer
telebot_poll_option
telebot_pre_checkout_query
telebot_prepared_inline_message
telebot_proximity_alert_triggered
telebot_reaction_count
telebot_reaction_type
telebot_refunded_payment
telebot_reply_keyboard_markup
telebot_reply_keyboard_remove
telebot_response_paramters
telebot_revenue_withdrawal_state
telebot_sent_web_app_message
telebot_shared_user
telebot_shipping_address
telebot_shipping_query
telebot_star_amount
telebot_star_transaction
telebot_star_transactions
telebot_sticker
telebot_sticker_set
telebot_story
telebot_successful_payment
telebot_switch_inline_query_chosen_chat
telebot_text_quote
telebot_transaction_partner
telebot_unique_gift
telebot_unique_gift_info
telebot_update
telebot_user
telebot_user_chat_boosts
telebot_user_gift
telebot_user_gifts
telebot_user_profile_audios
telebot_user_profile_photos
telebot_user_shared
telebot_users_shared
telebot_venue
telebot_video
telebot_video_chat_ended
telebot_video_chat_participants_invited
telebot_video_chat_scheduled
telebot_video_chat_started
telebot_video_note
telebot_voice
telebot_web_app_data
telebot_web_app_info
telebot_webhook_info
telebot_write_access_allowed
+
diff --git a/docs/dir_d44c64559bbebec7f509842c48db8b23.html b/docs/dir_d44c64559bbebec7f509842c48db8b23.html index a5c6d30..2790c50 100644 --- a/docs/dir_d44c64559bbebec7f509842c48db8b23.html +++ b/docs/dir_d44c64559bbebec7f509842c48db8b23.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: include Directory Reference @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,9 +56,16 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
include Directory Reference
+
include Directory Reference
- - + - + + + + + + + + + + + + + - + + + + + + + - + + + +

+

Files

file  telebot-common.h [code]
 telebot-common.h
 This file contains telegram bot common defintions.
 
file  telebot-methods.h [code]
 telebot-core.h
 This file contains core API for the telegram bot interface.
 
 telebot-forums.h
 This file contains forums feature of telegram bot.
 
 telebot-games.h
 This file contains games feature of telegram bot.
 
 telebot-inline.h
 This file contains inline mode feature of telegram bot.
 
 telebot-methods.h
 This file contains methods used to create telegram bot.
 
file  telebot-stickers.h [code]
 telebot-passport.h
 This file contains Telegram Passport feature of telegram bot.
 
 telebot-payments.h
 This file contains payments feature of telegram bot.
 
 telebot-stickers.h
 This file contains stickers feature of telegram bot.
 
file  telebot-types.h [code]
 telebot-types.h
 This file contains types used to create telegram bot.
 
 telebot.h
 This file includes all the header files of the telegram bot library.
 
diff --git a/docs/doc.png b/docs/doc.png deleted file mode 100644 index 17edabff95f7b8da13c9516a04efe05493c29501..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 746 zcmV7=@pnbNXRFEm&G8P!&WHG=d)>K?YZ1bzou)2{$)) zumDct!>4SyxL;zgaG>wy`^Hv*+}0kUfCrz~BCOViSb$_*&;{TGGn2^x9K*!Sf0=lV zpP=7O;GA0*Jm*tTYj$IoXvimpnV4S1Z5f$p*f$Db2iq2zrVGQUz~yq`ahn7ck(|CE z7Gz;%OP~J6)tEZWDzjhL9h2hdfoU2)Nd%T<5Kt;Y0XLt&<@6pQx!nw*5`@bq#?l*?3z{Hlzoc=Pr>oB5(9i6~_&-}A(4{Q$>c>%rV&E|a(r&;?i5cQB=} zYSDU5nXG)NS4HEs0it2AHe2>shCyr7`6@4*6{r@8fXRbTA?=IFVWAQJL&H5H{)DpM#{W(GL+Idzf^)uRV@oB8u$ z8v{MfJbTiiRg4bza<41NAzrl{=3fl_D+$t+^!xlQ8S}{UtY`e z;;&9UhyZqQRN%2pot{*Ei0*4~hSF_3AH2@fKU!$NSflS>{@tZpDT4`M2WRTTVH+D? z)GFlEGGHe?koB}i|1w45!BF}N_q&^HJ&-tyR{(afC6H7|aml|tBBbv}55C5DNP8p3 z)~jLEO4Z&2hZmP^i-e%(@d!(E|KRafiU8Q5u(wU((j8un3OR*Hvj+t diff --git a/docs/doc.svg b/docs/doc.svg new file mode 100644 index 0000000..0b928a5 --- /dev/null +++ b/docs/doc.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/docs/docd.svg b/docs/docd.svg new file mode 100644 index 0000000..ac18b27 --- /dev/null +++ b/docs/docd.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/docs/doxygen.css b/docs/doxygen.css index 4f1ab91..009a9b5 100644 --- a/docs/doxygen.css +++ b/docs/doxygen.css @@ -1,29 +1,378 @@ -/* The standard CSS for doxygen 1.8.13 */ - -body, table, div, p, dl { - font: 400 14px/22px Roboto,sans-serif; +/* The standard CSS for doxygen 1.9.8*/ + +html { +/* page base colors */ +--page-background-color: white; +--page-foreground-color: black; +--page-link-color: #3D578C; +--page-visited-link-color: #4665A2; + +/* index */ +--index-odd-item-bg-color: #F8F9FC; +--index-even-item-bg-color: white; +--index-header-color: black; +--index-separator-color: #A0A0A0; + +/* header */ +--header-background-color: #F9FAFC; +--header-separator-color: #C4CFE5; +--header-gradient-image: url('nav_h.png'); +--group-header-separator-color: #879ECB; +--group-header-color: #354C7B; +--inherit-header-color: gray; + +--footer-foreground-color: #2A3D61; +--footer-logo-width: 104px; +--citation-label-color: #334975; +--glow-color: cyan; + +--title-background-color: white; +--title-separator-color: #5373B4; +--directory-separator-color: #9CAFD4; +--separator-color: #4A6AAA; + +--blockquote-background-color: #F7F8FB; +--blockquote-border-color: #9CAFD4; + +--scrollbar-thumb-color: #9CAFD4; +--scrollbar-background-color: #F9FAFC; + +--icon-background-color: #728DC1; +--icon-foreground-color: white; +--icon-doc-image: url('doc.svg'); +--icon-folder-open-image: url('folderopen.svg'); +--icon-folder-closed-image: url('folderclosed.svg'); + +/* brief member declaration list */ +--memdecl-background-color: #F9FAFC; +--memdecl-separator-color: #DEE4F0; +--memdecl-foreground-color: #555; +--memdecl-template-color: #4665A2; + +/* detailed member list */ +--memdef-border-color: #A8B8D9; +--memdef-title-background-color: #E2E8F2; +--memdef-title-gradient-image: url('nav_f.png'); +--memdef-proto-background-color: #DFE5F1; +--memdef-proto-text-color: #253555; +--memdef-proto-text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); +--memdef-doc-background-color: white; +--memdef-param-name-color: #602020; +--memdef-template-color: #4665A2; + +/* tables */ +--table-cell-border-color: #2D4068; +--table-header-background-color: #374F7F; +--table-header-foreground-color: #FFFFFF; + +/* labels */ +--label-background-color: #728DC1; +--label-left-top-border-color: #5373B4; +--label-right-bottom-border-color: #C4CFE5; +--label-foreground-color: white; + +/** navigation bar/tree/menu */ +--nav-background-color: #F9FAFC; +--nav-foreground-color: #364D7C; +--nav-gradient-image: url('tab_b.png'); +--nav-gradient-hover-image: url('tab_h.png'); +--nav-gradient-active-image: url('tab_a.png'); +--nav-gradient-active-image-parent: url("../tab_a.png"); +--nav-separator-image: url('tab_s.png'); +--nav-breadcrumb-image: url('bc_s.png'); +--nav-breadcrumb-border-color: #C2CDE4; +--nav-splitbar-image: url('splitbar.png'); +--nav-font-size-level1: 13px; +--nav-font-size-level2: 10px; +--nav-font-size-level3: 9px; +--nav-text-normal-color: #283A5D; +--nav-text-hover-color: white; +--nav-text-active-color: white; +--nav-text-normal-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); +--nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-menu-button-color: #364D7C; +--nav-menu-background-color: white; +--nav-menu-foreground-color: #555555; +--nav-menu-toggle-color: rgba(255, 255, 255, 0.5); +--nav-arrow-color: #9CAFD4; +--nav-arrow-selected-color: #9CAFD4; + +/* table of contents */ +--toc-background-color: #F4F6FA; +--toc-border-color: #D8DFEE; +--toc-header-color: #4665A2; +--toc-down-arrow-image: url("data:image/svg+xml;utf8,&%238595;"); + +/** search field */ +--search-background-color: white; +--search-foreground-color: #909090; +--search-magnification-image: url('mag.svg'); +--search-magnification-select-image: url('mag_sel.svg'); +--search-active-color: black; +--search-filter-background-color: #F9FAFC; +--search-filter-foreground-color: black; +--search-filter-border-color: #90A5CE; +--search-filter-highlight-text-color: white; +--search-filter-highlight-bg-color: #3D578C; +--search-results-foreground-color: #425E97; +--search-results-background-color: #EEF1F7; +--search-results-border-color: black; +--search-box-shadow: inset 0.5px 0.5px 3px 0px #555; + +/** code fragments */ +--code-keyword-color: #008000; +--code-type-keyword-color: #604020; +--code-flow-keyword-color: #E08000; +--code-comment-color: #800000; +--code-preprocessor-color: #806020; +--code-string-literal-color: #002080; +--code-char-literal-color: #008080; +--code-xml-cdata-color: black; +--code-vhdl-digit-color: #FF00FF; +--code-vhdl-char-color: #000000; +--code-vhdl-keyword-color: #700070; +--code-vhdl-logic-color: #FF0000; +--code-link-color: #4665A2; +--code-external-link-color: #4665A2; +--fragment-foreground-color: black; +--fragment-background-color: #FBFCFD; +--fragment-border-color: #C4CFE5; +--fragment-lineno-border-color: #00FF00; +--fragment-lineno-background-color: #E8E8E8; +--fragment-lineno-foreground-color: black; +--fragment-lineno-link-fg-color: #4665A2; +--fragment-lineno-link-bg-color: #D8D8D8; +--fragment-lineno-link-hover-fg-color: #4665A2; +--fragment-lineno-link-hover-bg-color: #C8C8C8; +--tooltip-foreground-color: black; +--tooltip-background-color: white; +--tooltip-border-color: gray; +--tooltip-doc-color: grey; +--tooltip-declaration-color: #006318; +--tooltip-link-color: #4665A2; +--tooltip-shadow: 1px 1px 7px gray; +--fold-line-color: #808080; +--fold-minus-image: url('minus.svg'); +--fold-plus-image: url('plus.svg'); +--fold-minus-image-relpath: url('../../minus.svg'); +--fold-plus-image-relpath: url('../../plus.svg'); + +/** font-family */ +--font-family-normal: Roboto,sans-serif; +--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; +--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +--font-family-title: Tahoma,Arial,sans-serif; +--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; +--font-family-search: Arial,Verdana,sans-serif; +--font-family-icon: Arial,Helvetica; +--font-family-tooltip: Roboto,sans-serif; + +} + +@media (prefers-color-scheme: dark) { + html:not(.dark-mode) { + color-scheme: dark; + +/* page base colors */ +--page-background-color: black; +--page-foreground-color: #C9D1D9; +--page-link-color: #90A5CE; +--page-visited-link-color: #A3B4D7; + +/* index */ +--index-odd-item-bg-color: #0B101A; +--index-even-item-bg-color: black; +--index-header-color: #C4CFE5; +--index-separator-color: #334975; + +/* header */ +--header-background-color: #070B11; +--header-separator-color: #141C2E; +--header-gradient-image: url('nav_hd.png'); +--group-header-separator-color: #283A5D; +--group-header-color: #90A5CE; +--inherit-header-color: #A0A0A0; + +--footer-foreground-color: #5B7AB7; +--footer-logo-width: 60px; +--citation-label-color: #90A5CE; +--glow-color: cyan; + +--title-background-color: #090D16; +--title-separator-color: #354C79; +--directory-separator-color: #283A5D; +--separator-color: #283A5D; + +--blockquote-background-color: #101826; +--blockquote-border-color: #283A5D; + +--scrollbar-thumb-color: #283A5D; +--scrollbar-background-color: #070B11; + +--icon-background-color: #334975; +--icon-foreground-color: #C4CFE5; +--icon-doc-image: url('docd.svg'); +--icon-folder-open-image: url('folderopend.svg'); +--icon-folder-closed-image: url('folderclosedd.svg'); + +/* brief member declaration list */ +--memdecl-background-color: #0B101A; +--memdecl-separator-color: #2C3F65; +--memdecl-foreground-color: #BBB; +--memdecl-template-color: #7C95C6; + +/* detailed member list */ +--memdef-border-color: #233250; +--memdef-title-background-color: #1B2840; +--memdef-title-gradient-image: url('nav_fd.png'); +--memdef-proto-background-color: #19243A; +--memdef-proto-text-color: #9DB0D4; +--memdef-proto-text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.9); +--memdef-doc-background-color: black; +--memdef-param-name-color: #D28757; +--memdef-template-color: #7C95C6; + +/* tables */ +--table-cell-border-color: #283A5D; +--table-header-background-color: #283A5D; +--table-header-foreground-color: #C4CFE5; + +/* labels */ +--label-background-color: #354C7B; +--label-left-top-border-color: #4665A2; +--label-right-bottom-border-color: #283A5D; +--label-foreground-color: #CCCCCC; + +/** navigation bar/tree/menu */ +--nav-background-color: #101826; +--nav-foreground-color: #364D7C; +--nav-gradient-image: url('tab_bd.png'); +--nav-gradient-hover-image: url('tab_hd.png'); +--nav-gradient-active-image: url('tab_ad.png'); +--nav-gradient-active-image-parent: url("../tab_ad.png"); +--nav-separator-image: url('tab_sd.png'); +--nav-breadcrumb-image: url('bc_sd.png'); +--nav-breadcrumb-border-color: #2A3D61; +--nav-splitbar-image: url('splitbard.png'); +--nav-font-size-level1: 13px; +--nav-font-size-level2: 10px; +--nav-font-size-level3: 9px; +--nav-text-normal-color: #B6C4DF; +--nav-text-hover-color: #DCE2EF; +--nav-text-active-color: #DCE2EF; +--nav-text-normal-shadow: 0px 1px 1px black; +--nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-menu-button-color: #B6C4DF; +--nav-menu-background-color: #05070C; +--nav-menu-foreground-color: #BBBBBB; +--nav-menu-toggle-color: rgba(255, 255, 255, 0.2); +--nav-arrow-color: #334975; +--nav-arrow-selected-color: #90A5CE; + +/* table of contents */ +--toc-background-color: #151E30; +--toc-border-color: #202E4A; +--toc-header-color: #A3B4D7; +--toc-down-arrow-image: url("data:image/svg+xml;utf8,&%238595;"); + +/** search field */ +--search-background-color: black; +--search-foreground-color: #C5C5C5; +--search-magnification-image: url('mag_d.svg'); +--search-magnification-select-image: url('mag_seld.svg'); +--search-active-color: #C5C5C5; +--search-filter-background-color: #101826; +--search-filter-foreground-color: #90A5CE; +--search-filter-border-color: #7C95C6; +--search-filter-highlight-text-color: #BCC9E2; +--search-filter-highlight-bg-color: #283A5D; +--search-results-background-color: #101826; +--search-results-foreground-color: #90A5CE; +--search-results-border-color: #7C95C6; +--search-box-shadow: inset 0.5px 0.5px 3px 0px #2F436C; + +/** code fragments */ +--code-keyword-color: #CC99CD; +--code-type-keyword-color: #AB99CD; +--code-flow-keyword-color: #E08000; +--code-comment-color: #717790; +--code-preprocessor-color: #65CABE; +--code-string-literal-color: #7EC699; +--code-char-literal-color: #00E0F0; +--code-xml-cdata-color: #C9D1D9; +--code-vhdl-digit-color: #FF00FF; +--code-vhdl-char-color: #C0C0C0; +--code-vhdl-keyword-color: #CF53C9; +--code-vhdl-logic-color: #FF0000; +--code-link-color: #79C0FF; +--code-external-link-color: #79C0FF; +--fragment-foreground-color: #C9D1D9; +--fragment-background-color: black; +--fragment-border-color: #30363D; +--fragment-lineno-border-color: #30363D; +--fragment-lineno-background-color: black; +--fragment-lineno-foreground-color: #6E7681; +--fragment-lineno-link-fg-color: #6E7681; +--fragment-lineno-link-bg-color: #303030; +--fragment-lineno-link-hover-fg-color: #8E96A1; +--fragment-lineno-link-hover-bg-color: #505050; +--tooltip-foreground-color: #C9D1D9; +--tooltip-background-color: #202020; +--tooltip-border-color: #C9D1D9; +--tooltip-doc-color: #D9E1E9; +--tooltip-declaration-color: #20C348; +--tooltip-link-color: #79C0FF; +--tooltip-shadow: none; +--fold-line-color: #808080; +--fold-minus-image: url('minusd.svg'); +--fold-plus-image: url('plusd.svg'); +--fold-minus-image-relpath: url('../../minusd.svg'); +--fold-plus-image-relpath: url('../../plusd.svg'); + +/** font-family */ +--font-family-normal: Roboto,sans-serif; +--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; +--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +--font-family-title: Tahoma,Arial,sans-serif; +--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; +--font-family-search: Arial,Verdana,sans-serif; +--font-family-icon: Arial,Helvetica; +--font-family-tooltip: Roboto,sans-serif; + +}} +body { + background-color: var(--page-background-color); + color: var(--page-foreground-color); } -p.reference, p.definition { - font: 400 14px/22px Roboto,sans-serif; +body, table, div, p, dl { + font-weight: 400; + font-size: 14px; + font-family: var(--font-family-normal); + line-height: 22px; } /* @group Heading Levels */ -h1.groupheader { - font-size: 150%; -} - .title { - font: 400 14px/28px Roboto,sans-serif; + font-weight: 400; + font-size: 14px; + font-family: var(--font-family-normal); + line-height: 28px; font-size: 150%; font-weight: bold; margin: 10px 2px; } +h1.groupheader { + font-size: 150%; +} + h2.groupheader { - border-bottom: 1px solid #879ECB; - color: #354C7B; + border-bottom: 1px solid var(--group-header-separator-color); + color: var(--group-header-color); font-size: 150%; font-weight: normal; margin-top: 1.75em; @@ -46,24 +395,22 @@ h1, h2, h3, h4, h5, h6 { } h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { - text-shadow: 0 0 15px cyan; + text-shadow: 0 0 15px var(--glow-color); } dt { font-weight: bold; } -div.multicol { - -moz-column-gap: 1em; - -webkit-column-gap: 1em; - -moz-column-count: 3; - -webkit-column-count: 3; -} - p.startli, p.startdd { margin-top: 2px; } +th p.starttd, th p.intertd, th p.endtd { + font-size: 100%; + font-weight: 700; +} + p.starttd { margin-top: 0px; } @@ -80,6 +427,15 @@ p.endtd { margin-bottom: 2px; } +p.interli { +} + +p.interdd { +} + +p.intertd { +} + /* @end */ caption { @@ -87,59 +443,120 @@ caption { } span.legend { - font-size: 70%; - text-align: center; + font-size: 70%; + text-align: center; } h3.version { - font-size: 90%; - text-align: center; + font-size: 90%; + text-align: center; } -div.qindex, div.navtab{ - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; +div.navtab { + padding-right: 15px; + text-align: right; + line-height: 110%; +} + +div.navtab table { + border-spacing: 0; +} + +td.navtab { + padding-right: 6px; + padding-left: 6px; +} + +td.navtabHL { + background-image: var(--nav-gradient-active-image); + background-repeat:repeat-x; + padding-right: 6px; + padding-left: 6px; } -div.qindex, div.navpath { +td.navtabHL a, td.navtabHL a:visited { + color: var(--nav-text-hover-color); + text-shadow: var(--nav-text-hover-shadow); +} + +a.navtab { + font-weight: bold; +} + +div.qindex{ + text-align: center; width: 100%; line-height: 140%; + font-size: 130%; + color: var(--index-separator-color); } -div.navtab { - margin-right: 15px; +#main-menu a:focus { + outline: auto; + z-index: 10; + position: relative; } -/* @group Link Styling */ +dt.alphachar{ + font-size: 180%; + font-weight: bold; +} -a { - color: #3D578C; - font-weight: normal; +.alphachar a{ + color: var(--index-header-color); +} + +.alphachar a:hover, .alphachar a:visited{ text-decoration: none; } -.contents a:visited { - color: #4665A2; +.classindex dl { + padding: 25px; + column-count:1 } -a:hover { - text-decoration: underline; +.classindex dd { + display:inline-block; + margin-left: 50px; + width: 90%; + line-height: 1.15em; } -a.qindex { - font-weight: bold; +.classindex dl.even { + background-color: var(--index-even-item-bg-color); } -a.qindexHL { - font-weight: bold; - background-color: #9CAFD4; - color: #ffffff; - border: 1px double #869DCA; +.classindex dl.odd { + background-color: var(--index-odd-item-bg-color); } -.contents a.qindexHL:visited { - color: #ffffff; +@media(min-width: 1120px) { + .classindex dl { + column-count:2 + } +} + +@media(min-width: 1320px) { + .classindex dl { + column-count:3 + } +} + + +/* @group Link Styling */ + +a { + color: var(--page-link-color); + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: var(--page-visited-link-color); +} + +a:hover { + text-decoration: underline; } a.el { @@ -150,12 +567,39 @@ a.elRef { } a.code, a.code:visited, a.line, a.line:visited { - color: #4665A2; + color: var(--code-link-color); } a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { - color: #4665A2; -} + color: var(--code-external-link-color); +} + +a.code.hl_class { /* style for links to class names in code snippets */ } +a.code.hl_struct { /* style for links to struct names in code snippets */ } +a.code.hl_union { /* style for links to union names in code snippets */ } +a.code.hl_interface { /* style for links to interface names in code snippets */ } +a.code.hl_protocol { /* style for links to protocol names in code snippets */ } +a.code.hl_category { /* style for links to category names in code snippets */ } +a.code.hl_exception { /* style for links to exception names in code snippets */ } +a.code.hl_service { /* style for links to service names in code snippets */ } +a.code.hl_singleton { /* style for links to singleton names in code snippets */ } +a.code.hl_concept { /* style for links to concept names in code snippets */ } +a.code.hl_namespace { /* style for links to namespace names in code snippets */ } +a.code.hl_package { /* style for links to package names in code snippets */ } +a.code.hl_define { /* style for links to macro names in code snippets */ } +a.code.hl_function { /* style for links to function names in code snippets */ } +a.code.hl_variable { /* style for links to variable names in code snippets */ } +a.code.hl_typedef { /* style for links to typedef names in code snippets */ } +a.code.hl_enumvalue { /* style for links to enum value names in code snippets */ } +a.code.hl_enumeration { /* style for links to enumeration names in code snippets */ } +a.code.hl_signal { /* style for links to Qt signal names in code snippets */ } +a.code.hl_slot { /* style for links to Qt slot names in code snippets */ } +a.code.hl_friend { /* style for links to friend names in code snippets */ } +a.code.hl_dcop { /* style for links to KDE3 DCOP names in code snippets */ } +a.code.hl_property { /* style for links to property names in code snippets */ } +a.code.hl_event { /* style for links to event names in code snippets */ } +a.code.hl_sequence { /* style for links to sequence names in code snippets */ } +a.code.hl_dictionary { /* style for links to dictionary names in code snippets */ } /* @end */ @@ -163,31 +607,62 @@ dl.el { margin-left: -1cm; } +ul { + overflow: visible; +} + +ul.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; + column-count: 3; + list-style-type: none; +} + +#side-nav ul { + overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ +} + +#main-nav ul { + overflow: visible; /* reset ul rule for the navigation bar drop down lists */ +} + +.fragment { + text-align: left; + direction: ltr; + overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ + overflow-y: hidden; +} + pre.fragment { - border: 1px solid #C4CFE5; - background-color: #FBFCFD; + border: 1px solid var(--fragment-border-color); + background-color: var(--fragment-background-color); + color: var(--fragment-foreground-color); padding: 4px 6px; margin: 4px 8px 4px 2px; overflow: auto; word-wrap: break-word; font-size: 9pt; line-height: 125%; - font-family: monospace, fixed; + font-family: var(--font-family-monospace); font-size: 105%; } div.fragment { - padding: 0px; - margin: 4px 8px 4px 2px; - background-color: #FBFCFD; - border: 1px solid #C4CFE5; + padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ + margin: 4px 8px 4px 2px; + color: var(--fragment-foreground-color); + background-color: var(--fragment-background-color); + border: 1px solid var(--fragment-border-color); } div.line { - font-family: monospace, fixed; + font-family: var(--font-family-monospace); font-size: 13px; min-height: 13px; - line-height: 1.0; + line-height: 1.2; text-wrap: unrestricted; white-space: -moz-pre-wrap; /* Moz */ white-space: -pre-wrap; /* Opera 4-6 */ @@ -216,24 +691,40 @@ div.line:after { } div.line.glow { - background-color: cyan; - box-shadow: 0 0 10px cyan; + background-color: var(--glow-color); + box-shadow: 0 0 10px var(--glow-color); } +span.fold { + margin-left: 5px; + margin-right: 1px; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; + display: inline-block; + width: 12px; + height: 12px; + background-repeat:no-repeat; + background-position:center; +} span.lineno { padding-right: 4px; + margin-right: 9px; text-align: right; - border-right: 2px solid #0F0; - background-color: #E8E8E8; + border-right: 2px solid var(--fragment-lineno-border-color); + color: var(--fragment-lineno-foreground-color); + background-color: var(--fragment-lineno-background-color); white-space: pre; } -span.lineno a { - background-color: #D8D8D8; +span.lineno a, span.lineno a:visited { + color: var(--fragment-lineno-link-fg-color); + background-color: var(--fragment-lineno-link-bg-color); } span.lineno a:hover { - background-color: #C8C8C8; + color: var(--fragment-lineno-link-hover-fg-color); + background-color: var(--fragment-lineno-link-hover-bg-color); } .lineno { @@ -245,24 +736,6 @@ span.lineno a:hover { user-select: none; } -div.ah, span.ah { - background-color: black; - font-weight: bold; - color: #ffffff; - margin-bottom: 3px; - margin-top: 3px; - padding: 0.2em; - border: solid thin #333; - border-radius: 0.5em; - -webkit-border-radius: .5em; - -moz-border-radius: .5em; - box-shadow: 2px 2px 3px #999; - -webkit-box-shadow: 2px 2px 3px #999; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); - background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); -} - div.classindex ul { list-style: none; padding-left: 0; @@ -284,8 +757,7 @@ div.groupText { } body { - background-color: white; - color: black; + color: var(--page-foreground-color); margin: 0; } @@ -295,36 +767,22 @@ div.contents { margin-right: 8px; } -td.indexkey { - background-color: #EBEFF6; - font-weight: bold; - border: 1px solid #C4CFE5; - margin: 2px 0px 2px 0; - padding: 2px 10px; - white-space: nowrap; - vertical-align: top; -} - -td.indexvalue { - background-color: #EBEFF6; - border: 1px solid #C4CFE5; - padding: 2px 10px; - margin: 2px 0px; +p.formulaDsp { + text-align: center; } -tr.memlist { - background-color: #EEF1F7; +img.dark-mode-visible { + display: none; } - -p.formulaDsp { - text-align: center; +img.light-mode-visible { + display: none; } img.formulaDsp { } -img.formulaInl { +img.formulaInl, img.inline { vertical-align: middle; } @@ -347,82 +805,74 @@ address.footer { img.footer { border: 0px; vertical-align: middle; + width: var(--footer-logo-width); +} + +.compoundTemplParams { + color: var(--memdecl-template-color); + font-size: 80%; + line-height: 120%; } /* @group Code Colorization */ span.keyword { - color: #008000 + color: var(--code-keyword-color); } span.keywordtype { - color: #604020 + color: var(--code-type-keyword-color); } span.keywordflow { - color: #e08000 + color: var(--code-flow-keyword-color); } span.comment { - color: #800000 + color: var(--code-comment-color); } span.preprocessor { - color: #806020 + color: var(--code-preprocessor-color); } span.stringliteral { - color: #002080 + color: var(--code-string-literal-color); } span.charliteral { - color: #008080 + color: var(--code-char-literal-color); +} + +span.xmlcdata { + color: var(--code-xml-cdata-color); } span.vhdldigit { - color: #ff00ff + color: var(--code-vhdl-digit-color); } span.vhdlchar { - color: #000000 + color: var(--code-vhdl-char-color); } span.vhdlkeyword { - color: #700070 + color: var(--code-vhdl-keyword-color); } span.vhdllogic { - color: #ff0000 + color: var(--code-vhdl-logic-color); } blockquote { - background-color: #F7F8FB; - border-left: 2px solid #9CAFD4; + background-color: var(--blockquote-background-color); + border-left: 2px solid var(--blockquote-border-color); margin: 0 24px 0 4px; padding: 0 12px 0 16px; } /* @end */ -/* -.search { - color: #003399; - font-weight: bold; -} - -form.search { - margin-bottom: 0px; - margin-top: 0px; -} - -input.search { - font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #e8eef2; -} -*/ - td.tiny { font-size: 75%; } @@ -430,18 +880,19 @@ td.tiny { .dirtab { padding: 4px; border-collapse: collapse; - border: 1px solid #A3B4D7; + border: 1px solid var(--table-cell-border-color); } th.dirtab { - background: #EBEFF6; + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); font-weight: bold; } hr { height: 0px; border: none; - border-top: 1px solid #4A6AAA; + border-top: 1px solid var(--separator-color); } hr.footer { @@ -469,14 +920,14 @@ table.memberdecls { } .memberdecls td.glow, .fieldtable tr.glow { - background-color: cyan; - box-shadow: 0 0 15px cyan; + background-color: var(--glow-color); + box-shadow: 0 0 15px var(--glow-color); } .mdescLeft, .mdescRight, .memItemLeft, .memItemRight, .memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: #F9FAFC; + background-color: var(--memdecl-background-color); border: none; margin: 4px; padding: 1px 0 0 8px; @@ -484,11 +935,11 @@ table.memberdecls { .mdescLeft, .mdescRight { padding: 0px 8px 4px 8px; - color: #555; + color: var(--memdecl-foreground-color); } .memSeparator { - border-bottom: 1px solid #DEE4F0; + border-bottom: 1px solid var(--memdecl-separator-color); line-height: 1px; margin: 0px; padding: 0px; @@ -498,12 +949,12 @@ table.memberdecls { white-space: nowrap; } -.memItemRight { +.memItemRight, .memTemplItemRight { width: 100%; } .memTemplParams { - color: #4665A2; + color: var(--memdecl-template-color); white-space: nowrap; font-size: 80%; } @@ -516,15 +967,15 @@ table.memberdecls { .memtitle { padding: 8px; - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; + border-top: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); border-top-right-radius: 4px; border-top-left-radius: 4px; margin-bottom: -1px; - background-image: url('nav_f.png'); + background-image: var(--memdef-title-gradient-image); background-repeat: repeat-x; - background-color: #E2E8F2; + background-color: var(--memdef-title-background-color); line-height: 1.25; font-weight: 300; float:left; @@ -539,20 +990,11 @@ table.memberdecls { .memtemplate { font-size: 80%; - color: #4665A2; + color: var(--memdef-template-color); font-weight: normal; margin-left: 9px; } -.memnav { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} - .mempage { width: 100%; } @@ -571,7 +1013,7 @@ table.memberdecls { } .memitem.glow { - box-shadow: 0 0 15px cyan; + box-shadow: 0 0 15px var(--glow-color); } .memname { @@ -584,41 +1026,32 @@ table.memberdecls { } .memproto, dl.reflist dt { - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; + border-top: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); padding: 6px 0px 6px 0px; - color: #253555; + color: var(--memdef-proto-text-color); font-weight: bold; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - background-color: #DFE5F1; - /* opera specific markup */ + text-shadow: var(--memdef-proto-text-shadow); + background-color: var(--memdef-proto-background-color); box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); border-top-right-radius: 4px; - /* firefox specific markup */ - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - -moz-border-radius-topright: 4px; - /* webkit specific markup */ - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - -webkit-border-top-right-radius: 4px; - } .overload { - font-family: "courier new",courier,monospace; + font-family: var(--font-family-monospace); font-size: 65%; } .memdoc, dl.reflist dd { - border-bottom: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; + border-bottom: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); padding: 6px 10px 2px 10px; - background-color: #FBFCFD; border-top-width: 0; background-image:url('nav_g.png'); background-repeat:repeat-x; - background-color: #FFFFFF; + background-color: var(--memdef-doc-background-color); /* opera specific markup */ border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; @@ -651,7 +1084,7 @@ dl.reflist dd { } .paramname { - color: #602020; + color: var(--memdef-param-name-color); white-space: nowrap; } .paramname em { @@ -664,20 +1097,20 @@ dl.reflist dd { .params, .retval, .exception, .tparams { margin-left: 0px; padding-left: 0px; -} +} -.params .paramname, .retval .paramname { +.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { font-weight: bold; vertical-align: top; } - -.params .paramtype { + +.params .paramtype, .tparams .paramtype { font-style: italic; vertical-align: top; -} - -.params .paramdir { - font-family: "courier new",courier,monospace; +} + +.params .paramdir, .tparams .paramdir { + font-family: var(--font-family-monospace); vertical-align: top; } @@ -701,13 +1134,13 @@ span.mlabels { } span.mlabel { - background-color: #728DC1; - border-top:1px solid #5373B4; - border-left:1px solid #5373B4; - border-right:1px solid #C4CFE5; - border-bottom:1px solid #C4CFE5; + background-color: var(--label-background-color); + border-top:1px solid var(--label-left-top-border-color); + border-left:1px solid var(--label-left-top-border-color); + border-right:1px solid var(--label-right-bottom-border-color); + border-bottom:1px solid var(--label-right-bottom-border-color); text-shadow: none; - color: white; + color: var(--label-foreground-color); margin-right: 4px; padding: 2px 3px; border-radius: 3px; @@ -724,8 +1157,8 @@ span.mlabel { div.directory { margin: 10px 0px; - border-top: 1px solid #9CAFD4; - border-bottom: 1px solid #9CAFD4; + border-top: 1px solid var(--directory-separator-color); + border-bottom: 1px solid var(--directory-separator-color); width: 100%; } @@ -761,9 +1194,14 @@ div.directory { border-left: 1px solid rgba(0,0,0,0.05); } +.directory tr.odd { + padding-left: 6px; + background-color: var(--index-odd-item-bg-color); +} + .directory tr.even { padding-left: 6px; - background-color: #F7F8FB; + background-color: var(--index-even-item-bg-color); } .directory img { @@ -781,11 +1219,11 @@ div.directory { cursor: pointer; padding-left: 2px; padding-right: 2px; - color: #3D578C; + color: var(--page-link-color); } .arrow { - color: #9CAFD4; + color: var(--nav-arrow-color); -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; @@ -799,14 +1237,15 @@ div.directory { } .icon { - font-family: Arial, Helvetica; + font-family: var(--font-family-icon); + line-height: normal; font-weight: bold; font-size: 12px; height: 14px; width: 16px; display: inline-block; - background-color: #728DC1; - color: white; + background-color: var(--icon-background-color); + color: var(--icon-foreground-color); text-align: center; border-radius: 4px; margin-left: 2px; @@ -823,8 +1262,7 @@ div.directory { width: 24px; height: 18px; margin-bottom: 4px; - background-image:url('folderopen.png'); - background-position: 0px -4px; + background-image:var(--icon-folder-open-image); background-repeat: repeat-y; vertical-align:top; display: inline-block; @@ -834,8 +1272,7 @@ div.directory { width: 24px; height: 18px; margin-bottom: 4px; - background-image:url('folderclosed.png'); - background-position: 0px -4px; + background-image:var(--icon-folder-closed-image); background-repeat: repeat-y; vertical-align:top; display: inline-block; @@ -845,17 +1282,13 @@ div.directory { width: 24px; height: 18px; margin-bottom: 4px; - background-image:url('doc.png'); + background-image:var(--icon-doc-image); background-position: 0px -4px; background-repeat: repeat-y; vertical-align:top; display: inline-block; } -table.directory { - font: 400 14px Roboto,sans-serif; -} - /* @end */ div.dynheader { @@ -870,7 +1303,7 @@ div.dynheader { address { font-style: normal; - color: #2A3D61; + color: var(--footer-foreground-color); } table.doxtable caption { @@ -884,28 +1317,23 @@ table.doxtable { } table.doxtable td, table.doxtable th { - border: 1px solid #2D4068; + border: 1px solid var(--table-cell-border-color); padding: 3px 7px 2px; } table.doxtable th { - background-color: #374F7F; - color: #FFFFFF; + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); font-size: 110%; padding-bottom: 4px; padding-top: 5px; } table.fieldtable { - /*width: 100%;*/ margin-bottom: 10px; - border: 1px solid #A8B8D9; + border: 1px solid var(--memdef-border-color); border-spacing: 0px; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; border-radius: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); } @@ -915,8 +1343,8 @@ table.fieldtable { .fieldtable td.fieldtype, .fieldtable td.fieldname { white-space: nowrap; - border-right: 1px solid #A8B8D9; - border-bottom: 1px solid #A8B8D9; + border-right: 1px solid var(--memdef-border-color); + border-bottom: 1px solid var(--memdef-border-color); vertical-align: top; } @@ -925,14 +1353,13 @@ table.fieldtable { } .fieldtable td.fielddoc { - border-bottom: 1px solid #A8B8D9; - /*width: 100%;*/ + border-bottom: 1px solid var(--memdef-border-color); } .fieldtable td.fielddoc p:first-child { margin-top: 0px; -} - +} + .fieldtable td.fielddoc p:last-child { margin-bottom: 2px; } @@ -942,22 +1369,18 @@ table.fieldtable { } .fieldtable th { - background-image:url('nav_f.png'); + background-image: var(--memdef-title-gradient-image); background-repeat:repeat-x; - background-color: #E2E8F2; + background-color: var(--memdef-title-background-color); font-size: 90%; - color: #253555; + color: var(--memdef-proto-text-color); padding-bottom: 4px; padding-top: 5px; text-align:left; font-weight: 400; - -moz-border-radius-topleft: 4px; - -moz-border-radius-topright: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; - border-bottom: 1px solid #A8B8D9; + border-bottom: 1px solid var(--memdef-border-color); } @@ -965,7 +1388,7 @@ table.fieldtable { top: 0px; left: 10px; height: 36px; - background-image: url('tab_b.png'); + background-image: var(--nav-gradient-image); z-index: 101; overflow: hidden; font-size: 13px; @@ -974,13 +1397,13 @@ table.fieldtable { .navpath ul { font-size: 11px; - background-image:url('tab_b.png'); + background-image: var(--nav-gradient-image); background-repeat:repeat-x; background-position: 0 -5px; height:30px; line-height:30px; - color:#8AA0CC; - border:solid 1px #C2CDE4; + color:var(--nav-text-normal-color); + border:solid 1px var(--nav-breadcrumb-border-color); overflow:hidden; margin:0px; padding:0px; @@ -992,10 +1415,10 @@ table.fieldtable { float:left; padding-left:10px; padding-right:15px; - background-image:url('bc_s.png'); + background-image:var(--nav-breadcrumb-image); background-repeat:no-repeat; background-position:right; - color:#364D7C; + color: var(--nav-foreground-color); } .navpath li.navelem a @@ -1004,15 +1427,16 @@ table.fieldtable { display:block; text-decoration: none; outline: none; - color: #283A5D; - font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - text-decoration: none; + color: var(--nav-text-normal-color); + font-family: var(--font-family-nav); + text-shadow: var(--nav-text-normal-shadow); + text-decoration: none; } .navpath li.navelem a:hover { - color:#6884BD; + color: var(--nav-text-hover-color); + text-shadow: var(--nav-text-hover-shadow); } .navpath li.footer @@ -1024,7 +1448,7 @@ table.fieldtable { background-image:none; background-repeat:no-repeat; background-position:right; - color:#364D7C; + color: var(--footer-foreground-color); font-size: 8pt; } @@ -1036,7 +1460,7 @@ div.summary padding-right: 5px; width: 50%; text-align: right; -} +} div.summary a { @@ -1051,7 +1475,7 @@ table.classindex margin-right: 3%; width: 94%; border: 0; - border-spacing: 0; + border-spacing: 0; padding: 0; } @@ -1069,11 +1493,11 @@ div.ingroups a div.header { - background-image:url('nav_h.png'); + background-image: var(--header-gradient-image); background-repeat:repeat-x; - background-color: #F9FAFC; + background-color: var(--header-background-color); margin: 0px; - border-bottom: 1px solid #C4CFE5; + border-bottom: 1px solid var(--header-separator-color); } div.headertitle @@ -1081,72 +1505,68 @@ div.headertitle padding: 5px 5px 5px 10px; } -dl -{ - padding: 0 0 0 10px; +.PageDocRTL-title div.headertitle { + text-align: right; + direction: rtl; } -/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ -dl.section -{ +dl { + padding: 0 0 0 0; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ +dl.section { margin-left: 0px; padding-left: 0px; } -dl.note -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #D0C000; +dl.note { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #D0C000; } -dl.warning, dl.attention -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #FF0000; +dl.warning, dl.attention { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #FF0000; } -dl.pre, dl.post, dl.invariant -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #00D000; +dl.pre, dl.post, dl.invariant { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00D000; } -dl.deprecated -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #505050; +dl.deprecated { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #505050; } -dl.todo -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #00C0E0; +dl.todo { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00C0E0; } -dl.test -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #3030E0; +dl.test { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #3030E0; } -dl.bug -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #C08050; +dl.bug { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #C08050; } dl.section dd { @@ -1154,6 +1574,11 @@ dl.section dd { } +#projectrow +{ + height: 56px; +} + #projectlogo { text-align: center; @@ -1169,25 +1594,29 @@ dl.section dd { #projectalign { vertical-align: middle; + padding-left: 0.5em; } #projectname { - font: 300% Tahoma, Arial,sans-serif; + font-size: 200%; + font-family: var(--font-family-title); margin: 0px; padding: 2px 0px; } - + #projectbrief { - font: 120% Tahoma, Arial,sans-serif; + font-size: 90%; + font-family: var(--font-family-title); margin: 0px; padding: 0px; } #projectnumber { - font: 50% Tahoma, Arial,sans-serif; + font-size: 50%; + font-family: 50% var(--font-family-title); margin: 0px; padding: 0px; } @@ -1197,7 +1626,8 @@ dl.section dd { padding: 0px; margin: 0px; width: 100%; - border-bottom: 1px solid #5373B4; + border-bottom: 1px solid var(--title-separator-color); + background-color: var(--title-background-color); } .image @@ -1230,32 +1660,29 @@ dl.section dd { font-weight: bold; } -div.zoom -{ - border: 1px solid #90A5CE; -} - dl.citelist { margin-bottom:50px; } dl.citelist dt { - color:#334975; + color:var(--citation-label-color); float:left; font-weight:bold; margin-right:10px; padding:5px; + text-align:right; + width:52px; } dl.citelist dd { - margin:2px 0; + margin:2px 0 2px 72px; padding:5px 0; } div.toc { padding: 14px 25px; - background-color: #F4F6FA; - border: 1px solid #D8DFEE; + background-color: var(--toc-background-color); + border: 1px solid var(--toc-border-color); border-radius: 7px 7px 7px 7px; float: right; height: auto; @@ -1264,16 +1691,16 @@ div.toc { } div.toc li { - background: url("bdwn.png") no-repeat scroll 0 5px transparent; - font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + background: var(--toc-down-arrow-image) no-repeat scroll 0 5px transparent; + font: 10px/1.2 var(--font-family-toc); margin-top: 5px; padding-left: 10px; padding-top: 2px; } div.toc h3 { - font: bold 12px/1.2 Arial,FreeSans,sans-serif; - color: #4665A2; + font: bold 12px/1.2 var(--font-family-toc); + color: var(--toc-header-color); border-bottom: 0 none; margin: 0; } @@ -1282,7 +1709,7 @@ div.toc ul { list-style: none outside none; border: medium none; padding: 0px; -} +} div.toc li.level1 { margin-left: 0px; @@ -1293,16 +1720,26 @@ div.toc li.level2 { } div.toc li.level3 { - margin-left: 30px; + margin-left: 15px; } div.toc li.level4 { - margin-left: 45px; + margin-left: 15px; +} + +span.emoji { + /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html + * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort; + */ +} + +span.obfuscator { + display: none; } .inherit_header { font-weight: bold; - color: gray; + color: var(--inherit-header-color); cursor: pointer; -webkit-touch-callout: none; -webkit-user-select: none; @@ -1334,11 +1771,12 @@ tr.heading h2 { #powerTip { cursor: default; - white-space: nowrap; - background-color: white; - border: 1px solid gray; + /*white-space: nowrap;*/ + color: var(--tooltip-foreground-color); + background-color: var(--tooltip-background-color); + border: 1px solid var(--tooltip-border-color); border-radius: 4px 4px 4px 4px; - box-shadow: 1px 1px 7px gray; + box-shadow: var(--tooltip-shadow); display: none; font-size: smaller; max-width: 80%; @@ -1349,7 +1787,7 @@ tr.heading h2 { } #powerTip div.ttdoc { - color: grey; + color: var(--tooltip-doc-color); font-style: italic; } @@ -1357,18 +1795,24 @@ tr.heading h2 { font-weight: bold; } +#powerTip a { + color: var(--tooltip-link-color); +} + #powerTip div.ttname { font-weight: bold; } #powerTip div.ttdeci { - color: #006318; + color: var(--tooltip-declaration-color); } #powerTip div { margin: 0px; padding: 0px; - font: 12px/16px Roboto,sans-serif; + font-size: 12px; + font-family: var(--font-family-tooltip); + line-height: 16px; } #powerTip:before, #powerTip:after { @@ -1413,12 +1857,12 @@ tr.heading h2 { } #powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { - border-top-color: #ffffff; + border-top-color: var(--tooltip-background-color); border-width: 10px; margin: 0px -10px; } -#powerTip.n:before { - border-top-color: #808080; +#powerTip.n:before, #powerTip.ne:before, #powerTip.nw:before { + border-top-color: var(--tooltip-border-color); border-width: 11px; margin: 0px -11px; } @@ -1441,13 +1885,13 @@ tr.heading h2 { } #powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { - border-bottom-color: #ffffff; + border-bottom-color: var(--tooltip-background-color); border-width: 10px; margin: 0px -10px; } #powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { - border-bottom-color: #808080; + border-bottom-color: var(--tooltip-border-color); border-width: 11px; margin: 0px -11px; } @@ -1468,13 +1912,13 @@ tr.heading h2 { left: 100%; } #powerTip.e:after { - border-left-color: #ffffff; + border-left-color: var(--tooltip-border-color); border-width: 10px; top: 50%; margin-top: -10px; } #powerTip.e:before { - border-left-color: #808080; + border-left-color: var(--tooltip-border-color); border-width: 11px; top: 50%; margin-top: -11px; @@ -1484,13 +1928,13 @@ tr.heading h2 { right: 100%; } #powerTip.w:after { - border-right-color: #ffffff; + border-right-color: var(--tooltip-border-color); border-width: 10px; top: 50%; margin-top: -10px; } #powerTip.w:before { - border-right-color: #808080; + border-right-color: var(--tooltip-border-color); border-width: 11px; top: 50%; margin-top: -11px; @@ -1517,7 +1961,6 @@ tr.heading h2 { /* @group Markdown */ -/* table.markdownTable { border-collapse:collapse; margin-top: 4px; @@ -1525,72 +1968,78 @@ table.markdownTable { } table.markdownTable td, table.markdownTable th { - border: 1px solid #2D4068; + border: 1px solid var(--table-cell-border-color); padding: 3px 7px 2px; } -table.markdownTableHead tr { -} - -table.markdownTableBodyLeft td, table.markdownTable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; +table.markdownTable tr { } -th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { - background-color: #374F7F; - color: #FFFFFF; +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); font-size: 110%; padding-bottom: 4px; padding-top: 5px; } -th.markdownTableHeadLeft { +th.markdownTableHeadLeft, td.markdownTableBodyLeft { text-align: left } -th.markdownTableHeadRight { +th.markdownTableHeadRight, td.markdownTableBodyRight { text-align: right } -th.markdownTableHeadCenter { +th.markdownTableHeadCenter, td.markdownTableBodyCenter { text-align: center } -*/ -table.markdownTable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; +tt, code, kbd, samp +{ + display: inline-block; } +/* @end */ -table.markdownTable td, table.markdownTable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; +u { + text-decoration: underline; } -table.markdownTable tr { +details>summary { + list-style-type: none; } -th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; +details > summary::-webkit-details-marker { + display: none; } -th.markdownTableHeadLeft, td.markdownTableBodyLeft { - text-align: left +details>summary::before { + content: "\25ba"; + padding-right:4px; + font-size: 80%; } -th.markdownTableHeadRight, td.markdownTableBodyRight { - text-align: right +details[open]>summary::before { + content: "\25bc"; + padding-right:4px; + font-size: 80%; } -th.markdownTableHeadCenter, td.markdownTableBodyCenter { - text-align: center +body { + scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-background-color); } +::-webkit-scrollbar { + background-color: var(--scrollbar-background-color); + height: 12px; + width: 12px; +} +::-webkit-scrollbar-thumb { + border-radius: 6px; + box-shadow: inset 0 0 12px 12px var(--scrollbar-thumb-color); + border: solid 2px transparent; +} +::-webkit-scrollbar-corner { + background-color: var(--scrollbar-background-color); +} -/* @end */ diff --git a/docs/doxygen.png b/docs/doxygen.png deleted file mode 100644 index 3ff17d807fd8aa003bed8bb2a69e8f0909592fd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3779 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 diff --git a/docs/doxygen.svg b/docs/doxygen.svg new file mode 100644 index 0000000..79a7635 --- /dev/null +++ b/docs/doxygen.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/dynsections.js b/docs/dynsections.js index 85e1836..b73c828 100644 --- a/docs/dynsections.js +++ b/docs/dynsections.js @@ -1,3 +1,27 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ function toggleVisibility(linkObj) { var base = $(linkObj).attr('id'); @@ -15,7 +39,7 @@ function toggleVisibility(linkObj) summary.hide(); $(linkObj).removeClass('closed').addClass('opened'); $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); - } + } return false; } @@ -23,6 +47,8 @@ function updateStripes() { $('table.directory tr'). removeClass('even').filter(':visible:even').addClass('even'); + $('table.directory tr'). + removeClass('odd').filter(':visible:odd').addClass('odd'); } function toggleLevel(level) @@ -95,3 +121,72 @@ function toggleInherit(id) } } +var opened=true; +// in case HTML_COLORSTYLE is LIGHT or DARK the vars will be replaced, so we write them out explicitly and use double quotes +var plusImg = [ "var(--fold-plus-image)", "var(--fold-plus-image-relpath)" ]; +var minusImg = [ "var(--fold-minus-image)", "var(--fold-minus-image-relpath)" ]; + +// toggle all folding blocks +function codefold_toggle_all(relPath) { + if (opened) { + $('#fold_all').css('background-image',plusImg[relPath]); + $('div[id^=foldopen]').hide(); + $('div[id^=foldclosed]').show(); + } else { + $('#fold_all').css('background-image',minusImg[relPath]); + $('div[id^=foldopen]').show(); + $('div[id^=foldclosed]').hide(); + } + opened=!opened; +} + +// toggle single folding block +function codefold_toggle(id) { + $('#foldopen'+id).toggle(); + $('#foldclosed'+id).toggle(); +} +function init_codefold(relPath) { + $('span[class=lineno]').css( + {'padding-right':'4px', + 'margin-right':'2px', + 'display':'inline-block', + 'width':'54px', + 'background':'linear-gradient(var(--fold-line-color),var(--fold-line-color)) no-repeat 46px/2px 100%' + }); + // add global toggle to first line + $('span[class=lineno]:first').append(''); + // add vertical lines to other rows + $('span[class=lineno]').not(':eq(0)').append(''); + // add toggle controls to lines with fold divs + $('div[class=foldopen]').each(function() { + // extract specific id to use + var id = $(this).attr('id').replace('foldopen',''); + // extract start and end foldable fragment attributes + var start = $(this).attr('data-start'); + var end = $(this).attr('data-end'); + // replace normal fold span with controls for the first line of a foldable fragment + $(this).find('span[class=fold]:first').replaceWith(''); + // append div for folded (closed) representation + $(this).after(''); + // extract the first line from the "open" section to represent closed content + var line = $(this).children().first().clone(); + // remove any glow that might still be active on the original line + $(line).removeClass('glow'); + if (start) { + // if line already ends with a start marker (e.g. trailing {), remove it + $(line).html($(line).html().replace(new RegExp('\\s*'+start+'\\s*$','g'),'')); + } + // replace minus with plus symbol + $(line).find('span[class=fold]').css('background-image',plusImg[relPath]); + // append ellipsis + $(line).append(' '+start+''+end); + // insert constructed line into closed div + $('#foldclosed'+id).html(line); + }); +} + +/* @license-end */ diff --git a/docs/files.html b/docs/files.html index 579c266..0959c88 100644 --- a/docs/files.html +++ b/docs/files.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: File List @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,33 +57,42 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
File List
+
File List
Here is a list of all documented files with brief descriptions:
[detail level 12]
- - - - - - + + + + + + + + + + +
  include
 telebot-common.hThis file contains telegram bot common defintions
 telebot-core.h
 telebot-methods.hThis file contains methods used to create telegram bot
 telebot-stickers.hThis file contains stickers feature of telegram bot
 telebot-types.hThis file contains types used to create telegram bot
 telebot.h
 telebot-common.hThis file contains telegram bot common defintions
 telebot-core.hThis file contains core API for the telegram bot interface
 telebot-forums.hThis file contains forums feature of telegram bot
 telebot-games.hThis file contains games feature of telegram bot
 telebot-inline.hThis file contains inline mode feature of telegram bot
 telebot-methods.hThis file contains methods used to create telegram bot
 telebot-passport.hThis file contains Telegram Passport feature of telegram bot
 telebot-payments.hThis file contains payments feature of telegram bot
 telebot-stickers.hThis file contains stickers feature of telegram bot
 telebot-types.hThis file contains types used to create telegram bot
 telebot.hThis file includes all the header files of the telegram bot library
diff --git a/docs/folderclosed.png b/docs/folderclosed.png deleted file mode 100644 index bb8ab35edce8e97554e360005ee9fc5bffb36e66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 616 zcmV-u0+;=XP)a9#ETzayK)T~Jw&MMH>OIr#&;dC}is*2Mqdf&akCc=O@`qC+4i z5Iu3w#1M@KqXCz8TIZd1wli&kkl2HVcAiZ8PUn5z_kG@-y;?yK06=cA0U%H0PH+kU zl6dp}OR(|r8-RG+YLu`zbI}5TlOU6ToR41{9=uz^?dGTNL;wIMf|V3`d1Wj3y!#6` zBLZ?xpKR~^2x}?~zA(_NUu3IaDB$tKma*XUdOZN~c=dLt_h_k!dbxm_*ibDM zlFX`g{k$X}yIe%$N)cn1LNu=q9_CS)*>A zsX_mM4L@`(cSNQKMFc$RtYbx{79#j-J7hk*>*+ZZhM4Hw?I?rsXCi#mRWJ=-0LGV5a-WR0Qgt<|Nqf)C-@80`5gIz45^_20000 + + + + + + + + + diff --git a/docs/folderclosedd.svg b/docs/folderclosedd.svg new file mode 100644 index 0000000..52f0166 --- /dev/null +++ b/docs/folderclosedd.svg @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/docs/folderopen.png b/docs/folderopen.png deleted file mode 100644 index d6c7f676a3b3ef8c2c307d319dff3c6a604eb227..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 597 zcmV-b0;>IqP)X=#(TiCT&PiIIVc55T}TU}EUh*{q$|`3@{d>{Tc9Bo>e= zfmF3!f>fbI9#GoEHh0f`i5)wkLpva0ztf%HpZneK?w-7AK@b4Itw{y|Zd3k!fH?q2 zlhckHd_V2M_X7+)U&_Xcfvtw60l;--DgZmLSw-Y?S>)zIqMyJ1#FwLU*%bl38ok+! zh78H87n`ZTS;uhzAR$M`zZ`bVhq=+%u9^$5jDplgxd44}9;IRqUH1YHH|@6oFe%z( zo4)_>E$F&^P-f(#)>(TrnbE>Pefs9~@iN=|)Rz|V`sGfHNrJ)0gJb8xx+SBmRf@1l zvuzt=vGfI)<-F9!o&3l?>9~0QbUDT(wFdnQPv%xdD)m*g%!20>Bc9iYmGAp<9YAa( z0QgYgTWqf1qN++Gqp z8@AYPTB3E|6s=WLG?xw0tm|U!o=&zd+H0oRYE;Dbx+Na9s^STqX|Gnq%H8s(nGDGJ j8vwW|`Ts`)fSK|Kx=IK@RG@g200000NkvXXu0mjfauFEA diff --git a/docs/folderopen.svg b/docs/folderopen.svg new file mode 100644 index 0000000..f6896dd --- /dev/null +++ b/docs/folderopen.svg @@ -0,0 +1,17 @@ + + + + + + + + + + diff --git a/docs/folderopend.svg b/docs/folderopend.svg new file mode 100644 index 0000000..2d1f06e --- /dev/null +++ b/docs/folderopend.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/docs/functions.html b/docs/functions.html index 6e456f8..defd86d 100644 --- a/docs/functions.html +++ b/docs/functions.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,43 +57,50 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all documented class members with links to the class documentation for each member:
-

- a -

diff --git a/docs/functions_b.html b/docs/functions_b.html index ad5c0c6..ff6b916 100644 --- a/docs/functions_b.html +++ b/docs/functions_b.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,28 +57,46 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all documented class members with links to the class documentation for each member:
-

- b -

diff --git a/docs/functions_c.html b/docs/functions_c.html index 177f806..afd8737 100644 --- a/docs/functions_c.html +++ b/docs/functions_c.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,123 +57,91 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all documented class members with links to the class documentation for each member:
-

- c -

diff --git a/docs/functions_d.html b/docs/functions_d.html index 59d2420..521889a 100644 --- a/docs/functions_d.html +++ b/docs/functions_d.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,49 +57,39 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all documented class members with links to the class documentation for each member:
-

- d -

diff --git a/docs/functions_e.html b/docs/functions_e.html index e1adc3d..f9c16ee 100644 --- a/docs/functions_e.html +++ b/docs/functions_e.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,37 +57,41 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all documented class members with links to the class documentation for each member:
-

- e -

diff --git a/docs/functions_f.html b/docs/functions_f.html index 36eb732..b0c7955 100644 --- a/docs/functions_f.html +++ b/docs/functions_f.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,98 +57,54 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all documented class members with links to the class documentation for each member:
-

- f -

diff --git a/docs/functions_g.html b/docs/functions_g.html index 5492ee9..fdf0648 100644 --- a/docs/functions_g.html +++ b/docs/functions_g.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,31 +57,41 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all documented class members with links to the class documentation for each member:
-

- g -

diff --git a/docs/functions_h.html b/docs/functions_h.html index 321318f..a11096a 100644 --- a/docs/functions_h.html +++ b/docs/functions_h.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,31 +57,41 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all documented class members with links to the class documentation for each member:
-

- h -

diff --git a/docs/functions_i.html b/docs/functions_i.html index db8c97e..6a3316f 100644 --- a/docs/functions_i.html +++ b/docs/functions_i.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,53 +57,55 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all documented class members with links to the class documentation for each member:
-

- i -

diff --git a/docs/functions_j.html b/docs/functions_j.html new file mode 100644 index 0000000..ab0df22 --- /dev/null +++ b/docs/functions_j.html @@ -0,0 +1,85 @@ + + + + + + + +Telebot: Class Members + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- j -

+
+ + + + diff --git a/docs/functions_k.html b/docs/functions_k.html index a8c9630..24cde10 100644 --- a/docs/functions_k.html +++ b/docs/functions_k.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,25 +57,28 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all documented class members with links to the class documentation for each member:
-

- k -

diff --git a/docs/functions_l.html b/docs/functions_l.html index a28e6f9..e655990 100644 --- a/docs/functions_l.html +++ b/docs/functions_l.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,56 +57,42 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all documented class members with links to the class documentation for each member:
-

- l -

diff --git a/docs/functions_m.html b/docs/functions_m.html index 11c9caf..a88f1fb 100644 --- a/docs/functions_m.html +++ b/docs/functions_m.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,52 +57,45 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all documented class members with links to the class documentation for each member:
-

- m -

diff --git a/docs/functions_n.html b/docs/functions_n.html index 981c68d..e17718e 100644 --- a/docs/functions_n.html +++ b/docs/functions_n.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,34 +57,35 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all documented class members with links to the class documentation for each member:
-

- n -

diff --git a/docs/functions_o.html b/docs/functions_o.html index 386580f..24b3a63 100644 --- a/docs/functions_o.html +++ b/docs/functions_o.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,34 +57,38 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all documented class members with links to the class documentation for each member:
-

- o -

diff --git a/docs/functions_p.html b/docs/functions_p.html index 326e4b7..aa12dee 100644 --- a/docs/functions_p.html +++ b/docs/functions_p.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,61 +57,57 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all documented class members with links to the class documentation for each member:
-

- p -

diff --git a/docs/functions_q.html b/docs/functions_q.html index 39f838a..348fb3e 100644 --- a/docs/functions_q.html +++ b/docs/functions_q.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,25 +57,30 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all documented class members with links to the class documentation for each member:
-

- q -

diff --git a/docs/functions_r.html b/docs/functions_r.html index 99e24d9..4404186 100644 --- a/docs/functions_r.html +++ b/docs/functions_r.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,46 +57,53 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all documented class members with links to the class documentation for each member:
-

- r -

diff --git a/docs/functions_s.html b/docs/functions_s.html index 8dc748a..93a397c 100644 --- a/docs/functions_s.html +++ b/docs/functions_s.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,66 +57,66 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all documented class members with links to the class documentation for each member:
-

- s -

diff --git a/docs/functions_t.html b/docs/functions_t.html index 724b8f0..8a14170 100644 --- a/docs/functions_t.html +++ b/docs/functions_t.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,57 +57,41 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all documented class members with links to the class documentation for each member:
-

- t -

diff --git a/docs/functions_u.html b/docs/functions_u.html index b3760a3..edbfbe9 100644 --- a/docs/functions_u.html +++ b/docs/functions_u.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,47 +57,44 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all documented class members with links to the class documentation for each member:
-

- u -

diff --git a/docs/functions_v.html b/docs/functions_v.html index d902cca..3e583e0 100644 --- a/docs/functions_v.html +++ b/docs/functions_v.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,43 +57,40 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all documented class members with links to the class documentation for each member:
-

- v -

diff --git a/docs/functions_vars.html b/docs/functions_vars.html index 70770c0..bd9c280 100644 --- a/docs/functions_vars.html +++ b/docs/functions_vars.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members - Variables @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,43 +57,50 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all documented variables with links to the class documentation for each member:
-

- a -

diff --git a/docs/functions_vars_b.html b/docs/functions_vars_b.html index b410e51..c9f56ea 100644 --- a/docs/functions_vars_b.html +++ b/docs/functions_vars_b.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members - Variables @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,28 +57,46 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all documented variables with links to the class documentation for each member:
-

- b -

diff --git a/docs/functions_vars_c.html b/docs/functions_vars_c.html index 9995dda..26625b3 100644 --- a/docs/functions_vars_c.html +++ b/docs/functions_vars_c.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members - Variables @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,123 +57,91 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all documented variables with links to the class documentation for each member:
-

- c -

diff --git a/docs/functions_vars_d.html b/docs/functions_vars_d.html index 561030d..3e2b512 100644 --- a/docs/functions_vars_d.html +++ b/docs/functions_vars_d.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members - Variables @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,49 +57,39 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all documented variables with links to the class documentation for each member:
-

- d -

diff --git a/docs/functions_vars_e.html b/docs/functions_vars_e.html index 9a4d417..13487db 100644 --- a/docs/functions_vars_e.html +++ b/docs/functions_vars_e.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members - Variables @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,37 +57,41 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all documented variables with links to the class documentation for each member:
-

- e -

diff --git a/docs/functions_vars_f.html b/docs/functions_vars_f.html index 95ce9b6..7bd255b 100644 --- a/docs/functions_vars_f.html +++ b/docs/functions_vars_f.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members - Variables @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,98 +57,54 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all documented variables with links to the class documentation for each member:
-

- f -

diff --git a/docs/functions_vars_g.html b/docs/functions_vars_g.html index 38a1b35..1667d24 100644 --- a/docs/functions_vars_g.html +++ b/docs/functions_vars_g.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members - Variables @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,31 +57,41 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all documented variables with links to the class documentation for each member:
-

- g -

diff --git a/docs/functions_vars_h.html b/docs/functions_vars_h.html index cec222c..322c6c9 100644 --- a/docs/functions_vars_h.html +++ b/docs/functions_vars_h.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members - Variables @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,31 +57,41 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all documented variables with links to the class documentation for each member:
-

- h -

diff --git a/docs/functions_vars_i.html b/docs/functions_vars_i.html index 9a79303..7ac1c99 100644 --- a/docs/functions_vars_i.html +++ b/docs/functions_vars_i.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members - Variables @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,53 +57,55 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all documented variables with links to the class documentation for each member:
-

- i -

diff --git a/docs/functions_vars_j.html b/docs/functions_vars_j.html new file mode 100644 index 0000000..54a4b11 --- /dev/null +++ b/docs/functions_vars_j.html @@ -0,0 +1,85 @@ + + + + + + + +Telebot: Class Members - Variables + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented variables with links to the class documentation for each member:
+ +

- j -

+
+ + + + diff --git a/docs/functions_vars_k.html b/docs/functions_vars_k.html index f611a5c..c008966 100644 --- a/docs/functions_vars_k.html +++ b/docs/functions_vars_k.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members - Variables @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,25 +57,28 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all documented variables with links to the class documentation for each member:
-

- k -

diff --git a/docs/functions_vars_l.html b/docs/functions_vars_l.html index 48c4bab..4be2210 100644 --- a/docs/functions_vars_l.html +++ b/docs/functions_vars_l.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members - Variables @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,56 +57,42 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all documented variables with links to the class documentation for each member:
-

- l -

diff --git a/docs/functions_vars_m.html b/docs/functions_vars_m.html index 2269ecb..7f3fbbb 100644 --- a/docs/functions_vars_m.html +++ b/docs/functions_vars_m.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members - Variables @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,52 +57,45 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all documented variables with links to the class documentation for each member:
-

- m -

diff --git a/docs/functions_vars_n.html b/docs/functions_vars_n.html index 659b6a5..65c1db5 100644 --- a/docs/functions_vars_n.html +++ b/docs/functions_vars_n.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members - Variables @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,34 +57,35 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all documented variables with links to the class documentation for each member:
-

- n -

diff --git a/docs/functions_vars_o.html b/docs/functions_vars_o.html index beccd7e..21f7033 100644 --- a/docs/functions_vars_o.html +++ b/docs/functions_vars_o.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members - Variables @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,34 +57,38 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all documented variables with links to the class documentation for each member:
-

- o -

diff --git a/docs/functions_vars_p.html b/docs/functions_vars_p.html index 0d4079b..4a17a70 100644 --- a/docs/functions_vars_p.html +++ b/docs/functions_vars_p.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members - Variables @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,61 +57,57 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all documented variables with links to the class documentation for each member:
-

- p -

diff --git a/docs/functions_vars_q.html b/docs/functions_vars_q.html index a39556d..8e6876c 100644 --- a/docs/functions_vars_q.html +++ b/docs/functions_vars_q.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members - Variables @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,25 +57,30 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all documented variables with links to the class documentation for each member:
-

- q -

diff --git a/docs/functions_vars_r.html b/docs/functions_vars_r.html index 7f02be9..8aaa461 100644 --- a/docs/functions_vars_r.html +++ b/docs/functions_vars_r.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members - Variables @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,46 +57,53 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all documented variables with links to the class documentation for each member:
-

- r -

diff --git a/docs/functions_vars_s.html b/docs/functions_vars_s.html index 74db042..e3dea09 100644 --- a/docs/functions_vars_s.html +++ b/docs/functions_vars_s.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members - Variables @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,66 +57,66 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all documented variables with links to the class documentation for each member:
-

- s -

diff --git a/docs/functions_vars_t.html b/docs/functions_vars_t.html index cf0876c..aec0139 100644 --- a/docs/functions_vars_t.html +++ b/docs/functions_vars_t.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members - Variables @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,57 +57,41 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all documented variables with links to the class documentation for each member:
-

- t -

diff --git a/docs/functions_vars_u.html b/docs/functions_vars_u.html index 1780b18..da2c2aa 100644 --- a/docs/functions_vars_u.html +++ b/docs/functions_vars_u.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members - Variables @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,47 +57,44 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all documented variables with links to the class documentation for each member:
-

- u -

diff --git a/docs/functions_vars_v.html b/docs/functions_vars_v.html index 6d0e36f..4ed5b0f 100644 --- a/docs/functions_vars_v.html +++ b/docs/functions_vars_v.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members - Variables @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,43 +57,40 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all documented variables with links to the class documentation for each member:
-

- v -

diff --git a/docs/functions_vars_w.html b/docs/functions_vars_w.html index 3ea1396..dfdea96 100644 --- a/docs/functions_vars_w.html +++ b/docs/functions_vars_w.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members - Variables @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,28 +57,38 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all documented variables with links to the class documentation for each member:
-

- w -

diff --git a/docs/functions_vars_x.html b/docs/functions_vars_x.html index e120724..c8532cb 100644 --- a/docs/functions_vars_x.html +++ b/docs/functions_vars_x.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members - Variables @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,25 +57,28 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all documented variables with links to the class documentation for each member:
-

- x -

diff --git a/docs/functions_vars_y.html b/docs/functions_vars_y.html index 68d465e..f62c73b 100644 --- a/docs/functions_vars_y.html +++ b/docs/functions_vars_y.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members - Variables @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,25 +57,29 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all documented variables with links to the class documentation for each member:
-

- y -

diff --git a/docs/functions_w.html b/docs/functions_w.html index be5aa7c..0b521bc 100644 --- a/docs/functions_w.html +++ b/docs/functions_w.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,28 +57,38 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all documented class members with links to the class documentation for each member:
-

- w -

diff --git a/docs/functions_x.html b/docs/functions_x.html index f38778f..831b8d8 100644 --- a/docs/functions_x.html +++ b/docs/functions_x.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,25 +57,28 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all documented class members with links to the class documentation for each member:
-

- x -

diff --git a/docs/functions_y.html b/docs/functions_y.html index c1c6064..e07e02b 100644 --- a/docs/functions_y.html +++ b/docs/functions_y.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Class Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,25 +57,29 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all documented class members with links to the class documentation for each member:
-

- y -

diff --git a/docs/globals.html b/docs/globals.html index f519101..e008452 100644 --- a/docs/globals.html +++ b/docs/globals.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: File Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,397 +57,474 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
Here is a list of all documented file members with links to the documentation:
-

- t -

diff --git a/docs/globals_enum.html b/docs/globals_enum.html index 79eb0f2..ed73a3e 100644 --- a/docs/globals_enum.html +++ b/docs/globals_enum.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: File Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,26 +57,27 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
diff --git a/docs/globals_eval.html b/docs/globals_eval.html index 3563810..5b81218 100644 --- a/docs/globals_eval.html +++ b/docs/globals_eval.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: File Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,74 +57,55 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
diff --git a/docs/globals_func.html b/docs/globals_func.html index 47caa7f..13441c9 100644 --- a/docs/globals_func.html +++ b/docs/globals_func.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: File Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,223 +57,307 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all documented functions with links to the documentation:
-

- t -

diff --git a/docs/globals_type.html b/docs/globals_type.html index c3c1e5a..92bd64e 100644 --- a/docs/globals_type.html +++ b/docs/globals_type.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: File Members @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,136 +57,162 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-  +
Here is a list of all documented typedefs with links to the documentation:
-

- t -

diff --git a/docs/group__TELEBOT__API.html b/docs/group__TELEBOT__API.html index 0c97be0..7d414cc 100644 --- a/docs/group__TELEBOT__API.html +++ b/docs/group__TELEBOT__API.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Simple Telegram Bot API @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -54,9 +57,16 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
@@ -66,46 +76,291 @@ Typedefs | Enumerations | Functions
-
-
Simple Telegram Bot API
+
Simple Telegram Bot API

Simplified APIs to create telegram bot. More...

- - + - + + + + + + + + + + - + + + + + + + - + + + +

+

Files

file  telebot-common.h
file  telebot-common.h
 This file contains telegram bot common defintions.
 
file  telebot-methods.h
file  telebot-forums.h
 This file contains forums feature of telegram bot.
 
file  telebot-games.h
 This file contains games feature of telegram bot.
 
file  telebot-inline.h
 This file contains inline mode feature of telegram bot.
 
file  telebot-methods.h
 This file contains methods used to create telegram bot.
 
file  telebot-stickers.h
file  telebot-passport.h
 This file contains Telegram Passport feature of telegram bot.
 
file  telebot-payments.h
 This file contains payments feature of telegram bot.
 
file  telebot-stickers.h
 This file contains stickers feature of telegram bot.
 
file  telebot-types.h
file  telebot-types.h
 This file contains types used to create telegram bot.
 
file  telebot.h
 This file includes all the header files of the telegram bot library.
 
- - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -118,6 +373,21 @@ + + + + + + + + + + + + + + + @@ -163,6 +433,15 @@ + + + + + + + + + @@ -170,7 +449,7 @@ - + @@ -193,416 +472,1131 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+

Classes

struct  telebot_mask_position
 This object describes the position on faces where a mask should be placed by default. More...
 
struct  telebot_sticker
 This object represents a sticker. More...
 
struct  telebot_sticker_set
 This object represents a sticker set. More...
 
struct  telebot_birthdate
 Describes the birthdate of a user. More...
 
struct  telebot_business_intro
 Contains information about the start page settings of a Telegram Business account. More...
 
struct  telebot_business_location
 Contains information about the location of a Telegram Business account. More...
 
struct  telebot_business_opening_hours_interval
 Describes an interval of time during which a business is open. More...
 
struct  telebot_business_opening_hours
 Describes the opening hours of a business. More...
 
struct  telebot_business_bot_rights
 Represents the rights of a business bot. More...
 
struct  telebot_business_connection
 Describes the connection of the bot with a business account. More...
 
struct  telebot_business_messages_deleted
 This object is received when messages are deleted from a connected business account. More...
 
struct  telebot_user
 This object represents a Telegram user or bot. More...
 
struct  telebot_chat
 This object represents a chat. More...
 
struct  telebot_game
 This object represents a game. More...
 
struct  telebot_shipping_address
 This object represents a shipping address. More...
 
struct  telebot_order_info
 This object represents information about an order. More...
 
struct  telebot_invoice
 This object contains basic information about an invoice. More...
 
struct  telebot_successful_payment
 This object contains basic information about a successful payment. More...
 
struct  telebot_passport_file
 This object represents an internal identifier of a user in Telegram Passport. More...
 
struct  telebot_encrypted_passport_element
 This object represents one element of the Telegram Passport data. More...
 
struct  telebot_encrypted_credentials
 This object represents credentials required to decrypt the data. More...
 
struct  telebot_passport_data
 Contains information about Telegram Passport data which was shared with the bot by the user. More...
 
struct  telebot_proximity_alert_triggered
 This object represents a service message about a user in the chat triggered another user's proximity alert while sharing Live Location. More...
 
struct  telebot_forum_topic_created
 This object represents a service message about a new forum topic created in the chat. More...
 
struct  telebot_forum_topic_closed
 This object represents a service message about a forum topic closed in the chat. More...
 
struct  telebot_forum_topic_reopened
 This object represents a service message about a forum topic reopened in the chat. More...
 
struct  telebot_video_chat_scheduled
 This object represents a service message about a video chat scheduled in the chat. More...
 
struct  telebot_video_chat_started
 This object represents a service message about a video chat started in the chat. More...
 
struct  telebot_video_chat_ended
 This object represents a service message about a video chat ended in the chat. More...
 
struct  telebot_video_chat_participants_invited
 This object represents a service message about new members invited to a video chat. More...
 
struct  telebot_web_app_data
 This object represents data sent by a Web App to the bot. More...
 
struct  telebot_callback_game
 A placeholder, currently holds no information. Use BotFather to set up your game. More...
 
struct  telebot_login_url
 This object represents a parameter of the inline keyboard button used to automatically authorize a user. More...
 
struct  telebot_switch_inline_query_chosen_chat
 This object represents an inline button that switches the current user to inline mode in a chosen chat. More...
 
struct  telebot_copy_text_button
 This object represents an inline keyboard button that copies specified text to the clipboard. More...
 
struct  telebot_inline_keyboard_button
 This object represents one button of an inline keyboard. You must use exactly one of the optional fields. More...
 
struct  telebot_inline_keyboard_markup
 This object represents an inline keyboard that appears right next to the message it belongs to. More...
 
struct  telebot_forum_topic_edited
 This object represents a service message about a forum topic edited in the chat. More...
 
struct  telebot_general_forum_topic_hidden
 This object represents a service message about a general forum topic hidden in the chat. More...
 
struct  telebot_general_forum_topic_unhidden
 This object represents a service message about a general forum topic unhidden in the chat. More...
 
struct  telebot_write_access_allowed
 This object represents a service message about a user allowing a bot to write messages after adding the bot to the attachment menu or launching a Web App from a link. More...
 
struct  telebot_user_shared
 This object contains information about the user whose identifier was shared with the bot using a KeyboardButtonRequestUser button. More...
 
struct  telebot_chat_shared
 This object contains information about the chat whose identifier was shared with the bot using a KeyboardButtonRequestChat button. More...
 
struct  telebot_chat_invite_link
 This object represents a chat invite link. More...
 
struct  telebot_chat_member_updated
 This object represents changes in the status of a chat member. More...
 
struct  telebot_chat_join_request
 This object represents a join request sent to a chat. More...
 
struct  telebot_message_reaction_updated
 This object represents a change of a reaction on a message performed by a user. More...
 
struct  telebot_message_reaction_count_updated
 This object represents reaction changes on a message with anonymous reactions. More...
 
struct  telebot_reaction_type
 This object represents a reaction type. More...
 
struct  telebot_reaction_count
 This object represents a reaction count. More...
 
struct  telebot_chat_boost_updated
 This object represents a boost added to a chat. More...
 
struct  telebot_chat_boost
 This object contains information about a chat boost. More...
 
struct  telebot_chat_boost_source
 This object represents the source of a chat boost. More...
 
struct  telebot_chat_boost_removed
 This object represents a boost removed from a chat. More...
 
struct  telebot_message_origin
 This object describes the origin of a message. More...
 
struct  telebot_text_quote
 This object contains information about the quoted part of a message that is replied to by the given message. More...
 
struct  telebot_story
 This object contains information about a story. More...
 
struct  telebot_external_reply_info
 This object contains information about the message that is being replied to, which may come from another chat or forum topic. More...
 
struct  telebot_link_preview_options
 Describes the options used for link preview generation. More...
 
struct  telebot_paid_media
 This object describes paid media. More...
 
struct  telebot_paid_media_info
 Describes the paid media added to a message. More...
 
struct  telebot_giveaway
 This object represents a message about a scheduled giveaway. More...
 
struct  telebot_giveaway_winners
 This object represents a message about the completion of a giveaway with public winners. More...
 
struct  telebot_refunded_payment
 This object represents a service message about a refunded payment. More...
 
struct  telebot_users_shared
 This object contains information about the users whose identifiers were shared with the bot using a KeyboardButtonRequestUsers button. More...
 
struct  telebot_shared_user
 This object contains information about a user that was shared with the bot. More...
 
struct  telebot_gift
 This object represents a gift that can be sent by the bot. More...
 
struct  telebot_gift_info
 Describes a regular gift that was sent or received. More...
 
struct  telebot_unique_gift_info
 Describes a unique gift that was sent or received. More...
 
struct  telebot_unique_gift
 This object describes a unique gift that was upgraded from a regular gift. More...
 
struct  telebot_chat_boost_added
 This object represents a service message about a user boosting a chat. More...
 
struct  telebot_chat_background
 This object represents a chat background. More...
 
struct  telebot_giveaway_created
 This object represents a service message about the creation of a scheduled giveaway. More...
 
struct  telebot_giveaway_completed
 This object represents a service message about the completion of a giveaway without public winners. More...
 
struct  telebot_star_amount
 Describes an amount of Telegram Stars. More...
 
struct  telebot_affiliate_info
 Contains information about the affiliate that received a commission. More...
 
struct  telebot_revenue_withdrawal_state
 This object describes the state of a revenue withdrawal operation. More...
 
struct  telebot_transaction_partner
 This object describes the source of a transaction. More...
 
struct  telebot_star_transaction
 Describes a Telegram Star transaction. More...
 
struct  telebot_star_transactions
 Contains a list of Telegram Star transactions. More...
 
struct  telebot_paid_media_purchased
 This object contains information about a paid media purchase. More...
 
struct  telebot_passport_element_error
 This object represents an error in the Telegram Passport element. More...
 
struct  telebot_game_high_score
 This object represents a game high score row. More...
 
struct  telebot_message
 This object represents a message. More...
 
struct  telebot_audio
 This object represents an audio file to be treated as music by the Telegram clients. More...
 
struct  telebot_gifts
 This object represent a list of gifts. More...
 
struct  telebot_user_profile_audios
 This object represents a list of user profile audios. More...
 
struct  telebot_user_gift
 This object represents a gift received by a user. More...
 
struct  telebot_user_gifts
 This object represents a list of gifts received by a user. More...
 
struct  telebot_user_chat_boosts
 This object represents a list of user chat boosts. More...
 
struct  telebot_document
 This object represents a general file (as opposed to photos, voice messages and audio files). More...
 
struct  telebot_keyboard_button_poll_type
 This object represents type of a poll, which is allowed to be created and sent when the corresponding button is pressed. More...
 
struct  telebot_keyboard_button_request_users
 This object defines the criteria used to request suitable users. More...
 
struct  telebot_keyboard_button_request_chat
 This object defines the criteria used to request a suitable chat. More...
 
struct  telebot_web_app_info
 Describes a Web App. More...
 
struct  telebot_keyboard_button
 This object represents one button of the reply keyboard. For simple text buttons String can be used instead of this object to specify text of the button. Optional fields request_contact, request_location, and request_poll are mutually exclusive. More...
 
 This object represents a custom keyboard with reply options. More...
 
struct  telebot_reply_keyboard_remove
 Upon receiving a message with this object, Telegram clients will remove the current custom keyboard and display the default letter-keyboard. By default, custom keyboards are displayed until a new keyboard is sent by a bot. An exception is made for one-time keyboards that are hidden immediately after the user presses a button (see telebot_reply_keyboard_markup_t). More...
 Upon receiving a message with this object, Telegram clients will remove the current custom keyboard and display the default letter-keyboard. By default, custom keyboards are displayed until a new keyboard is sent by a bot. An exception is made for one-time keyboards that are hidden immediately after the user presses a button (see telebot_reply_keyboard_markup_t). More...
 
struct  telebot_callback_query
 This object represents an incoming callback query from a callback button in an inline keyboard. If the button that originated the query was attached to a message sent by the bot, the field message will be present. If the button was attached to a message sent via the bot (in inline mode), the field inline_message_id will be present. Exactly one of the fields data or game_short_name will be present. More...
struct  telebot_response_paramters
 Contains information about why a request was unsuccessful. More...
 
struct  telebot_inline_query
 This object represents an incoming inline query. When the user sends an empty query, your bot could return some default or trending results. More...
 
struct  telebot_chosen_inline_result
 Represents a result of an inline query that was chosen by the user and sent to their chat partner. More...
 
struct  telebot_shipping_query
 This object contains information about an incoming shipping query. More...
 
struct  telebot_pre_checkout_query
 This object contains information about an incoming pre-checkout query. More...
 
struct  telebot_mask_position
 This object describes the position on faces where a mask should be placed by default. More...
 
struct  telebot_sticker
 This object represents a sticker. More...
 
struct  telebot_forum_topic
 This object represents a forum topic. More...
 
struct  telebot_prepared_inline_message
 This object represents a prepared inline message. More...
 
struct  telebot_sent_web_app_message
 This object represents a message sent via a Web App. More...
 
struct  telebot_update
 This object represents an incoming update. More...
 
struct  telebot_webhook_info
 Thi object represetns information about the current status of a webhook. More...
 
struct  telebot_chat_location
 Thi object represetns information about the current status of a webhook. More...
 
struct  telebot_message_auto_delete_timer_changed
 This object represents a service message about a change in auto-delete timer settings. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+

Typedefs

-typedef struct telebot_mask_position telebot_mask_position_t
 This object describes the position on faces where a mask should be placed by default.
 
-typedef struct telebot_sticker telebot_sticker_t
 This object represents a sticker.
 
-typedef struct telebot_sticker_set telebot_sticker_set_t
 This object represents a sticker set.
 
-typedef enum telebot_update_type telebot_update_type_e
 Enumerations of telegram update types.
 
-typedef struct telebot_user telebot_user_t
 This object represents a Telegram user or bot.
 
-typedef struct telebot_chat telebot_chat_t
 This object represents a chat.
 
-typedef struct telebot_message telebot_message_t
 This object represents a message.
 
-typedef struct telebot_message_entity telebot_message_entity_t
 This object represents one special entity in a text message. For example, hashtags, usernames, URLs, etc.
 
-typedef struct telebot_photo telebot_photo_t
 This object represents one size of a photo or a file / sticker thumbnail.
 
-typedef struct telebot_audio telebot_audio_t
 This object represents an audio file to be treated as music by the Telegram clients.
 
-typedef struct telebot_document telebot_document_t
 This object represents a general file (as opposed to photos, voice messages and audio files).
 
-typedef struct telebot_video telebot_video_t
 This object represents a video file.
 
-typedef struct telebot_animation telebot_animation_t
 This object represents a video file.
 
-typedef struct telebot_voice telebot_voice_t
 This object represents a voice note.
 
-typedef struct telebot_video_note telebot_video_note_t
 This object represents a video message (available in Telegram apps as of v.4.0).
 
-typedef struct telebot_contact telebot_contact_t
 This object represents a phone contact.
 
-typedef struct telebot_location telebot_location_t
 This object represents a point on the map.
 
-typedef struct telebot_venue telebot_venue_t
 This object represents a venue.
 
-typedef struct telebot_poll_option telebot_poll_option_t
 This object contains information about one answer option in a poll.
 
-typedef struct telebot_poll_answer telebot_poll_answer_t
 This object represents an answer of a user in a non-anonymous poll.
 
-typedef struct telebot_poll telebot_poll_t
 This object contains information about a poll.
 
-typedef struct telebot_dice telebot_dice_t
 This object represents a dice with random value from 1 to 6.
 
-typedef struct telebot_user_profile_photos telebot_user_profile_photos_t
 This object represent a user's profile pictures.
 
typedef struct telebot_file telebot_file_t
 This object represents a file ready to be downloaded. More...
 
-typedef struct telebot_keyboard_button_poll_type telebot_keyboard_button_poll_type_t
 This object represents type of a poll, which is allowed to be created and sent when the corresponding button is pressed.
 
-typedef struct telebot_keyboard_button telebot_keyboard_button_t
 This object represents one button of the reply keyboard. For simple text buttons String can be used instead of this object to specify text of the button. Optional fields request_contact, request_location, and request_poll are mutually exclusive.
 
-typedef struct telebot_reply_keyboard_markup telebot_reply_keyboard_markup_t
 This object represents a custom keyboard with reply options.
 
-typedef struct telebot_reply_keyboard_remove telebot_reply_keyboard_remove_t
 Upon receiving a message with this object, Telegram clients will remove the current custom keyboard and display the default letter-keyboard. By default, custom keyboards are displayed until a new keyboard is sent by a bot. An exception is made for one-time keyboards that are hidden immediately after the user presses a button (see telebot_reply_keyboard_markup_t).
 
-typedef struct telebot_callback_query telebot_callback_query_t
 This object represents an incoming callback query from a callback button in an inline keyboard. If the button that originated the query was attached to a message sent by the bot, the field message will be present. If the button was attached to a message sent via the bot (in inline mode), the field inline_message_id will be present. Exactly one of the fields data or game_short_name will be present.
 
-typedef struct telebot_force_reply telebot_force_reply_t
 Upon receiving a message with this object, Telegram clients will display a reply interface to the user (act as if the user has selected the bot's message and tapped ’Reply'). This can be extremely useful if you want to create user-friendly step-by-step interfaces without having to sacrifice privacy mode.
 
-typedef struct telebot_chat_photo telebot_chat_photo_t
 This object represents a chat photo.
 
-typedef struct telebot_chat_member telebot_chat_member_t
 This object contains information about one member of a chat.
 
-typedef struct telebot_chat_permissions telebot_chat_permissions_t
 Describes actions that a non-administrator user is allowed to take in a chat.
 
-typedef struct telebot_bot_command telebot_bot_command_t
 This object represents a bot command.
 
-typedef struct telebot_response_paramters telebot_response_paramters_t
 Contains information about why a request was unsuccessful.
 
-typedef struct telebot_update telebot_update_t
 This object represents an incoming update.
 
-typedef struct telebot_webhook_info telebot_webhook_info_t
 Thi object represetns information about the current status of a webhook.
 
-typedef struct telebot_handler_s * telebot_handler_t
 This is opaque object to represent a telebot handler.
 
+typedef struct telebot_sticker_set telebot_sticker_set_t
 This object represents a sticker set.
 
+typedef enum telebot_update_type telebot_update_type_e
 Enumerations of telegram update types.
 
+typedef struct telebot_birthdate telebot_birthdate_t
 Describes the birthdate of a user.
 
+typedef struct telebot_business_intro telebot_business_intro_t
 Contains information about the start page settings of a Telegram Business account.
 
+typedef struct telebot_business_location telebot_business_location_t
 Contains information about the location of a Telegram Business account.
 
+typedef struct telebot_business_opening_hours_interval telebot_business_opening_hours_interval_t
 Describes an interval of time during which a business is open.
 
+typedef struct telebot_business_opening_hours telebot_business_opening_hours_t
 Describes the opening hours of a business.
 
+typedef struct telebot_business_bot_rights telebot_business_bot_rights_t
 Represents the rights of a business bot.
 
+typedef struct telebot_business_connection telebot_business_connection_t
 Describes the connection of the bot with a business account.
 
+typedef struct telebot_business_messages_deleted telebot_business_messages_deleted_t
 This object is received when messages are deleted from a connected business account.
 
+typedef struct telebot_user telebot_user_t
 This object represents a Telegram user or bot.
 
+typedef struct telebot_chat telebot_chat_t
 This object represents a chat.
 
+typedef struct telebot_game telebot_game_t
 This object represents a game.
 
+typedef struct telebot_shipping_address telebot_shipping_address_t
 This object represents a shipping address.
 
+typedef struct telebot_order_info telebot_order_info_t
 This object represents information about an order.
 
+typedef struct telebot_invoice telebot_invoice_t
 This object contains basic information about an invoice.
 
+typedef struct telebot_successful_payment telebot_successful_payment_t
 This object contains basic information about a successful payment.
 
+typedef struct telebot_passport_file telebot_passport_file_t
 This object represents an internal identifier of a user in Telegram Passport.
 
+typedef struct telebot_encrypted_passport_element telebot_encrypted_passport_element_t
 This object represents one element of the Telegram Passport data.
 
+typedef struct telebot_encrypted_credentials telebot_encrypted_credentials_t
 This object represents credentials required to decrypt the data.
 
+typedef struct telebot_passport_data telebot_passport_data_t
 Contains information about Telegram Passport data which was shared with the bot by the user.
 
+typedef struct telebot_proximity_alert_triggered telebot_proximity_alert_triggered_t
 This object represents a service message about a user in the chat triggered another user's proximity alert while sharing Live Location.
 
+typedef struct telebot_forum_topic_created telebot_forum_topic_created_t
 This object represents a service message about a new forum topic created in the chat.
 
+typedef struct telebot_forum_topic_closed telebot_forum_topic_closed_t
 This object represents a service message about a forum topic closed in the chat.
 
+typedef struct telebot_forum_topic_reopened telebot_forum_topic_reopened_t
 This object represents a service message about a forum topic reopened in the chat.
 
+typedef struct telebot_video_chat_scheduled telebot_video_chat_scheduled_t
 This object represents a service message about a video chat scheduled in the chat.
 
+typedef struct telebot_video_chat_started telebot_video_chat_started_t
 This object represents a service message about a video chat started in the chat.
 
+typedef struct telebot_video_chat_ended telebot_video_chat_ended_t
 This object represents a service message about a video chat ended in the chat.
 
+typedef struct telebot_video_chat_participants_invited telebot_video_chat_participants_invited_t
 This object represents a service message about new members invited to a video chat.
 
+typedef struct telebot_web_app_data telebot_web_app_data_t
 This object represents data sent by a Web App to the bot.
 
+typedef struct telebot_callback_game telebot_callback_game_t
 A placeholder, currently holds no information. Use BotFather to set up your game.
 
+typedef struct telebot_login_url telebot_login_url_t
 This object represents a parameter of the inline keyboard button used to automatically authorize a user.
 
+typedef struct telebot_switch_inline_query_chosen_chat telebot_switch_inline_query_chosen_chat_t
 This object represents an inline button that switches the current user to inline mode in a chosen chat.
 
+typedef struct telebot_copy_text_button telebot_copy_text_button_t
 This object represents an inline keyboard button that copies specified text to the clipboard.
 
+typedef struct telebot_inline_keyboard_button telebot_inline_keyboard_button_t
 This object represents one button of an inline keyboard. You must use exactly one of the optional fields.
 
+typedef struct telebot_inline_keyboard_markup telebot_inline_keyboard_markup_t
 This object represents an inline keyboard that appears right next to the message it belongs to.
 
+typedef struct telebot_forum_topic_edited telebot_forum_topic_edited_t
 This object represents a service message about a forum topic edited in the chat.
 
+typedef struct telebot_general_forum_topic_hidden telebot_general_forum_topic_hidden_t
 This object represents a service message about a general forum topic hidden in the chat.
 
+typedef struct telebot_general_forum_topic_unhidden telebot_general_forum_topic_unhidden_t
 This object represents a service message about a general forum topic unhidden in the chat.
 
+typedef struct telebot_write_access_allowed telebot_write_access_allowed_t
 This object represents a service message about a user allowing a bot to write messages after adding the bot to the attachment menu or launching a Web App from a link.
 
+typedef struct telebot_user_shared telebot_user_shared_t
 This object contains information about the user whose identifier was shared with the bot using a KeyboardButtonRequestUser button.
 
+typedef struct telebot_chat_shared telebot_chat_shared_t
 This object contains information about the chat whose identifier was shared with the bot using a KeyboardButtonRequestChat button.
 
+typedef struct telebot_chat_invite_link telebot_chat_invite_link_t
 This object represents a chat invite link.
 
+typedef struct telebot_chat_member_updated telebot_chat_member_updated_t
 This object represents changes in the status of a chat member.
 
+typedef struct telebot_chat_join_request telebot_chat_join_request_t
 This object represents a join request sent to a chat.
 
+typedef struct telebot_message_reaction_updated telebot_message_reaction_updated_t
 This object represents a change of a reaction on a message performed by a user.
 
+typedef struct telebot_message_reaction_count_updated telebot_message_reaction_count_updated_t
 This object represents reaction changes on a message with anonymous reactions.
 
+typedef struct telebot_reaction_type telebot_reaction_type_t
 This object represents a reaction type.
 
+typedef struct telebot_reaction_count telebot_reaction_count_t
 This object represents a reaction count.
 
+typedef struct telebot_chat_boost_updated telebot_chat_boost_updated_t
 This object represents a boost added to a chat.
 
+typedef struct telebot_chat_boost telebot_chat_boost_t
 This object contains information about a chat boost.
 
+typedef struct telebot_chat_boost_source telebot_chat_boost_source_t
 This object represents the source of a chat boost.
 
+typedef struct telebot_chat_boost_removed telebot_chat_boost_removed_t
 This object represents a boost removed from a chat.
 
+typedef struct telebot_message_origin telebot_message_origin_t
 This object describes the origin of a message.
 
+typedef struct telebot_text_quote telebot_text_quote_t
 This object contains information about the quoted part of a message that is replied to by the given message.
 
+typedef struct telebot_story telebot_story_t
 This object contains information about a story.
 
+typedef struct telebot_external_reply_info telebot_external_reply_info_t
 This object contains information about the message that is being replied to, which may come from another chat or forum topic.
 
+typedef struct telebot_link_preview_options telebot_link_preview_options_t
 Describes the options used for link preview generation.
 
+typedef struct telebot_paid_media telebot_paid_media_t
 This object describes paid media.
 
+typedef struct telebot_paid_media_info telebot_paid_media_info_t
 Describes the paid media added to a message.
 
+typedef struct telebot_giveaway telebot_giveaway_t
 This object represents a message about a scheduled giveaway.
 
+typedef struct telebot_giveaway_winners telebot_giveaway_winners_t
 This object represents a message about the completion of a giveaway with public winners.
 
+typedef struct telebot_refunded_payment telebot_refunded_payment_t
 This object represents a service message about a refunded payment.
 
+typedef struct telebot_users_shared telebot_users_shared_t
 This object contains information about the users whose identifiers were shared with the bot using a KeyboardButtonRequestUsers button.
 
+typedef struct telebot_shared_user telebot_shared_user_t
 This object contains information about a user that was shared with the bot.
 
+typedef struct telebot_gift telebot_gift_t
 This object represents a gift that can be sent by the bot.
 
+typedef struct telebot_gift_info telebot_gift_info_t
 Describes a regular gift that was sent or received.
 
+typedef struct telebot_unique_gift_info telebot_unique_gift_info_t
 Describes a unique gift that was sent or received.
 
+typedef struct telebot_unique_gift telebot_unique_gift_t
 This object describes a unique gift that was upgraded from a regular gift.
 
+typedef struct telebot_chat_boost_added telebot_chat_boost_added_t
 This object represents a service message about a user boosting a chat.
 
+typedef struct telebot_chat_background telebot_chat_background_t
 This object represents a chat background.
 
+typedef struct telebot_giveaway_created telebot_giveaway_created_t
 This object represents a service message about the creation of a scheduled giveaway.
 
+typedef struct telebot_giveaway_completed telebot_giveaway_completed_t
 This object represents a service message about the completion of a giveaway without public winners.
 
+typedef struct telebot_star_amount telebot_star_amount_t
 Describes an amount of Telegram Stars.
 
+typedef struct telebot_affiliate_info telebot_affiliate_info_t
 Contains information about the affiliate that received a commission.
 
+typedef struct telebot_revenue_withdrawal_state telebot_revenue_withdrawal_state_t
 This object describes the state of a revenue withdrawal operation.
 
+typedef struct telebot_transaction_partner telebot_transaction_partner_t
 This object describes the source of a transaction.
 
+typedef struct telebot_star_transaction telebot_star_transaction_t
 Describes a Telegram Star transaction.
 
+typedef struct telebot_star_transactions telebot_star_transactions_t
 Contains a list of Telegram Star transactions.
 
+typedef struct telebot_paid_media_purchased telebot_paid_media_purchased_t
 This object contains information about a paid media purchase.
 
+typedef struct telebot_passport_element_error telebot_passport_element_error_t
 This object represents an error in the Telegram Passport element.
 
+typedef struct telebot_game_high_score telebot_game_high_score_t
 This object represents a game high score row.
 
+typedef struct telebot_message telebot_message_t
 This object represents a message.
 
+typedef struct telebot_message_entity telebot_message_entity_t
 This object represents one special entity in a text message. For example, hashtags, usernames, URLs, etc.
 
+typedef struct telebot_photo telebot_photo_t
 This object represents one size of a photo or a file / sticker thumbnail.
 
+typedef struct telebot_audio telebot_audio_t
 This object represents an audio file to be treated as music by the Telegram clients.
 
+typedef struct telebot_gifts telebot_gifts_t
 This object represent a list of gifts.
 
+typedef struct telebot_user_profile_audios telebot_user_profile_audios_t
 This object represents a list of user profile audios.
 
+typedef struct telebot_user_gift telebot_user_gift_t
 This object represents a gift received by a user.
 
+typedef struct telebot_user_gifts telebot_user_gifts_t
 This object represents a list of gifts received by a user.
 
+typedef struct telebot_user_chat_boosts telebot_user_chat_boosts_t
 This object represents a list of user chat boosts.
 
+typedef struct telebot_document telebot_document_t
 This object represents a general file (as opposed to photos, voice messages and audio files).
 
+typedef struct telebot_video telebot_video_t
 This object represents a video file.
 
+typedef struct telebot_animation telebot_animation_t
 This object represents a video file.
 
+typedef struct telebot_voice telebot_voice_t
 This object represents a voice note.
 
+typedef struct telebot_video_note telebot_video_note_t
 This object represents a video message (available in Telegram apps as of v.4.0).
 
+typedef struct telebot_contact telebot_contact_t
 This object represents a phone contact.
 
+typedef struct telebot_location telebot_location_t
 This object represents a point on the map.
 
+typedef struct telebot_venue telebot_venue_t
 This object represents a venue.
 
+typedef struct telebot_poll_option telebot_poll_option_t
 This object contains information about one answer option in a poll.
 
+typedef struct telebot_poll_answer telebot_poll_answer_t
 This object represents an answer of a user in a non-anonymous poll.
 
+typedef struct telebot_poll telebot_poll_t
 This object contains information about a poll.
 
+typedef struct telebot_dice telebot_dice_t
 This object represents a dice with random value from 1 to 6.
 
+typedef struct telebot_user_profile_photos telebot_user_profile_photos_t
 This object represent a user's profile pictures.
 
typedef struct telebot_file telebot_file_t
 This object represents a file ready to be downloaded.
 
+typedef struct telebot_keyboard_button_poll_type telebot_keyboard_button_poll_type_t
 This object represents type of a poll, which is allowed to be created and sent when the corresponding button is pressed.
 
+typedef struct telebot_keyboard_button_request_users telebot_keyboard_button_request_users_t
 This object defines the criteria used to request suitable users.
 
+typedef struct telebot_keyboard_button_request_chat telebot_keyboard_button_request_chat_t
 This object defines the criteria used to request a suitable chat.
 
+typedef struct telebot_web_app_info telebot_web_app_info_t
 Describes a Web App.
 
+typedef struct telebot_keyboard_button telebot_keyboard_button_t
 This object represents one button of the reply keyboard. For simple text buttons String can be used instead of this object to specify text of the button. Optional fields request_contact, request_location, and request_poll are mutually exclusive.
 
+typedef struct telebot_reply_keyboard_markup telebot_reply_keyboard_markup_t
 This object represents a custom keyboard with reply options.
 
+typedef struct telebot_reply_keyboard_remove telebot_reply_keyboard_remove_t
 Upon receiving a message with this object, Telegram clients will remove the current custom keyboard and display the default letter-keyboard. By default, custom keyboards are displayed until a new keyboard is sent by a bot. An exception is made for one-time keyboards that are hidden immediately after the user presses a button (see telebot_reply_keyboard_markup_t).
 
+typedef struct telebot_callback_query telebot_callback_query_t
 This object represents an incoming callback query from a callback button in an inline keyboard. If the button that originated the query was attached to a message sent by the bot, the field message will be present. If the button was attached to a message sent via the bot (in inline mode), the field inline_message_id will be present. Exactly one of the fields data or game_short_name will be present.
 
+typedef struct telebot_force_reply telebot_force_reply_t
 Upon receiving a message with this object, Telegram clients will display a reply interface to the user (act as if the user has selected the bot's message and tapped ’Reply'). This can be extremely useful if you want to create user-friendly step-by-step interfaces without having to sacrifice privacy mode.
 
+typedef struct telebot_chat_photo telebot_chat_photo_t
 This object represents a chat photo.
 
+typedef struct telebot_chat_member telebot_chat_member_t
 This object contains information about one member of a chat.
 
+typedef struct telebot_chat_permissions telebot_chat_permissions_t
 Describes actions that a non-administrator user is allowed to take in a chat.
 
+typedef struct telebot_bot_command telebot_bot_command_t
 This object represents a bot command.
 
+typedef struct telebot_response_paramters telebot_response_paramters_t
 Contains information about why a request was unsuccessful.
 
+typedef struct telebot_inline_query telebot_inline_query_t
 This object represents an incoming inline query. When the user sends an empty query, your bot could return some default or trending results.
 
+typedef struct telebot_chosen_inline_result telebot_chosen_inline_result_t
 Represents a result of an inline query that was chosen by the user and sent to their chat partner.
 
+typedef struct telebot_shipping_query telebot_shipping_query_t
 This object contains information about an incoming shipping query.
 
+typedef struct telebot_pre_checkout_query telebot_pre_checkout_query_t
 This object contains information about an incoming pre-checkout query.
 
+typedef struct telebot_mask_position telebot_mask_position_t
 This object describes the position on faces where a mask should be placed by default.
 
+typedef struct telebot_sticker telebot_sticker_t
 This object represents a sticker.
 
+typedef struct telebot_forum_topic telebot_forum_topic_t
 This object represents a forum topic.
 
+typedef struct telebot_prepared_inline_message telebot_prepared_inline_message_t
 This object represents a prepared inline message.
 
+typedef struct telebot_sent_web_app_message telebot_sent_web_app_message_t
 This object represents a message sent via a Web App.
 
+typedef struct telebot_update telebot_update_t
 This object represents an incoming update.
 
+typedef struct telebot_webhook_info telebot_webhook_info_t
 Thi object represetns information about the current status of a webhook.
 
+typedef struct telebot_chat_location telebot_chat_location_t
 Thi object represetns information about the current status of a webhook.
 
+typedef struct telebot_message_auto_delete_timer_changed telebot_message_auto_delete_timer_changed_t
 This object represents a service message about a change in auto-delete timer settings.
 
+typedef struct telebot_handler * telebot_handler_t
 This is opaque object to represent a telebot handler.
 
- - - + } + - - + } +

+

Enumerations

enum  telebot_error_e {
-  TELEBOT_ERROR_NONE = 0, -TELEBOT_ERROR_OPERATION_FAILED = -1, -TELEBOT_ERROR_NOT_SUPPORTED = -2, -TELEBOT_ERROR_OUT_OF_MEMORY = -3, +
enum  telebot_error_e {
+  TELEBOT_ERROR_NONE = 0 +, TELEBOT_ERROR_OPERATION_FAILED = -1 +, TELEBOT_ERROR_NOT_SUPPORTED = -2 +, TELEBOT_ERROR_OUT_OF_MEMORY = -3 +,
+  TELEBOT_ERROR_NO_CONNECTION = -4 +, TELEBOT_ERROR_INVALID_PARAMETER = -5
-  TELEBOT_ERROR_NO_CONNECTION = -4, -TELEBOT_ERROR_INVALID_PARAMETER = -5 -
- }
 Enumerations of error code for telebot programming interface. More...
 Enumerations of error code for telebot programming interface. More...
 
enum  telebot_update_type {
-  TELEBOT_UPDATE_TYPE_MESSAGE = 0, -TELEBOT_UPDATE_TYPE_EDITED_MESSAGE, -TELEBOT_UPDATE_TYPE_CHANNEL_POST, -TELEBOT_UPDATE_TYPE_EDITED_CHANNEL_POST, -
-  TELEBOT_UPDATE_TYPE_INLINE_QUERY, -TELEBOT_UPDATE_TYPE_CHOSEN_INLINE_RESULT, -TELEBOT_UPDATE_TYPE_CALLBACK_QUERY, -TELEBOT_UPDATE_TYPE_SHIPPING_QUERY, -
-  TELEBOT_UPDATE_TYPE_PRE_CHECKOUT_QUERY, -TELEBOT_UPDATE_TYPE_POLL, -TELEBOT_UPDATE_TYPE_POLL_ANSWER, -TELEBOT_UPDATE_TYPE_MAX +
enum  telebot_update_type {
+  TELEBOT_UPDATE_TYPE_MESSAGE = 0 +, TELEBOT_UPDATE_TYPE_EDITED_MESSAGE +, TELEBOT_UPDATE_TYPE_CHANNEL_POST +, TELEBOT_UPDATE_TYPE_EDITED_CHANNEL_POST +,
+  TELEBOT_UPDATE_TYPE_BUSINESS_CONNECTION +, TELEBOT_UPDATE_TYPE_BUSINESS_MESSAGE +, TELEBOT_UPDATE_TYPE_EDITED_BUSINESS_MESSAGE +, TELEBOT_UPDATE_TYPE_DELETED_BUSINESS_MESSAGES +,
+  TELEBOT_UPDATE_TYPE_MESSAGE_REACTION +, TELEBOT_UPDATE_TYPE_MESSAGE_REACTION_COUNT +, TELEBOT_UPDATE_TYPE_INLINE_QUERY +, TELEBOT_UPDATE_TYPE_CHOSEN_INLINE_RESULT +,
+  TELEBOT_UPDATE_TYPE_CALLBACK_QUERY +, TELEBOT_UPDATE_TYPE_SHIPPING_QUERY +, TELEBOT_UPDATE_TYPE_PRE_CHECKOUT_QUERY +, TELEBOT_UPDATE_TYPE_PURCHASED_PAID_MEDIA +,
+  TELEBOT_UPDATE_TYPE_POLL +, TELEBOT_UPDATE_TYPE_POLL_ANSWER +, TELEBOT_UPDATE_TYPE_MY_CHAT_MEMBER +, TELEBOT_UPDATE_TYPE_CHAT_MEMBER +,
+  TELEBOT_UPDATE_TYPE_CHAT_JOIN_REQUEST +, TELEBOT_UPDATE_TYPE_CHAT_BOOST +, TELEBOT_UPDATE_TYPE_REMOVED_CHAT_BOOST +, TELEBOT_UPDATE_TYPE_MAX
- }
 Enumerations of telegram update types. More...
 Enumerations of telegram update types. More...
 
- - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + + + +

+

Functions

telebot_error_e telebot_create (telebot_handler_t *handle, char *token)
 Initial function to use telebot APIs. More...
telebot_error_e telebot_create_forum_topic (telebot_handler_t handle, long long int chat_id, const char *name, int icon_color, const char *icon_custom_emoji_id, telebot_forum_topic_t *topic)
 Use this method to create a topic in a forum supergroup chat.
 
telebot_error_e telebot_put_forum_topic (telebot_forum_topic_t *topic)
 Release forum topic obtained with telebot_create_forum_topic.
 
telebot_error_e telebot_edit_forum_topic (telebot_handler_t handle, long long int chat_id, int message_thread_id, const char *name, const char *icon_custom_emoji_id)
 Use this method to edit name and icon of a topic in a forum supergroup chat.
 
telebot_error_e telebot_close_forum_topic (telebot_handler_t handle, long long int chat_id, int message_thread_id)
 Use this method to close an open topic in a forum supergroup chat.
 
telebot_error_e telebot_reopen_forum_topic (telebot_handler_t handle, long long int chat_id, int message_thread_id)
 Use this method to reopen a closed topic in a forum supergroup chat.
 
telebot_error_e telebot_delete_forum_topic (telebot_handler_t handle, long long int chat_id, int message_thread_id)
 Use this method to delete a forum topic along with all its messages in a forum supergroup chat.
 
telebot_error_e telebot_unpin_all_forum_topic_messages (telebot_handler_t handle, long long int chat_id, int message_thread_id)
 Use this method to unpin all messages in a forum topic.
 
telebot_error_e telebot_get_forum_topic_icon_stickers (telebot_handler_t handle, telebot_sticker_t **stickers, int *count)
 Use this method to get custom emoji stickers, which can be used as a forum topic icon by any user.
 
telebot_error_e telebot_edit_general_forum_topic (telebot_handler_t handle, long long int chat_id, const char *name)
 Use this method to edit the name of the 'General' topic in a forum supergroup chat.
 
telebot_error_e telebot_close_general_forum_topic (telebot_handler_t handle, long long int chat_id)
 Use this method to close an open 'General' topic in a forum supergroup chat.
 
telebot_error_e telebot_reopen_general_forum_topic (telebot_handler_t handle, long long int chat_id)
 Use this method to reopen a closed 'General' topic in a forum supergroup chat.
 
telebot_error_e telebot_hide_general_forum_topic (telebot_handler_t handle, long long int chat_id)
 Use this method to hide the 'General' topic in a forum supergroup chat.
 
telebot_error_e telebot_unhide_general_forum_topic (telebot_handler_t handle, long long int chat_id)
 Use this method to unhide the 'General' topic in a forum supergroup chat.
 
telebot_error_e telebot_unpin_all_general_forum_topic_messages (telebot_handler_t handle, long long int chat_id)
 Use this method to unpin all messages in a General forum topic.
 
+telebot_error_e telebot_send_game (telebot_handler_t handle, long long int chat_id, int message_thread_id, const char *game_short_name, bool disable_notification, bool protect_content, const char *reply_parameters, const char *reply_markup, telebot_message_t *message)
 Use this method to send a game.
 
+telebot_error_e telebot_set_game_score (telebot_handler_t handle, long long int user_id, int score, bool force, bool disable_edit_message, long long int chat_id, int message_id, const char *inline_message_id, telebot_message_t *message)
 Use this method to set the score of the specified user in a game.
 
+telebot_error_e telebot_get_game_high_scores (telebot_handler_t handle, long long int user_id, long long int chat_id, int message_id, const char *inline_message_id, telebot_game_high_score_t **high_scores, int *count)
 Use this method to get data for high score tables.
 
+telebot_error_e telebot_put_game_high_scores (telebot_game_high_score_t *high_scores, int count)
 Release game high scores obtained with telebot_get_game_high_scores.
 
+telebot_error_e telebot_answer_inline_query (telebot_handler_t handle, const char *inline_query_id, const char *results, int cache_time, bool is_personal, const char *next_offset, const char *button)
 Use this method to send answers to an inline query.
 
+telebot_error_e telebot_save_prepared_inline_message (telebot_handler_t handle, long long int user_id, const char *result, bool allow_user_chats, bool allow_bot_chats, bool allow_group_chats, bool allow_channel_chats, telebot_prepared_inline_message_t *prepared_message)
 Use this method to save a prepared inline message.
 
+telebot_error_e telebot_put_prepared_inline_message (telebot_prepared_inline_message_t *prepared_message)
 Release prepared inline message.
 
+telebot_error_e telebot_answer_web_app_query (telebot_handler_t handle, const char *web_app_query_id, const char *result, char **inline_message_id)
 Use this method to send answers to an inline query to a user from a Web App.
 
telebot_error_e telebot_create (telebot_handler_t *handle, char *token)
 Initial function to use telebot APIs.
 
telebot_error_e telebot_destroy (telebot_handler_t handle)
 Final function to use telebo APIs. More...
telebot_error_e telebot_destroy (telebot_handler_t handle)
 Final function to use telebo APIs.
 
telebot_error_e telebot_set_proxy (telebot_handler_t handle, char *addr, char *auth)
 Set proxy address to use telebot behind proxy. More...
telebot_error_e telebot_set_proxy (telebot_handler_t handle, char *addr, char *auth)
 Set proxy address to use telebot behind proxy.
 
telebot_error_e telebot_get_proxy (telebot_handler_t handle, char **addr)
 Get proxy address currently used. More...
telebot_error_e telebot_get_proxy (telebot_handler_t handle, char **addr)
 Get proxy address currently used.
 
telebot_error_e telebot_get_updates (telebot_handler_t handle, int offset, int limit, int timeout, telebot_update_type_e allowed_updates[], int allowed_updates_count, telebot_update_t **updates, int *count)
 This function is used to get latest updates. More...
telebot_error_e telebot_get_updates (telebot_handler_t handle, int offset, int limit, int timeout, telebot_update_type_e allowed_updates[], int allowed_updates_count, telebot_update_t **updates, int *count)
 This function is used to get latest updates.
 
telebot_error_e telebot_put_updates (telebot_update_t *updates, int count)
 This function is used to release memory used for obtained updates. More...
telebot_error_e telebot_put_updates (telebot_update_t *updates, int count)
 This function is used to release memory used for obtained updates.
 
telebot_error_e telebot_set_webhook (telebot_handler_t handle, char *url, char *certificate, int max_connections, telebot_update_type_e allowed_updates[], int allowed_updates_count)
 This function is used to specify a url and receive incoming updates via an outgoing webhook. Whenever there is an update for the bot, we will send an HTTPS POST request to the specified url, containing a JSON-serialized Update. In case of an unsuccessful request, we will give up after a reasonable amount of attempts. More...
telebot_error_e telebot_set_webhook (telebot_handler_t handle, char *url, char *certificate, int max_connections, telebot_update_type_e allowed_updates[], int allowed_updates_count)
 This function is used to specify a url and receive incoming updates via an outgoing webhook. Whenever there is an update for the bot, we will send an HTTPS POST request to the specified url, containing a JSON-serialized Update. In case of an unsuccessful request, we will give up after a reasonable amount of attempts.
 
telebot_error_e telebot_delete_webhook (telebot_handler_t handle)
 This function is used to remove webhook integration if you decide to switch back to getUpdates. More...
telebot_error_e telebot_delete_webhook (telebot_handler_t handle)
 This function is used to remove webhook integration if you decide to switch back to getUpdates.
 
telebot_error_e telebot_get_webhook_info (telebot_handler_t handle, telebot_webhook_info_t *info)
 This function is used to get information about telegram bot itself. More...
telebot_error_e telebot_get_webhook_info (telebot_handler_t handle, telebot_webhook_info_t *info)
 This function is used to get information about telegram bot itself.
 
telebot_error_e telebot_put_webhook_info (telebot_webhook_info_t *info)
 This function is used to release memory used for obtained information about telegram bot itself. More...
telebot_error_e telebot_put_webhook_info (telebot_webhook_info_t *info)
 This function is used to release memory used for obtained information about telegram bot itself.
 
telebot_error_e telebot_get_me (telebot_handler_t handle, telebot_user_t *me)
 This function is used to get information about telegram bot itself. More...
telebot_error_e telebot_get_me (telebot_handler_t handle, telebot_user_t *me)
 This function is used to get information about telegram bot itself.
 
telebot_error_e telebot_put_me (telebot_user_t *me)
 This function is used to release memory used for obtained information about telegram bot itself. More...
telebot_error_e telebot_put_me (telebot_user_t *me)
 This function is used to release memory used for obtained information about telegram bot itself.
 
telebot_error_e telebot_send_message (telebot_handler_t handle, long long int chat_id, const char *text, const char *parse_mode, bool disable_web_page_preview, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send text messages. More...
telebot_error_e telebot_put_user (telebot_user_t *user)
 This function is used to release memory used for user object.
 
telebot_error_e telebot_send_message (telebot_handler_t handle, long long int chat_id, const char *text, const char *parse_mode, bool disable_web_page_preview, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send text messages.
 
telebot_error_e telebot_forward_message (telebot_handler_t handle, long long int chat_id, long long int from_chat_id, bool disable_notification, int message_id)
 Forward messages of any kind. More...
telebot_error_e telebot_forward_message (telebot_handler_t handle, long long int chat_id, long long int from_chat_id, bool disable_notification, int message_id)
 Forward messages of any kind.
 
telebot_error_e telebot_send_photo (telebot_handler_t handle, long long int chat_id, const char *photo, bool is_file, const char *caption, const char *parse_mode, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send photos. More...
telebot_error_e telebot_send_photo (telebot_handler_t handle, long long int chat_id, const char *photo, bool is_file, const char *caption, const char *parse_mode, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send photos.
 
telebot_error_e telebot_send_audio (telebot_handler_t handle, long long int chat_id, const char *audio, bool is_file, const char *caption, const char *parse_mode, int duration, const char *performer, const char *title, const char *thumb, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send audio files. if you want Telegram clients to display them in the music player. Your audio must be in the .mp3 format. Bots can currently send audio files of up to 50 MB in size. For backward compatibility, when the fields title and performer are both empty and the mime-type of the file to be sent is not audio/mpeg, the file will be sent as a playable voice message. For this to work, the audio must be in an .ogg file encoded with OPUS. For sending voice messages, use the telegram_send_voice() function instead. More...
telebot_error_e telebot_send_audio (telebot_handler_t handle, long long int chat_id, const char *audio, bool is_file, const char *caption, const char *parse_mode, int duration, const char *performer, const char *title, const char *thumb, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send audio files. if you want Telegram clients to display them in the music player. Your audio must be in the .mp3 format. Bots can currently send audio files of up to 50 MB in size. For backward compatibility, when the fields title and performer are both empty and the mime-type of the file to be sent is not audio/mpeg, the file will be sent as a playable voice message. For this to work, the audio must be in an .ogg file encoded with OPUS. For sending voice messages, use the telegram_send_voice() function instead.
 
telebot_error_e telebot_send_document (telebot_handler_t handle, long long int chat_id, const char *document, bool is_file, const char *thumb, const char *caption, const char *parse_mode, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send general files. More...
telebot_error_e telebot_send_document (telebot_handler_t handle, long long int chat_id, const char *document, bool is_file, const char *thumb, const char *caption, const char *parse_mode, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send general files.
 
telebot_error_e telebot_send_video (telebot_handler_t handle, long long int chat_id, const char *video, bool is_file, int duration, int width, int height, const char *thumb, const char *caption, const char *parse_mode, bool supports_streaming, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send video files, Telegram clients support mp4 videos (other formats may be sent as Document). More...
telebot_error_e telebot_send_video (telebot_handler_t handle, long long int chat_id, const char *video, bool is_file, int duration, int width, int height, const char *thumb, const char *caption, const char *parse_mode, bool supports_streaming, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send video files, Telegram clients support mp4 videos (other formats may be sent as Document).
 
telebot_error_e telebot_send_animation (telebot_handler_t handle, long long int chat_id, const char *animation, bool is_file, int duration, int width, int height, const char *thumb, const char *caption, const char *parse_mode, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send animation files (GIF or H.264/MPEG-4 AVC without sound). More...
telebot_error_e telebot_send_animation (telebot_handler_t handle, long long int chat_id, const char *animation, bool is_file, int duration, int width, int height, const char *thumb, const char *caption, const char *parse_mode, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send animation files (GIF or H.264/MPEG-4 AVC without sound).
 
telebot_error_e telebot_send_voice (telebot_handler_t handle, long long int chat_id, const char *voice, bool is_file, const char *caption, const char *parse_mode, int duration, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send audio files, if you want Telegram clients to display the file as a playable voice message. For this to work, your audio must be in an .ogg file encoded with OPUS (other formats may be sent as Audio or Document). More...
telebot_error_e telebot_send_voice (telebot_handler_t handle, long long int chat_id, const char *voice, bool is_file, const char *caption, const char *parse_mode, int duration, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send audio files, if you want Telegram clients to display the file as a playable voice message. For this to work, your audio must be in an .ogg file encoded with OPUS (other formats may be sent as Audio or Document).
 
telebot_error_e telebot_send_video_note (telebot_handler_t handle, long long int chat_id, char *video_note, bool is_file, int duration, int length, const char *thumb, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send video messages. As of v.4.0, Telegram clients support rounded square mp4 videos of up to 1 minute long. More...
telebot_error_e telebot_send_video_note (telebot_handler_t handle, long long int chat_id, char *video_note, bool is_file, int duration, int length, const char *thumb, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send video messages. As of v.4.0, Telegram clients support rounded square mp4 videos of up to 1 minute long.
 
telebot_error_e telebot_send_location (telebot_handler_t handle, long long int chat_id, float latitude, float longitude, int live_period, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send point on the map. More...
telebot_error_e telebot_send_media_group (telebot_handler_t handle, long long int chat_id, char *media_paths[], int count, bool disable_notification, int reply_to_message_id)
 Send a group of photos as an album.
 
telebot_error_e telebot_send_location (telebot_handler_t handle, long long int chat_id, float latitude, float longitude, int live_period, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send point on the map.
 
telebot_error_e telebot_edit_message_live_location (telebot_handler_t handle, long long int chat_id, int message_id, const char *inline_message_id, float latitude, float longitude, const char *reply_markup)
 Edit live location messages sent by the bot or via the bot (for inline bots). A location can be edited until its live_period expires or editing is explicitly disabled by a call to telebot_stop_message_live_location(). More...
telebot_error_e telebot_edit_message_live_location (telebot_handler_t handle, long long int chat_id, int message_id, const char *inline_message_id, float latitude, float longitude, const char *reply_markup)
 Edit live location messages sent by the bot or via the bot (for inline bots). A location can be edited until its live_period expires or editing is explicitly disabled by a call to telebot_stop_message_live_location().
 
telebot_error_e telebot_stop_message_live_location (telebot_handler_t handle, long long int chat_id, int message_id, char *inline_message_id, const char *reply_markup)
 Stop updating a live location message sent by the bot or via the bot (for inline bots) before live_period expires. More...
telebot_error_e telebot_stop_message_live_location (telebot_handler_t handle, long long int chat_id, int message_id, char *inline_message_id, const char *reply_markup)
 Stop updating a live location message sent by the bot or via the bot (for inline bots) before live_period expires.
 
telebot_error_e telebot_send_venue (telebot_handler_t handle, long long int chat_id, float latitude, float longitude, const char *title, const char *address, const char *foursquare_id, const char *foursquare_type, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send information about a venue. More...
telebot_error_e telebot_send_venue (telebot_handler_t handle, long long int chat_id, float latitude, float longitude, const char *title, const char *address, const char *foursquare_id, const char *foursquare_type, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send information about a venue.
 
telebot_error_e telebot_send_contact (telebot_handler_t handle, long long int chat_id, const char *phone_number, const char *first_name, const char *last_name, const char *vcard, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send phone contacts. More...
telebot_error_e telebot_send_contact (telebot_handler_t handle, long long int chat_id, const char *phone_number, const char *first_name, const char *last_name, const char *vcard, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send phone contacts.
 
telebot_error_e telebot_send_poll (telebot_handler_t handle, long long int chat_id, const char *question, const char **options, int count_options, bool is_anonymous, const char *type, bool allows_multiple_answers, int correct_option_id, bool is_closed, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send a native poll. More...
telebot_error_e telebot_send_poll (telebot_handler_t handle, long long int chat_id, const char *question, const char **options, int count_options, bool is_anonymous, const char *type, bool allows_multiple_answers, int correct_option_id, bool is_closed, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send a native poll.
 
telebot_error_e telebot_send_dice (telebot_handler_t handle, long long int chat_id, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send a dice, which will have a random value from 1 to 6. More...
telebot_error_e telebot_send_dice (telebot_handler_t handle, long long int chat_id, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send a dice, which will have a random value from 1 to 6.
 
telebot_error_e telebot_send_chat_action (telebot_handler_t handle, long long int chat_id, char *action)
 Tell the user that something is happening on the bot's side. The status is set for 5 seconds or less (when a message arrives from your bot, Telegram clients clear its typing status). Example: The ImageBot needs some time to process a request and upload the image. Instead of sending a text message along the lines of "Retrieving image, please wait…", the bot may use telebot_send_chat_action() with action = upload_photo. The user will see a "sending photo" status for the bot. It is only recommended to use when a response from the bot will take a noticeable amount of time to arrive. More...
telebot_error_e telebot_send_chat_action (telebot_handler_t handle, long long int chat_id, char *action)
 Tell the user that something is happening on the bot's side. The status is set for 5 seconds or less (when a message arrives from your bot, Telegram clients clear its typing status). Example: The ImageBot needs some time to process a request and upload the image. Instead of sending a text message along the lines of "Retrieving image, please wait…", the bot may use telebot_send_chat_action() with action = upload_photo. The user will see a "sending photo" status for the bot. It is only recommended to use when a response from the bot will take a noticeable amount of time to arrive.
 
telebot_error_e telebot_get_user_profile_photos (telebot_handler_t handle, int user_id, int offset, int limit, telebot_user_profile_photos_t *photos)
 This function is used to get user profile pictures object. More...
telebot_error_e telebot_get_user_profile_photos (telebot_handler_t handle, int user_id, int offset, int limit, telebot_user_profile_photos_t *photos)
 This function is used to get user profile pictures object.
 
telebot_error_e telebot_put_user_profile_photos (telebot_user_profile_photos_t *photos)
 This function is used to free memory allocated for user profile pictures object. More...
telebot_error_e telebot_put_user_profile_photos (telebot_user_profile_photos_t *photos)
 This function is used to free memory allocated for user profile pictures object.
 
telebot_error_e telebot_download_file (telebot_handler_t handle, const char *file_id, const char *path)
 This function is used to download file. More...
+telebot_error_e telebot_get_user_profile_audios (telebot_handler_t handle, long long int user_id, int offset, int limit, telebot_user_profile_audios_t *audios)
 Use this method to get user profile audios.
 
+telebot_error_e telebot_put_user_profile_audios (telebot_user_profile_audios_t *audios)
 Release user profile audios obtained with telebot_get_user_profile_audios.
 
+telebot_error_e telebot_set_my_profile_photo (telebot_handler_t handle, const char *photo)
 Use this method to set the bot's profile photo.
 
+telebot_error_e telebot_remove_my_profile_photo (telebot_handler_t handle, const char *photo_id)
 Use this method to remove the bot's profile photo.
 
+telebot_error_e telebot_get_business_connection (telebot_handler_t handle, const char *business_connection_id, telebot_business_connection_t *connection)
 Use this method to get information about the business connection.
 
+telebot_error_e telebot_put_business_connection (telebot_business_connection_t *connection)
 Release business connection obtained with telebot_get_business_connection.
 
+telebot_error_e telebot_get_user_chat_boosts (telebot_handler_t handle, long long int chat_id, long long int user_id, telebot_user_chat_boosts_t *boosts)
 Use this method to get user chat boosts.
 
+telebot_error_e telebot_put_user_chat_boosts (telebot_user_chat_boosts_t *boosts)
 Release user chat boosts obtained with telebot_get_user_chat_boosts.
 
telebot_error_e telebot_download_file (telebot_handler_t handle, const char *file_id, const char *path)
 This function is used to download file.
 
telebot_error_e telebot_kick_chat_member (telebot_handler_t handle, long long int chat_id, int user_id, long until_date)
 Kick a user from a group, a supergroup or a channel. In the case of supergroups and channels, the user will not be able to return to the group on their own using invite links, etc., unless unbanned first. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. More...
telebot_error_e telebot_kick_chat_member (telebot_handler_t handle, long long int chat_id, int user_id, long until_date)
 Kick a user from a group, a supergroup or a channel. In the case of supergroups and channels, the user will not be able to return to the group on their own using invite links, etc., unless unbanned first. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
 
telebot_error_e telebot_unban_chat_member (telebot_handler_t handle, long long int chat_id, int user_id)
 Unban a previously kicked user in a supergroup or channel. The user will not return to the group or channel automatically, but will be able to join via link, etc. The bot must be an administrator for this to work. More...
telebot_error_e telebot_unban_chat_member (telebot_handler_t handle, long long int chat_id, int user_id)
 Unban a previously kicked user in a supergroup or channel. The user will not return to the group or channel automatically, but will be able to join via link, etc. The bot must be an administrator for this to work.
 
telebot_error_e telebot_restrict_chat_member (telebot_handler_t handle, long long int chat_id, int user_id, long until_date, bool can_send_messages, bool can_send_media_messages, bool can_send_polls, bool can_send_other_messages, bool can_add_web_page_previews, bool can_change_info, bool can_invite_users, bool can_pin_messages)
 Restrict a user in a supergroup. The bot must be an administrator in the supergroup for this to work and must have the appropriate admin rights. Pass true for all boolean parameters to lift restrictions from a user. More...
telebot_error_e telebot_restrict_chat_member (telebot_handler_t handle, long long int chat_id, int user_id, long until_date, bool can_send_messages, bool can_send_media_messages, bool can_send_polls, bool can_send_other_messages, bool can_add_web_page_previews, bool can_change_info, bool can_invite_users, bool can_pin_messages)
 Restrict a user in a supergroup. The bot must be an administrator in the supergroup for this to work and must have the appropriate admin rights. Pass true for all boolean parameters to lift restrictions from a user.
 
telebot_error_e telebot_promote_chat_member (telebot_handler_t handle, long long int chat_id, int user_id, bool can_change_info, bool can_post_messages, bool can_edit_messages, bool can_delete_messages, bool can_invite_users, bool can_restrict_members, bool can_pin_messages, bool can_promote_members)
 Promote or demote a user in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Pass False for all boolean parameters to demote a user. More...
telebot_error_e telebot_promote_chat_member (telebot_handler_t handle, long long int chat_id, int user_id, bool can_change_info, bool can_post_messages, bool can_edit_messages, bool can_delete_messages, bool can_invite_users, bool can_restrict_members, bool can_pin_messages, bool can_promote_members)
 Promote or demote a user in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Pass False for all boolean parameters to demote a user.
 
telebot_error_e telebot_set_chat_admin_custom_title (telebot_handler_t handle, long long int chat_id, int user_id, const char *custom_title)
 Export an invite link to a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. More...
telebot_error_e telebot_set_chat_admin_custom_title (telebot_handler_t handle, long long int chat_id, int user_id, const char *custom_title)
 Export an invite link to a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
 
telebot_error_e telebot_set_chat_permissions (telebot_handler_t handle, long long int chat_id, bool can_send_messages, bool can_send_media_messages, bool can_send_polls, bool can_send_other_messages, bool can_add_web_page_previews, bool can_change_info, bool can_invite_users, bool can_pin_messages)
 Set default chat permissions for all members. The bot must be an administrator in the group or a supergroup for this to work and must have the 'can_restrict_members' admin rights. More...
telebot_error_e telebot_set_chat_permissions (telebot_handler_t handle, long long int chat_id, bool can_send_messages, bool can_send_media_messages, bool can_send_polls, bool can_send_other_messages, bool can_add_web_page_previews, bool can_change_info, bool can_invite_users, bool can_pin_messages)
 Set default chat permissions for all members. The bot must be an administrator in the group or a supergroup for this to work and must have the 'can_restrict_members' admin rights.
 
telebot_error_e telebot_export_chat_invite_link (telebot_handler_t handle, long long int chat_id, char **invite_link)
 Generate a new invite link for a chat; any previously generated link is revoked. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. More...
telebot_error_e telebot_export_chat_invite_link (telebot_handler_t handle, long long int chat_id, char **invite_link)
 Generate a new invite link for a chat; any previously generated link is revoked. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
 
telebot_error_e telebot_set_chat_photo (telebot_handler_t handle, long long int chat_id, const char *photo)
 Set a new profile photo for the chat. Photos can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. More...
telebot_error_e telebot_set_chat_photo (telebot_handler_t handle, long long int chat_id, const char *photo)
 Set a new profile photo for the chat. Photos can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
 
telebot_error_e telebot_delete_chat_photo (telebot_handler_t handle, long long int chat_id)
 Delete a chat photo. Photos can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. More...
telebot_error_e telebot_delete_chat_photo (telebot_handler_t handle, long long int chat_id)
 Delete a chat photo. Photos can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
 
telebot_error_e telebot_set_chat_title (telebot_handler_t handle, long long int chat_id, const char *title)
 Change the title of a chat. Titles can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. More...
telebot_error_e telebot_set_chat_title (telebot_handler_t handle, long long int chat_id, const char *title)
 Change the title of a chat. Titles can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
 
telebot_error_e telebot_set_chat_description (telebot_handler_t handle, long long int chat_id, const char *description)
 Change the description of a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. More...
telebot_error_e telebot_set_chat_description (telebot_handler_t handle, long long int chat_id, const char *description)
 Change the description of a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
 
telebot_error_e telebot_pin_chat_message (telebot_handler_t handle, long long int chat_id, int message_id, bool disable_notification)
 Pin a message in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the 'can_pin_messages' admin right in the supergroup or 'can_edit_messages' admin right in the channel. More...
telebot_error_e telebot_pin_chat_message (telebot_handler_t handle, long long int chat_id, int message_id, bool disable_notification)
 Pin a message in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the 'can_pin_messages' admin right in the supergroup or 'can_edit_messages' admin right in the channel.
 
telebot_error_e telebot_unpin_chat_message (telebot_handler_t handle, long long int chat_id)
 Unpin a message in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the 'can_pin_messages' admin right in the supergroup or 'can_edit_messages' admin right in the channel. More...
telebot_error_e telebot_unpin_chat_message (telebot_handler_t handle, long long int chat_id)
 Unpin a message in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the 'can_pin_messages' admin right in the supergroup or 'can_edit_messages' admin right in the channel.
 
telebot_error_e telebot_leave_chat (telebot_handler_t handle, long long int chat_id)
 Leave a group, supergroup or channel. More...
telebot_error_e telebot_leave_chat (telebot_handler_t handle, long long int chat_id)
 Leave a group, supergroup or channel.
 
telebot_error_e telebot_get_chat (telebot_handler_t handle, long long int chat_id, telebot_chat_t *chat)
 Get up to date information about the chat (current name of the user for one-on-one conversations, current username of a user, group or channel, etc). More...
telebot_error_e telebot_get_chat (telebot_handler_t handle, long long int chat_id, telebot_chat_t *chat)
 Get up to date information about the chat (current name of the user for one-on-one conversations, current username of a user, group or channel, etc).
 
telebot_error_e telebot_put_chat (telebot_chat_t *chat)
 Release chat obtained with telebot_get_chat(). More...
telebot_error_e telebot_put_chat (telebot_chat_t *chat)
 Release chat obtained with telebot_get_chat().
 
telebot_error_e telebot_get_chat_admins (telebot_handler_t handle, long long int chat_id, telebot_chat_member_t **admin, int *count)
 Get a list of administrators in a chat. Response contains an array of objects that contains information about all chat administrators except other bots. If the chat is a group or a supergroup and no administrators were appointed, only the creator will be returned. More...
telebot_error_e telebot_get_chat_admins (telebot_handler_t handle, long long int chat_id, telebot_chat_member_t **admin, int *count)
 Get a list of administrators in a chat. Response contains an array of objects that contains information about all chat administrators except other bots. If the chat is a group or a supergroup and no administrators were appointed, only the creator will be returned.
 
telebot_error_e telebot_put_chat_admins (telebot_chat_member_t *admins, int count)
 Release chat admins obtained with telebot_get_chat_admins(). More...
telebot_error_e telebot_put_chat_admins (telebot_chat_member_t *admins, int count)
 Release chat admins obtained with telebot_get_chat_admins().
 
telebot_error_e telebot_get_chat_members_count (telebot_handler_t handle, long long int chat_id, int *count)
 Get the number of members in a chat. More...
telebot_error_e telebot_get_chat_members_count (telebot_handler_t handle, long long int chat_id, int *count)
 Get the number of members in a chat.
 
telebot_error_e telebot_get_chat_member (telebot_handler_t handle, long long int chat_id, int user_id, telebot_chat_member_t *member)
 Get information about a member of a chat. More...
telebot_error_e telebot_get_chat_member (telebot_handler_t handle, long long int chat_id, int user_id, telebot_chat_member_t *member)
 Get information about a member of a chat.
 
telebot_error_e telebot_put_chat_member (telebot_chat_member_t *member)
 Release chat member otained with telebot_get_chat_member(). More...
telebot_error_e telebot_put_chat_member (telebot_chat_member_t *member)
 Release chat member otained with telebot_get_chat_member().
 
telebot_error_e telebot_set_chat_sticker_set (telebot_handler_t handle, long long int chat_id, const char *sticker_set_name)
 Set a new group sticker set for a supergroup. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Use the field can_set_sticker_set optionally returned in telebot_get_chat requests to check if the bot can use it. More...
telebot_error_e telebot_set_chat_sticker_set (telebot_handler_t handle, long long int chat_id, const char *sticker_set_name)
 Set a new group sticker set for a supergroup. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Use the field can_set_sticker_set optionally returned in telebot_get_chat requests to check if the bot can use it.
 
telebot_error_e telebot_delete_chat_sticker_set (telebot_handler_t handle, long long int chat_id)
 Delete a group sticker set from a supergroup. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Use the field can_set_sticker_set optionally returned in telebot_get_chat requests to check if the bot can use this method. More...
telebot_error_e telebot_delete_chat_sticker_set (telebot_handler_t handle, long long int chat_id)
 Delete a group sticker set from a supergroup. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Use the field can_set_sticker_set optionally returned in telebot_get_chat requests to check if the bot can use this method.
 
telebot_error_e telebot_answer_callback_query (telebot_handler_t handle, const char *callback_query_id, const char *text, bool show_alert, const char *url, int cache_time)
 Send answers to callback queries sent from inline keyboards. The answer will be displayed to the user as a notification at the top of the chat screen or as an alert. More...
telebot_error_e telebot_answer_callback_query (telebot_handler_t handle, const char *callback_query_id, const char *text, bool show_alert, const char *url, int cache_time)
 Send answers to callback queries sent from inline keyboards. The answer will be displayed to the user as a notification at the top of the chat screen or as an alert.
 
telebot_error_e telebot_set_my_commands (telebot_handler_t handle, telebot_bot_command_t commands[], int count)
 Change the list of the bot's commands. More...
telebot_error_e telebot_set_my_commands (telebot_handler_t handle, telebot_bot_command_t commands[], int count)
 Change the list of the bot's commands.
 
telebot_error_e telebot_get_my_commands (telebot_handler_t handle, telebot_bot_command_t **commands, int *count)
 Get the current list of the bot's commands. More...
telebot_error_e telebot_get_my_commands (telebot_handler_t handle, telebot_bot_command_t **commands, int *count)
 Get the current list of the bot's commands.
 
telebot_error_e telebot_put_my_commands (telebot_bot_command_t *commands, int count)
 Release bot commands obtained with telebot_get_my_commands(). More...
telebot_error_e telebot_put_my_commands (telebot_bot_command_t *commands, int count)
 Release bot commands obtained with telebot_get_my_commands().
 
telebot_error_e telebot_edit_message_text (telebot_handler_t handle, long long int chat_id, int message_id, const char *inline_message_id, const char *text, const char *parse_mode, bool disable_web_page_preview, const char *reply_markup)
 Edit text and game messages sent by the bot or via the bot (for inline bots). More...
telebot_error_e telebot_edit_message_text (telebot_handler_t handle, long long int chat_id, int message_id, const char *inline_message_id, const char *text, const char *parse_mode, bool disable_web_page_preview, const char *reply_markup)
 Edit text and game messages sent by the bot or via the bot (for inline bots).
 
telebot_error_e telebot_edit_message_caption (telebot_handler_t handle, long long int chat_id, int message_id, const char *inline_message_id, const char *caption, const char *parse_mode, const char *reply_markup)
 Edit captions of messages sent by the bot or via the bot (for inline bots). More...
telebot_error_e telebot_edit_message_caption (telebot_handler_t handle, long long int chat_id, int message_id, const char *inline_message_id, const char *caption, const char *parse_mode, const char *reply_markup)
 Edit captions of messages sent by the bot or via the bot (for inline bots).
 
telebot_error_e telebot_edit_message_reply_markup (telebot_handler_t handle, long long int chat_id, int message_id, const char *inline_message_id, const char *reply_markup)
 Edit only the reply markup of messages sent by the bot or via the bot (for inline bots). More...
telebot_error_e telebot_edit_message_reply_markup (telebot_handler_t handle, long long int chat_id, int message_id, const char *inline_message_id, const char *reply_markup)
 Edit only the reply markup of messages sent by the bot or via the bot (for inline bots).
 
telebot_error_e telebot_stop_poll (telebot_handler_t handle, long long int chat_id, int message_id, const char *reply_markup)
 Stop a poll which was sent by the bot. More...
telebot_error_e telebot_stop_poll (telebot_handler_t handle, long long int chat_id, int message_id, const char *reply_markup)
 Stop a poll which was sent by the bot.
 
telebot_error_e telebot_delete_message (telebot_handler_t handle, long long int chat_id, int message_id)
 Delete a message, including service messages, with the following limitations: More...
telebot_error_e telebot_delete_message (telebot_handler_t handle, long long int chat_id, int message_id)
 Delete a message, including service messages, with the following limitations:
 
telebot_error_e telebot_send_sticker (telebot_handler_t handle, long long int chat_id, const char *sticker, bool is_file, bool disable_notification, int reply_to_message_id, char *reply_markup)
 Send static .WEBP or animated .TGS stickers. More...
telebot_error_e telebot_log_out (telebot_handler_t handle)
 Use this method to log out from the cloud Bot API server before launching the bot locally.
 
telebot_error_e telebot_close (telebot_handler_t handle)
 Use this method to close the bot instance before moving it from one local server to another.
 
telebot_error_e telebot_set_my_name (telebot_handler_t handle, const char *name, const char *language_code)
 Use this method to change the bot's name.
 
telebot_error_e telebot_get_my_name (telebot_handler_t handle, const char *language_code, char **name)
 Use this method to get the current bot name for the given user language.
 
telebot_error_e telebot_set_my_description (telebot_handler_t handle, const char *description, const char *language_code)
 Use this method to change the bot's description.
 
telebot_error_e telebot_get_my_description (telebot_handler_t handle, const char *language_code, char **description)
 Use this method to get the current bot description for the given user language.
 
telebot_error_e telebot_set_my_short_description (telebot_handler_t handle, const char *short_description, const char *language_code)
 Use this method to change the bot's short description.
 
telebot_error_e telebot_get_my_short_description (telebot_handler_t handle, const char *language_code, char **short_description)
 Use this method to get the current bot short description for the given user language.
 
telebot_error_e telebot_set_chat_menu_button (telebot_handler_t handle, long long int chat_id, const char *menu_button)
 Use this method to change the bot's menu button in a private chat, or the default menu button.
 
telebot_error_e telebot_get_chat_menu_button (telebot_handler_t handle, long long int chat_id, char **menu_button)
 Use this method to get the current value of the bot's menu button in a private chat, or the default menu button.
 
telebot_error_e telebot_set_my_default_administrator_rights (telebot_handler_t handle, const char *rights, bool for_channels)
 Use this method to change the default administrator rights requested by the bot when it's added as an administrator to groups or channels.
 
telebot_error_e telebot_get_my_default_administrator_rights (telebot_handler_t handle, bool for_channels, char **rights)
 Use this method to get the current default administrator rights of the bot.
 
telebot_error_e telebot_delete_my_commands (telebot_handler_t handle, const char *scope, const char *language_code)
 Use this method to delete the list of the bot's commands for the given scope and user language.
 
telebot_error_e telebot_copy_message (telebot_handler_t handle, long long int chat_id, long long int from_chat_id, int message_id, const char *caption, const char *parse_mode, const char *caption_entities, bool disable_notification, bool protect_content, int reply_to_message_id, bool allow_sending_without_reply, const char *reply_markup, int *message_id_out)
 Use this method to copy messages of any kind.
 
telebot_error_e telebot_copy_messages (telebot_handler_t handle, long long int chat_id, long long int from_chat_id, const char *message_ids, bool disable_notification, bool protect_content, bool remove_caption, int **message_ids_out, int *count)
 Use this method to copy multiple messages of any kind.
 
telebot_error_e telebot_forward_messages (telebot_handler_t handle, long long int chat_id, long long int from_chat_id, const char *message_ids, bool disable_notification, bool protect_content, int **message_ids_out, int *count)
 Use this method to forward multiple messages of any kind.
 
telebot_error_e telebot_delete_messages (telebot_handler_t handle, long long int chat_id, const char *message_ids)
 Use this method to delete multiple messages in a chat.
 
telebot_error_e telebot_ban_chat_member (telebot_handler_t handle, long long int chat_id, int user_id, long until_date, bool revoke_messages)
 Use this method to ban a user in a group, a supergroup or a channel.
 
telebot_error_e telebot_ban_chat_sender_chat (telebot_handler_t handle, long long int chat_id, long long int sender_chat_id)
 Use this method to ban a channel chat in a supergroup or a channel.
 
telebot_error_e telebot_unban_chat_sender_chat (telebot_handler_t handle, long long int chat_id, long long int sender_chat_id)
 Use this method to unban a previously banned channel chat in a supergroup or a channel.
 
telebot_error_e telebot_create_chat_invite_link (telebot_handler_t handle, long long int chat_id, const char *name, long expire_date, int member_limit, bool creates_join_request, telebot_chat_invite_link_t *invite_link)
 Use this method to create an additional invite link for a chat.
 
telebot_error_e telebot_edit_chat_invite_link (telebot_handler_t handle, long long int chat_id, const char *invite_link_str, const char *name, long expire_date, int member_limit, bool creates_join_request, telebot_chat_invite_link_t *invite_link)
 Use this method to edit a non-primary invite link created by the bot.
 
telebot_error_e telebot_revoke_chat_invite_link (telebot_handler_t handle, long long int chat_id, const char *invite_link_str, telebot_chat_invite_link_t *invite_link)
 Use this method to revoke an invite link created by the bot.
 
telebot_error_e telebot_put_chat_invite_link (telebot_chat_invite_link_t *invite_link)
 Release chat invite link obtained with telebot_create_chat_invite_link etc.
 
telebot_error_e telebot_approve_chat_join_request (telebot_handler_t handle, long long int chat_id, int user_id)
 Use this method to approve a chat join request.
 
telebot_error_e telebot_decline_chat_join_request (telebot_handler_t handle, long long int chat_id, int user_id)
 Use this method to decline a chat join request.
 
telebot_error_e telebot_set_message_reaction (telebot_handler_t handle, long long int chat_id, int message_id, const char *reaction, bool is_big)
 Use this method to set a new message reaction.
 
telebot_error_e telebot_edit_message_media (telebot_handler_t handle, long long int chat_id, int message_id, const char *inline_message_id, const char *media, const char *reply_markup)
 Use this method to edit animation, audio, document, photo, or video messages.
 
+telebot_error_e telebot_set_passport_data_errors (telebot_handler_t handle, long long int user_id, const char *errors)
 Use this method to set passport data errors.
 
+telebot_error_e telebot_send_invoice (telebot_handler_t handle, long long int chat_id, int message_thread_id, const char *title, const char *description, const char *payload, const char *provider_token, const char *currency, const char *prices, int max_tip_amount, const char *suggested_tip_amounts, const char *start_parameter, const char *provider_data, const char *photo_url, int photo_size, int photo_width, int photo_height, bool need_name, bool need_phone_number, bool need_email, bool need_shipping_address, bool send_phone_number_to_provider, bool send_email_to_provider, bool is_flexible, bool disable_notification, bool protect_content, const char *reply_parameters, const char *reply_markup, telebot_message_t *message)
 Use this method to send an invoice.
 
+telebot_error_e telebot_create_invoice_link (telebot_handler_t handle, const char *title, const char *description, const char *payload, const char *provider_token, const char *currency, const char *prices, int max_tip_amount, const char *suggested_tip_amounts, const char *provider_data, const char *photo_url, int photo_size, int photo_width, int photo_height, bool need_name, bool need_phone_number, bool need_email, bool need_shipping_address, bool send_phone_number_to_provider, bool send_email_to_provider, bool is_flexible, char **invoice_link)
 Use this method to create a link for an invoice.
 
+telebot_error_e telebot_answer_shipping_query (telebot_handler_t handle, const char *shipping_query_id, bool ok, const char *shipping_options, const char *error_message)
 Use this method to reply to shipping queries.
 
+telebot_error_e telebot_answer_pre_checkout_query (telebot_handler_t handle, const char *pre_checkout_query_id, bool ok, const char *error_message)
 Use this method to respond to pre-checkout queries.
 
+telebot_error_e telebot_get_my_star_balance (telebot_handler_t handle, long long int *balance)
 Use this method to get the current Telegram Stars balance of the bot.
 
+telebot_error_e telebot_get_star_transactions (telebot_handler_t handle, int offset, int limit, telebot_star_transactions_t *transactions)
 Use this method to get the bot's Telegram Star transactions.
 
+telebot_error_e telebot_put_star_transactions (telebot_star_transactions_t *transactions)
 Release star transactions obtained with telebot_get_star_transactions.
 
+telebot_error_e telebot_refund_star_payment (telebot_handler_t handle, long long int user_id, const char *telegram_payment_charge_id)
 Use this method to refund a successful payment in Telegram Stars.
 
+telebot_error_e telebot_get_available_gifts (telebot_handler_t handle, telebot_gifts_t *gifts)
 Use this method to get a list of gifts that can be sent by the bot to users.
 
+telebot_error_e telebot_put_available_gifts (telebot_gifts_t *gifts)
 Release available gifts obtained with telebot_get_available_gifts.
 
+telebot_error_e telebot_put_gift (telebot_gift_t *gift)
 Release a gift object.
 
+telebot_error_e telebot_get_user_gifts (telebot_handler_t handle, long long int user_id, int offset, int limit, telebot_user_gifts_t *gifts)
 Use this method to get a list of gifts received by a user.
 
+telebot_error_e telebot_put_user_gifts (telebot_user_gifts_t *gifts)
 Release user gifts obtained with telebot_get_user_gifts.
 
+telebot_error_e telebot_put_user_gift (telebot_user_gift_t *gift)
 Release a user gift object.
 
+telebot_error_e telebot_get_chat_gifts (telebot_handler_t handle, long long int chat_id, int offset, int limit, telebot_user_gifts_t *gifts)
 Use this method to get a list of gifts received by a chat.
 
+telebot_error_e telebot_put_chat_gifts (telebot_user_gifts_t *gifts)
 Release chat gifts obtained with telebot_get_chat_gifts.
 
+telebot_error_e telebot_upgrade_gift (telebot_handler_t handle, const char *gift_id, bool pay_for_upgrade, const char *text, const char *text_parse_mode, const char *text_entities)
 Use this method to upgrade a gift.
 
+telebot_error_e telebot_transfer_gift (telebot_handler_t handle, long long int user_id, long long int chat_id, const char *gift_id)
 Use this method to transfer a gift.
 
+telebot_error_e telebot_convert_gift_to_stars (telebot_handler_t handle, const char *gift_id)
 Use this method to convert a gift to Telegram Stars.
 
+telebot_error_e telebot_send_gift (telebot_handler_t handle, long long int user_id, long long int chat_id, const char *gift_id, bool pay_for_upgrade, const char *text, const char *text_parse_mode, const char *text_entities)
 Use this method to send a gift.
 
+telebot_error_e telebot_gift_premium_subscription (telebot_handler_t handle, long long int user_id, int month_count, int star_count, const char *text, const char *text_parse_mode, const char *text_entities)
 Use this method to gift a Telegram Premium subscription to a user.
 
telebot_error_e telebot_send_sticker (telebot_handler_t handle, long long int chat_id, const char *sticker, bool is_file, bool disable_notification, int reply_to_message_id, char *reply_markup)
 Send static .WEBP or animated .TGS stickers.
 
telebot_error_e telebot_get_sticker_set (telebot_handler_t handle, const char *name, telebot_sticker_set_t *stickers)
 Get a sticker set. More...
telebot_error_e telebot_get_sticker_set (telebot_handler_t handle, const char *name, telebot_sticker_set_t *stickers)
 Get a sticker set.
 
telebot_error_e telebot_put_sticker_set (telebot_sticker_set_t *stickers)
 Release sticker set obtained with telebot_get_sticker_set() More...
telebot_error_e telebot_put_sticker_set (telebot_sticker_set_t *stickers)
 Release sticker set obtained with telebot_get_sticker_set()
 
telebot_error_e telebot_put_sticker (telebot_sticker_t *sticker)
 Release a sticker object.
 

Detailed Description

Simplified APIs to create telegram bot.

Typedef Documentation

- -

◆ telebot_file_t

+ +

◆ telebot_file_t

- +
typedef struct telebot_file telebot_file_ttypedef struct telebot_file telebot_file_t
@@ -613,8 +1607,8 @@

Enumeration Type Documentation

- -

◆ telebot_error_e

+ +

◆ telebot_error_e

@@ -627,24 +1621,24 @@

-EnumeratorTELEBOT_ERROR_NONE 

Successful

+EnumeratorTELEBOT_ERROR_NONE 

Successful

-TELEBOT_ERROR_OPERATION_FAILED 

Operation failed

+TELEBOT_ERROR_OPERATION_FAILED 

Operation failed

-TELEBOT_ERROR_NOT_SUPPORTED 

Not supported

+TELEBOT_ERROR_NOT_SUPPORTED 

Not supported

-TELEBOT_ERROR_OUT_OF_MEMORY 

Out of memory

+TELEBOT_ERROR_OUT_OF_MEMORY 

Out of memory

-TELEBOT_ERROR_NO_CONNECTION 

No Internet connection

+TELEBOT_ERROR_NO_CONNECTION 

No Internet connection

-TELEBOT_ERROR_INVALID_PARAMETER 

Invalid parameter

+TELEBOT_ERROR_INVALID_PARAMETER 

Invalid parameter

- -

◆ telebot_update_type

+ +

◆ telebot_update_type

@@ -657,37 +1651,61 @@

-EnumeratorTELEBOT_UPDATE_TYPE_MESSAGE 

Message

+EnumeratorTELEBOT_UPDATE_TYPE_MESSAGE 

Message

+ +TELEBOT_UPDATE_TYPE_EDITED_MESSAGE 

Edited message

+ +TELEBOT_UPDATE_TYPE_CHANNEL_POST 

Channel post

+ +TELEBOT_UPDATE_TYPE_EDITED_CHANNEL_POST 

Edited channel post

+ +TELEBOT_UPDATE_TYPE_BUSINESS_CONNECTION 

Business connection

+ +TELEBOT_UPDATE_TYPE_BUSINESS_MESSAGE 

Business message

+ +TELEBOT_UPDATE_TYPE_EDITED_BUSINESS_MESSAGE 

Edited business message

+ +TELEBOT_UPDATE_TYPE_DELETED_BUSINESS_MESSAGES 

Deleted business messages

-TELEBOT_UPDATE_TYPE_EDITED_MESSAGE 

Edited message

+TELEBOT_UPDATE_TYPE_MESSAGE_REACTION 

Message reaction updated

-TELEBOT_UPDATE_TYPE_CHANNEL_POST 

Channel post

+TELEBOT_UPDATE_TYPE_MESSAGE_REACTION_COUNT 

Message reaction count updated

-TELEBOT_UPDATE_TYPE_EDITED_CHANNEL_POST 

Edited channel post

+TELEBOT_UPDATE_TYPE_INLINE_QUERY 

Inline query

-TELEBOT_UPDATE_TYPE_INLINE_QUERY 

Inline query

+TELEBOT_UPDATE_TYPE_CHOSEN_INLINE_RESULT 

Chosen inline result

-TELEBOT_UPDATE_TYPE_CHOSEN_INLINE_RESULT 

Chosen inline result

+TELEBOT_UPDATE_TYPE_CALLBACK_QUERY 

Callback query

-TELEBOT_UPDATE_TYPE_CALLBACK_QUERY 

Callback query

+TELEBOT_UPDATE_TYPE_SHIPPING_QUERY 

Shipping query

-TELEBOT_UPDATE_TYPE_SHIPPING_QUERY 

Shipping query

+TELEBOT_UPDATE_TYPE_PRE_CHECKOUT_QUERY 

Pre-checkout query

-TELEBOT_UPDATE_TYPE_PRE_CHECKOUT_QUERY 

Pre-checkout query

+TELEBOT_UPDATE_TYPE_PURCHASED_PAID_MEDIA 

User purchased paid media

-TELEBOT_UPDATE_TYPE_POLL 

Poll

+TELEBOT_UPDATE_TYPE_POLL 

Poll

-TELEBOT_UPDATE_TYPE_POLL_ANSWER 

Poll answer

+TELEBOT_UPDATE_TYPE_POLL_ANSWER 

Poll answer

-TELEBOT_UPDATE_TYPE_MAX 

Number of update types

+TELEBOT_UPDATE_TYPE_MY_CHAT_MEMBER 

My chat member updated

+ +TELEBOT_UPDATE_TYPE_CHAT_MEMBER 

Chat member updated

+ +TELEBOT_UPDATE_TYPE_CHAT_JOIN_REQUEST 

Chat join request

+ +TELEBOT_UPDATE_TYPE_CHAT_BOOST 

Chat boost updated

+ +TELEBOT_UPDATE_TYPE_REMOVED_CHAT_BOOST 

Chat boost removed

+ +TELEBOT_UPDATE_TYPE_MAX 

Number of update types

Function Documentation

- -

◆ telebot_answer_callback_query()

+ +

◆ telebot_answer_callback_query()

@@ -695,7 +1713,7 @@

telebot_error_e telebot_answer_callback_query ( - telebot_handler_t  + telebot_handler_t  handle, @@ -739,11 +1757,11 @@

Parameters
- + - +
[in]handleThe telebot handler created with telebot_create().
[in]handleThe telebot handler created with telebot_create().
[in]callback_query_idUnique identifier for the query to be answered.
[in]textText of the notification. If not specified, nothing will be shown to the user, 0-200 characters
[in]show_alertIf true, an alert will be shown by the client instead of a notification at the top of the chat screen. Defaults to false.
[in]urlURL that will be opened by the user's client. If you have created a Game and accepted the conditions via , specify the URL that opens your game - note that this will only work if the query comes from a callback_game button.
[in]urlURL that will be opened by the user's client. If you have created a Game and accepted the conditions via @Botfather, specify the URL that opens your game - note that this will only work if the query comes from a callback_game button.
[in]cache_timeThe maximum amount of time in seconds that the result of the callback query may be cached client-side. Telegram apps will support caching starting in version 3.14.
@@ -752,23 +1770,29 @@

-

◆ telebot_create()

+ +

◆ telebot_approve_chat_join_request()

- + - + - - + + + + + + + + @@ -778,12 +1802,12 @@

-

Initial function to use telebot APIs.

-

This function must be used first to call, and it creates handler. This call MUST have corresponding call to telebot_destroy() when operation is complete.

+

Use this method to approve a chat join request.

Parameters

telebot_error_e telebot_create telebot_error_e telebot_approve_chat_join_request (telebot_handler_ttelebot_handler_t  handle,
char * token long long int chat_id,
int user_id 
- - + + +
[out]handlePointer to create telebot handler to use APIs, it must be destroyed with telebot_destroy().
[in]tokenTelegram Bot token to use.
[in]handleThe telebot handler.
[in]chat_idUnique identifier for the target chat.
[in]user_idUnique identifier of the target user.

sN0)&6@Si%iE`c`6p#^#`=~h!e^WAa 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�)zH=={fU5mIkgmTN7vaQ{B%~ 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≶QHbIy3j-Od!zP0@l`1%O)huH`7{5Q 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 Ouh^NIqEi2F{r(rN5r)42 literal 0 HcmV?d00001 diff --git a/test/samples/voice.wav b/test/samples/voice.wav new file mode 100644 index 0000000000000000000000000000000000000000..3f6c1b6c918358a2c42428fb2d8fe488c3bfe7c2 GIT binary patch literal 203850 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

@@ -791,61 +1815,41 @@

-

◆ telebot_delete_chat_photo()

+ +

◆ telebot_ban_chat_member()

- + - + - + + - - + + -
telebot_error_e telebot_delete_chat_photo telebot_error_e telebot_ban_chat_member (telebot_handler_t telebot_handler_t  handle,
long long int chat_id chat_id,
)int user_id,
-
- -

Delete a chat photo. Photos can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.

-
Parameters
- - - -
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
-
-
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
- -
-
- -

◆ telebot_delete_chat_sticker_set()

- -
-
- - - - - + + + + - - + + @@ -855,11 +1859,14 @@

-

Delete a group sticker set from a supergroup. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Use the field can_set_sticker_set optionally returned in telebot_get_chat requests to check if the bot can use this method.

+

Use this method to ban a user in a group, a supergroup or a channel.

Parameters

telebot_error_e telebot_delete_chat_sticker_set (telebot_handler_t handle, long until_date,
long long int chat_id bool revoke_messages 
- - + + + + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]handleThe telebot handler.
[in]chat_idUnique identifier for the target chat.
[in]user_idUnique identifier of the target user.
[in]until_dateDate when the user will be unbanned, unix time.
[in]revoke_messagesPass True to delete all messages from the chat for the user that is being banned.
@@ -867,16 +1874,16 @@

-

◆ telebot_delete_message()

+ +

◆ telebot_ban_chat_sender_chat()

- -

◆ telebot_delete_webhook()

+ +

◆ telebot_close()

- + - +
telebot_error_e telebot_delete_webhook telebot_error_e telebot_close (telebot_handler_t telebot_handler_t  handle)
-

This function is used to remove webhook integration if you decide to switch back to getUpdates.

+

Use this method to close the bot instance before moving it from one local server to another.

Parameters
- +
[in]handleThe telebot handler created with telebot_create().
[in]handleThe telebot handler.
@@ -945,27 +1946,44 @@

-

◆ telebot_destroy()

+ +

◆ telebot_close_forum_topic()

- + - - + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_destroy telebot_error_e telebot_close_forum_topic (telebot_handler_t handle)telebot_handler_t handle,
long long int chat_id,
int message_thread_id 
)
-

Final function to use telebo APIs.

-

This function must be the last function to call for a telebot use. It is the opposite of the telebot_create() function.

+

Use this method to close an open topic in a forum supergroup chat.

Parameters
- + + +
[in]handleThe telebot handler created with telebot_create().
[in]handleThe telebot handler.
[in]chat_idUnique identifier for the target chat.
[in]message_thread_idUnique identifier for the target message thread of the forum topic.
@@ -973,29 +1991,23 @@

-

◆ telebot_download_file()

+ +

◆ telebot_close_general_forum_topic()

- + - + - - - - - - - - + + @@ -1005,11 +2017,11 @@

-

This function is used to download file.

+

Use this method to close an open 'General' topic in a forum supergroup chat.

Parameters

telebot_error_e telebot_download_file telebot_error_e telebot_close_general_forum_topic (telebot_handler_t telebot_handler_t  handle,
const char * file_id,
const char * path long long int chat_id 
- - + +
[in]file_idFile identifier to get info about.
[in]pathA path where the file is downloaded
[in]handleThe telebot handler.
[in]chat_idUnique identifier for the target chat.
@@ -1017,16 +2029,16 @@

-

◆ telebot_edit_message_caption()

+ +

◆ telebot_copy_message()

- + - + @@ -1038,14 +2050,14 @@

- - + + - - + + @@ -1063,25 +2075,68 @@

- + + - - + + -
telebot_error_e telebot_edit_message_caption telebot_error_e telebot_copy_message (telebot_handler_t telebot_handler_t  handle,
int message_id, long long int from_chat_id,
const char * inline_message_id, int message_id,
const char * reply_markup caption_entities,
)bool disable_notification,
-
+ +

Use this method to copy messages of any kind.

+
Parameters
+ + + + + + + + + + + + + +
[in]handleThe telebot handler.
[in]chat_idUnique identifier for the target chat.
[in]from_chat_idUnique identifier for the chat where the original message was sent.
[in]message_idMessage identifier in the chat specified by from_chat_id.
[in]captionNew caption for media, 0-1024 characters after entities parsing.
[in]parse_modeMode for parsing entities in the new caption.
[in]caption_entitiesA JSON-serialized list of special entities that appear in the new caption.
[in]disable_notificationSends the message silently.
[in]protect_contentProtects the contents of the sent message from forwarding and saving.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]allow_sending_without_replyPass True if the message should be sent even if the specified replied-to message is not found.
[in]reply_markupAdditional interface options.
[out]message_id_outPointer to get the message identifier of the sent message.
@@ -1089,16 +2144,16 @@

-

◆ telebot_edit_message_live_location()

+ +

◆ telebot_copy_messages()

- + - + @@ -1110,32 +2165,44 @@

- - + + - + - - + + - - + + - - + + + + + + + + + + + + + + @@ -1145,16 +2212,18 @@

-

Edit live location messages sent by the bot or via the bot (for inline bots). A location can be edited until its live_period expires or editing is explicitly disabled by a call to telebot_stop_message_live_location().

+

Use this method to copy multiple messages of any kind.

Parameters

telebot_error_e telebot_edit_message_live_location telebot_error_e telebot_copy_messages (telebot_handler_t telebot_handler_t  handle,
int message_id, long long int from_chat_id,
const char * inline_message_id, message_ids,
float latitude, bool disable_notification,
float longitude, bool protect_content,
const char * reply_markup bool remove_caption,
int ** message_ids_out,
int * count 
- - - - - - - + + + + + + + + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]message_idRequired if inline_message_id is not specified. Identifier of the sent message.
[in]inline_message_idRequired if chat_id and message_id are not specified. Identifier of the inline message.
[in]latitudeLatitude of location.
[in]longitudeLongitude of location.
[in]reply_markupA JSON-serialized object for a new inline keyboard.
[in]handleThe telebot handler.
[in]chat_idUnique identifier for the target chat.
[in]from_chat_idUnique identifier for the chat where the original messages were sent.
[in]message_idsA JSON-serialized list of 1-100 identifiers of messages in the chat from_chat_id to copy.
[in]disable_notificationSends the messages silently.
[in]protect_contentProtects the contents of the sent messages from forwarding and saving.
[in]remove_captionPass True to copy the messages without their captions.
[out]message_ids_outPointer to get the message identifiers of the sent messages, MUST be freed after use.
[out]countPointer to get the number of messages sent.
@@ -1162,41 +2231,23 @@

-

◆ telebot_edit_message_reply_markup()

+ +

◆ telebot_create()

- + - + - - - - - - - - - - - - - - - - - - - - + + @@ -1206,14 +2257,12 @@

-

Edit only the reply markup of messages sent by the bot or via the bot (for inline bots).

+

Initial function to use telebot APIs.

+

This function must be used first to call, and it creates handler. This call MUST have corresponding call to telebot_destroy() when operation is complete.

Parameters

telebot_error_e telebot_edit_message_reply_markup telebot_error_e telebot_create (telebot_handler_t telebot_handler_t handle,
long long int chat_id,
int message_id,
const char * inline_message_id,
const char * reply_markup char * token 
- - - - - + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idRequired if inline_message_id. Unique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]message_idRequired if inline_message_id is not specified. Identifier of the sent message.
[in]inline_message_idRequired if chat_id and message_id are not specified. Identifier of the inline message.
[in]reply_markupA JSON-serialized object for an inline keyboard.
[out]handlePointer to create telebot handler to use APIs, it must be destroyed with telebot_destroy().
[in]tokenTelegram Bot token to use.
@@ -1221,16 +2270,16 @@

-

◆ telebot_edit_message_text()

+ +

◆ telebot_create_chat_invite_link()

- + - + @@ -1239,41 +2288,35 @@

long long int 

- - - - - - - + - - + + - - + + - + - - + + @@ -1283,17 +2326,16 @@

-

Edit text and game messages sent by the bot or via the bot (for inline bots).

+

Use this method to create an additional invite link for a chat.

Parameters

telebot_error_e telebot_edit_message_text telebot_error_e telebot_create_chat_invite_link (telebot_handler_t telebot_handler_t  handle,
chat_id,
int message_id,
const char * inline_message_id, name,
const char * text, long expire_date,
const char * parse_mode, int member_limit,
bool disable_web_page_preview, creates_join_request,
const char * reply_markup telebot_chat_invite_link_tinvite_link 
- - - - - - - - + + + + + + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idRequired if inline_message_id. Unique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]message_idRequired if inline_message_id is not specified. Identifier of the sent message.
[in]inline_message_idRequired if chat_id and message_id are not specified. Identifier of the inline message.
[in]textNew text of the message.
[in]parse_modeSend Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width text or inline URLs in your bot's message.
[in]disable_web_page_priviewDisables link previews for links in this message.
[in]reply_markupA JSON-serialized object for an inline keyboard.
[in]handleThe telebot handler.
[in]chat_idUnique identifier for the target chat.
[in]nameInvite link name; 0-32 characters.
[in]expire_datePoint in time (Unix timestamp) when the link will expire.
[in]member_limitThe maximum number of users that can be members of the chat simultaneously after joining the chat via this invite link; 1-99999.
[in]creates_join_requestTrue, if users joining the chat via the link need to be approved by chat administrators.
[out]invite_linkPointer to get ChatInviteLink, MUST be released with telebot_put_chat_invite_link.
@@ -1301,16 +2343,16 @@

-

◆ telebot_export_chat_invite_link()

+ +

◆ telebot_create_forum_topic()

- + - + @@ -1322,8 +2364,26 @@

- - + + + + + + + + + + + + + + + + + + + + @@ -1333,12 +2393,15 @@

-

Generate a new invite link for a chat; any previously generated link is revoked. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.

+

Use this method to create a topic in a forum supergroup chat.

Parameters

telebot_error_e telebot_export_chat_invite_link telebot_error_e telebot_create_forum_topic (telebot_handler_t telebot_handler_t  handle,
char ** invite_link const char * name,
int icon_color,
const char * icon_custom_emoji_id,
telebot_forum_topic_ttopic 
- - - + + + + + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[out]invite_linkExported invite link, must be freed after use.
[in]handleThe telebot handler.
[in]chat_idUnique identifier for the target chat.
[in]nameTopic name, 1-128 characters.
[in]icon_colorColor of the topic icon in RGB format.
[in]icon_custom_emoji_idUnique identifier of the custom emoji used as the topic icon.
[out]topicPointer to get ForumTopic, MUST be released with telebot_put_forum_topic.
@@ -1346,16 +2409,16 @@

-

◆ telebot_forward_message()

+ +

◆ telebot_decline_chat_join_request()

- + - + @@ -1364,23 +2427,11 @@

long long int 

- - - - - - - - - - - - - + @@ -1390,14 +2441,12 @@

-

Forward messages of any kind.

+

Use this method to decline a chat join request.

Parameters

telebot_error_e telebot_forward_message telebot_error_e telebot_decline_chat_join_request (telebot_handler_t telebot_handler_t  handle,
chat_id,
long long int from_chat_id,
bool disable_notification,
int message_id user_id 
- - - - - + + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]from_chat_idUnique identifier for the chat where the original message was sent (or channel username in the format @channelusername).
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]message_idUnique message identifier.
[in]handleThe telebot handler.
[in]chat_idUnique identifier for the target chat.
[in]user_idUnique identifier of the target user.
@@ -1405,29 +2454,23 @@

-

◆ telebot_get_chat()

+ +

◆ telebot_delete_chat_photo()

- + - + - - - - - - - + @@ -1437,12 +2480,11 @@

-

Get up to date information about the chat (current name of the user for one-on-one conversations, current username of a user, group or channel, etc).

+

Delete a chat photo. Photos can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.

Parameters

telebot_error_e telebot_get_chat telebot_error_e telebot_delete_chat_photo (telebot_handler_t telebot_handler_t  handle,
long long int chat_id,
telebot_chat_tchat chat_id 
- + -
[in]handleThe telebot handler created with telebot_create().
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[out]chatPointer to chat, must be released with telebot_put_chat().
@@ -1450,35 +2492,23 @@

-

◆ telebot_get_chat_admins()

+ +

◆ telebot_delete_chat_sticker_set()

- + - + - - - - - - - - - - - - - + @@ -1488,13 +2518,11 @@

-

Get a list of administrators in a chat. Response contains an array of objects that contains information about all chat administrators except other bots. If the chat is a group or a supergroup and no administrators were appointed, only the creator will be returned.

+

Delete a group sticker set from a supergroup. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Use the field can_set_sticker_set optionally returned in telebot_get_chat requests to check if the bot can use this method.

Parameters

telebot_error_e telebot_get_chat_admins telebot_error_e telebot_delete_chat_sticker_set (telebot_handler_t telebot_handler_t  handle,
long long int chat_id,
telebot_chat_member_t ** admin,
int * count chat_id 
- + - -
[in]handleThe telebot handler created with telebot_create().
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[out]adminPointer to chat administrators, must be released with telebot_put_chat_admins().
[out]countPointer to get a number of administrators.
@@ -1502,16 +2530,16 @@

-

◆ telebot_get_chat_member()

+ +

◆ telebot_delete_forum_topic()

- + - + @@ -1524,13 +2552,7 @@

- - - - - - - + @@ -1540,13 +2562,12 @@

-

Get information about a member of a chat.

+

Use this method to delete a forum topic along with all its messages in a forum supergroup chat.

Parameters

telebot_error_e telebot_get_chat_member telebot_error_e telebot_delete_forum_topic (telebot_handler_t telebot_handler_t  handle,
int user_id,
telebot_chat_member_tmember message_thread_id 
- - - - + + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]user_idUnique identifier of the target user.
[out]memberPointer to chat member to obtain, must be released with telebot_put_chat_member().
[in]handleThe telebot handler.
[in]chat_idUnique identifier for the target chat.
[in]message_thread_idUnique identifier for the target message thread of the forum topic.
@@ -1554,16 +2575,16 @@

-

◆ telebot_get_chat_members_count()

+ +

◆ telebot_delete_message()

- + - + @@ -1575,8 +2596,8 @@

- - + + @@ -1586,36 +2607,48 @@

-

Get the number of members in a chat.

-
Parameters
+

Delete a message, including service messages, with the following limitations:

+
    +
  • A message can only be deleted if it was sent less than 48 hours ago.
  • +
  • Bots can delete outgoing messages in groups and supergroups.
  • +
  • Bots granted can_post_messages permissions can delete outgoing messages in channels.
  • +
  • If the bot is an administrator of a group, it can delete any message there.
  • +
  • If the bot has can_delete_messages permission in a supergroup or a channel, it can delete any message there.
    Parameters

telebot_error_e telebot_get_chat_members_count telebot_error_e telebot_delete_message (telebot_handler_t telebot_handler_t  handle,
int * count int message_id 
- - - + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[out]countNumber of chat members.
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target message_id Message identifier to be deleted.
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
- -

◆ telebot_get_me()

+ +

◆ telebot_delete_messages()

- + - + - - + + + + + + + + @@ -1625,41 +2658,42 @@

-

This function is used to get information about telegram bot itself.

+

Use this method to delete multiple messages in a chat.

Parameters

telebot_error_e telebot_get_me telebot_error_e telebot_delete_messages (telebot_handler_t telebot_handler_t  handle,
telebot_user_tme long long int chat_id,
const char * message_ids 
- - + + +
[in]handleThe telebot handler created with telebot_create().
[out]meTelegram user object, it needs to be released with telebot_put_me after use.
[in]handleThe telebot handler.
[in]chat_idUnique identifier for the target chat.
[in]message_idsA JSON-serialized list of 1-100 identifiers of messages to delete.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, and user object is stored in input parameter.
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
- -

◆ telebot_get_my_commands()

+ +

◆ telebot_delete_my_commands()

- + - + - - + + - - + + @@ -1669,12 +2703,12 @@

-

Get the current list of the bot's commands.

+

Use this method to delete the list of the bot's commands for the given scope and user language.

Parameters

telebot_error_e telebot_get_my_commands telebot_error_e telebot_delete_my_commands (telebot_handler_t telebot_handler_t  handle,
telebot_bot_command_t ** commands, const char * scope,
int * count const char * language_code 
- - - + + +
[in]handleThe telebot handler created with telebot_create().
[out]commandsPointer to commands to be obtained, which must be released with telebot_put_my_commands().
[out]countPointer to place the number of commands.
[in]handleThe telebot handler.
[in]scopeA JSON-serialized object, describing scope of users for which the commands are relevant.
[in]language_codeA two-letter ISO 639-1 language code.
@@ -1682,37 +2716,54 @@

-

◆ telebot_get_proxy()

+ +

◆ telebot_delete_webhook()

- + - - - - - + + - - +
telebot_error_e telebot_get_proxy telebot_error_e telebot_delete_webhook (telebot_handler_t handle,
telebot_handler_t handle) char ** addr 
+
+ +

This function is used to remove webhook integration if you decide to switch back to getUpdates.

+
Parameters
+ + +
[in]handleThe telebot handler created with telebot_create().
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_destroy()

+ +
+
+ + + + + - -
telebot_error_e telebot_destroy (telebot_handler_t handle) )
-

Get proxy address currently used.

+

Final function to use telebo APIs.

+

This function must be the last function to call for a telebot use. It is the opposite of the telebot_create() function.

Parameters
- - +
[in]handleThe telebot handler created with telebot_create().
[out]addrCurrent proxy address or NULL, MUST be freed after use.
[in]handleThe telebot handler created with telebot_create().
@@ -1720,29 +2771,29 @@

-

◆ telebot_get_sticker_set()

+ +

◆ telebot_download_file()

- + - + - + - - + + @@ -1752,12 +2803,11 @@

-

Get a sticker set.

+

This function is used to download file.

Parameters

telebot_error_e telebot_get_sticker_set telebot_error_e telebot_download_file (telebot_handler_t telebot_handler_t  handle,
const char * name, file_id,
telebot_sticker_set_tstickers const char * path 
- - - + +
[in]handleThe telebot handler created with telebot_create().
[in]nameName of the sticker set.
[out]stickersPointer to sticker set, must be released with telebot_put_sticker_set.
[in]file_idFile identifier to get info about.
[in]pathA path where the file is downloaded
@@ -1765,59 +2815,59 @@

-

◆ telebot_get_updates()

+ +

◆ telebot_edit_chat_invite_link()

- + - + - - + + - - + + - - + + - - + + - + - - + + - - + + @@ -1827,56 +2877,59 @@

-

This function is used to get latest updates.

+

Use this method to edit a non-primary invite link created by the bot.

Parameters

telebot_error_e telebot_get_updates telebot_error_e telebot_edit_chat_invite_link (telebot_handler_t telebot_handler_t  handle,
int offset, long long int chat_id,
int limit, const char * invite_link_str,
int timeout, const char * name,
telebot_update_type_e allowed_updates[], long expire_date,
int allowed_updates_count, member_limit,
telebot_update_t ** updates, bool creates_join_request,
int * count telebot_chat_invite_link_tinvite_link 
- - - - - + + + + + + + +
[in]handleThe telebot handler created with telebot_create().
[in]allowed_updatesTypes of updates you want your bot to receive. Referes telebot_update_type_e.
[in]allowed_updates_countNumber of update types.
[out]updatesAn array of update objects, it needs to be released with telebot_put_updates after use.
[out]countNumber of updates received.
[in]handleThe telebot handler.
[in]chat_idUnique identifier for the target chat.
[in]invite_link_strThe invite link to edit.
[in]nameInvite link name; 0-32 characters.
[in]expire_datePoint in time (Unix timestamp) when the link will expire.
[in]member_limitThe maximum number of users that can be members of the chat simultaneously after joining the chat via this invite link; 1-99999.
[in]creates_join_requestTrue, if users joining the chat via the link need to be approved by chat administrators.
[out]invite_linkPointer to get ChatInviteLink, MUST be released with telebot_put_chat_invite_link.
-
Returns
On success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
- -

◆ telebot_get_user_profile_photos()

+ +

◆ telebot_edit_forum_topic()

- + - + - - + + - + - - + + - - + + @@ -1886,14 +2939,14 @@

-

This function is used to get user profile pictures object.

+

Use this method to edit name and icon of a topic in a forum supergroup chat.

Parameters

telebot_error_e telebot_get_user_profile_photos telebot_error_e telebot_edit_forum_topic (telebot_handler_t telebot_handler_t  handle,
int user_id, long long int chat_id,
int offset, message_thread_id,
int limit, const char * name,
telebot_user_profile_photos_tphotos const char * icon_custom_emoji_id 
- - - - - + + + + +
[in]handleThe telebot handler created with telebot_create().
[in]user_idUnique identifier of the target user.
[in]offsetSequential number of the first photo to be returned. By default, up to 10 photos are returned.
[in]limitLimits the number of photos to be retrieved. Values between 1-100 are accepted. Defaults to 100.
[out]photosA pointer to user profile photo object. It MUST be released with telebot_put_user_profile_photos after use.
[in]handleThe telebot handler.
[in]chat_idUnique identifier for the target chat.
[in]message_thread_idUnique identifier for the target message thread of the forum topic.
[in]nameNew topic name, 0-128 characters.
[in]icon_custom_emoji_idNew unique identifier of the custom emoji used as the topic icon.
@@ -1901,23 +2954,29 @@

-

◆ telebot_get_webhook_info()

+ +

◆ telebot_edit_general_forum_topic()

- + - + - - + + + + + + + + @@ -1927,28 +2986,29 @@

-

This function is used to get information about telegram bot itself.

+

Use this method to edit the name of the 'General' topic in a forum supergroup chat.

Parameters

telebot_error_e telebot_get_webhook_info telebot_error_e telebot_edit_general_forum_topic (telebot_handler_t telebot_handler_t  handle,
telebot_webhook_info_tinfo long long int chat_id,
const char * name 
- - + + +
[in]handleThe telebot handler created with telebot_create().
[out]infoTelegram webhoook information, it needs to be released with telebot_put_webhook_info after use.
[in]handleThe telebot handler.
[in]chat_idUnique identifier for the target chat.
[in]nameNew topic name, 1-128 characters.
-
Returns
On success, TELEBOT_ERROR_NONE is returned, and webhook information is stored in input parameter.
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
- -

◆ telebot_kick_chat_member()

+ +

◆ telebot_edit_message_caption()

- -

◆ telebot_leave_chat()

- -
-
- - - - - + + + + - - + + @@ -2017,11 +3055,15 @@

-

Leave a group, supergroup or channel.

+

Edit captions of messages sent by the bot or via the bot (for inline bots).

Parameters

telebot_error_e telebot_leave_chat (telebot_handler_t handle, const char * parse_mode,
long long int chat_id const char * reply_markup 
- - + + + + + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]handleThe telebot handler created with telebot_create().
[in]chat_idRequired if inline_message_id. Unique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]message_idRequired if inline_message_id is not specified. Identifier of the sent message.
[in]inline_message_idRequired if chat_id and message_id are not specified. Identifier of the inline message.
[in]captionNew caption of the message.
[in]reply_markupA JSON-serialized object for an inline keyboard.
@@ -2029,16 +3071,16 @@

-

◆ telebot_pin_chat_message()

+ +

◆ telebot_edit_message_live_location()

- + - + @@ -2056,8 +3098,26 @@

- - + + + + + + + + + + + + + + + + + + + + @@ -2067,13 +3127,16 @@

-

Pin a message in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the 'can_pin_messages' admin right in the supergroup or 'can_edit_messages' admin right in the channel.

+

Edit live location messages sent by the bot or via the bot (for inline bots). A location can be edited until its live_period expires or editing is explicitly disabled by a call to telebot_stop_message_live_location().

Parameters

telebot_error_e telebot_pin_chat_message telebot_error_e telebot_edit_message_live_location (telebot_handler_t telebot_handler_t  handle,
bool disable_notification const char * inline_message_id,
float latitude,
float longitude,
const char * reply_markup 
- + - - + + + + +
[in]handleThe telebot handler created with telebot_create().
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]message_idIdentifier of a message to pin.
[in]disable_notificationPass True, if it is not necessary to send a notification to all chat members about the new pinned message. Notifications are always disabled in channels.
[in]message_idRequired if inline_message_id is not specified. Identifier of the sent message.
[in]inline_message_idRequired if chat_id and message_id are not specified. Identifier of the inline message.
[in]latitudeLatitude of location.
[in]longitudeLongitude of location.
[in]reply_markupA JSON-serialized object for a new inline keyboard.
@@ -2081,16 +3144,16 @@

-

◆ telebot_promote_chat_member()

+ +

◆ telebot_edit_message_media()

+ +

◆ telebot_edit_message_reply_markup()

+ +
+
+ + + + + + - - + + - - + + - - + + - - + + @@ -2161,20 +3254,14 @@

-

Promote or demote a user in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Pass False for all boolean parameters to demote a user.

+

Edit only the reply markup of messages sent by the bot or via the bot (for inline bots).

Parameters

telebot_error_e telebot_edit_message_reply_markup (telebot_handler_t handle,
bool can_invite_users, long long int chat_id,
bool can_restrict_members, int message_id,
bool can_pin_messages, const char * inline_message_id,
bool can_promote_members const char * reply_markup 
- - - - - - - - - - - + + + + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]user_idUnique identifier of the target user.
[in]can_change_infoPass true, if the administrator can change chat title, photo and other settings.
[in]can_post_messagesPass true, if the administrator can create channel posts, channels only.
[in]can_edit_messagesPass true, if the administrator can edit messages of other users and can pin messages, channels only.
[in]can_delete_messagesPass true, if the administrator can delete messages of other users.
[in]can_invite_usersPass true, if the administrator can invite new users to the chat.
[in]can_restrict_membersPass true, if the administrator can restrict, ban or unban chat members.
[in]can_pin_messagesPass true, if the administrator can pin messages, supergroups only.
[in]can_promote_membersPass true, if the administrator can add new administrators with a subset of his own privileges or demote administrators that he has promoted, directly or indirectly (promoted by administrators that were appointed by him).
[in]handleThe telebot handler created with telebot_create().
[in]chat_idRequired if inline_message_id. Unique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]message_idRequired if inline_message_id is not specified. Identifier of the sent message.
[in]inline_message_idRequired if chat_id and message_id are not specified. Identifier of the inline message.
[in]reply_markupA JSON-serialized object for an inline keyboard.
@@ -2182,64 +3269,1497 @@

-

◆ telebot_put_chat()

+ +

◆ telebot_edit_message_text()

- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_put_chat telebot_error_e telebot_edit_message_text (telebot_handler_t handle,
long long int chat_id,
int message_id,
const char * inline_message_id,
const char * text,
const char * parse_mode,
bool disable_web_page_preview,
const char * reply_markup 
)
+
+ +

Edit text and game messages sent by the bot or via the bot (for inline bots).

+
Parameters
+ + + + + + + + + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idRequired if inline_message_id. Unique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]message_idRequired if inline_message_id is not specified. Identifier of the sent message.
[in]inline_message_idRequired if chat_id and message_id are not specified. Identifier of the inline message.
[in]textNew text of the message.
[in]parse_modeSend Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width text or inline URLs in your bot's message.
[in]disable_web_page_priviewDisables link previews for links in this message.
[in]reply_markupA JSON-serialized object for an inline keyboard.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_export_chat_invite_link()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_export_chat_invite_link (telebot_handler_t handle,
long long int chat_id,
char ** invite_link 
)
+
+ +

Generate a new invite link for a chat; any previously generated link is revoked. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.

+
Parameters
+ + + + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[out]invite_linkExported invite link, must be freed after use.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_forward_message()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_forward_message (telebot_handler_t handle,
long long int chat_id,
long long int from_chat_id,
bool disable_notification,
int message_id 
)
+
+ +

Forward messages of any kind.

+
Parameters
+ + + + + + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]from_chat_idUnique identifier for the chat where the original message was sent (or channel username in the format @channelusername).
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]message_idUnique message identifier.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_forward_messages()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_forward_messages (telebot_handler_t handle,
long long int chat_id,
long long int from_chat_id,
const char * message_ids,
bool disable_notification,
bool protect_content,
int ** message_ids_out,
int * count 
)
+
+ +

Use this method to forward multiple messages of any kind.

+
Parameters
+ + + + + + + + + +
[in]handleThe telebot handler.
[in]chat_idUnique identifier for the target chat.
[in]from_chat_idUnique identifier for the chat where the original messages were sent.
[in]message_idsA JSON-serialized list of 1-100 identifiers of messages in the chat from_chat_id to forward.
[in]disable_notificationSends the messages silently.
[in]protect_contentProtects the contents of the sent messages from forwarding and saving.
[out]message_ids_outPointer to get the message identifiers of the sent messages, MUST be freed after use.
[out]countPointer to get the number of messages sent.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_get_chat()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_get_chat (telebot_handler_t handle,
long long int chat_id,
telebot_chat_tchat 
)
+
+ +

Get up to date information about the chat (current name of the user for one-on-one conversations, current username of a user, group or channel, etc).

+
Parameters
+ + + + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[out]chatPointer to chat, must be released with telebot_put_chat().
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_get_chat_admins()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_get_chat_admins (telebot_handler_t handle,
long long int chat_id,
telebot_chat_member_t ** admin,
int * count 
)
+
+ +

Get a list of administrators in a chat. Response contains an array of objects that contains information about all chat administrators except other bots. If the chat is a group or a supergroup and no administrators were appointed, only the creator will be returned.

+
Parameters
+ + + + + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[out]adminPointer to chat administrators, must be released with telebot_put_chat_admins().
[out]countPointer to get a number of administrators.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_get_chat_member()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_get_chat_member (telebot_handler_t handle,
long long int chat_id,
int user_id,
telebot_chat_member_tmember 
)
+
+ +

Get information about a member of a chat.

+
Parameters
+ + + + + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]user_idUnique identifier of the target user.
[out]memberPointer to chat member to obtain, must be released with telebot_put_chat_member().
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_get_chat_members_count()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_get_chat_members_count (telebot_handler_t handle,
long long int chat_id,
int * count 
)
+
+ +

Get the number of members in a chat.

+
Parameters
+ + + + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[out]countNumber of chat members.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_get_chat_menu_button()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_get_chat_menu_button (telebot_handler_t handle,
long long int chat_id,
char ** menu_button 
)
+
+ +

Use this method to get the current value of the bot's menu button in a private chat, or the default menu button.

+
Parameters
+ + + + +
[in]handleThe telebot handler.
[in]chat_idUnique identifier for the target private chat.
[out]menu_buttonPointer to get menu button, MUST be freed after use.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_get_forum_topic_icon_stickers()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_get_forum_topic_icon_stickers (telebot_handler_t handle,
telebot_sticker_t ** stickers,
int * count 
)
+
+ +

Use this method to get custom emoji stickers, which can be used as a forum topic icon by any user.

+
Parameters
+ + + + +
[in]handleThe telebot handler.
[out]stickersPointer to stickers to be obtained, MUST be released with #telebot_put_stickers.
[out]countPointer to get the number of stickers.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_get_me()

+ +
+
+ + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_get_me (telebot_handler_t handle,
telebot_user_tme 
)
+
+ +

This function is used to get information about telegram bot itself.

+
Parameters
+ + + +
[in]handleThe telebot handler created with telebot_create().
[out]meTelegram user object, it needs to be released with telebot_put_me after use.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, and user object is stored in input parameter.
+ +
+
+ +

◆ telebot_get_my_commands()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_get_my_commands (telebot_handler_t handle,
telebot_bot_command_t ** commands,
int * count 
)
+
+ +

Get the current list of the bot's commands.

+
Parameters
+ + + + +
[in]handleThe telebot handler created with telebot_create().
[out]commandsPointer to commands to be obtained, which must be released with telebot_put_my_commands().
[out]countPointer to place the number of commands.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_get_my_default_administrator_rights()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_get_my_default_administrator_rights (telebot_handler_t handle,
bool for_channels,
char ** rights 
)
+
+ +

Use this method to get the current default administrator rights of the bot.

+
Parameters
+ + + + +
[in]handleThe telebot handler.
[in]for_channelsPass True to get default administrator rights of the bot in channels.
[out]rightsPointer to get admin rights, MUST be freed after use.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_get_my_description()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_get_my_description (telebot_handler_t handle,
const char * language_code,
char ** description 
)
+
+ +

Use this method to get the current bot description for the given user language.

+
Parameters
+ + + + +
[in]handleThe telebot handler.
[in]language_codeA two-letter ISO 639-1 language code.
[out]descriptionPointer to get bot description, MUST be freed after use.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_get_my_name()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_get_my_name (telebot_handler_t handle,
const char * language_code,
char ** name 
)
+
+ +

Use this method to get the current bot name for the given user language.

+
Parameters
+ + + + +
[in]handleThe telebot handler.
[in]language_codeA two-letter ISO 639-1 language code.
[out]namePointer to get bot name, MUST be freed after use.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_get_my_short_description()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_get_my_short_description (telebot_handler_t handle,
const char * language_code,
char ** short_description 
)
+
+ +

Use this method to get the current bot short description for the given user language.

+
Parameters
+ + + + +
[in]handleThe telebot handler.
[in]language_codeA two-letter ISO 639-1 language code.
[out]short_descriptionPointer to get bot short description, MUST be freed after use.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_get_proxy()

+ +
+
+ + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_get_proxy (telebot_handler_t handle,
char ** addr 
)
+
+ +

Get proxy address currently used.

+
Parameters
+ + + +
[in]handleThe telebot handler created with telebot_create().
[out]addrCurrent proxy address or NULL, MUST be freed after use.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_get_sticker_set()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_get_sticker_set (telebot_handler_t handle,
const char * name,
telebot_sticker_set_tstickers 
)
+
+ +

Get a sticker set.

+
Parameters
+ + + + +
[in]handleThe telebot handler created with telebot_create().
[in]nameName of the sticker set.
[out]stickersPointer to sticker set, must be released with telebot_put_sticker_set.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_get_updates()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_get_updates (telebot_handler_t handle,
int offset,
int limit,
int timeout,
telebot_update_type_e allowed_updates[],
int allowed_updates_count,
telebot_update_t ** updates,
int * count 
)
+
+ +

This function is used to get latest updates.

+
Parameters
+ + + + + + + + + +
[in]handleThe telebot handler created with telebot_create().
[in]offsetIdentifier of the first update to be returned. The negative offset can be specified to retrieve updates starting from -offset update from the end of the updates queue.
[in]limitNumber of updates to be retrieved. Values between 1-100 are accepted. Defaults to 100.
[in]timeoutTimeout in seconds for long polling. Defaults to 0, i.e. usual short polling. Should be positive, short polling should be used for testing purposes only.
[in]allowed_updatesAn array of types of updates you want your bot to receive. Refers to telebot_update_type_e.
[in]allowed_updates_countNumber of update types.
[out]updatesAn array of update objects, it needs to be released with telebot_put_updates after use.
[out]countNumber of updates received.
+
+
+
Returns
On success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_get_user_profile_photos()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_get_user_profile_photos (telebot_handler_t handle,
int user_id,
int offset,
int limit,
telebot_user_profile_photos_tphotos 
)
+
+ +

This function is used to get user profile pictures object.

+
Parameters
+ + + + + + +
[in]handleThe telebot handler created with telebot_create().
[in]user_idUnique identifier of the target user.
[in]offsetSequential number of the first photo to be returned. By default, up to 10 photos are returned.
[in]limitLimits the number of photos to be retrieved. Values between 1-100 are accepted. Defaults to 100.
[out]photosA pointer to user profile photo object. It MUST be released with telebot_put_user_profile_photos after use.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_get_webhook_info()

+ +
+
+ + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_get_webhook_info (telebot_handler_t handle,
telebot_webhook_info_tinfo 
)
+
+ +

This function is used to get information about telegram bot itself.

+
Parameters
+ + + +
[in]handleThe telebot handler created with telebot_create().
[out]infoTelegram webhoook information, it needs to be released with telebot_put_webhook_info after use.
+
+
+
Returns
On success, TELEBOT_ERROR_NONE is returned, and webhook information is stored in input parameter.
+ +
+
+ +

◆ telebot_hide_general_forum_topic()

+ +
+
+ + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_hide_general_forum_topic (telebot_handler_t handle,
long long int chat_id 
)
+
+ +

Use this method to hide the 'General' topic in a forum supergroup chat.

+
Parameters
+ + + +
[in]handleThe telebot handler.
[in]chat_idUnique identifier for the target chat.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_kick_chat_member()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_kick_chat_member (telebot_handler_t handle,
long long int chat_id,
int user_id,
long until_date 
)
+
+ +

Kick a user from a group, a supergroup or a channel. In the case of supergroups and channels, the user will not be able to return to the group on their own using invite links, etc., unless unbanned first. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.

+
Parameters
+ + + + + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername)
[in]user_idUnique identifier of the target user
[in]until_dateDate when the user will be unbanned, unix time. If user is banned for more than 366 days or less than 30 seconds from the current time they are considered to be banned forever.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_leave_chat()

+ +
+
+ + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_leave_chat (telebot_handler_t handle,
long long int chat_id 
)
+
+ +

Leave a group, supergroup or channel.

+
Parameters
+ + + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_log_out()

+ +
+
+ + + + + + + + +
telebot_error_e telebot_log_out (telebot_handler_t handle)
+
+ +

Use this method to log out from the cloud Bot API server before launching the bot locally.

+
Parameters
+ + +
[in]handleThe telebot handler.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_pin_chat_message()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_pin_chat_message (telebot_handler_t handle,
long long int chat_id,
int message_id,
bool disable_notification 
)
+
+ +

Pin a message in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the 'can_pin_messages' admin right in the supergroup or 'can_edit_messages' admin right in the channel.

+
Parameters
+ + + + + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]message_idIdentifier of a message to pin.
[in]disable_notificationPass True, if it is not necessary to send a notification to all chat members about the new pinned message. Notifications are always disabled in channels.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_promote_chat_member()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_promote_chat_member (telebot_handler_t handle,
long long int chat_id,
int user_id,
bool can_change_info,
bool can_post_messages,
bool can_edit_messages,
bool can_delete_messages,
bool can_invite_users,
bool can_restrict_members,
bool can_pin_messages,
bool can_promote_members 
)
+
+ +

Promote or demote a user in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Pass False for all boolean parameters to demote a user.

+
Parameters
+ + + + + + + + + + + + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]user_idUnique identifier of the target user.
[in]can_change_infoPass true, if the administrator can change chat title, photo and other settings.
[in]can_post_messagesPass true, if the administrator can create channel posts, channels only.
[in]can_edit_messagesPass true, if the administrator can edit messages of other users and can pin messages, channels only.
[in]can_delete_messagesPass true, if the administrator can delete messages of other users.
[in]can_invite_usersPass true, if the administrator can invite new users to the chat.
[in]can_restrict_membersPass true, if the administrator can restrict, ban or unban chat members.
[in]can_pin_messagesPass true, if the administrator can pin messages, supergroups only.
[in]can_promote_membersPass true, if the administrator can add new administrators with a subset of his own privileges or demote administrators that he has promoted, directly or indirectly (promoted by administrators that were appointed by him).
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_put_chat()

+ +
+
+ + + + + + + + +
telebot_error_e telebot_put_chat (telebot_chat_tchat)
+
+ +

Release chat obtained with telebot_get_chat().

+
Parameters
+ + +
[in]chatPointer to chat
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_put_chat_admins()

+ +
+
+ + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_put_chat_admins (telebot_chat_member_tadmins,
int count 
)
+
+ +

Release chat admins obtained with telebot_get_chat_admins().

+
Parameters
+ + + +
[in]chatPointer to chat administrators to be released.
[in]countNumber of chat administrators.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_put_chat_invite_link()

+ +
+
+ + + - - + +
telebot_error_e telebot_put_chat_invite_link (telebot_chat_tchat)telebot_chat_invite_link_tinvite_link)
-

Release chat obtained with telebot_get_chat().

+

Release chat invite link obtained with telebot_create_chat_invite_link etc.

Parameters
- +
[in]chatPointer to chat
[in]invite_linkPointer to chat invite link to be released.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
on Success, TELEBOT_ERROR_NONE is returned.
- -

◆ telebot_put_chat_admins()

+ +

◆ telebot_put_chat_member()

- + - - - - - - - - - - + + - -
telebot_error_e telebot_put_chat_admins telebot_error_e telebot_put_chat_member (telebot_chat_member_tadmins,
int count 
telebot_chat_member_tmember) )
-

Release chat admins obtained with telebot_get_chat_admins().

+

Release chat member otained with telebot_get_chat_member().

Parameters
- - +
[in]chatPointer to chat administrators to be released.
[in]countNumber of chat administrators.
[in]memberPointer to chat member to be released.
@@ -2247,35 +4767,35 @@

-

◆ telebot_put_chat_member()

+ +

◆ telebot_put_forum_topic()

- + - - + +
telebot_error_e telebot_put_chat_member telebot_error_e telebot_put_forum_topic (telebot_chat_member_tmember)telebot_forum_topic_ttopic)
-

Release chat member otained with telebot_get_chat_member().

+

Release forum topic obtained with telebot_create_forum_topic.

Parameters
- +
[in]memberPointer to chat member to be released.
[in]topicPointer to forum topic to be released.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
on Success, TELEBOT_ERROR_NONE is returned.
- -

◆ telebot_put_me()

+ +

◆ telebot_put_me()

@@ -2283,7 +4803,7 @@

telebot_error_e telebot_put_me ( - telebot_user_t *  + telebot_user_tme) @@ -2293,7 +4813,7 @@

Parameters
- +
[in]mePointer to telegram user object obtained with telebot_get_me.
[in]mePointer to telegram user object obtained with telebot_get_me.
@@ -2301,8 +4821,8 @@

-

◆ telebot_put_my_commands()

+ +

◆ telebot_put_my_commands()

@@ -2310,7 +4830,7 @@

telebot_error_e telebot_put_my_commands ( - telebot_bot_command_t *  + telebot_bot_command_tcommands, @@ -2327,7 +4847,7 @@

-

Release bot commands obtained with telebot_get_my_commands().

+

Release bot commands obtained with telebot_get_my_commands().

Parameters
@@ -2339,8 +4859,35 @@

-

◆ telebot_put_sticker_set()

+ +

◆ telebot_put_sticker()

+ +
+
+

[in]commandsPointer to commands to be released.
+ + + + + + + +
telebot_error_e telebot_put_sticker (telebot_sticker_tsticker)
+

+ +

Release a sticker object.

+
Parameters
+ + +
[in]stickerPointer to sticker to be released.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_put_sticker_set()

@@ -2348,17 +4895,16 @@

telebot_error_e telebot_put_sticker_set ( - telebot_sticker_set_t *  + telebot_sticker_set_tstickers)

-

Release sticker set obtained with telebot_get_sticker_set()

+

Release sticker set obtained with telebot_get_sticker_set()

Parameters
-
[in]handleThe telebot handler created with telebot_create().
[in]stickersPointer to sticker set to be released.
@@ -2367,8 +4913,8 @@

-

◆ telebot_put_updates()

+ +

◆ telebot_put_updates()

+
Returns
On success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_put_user()

+ +
+
+ + + + + + + + +
telebot_error_e telebot_put_user (telebot_user_tuser)
+
+ +

This function is used to release memory used for user object.

+
Parameters
+ +
[in]userPointer to telegram user object.
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative
- -

◆ telebot_put_user_profile_photos()

+ +

◆ telebot_put_user_profile_photos()

@@ -2412,7 +4987,7 @@

telebot_error_e telebot_put_user_profile_photos ( - telebot_user_profile_photos_t *  + telebot_user_profile_photos_tphotos) @@ -2422,7 +4997,7 @@

Parameters
- +
[in]photosA pointer to user profile photo object, obtained with telebot_get_user_profile_photos.
[in]photosA pointer to user profile photo object, obtained with telebot_get_user_profile_photos.
@@ -2430,8 +5005,8 @@

-

◆ telebot_put_webhook_info()

+ +

◆ telebot_put_webhook_info()

@@ -2439,7 +5014,7 @@

telebot_error_e telebot_put_webhook_info ( - telebot_webhook_info_t *  + telebot_webhook_info_tinfo) @@ -2449,7 +5024,7 @@

Parameters
- +
[in]infoTelegram webhook information object obtained with telebot_get_webhook_info.
[in]infoTelegram webhook information object obtained with telebot_get_webhook_info.
@@ -2457,8 +5032,91 @@

-

◆ telebot_restrict_chat_member()

+ +

◆ telebot_reopen_forum_topic()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_reopen_forum_topic (telebot_handler_t handle,
long long int chat_id,
int message_thread_id 
)
+
+ +

Use this method to reopen a closed topic in a forum supergroup chat.

+
Parameters
+ + + + +
[in]handleThe telebot handler.
[in]chat_idUnique identifier for the target chat.
[in]message_thread_idUnique identifier for the target message thread of the forum topic.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_reopen_general_forum_topic()

+ +
+
+ + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_reopen_general_forum_topic (telebot_handler_t handle,
long long int chat_id 
)
+
+ +

Use this method to reopen a closed 'General' topic in a forum supergroup chat.

+
Parameters
+ + + +
[in]handleThe telebot handler.
[in]chat_idUnique identifier for the target chat.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_restrict_chat_member()

@@ -2466,7 +5124,7 @@

telebot_error_e telebot_restrict_chat_member ( - telebot_handler_t  + telebot_handler_t  handle, @@ -2546,21 +5204,79 @@

Parameters
- + - + + + + + + +
[in]handleThe telebot handler created with telebot_create().
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername)
[in]user_idUnique identifier of the target user.
[in]until_dateDate when restrictions will be lifted for the user, unix time. If user is restricted for more than 366 days or less than 30 seconds from the current time, they are considered to be restricted forever.
[in]can_send_messagesPass true, if the user is allowed to send text messages, contacts, locations and venues
[in]can_send_media_messagesPass true, if the user is allowed to send audios, documents, photos, videos, video notes and voice notes, implies can_send_messages
[incan_send_polls Pass true, if the user is allowed to send polls, implies can_send_messages
[in]can_send_other_messagesPass true, if the user can send animations, games, stickers and use inline bots, implies can_send_media_messages
[in]can_add_web_page_previewsPass true, if the user may add web page previews to their messages, implies can_send_media_messages.
[in]can_change_infoPass true, if the user is allowed to change the chat title, photo and other settings. Ignored in public supergroups.
[in]can_invite_usersPass true, if the user is allowed to invite new users to the chat.
[in]can_pin_messagesPass true, if the user is allowed to pin messages. Ignored in public supergroups
+
+ +
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +

+
+ +

◆ telebot_revoke_chat_invite_link()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_revoke_chat_invite_link (telebot_handler_t handle,
long long int chat_id,
const char * invite_link_str,
telebot_chat_invite_link_tinvite_link 
)
+
+ +

Use this method to revoke an invite link created by the bot.

+
Parameters
+ + + + +
[in]handleThe telebot handler.
[in]chat_idUnique identifier for the target chat.
[in]invite_link_strThe invite link to revoke.
[out]invite_linkPointer to get ChatInviteLink, MUST be released with telebot_put_chat_invite_link.
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
- -

◆ telebot_send_animation()

+ +

◆ telebot_send_animation()

@@ -2568,7 +5284,7 @@

telebot_error_e telebot_send_animation ( - telebot_handler_t  + telebot_handler_t  handle, @@ -2654,7 +5370,7 @@

Parameters
- + @@ -2674,8 +5390,8 @@

-

◆ telebot_send_audio()

+ +

◆ telebot_send_audio()

@@ -2683,7 +5399,7 @@

telebot_error_e telebot_send_audio

- + @@ -2769,7 +5485,7 @@

Parameters

[in]handleThe telebot handler created with telebot_create().
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]animationAnimation file to send. It is either a file_id to resend an animation that exists on the Telegram servers, or a path to animation file.
[in]is_fileFalse if animation is file_id, true, if animation is a file path.
(telebot_handler_t telebot_handler_t  handle,
- + @@ -2789,8 +5505,8 @@

-

◆ telebot_send_chat_action()

+ +

◆ telebot_send_chat_action()

@@ -2798,7 +5514,7 @@

telebot_error_e telebot_send_chat_action

- + @@ -2824,7 +5540,7 @@

telebot_send_chat_action() with action = upload_photo. The user will see a "sending photo" status for the bot. It is only recommended to use when a response from the bot will take a noticeable amount of time to arrive.

Parameters

[in]handleThe telebot handler created with telebot_create().
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]audioAudio file to send. It is either a file_id as String to resend an audio that is already on the Telegram servers, or a path to audio file.
[in]is_fileFalse if audio is file_id, true, if audio is a file path.
(telebot_handler_t telebot_handler_t  handle,
- +
[in]handleThe telebot handler created with telebot_create().
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername)
[in]actionType of action to broadcast. Choose one, depending on what the user is about to receive: typing for text messages, upload_photo for photos, record_video or upload_video for videos, record_audio or upload_audio for audio files, upload_document for general files, find_location for location data.
@@ -2834,8 +5550,8 @@

-

◆ telebot_send_contact()

+ +

◆ telebot_send_contact()

@@ -2843,7 +5559,7 @@

telebot_error_e telebot_send_contact ( - telebot_handler_t  + telebot_handler_t  handle, @@ -2905,7 +5621,7 @@

Parameters
- + @@ -2921,8 +5637,8 @@

-

◆ telebot_send_dice()

+ +

◆ telebot_send_dice()

@@ -2930,7 +5646,7 @@

telebot_error_e telebot_send_dice

- + @@ -2968,7 +5684,7 @@

Parameters

[in]handleThe telebot handler created with telebot_create().
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]phone_numberContact's phone numbers.
[in]first_nameContact's first name.
(telebot_handler_t telebot_handler_t  handle,
- + @@ -2980,8 +5696,8 @@

-

◆ telebot_send_document()

+ +

◆ telebot_send_document()

@@ -2989,7 +5705,7 @@

telebot_error_e telebot_send_document

- + @@ -3019,14 +5735,96 @@

- - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
[in]handleThe telebot handler created with telebot_create().
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername)
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
(telebot_handler_t telebot_handler_t  handle,
const char * caption, const char * caption,
const char * parse_mode,
bool disable_notification,
int reply_to_message_id,
const char * reply_markup 
)
+

+
+ +

◆ telebot_send_location()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + - - + + @@ -3054,16 +5852,14 @@

-

Send general files.

+

Send point on the map.

Parameters

telebot_error_e telebot_send_location (telebot_handler_t handle,
long long int chat_id,
float latitude,
float longitude,
const char * parse_mode, int live_period,
- + - - - - - + + + @@ -3074,16 +5870,16 @@

-

◆ telebot_send_location()

+ +

◆ telebot_send_media_group()

[in]handleThe telebot handler created with telebot_create().
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]documentDocument file to send. It is either a file_id as String to resend a file that is already on the Telegram servers, or a path to file.
[in]is_fileFalse if document is file_id, true, if document is a file path.
[in]thumbThumbnail file path of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail's width and height should not exceed 320. Optional. Set to NULL to ignore.
[in]captionDocument caption. (may also be used when resending documents).
[in]parse_modeSend Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width or inline URLs in your bot's message.
[in]latitudeLatitude of location.
[in]longitudeLongitude of location.
[in]live_periodPeriod in secnods for which the location will be updated. Should be between 60 and 86400.
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]reply_markupAdditional interface options. An object for a custom reply keyboard, instructions to hide keyboard or to force a reply from the user.
- + - + @@ -3095,20 +5891,14 @@

- - - - - - - - + + - + @@ -3120,13 +5910,7 @@

- - - - - - - + @@ -3136,26 +5920,24 @@

-

Send point on the map.

+

Send a group of photos as an album.

Parameters

telebot_error_e telebot_send_location telebot_error_e telebot_send_media_group (telebot_handler_t telebot_handler_t  handle,
float latitude,
float longitude, char * media_paths[],
int live_period, count,
int reply_to_message_id,
const char * reply_markup reply_to_message_id 
- - - - - - + + + + + -
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]latitudeLatitude of location.
[in]longitudeLongitude of location.
[in]live_periodPeriod in secnods for which the location will be updated. Should be between 60 and 86400.
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel.
[in]media_pathsArray of file paths to photos to send.
[in]countNumber of photos in the array (2–10).
[in]disable_notificationSends the message silently.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]reply_markupAdditional interface options. An object for a custom reply keyboard, instructions to hide keyboard or to force a reply from the user.

-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.

- -

◆ telebot_send_message()

+ +

◆ telebot_send_message()

@@ -3163,7 +5945,7 @@

telebot_error_e telebot_send_message ( - telebot_handler_t  + telebot_handler_t  handle, @@ -3219,7 +6001,7 @@

Parameters
- + @@ -3234,8 +6016,8 @@

-

◆ telebot_send_photo()

+ +

◆ telebot_send_photo()

@@ -3243,7 +6025,7 @@

telebot_error_e telebot_send_photo

- + @@ -3305,7 +6087,7 @@

Parameters

[in]handleThe telebot handler created with telebot_create().
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]textText of the message to be sent, 1-4096 characters after entities parsing.
[in]parse_modeSend Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width or inline URLs in your bot's message.
(telebot_handler_t telebot_handler_t  handle,
- + @@ -3321,8 +6103,8 @@

-

◆ telebot_send_poll()

+ +

◆ telebot_send_poll()

@@ -3330,7 +6112,7 @@

telebot_error_e telebot_send_poll

- + @@ -3416,7 +6198,7 @@

Parameters

[in]handleThe telebot handler created with telebot_create().
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]photoPhoto to send. It is either file_id as String to resend a photo that is already on the Telegram servers, or a path to photo file.
[in]is_fileFalse if photo is file_id, true, if photo is a file path.
(telebot_handler_t telebot_handler_t  handle,
- + @@ -3436,8 +6218,8 @@

-

◆ telebot_send_sticker()

+ +

◆ telebot_send_sticker()

@@ -3445,7 +6227,7 @@

telebot_error_e telebot_send_sticker

- + @@ -3495,7 +6277,7 @@

Parameters

[in]handleThe telebot handler created with telebot_create().
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]questionPoll question, 1-255 characters.
[in]optionsA aray of answer options, 2-10 strings 1-100 characters each.
(telebot_handler_t telebot_handler_t  handle,
- + @@ -3508,16 +6290,239 @@

-

◆ telebot_send_venue()

+ +

◆ telebot_send_venue()

+ +
+
+
[in]handleThe telebot handler created with telebot_create().
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername)
[in]stickerSticker file to send. It is either a file_id to resend a sticker that is already on the Telegram servers, or a path to file.
[in]is_fileFalse if sticker is file_id, true, if sticker is a file path.
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_send_venue (telebot_handler_t handle,
long long int chat_id,
float latitude,
float longitude,
const char * title,
const char * address,
const char * foursquare_id,
const char * foursquare_type,
bool disable_notification,
int reply_to_message_id,
const char * reply_markup 
)
+

+ +

Send information about a venue.

+
Parameters
+ + + + + + + + + + + + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]latitudeLatitude of venue.
[in]longitudeLongitude of venue.
[in]titleName of the venue
[in]addressAddress of the venue.
[in]foursquare_idFoursquare identifier of the venue.
[in]foursquare_typeFoursquare type of the venue, if known.
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]reply_markupAdditional interface options. A JSON-serialized object for an inline keyboard, custom reply keyboard, instructions to remove reply keyboard or to force a reply from the user.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_send_video()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_send_video (telebot_handler_t handle,
long long int chat_id,
const char * video,
bool is_file,
int duration,
int width,
int height,
const char * thumb,
const char * caption,
const char * parse_mode,
bool supports_streaming,
bool disable_notification,
int reply_to_message_id,
const char * reply_markup 
)
+
+ +

Send video files, Telegram clients support mp4 videos (other formats may be sent as Document).

+
Parameters
+ + + + + + + + + + + + + + + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]videoVideo file to send. It is either a file_id as String to resend a video that is already on the Telegram servers, or a path to video file.
[in]is_fileFalse if video is file_id, true, if video is a file path.
[in]durationDuration of sent video in seconds. Optional, set 0 for ignoring.
[in]widthVideo width. Optional, set 0 for ignoring.
[in]heightVideo heigh. Optional, set 0 for ignoring.
[in]thumbThumbnail file path of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail's width and height should not exceed 320. Optional. Set to NULL to ignore.
[in]captionVideo caption. (may also be used when resending videos).
[in]parse_modeSend Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width or inline URLs in your bot's message.
[in]supports_streamingPass True, if the uploaded video is suitable for streaming.
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]reply_markupAdditional interface options. An object for a custom reply keyboard, instructions to hide keyboard or to force a reply from the user.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_send_video_note()

- + - + @@ -3529,38 +6534,32 @@

- - - - - - - - + + - - + + - - + + - - + + - + @@ -3588,20 +6587,20 @@

-

Send information about a venue.

+

Send video messages. As of v.4.0, Telegram clients support rounded square mp4 videos of up to 1 minute long.

Parameters

telebot_error_e telebot_send_venue telebot_error_e telebot_send_video_note (telebot_handler_t telebot_handler_t  handle,
float latitude,
float longitude, char * video_note,
const char * title, bool is_file,
const char * address, int duration,
const char * foursquare_id, int length,
const char * foursquare_type, thumb,
- + - - - - - - + + + + + - + +
[in]handleThe telebot handler created with telebot_create().
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]latitudeLatitude of venue.
[in]longitudeLongitude of venue.
[in]titleName of the venue
[in]addressAddress of the venue.
[in]foursquare_idFoursquare identifier of the venue.
[in]foursquare_typeFoursquare type of the venue, if known.
[in]video_notVideo note to send. It is either a file_id to resend a video note that exists on the Telegram servers, or a path to video note file.
[in]is_fileFalse if video note is file_id, true, if video note is a file path.
[in]durationDuration of sent video in seconds.
[in]lengthVideo width and height, i.e. diameter of the video message.
[in]thumbThumbnail file path of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail's width and height should not exceed 320. Optional. Set to NULL to ignore.
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]reply_markupAdditional interface options. A JSON-serialized object for an inline keyboard, custom reply keyboard, instructions to remove reply keyboard or to force a reply from the user.
[in]reply_markupAdditional interface options. An object for a custom reply keyboard, instructions to hide keyboard or to force a reply from the user.
[out]responseResponse data that contains the sent message on success. It MUST be freed with #telebot_put_response().
@@ -3609,16 +6608,16 @@

-

◆ telebot_send_video()

+ +

◆ telebot_send_voice()

- + - + @@ -3631,7 +6630,7 @@

- + @@ -3639,30 +6638,6 @@

bool 

- - - - - - - - - - - - - - - - - - - - - - - - @@ -3678,8 +6653,8 @@

- - + + @@ -3707,20 +6682,16 @@

-

Send video files, Telegram clients support mp4 videos (other formats may be sent as Document).

+

Send audio files, if you want Telegram clients to display the file as a playable voice message. For this to work, your audio must be in an .ogg file encoded with OPUS (other formats may be sent as Audio or Document).

Parameters

telebot_error_e telebot_send_video telebot_error_e telebot_send_voice (telebot_handler_t telebot_handler_t  handle,
const char * video, voice,
is_file,
int duration,
int width,
int height,
const char * thumb,
bool supports_streaming, int duration,
- + - - - - - - - - - + + + + + @@ -3731,16 +6702,16 @@

-

◆ telebot_send_video_note()

+ +

◆ telebot_set_chat_admin_custom_title()

[in]handleThe telebot handler created with telebot_create().
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]videoVideo file to send. It is either a file_id as String to resend a video that is already on the Telegram servers, or a path to video file.
[in]is_fileFalse if video is file_id, true, if video is a file path.
[in]durationDuration of sent video in seconds. Optional, set 0 for ignoring.
[in]widthVideo width. Optional, set 0 for ignoring.
[in]heightVideo heigh. Optional, set 0 for ignoring.
[in]thumbThumbnail file path of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail's width and height should not exceed 320. Optional. Set to NULL to ignore.
[in]captionVideo caption. (may also be used when resending videos).
[in]parse_modeSend Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width or inline URLs in your bot's message.
[in]supports_streamingPass True, if the uploaded video is suitable for streaming.
[in]voiceAudio file to send. It is either a file_id as String to resend a audio that is already on the Telegram servers, or a path to audio file.
[in]is_fileFalse if voice is file_id, true, if voice is a file path.
[in]captionVoice message caption. (may also be used when resending).
[in]parse_modeSend Markdown or HTML, if you want Telegram apps to show bold,
[in]durationDuration of sent voice/audio in seconds.
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]reply_markupAdditional interface options. An object for a custom reply keyboard, instructions to hide keyboard or to force a reply from the user.
- + - + @@ -3752,50 +6723,105 @@

- - + + - - + + - - - + + + +
telebot_error_e telebot_send_video_note telebot_error_e telebot_set_chat_admin_custom_title (telebot_handler_t telebot_handler_t  handle,
char * video_note, int user_id,
bool is_file, const char * custom_title 
int duration, )
+
+
+ +

◆ telebot_set_chat_description()

+ +
+
+ + + + + + - - + + - + - - - + + + +
telebot_error_e telebot_set_chat_description (telebot_handler_t handle,
int length, long long int chat_id,
const char * thumb, description 
bool disable_notification, )
+
+ +

Change the description of a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.

+
Parameters
+ + + + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]descriptionNew chat description, 0-255 characters.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_set_chat_menu_button()

+ +
+
+ + + + + + - - + + - + @@ -3805,20 +6831,12 @@

-

Send video messages. As of v.4.0, Telegram clients support rounded square mp4 videos of up to 1 minute long.

+

Use this method to change the bot's menu button in a private chat, or the default menu button.

Parameters

telebot_error_e telebot_set_chat_menu_button (telebot_handler_t handle,
int reply_to_message_id, long long int chat_id,
const char * reply_markup menu_button 
- - - - - - - - - - - + + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]video_notVideo note to send. It is either a file_id to resend a video note that exists on the Telegram servers, or a path to video note file.
[in]is_fileFalse if video note is file_id, true, if video note is a file path.
[in]durationDuration of sent video in seconds.
[in]lengthVideo width and height, i.e. diameter of the video message.
[in]thumbThumbnail file path of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail's width and height should not exceed 320. Optional. Set to NULL to ignore.
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]reply_markupAdditional interface options. An object for a custom reply keyboard, instructions to hide keyboard or to force a reply from the user.
[out]responseResponse data that contains the sent message on success. It MUST be freed with #telebot_put_response().
[in]handleThe telebot handler.
[in]chat_idUnique identifier for the target private chat.
[in]menu_buttonA JSON-serialized object for the bot's new menu button.
@@ -3826,16 +6844,16 @@

-

◆ telebot_send_voice()

+ +

◆ telebot_set_chat_permissions()

- + - + @@ -3847,50 +6865,102 @@

- - + + - + - - + + - - + + - - + + - + - - + + + + + + + + + + + + + + +
telebot_error_e telebot_send_voice telebot_error_e telebot_set_chat_permissions (telebot_handler_t telebot_handler_t  handle,
const char * voice, bool can_send_messages,
bool is_file, can_send_media_messages,
const char * caption, bool can_send_polls,
const char * parse_mode, bool can_send_other_messages,
int duration, bool can_add_web_page_previews,
bool disable_notification, can_change_info,
int reply_to_message_id, bool can_invite_users,
bool can_pin_messages 
)
+
+
+ +

◆ telebot_set_chat_photo()

+ +
+
+ + + + + + + + + + + + - + @@ -3900,19 +6970,12 @@

-

Send audio files, if you want Telegram clients to display the file as a playable voice message. For this to work, your audio must be in an .ogg file encoded with OPUS (other formats may be sent as Audio or Document).

+

Set a new profile photo for the chat. Photos can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.

Parameters

telebot_error_e telebot_set_chat_photo (telebot_handler_t handle,
long long int chat_id,
const char * reply_markup photo 
- + - - - - - - - - +
[in]handleThe telebot handler created with telebot_create().
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]voiceAudio file to send. It is either a file_id as String to resend a audio that is already on the Telegram servers, or a path to audio file.
[in]is_fileFalse if voice is file_id, true, if voice is a file path.
[in]captionVoice message caption. (may also be used when resending).
[in]parse_modeSend Markdown or HTML, if you want Telegram apps to show bold,
[in]durationDuration of sent voice/audio in seconds.
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]reply_markupAdditional interface options. An object for a custom reply keyboard, instructions to hide keyboard or to force a reply from the user.
[in]photoNew chat photo file path.
@@ -3920,16 +6983,16 @@

-

◆ telebot_set_chat_admin_custom_title()

+ +

◆ telebot_set_chat_sticker_set()

- + - + @@ -3938,17 +7001,11 @@

long long int 

- - - - - - - + @@ -3958,13 +7015,12 @@

-

Export an invite link to a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.

+

Set a new group sticker set for a supergroup. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Use the field can_set_sticker_set optionally returned in telebot_get_chat requests to check if the bot can use it.

Parameters

telebot_error_e telebot_set_chat_admin_custom_title telebot_error_e telebot_set_chat_sticker_set (telebot_handler_t telebot_handler_t  handle,
chat_id,
int user_id,
const char * custom_title sticker_set_name 
- + - - +
[in]handleThe telebot handler created with telebot_create().
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]user_idUnique identifier of the target user.
[in]custom_titleNew custom title for the administrator; 0-16 characters, emoji are not allowed.
[in]sticker_set_nameName of the sticker set to be set as the group sticker set.
@@ -3972,16 +7028,16 @@

-

◆ telebot_set_chat_description()

+ +

◆ telebot_set_chat_title()

- + - + @@ -3994,7 +7050,7 @@

- + @@ -4004,12 +7060,12 @@

-

Change the description of a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.

+

Change the title of a chat. Titles can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.

Parameters

telebot_error_e telebot_set_chat_description telebot_error_e telebot_set_chat_title (telebot_handler_t telebot_handler_t  handle,
const char * description title 
- + - +
[in]handleThe telebot handler created with telebot_create().
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]descriptionNew chat description, 0-255 characters.
[in]titleNew chat title, 1-255 characters.
@@ -4017,16 +7073,16 @@

-

◆ telebot_set_chat_permissions()

+ +

◆ telebot_set_message_reaction()

+ +

◆ telebot_set_my_commands()

+ +
+
+ - - - - + + + + - - + + - - + + @@ -4091,43 +7164,42 @@

-

Set default chat permissions for all members. The bot must be an administrator in the group or a supergroup for this to work and must have the 'can_restrict_members' admin rights.

+

Change the list of the bot's commands.

Parameters

bool can_change_info, telebot_error_e telebot_set_my_commands (telebot_handler_t handle,
bool can_invite_users, telebot_bot_command_t commands[],
bool can_pin_messages int count 
- - - - - + + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername)
[in]can_send_messagesPass true, if the user is allowed to send text messages, contacts, locations and venues
[in]can_send_media_messagesPass true, if the user is allowed to send audios, documents, photos, videos, video notes and voice notes, implies can_send_messages
[in]handleThe telebot handler created with telebot_create().
[in]commandsArray of telegram bot commands.
[in]countThe number of commands in array.
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
- -

◆ telebot_set_chat_photo()

+ +

◆ telebot_set_my_default_administrator_rights()

- + - + - - + + - - + + @@ -4137,12 +7209,12 @@

-

Set a new profile photo for the chat. Photos can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.

+

Use this method to change the default administrator rights requested by the bot when it's added as an administrator to groups or channels.

Parameters

telebot_error_e telebot_set_chat_photo telebot_error_e telebot_set_my_default_administrator_rights (telebot_handler_t telebot_handler_t  handle,
long long int chat_id, const char * rights,
const char * photo bool for_channels 
- - - + + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]photoNew chat photo file path.
[in]handleThe telebot handler.
[in]rightsA JSON-serialized object describing new default administrator rights.
[in]for_channelsPass True to change the default administrator rights of the bot in channels.
@@ -4150,29 +7222,29 @@

-

◆ telebot_set_chat_sticker_set()

+ +

◆ telebot_set_my_description()

- + - + - - + + - + @@ -4182,12 +7254,12 @@

-

Set a new group sticker set for a supergroup. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Use the field can_set_sticker_set optionally returned in telebot_get_chat requests to check if the bot can use it.

+

Use this method to change the bot's description.

Parameters

telebot_error_e telebot_set_chat_sticker_set telebot_error_e telebot_set_my_description (telebot_handler_t telebot_handler_t  handle,
long long int chat_id, const char * description,
const char * sticker_set_name language_code 
- - - + + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]sticker_set_nameName of the sticker set to be set as the group sticker set.
[in]handleThe telebot handler.
[in]descriptionNew bot description; 0-512 characters.
[in]language_codeA two-letter ISO 639-1 language code.
@@ -4195,29 +7267,29 @@

-

◆ telebot_set_chat_title()

+ +

◆ telebot_set_my_name()

- + - + - - + + - + @@ -4227,12 +7299,12 @@

-

Change the title of a chat. Titles can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.

+

Use this method to change the bot's name.

Parameters

telebot_error_e telebot_set_chat_title telebot_error_e telebot_set_my_name (telebot_handler_t telebot_handler_t  handle,
long long int chat_id, const char * name,
const char * title language_code 
- - - + + +
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]titleNew chat title, 1-255 characters.
[in]handleThe telebot handler.
[in]nameNew bot name; 0-64 characters.
[in]language_codeA two-letter ISO 639-1 language code.
@@ -4240,29 +7312,29 @@

-

◆ telebot_set_my_commands()

+ +

◆ telebot_set_my_short_description()

- + - + - - + + - - + + @@ -4272,12 +7344,12 @@

-

Change the list of the bot's commands.

+

Use this method to change the bot's short description.

Parameters

telebot_error_e telebot_set_my_commands telebot_error_e telebot_set_my_short_description (telebot_handler_t telebot_handler_t  handle,
telebot_bot_command_t commands[], const char * short_description,
int count const char * language_code 
- - - + + +
[in]handleThe telebot handler created with telebot_create().
[in]commandsArray of telegram bot commands.
[in]commandsThe number of commands in array.
[in]handleThe telebot handler.
[in]short_descriptionNew short description; 0-120 characters.
[in]language_codeA two-letter ISO 639-1 language code.
@@ -4285,8 +7357,8 @@

-

◆ telebot_set_proxy()

+ +

◆ telebot_set_proxy()

@@ -4294,7 +7366,7 @@

telebot_error_e telebot_set_proxy ( - telebot_handler_t  + telebot_handler_t  handle, @@ -4320,7 +7392,7 @@

Parameters
- +
[in]handleThe telebot handler created with telebot_create().
[in]handleThe telebot handler created with telebot_create().
[in]addrProxy address to use.
[in]authProxy authorization information.
@@ -4330,8 +7402,8 @@

-

◆ telebot_set_webhook()

+ +

◆ telebot_set_webhook()

@@ -4339,7 +7411,7 @@

telebot_error_e telebot_set_webhook ( - telebot_handler_t  + telebot_handler_t  handle, @@ -4363,7 +7435,7 @@

- telebot_update_type_e  + telebot_update_type_e  allowed_updates[], @@ -4383,7 +7455,7 @@

Parameters
- + @@ -4396,8 +7468,8 @@

-

◆ telebot_stop_message_live_location()

+ +

◆ telebot_stop_message_live_location()

@@ -4405,7 +7477,7 @@

telebot_error_e telebot_stop_message_live_location

- + @@ -4443,7 +7515,7 @@

Parameters

[in]handleThe telebot handler created with telebot_create().
[in]handleThe telebot handler created with telebot_create().
[in]urlHTTPS url to send updates to. Use an empty string to remove webhook integration
[in]certificateA path to to a public key certificate to upload server.
[in]max_connectionsOptional Maximum allowed number of simultaneous HTTPS connections to the webhook for update delivery, 1-100. Defaults to 40. Use lower values to limit the load on your bot's server, and higher values to increase your bot's throughput.
(telebot_handler_t telebot_handler_t  handle,
- + @@ -4455,8 +7527,8 @@

-

◆ telebot_stop_poll()

+ +

◆ telebot_stop_poll()

@@ -4464,7 +7536,7 @@

telebot_error_e telebot_stop_poll

- + @@ -4496,7 +7568,7 @@

Parameters

[in]handleThe telebot handler created with telebot_create().
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]message_idRequired if inline_message_id is not specified. Identifier of the sent message.
[in]inline_message_idRequired if chat_id and message_id are not specified. Identifier of the inline message.
(telebot_handler_t telebot_handler_t  handle,
- + @@ -4508,8 +7580,8 @@

-

◆ telebot_unban_chat_member()

+ +

◆ telebot_unban_chat_member()

@@ -4517,7 +7589,7 @@

telebot_error_e telebot_unban_chat_member

- + @@ -4543,7 +7615,7 @@

Parameters

[in]handleThe telebot handler created with telebot_create().
[in]handleThe telebot handler created with telebot_create().
[in]chat_idRequired if inline_message_id. Unique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]message_idRequired if inline_message_id is not specified. Identifier of the sent message.
[in]inline_message_idRequired if chat_id and message_id are not specified. Identifier of the inline message.
(telebot_handler_t telebot_handler_t  handle,
- +
[in]handleThe telebot handler created with telebot_create().
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername)
[in]user_idUnique identifier of the target user
@@ -4553,8 +7625,174 @@

-

◆ telebot_unpin_chat_message()

+ +

◆ telebot_unban_chat_sender_chat()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_unban_chat_sender_chat (telebot_handler_t handle,
long long int chat_id,
long long int sender_chat_id 
)
+
+ +

Use this method to unban a previously banned channel chat in a supergroup or a channel.

+
Parameters
+ + + + +
[in]handleThe telebot handler.
[in]chat_idUnique identifier for the target chat.
[in]sender_chat_idUnique identifier of the target sender chat.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_unhide_general_forum_topic()

+ +
+
+ + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_unhide_general_forum_topic (telebot_handler_t handle,
long long int chat_id 
)
+
+ +

Use this method to unhide the 'General' topic in a forum supergroup chat.

+
Parameters
+ + + +
[in]handleThe telebot handler.
[in]chat_idUnique identifier for the target chat.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_unpin_all_forum_topic_messages()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_unpin_all_forum_topic_messages (telebot_handler_t handle,
long long int chat_id,
int message_thread_id 
)
+
+ +

Use this method to unpin all messages in a forum topic.

+
Parameters
+ + + + +
[in]handleThe telebot handler.
[in]chat_idUnique identifier for the target chat.
[in]message_thread_idUnique identifier for the target message thread of the forum topic.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_unpin_all_general_forum_topic_messages()

+ +
+
+ + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_unpin_all_general_forum_topic_messages (telebot_handler_t handle,
long long int chat_id 
)
+
+ +

Use this method to unpin all messages in a General forum topic.

+
Parameters
+ + + +
[in]handleThe telebot handler.
[in]chat_idUnique identifier for the target chat.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_unpin_chat_message()

@@ -4562,7 +7800,7 @@

telebot_error_e telebot_unpin_chat_message ( - telebot_handler_t  + telebot_handler_t  handle, @@ -4582,7 +7820,7 @@

Parameters
- +
[in]handleThe telebot handler created with telebot_create().
[in]handleThe telebot handler created with telebot_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
@@ -4594,9 +7832,7 @@

diff --git a/docs/group__TELEBOT__CORE__API.html b/docs/group__TELEBOT__CORE__API.html index 415fa5f..487c7a2 100644 --- a/docs/group__TELEBOT__CORE__API.html +++ b/docs/group__TELEBOT__CORE__API.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Core Telegram Bot API @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- +

@@ -54,234 +57,461 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
Core Telegram Bot API
+
Core Telegram Bot API

The APIs for the telegram bot interface, response is unparsed json sting. More...

- - - - - - + + +

-Classes

struct  telebot_core_handler
 This object represents a core telebot handler. More...
 
struct  telebot_core_response
 This object represents a telegram bot response. More...

+Files

file  telebot-core.h
 This file contains core API for the telegram bot interface.
 
- - - - - - - + + + + + +

+

Typedefs

-typedef struct telebot_core_handler telebot_core_handler_t
 This object represents a core telebot handler.
 
-typedef struct telebot_core_response telebot_core_response_t
 This object represents a telegram bot response.
 
+typedef struct telebot_core_handler * telebot_core_handler_t
 Telebot core handler opaque type.
 
+typedef struct telebot_core_response * telebot_core_response_t
 Telebot core response opaque type.
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+

Functions

telebot_error_e telebot_core_create (telebot_core_handler_t **core_h, const char *token)
 Start function to use telebot core APIs. More...
 
telebot_error_e telebot_core_destroy (telebot_core_handler_t **core_h)
 Final function to use telebot core APIs. More...
 
telebot_error_e telebot_core_set_proxy (telebot_core_handler_t *core_h, const char *addr, const char *auth)
 Set proxy address to use telebot behind proxy. More...
 
telebot_error_e telebot_core_get_proxy (telebot_core_handler_t *core_h, char **addr)
 Get currently used proxy address. More...
 
telebot_error_e telebot_core_get_updates (telebot_core_handler_t *core_h, int offset, int limit, int timeout, const char *allowed_updates, telebot_core_response_t *response)
 Receive incoming updates (long polling). It will not work if an outgoing webhook is set up. In order to avoid getting duplicate updates, recalculate offset after each server response. More...
 
telebot_error_e telebot_core_set_webhook (telebot_core_handler_t *core_h, const char *url, const char *certificate, int max_connections, const char *allowed_updates, telebot_core_response_t *response)
 Specify a url and receive incoming updates via an outgoing webhook. Whenever there is an update for the bot, we will send an HTTPS POST request to the specified url, containing a JSON-serialized Update. In case of an unsuccessful request, we will give up after a reasonable amount of attempts. More...
 
telebot_error_e telebot_core_delete_webhook (telebot_core_handler_t *core_h, telebot_core_response_t *response)
 Remove webhook integration if you decide to switch back to getUpdates. More...
 
telebot_error_e telebot_core_get_webhook_info (telebot_core_handler_t *core_h, telebot_core_response_t *response)
 Get current webhook status. More...
 
telebot_error_e telebot_core_get_me (telebot_core_handler_t *core_h, telebot_core_response_t *response)
 Get basic information about the bot. More...
 
telebot_error_e telebot_core_send_message (telebot_core_handler_t *core_h, long long int chat_id, const char *text, const char *parse_mode, bool disable_web_page_preview, bool disable_notification, int reply_to_message_id, const char *reply_markup, telebot_core_response_t *response)
 Send text messages. More...
 
telebot_error_e telebot_core_forward_message (telebot_core_handler_t *core_h, long long int chat_id, long long int from_chat_id, bool disable_notification, int message_id, telebot_core_response_t *response)
 Forward messages of any kind. More...
 
telebot_error_e telebot_core_send_photo (telebot_core_handler_t *core_h, long long int chat_id, const char *photo, bool is_file, const char *caption, const char *parse_mode, bool disable_notification, int reply_to_message_id, const char *reply_markup, telebot_core_response_t *response)
 Send photos. More...
 
telebot_error_e telebot_core_send_audio (telebot_core_handler_t *core_h, long long int chat_id, const char *audio, bool is_file, const char *caption, const char *parse_mode, int duration, const char *performer, const char *title, const char *thumb, bool disable_notification, int reply_to_message_id, const char *reply_markup, telebot_core_response_t *response)
 Send audio files. if you want Telegram clients to display them in the music player. Your audio must be in the .mp3 format. Bots can currently send audio files of up to 50 MB in size. For backward compatibility, when the fields title and performer are both empty and the mime-type of the file to be sent is not audio/mpeg, the file will be sent as a playable voice message. For this to work, the audio must be in an .ogg file encoded with OPUS. For sending voice messages, use the telegram_core_send_voice() function instead. More...
 
telebot_error_e telebot_core_send_document (telebot_core_handler_t *core_h, long long int chat_id, const char *document, bool is_file, const char *thumb, const char *caption, const char *parse_mode, bool disable_notification, int reply_to_message_id, const char *reply_markup, telebot_core_response_t *response)
 Send general files. More...
 
telebot_error_e telebot_core_send_video (telebot_core_handler_t *core_h, long long int chat_id, const char *video, bool is_file, int duration, int width, int height, const char *thumb, const char *caption, const char *parse_mode, bool supports_streaming, bool disable_notification, int reply_to_message_id, const char *reply_markup, telebot_core_response_t *response)
 Send video files, Telegram clients support mp4 videos (other formats may be sent as Document). More...
 
telebot_error_e telebot_core_send_animation (telebot_core_handler_t *core_h, long long int chat_id, const char *animation, bool is_file, int duration, int width, int height, const char *thumb, const char *caption, const char *parse_mode, bool disable_notification, int reply_to_message_id, const char *reply_markup, telebot_core_response_t *response)
 Send animation files (GIF or H.264/MPEG-4 AVC without sound). More...
 
telebot_error_e telebot_core_send_voice (telebot_core_handler_t *core_h, long long int chat_id, const char *voice, bool is_file, const char *caption, const char *parse_mode, int duration, bool disable_notification, int reply_to_message_id, const char *reply_markup, telebot_core_response_t *response)
 Send audio files, if you want Telegram clients to display the file as a playable voice message. For this to work, your audio must be in an .ogg file encoded with OPUS (other formats may be sent as Audio or Document). More...
 
telebot_error_e telebot_core_send_video_note (telebot_core_handler_t *core_h, long long int chat_id, char *video_note, bool is_file, int duration, int length, const char *thumb, bool disable_notification, int reply_to_message_id, const char *reply_markup, telebot_core_response_t *response)
 Send video messages. As of v.4.0, Telegram clients support rounded square mp4 videos of up to 1 minute long. More...
 
telebot_error_e telebot_core_send_location (telebot_core_handler_t *core_h, long long int chat_id, float latitude, float longitude, int live_period, bool disable_notification, int reply_to_message_id, const char *reply_markup, telebot_core_response_t *response)
 Send point on the map. More...
 
telebot_error_e telebot_core_edit_message_live_location (telebot_core_handler_t *core_h, long long int chat_id, int message_id, const char *inline_message_id, float latitude, float longitude, const char *reply_markup, telebot_core_response_t *response)
 Edit live location messages sent by the bot or via the bot (for inline bots). A location can be edited until its live_period expires or editing is explicitly disabled by a call to telebot_core_stop_message_live_location(). More...
 
telebot_error_e telebot_core_stop_message_live_location (telebot_core_handler_t *core_h, long long int chat_id, int message_id, char *inline_message_id, const char *reply_markup, telebot_core_response_t *response)
 Stop updating a live location message sent by the bot or via the bot (for inline bots) before live_period expires. More...
 
telebot_error_e telebot_core_send_venue (telebot_core_handler_t *core_h, long long int chat_id, float latitude, float longitude, const char *title, const char *address, const char *foursquare_id, const char *foursquare_type, bool disable_notification, int reply_to_message_id, const char *reply_markup, telebot_core_response_t *response)
 Send information about a venue. More...
 
telebot_error_e telebot_core_send_contact (telebot_core_handler_t *core_h, long long int chat_id, const char *phone_number, const char *first_name, const char *last_name, const char *vcard, bool disable_notification, int reply_to_message_id, const char *reply_markup, telebot_core_response_t *response)
 Send phone contacts. More...
 
telebot_error_e telebot_core_send_poll (telebot_core_handler_t *core_h, long long int chat_id, const char *question, const char *options, bool is_anonymous, const char *type, bool allows_multiple_answers, int correct_option_id, bool is_closed, bool disable_notification, int reply_to_message_id, const char *reply_markup, telebot_core_response_t *response)
 Send a native poll. More...
 
telebot_error_e telebot_core_send_dice (telebot_core_handler_t *core_h, long long int chat_id, bool disable_notification, int reply_to_message_id, const char *reply_markup, telebot_core_response_t *response)
 Send a dice, which will have a random value from 1 to 6. More...
 
telebot_error_e telebot_core_send_chat_action (telebot_core_handler_t *core_h, long long int chat_id, const char *action, telebot_core_response_t *response)
 Tell the user that something is happening on the bot's side. The status is set for 5 seconds or less (when a message arrives from your bot, Telegram clients clear its typing status). Example: The ImageBot needs some time to process a request and upload the image. Instead of sending a text message along the lines of "Retrieving image, please wait…", the bot may use telebot_core_send_chat_action() with action = upload_photo. The user will see a "sending photo" status for the bot. It is only recommended to use when a response from the bot will take a noticeable amount of time to arrive. More...
 
telebot_error_e telebot_core_get_user_profile_photos (telebot_core_handler_t *core_h, int user_id, int offset, int limit, telebot_core_response_t *response)
 Get user profile pictures object. More...
 
telebot_error_e telebot_core_get_file (telebot_core_handler_t *core_h, const char *file_id, telebot_core_response_t *response)
 Get basic info about a file and prepare it for downloading. For the moment, bots can download files of up to 20MB in size. More...
 
telebot_error_e telebot_core_download_file (telebot_core_handler_t *core_h, const char *file_path, const char *out_file)
 Download file using file_path obtained with telebot_core_get_file(). It is guaranteed that the link will be valid for at least 1 hour. When the link expires, a new one can be requested by calling telebot_core_get_file() again. More...
 
telebot_error_e telebot_core_kick_chat_member (telebot_core_handler_t *core_h, long long int chat_id, int user_id, long until_date, telebot_core_response_t *response)
 Kick a user from a group, a supergroup or a channel. In the case of supergroups and channels, the user will not be able to return to the group on their own using invite links, etc., unless unbanned first. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. More...
 
telebot_error_e telebot_core_unban_chat_member (telebot_core_handler_t *core_h, long long int chat_id, int user_id, telebot_core_response_t *response)
 Unban a previously kicked user in a supergroup or channel. The user will not return to the group or channel automatically, but will be able to join via link, etc. The bot must be an administrator for this to work. More...
 
telebot_error_e telebot_core_restrict_chat_member (telebot_core_handler_t *core_h, long long int chat_id, int user_id, long until_date, bool can_send_messages, bool can_send_media_messages, bool can_send_polls, bool can_send_other_messages, bool can_add_web_page_previews, bool can_change_info, bool can_invite_users, bool can_pin_messages, telebot_core_response_t *response)
 Restrict a user in a supergroup. The bot must be an administrator in the supergroup for this to work and must have the appropriate admin rights. Pass true for all boolean parameters to lift restrictions from a user. More...
 
telebot_error_e telebot_core_promote_chat_member (telebot_core_handler_t *core_h, long long int chat_id, int user_id, bool can_change_info, bool can_post_messages, bool can_edit_messages, bool can_delete_messages, bool can_invite_users, bool can_restrict_members, bool can_pin_messages, bool can_promote_members, telebot_core_response_t *response)
 Promote or demote a user in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Pass False for all boolean parameters to demote a user. More...
 
telebot_error_e telebot_core_set_chat_admin_custom_title (telebot_core_handler_t *core_h, long long int chat_id, int user_id, const char *custom_title, telebot_core_response_t *response)
 Export an invite link to a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. More...
 
telebot_error_e telebot_core_set_chat_permissions (telebot_core_handler_t *core_h, long long int chat_id, bool can_send_messages, bool can_send_media_messages, bool can_send_polls, bool can_send_other_messages, bool can_add_web_page_previews, bool can_change_info, bool can_invite_users, bool can_pin_messages, telebot_core_response_t *response)
 Set default chat permissions for all members. The bot must be an administrator in the group or a supergroup for this to work and must have the 'can_restrict_members' admin rights. More...
 
telebot_error_e telebot_core_export_chat_invite_link (telebot_core_handler_t *core_h, long long int chat_id, telebot_core_response_t *response)
 Generate a new invite link for a chat; any previously generated link is revoked. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. More...
 
telebot_error_e telebot_core_set_chat_photo (telebot_core_handler_t *core_h, long long int chat_id, const char *photo, telebot_core_response_t *response)
 Set a new profile photo for the chat. Photos can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. More...
 
telebot_error_e telebot_core_delete_chat_photo (telebot_core_handler_t *core_h, long long int chat_id, telebot_core_response_t *response)
 Delete a chat photo. Photos can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. More...
 
telebot_error_e telebot_core_set_chat_title (telebot_core_handler_t *core_h, long long int chat_id, const char *title, telebot_core_response_t *response)
 Change the title of a chat. Titles can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. More...
 
telebot_error_e telebot_core_set_chat_description (telebot_core_handler_t *core_h, long long int chat_id, const char *description, telebot_core_response_t *response)
 Change the description of a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. More...
 
telebot_error_e telebot_core_pin_chat_message (telebot_core_handler_t *core_h, long long int chat_id, int message_id, bool disable_notification, telebot_core_response_t *response)
 Pin a message in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the 'can_pin_messages' admin right in the supergroup or 'can_edit_messages' admin right in the channel. More...
 
telebot_error_e telebot_core_unpin_chat_message (telebot_core_handler_t *core_h, long long int chat_id, telebot_core_response_t *response)
 Unpin a message in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the 'can_pin_messages' admin right in the supergroup or 'can_edit_messages' admin right in the channel. More...
 
telebot_error_e telebot_core_leave_chat (telebot_core_handler_t *core_h, long long int chat_id, telebot_core_response_t *response)
 Leave a group, supergroup or channel. More...
 
telebot_error_e telebot_core_get_chat (telebot_core_handler_t *core_h, long long int chat_id, telebot_core_response_t *response)
 Get up to date information about the chat (current name of the user for one-on-one conversations, current username of a user, group or channel, etc). More...
 
telebot_error_e telebot_core_get_chat_admins (telebot_core_handler_t *core_h, long long int chat_id, telebot_core_response_t *response)
 Get a list of administrators in a chat. Response contains an array of objects that contains information about all chat administrators except other bots. If the chat is a group or a supergroup and no administrators were appointed, only the creator will be returned. More...
 
telebot_error_e telebot_core_get_chat_members_count (telebot_core_handler_t *core_h, long long int chat_id, telebot_core_response_t *response)
 Get the number of members in a chat. More...
 
telebot_error_e telebot_core_get_chat_member (telebot_core_handler_t *core_h, long long int chat_id, int user_id, telebot_core_response_t *response)
 Get information about a member of a chat. More...
 
telebot_error_e telebot_core_set_chat_sticker_set (telebot_core_handler_t *core_h, long long int chat_id, const char *sticker_set_name, telebot_core_response_t *response)
 Set a new group sticker set for a supergroup. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Use the field can_set_sticker_set optionally returned in telebot_core_get_chat requests to check if the bot can use it. More...
 
telebot_error_e telebot_core_delete_chat_sticker_set (telebot_core_handler_t *core_h, long long int chat_id, telebot_core_response_t *response)
 Delete a group sticker set from a supergroup. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Use the field can_set_sticker_set optionally returned in telebot_core_get_chat requests to check if the bot can use this method. More...
 
telebot_error_e telebot_core_answer_callback_query (telebot_core_handler_t *core_h, const char *callback_query_id, const char *text, bool show_alert, const char *url, int cache_time, telebot_core_response_t *response)
 Send answers to callback queries sent from inline keyboards. The answer will be displayed to the user as a notification at the top of the chat screen or as an alert. More...
 
telebot_error_e telebot_core_set_my_commands (telebot_core_handler_t *core_h, const char *commands, telebot_core_response_t *response)
 Change the list of the bot's commands. More...
 
telebot_error_e telebot_core_get_my_commands (telebot_core_handler_t *core_h, telebot_core_response_t *response)
 Get the current list of the bot's commands.. More...
 
telebot_error_e telebot_core_edit_message_text (telebot_core_handler_t *core_h, long long int chat_id, int message_id, const char *inline_message_id, const char *text, const char *parse_mode, bool disable_web_page_preview, const char *reply_markup, telebot_core_response_t *response)
 Edit text and game messages sent by the bot or via the bot (for inline bots). More...
 
telebot_error_e telebot_core_edit_message_caption (telebot_core_handler_t *core_h, long long int chat_id, int message_id, const char *inline_message_id, const char *caption, const char *parse_mode, const char *reply_markup, telebot_core_response_t *response)
 Edit captions of messages sent by the bot or via the bot (for inline bots). More...
 
telebot_error_e telebot_core_edit_message_reply_markup (telebot_core_handler_t *core_h, long long int chat_id, int message_id, const char *inline_message_id, const char *reply_markup, telebot_core_response_t *response)
 Edit only the reply markup of messages sent by the bot or via the bot (for inline bots). More...
 
telebot_error_e telebot_core_stop_poll (telebot_core_handler_t *core_h, long long int chat_id, int message_id, const char *reply_markup, telebot_core_response_t *response)
 Stop a poll which was sent by the bot. More...
 
telebot_error_e telebot_core_delete_message (telebot_core_handler_t *core_h, long long int chat_id, int message_id, telebot_core_response_t *response)
 Delete a message, including service messages, with the following limitations: More...
 
void telebot_core_put_response (telebot_core_response_t *response)
 Release response data obtained with telebot core methods. More...
 
telebot_error_e telebot_core_get_response_code (telebot_core_response_t response)
 Get response error code.
 
const char * telebot_core_get_response_data (telebot_core_response_t response)
 Get response data.
 
void telebot_core_put_response (telebot_core_response_t response)
 Release response data obtained with telebot core methods.
 
telebot_error_e telebot_core_create (telebot_core_handler_t *core_h, const char *token)
 Start function to use telebot core APIs.
 
telebot_error_e telebot_core_destroy (telebot_core_handler_t *core_h)
 Final function to use telebot core APIs.
 
telebot_error_e telebot_core_set_proxy (telebot_core_handler_t core_h, const char *addr, const char *auth)
 Set proxy address to use telebot behind proxy.
 
telebot_error_e telebot_core_get_proxy (telebot_core_handler_t core_h, char **addr)
 Get currently used proxy address.
 
telebot_core_response_t telebot_core_get_updates (telebot_core_handler_t core_h, int offset, int limit, int timeout, const char *allowed_updates)
 Receive incoming updates (long polling). It will not work if an outgoing webhook is set up. In order to avoid getting duplicate updates, recalculate offset after each server response.
 
telebot_core_response_t telebot_core_set_webhook (telebot_core_handler_t core_h, const char *url, const char *certificate, int max_connections, const char *allowed_updates)
 Specify a url and receive incoming updates via an outgoing webhook. Whenever there is an update for the bot, we will send an HTTPS POST request to the specified url, containing a JSON-serialized Update. In case of an unsuccessful request, we will give up after a reasonable amount of attempts.
 
telebot_core_response_t telebot_core_delete_webhook (telebot_core_handler_t core_h)
 Remove webhook integration if you decide to switch back to getUpdates.
 
telebot_core_response_t telebot_core_get_webhook_info (telebot_core_handler_t core_h)
 Get current webhook status.
 
telebot_core_response_t telebot_core_get_me (telebot_core_handler_t core_h)
 Get basic information about the bot.
 
telebot_core_response_t telebot_core_send_message (telebot_core_handler_t core_h, long long int chat_id, const char *text, const char *parse_mode, bool disable_web_page_preview, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send text messages.
 
telebot_core_response_t telebot_core_forward_message (telebot_core_handler_t core_h, long long int chat_id, long long int from_chat_id, bool disable_notification, int message_id)
 Forward messages of any kind.
 
telebot_core_response_t telebot_core_send_photo (telebot_core_handler_t core_h, long long int chat_id, const char *photo, bool is_file, const char *caption, const char *parse_mode, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send photos.
 
telebot_core_response_t telebot_core_send_audio (telebot_core_handler_t core_h, long long int chat_id, const char *audio, bool is_file, const char *caption, const char *parse_mode, int duration, const char *performer, const char *title, const char *thumb, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send audio files. if you want Telegram clients to display them in the music player. Your audio must be in the .mp3 format. Bots can currently send audio files of up to 50 MB in size. For backward compatibility, when the fields title and performer are both empty and the mime-type of the file to be sent is not audio/mpeg, the file will be sent as a playable voice message. For this to work, the audio must be in an .ogg file encoded with OPUS. For sending voice messages, use the telegram_core_send_voice() function instead.
 
telebot_core_response_t telebot_core_send_document (telebot_core_handler_t core_h, long long int chat_id, const char *document, bool is_file, const char *thumb, const char *caption, const char *parse_mode, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send general files.
 
telebot_core_response_t telebot_core_send_video (telebot_core_handler_t core_h, long long int chat_id, const char *video, bool is_file, int duration, int width, int height, const char *thumb, const char *caption, const char *parse_mode, bool supports_streaming, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send video files, Telegram clients support mp4 videos (other formats may be sent as Document).
 
telebot_core_response_t telebot_core_send_animation (telebot_core_handler_t core_h, long long int chat_id, const char *animation, bool is_file, int duration, int width, int height, const char *thumb, const char *caption, const char *parse_mode, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send animation files (GIF or H.264/MPEG-4 AVC without sound).
 
telebot_core_response_t telebot_core_send_voice (telebot_core_handler_t core_h, long long int chat_id, const char *voice, bool is_file, const char *caption, const char *parse_mode, int duration, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send audio files, if you want Telegram clients to display the file as a playable voice message. For this to work, your audio must be in an .ogg file encoded with OPUS (other formats may be sent as Audio or Document).
 
telebot_core_response_t telebot_core_send_video_note (telebot_core_handler_t core_h, long long int chat_id, char *video_note, bool is_file, int duration, int length, const char *thumb, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send video messages. As of v.4.0, Telegram clients support rounded square mp4 videos of up to 1 minute long.
 
telebot_core_response_t telebot_core_send_media_group (telebot_core_handler_t core_h, long long int chat_id, char *media_paths[], int count, bool disable_notification, int reply_to_message_id)
 Send a group of photos as an album.
 
telebot_core_response_t telebot_core_send_location (telebot_core_handler_t core_h, long long int chat_id, float latitude, float longitude, int live_period, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send point on the map.
 
telebot_core_response_t telebot_core_edit_message_live_location (telebot_core_handler_t core_h, long long int chat_id, int message_id, const char *inline_message_id, float latitude, float longitude, const char *reply_markup)
 Edit live location messages sent by the bot or via the bot (for inline bots). A location can be edited until its live_period expires or editing is explicitly disabled by a call to telebot_core_stop_message_live_location().
 
telebot_core_response_t telebot_core_stop_message_live_location (telebot_core_handler_t core_h, long long int chat_id, int message_id, char *inline_message_id, const char *reply_markup)
 Stop updating a live location message sent by the bot or via the bot (for inline bots) before live_period expires.
 
telebot_core_response_t telebot_core_send_venue (telebot_core_handler_t core_h, long long int chat_id, float latitude, float longitude, const char *title, const char *address, const char *foursquare_id, const char *foursquare_type, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send information about a venue.
 
telebot_core_response_t telebot_core_send_contact (telebot_core_handler_t core_h, long long int chat_id, const char *phone_number, const char *first_name, const char *last_name, const char *vcard, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send phone contacts.
 
telebot_core_response_t telebot_core_send_poll (telebot_core_handler_t core_h, long long int chat_id, const char *question, const char *options, bool is_anonymous, const char *type, bool allows_multiple_answers, int correct_option_id, bool is_closed, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send a native poll.
 
telebot_core_response_t telebot_core_send_dice (telebot_core_handler_t core_h, long long int chat_id, bool disable_notification, int reply_to_message_id, const char *reply_markup)
 Send a dice, which will have a random value from 1 to 6.
 
telebot_core_response_t telebot_core_send_chat_action (telebot_core_handler_t core_h, long long int chat_id, const char *action)
 Tell the user that something is happening on the bot's side. The status is set for 5 seconds or less (when a message arrives from your bot, Telegram clients clear its typing status). Example: The ImageBot needs some time to process a request and upload the image. Instead of sending a text message along the lines of "Retrieving image, please wait…", the bot may use telebot_core_send_chat_action() with action = upload_photo. The user will see a "sending photo" status for the bot. It is only recommended to use when a response from the bot will take a noticeable amount of time to arrive.
 
telebot_core_response_t telebot_core_get_user_profile_photos (telebot_core_handler_t core_h, int user_id, int offset, int limit)
 Get user profile pictures object.
 
telebot_core_response_t telebot_core_get_file (telebot_core_handler_t core_h, const char *file_id)
 Get basic info about a file and prepare it for downloading. For the moment, bots can download files of up to 20MB in size.
 
telebot_error_e telebot_core_download_file (telebot_core_handler_t core_h, const char *file_path, const char *out_file)
 Download file using file_path obtained with telebot_core_get_file(). It is guaranteed that the link will be valid for at least 1 hour. When the link expires, a new one can be requested by calling telebot_core_get_file() again.
 
telebot_core_response_t telebot_core_kick_chat_member (telebot_core_handler_t core_h, long long int chat_id, int user_id, long until_date)
 Kick a user from a group, a supergroup or a channel. In the case of supergroups and channels, the user will not be able to return to the group on their own using invite links, etc., unless unbanned first. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
 
telebot_core_response_t telebot_core_unban_chat_member (telebot_core_handler_t core_h, long long int chat_id, int user_id)
 Unban a previously kicked user in a supergroup or channel. The user will not return to the group or channel automatically, but will be able to join via link, etc. The bot must be an administrator for this to work.
 
telebot_core_response_t telebot_core_restrict_chat_member (telebot_core_handler_t core_h, long long int chat_id, int user_id, long until_date, bool can_send_messages, bool can_send_media_messages, bool can_send_polls, bool can_send_other_messages, bool can_add_web_page_previews, bool can_change_info, bool can_invite_users, bool can_pin_messages)
 Restrict a user in a supergroup. The bot must be an administrator in the supergroup for this to work and must have the appropriate admin rights. Pass true for all boolean parameters to lift restrictions from a user.
 
telebot_core_response_t telebot_core_promote_chat_member (telebot_core_handler_t core_h, long long int chat_id, int user_id, bool can_change_info, bool can_post_messages, bool can_edit_messages, bool can_delete_messages, bool can_invite_users, bool can_restrict_members, bool can_pin_messages, bool can_promote_members)
 Promote or demote a user in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Pass False for all boolean parameters to demote a user.
 
telebot_core_response_t telebot_core_set_chat_admin_custom_title (telebot_core_handler_t core_h, long long int chat_id, int user_id, const char *custom_title)
 Export an invite link to a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
 
telebot_core_response_t telebot_core_set_chat_permissions (telebot_core_handler_t core_h, long long int chat_id, bool can_send_messages, bool can_send_media_messages, bool can_send_polls, bool can_send_other_messages, bool can_add_web_page_previews, bool can_change_info, bool can_invite_users, bool can_pin_messages)
 Set default chat permissions for all members. The bot must be an administrator in the group or a supergroup for this to work and must have the 'can_restrict_members' admin rights.
 
telebot_core_response_t telebot_core_export_chat_invite_link (telebot_core_handler_t core_h, long long int chat_id)
 Generate a new invite link for a chat; any previously generated link is revoked. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
 
telebot_core_response_t telebot_core_set_chat_photo (telebot_core_handler_t core_h, long long int chat_id, const char *photo)
 Set a new profile photo for the chat. Photos can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
 
telebot_core_response_t telebot_core_delete_chat_photo (telebot_core_handler_t core_h, long long int chat_id)
 Delete a chat photo. Photos can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
 
telebot_core_response_t telebot_core_set_chat_title (telebot_core_handler_t core_h, long long int chat_id, const char *title)
 Change the title of a chat. Titles can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
 
telebot_core_response_t telebot_core_set_chat_description (telebot_core_handler_t core_h, long long int chat_id, const char *description)
 Change the description of a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
 
telebot_core_response_t telebot_core_pin_chat_message (telebot_core_handler_t core_h, long long int chat_id, int message_id, bool disable_notification)
 Pin a message in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the 'can_pin_messages' admin right in the supergroup or 'can_edit_messages' admin right in the channel.
 
telebot_core_response_t telebot_core_unpin_chat_message (telebot_core_handler_t core_h, long long int chat_id)
 Unpin a message in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the 'can_pin_messages' admin right in the supergroup or 'can_edit_messages' admin right in the channel.
 
telebot_core_response_t telebot_core_leave_chat (telebot_core_handler_t core_h, long long int chat_id)
 Leave a group, supergroup or channel.
 
telebot_core_response_t telebot_core_get_chat (telebot_core_handler_t core_h, long long int chat_id)
 Get up to date information about the chat (current name of the user for one-on-one conversations, current username of a user, group or channel, etc).
 
telebot_core_response_t telebot_core_get_chat_admins (telebot_core_handler_t core_h, long long int chat_id)
 Get a list of administrators in a chat. Response contains an array of objects that contains information about all chat administrators except other bots. If the chat is a group or a supergroup and no administrators were appointed, only the creator will be returned.
 
telebot_core_response_t telebot_core_get_chat_members_count (telebot_core_handler_t core_h, long long int chat_id)
 Get the number of members in a chat.
 
telebot_core_response_t telebot_core_get_chat_member (telebot_core_handler_t core_h, long long int chat_id, int user_id)
 Get information about a member of a chat.
 
telebot_core_response_t telebot_core_set_chat_sticker_set (telebot_core_handler_t core_h, long long int chat_id, const char *sticker_set_name)
 Set a new group sticker set for a supergroup. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Use the field can_set_sticker_set optionally returned in telebot_core_get_chat requests to check if the bot can use it.
 
telebot_core_response_t telebot_core_delete_chat_sticker_set (telebot_core_handler_t core_h, long long int chat_id)
 Delete a group sticker set from a supergroup. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Use the field can_set_sticker_set optionally returned in telebot_core_get_chat requests to check if the bot can use this method.
 
telebot_core_response_t telebot_core_answer_callback_query (telebot_core_handler_t core_h, const char *callback_query_id, const char *text, bool show_alert, const char *url, int cache_time)
 Send answers to callback queries sent from inline keyboards. The answer will be displayed to the user as a notification at the top of the chat screen or as an alert.
 
telebot_core_response_t telebot_core_set_my_commands (telebot_core_handler_t core_h, const char *commands)
 Change the list of the bot's commands.
 
telebot_core_response_t telebot_core_get_my_commands (telebot_core_handler_t core_h)
 Get the current list of the bot's commands..
 
telebot_core_response_t telebot_core_edit_message_text (telebot_core_handler_t core_h, long long int chat_id, int message_id, const char *inline_message_id, const char *text, const char *parse_mode, bool disable_web_page_preview, const char *reply_markup)
 Edit text and game messages sent by the bot or via the bot (for inline bots).
 
telebot_core_response_t telebot_core_edit_message_caption (telebot_core_handler_t core_h, long long int chat_id, int message_id, const char *inline_message_id, const char *caption, const char *parse_mode, const char *reply_markup)
 Edit captions of messages sent by the bot or via the bot (for inline bots).
 
telebot_core_response_t telebot_core_edit_message_reply_markup (telebot_core_handler_t core_h, long long int chat_id, int message_id, const char *inline_message_id, const char *reply_markup)
 Edit only the reply markup of messages sent by the bot or via the bot (for inline bots).
 
telebot_core_response_t telebot_core_edit_message_media (telebot_core_handler_t core_h, long long int chat_id, int message_id, const char *inline_message_id, const char *media, const char *reply_markup)
 Use this method to edit animation, audio, document, photo, or video messages. If a message is part of a message album, then it can be edited only to an audio of the same type and with the same caption.
 
telebot_core_response_t telebot_core_stop_poll (telebot_core_handler_t core_h, long long int chat_id, int message_id, const char *reply_markup)
 Stop a poll which was sent by the bot.
 
telebot_core_response_t telebot_core_delete_message (telebot_core_handler_t core_h, long long int chat_id, int message_id)
 Delete a message, including service messages, with the following limitations:
 
telebot_core_response_t telebot_core_log_out (telebot_core_handler_t core_h)
 Use this method to log out from the cloud Bot API server before launching the bot locally.
 
telebot_core_response_t telebot_core_close (telebot_core_handler_t core_h)
 Use this method to close the bot instance before moving it from one local server to another.
 
telebot_core_response_t telebot_core_set_my_name (telebot_core_handler_t core_h, const char *name, const char *language_code)
 Use this method to change the bot's name.
 
telebot_core_response_t telebot_core_get_my_name (telebot_core_handler_t core_h, const char *language_code)
 Use this method to get the current bot name for the given user language.
 
telebot_core_response_t telebot_core_set_my_description (telebot_core_handler_t core_h, const char *description, const char *language_code)
 Use this method to change the bot's description.
 
telebot_core_response_t telebot_core_get_my_description (telebot_core_handler_t core_h, const char *language_code)
 Use this method to get the current bot description for the given user language.
 
telebot_core_response_t telebot_core_set_my_short_description (telebot_core_handler_t core_h, const char *short_description, const char *language_code)
 Use this method to change the bot's short description.
 
telebot_core_response_t telebot_core_get_my_short_description (telebot_core_handler_t core_h, const char *language_code)
 Use this method to get the current bot short description for the given user language.
 
telebot_core_response_t telebot_core_set_chat_menu_button (telebot_core_handler_t core_h, long long int chat_id, const char *menu_button)
 Use this method to change the bot's menu button in a private chat, or the default menu button.
 
telebot_core_response_t telebot_core_get_chat_menu_button (telebot_core_handler_t core_h, long long int chat_id)
 Use this method to get the current value of the bot's menu button in a private chat, or the default menu button.
 
telebot_core_response_t telebot_core_set_my_default_administrator_rights (telebot_core_handler_t core_h, const char *rights, bool for_channels)
 Use this method to change the default administrator rights requested by the bot when it's added as an administrator to groups or channels.
 
telebot_core_response_t telebot_core_get_my_default_administrator_rights (telebot_core_handler_t core_h, bool for_channels)
 Use this method to get the current default administrator rights of the bot.
 
telebot_core_response_t telebot_core_delete_my_commands (telebot_core_handler_t core_h, const char *scope, const char *language_code)
 Use this method to delete the list of the bot's commands for the given scope and user language.
 
telebot_core_response_t telebot_core_copy_message (telebot_core_handler_t core_h, long long int chat_id, long long int from_chat_id, int message_id, const char *caption, const char *parse_mode, const char *caption_entities, bool disable_notification, bool protect_content, int reply_to_message_id, bool allow_sending_without_reply, const char *reply_markup)
 Use this method to copy messages of any kind.
 
telebot_core_response_t telebot_core_copy_messages (telebot_core_handler_t core_h, long long int chat_id, long long int from_chat_id, const char *message_ids, bool disable_notification, bool protect_content, bool remove_caption)
 Use this method to copy messages of any kind. Service messages, giveaway messages, giveaway winners messages, and invoice messages can't be copied.
 
telebot_core_response_t telebot_core_forward_messages (telebot_core_handler_t core_h, long long int chat_id, long long int from_chat_id, const char *message_ids, bool disable_notification, bool protect_content)
 Use this method to forward multiple messages of any kind.
 
telebot_core_response_t telebot_core_delete_messages (telebot_core_handler_t core_h, long long int chat_id, const char *message_ids)
 Use this method to delete multiple messages in a chat.
 
telebot_core_response_t telebot_core_ban_chat_member (telebot_core_handler_t core_h, long long int chat_id, int user_id, long until_date, bool revoke_messages)
 Use this method to ban a user in a group, a supergroup or a channel.
 
telebot_core_response_t telebot_core_ban_chat_sender_chat (telebot_core_handler_t core_h, long long int chat_id, long long int sender_chat_id)
 Use this method to ban a channel chat in a supergroup or a channel.
 
telebot_core_response_t telebot_core_unban_chat_sender_chat (telebot_core_handler_t core_h, long long int chat_id, long long int sender_chat_id)
 Use this method to unban a previously banned channel chat in a supergroup or a channel.
 
telebot_core_response_t telebot_core_create_chat_invite_link (telebot_core_handler_t core_h, long long int chat_id, const char *name, long expire_date, int member_limit, bool creates_join_request)
 Use this method to create an additional invite link for a chat.
 
telebot_core_response_t telebot_core_edit_chat_invite_link (telebot_core_handler_t core_h, long long int chat_id, const char *invite_link, const char *name, long expire_date, int member_limit, bool creates_join_request)
 Use this method to edit a non-primary invite link created by the bot.
 
telebot_core_response_t telebot_core_revoke_chat_invite_link (telebot_core_handler_t core_h, long long int chat_id, const char *invite_link)
 Use this method to revoke an invite link created by the bot.
 
telebot_core_response_t telebot_core_approve_chat_join_request (telebot_core_handler_t core_h, long long int chat_id, int user_id)
 Use this method to approve a chat join request.
 
telebot_core_response_t telebot_core_decline_chat_join_request (telebot_core_handler_t core_h, long long int chat_id, int user_id)
 Use this method to decline a chat join request.
 
telebot_core_response_t telebot_core_set_message_reaction (telebot_core_handler_t core_h, long long int chat_id, int message_id, const char *reaction, bool is_big)
 Use this method to set a new message reaction.
 
telebot_core_response_t telebot_core_create_forum_topic (telebot_core_handler_t core_h, long long int chat_id, const char *name, int icon_color, const char *icon_custom_emoji_id)
 Use this method to create a topic in a forum supergroup chat.
 
telebot_core_response_t telebot_core_edit_forum_topic (telebot_core_handler_t core_h, long long int chat_id, int message_thread_id, const char *name, const char *icon_custom_emoji_id)
 Use this method to edit name and icon of a topic in a forum supergroup chat.
 
telebot_core_response_t telebot_core_close_forum_topic (telebot_core_handler_t core_h, long long int chat_id, int message_thread_id)
 Use this method to close an open topic in a forum supergroup chat.
 
telebot_core_response_t telebot_core_reopen_forum_topic (telebot_core_handler_t core_h, long long int chat_id, int message_thread_id)
 Use this method to reopen a closed topic in a forum supergroup chat.
 
telebot_core_response_t telebot_core_delete_forum_topic (telebot_core_handler_t core_h, long long int chat_id, int message_thread_id)
 Use this method to delete a forum topic along with all its messages in a forum supergroup chat.
 
telebot_core_response_t telebot_core_unpin_all_forum_topic_messages (telebot_core_handler_t core_h, long long int chat_id, int message_thread_id)
 Use this method to unpin all messages in a forum topic.
 
telebot_core_response_t telebot_core_get_forum_topic_icon_stickers (telebot_core_handler_t core_h)
 Use this method to get custom emoji stickers, which can be used as a forum topic icon by any user.
 
telebot_core_response_t telebot_core_edit_general_forum_topic (telebot_core_handler_t core_h, long long int chat_id, const char *name)
 Use this method to edit the name of the 'General' topic in a forum supergroup chat.
 
telebot_core_response_t telebot_core_close_general_forum_topic (telebot_core_handler_t core_h, long long int chat_id)
 Use this method to close an open 'General' topic in a forum supergroup chat.
 
telebot_core_response_t telebot_core_reopen_general_forum_topic (telebot_core_handler_t core_h, long long int chat_id)
 Use this method to reopen a closed 'General' topic in a forum supergroup chat.
 
telebot_core_response_t telebot_core_hide_general_forum_topic (telebot_core_handler_t core_h, long long int chat_id)
 Use this method to hide the 'General' topic in a forum supergroup chat.
 
telebot_core_response_t telebot_core_unhide_general_forum_topic (telebot_core_handler_t core_h, long long int chat_id)
 Use this method to unhide the 'General' topic in a forum supergroup chat.
 
telebot_core_response_t telebot_core_unpin_all_general_forum_topic_messages (telebot_core_handler_t core_h, long long int chat_id)
 Use this method to unpin all messages in a General forum topic.
 
telebot_core_response_t telebot_core_get_custom_emoji_stickers (telebot_core_handler_t core_h, const char *custom_emoji_ids)
 Use this method to get information about custom emoji stickers by their identifiers.
 
telebot_core_response_t telebot_core_answer_web_app_query (telebot_core_handler_t core_h, const char *web_app_query_id, const char *result)
 Use this method to send answers to an inline query to a user from a Web App.
 
telebot_core_response_t telebot_core_send_paid_media (telebot_core_handler_t core_h, long long int chat_id, int star_count, const char *media, const char *caption, const char *parse_mode, const char *caption_entities, bool show_caption_above_media, bool disable_notification, bool protect_content, const char *reply_parameters, const char *reply_markup)
 Use this method to send paid media to a user.
 
telebot_core_response_t telebot_core_answer_inline_query (telebot_core_handler_t core_h, const char *inline_query_id, const char *results, int cache_time, bool is_personal, const char *next_offset, const char *button)
 Use this method to send answers to an inline query.
 
telebot_core_response_t telebot_core_save_prepared_inline_message (telebot_core_handler_t core_h, long long int user_id, const char *result, bool allow_user_chats, bool allow_bot_chats, bool allow_group_chats, bool allow_channel_chats)
 Use this method to save a prepared inline message.
 
telebot_core_response_t telebot_core_send_gift (telebot_core_handler_t core_h, long long int user_id, long long int chat_id, const char *gift_id, bool pay_for_upgrade, const char *text, const char *text_parse_mode, const char *text_entities)
 Use this method to send a gift.
 
telebot_core_response_t telebot_core_gift_premium_subscription (telebot_core_handler_t core_h, long long int user_id, int month_count, int star_count, const char *text, const char *text_parse_mode, const char *text_entities)
 Use this method to gift a Telegram Premium subscription to a user.
 
telebot_core_response_t telebot_core_get_my_star_balance (telebot_core_handler_t core_h)
 Use this method to get the current Telegram Stars balance of the bot.
 
telebot_core_response_t telebot_core_get_star_transactions (telebot_core_handler_t core_h, int offset, int limit)
 Use this method to get the bot's Telegram Star transactions.
 
telebot_core_response_t telebot_core_refund_star_payment (telebot_core_handler_t core_h, long long int user_id, const char *telegram_payment_charge_id)
 Use this method to refund a successful payment in Telegram Stars.
 
telebot_core_response_t telebot_core_get_available_gifts (telebot_core_handler_t core_h)
 Use this method to get a list of gifts that can be sent by the bot to users.
 
telebot_core_response_t telebot_core_get_user_gifts (telebot_core_handler_t core_h, long long int user_id, int offset, int limit)
 Use this method to get a list of gifts received by a user.
 
telebot_core_response_t telebot_core_get_chat_gifts (telebot_core_handler_t core_h, long long int chat_id, int offset, int limit)
 Use this method to get a list of gifts received by a chat.
 
telebot_core_response_t telebot_core_upgrade_gift (telebot_core_handler_t core_h, const char *gift_id, bool pay_for_upgrade, const char *text, const char *text_parse_mode, const char *text_entities)
 Use this method to upgrade a gift.
 
telebot_core_response_t telebot_core_transfer_gift (telebot_core_handler_t core_h, long long int user_id, long long int chat_id, const char *gift_id)
 Use this method to transfer a gift.
 
telebot_core_response_t telebot_core_convert_gift_to_stars (telebot_core_handler_t core_h, const char *gift_id)
 Use this method to convert a gift to Telegram Stars.
 
telebot_core_response_t telebot_core_get_user_profile_audios (telebot_core_handler_t core_h, long long int user_id, int offset, int limit)
 Use this method to get user profile audios.
 
telebot_core_response_t telebot_core_set_my_profile_photo (telebot_core_handler_t core_h, const char *photo)
 Use this method to set the bot's profile photo.
 
telebot_core_response_t telebot_core_remove_my_profile_photo (telebot_core_handler_t core_h, const char *photo_id)
 Use this method to remove the bot's profile photo.
 
telebot_core_response_t telebot_core_get_business_connection (telebot_core_handler_t core_h, const char *business_connection_id)
 Use this method to get information about the business connection.
 
telebot_core_response_t telebot_core_get_user_chat_boosts (telebot_core_handler_t core_h, long long int chat_id, long long int user_id)
 Use this method to get user chat boosts.
 
+telebot_core_response_t telebot_core_set_game_score (telebot_core_handler_t core_h, long long int user_id, int score, bool force, bool disable_edit_message, long long int chat_id, int message_id, const char *inline_message_id)
 Use this method to set the score of the specified user in a game.
 
+telebot_core_response_t telebot_core_get_game_high_scores (telebot_core_handler_t core_h, long long int user_id, long long int chat_id, int message_id, const char *inline_message_id)
 Use this method to get data for high score tables.
 
+telebot_core_response_t telebot_core_send_game (telebot_core_handler_t core_h, long long int chat_id, int message_thread_id, const char *game_short_name, bool disable_notification, bool protect_content, const char *reply_parameters, const char *reply_markup)
 Use this method to send a game.
 
+telebot_core_response_t telebot_core_set_passport_data_errors (telebot_core_handler_t core_h, long long int user_id, const char *errors)
 Use this method to set passport data errors.
 
+telebot_core_response_t telebot_core_send_invoice (telebot_core_handler_t core_h, long long int chat_id, int message_thread_id, const char *title, const char *description, const char *payload, const char *provider_token, const char *currency, const char *prices, int max_tip_amount, const char *suggested_tip_amounts, const char *start_parameter, const char *provider_data, const char *photo_url, int photo_size, int photo_width, int photo_height, bool need_name, bool need_phone_number, bool need_email, bool need_shipping_address, bool send_phone_number_to_provider, bool send_email_to_provider, bool is_flexible, bool disable_notification, bool protect_content, const char *reply_parameters, const char *reply_markup)
 Use this method to send an invoice.
 
+telebot_core_response_t telebot_core_create_invoice_link (telebot_core_handler_t core_h, const char *title, const char *description, const char *payload, const char *provider_token, const char *currency, const char *prices, int max_tip_amount, const char *suggested_tip_amounts, const char *provider_data, const char *photo_url, int photo_size, int photo_width, int photo_height, bool need_name, bool need_phone_number, bool need_email, bool need_shipping_address, bool send_phone_number_to_provider, bool send_email_to_provider, bool is_flexible)
 Use this method to create a link for an invoice.
 
+telebot_core_response_t telebot_core_answer_shipping_query (telebot_core_handler_t core_h, const char *shipping_query_id, bool ok, const char *shipping_options, const char *error_message)
 Use this method to reply to shipping queries.
 
+telebot_core_response_t telebot_core_answer_pre_checkout_query (telebot_core_handler_t core_h, const char *pre_checkout_query_id, bool ok, const char *error_message)
 Use this method to respond to pre-checkout queries.
 

Detailed Description

The APIs for the telegram bot interface, response is unparsed json sting.

Function Documentation

- -

◆ telebot_core_answer_callback_query()

+ +

◆ telebot_core_answer_callback_query()

- + - + @@ -312,13 +542,7 @@

- - - - - - - + @@ -331,37 +555,66 @@

Parameters

telebot_error_e telebot_core_answer_callback_query telebot_core_response_t telebot_core_answer_callback_query (telebot_core_handler_ttelebot_core_handler_t  core_h,
int cache_time,
telebot_core_response_tresponse cache_time 
- + - + -
[in]core_hThe telebot core handler created with telebot_core_create().
[in]core_hThe telebot core handler created with telebot_core_create().
[in]callback_query_idUnique identifier for the query to be answered.
[in]textText of the notification. If not specified, nothing will be shown to the user, 0-200 characters
[in]show_alertIf true, an alert will be shown by the client instead of a notification at the top of the chat screen. Defaults to false.
[in]urlURL that will be opened by the user's client. If you have created a Game and accepted the conditions via , specify the URL that opens your game - note that this will only work if the query comes from a callback_game button.
[in]urlURL that will be opened by the user's client. If you have created a Game and accepted the conditions via @Botfather, specify the URL that opens your game - note that this will only work if the query comes from a callback_game button.
[in]cache_timeThe maximum amount of time in seconds that the result of the callback query may be cached client-side. Telegram apps will support caching starting in version 3.14.
[out]responseResponse data that contains "True" on success. It MUST be freed with telebot_core_put_response().
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the result (true/false), which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().

- -

◆ telebot_core_create()

+ +

◆ telebot_core_answer_inline_query()

- + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -371,41 +624,46 @@

-

Start function to use telebot core APIs.

-

This function must be used first to call, and it creates handler that is used as input to other functions in telebot core interface. This call MUST have corresponding call to telebot_core_destroy when operation is complete.

Parameters
+

Use this method to send answers to an inline query.

+
Parameters

telebot_error_e telebot_core_create telebot_core_response_t telebot_core_answer_inline_query (telebot_core_handler_t ** telebot_core_handler_t  core_h,
const char * token inline_query_id,
const char * results,
int cache_time,
bool is_personal,
const char * next_offset,
const char * button 
- - + + + + + + +
core_h[in,out]A pointer to a handler, which will be allocated and created. Obtained handler MUST be released with telebot_core_destroy()
token[in]Telegram bot token to use.
[in]core_hThe telebot core handler.
[in]inline_query_idUnique identifier for the answered query.
[in]resultsA JSON-serialized array of results for the inline query.
[in]cache_timeThe maximum amount of time in seconds that the result of the inline query may be cached on the server.
[in]is_personalPass True, if results may be cached only for the user that sent the query.
[in]next_offsetPass the offset that a client should send in the next query with the same text to receive more results.
[in]buttonA JSON-serialized object describing a button to be shown above inline query results.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response.

- -

◆ telebot_core_delete_chat_photo()

+ +

◆ telebot_core_answer_web_app_query()

- + - + - - + + - - + + @@ -415,29 +673,29 @@

-

Delete a chat photo. Photos can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.

+

Use this method to send answers to an inline query to a user from a Web App.

Parameters

telebot_error_e telebot_core_delete_chat_photo telebot_core_response_t telebot_core_answer_web_app_query (telebot_core_handler_ttelebot_core_handler_t  core_h,
long long int chat_id, const char * web_app_query_id,
telebot_core_response_tresponse const char * result 
- - - + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[out]responseResponse data that contains "True" on success. It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler.
[in]web_app_query_idUnique identifier for the query to be answered.
[in]resultA JSON-serialized object describing the message to be sent.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains SentWebAppMessage.
- -

◆ telebot_core_delete_chat_sticker_set()

+ +

◆ telebot_core_approve_chat_join_request()

- + - + @@ -449,8 +707,8 @@

- - + + @@ -460,29 +718,29 @@

-

Delete a group sticker set from a supergroup. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Use the field can_set_sticker_set optionally returned in telebot_core_get_chat requests to check if the bot can use this method.

+

Use this method to approve a chat join request.

Parameters

telebot_error_e telebot_core_delete_chat_sticker_set telebot_core_response_t telebot_core_approve_chat_join_request (telebot_core_handler_ttelebot_core_handler_t  core_h,
telebot_core_response_tresponse int user_id 
- - - + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[out]responseResponse data that contains "True" on success. It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier for the target chat.
[in]user_idUnique identifier of the target user.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the result (true/false).
- -

◆ telebot_core_delete_message()

+ +

◆ telebot_core_ban_chat_member()

- + - + @@ -495,13 +753,19 @@

- + + + + + + + - - + + @@ -511,43 +775,44 @@

-

Delete a message, including service messages, with the following limitations:

-
    -
  • A message can only be deleted if it was sent less than 48 hours ago.
  • -
  • Bots can delete outgoing messages in groups and supergroups.
  • -
  • Bots granted can_post_messages permissions can delete outgoing messages in channels.
  • -
  • If the bot is an administrator of a group, it can delete any message there.
  • -
  • If the bot has can_delete_messages permission in a supergroup or a channel, it can delete any message there.
    Parameters
    +

    Use this method to ban a user in a group, a supergroup or a channel.

    +
    Parameters

telebot_error_e telebot_core_delete_message telebot_core_response_t telebot_core_ban_chat_member (telebot_core_handler_ttelebot_core_handler_t  core_h,
int message_id, user_id,
long until_date,
telebot_core_response_tresponse bool revoke_messages 
- - - + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target message_id Message identifier to be deleted.
[out]responseResponse data that contains "True" on succes, It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier for the target chat.
[in]user_idUnique identifier of the target user.
[in]until_dateDate when the user will be unbanned, unix time.
[in]revoke_messagesPass True to delete all messages from the chat for the user that is being banned.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
- - +
Returns
telebot_core_response_t response that contains the result (true/false).
- -

◆ telebot_core_delete_webhook()

+ +

◆ telebot_core_ban_chat_sender_chat()

- + - + - - + + + + + + + + @@ -557,68 +822,69 @@

-

Remove webhook integration if you decide to switch back to getUpdates.

+

Use this method to ban a channel chat in a supergroup or a channel.

Parameters

telebot_error_e telebot_core_delete_webhook telebot_core_response_t telebot_core_ban_chat_sender_chat (telebot_core_handler_ttelebot_core_handler_t  core_h,
telebot_core_response_tresponse long long int chat_id,
long long int sender_chat_id 
- - + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[out]responseResponse data, MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier for the target chat.
[in]sender_chat_idUnique identifier of the target sender chat.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the result (true/false).
- -

◆ telebot_core_destroy()

+ +

◆ telebot_core_close()

- + - +
telebot_error_e telebot_core_destroy telebot_core_response_t telebot_core_close (telebot_core_handler_t ** telebot_core_handler_t  core_h)
-

Final function to use telebot core APIs.

-

This function must be the last function to call for a telebot core use. It is the opposite of the telebot_core_create function and MUST be called with the same handler as the input that a telebot_core_create call created.

Parameters
+

Use this method to close the bot instance before moving it from one local server to another.

+
Parameters
- +
[in,out]core_hThe A pointer to telebot core handler created with telebot_core_create().
[in]core_hThe telebot core handler.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the result (true/false).
- -

◆ telebot_core_download_file()

+ +

◆ telebot_core_close_forum_topic()

- + - + - - + + - - + + @@ -628,72 +894,74 @@

-

Download file using file_path obtained with telebot_core_get_file(). It is guaranteed that the link will be valid for at least 1 hour. When the link expires, a new one can be requested by calling telebot_core_get_file() again.

+

Use this method to close an open topic in a forum supergroup chat.

Parameters

telebot_error_e telebot_core_download_file telebot_core_response_t telebot_core_close_forum_topic (telebot_core_handler_ttelebot_core_handler_t  core_h,
const char * file_path, long long int chat_id,
const char * out_file int message_thread_id 
- - - + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]file_pathA file path take from the response of telebot_core_get_file()
[in]out_fileFull path to download and save file.
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier for the target chat.
[in]message_thread_idUnique identifier for the target message thread of the forum topic.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. No response, i.e., core_h->resp_data contains nothing.
+
Returns
telebot_core_response_t response that contains the result (true/false).
- -

◆ telebot_core_edit_message_caption()

+ +

◆ telebot_core_close_general_forum_topic()

- + - + - - - - - - - - - - - - - + - - - + + +
telebot_error_e telebot_core_edit_message_caption telebot_core_response_t telebot_core_close_general_forum_topic (telebot_core_handler_ttelebot_core_handler_t  core_h,
long long int chat_id,
int message_id,
const char * inline_message_id, chat_id 
const char * caption, )
+
+ +

Use this method to close an open 'General' topic in a forum supergroup chat.

+
Parameters
+ + + +
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier for the target chat.
+
+
+
Returns
telebot_core_response_t response that contains the result (true/false).
+ +
+
+ +

◆ telebot_core_convert_gift_to_stars()

+ +
+
+ - - - - + + + + - - - - - - - + @@ -703,33 +971,28 @@

-

Edit captions of messages sent by the bot or via the bot (for inline bots).

+

Use this method to convert a gift to Telegram Stars.

Parameters

const char * parse_mode, telebot_core_response_t telebot_core_convert_gift_to_stars (telebot_core_handler_t core_h,
const char * reply_markup,
telebot_core_response_tresponse gift_id 
- - - - - - - + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idRequired if inline_message_id. Unique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]message_idRequired if inline_message_id is not specified. Identifier of the sent message.
[in]inline_message_idRequired if chat_id and message_id are not specified. Identifier of the inline message.
[in]captionNew caption of the message.
[in]reply_markupA JSON-serialized object for an inline keyboard.
[out]responseResponse data that contains the message sent on succes, otherwise "True". It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler.
[in]gift_idIdentifier of the gift.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response.
- -

◆ telebot_core_edit_message_live_location()

+ +

◆ telebot_core_copy_message()

- + - + @@ -738,6 +1001,12 @@

long long int 

+ + + + + + @@ -748,31 +1017,49 @@

- + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + - - + + @@ -782,34 +1069,38 @@

-

Edit live location messages sent by the bot or via the bot (for inline bots). A location can be edited until its live_period expires or editing is explicitly disabled by a call to telebot_core_stop_message_live_location().

+

Use this method to copy messages of any kind.

Parameters

telebot_error_e telebot_core_edit_message_live_location telebot_core_response_t telebot_core_copy_message (telebot_core_handler_ttelebot_core_handler_t  core_h,
chat_id,
long long int from_chat_id,
const char * inline_message_id, caption,
float latitude, const char * parse_mode,
float longitude, const char * caption_entities,
const char * reply_markup, bool disable_notification,
bool protect_content,
int reply_to_message_id,
bool allow_sending_without_reply,
telebot_core_response_tresponse const char * reply_markup 
- - - - - - - - + + + + + + + + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]message_idRequired if inline_message_id is not specified. Identifier of the sent message.
[in]inline_message_idRequired if chat_id and message_id are not specified. Identifier of the inline message.
[in]latitudeLatitude of location.
[in]longitudeLongitude of location.
[in]reply_markupA JSON-serialized object for a new inline keyboard.
[out]responseResponse data that contains the sent message on success. Otherwise, True is returned. It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier for the target chat.
[in]from_chat_idUnique identifier for the chat where the original message was sent.
[in]message_idMessage identifier in the chat specified by from_chat_id.
[in]captionNew caption for media, 0-1024 characters after entities parsing.
[in]parse_modeMode for parsing entities in the new caption.
[in]caption_entitiesA JSON-serialized list of special entities that appear in the new caption.
[in]disable_notificationSends the message silently.
[in]protect_contentProtects the contents of the sent message from forwarding and saving.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]allow_sending_without_replyPass True if the message should be sent even if the specified replied-to message is not found.
[in]reply_markupAdditional interface options.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains MessageId.
- -

◆ telebot_core_edit_message_reply_markup()

+ +

◆ telebot_core_copy_messages()

- + - + @@ -821,26 +1112,32 @@

- - + + - + - - + + - - + + + + + + + + @@ -850,81 +1147,102 @@

-

Edit only the reply markup of messages sent by the bot or via the bot (for inline bots).

+

Use this method to copy messages of any kind. Service messages, giveaway messages, giveaway winners messages, and invoice messages can't be copied.

Parameters

telebot_error_e telebot_core_edit_message_reply_markup telebot_core_response_t telebot_core_copy_messages (telebot_core_handler_ttelebot_core_handler_t  core_h,
int message_id, long long int from_chat_id,
const char * inline_message_id, message_ids,
const char * reply_markup, bool disable_notification,
telebot_core_response_tresponse bool protect_content,
bool remove_caption 
- - - - - - + + + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idRequired if inline_message_id. Unique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]message_idRequired if inline_message_id is not specified. Identifier of the sent message.
[in]inline_message_idRequired if chat_id and message_id are not specified. Identifier of the inline message.
[in]reply_markupA JSON-serialized object for an inline keyboard.
[out]responseResponse data that contains the message sent on succes, otherwise "True". It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier for the target chat.
[in]from_chat_idUnique identifier for the chat where the original messages were sent.
[in]message_idsA JSON-serialized list of 1-100 identifiers of messages in the chat from_chat_id to copy.
[in]disable_notificationSends the messages silently.
[in]protect_contentProtects the contents of the sent messages from forwarding and saving.
[in]remove_captionPass True to copy the messages without their captions.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains an array of MessageId.
- -

◆ telebot_core_edit_message_text()

+ +

◆ telebot_core_create()

- + - + - - + + - - - + + +
telebot_error_e telebot_core_edit_message_text telebot_error_e telebot_core_create (telebot_core_handler_ttelebot_core_handler_t core_h,
long long int chat_id, const char * token 
int message_id, )
+
+ +

Start function to use telebot core APIs.

+

This function must be used first to call, and it creates handler that is used as input to other functions in telebot core interface. This call MUST have corresponding call to telebot_core_destroy when operation is complete.

Parameters
+ + + +
core_h[out]A pointer to a handler, which will be allocated and created. Obtained handler MUST be released with telebot_core_destroy()
token[in]Telegram bot token to use.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_core_create_chat_invite_link()

+ +
+
+ - - - - + + + + - - + + - + - - + + - - + + - - + + @@ -934,35 +1252,32 @@

-

Edit text and game messages sent by the bot or via the bot (for inline bots).

+

Use this method to create an additional invite link for a chat.

Parameters

const char * inline_message_id, telebot_core_response_t telebot_core_create_chat_invite_link (telebot_core_handler_t core_h,
const char * text, long long int chat_id,
const char * parse_mode, name,
bool disable_web_page_preview, long expire_date,
const char * reply_markup, int member_limit,
telebot_core_response_tresponse bool creates_join_request 
- - - - - - - - - + + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idRequired if inline_message_id. Unique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]message_idRequired if inline_message_id is not specified. Identifier of the sent message.
[in]inline_message_idRequired if chat_id and message_id are not specified. Identifier of the inline message.
[in]textNew text of the message.
[in]parse_modeSend Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width text or inline URLs in your bot's message.
[in]disable_web_page_priviewDisables link previews for links in this message.
[in]reply_markupA JSON-serialized object for an inline keyboard.
[out]responseResponse data that contains the message sent on succes, otherwise "True". It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier for the target chat.
[in]nameInvite link name; 0-32 characters.
[in]expire_datePoint in time (Unix timestamp) when the link will expire.
[in]member_limitThe maximum number of users that can be members of the chat simultaneously after joining the chat via this invite link; 1-99999.
[in]creates_join_requestTrue, if users joining the chat via the link need to be approved by chat administrators.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains ChatInviteLink.
- -

◆ telebot_core_export_chat_invite_link()

+ +

◆ telebot_core_create_forum_topic()

- + - + @@ -974,8 +1289,20 @@

- - + + + + + + + + + + + + + + @@ -985,29 +1312,31 @@

-

Generate a new invite link for a chat; any previously generated link is revoked. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.

+

Use this method to create a topic in a forum supergroup chat.

Parameters

telebot_error_e telebot_core_export_chat_invite_link telebot_core_response_t telebot_core_create_forum_topic (telebot_core_handler_ttelebot_core_handler_t  core_h,
telebot_core_response_tresponse const char * name,
int icon_color,
const char * icon_custom_emoji_id 
- - - + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[out]responseResponse data that contains the new invite link on success. It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier for the target chat.
[in]nameTopic name, 1-128 characters.
[in]icon_colorColor of the topic icon in RGB format.
[in]icon_custom_emoji_idUnique identifier of the custom emoji used as the topic icon.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains ForumTopic.
- -

◆ telebot_core_forward_message()

+ +

◆ telebot_core_decline_chat_join_request()

+ +

◆ telebot_core_delete_chat_photo()

+ +
+
+ - - - - + + + + - - + + @@ -1048,45 +1398,35 @@

-

Forward messages of any kind.

+

Delete a chat photo. Photos can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.

Parameters

int message_id, telebot_core_response_t telebot_core_delete_chat_photo (telebot_core_handler_t core_h,
telebot_core_response_tresponse long long int chat_id 
- + - - - -
[in]core_hThe telebot core handler created with telebot_core_create().
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]from_chat_idUnique identifier for the chat where the original message was sent (or channel username in the format @channelusername).
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]message_idUnique message identifier.
[out]responseResponse data that contains the sent message on success. It MUST be freed with telebot_core_put_response().
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the result (true/false), which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
- -

◆ telebot_core_get_chat()

+ +

◆ telebot_core_delete_chat_sticker_set()

- + - + - - - - - - - + @@ -1096,29 +1436,28 @@

-

Get up to date information about the chat (current name of the user for one-on-one conversations, current username of a user, group or channel, etc).

+

Delete a group sticker set from a supergroup. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Use the field can_set_sticker_set optionally returned in telebot_core_get_chat requests to check if the bot can use this method.

Parameters

telebot_error_e telebot_core_get_chat telebot_core_response_t telebot_core_delete_chat_sticker_set (telebot_core_handler_ttelebot_core_handler_t  core_h,
long long int chat_id,
telebot_core_response_tresponse chat_id 
- + -
[in]core_hThe telebot core handler created with telebot_core_create().
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[out]responseResponse data that contains a Chat object on success. It MUST be freed with telebot_core_put_response().
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the result (true/false), which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
- -

◆ telebot_core_get_chat_admins()

+ +

◆ telebot_core_delete_forum_topic()

- + - + @@ -1130,8 +1469,8 @@

- - + + @@ -1141,29 +1480,29 @@

-

Get a list of administrators in a chat. Response contains an array of objects that contains information about all chat administrators except other bots. If the chat is a group or a supergroup and no administrators were appointed, only the creator will be returned.

+

Use this method to delete a forum topic along with all its messages in a forum supergroup chat.

Parameters

telebot_error_e telebot_core_get_chat_admins telebot_core_response_t telebot_core_delete_forum_topic (telebot_core_handler_ttelebot_core_handler_t  core_h,
telebot_core_response_tresponse int message_thread_id 
- - - + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[out]responseResponse data that contains a array of chat members on success. It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier for the target chat.
[in]message_thread_idUnique identifier for the target message thread of the forum topic.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the result (true/false).
- -

◆ telebot_core_get_chat_member()

+ +

◆ telebot_core_delete_message()

- + - + @@ -1176,13 +1515,7 @@

- - - - - - - + @@ -1192,30 +1525,35 @@

-

Get information about a member of a chat.

-
Parameters
+

Delete a message, including service messages, with the following limitations:

+
    +
  • A message can only be deleted if it was sent less than 48 hours ago.
  • +
  • Bots can delete outgoing messages in groups and supergroups.
  • +
  • Bots granted can_post_messages permissions can delete outgoing messages in channels.
  • +
  • If the bot is an administrator of a group, it can delete any message there.
  • +
  • If the bot has can_delete_messages permission in a supergroup or a channel, it can delete any message there.
    Parameters

telebot_error_e telebot_core_get_chat_member telebot_core_response_t telebot_core_delete_message (telebot_core_handler_ttelebot_core_handler_t  core_h,
int user_id,
telebot_core_response_tresponse message_id 
- - - - + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]user_idUnique identifier of the target user.
[out]responseResponse data that contains a chat member on success. It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target message_id Message identifier to be deleted.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the result (true/false), which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
+ +
- -

◆ telebot_core_get_chat_members_count()

+ +

◆ telebot_core_delete_messages()

- + - + @@ -1227,8 +1565,8 @@

- - + + @@ -1238,42 +1576,42 @@

-

Get the number of members in a chat.

+

Use this method to delete multiple messages in a chat.

Parameters

telebot_error_e telebot_core_get_chat_members_count telebot_core_response_t telebot_core_delete_messages (telebot_core_handler_ttelebot_core_handler_t  core_h,
telebot_core_response_tresponse const char * message_ids 
- - - + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[out]responseResponse data that contains number of chat members on success. It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier for the target chat.
[in]message_idsA JSON-serialized list of 1-100 identifiers of messages to delete.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the result (true/false).
- -

◆ telebot_core_get_file()

+ +

◆ telebot_core_delete_my_commands()

- + - + - + - - + + @@ -1283,88 +1621,66 @@

-

Get basic info about a file and prepare it for downloading. For the moment, bots can download files of up to 20MB in size.

+

Use this method to delete the list of the bot's commands for the given scope and user language.

Parameters

telebot_error_e telebot_core_get_file telebot_core_response_t telebot_core_delete_my_commands (telebot_core_handler_ttelebot_core_handler_t  core_h,
const char * file_id, scope,
telebot_core_response_tresponse const char * language_code 
- - - + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]file_idFile identifier to get info about.
[out]responseResponse data that contains file object on success. It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler.
[in]scopeA JSON-serialized object, describing scope of users for which the commands are relevant.
[in]language_codeA two-letter ISO 639-1 language code.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the result (true/false).
- -

◆ telebot_core_get_me()

+ +

◆ telebot_core_delete_webhook()

- + - - - - - - - - - - + + - -
telebot_error_e telebot_core_get_me telebot_core_response_t telebot_core_delete_webhook (telebot_core_handler_tcore_h,
telebot_core_response_tresponse 
telebot_core_handler_t core_h) )
-

Get basic information about the bot.

+

Remove webhook integration if you decide to switch back to getUpdates.

Parameters
- - +
[in]core_hThe telebot core handler created with telebot_core_create().
[out]responseResponse data, MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler created with telebot_core_create().
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the result (true/false), which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
- -

◆ telebot_core_get_my_commands()

+ +

◆ telebot_core_destroy()

- + - - - - - - - - - - + + - -
telebot_error_e telebot_core_get_my_commands telebot_error_e telebot_core_destroy (telebot_core_handler_tcore_h,
telebot_core_response_tresponse 
telebot_core_handler_tcore_h) )
-

Get the current list of the bot's commands..

-
Parameters
+

Final function to use telebot core APIs.

+

This function must be the last function to call for a telebot core use. It is the opposite of the telebot_core_create function and MUST be called with the same handler as the input that a telebot_core_create call created.

Parameters
- - +
[in]core_hThe telebot core handler created with telebot_core_create().
[out]responseResponse data that contains "True" on success. It MUST be freed with telebot_core_put_response().
[in,out]core_hThe A pointer to telebot core handler created with telebot_core_create().
@@ -1372,23 +1688,29 @@

-

◆ telebot_core_get_proxy()

+ +

◆ telebot_core_download_file()

- + - + - - + + + + + + + + @@ -1398,59 +1720,66 @@

-

Get currently used proxy address.

+

Download file using file_path obtained with telebot_core_get_file(). It is guaranteed that the link will be valid for at least 1 hour. When the link expires, a new one can be requested by calling telebot_core_get_file() again.

Parameters

telebot_error_e telebot_core_get_proxy telebot_error_e telebot_core_download_file (telebot_core_handler_ttelebot_core_handler_t  core_h,
char ** addr const char * file_path,
const char * out_file 
- - + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[out]addrCurrent proxy address or NULL, MUST be freed after use.
[in]core_hThe telebot core handler created with telebot_core_create().
[in]file_pathA file path take from the response of telebot_core_get_file()
[in]out_fileFull path to download and save file.

-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value. No response, i.e., core_h->resp_data contains nothing.
- -

◆ telebot_core_get_updates()

+ +

◆ telebot_core_edit_chat_invite_link()

- + - + - - + + - - + + - - + + - - + + + + + + + + - - + + @@ -1460,57 +1789,58 @@

-

Receive incoming updates (long polling). It will not work if an outgoing webhook is set up. In order to avoid getting duplicate updates, recalculate offset after each server response.

+

Use this method to edit a non-primary invite link created by the bot.

Parameters

telebot_error_e telebot_core_get_updates telebot_core_response_t telebot_core_edit_chat_invite_link (telebot_core_handler_ttelebot_core_handler_t  core_h,
int offset, long long int chat_id,
int limit, const char * invite_link,
int timeout, const char * name,
const char * allowed_updates, long expire_date,
int member_limit,
telebot_core_response_tresponse bool creates_join_request 
- - - - - - + + + + + + +
[in]core_hTelebot core handler creating using telebot_core_create().
[in]offsetIdentifier of the first update to be returned. Must be greater by one than the highest among the identifiers of previously received updates. By default, updates starting with the earliest unconfirmed update are returned. An update is considered confirmed as soon as the function is called with an offset higher than its update_id.
[in]limitLimits the number of updates to be retrieved. Values between 1—100 are accepted. Defaults to 100.
[in]timeoutTimeout in seconds for long polling. Defaults to 0, i.e. usual short polling.
[in]allowed_updatesList the types of update you want your bot to receive. Specify an empty list to receive all updates regardless of type (default).
[out]responseResponse data, MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier for the target chat.
[in]invite_linkThe invite link to edit.
[in]nameInvite link name; 0-32 characters.
[in]expire_datePoint in time (Unix timestamp) when the link will expire.
[in]member_limitThe maximum number of users that can be members of the chat simultaneously after joining the chat via this invite link; 1-99999.
[in]creates_join_requestTrue, if users joining the chat via the link need to be approved by chat administrators.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains ChatInviteLink.
- -

◆ telebot_core_get_user_profile_photos()

+ +

◆ telebot_core_edit_forum_topic()

- + - + - - + + - + - - + + - - + + @@ -1520,38 +1850,44 @@

-

Get user profile pictures object.

+

Use this method to edit name and icon of a topic in a forum supergroup chat.

Parameters

telebot_error_e telebot_core_get_user_profile_photos telebot_core_response_t telebot_core_edit_forum_topic (telebot_core_handler_ttelebot_core_handler_t  core_h,
int user_id, long long int chat_id,
int offset, message_thread_id,
int limit, const char * name,
telebot_core_response_tresponse const char * icon_custom_emoji_id 
- - - - - + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]user_idUnique identifier of the target user.
[in]offsetSequential number of the first photo to be returned. By default, all photos are returned.
[in]limitLimits the number of photos to be retrieved. Values between 1—100 are accepted. Defaults to 100.
[out]responseResponse data that contains user's profile photos on success. It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier for the target chat.
[in]message_thread_idUnique identifier for the target message thread of the forum topic.
[in]nameNew topic name, 0-128 characters.
[in]icon_custom_emoji_idNew unique identifier of the custom emoji used as the topic icon.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the result (true/false).
- -

◆ telebot_core_get_webhook_info()

+ +

◆ telebot_core_edit_general_forum_topic()

- + - + - - + + + + + + + + @@ -1561,28 +1897,29 @@

-

Get current webhook status.

+

Use this method to edit the name of the 'General' topic in a forum supergroup chat.

Parameters

telebot_error_e telebot_core_get_webhook_info telebot_core_response_t telebot_core_edit_general_forum_topic (telebot_core_handler_ttelebot_core_handler_t  core_h,
telebot_core_response_tresponse long long int chat_id,
const char * name 
- - + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[out]responseResponse data, MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier for the target chat.
[in]nameNew topic name, 1-128 characters.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the result (true/false).
- -

◆ telebot_core_kick_chat_member()

+ +

◆ telebot_core_edit_message_caption()

- + - + @@ -1595,19 +1932,31 @@

- + - - + + + + + + + + + + + + + + - - + + @@ -1617,31 +1966,32 @@

-

Kick a user from a group, a supergroup or a channel. In the case of supergroups and channels, the user will not be able to return to the group on their own using invite links, etc., unless unbanned first. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.

+

Edit captions of messages sent by the bot or via the bot (for inline bots).

Parameters

telebot_error_e telebot_core_kick_chat_member telebot_core_response_t telebot_core_edit_message_caption (telebot_core_handler_ttelebot_core_handler_t  core_h,
int user_id, message_id,
long until_date, const char * inline_message_id,
const char * caption,
const char * parse_mode,
telebot_core_response_tresponse const char * reply_markup 
- - - - - + + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername)
[in]user_idUnique identifier of the target user
[in]until_dateDate when the user will be unbanned, unix time. If user is banned for more than 366 days or less than 30 seconds from the current time they are considered to be banned forever.
[out]responseResponse data that contains "True" on success. It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idRequired if inline_message_id. Unique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]message_idRequired if inline_message_id is not specified. Identifier of the sent message.
[in]inline_message_idRequired if chat_id and message_id are not specified. Identifier of the inline message.
[in]captionNew caption of the message.
[in]reply_markupA JSON-serialized object for an inline keyboard.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the message edited, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
- -

◆ telebot_core_leave_chat()

+ +

◆ telebot_core_edit_message_live_location()

- + - + @@ -1653,8 +2003,32 @@

- - + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1664,29 +2038,33 @@

-

Leave a group, supergroup or channel.

+

Edit live location messages sent by the bot or via the bot (for inline bots). A location can be edited until its live_period expires or editing is explicitly disabled by a call to telebot_core_stop_message_live_location().

Parameters

telebot_error_e telebot_core_leave_chat telebot_core_response_t telebot_core_edit_message_live_location (telebot_core_handler_ttelebot_core_handler_t  core_h,
telebot_core_response_tresponse int message_id,
const char * inline_message_id,
float latitude,
float longitude,
const char * reply_markup 
- + - + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[out]responseResponse data that contains "True" on success. It MUST be freed with telebot_core_put_response().
[in]message_idRequired if inline_message_id is not specified. Identifier of the sent message.
[in]inline_message_idRequired if chat_id and message_id are not specified. Identifier of the inline message.
[in]latitudeLatitude of location.
[in]longitudeLongitude of location.
[in]reply_markupA JSON-serialized object for a new inline keyboard.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the result (true/false), which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
- -

◆ telebot_core_pin_chat_message()

+ +

◆ telebot_core_edit_message_media()

- + - + @@ -1704,14 +2082,20 @@

- - - + + + + + + + + + - - + + @@ -1721,31 +2105,32 @@

-

Pin a message in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the 'can_pin_messages' admin right in the supergroup or 'can_edit_messages' admin right in the channel.

+

Use this method to edit animation, audio, document, photo, or video messages. If a message is part of a message album, then it can be edited only to an audio of the same type and with the same caption.

Parameters

telebot_error_e telebot_core_pin_chat_message telebot_core_response_t telebot_core_edit_message_media (telebot_core_handler_ttelebot_core_handler_t  core_h,
bool disable_notification,
const char * inline_message_id,
const char * media,
telebot_core_response_tresponse const char * reply_markup 
- - - - - + + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]message_idIdentifier of a message to pin.
[in]disable_notificationPass True, if it is not necessary to send a notification to all chat members about the new pinned message. Notifications are always disabled in channels.
[out]responseResponse data that contains "True" on success. It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler.
[in]chat_idRequired if inline_message_id is not specified.
[in]message_idRequired if inline_message_id is not specified.
[in]inline_message_idRequired if chat_id and message_id are not specified.
[in]mediaA JSON-serialized object for a new media content of the message.
[in]reply_markupA JSON-serialized object for a new inline keyboard.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the edited message.
- -

◆ telebot_core_promote_chat_member()

+ +

◆ telebot_core_edit_message_reply_markup()

+ +

◆ telebot_core_edit_message_text()

+ +
+
+ + + + + + - - + + - - + + - - + + - - + + - - + + - + - - + + @@ -1822,64 +2242,72 @@

-

Promote or demote a user in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Pass False for all boolean parameters to demote a user.

+

Edit text and game messages sent by the bot or via the bot (for inline bots).

Parameters

telebot_core_response_t telebot_core_edit_message_text (telebot_core_handler_t core_h,
bool can_edit_messages, long long int chat_id,
bool can_delete_messages, int message_id,
bool can_invite_users, const char * inline_message_id,
bool can_restrict_members, const char * text,
bool can_pin_messages, const char * parse_mode,
bool can_promote_members, disable_web_page_preview,
telebot_core_response_tresponse const char * reply_markup 
- - - - - - - - - - - - + + + + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]user_idUnique identifier of the target user.
[in]can_change_infoPass true, if the administrator can change chat title, photo and other settings.
[in]can_post_messagesPass true, if the administrator can create channel posts, channels only.
[in]can_edit_messagesPass true, if the administrator can edit messages of other users and can pin messages, channels only.
[in]can_delete_messagesPass true, if the administrator can delete messages of other users.
[in]can_invite_usersPass true, if the administrator can invite new users to the chat.
[in]can_restrict_membersPass true, if the administrator can restrict, ban or unban chat members.
[in]can_pin_messagesPass true, if the administrator can pin messages, supergroups only.
[in]can_promote_membersPass true, if the administrator can add new administrators with a subset of his own privileges or demote administrators that he has promoted, directly or indirectly (promoted by administrators that were appointed by him).
[out]responseResponse data that contains "True" on success. It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idRequired if inline_message_id. Unique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]message_idRequired if inline_message_id is not specified. Identifier of the sent message.
[in]inline_message_idRequired if chat_id and message_id are not specified. Identifier of the inline message.
[in]textNew text of the message.
[in]parse_modeSend Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width text or inline URLs in your bot's message.
[in]disable_web_page_priviewDisables link previews for links in this message.
[in]reply_markupA JSON-serialized object for an inline keyboard.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the message edited, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
- -

◆ telebot_core_put_response()

+ +

◆ telebot_core_export_chat_invite_link()

- + - - + + + + + + + + + + + +
void telebot_core_put_response telebot_core_response_t telebot_core_export_chat_invite_link (telebot_core_response_tresponse)telebot_core_handler_t core_h,
long long int chat_id 
)
-

Release response data obtained with telebot core methods.

+

Generate a new invite link for a chat; any previously generated link is revoked. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.

Parameters
- + +
[in]responsePointer to response to release.
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
+
Returns
telebot_core_response_t response that contains new invite link, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
- -

◆ telebot_core_restrict_chat_member()

+ +

◆ telebot_core_forward_message()

- + - + @@ -1891,68 +2319,20 @@

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - - + + @@ -1962,32 +2342,31 @@

-

Restrict a user in a supergroup. The bot must be an administrator in the supergroup for this to work and must have the appropriate admin rights. Pass true for all boolean parameters to lift restrictions from a user.

+

Forward messages of any kind.

Parameters

telebot_error_e telebot_core_restrict_chat_member telebot_core_response_t telebot_core_forward_message (telebot_core_handler_ttelebot_core_handler_t  core_h,
int user_id,
long until_date,
bool can_send_messages,
bool can_send_media_messages,
bool can_send_polls,
bool can_send_other_messages,
bool can_add_web_page_previews,
bool can_change_info,
bool can_invite_users, long long int from_chat_id,
bool can_pin_messages, disable_notification,
telebot_core_response_tresponse int message_id 
- - - - - - - + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername)
[in]user_idUnique identifier of the target user.
[in]until_dateDate when restrictions will be lifted for the user, unix time. If user is restricted for more than 366 days or less than 30 seconds from the current time, they are considered to be restricted forever.
[in]can_send_messagesPass true, if the user is allowed to send text messages, contacts, locations and venues
[in]can_send_media_messagesPass true, if the user is allowed to send audios, documents, photos, videos, video notes and voice notes, implies can_send_messages
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]from_chat_idUnique identifier for the chat where the original message was sent (or channel username in the format @channelusername).
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]message_idUnique message identifier.
+
Returns
telebot_core_response_t response that contains the sent message, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
- -

◆ telebot_core_send_animation()

+ +

◆ telebot_core_forward_messages()

- + - + @@ -1999,50 +2378,14 @@

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + @@ -2053,20 +2396,8 @@

- - - - - - - - - - - - - - + + @@ -2076,53 +2407,2341 @@

-

Send animation files (GIF or H.264/MPEG-4 AVC without sound).

+

Use this method to forward multiple messages of any kind.

Parameters

telebot_error_e telebot_core_send_animation telebot_core_response_t telebot_core_forward_messages (telebot_core_handler_ttelebot_core_handler_t  core_h,
const char * animation,
bool is_file,
int duration,
int width,
int height,
const char * thumb,
const char * caption, long long int from_chat_id,
const char * parse_mode, message_ids,
int reply_to_message_id,
const char * reply_markup,
telebot_core_response_tresponse bool protect_content 
- - - - - - - - - - - - - - + + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]animationAnimation file to send. It is either a file_id to resend an animation that exists on the Telegram servers, or a path to animation file.
[in]is_fileFalse if animation is file_id, true, if animation is a file path.
[in]durationDuration of sent animation in seconds.
[in]widthAnimation width
[in]heightAnimation height
[in]thumbThumbnail file path of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail's width and height should not exceed 320. Optional. Set to NULL to ignore.
[in]captionAnimation caption. (may also be used when resending animations).
[in]parse_modeSend Markdown or HTML, if you want Telegram apps to show bold,
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]reply_markupAdditional interface options. An object for a custom reply keyboard, instructions to hide keyboard or to force a reply from the user.
[out]responseResponse data that contains the sent message on success. It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier for the target chat.
[in]from_chat_idUnique identifier for the chat where the original messages were sent.
[in]message_idsA JSON-serialized list of 1-100 identifiers of messages in the chat from_chat_id to forward.
[in]disable_notificationSends the messages silently.
[in]protect_contentProtects the contents of the sent messages from forwarding and saving.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains an array of MessageId.
- -

◆ telebot_core_send_audio()

+ +

◆ telebot_core_get_available_gifts()

- + - - - - - - - - - - - + + - - + +
telebot_error_e telebot_core_send_audio telebot_core_response_t telebot_core_get_available_gifts (telebot_core_handler_tcore_h,
long long int chat_id,
telebot_core_handler_t core_h) const char * audio,
+
+ +

Use this method to get a list of gifts that can be sent by the bot to users.

+
Parameters
+ + +
[in]core_hThe telebot core handler.
+
+
+
Returns
telebot_core_response_t response.
+ +
+
+ +

◆ telebot_core_get_business_connection()

+ +
+
+ + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_get_business_connection (telebot_core_handler_t core_h,
const char * business_connection_id 
)
+
+ +

Use this method to get information about the business connection.

+
Parameters
+ + + +
[in]core_hThe telebot core handler.
[in]business_connection_idUnique identifier of the business connection.
+
+
+
Returns
telebot_core_response_t response.
+ +
+
+ +

◆ telebot_core_get_chat()

+ +
+
+ + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_get_chat (telebot_core_handler_t core_h,
long long int chat_id 
)
+
+ +

Get up to date information about the chat (current name of the user for one-on-one conversations, current username of a user, group or channel, etc).

+
Parameters
+ + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
+
+
+
Returns
telebot_core_response_t response that contains chat object, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
+ +
+
+ +

◆ telebot_core_get_chat_admins()

+ +
+
+ + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_get_chat_admins (telebot_core_handler_t core_h,
long long int chat_id 
)
+
+ +

Get a list of administrators in a chat. Response contains an array of objects that contains information about all chat administrators except other bots. If the chat is a group or a supergroup and no administrators were appointed, only the creator will be returned.

+
Parameters
+ + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
+
+
+
Returns
telebot_core_response_t response that contains an array of chat members, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
+ +
+
+ +

◆ telebot_core_get_chat_gifts()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_get_chat_gifts (telebot_core_handler_t core_h,
long long int chat_id,
int offset,
int limit 
)
+
+ +

Use this method to get a list of gifts received by a chat.

+
Parameters
+ + + + + +
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier of the target chat.
[in]offsetNumber of gifts to skip.
[in]limitMaximum number of gifts to be retrieved.
+
+
+
Returns
telebot_core_response_t response.
+ +
+
+ +

◆ telebot_core_get_chat_member()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_get_chat_member (telebot_core_handler_t core_h,
long long int chat_id,
int user_id 
)
+
+ +

Get information about a member of a chat.

+
Parameters
+ + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]user_idUnique identifier of the target user.
+
+
+
Returns
telebot_core_response_t response that contains a chat member, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
+ +
+
+ +

◆ telebot_core_get_chat_members_count()

+ +
+
+ + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_get_chat_members_count (telebot_core_handler_t core_h,
long long int chat_id 
)
+
+ +

Get the number of members in a chat.

+
Parameters
+ + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
+
+
+
Returns
telebot_core_response_t response that contains the number of chat members, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
+ +
+
+ +

◆ telebot_core_get_chat_menu_button()

+ +
+
+ + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_get_chat_menu_button (telebot_core_handler_t core_h,
long long int chat_id 
)
+
+ +

Use this method to get the current value of the bot's menu button in a private chat, or the default menu button.

+
Parameters
+ + + +
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier for the target private chat.
+
+
+
Returns
telebot_core_response_t response that contains MenuButton.
+ +
+
+ +

◆ telebot_core_get_custom_emoji_stickers()

+ +
+
+ + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_get_custom_emoji_stickers (telebot_core_handler_t core_h,
const char * custom_emoji_ids 
)
+
+ +

Use this method to get information about custom emoji stickers by their identifiers.

+
Parameters
+ + + +
[in]core_hThe telebot core handler.
[in]custom_emoji_idsList of custom emoji identifiers.
+
+
+
Returns
telebot_core_response_t response that contains an array of Sticker objects.
+ +
+
+ +

◆ telebot_core_get_file()

+ +
+
+ + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_get_file (telebot_core_handler_t core_h,
const char * file_id 
)
+
+ +

Get basic info about a file and prepare it for downloading. For the moment, bots can download files of up to 20MB in size.

+
Parameters
+ + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]file_idFile identifier to get info about.
+
+
+
Returns
telebot_core_response_t response that contains file object, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
+ +
+
+ +

◆ telebot_core_get_forum_topic_icon_stickers()

+ +
+
+ + + + + + + + +
telebot_core_response_t telebot_core_get_forum_topic_icon_stickers (telebot_core_handler_t core_h)
+
+ +

Use this method to get custom emoji stickers, which can be used as a forum topic icon by any user.

+
Parameters
+ + +
[in]core_hThe telebot core handler.
+
+
+
Returns
telebot_core_response_t response that contains an array of Sticker objects.
+ +
+
+ +

◆ telebot_core_get_me()

+ +
+
+ + + + + + + + +
telebot_core_response_t telebot_core_get_me (telebot_core_handler_t core_h)
+
+ +

Get basic information about the bot.

+
Parameters
+ + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[out]responseResponse data, MUST be freed with telebot_core_put_response().
+
+
+
Returns
telebot_core_response_t response that contains bot information, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
+ +
+
+ +

◆ telebot_core_get_my_commands()

+ +
+
+ + + + + + + + +
telebot_core_response_t telebot_core_get_my_commands (telebot_core_handler_t core_h)
+
+ +

Get the current list of the bot's commands..

+
Parameters
+ + +
[in]core_hThe telebot core handler created with telebot_core_create().
+
+
+
Returns
telebot_core_response_t response that contains an array of bot commands, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
+ +
+
+ +

◆ telebot_core_get_my_default_administrator_rights()

+ +
+
+ + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_get_my_default_administrator_rights (telebot_core_handler_t core_h,
bool for_channels 
)
+
+ +

Use this method to get the current default administrator rights of the bot.

+
Parameters
+ + + +
[in]core_hThe telebot core handler.
[in]for_channelsPass True to get default administrator rights of the bot in channels.
+
+
+
Returns
telebot_core_response_t response that contains ChatAdministratorRights.
+ +
+
+ +

◆ telebot_core_get_my_description()

+ +
+
+ + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_get_my_description (telebot_core_handler_t core_h,
const char * language_code 
)
+
+ +

Use this method to get the current bot description for the given user language.

+
Parameters
+ + + +
[in]core_hThe telebot core handler.
[in]language_codeA two-letter ISO 639-1 language code.
+
+
+
Returns
telebot_core_response_t response that contains BotDescription.
+ +
+
+ +

◆ telebot_core_get_my_name()

+ +
+
+ + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_get_my_name (telebot_core_handler_t core_h,
const char * language_code 
)
+
+ +

Use this method to get the current bot name for the given user language.

+
Parameters
+ + + +
[in]core_hThe telebot core handler.
[in]language_codeA two-letter ISO 639-1 language code.
+
+
+
Returns
telebot_core_response_t response that contains BotName.
+ +
+
+ +

◆ telebot_core_get_my_short_description()

+ +
+
+ + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_get_my_short_description (telebot_core_handler_t core_h,
const char * language_code 
)
+
+ +

Use this method to get the current bot short description for the given user language.

+
Parameters
+ + + +
[in]core_hThe telebot core handler.
[in]language_codeA two-letter ISO 639-1 language code.
+
+
+
Returns
telebot_core_response_t response that contains BotShortDescription.
+ +
+
+ +

◆ telebot_core_get_my_star_balance()

+ +
+
+ + + + + + + + +
telebot_core_response_t telebot_core_get_my_star_balance (telebot_core_handler_t core_h)
+
+ +

Use this method to get the current Telegram Stars balance of the bot.

+
Parameters
+ + +
[in]core_hThe telebot core handler.
+
+
+
Returns
telebot_core_response_t response.
+ +
+
+ +

◆ telebot_core_get_proxy()

+ +
+
+ + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_core_get_proxy (telebot_core_handler_t core_h,
char ** addr 
)
+
+ +

Get currently used proxy address.

+
Parameters
+ + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[out]addrCurrent proxy address or NULL, MUST be freed after use.
+
+
+
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+ +
+
+ +

◆ telebot_core_get_response_code()

+ +
+
+ + + + + + + + +
telebot_error_e telebot_core_get_response_code (telebot_core_response_t response)
+
+ +

Get response error code.

+
Parameters
+ + +
[in]responseResponse to get its error code.
+
+
+
Returns
on For successful responses TELEBOT_ERROR_NONE is returned, otherwise a negative error value
+
See also
telebot_error_e
+ +
+
+ +

◆ telebot_core_get_response_data()

+ +
+
+ + + + + + + + +
const char * telebot_core_get_response_data (telebot_core_response_t response)
+
+ +

Get response data.

+
Parameters
+ + +
[in]responseResponse to get its data.
+
+
+
Returns
on For successful responses null terminated string is returned, otherwise NULL.
+ +
+
+ +

◆ telebot_core_get_star_transactions()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_get_star_transactions (telebot_core_handler_t core_h,
int offset,
int limit 
)
+
+ +

Use this method to get the bot's Telegram Star transactions.

+
Parameters
+ + + + +
[in]core_hThe telebot core handler.
[in]offsetNumber of transactions to skip.
[in]limitMaximum number of transactions to be retrieved.
+
+
+
Returns
telebot_core_response_t response.
+ +
+
+ +

◆ telebot_core_get_updates()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_get_updates (telebot_core_handler_t core_h,
int offset,
int limit,
int timeout,
const char * allowed_updates 
)
+
+ +

Receive incoming updates (long polling). It will not work if an outgoing webhook is set up. In order to avoid getting duplicate updates, recalculate offset after each server response.

+
Parameters
+ + + + + + +
[in]core_hTelebot core handler creating using telebot_core_create().
[in]offsetIdentifier of the first update to be returned. Must be greater by one than the highest among the identifiers of previously received updates. By default, updates starting with the earliest unconfirmed update are returned. An update is considered confirmed as soon as the function is called with an offset higher than its update_id.
[in]limitLimits the number of updates to be retrieved. Values between 1—100 are accepted. Defaults to 100.
[in]timeoutTimeout in seconds for long polling. Defaults to 0, i.e. usual short polling.
[in]allowed_updatesList the types of update you want your bot to receive. Specify an empty list to receive all updates regardless of type (default).
+
+
+
Returns
telebot_core_response_t response that contains updates, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
+ +
+
+ +

◆ telebot_core_get_user_chat_boosts()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_get_user_chat_boosts (telebot_core_handler_t core_h,
long long int chat_id,
long long int user_id 
)
+
+ +

Use this method to get user chat boosts.

+
Parameters
+ + + + +
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier for the target chat.
[in]user_idUnique identifier of the target user.
+
+
+
Returns
telebot_core_response_t response.
+ +
+
+ +

◆ telebot_core_get_user_gifts()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_get_user_gifts (telebot_core_handler_t core_h,
long long int user_id,
int offset,
int limit 
)
+
+ +

Use this method to get a list of gifts received by a user.

+
Parameters
+ + + + + +
[in]core_hThe telebot core handler.
[in]user_idUnique identifier of the target user.
[in]offsetNumber of gifts to skip.
[in]limitMaximum number of gifts to be retrieved.
+
+
+
Returns
telebot_core_response_t response.
+ +
+
+ +

◆ telebot_core_get_user_profile_audios()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_get_user_profile_audios (telebot_core_handler_t core_h,
long long int user_id,
int offset,
int limit 
)
+
+ +

Use this method to get user profile audios.

+
Parameters
+ + + + + +
[in]core_hThe telebot core handler.
[in]user_idUnique identifier of the target user.
[in]offsetNumber of audios to skip.
[in]limitMaximum number of audios to be retrieved.
+
+
+
Returns
telebot_core_response_t response.
+ +
+
+ +

◆ telebot_core_get_user_profile_photos()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_get_user_profile_photos (telebot_core_handler_t core_h,
int user_id,
int offset,
int limit 
)
+
+ +

Get user profile pictures object.

+
Parameters
+ + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]user_idUnique identifier of the target user.
[in]offsetSequential number of the first photo to be returned. By default, all photos are returned.
[in]limitLimits the number of photos to be retrieved. Values between 1—100 are accepted. Defaults to 100.
+
+
+
Returns
telebot_core_response_t response that contains user profile photos, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
+ +
+
+ +

◆ telebot_core_get_webhook_info()

+ +
+
+ + + + + + + + +
telebot_core_response_t telebot_core_get_webhook_info (telebot_core_handler_t core_h)
+
+ +

Get current webhook status.

+
Parameters
+ + +
[in]core_hThe telebot core handler created with telebot_core_create().
+
+
+
Returns
telebot_core_response_t response that contains webhook information, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
+ +
+
+ +

◆ telebot_core_gift_premium_subscription()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_gift_premium_subscription (telebot_core_handler_t core_h,
long long int user_id,
int month_count,
int star_count,
const char * text,
const char * text_parse_mode,
const char * text_entities 
)
+
+ +

Use this method to gift a Telegram Premium subscription to a user.

+
Parameters
+ + + + + + + + +
[in]core_hThe telebot core handler.
[in]user_idUnique identifier of the target user.
[in]month_countNumber of months the Telegram Premium subscription will be active.
[in]star_countNumber of Telegram Stars to pay.
[in]textText that will be shown along with the service message.
[in]text_parse_modeMode for parsing entities in the text.
[in]text_entitiesA JSON-serialized list of special entities.
+
+
+
Returns
telebot_core_response_t response.
+ +
+
+ +

◆ telebot_core_hide_general_forum_topic()

+ +
+
+ + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_hide_general_forum_topic (telebot_core_handler_t core_h,
long long int chat_id 
)
+
+ +

Use this method to hide the 'General' topic in a forum supergroup chat.

+
Parameters
+ + + +
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier for the target chat.
+
+
+
Returns
telebot_core_response_t response that contains the result (true/false).
+ +
+
+ +

◆ telebot_core_kick_chat_member()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_kick_chat_member (telebot_core_handler_t core_h,
long long int chat_id,
int user_id,
long until_date 
)
+
+ +

Kick a user from a group, a supergroup or a channel. In the case of supergroups and channels, the user will not be able to return to the group on their own using invite links, etc., unless unbanned first. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.

+
Parameters
+ + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername)
[in]user_idUnique identifier of the target user
[in]until_dateDate when the user will be unbanned, unix time. If user is banned for more than 366 days or less than 30 seconds from the current time they are considered to be banned forever.
+
+
+
Returns
telebot_core_response_t response that contains the result (true/false), which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
+ +
+
+ +

◆ telebot_core_leave_chat()

+ +
+
+ + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_leave_chat (telebot_core_handler_t core_h,
long long int chat_id 
)
+
+ +

Leave a group, supergroup or channel.

+
Parameters
+ + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
+
+
+
Returns
telebot_core_response_t response that contains the result (true/false), which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
+ +
+
+ +

◆ telebot_core_log_out()

+ +
+
+ + + + + + + + +
telebot_core_response_t telebot_core_log_out (telebot_core_handler_t core_h)
+
+ +

Use this method to log out from the cloud Bot API server before launching the bot locally.

+
Parameters
+ + +
[in]core_hThe telebot core handler.
+
+
+
Returns
telebot_core_response_t response that contains the result (true/false).
+ +
+
+ +

◆ telebot_core_pin_chat_message()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_pin_chat_message (telebot_core_handler_t core_h,
long long int chat_id,
int message_id,
bool disable_notification 
)
+
+ +

Pin a message in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the 'can_pin_messages' admin right in the supergroup or 'can_edit_messages' admin right in the channel.

+
Parameters
+ + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]message_idIdentifier of a message to pin.
[in]disable_notificationPass True, if it is not necessary to send a notification to all chat members about the new pinned message. Notifications are always disabled in channels.
+
+
+
Returns
telebot_core_response_t response that contains the result (true/false), which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
+ +
+
+ +

◆ telebot_core_promote_chat_member()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_promote_chat_member (telebot_core_handler_t core_h,
long long int chat_id,
int user_id,
bool can_change_info,
bool can_post_messages,
bool can_edit_messages,
bool can_delete_messages,
bool can_invite_users,
bool can_restrict_members,
bool can_pin_messages,
bool can_promote_members 
)
+
+ +

Promote or demote a user in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Pass False for all boolean parameters to demote a user.

+
Parameters
+ + + + + + + + + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]user_idUnique identifier of the target user.
[in]can_change_infoPass true, if the administrator can change chat title, photo and other settings.
[in]can_post_messagesPass true, if the administrator can create channel posts, channels only.
[in]can_edit_messagesPass true, if the administrator can edit messages of other users and can pin messages, channels only.
[in]can_delete_messagesPass true, if the administrator can delete messages of other users.
[in]can_invite_usersPass true, if the administrator can invite new users to the chat.
[in]can_restrict_membersPass true, if the administrator can restrict, ban or unban chat members.
[in]can_pin_messagesPass true, if the administrator can pin messages, supergroups only.
[in]can_promote_membersPass true, if the administrator can add new administrators with a subset of his own privileges or demote administrators that he has promoted, directly or indirectly (promoted by administrators that were appointed by him).
+
+
+
Returns
telebot_core_response_t response that contains the result (true/false), which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
+ +
+
+ +

◆ telebot_core_put_response()

+ +
+
+ + + + + + + + +
void telebot_core_put_response (telebot_core_response_t response)
+
+ +

Release response data obtained with telebot core methods.

+
Parameters
+ + +
[in]responseResponse to release.
+
+
+ +
+
+ +

◆ telebot_core_refund_star_payment()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_refund_star_payment (telebot_core_handler_t core_h,
long long int user_id,
const char * telegram_payment_charge_id 
)
+
+ +

Use this method to refund a successful payment in Telegram Stars.

+
Parameters
+ + + + +
[in]core_hThe telebot core handler.
[in]user_idIdentifier of the user whose payment will be refunded.
[in]telegram_payment_charge_idTelegram payment identifier.
+
+
+
Returns
telebot_core_response_t response.
+ +
+
+ +

◆ telebot_core_remove_my_profile_photo()

+ +
+
+ + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_remove_my_profile_photo (telebot_core_handler_t core_h,
const char * photo_id 
)
+
+ +

Use this method to remove the bot's profile photo.

+
Parameters
+ + + +
[in]core_hThe telebot core handler.
[in]photo_idIdentifier of the photo to remove.
+
+
+
Returns
telebot_core_response_t response.
+ +
+
+ +

◆ telebot_core_reopen_forum_topic()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_reopen_forum_topic (telebot_core_handler_t core_h,
long long int chat_id,
int message_thread_id 
)
+
+ +

Use this method to reopen a closed topic in a forum supergroup chat.

+
Parameters
+ + + + +
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier for the target chat.
[in]message_thread_idUnique identifier for the target message thread of the forum topic.
+
+
+
Returns
telebot_core_response_t response that contains the result (true/false).
+ +
+
+ +

◆ telebot_core_reopen_general_forum_topic()

+ +
+
+ + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_reopen_general_forum_topic (telebot_core_handler_t core_h,
long long int chat_id 
)
+
+ +

Use this method to reopen a closed 'General' topic in a forum supergroup chat.

+
Parameters
+ + + +
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier for the target chat.
+
+
+
Returns
telebot_core_response_t response that contains the result (true/false).
+ +
+
+ +

◆ telebot_core_restrict_chat_member()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_restrict_chat_member (telebot_core_handler_t core_h,
long long int chat_id,
int user_id,
long until_date,
bool can_send_messages,
bool can_send_media_messages,
bool can_send_polls,
bool can_send_other_messages,
bool can_add_web_page_previews,
bool can_change_info,
bool can_invite_users,
bool can_pin_messages 
)
+
+ +

Restrict a user in a supergroup. The bot must be an administrator in the supergroup for this to work and must have the appropriate admin rights. Pass true for all boolean parameters to lift restrictions from a user.

+
Parameters
+ + + + + + + + + + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername)
[in]user_idUnique identifier of the target user.
[in]until_dateDate when restrictions will be lifted for the user, unix time. If user is restricted for more than 366 days or less than 30 seconds from the current time, they are considered to be restricted forever.
[in]can_send_messagesPass true, if the user is allowed to send text messages, contacts, locations and venues
[in]can_send_media_messagesPass true, if the user is allowed to send audios, documents, photos, videos, video notes and voice notes, implies can_send_messages
[incan_send_polls Pass true, if the user is allowed to send polls, implies can_send_messages
[in]can_send_other_messagesPass true, if the user can send animations, games, stickers and use inline bots, implies can_send_media_messages
[in]can_add_web_page_previewsPass true, if the user may add web page previews to their messages, implies can_send_media_messages.
[in]can_change_infoPass true, if the user is allowed to change the chat title, photo and other settings. Ignored in public supergroups.
[in]can_invite_usersPass true, if the user is allowed to invite new users to the chat.
[in]can_pin_messagesPass true, if the user is allowed to pin messages. Ignored in public supergroups
+
+
+
Returns
telebot_core_response_t response that contains the result (true/false), which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
+ +
+
+ +

◆ telebot_core_revoke_chat_invite_link()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_revoke_chat_invite_link (telebot_core_handler_t core_h,
long long int chat_id,
const char * invite_link 
)
+
+ +

Use this method to revoke an invite link created by the bot.

+
Parameters
+ + + + +
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier for the target chat.
[in]invite_linkThe invite link to revoke.
+
+
+
Returns
telebot_core_response_t response that contains ChatInviteLink.
+ +
+
+ +

◆ telebot_core_save_prepared_inline_message()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_save_prepared_inline_message (telebot_core_handler_t core_h,
long long int user_id,
const char * result,
bool allow_user_chats,
bool allow_bot_chats,
bool allow_group_chats,
bool allow_channel_chats 
)
+
+ +

Use this method to save a prepared inline message.

+
Parameters
+ + + + + + + + +
[in]core_hThe telebot core handler.
[in]user_idUnique identifier of the target user.
[in]resultA JSON-serialized object describing the message to be sent.
[in]allow_user_chatsPass True, if the message can be sent to user chats.
[in]allow_bot_chatsPass True, if the message can be sent to bot chats.
[in]allow_group_chatsPass True, if the message can be sent to group chats.
[in]allow_channel_chatsPass True, if the message can be sent to channel chats.
+
+
+
Returns
telebot_core_response_t response.
+ +
+
+ +

◆ telebot_core_send_animation()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_send_animation (telebot_core_handler_t core_h,
long long int chat_id,
const char * animation,
bool is_file,
int duration,
int width,
int height,
const char * thumb,
const char * caption,
const char * parse_mode,
bool disable_notification,
int reply_to_message_id,
const char * reply_markup 
)
+
+ +

Send animation files (GIF or H.264/MPEG-4 AVC without sound).

+
Parameters
+ + + + + + + + + + + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]animationAnimation file to send. It is either a file_id to resend an animation that exists on the Telegram servers, or a path to animation file.
[in]is_fileFalse if animation is file_id, true, if animation is a file path.
[in]durationDuration of sent animation in seconds.
[in]widthAnimation width
[in]heightAnimation height
[in]thumbThumbnail file path of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail's width and height should not exceed 320. Optional. Set to NULL to ignore.
[in]captionAnimation caption. (may also be used when resending animations).
[in]parse_modeSend Markdown or HTML, if you want Telegram apps to show bold,
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]reply_markupAdditional interface options. An object for a custom reply keyboard, instructions to hide keyboard or to force a reply from the user.
+
+
+
Returns
telebot_core_response_t response that contains the sent message, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
+ +
+
+ +

◆ telebot_core_send_audio()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_send_audio (telebot_core_handler_t core_h,
long long int chat_id,
const char * audio,
bool is_file,
const char * caption,
const char * parse_mode,
int duration,
const char * performer,
const char * title,
const char * thumb,
bool disable_notification,
int reply_to_message_id,
const char * reply_markup 
)
+
+ +

Send audio files. if you want Telegram clients to display them in the music player. Your audio must be in the .mp3 format. Bots can currently send audio files of up to 50 MB in size. For backward compatibility, when the fields title and performer are both empty and the mime-type of the file to be sent is not audio/mpeg, the file will be sent as a playable voice message. For this to work, the audio must be in an .ogg file encoded with OPUS. For sending voice messages, use the telegram_core_send_voice() function instead.

+
Parameters
+ + + + + + + + + + + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]audioAudio file to send. It is either a file_id as String to resend an audio that is already on the Telegram servers, or a path to audio file.
[in]is_fileFalse if audio is file_id, true, if audio is a file path.
[in]captionAudio caption. (may also be used when resending audios).
[in]parse_modeSend Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width or inline URLs in your bot's message.
[in]durationDuration of sent audio in seconds.
[in]performerThe performer of the audio.
[in]titleThe track name of the audio.
[in]thumbThumbnail file path of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail's width and height should not exceed 320. Optional. Set to NULL to ignore.
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]reply_markupAdditional interface options. An object for a custom reply keyboard, instructions to hide keyboard or to force a reply from the user.
+
+
+
Returns
telebot_core_response_t response that contains the sent message, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
+ +
+
+ +

◆ telebot_core_send_chat_action()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_send_chat_action (telebot_core_handler_t core_h,
long long int chat_id,
const char * action 
)
+
+ +

Tell the user that something is happening on the bot's side. The status is set for 5 seconds or less (when a message arrives from your bot, Telegram clients clear its typing status). Example: The ImageBot needs some time to process a request and upload the image. Instead of sending a text message along the lines of "Retrieving image, please wait…", the bot may use telebot_core_send_chat_action() with action = upload_photo. The user will see a "sending photo" status for the bot. It is only recommended to use when a response from the bot will take a noticeable amount of time to arrive.

+
Parameters
+ + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername)
[in]actionType of action to broadcast. Choose one, depending on what the user is about to receive: typing for text messages, upload_photo for photos, record_video or upload_video for videos, record_audio or upload_audio for audio files, upload_document for general files, find_location for location data.
+
+
+
Returns
telebot_core_response_t response that contains sent message, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
+ +
+
+ +

◆ telebot_core_send_contact()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_send_contact (telebot_core_handler_t core_h,
long long int chat_id,
const char * phone_number,
const char * first_name,
const char * last_name,
const char * vcard,
bool disable_notification,
int reply_to_message_id,
const char * reply_markup 
)
+
+ +

Send phone contacts.

+
Parameters
+ + + + + + + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]phone_numberContact's phone numbers.
[in]first_nameContact's first name.
[in]last_nameContact's last name.
[in]vcardAdditional data about the contact in the form of a vCard, 0-2048 bytes.
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]reply_markupAdditional interface options. A JSON-serialized object for an inline keyboard, custom reply keyboard, instructions to remove reply keyboard or to force a reply from the user.
+
+
+
Returns
telebot_core_response_t response that contains sent message, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
+ +
+
+ +

◆ telebot_core_send_dice()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_send_dice (telebot_core_handler_t core_h,
long long int chat_id,
bool disable_notification,
int reply_to_message_id,
const char * reply_markup 
)
+
+ +

Send a dice, which will have a random value from 1 to 6.

+
Parameters
+ + + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername)
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]reply_markupAdditional interface options. A JSON-serialized object for an inline keyboard, custom reply keyboard, instructions to remove reply keyboard or to force a reply from the user.
+
+
+
Returns
telebot_core_response_t response that contains sent message, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
+ +
+
+ +

◆ telebot_core_send_document()

+ +
+
+ + + + + + + + + + + + + + + + + + @@ -2130,6 +4749,12 @@

bool 

+ + + + + + @@ -2143,28 +4768,240 @@

parse_mode,

- - - - + + + + + + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_send_document (telebot_core_handler_t core_h,
long long int chat_id,
const char * document,
is_file,
const char * thumb,
int duration, bool disable_notification,
int reply_to_message_id,
const char * reply_markup 
)
+
+ +

Send general files.

+
Parameters
+ + + + + + + + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]documentDocument file to send. It is either a file_id as String to resend a file that is already on the Telegram servers, or a path to file.
[in]is_fileFalse if document is file_id, true, if document is a file path.
[in]thumbThumbnail file path of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail's width and height should not exceed 320. Optional. Set to NULL to ignore.
[in]captionDocument caption. (may also be used when resending documents).
[in]parse_modeSend Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width or inline URLs in your bot's message.
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]reply_markupAdditional interface options. An object for a custom reply keyboard, instructions to hide keyboard or to force a reply from the user.
+
+
+
Returns
telebot_core_response_t response that contains the sent message, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
+ +
+
+ +

◆ telebot_core_send_gift()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_send_gift (telebot_core_handler_t core_h,
long long int user_id,
long long int chat_id,
const char * gift_id,
bool pay_for_upgrade,
const char * text,
const char * text_parse_mode,
const char * text_entities 
)
+
+ +

Use this method to send a gift.

+
Parameters
+ + + + + + + + + +
[in]core_hThe telebot core handler.
[in]user_idUnique identifier of the target user.
[in]chat_idUnique identifier for the target chat.
[in]gift_idIdentifier of the gift.
[in]pay_for_upgradePass True to pay for the gift upgrade.
[in]textText that will be shown along with the gift.
[in]text_parse_modeMode for parsing entities in the text.
[in]text_entitiesA JSON-serialized list of special entities.
+
+
+
Returns
telebot_core_response_t response.
+ +
+
+ +

◆ telebot_core_send_location()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_core_response_t telebot_core_send_location (telebot_core_handler_t core_h,
long long int chat_id,
float latitude,
float longitude,
int live_period,
bool disable_notification,
int reply_to_message_id,
const char * reply_markup 
)
+
+ +

Send point on the map.

+
Parameters
+ + + + + + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]latitudeLatitude of location.
[in]longitudeLongitude of location.
[in]live_periodPeriod in secnods for which the location will be updated. Should be between 60 and 86400.
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]reply_markupAdditional interface options. An object for a custom reply keyboard, instructions to hide keyboard or to force a reply from the user.
+
+
+
Returns
telebot_core_response_t response that contains the sent message, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
+ +
+
+ +

◆ telebot_core_send_media_group()

+ +
+
+ + + + + + - - + + - - + + - - + + @@ -2176,19 +5013,7 @@

- - - - - - - - - - - - - + @@ -2198,40 +5023,32 @@

-

Send audio files. if you want Telegram clients to display them in the music player. Your audio must be in the .mp3 format. Bots can currently send audio files of up to 50 MB in size. For backward compatibility, when the fields title and performer are both empty and the mime-type of the file to be sent is not audio/mpeg, the file will be sent as a playable voice message. For this to work, the audio must be in an .ogg file encoded with OPUS. For sending voice messages, use the telegram_core_send_voice() function instead.

+

Send a group of photos as an album.

Parameters

telebot_core_response_t telebot_core_send_media_group (telebot_core_handler_t core_h,
const char * performer, long long int chat_id,
const char * title, char * media_paths[],
const char * thumb, int count,
int reply_to_message_id,
const char * reply_markup,
telebot_core_response_tresponse reply_to_message_id 
- - - - - - - - - - + + + + - -
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]audioAudio file to send. It is either a file_id as String to resend an audio that is already on the Telegram servers, or a path to audio file.
[in]is_fileFalse if audio is file_id, true, if audio is a file path.
[in]captionAudio caption. (may also be used when resending audios).
[in]parse_modeSend Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width or inline URLs in your bot's message.
[in]durationDuration of sent audio in seconds.
[in]performerThe performer of the audio.
[in]titleThe track name of the audio.
[in]thumbThumbnail file path of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail's width and height should not exceed 320. Optional. Set to NULL to ignore.
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel.
[in]media_pathsArray of file paths to photos to send.
[in]countNumber of photos in the array (2–10).
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]reply_markupAdditional interface options. An object for a custom reply keyboard, instructions to hide keyboard or to force a reply from the user.
[out]responseResponse data that contains the sent message on success. It MUST be freed with telebot_core_put_response().
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the sent message, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
- -

◆ telebot_core_send_chat_action()

+ +

◆ telebot_core_send_message()

- + - + @@ -2244,13 +5061,37 @@

- + + + + + + + + + + + + + + + + + + + + + + + + + - - + + @@ -2260,30 +5101,34 @@

-

Tell the user that something is happening on the bot's side. The status is set for 5 seconds or less (when a message arrives from your bot, Telegram clients clear its typing status). Example: The ImageBot needs some time to process a request and upload the image. Instead of sending a text message along the lines of "Retrieving image, please wait…", the bot may use telebot_core_send_chat_action() with action = upload_photo. The user will see a "sending photo" status for the bot. It is only recommended to use when a response from the bot will take a noticeable amount of time to arrive.

+

Send text messages.

Parameters

telebot_error_e telebot_core_send_chat_action telebot_core_response_t telebot_core_send_message (telebot_core_handler_ttelebot_core_handler_t  core_h,
const char * action, text,
const char * parse_mode,
bool disable_web_page_preview,
bool disable_notification,
int reply_to_message_id,
telebot_core_response_tresponse const char * reply_markup 
- - - - + + + + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername)
[in]actionType of action to broadcast. Choose one, depending on what the user is about to receive: typing for text messages, upload_photo for photos, record_video or upload_video for videos, record_audio or upload_audio for audio files, upload_document for general files, find_location for location data.
[out]responseResponse data that contains "True" on success. It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]textText of the message to be sent, 1-4096 characters after entities parsing.
[in]parse_modeSend Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width or inline URLs in your bot's message.
[in]disable_web_page_previewDisables link previews for links in this message.
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]reply_markupAdditional interface options. An object for a custom reply keyboard, instructions to hide keyboard or to force a reply from the user.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the sent message, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
- -

◆ telebot_core_send_contact()

+ +

◆ telebot_core_send_paid_media()

- + - + @@ -2292,29 +5137,41 @@

long long int 

+ + + + + + - + - + - + - + + + + + + + @@ -2325,20 +5182,20 @@

- - + + - + - - + + @@ -2348,36 +5205,38 @@

-

Send phone contacts.

+

Use this method to send paid media to a user.

Parameters

telebot_error_e telebot_core_send_contact telebot_core_response_t telebot_core_send_paid_media (telebot_core_handler_ttelebot_core_handler_t  core_h,
chat_id,
int star_count,
const char * phone_number, media,
const char * first_name, caption,
const char * last_name, parse_mode,
const char * vcard, caption_entities,
bool show_caption_above_media,
int reply_to_message_id, bool protect_content,
const char * reply_markup, reply_parameters,
telebot_core_response_tresponse const char * reply_markup 
- - - - - - - - - - + + + + + + + + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]phone_numberContact's phone numbers.
[in]first_nameContact's first name.
[in]last_nameContact's last name.
[in]vcardAdditional data about the contact in the form of a vCard, 0-2048 bytes.
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]reply_markupAdditional interface options. A JSON-serialized object for an inline keyboard, custom reply keyboard, instructions to remove reply keyboard or to force a reply from the user.
[out]responseResponse data that contains the sent message on success. It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier for the target chat.
[in]star_countThe number of Telegram Stars that must be paid.
[in]mediaA JSON-serialized array of InputPaidMedia objects.
[in]captionMedia caption.
[in]parse_modeMode for parsing entities in the caption.
[in]caption_entitiesA JSON-serialized list of special entities.
[in]show_caption_above_mediaPass True, if the caption must be shown above the message media.
[in]disable_notificationSends the message silently.
[in]protect_contentProtects the contents of the sent message.
[in]reply_parametersDescription of the message to reply to.
[in]reply_markupAdditional interface options.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response.
- -

◆ telebot_core_send_dice()

+ +

◆ telebot_core_send_photo()

- + - + @@ -2386,29 +5245,47 @@

long long int 

+ + + + + + - + - - + + - + + + + + + + + + + + + + - - + + @@ -2418,32 +5295,35 @@

-

Send a dice, which will have a random value from 1 to 6.

+

Send photos.

Parameters

telebot_error_e telebot_core_send_dice telebot_core_response_t telebot_core_send_photo (telebot_core_handler_ttelebot_core_handler_t  core_h,
chat_id,
const char * photo,
bool disable_notification, is_file,
int reply_to_message_id, const char * caption,
const char * reply_markup, parse_mode,
bool disable_notification,
int reply_to_message_id,
telebot_core_response_tresponse const char * reply_markup 
- - + + + + + + - - +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername)
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]photoPhoto to send. It is either file_id as String to resend a photo that is already on the Telegram servers, or a path to photo file.
[in]is_fileFalse if photo is file_id, true, if photo is a file path.
[in]captionPhoto caption. (may also be used when resending photos).
[in]parse_modeSend Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width or inline URLs in your bot's message.
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]reply_markupAdditional interface options. A JSON-serialized object for an inline keyboard, custom reply keyboard, instructions to remove reply keyboard or to force a reply from the user.
[out]responseResponse data that contains the sent message on success. It MUST be freed with telebot_core_put_response().
[in]reply_markupAdditional interface options. An object for a custom reply keyboard, instructions to hide keyboard or to force a reply from the user.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the sent message, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
- -

◆ telebot_core_send_document()

+ +

◆ telebot_core_send_poll()

- + - + @@ -2456,55 +5336,61 @@

- + + + + + + + - + - + - - + + - - + + - + - - + + - - + + - - + + @@ -2514,37 +5400,38 @@

-

Send general files.

+

Send a native poll.

Parameters

telebot_error_e telebot_core_send_document telebot_core_response_t telebot_core_send_poll (telebot_core_handler_ttelebot_core_handler_t  core_h,
const char * document, question,
const char * options,
bool is_file, is_anonymous,
const char * thumb, type,
const char * caption, bool allows_multiple_answers,
const char * parse_mode, int correct_option_id,
bool disable_notification, is_closed,
int reply_to_message_id, bool disable_notification,
const char * reply_markup, int reply_to_message_id,
telebot_core_response_tresponse const char * reply_markup 
- + - - - - - + + + + + + + - - +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]documentDocument file to send. It is either a file_id as String to resend a file that is already on the Telegram servers, or a path to file.
[in]is_fileFalse if document is file_id, true, if document is a file path.
[in]thumbThumbnail file path of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail's width and height should not exceed 320. Optional. Set to NULL to ignore.
[in]captionDocument caption. (may also be used when resending documents).
[in]parse_modeSend Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width or inline URLs in your bot's message.
[in]questionPoll question, 1-255 characters.
[in]optionsA JSON-serialized list of answer options, 2-10 strings 1-100 characters each.
[in]is_anonymousTrue, if the poll needs to be anonymous, defaults to True.
[in]typePoll type, “quiz” or “regular”, defaults to “regular”.
[in]allows_multiple_answersTrue, if the poll allows multiple answers, ignored for polls in quiz mode, defaults to False
[in]correct_option_id0-based identifier of the correct answer option, required for polls in quiz mode.
[in]is_closedPass True, if the poll needs to be immediately closed. This can be useful for poll preview.
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]reply_markupAdditional interface options. An object for a custom reply keyboard, instructions to hide keyboard or to force a reply from the user.
[out]responseResponse data that contains the sent message on success. It MUST be freed with telebot_core_put_response().
[in]reply_markupAdditional interface options. A JSON-serialized object for an inline keyboard, custom reply keyboard, instructions to remove reply keyboard or to force a reply from the user.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains sent message, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
- -

◆ telebot_core_send_location()

+ +

◆ telebot_core_send_venue()

- + - + @@ -2568,32 +5455,44 @@

- - + + - - + + - - + + - + + + + + + + + + + + + + - - + + @@ -2603,48 +5502,86 @@

-

Send point on the map.

+

Send information about a venue.

Parameters

telebot_error_e telebot_core_send_location telebot_core_response_t telebot_core_send_venue (telebot_core_handler_ttelebot_core_handler_t  core_h,
int live_period, const char * title,
bool disable_notification, const char * address,
int reply_to_message_id, const char * foursquare_id,
const char * reply_markup, foursquare_type,
bool disable_notification,
int reply_to_message_id,
telebot_core_response_tresponse const char * reply_markup 
- + - - - + + + + + + - - +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]latitudeLatitude of location.
[in]longitudeLongitude of location.
[in]live_periodPeriod in secnods for which the location will be updated. Should be between 60 and 86400.
[in]latitudeLatitude of venue.
[in]longitudeLongitude of venue.
[in]titleName of the venue
[in]addressAddress of the venue.
[in]foursquare_idFoursquare identifier of the venue.
[in]foursquare_typeFoursquare type of the venue, if known.
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]reply_markupAdditional interface options. An object for a custom reply keyboard, instructions to hide keyboard or to force a reply from the user.
[out]responseResponse data that contains the sent message on success. It MUST be freed with telebot_core_put_response().
[in]reply_markupAdditional interface options. A JSON-serialized object for an inline keyboard, custom reply keyboard, instructions to remove reply keyboard or to force a reply from the user.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains sent messageß, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
- -

◆ telebot_core_send_message()

+ +

◆ telebot_core_send_video()

- - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + + + + + + + @@ -2656,7 +5593,7 @@

- + @@ -2674,13 +5611,7 @@

- - - - - - - + @@ -2690,35 +5621,40 @@

-

Send text messages.

+

Send video files, Telegram clients support mp4 videos (other formats may be sent as Document).

Parameters

telebot_error_e telebot_core_send_message (telebot_core_handler_tcore_h, telebot_core_response_t telebot_core_send_video (telebot_core_handler_t core_h,
long long int chat_id,
const char * video,
bool is_file,
int duration,
int width,
long long int chat_id, int height,
const char * text, thumb,
const char * caption,
bool disable_web_page_preview, supports_streaming,
const char * reply_markup,
telebot_core_response_tresponse reply_markup 
- + - + + + + + + + - + -
[in]core_hThe telebot core handler created with telebot_core_create().
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]textText of the message to be sent, 1-4096 characters after entities parsing.
[in]videoVideo file to send. It is either a file_id as String to resend a video that is already on the Telegram servers, or a path to video file.
[in]is_fileFalse if video is file_id, true, if video is a file path.
[in]durationDuration of sent video in seconds. Optional, set 0 for ignoring.
[in]widthVideo width. Optional, set 0 for ignoring.
[in]heightVideo heigh. Optional, set 0 for ignoring.
[in]thumbThumbnail file path of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail's width and height should not exceed 320. Optional. Set to NULL to ignore.
[in]captionVideo caption. (may also be used when resending videos).
[in]parse_modeSend Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width or inline URLs in your bot's message.
[in]disable_web_page_previewDisables link previews for links in this message.
[in]supports_streamingPass True, if the uploaded video is suitable for streaming.
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]reply_markupAdditional interface options. An object for a custom reply keyboard, instructions to hide keyboard or to force a reply from the user.
[out]responseResponse data that contains the sent message on success. It MUST be freed with telebot_core_put_response().
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the sent message, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
- -

◆ telebot_core_send_photo()

+ +

◆ telebot_core_send_video_note()

- + - + @@ -2730,8 +5666,8 @@

- - + + @@ -2742,14 +5678,20 @@

- - + + + + + + + + - + @@ -2767,13 +5709,7 @@

- - - - - - - + @@ -2783,36 +5719,36 @@

-

Send photos.

+

Send video messages. As of v.4.0, Telegram clients support rounded square mp4 videos of up to 1 minute long.

Parameters

telebot_error_e telebot_core_send_photo telebot_core_response_t telebot_core_send_video_note (telebot_core_handler_ttelebot_core_handler_t  core_h,
const char * photo, char * video_note,
const char * caption, int duration,
int length,
const char * parse_mode, thumb,
const char * reply_markup,
telebot_core_response_tresponse reply_markup 
- + - - - - + + + + + -
[in]core_hThe telebot core handler created with telebot_core_create().
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]photoPhoto to send. It is either file_id as String to resend a photo that is already on the Telegram servers, or a path to photo file.
[in]is_fileFalse if photo is file_id, true, if photo is a file path.
[in]captionPhoto caption. (may also be used when resending photos).
[in]parse_modeSend Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width or inline URLs in your bot's message.
[in]video_notVideo note to send. It is either a file_id to resend a video note that exists on the Telegram servers, or a path to video note file.
[in]is_fileFalse if video note is file_id, true, if video note is a file path.
[in]durationDuration of sent video in seconds.
[in]lengthVideo width and height, i.e. diameter of the video message.
[in]thumbThumbnail file path of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail's width and height should not exceed 320. Optional. Set to NULL to ignore.
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]reply_markupAdditional interface options. An object for a custom reply keyboard, instructions to hide keyboard or to force a reply from the user.
[out]responseResponse data that contains the sent message on success. It MUST be freed with telebot_core_put_response().
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the sent message, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
- -

◆ telebot_core_send_poll()

+ +

◆ telebot_core_send_voice()

- + - + @@ -2825,43 +5761,31 @@

- - - - - - - + - + - + - - + + - - - - - - - + @@ -2879,13 +5803,7 @@

- - - - - - - + @@ -2895,39 +5813,36 @@

-

Send a native poll.

+

Send audio files, if you want Telegram clients to display the file as a playable voice message. For this to work, your audio must be in an .ogg file encoded with OPUS (other formats may be sent as Audio or Document).

Parameters

telebot_error_e telebot_core_send_poll telebot_core_response_t telebot_core_send_voice (telebot_core_handler_ttelebot_core_handler_t  core_h,
const char * question,
const char * options, voice,
bool is_anonymous, is_file,
const char * type, caption,
bool allows_multiple_answers, const char * parse_mode,
int correct_option_id,
bool is_closed, duration,
const char * reply_markup,
telebot_core_response_tresponse reply_markup 
- + - - - - - - - + + + + + - - +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]questionPoll question, 1-255 characters.
[in]optionsA JSON-serialized list of answer options, 2-10 strings 1-100 characters each.
[in]is_anonymousTrue, if the poll needs to be anonymous, defaults to True.
[in]typePoll type, “quiz” or “regular”, defaults to “regular”.
[in]allows_multiple_answersTrue, if the poll allows multiple answers, ignored for polls in quiz mode, defaults to False
[in]correct_option_id0-based identifier of the correct answer option, required for polls in quiz mode.
[in]is_closedPass True, if the poll needs to be immediately closed. This can be useful for poll preview.
[in]voiceAudio file to send. It is either a file_id as String to resend a audio that is already on the Telegram servers, or a path to audio file.
[in]is_fileFalse if voice is file_id, true, if voice is a file path.
[in]captionVoice message caption. (may also be used when resending).
[in]parse_modeSend Markdown or HTML, if you want Telegram apps to show bold,
[in]durationDuration of sent voice/audio in seconds.
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]reply_markupAdditional interface options. A JSON-serialized object for an inline keyboard, custom reply keyboard, instructions to remove reply keyboard or to force a reply from the user.
[out]responseResponse data that contains the sent message on success. It MUST be freed with telebot_core_put_response().
[in]reply_markupAdditional interface options. An object for a custom reply keyboard, instructions to hide keyboard or to force a reply from the user.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the sent message, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
- -

◆ telebot_core_send_venue()

+ +

◆ telebot_core_set_chat_admin_custom_title()

+ +

◆ telebot_core_set_chat_description()

+ +
+
+ - - - - + + + + - - + + - + - - - + + +
const char * address, telebot_core_response_t telebot_core_set_chat_description (telebot_core_handler_t core_h,
const char * foursquare_id, long long int chat_id,
const char * foursquare_type, description 
bool disable_notification, )
+
+ +

Change the description of a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.

+
Parameters
+ + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]descriptionNew chat description, 0-255 characters.
+
+
+
Returns
telebot_core_response_t response that contains the result (true/false), which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
+ +
+
+ +

◆ telebot_core_set_chat_menu_button()

+ +
+
+ - - - - + + + + - - + + - - + + @@ -3004,38 +5962,29 @@

-

Send information about a venue.

+

Use this method to change the bot's menu button in a private chat, or the default menu button.

Parameters

int reply_to_message_id, telebot_core_response_t telebot_core_set_chat_menu_button (telebot_core_handler_t core_h,
const char * reply_markup, long long int chat_id,
telebot_core_response_tresponse const char * menu_button 
- - - - - - - - - - - - + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]latitudeLatitude of venue.
[in]longitudeLongitude of venue.
[in]titleName of the venue
[in]addressAddress of the venue.
[in]foursquare_idFoursquare identifier of the venue.
[in]foursquare_typeFoursquare type of the venue, if known.
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]reply_markupAdditional interface options. A JSON-serialized object for an inline keyboard, custom reply keyboard, instructions to remove reply keyboard or to force a reply from the user.
[out]responseResponse data that contains the sent message on success. It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier for the target private chat.
[in]menu_buttonA JSON-serialized object for the bot's new menu button.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the result (true/false).
- -

◆ telebot_core_send_video()

+ +

◆ telebot_core_set_chat_permissions()

- + - + @@ -3047,80 +5996,147 @@

- - + + - + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + +
telebot_error_e telebot_core_send_video telebot_core_response_t telebot_core_set_chat_permissions (telebot_core_handler_ttelebot_core_handler_t  core_h,
const char * video, bool can_send_messages,
bool is_file, can_send_media_messages,
int duration, bool can_send_polls,
int width, bool can_send_other_messages,
int height, bool can_add_web_page_previews,
bool can_change_info,
bool can_invite_users,
bool can_pin_messages 
)
+
+ +

Set default chat permissions for all members. The bot must be an administrator in the group or a supergroup for this to work and must have the 'can_restrict_members' admin rights.

+
Parameters
+ + + + + + + + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername)
[in]can_send_messagesPass true, if the user is allowed to send text messages, contacts, locations and venues
[in]can_send_media_messagesPass true, if the user is allowed to send audios, documents, photos, videos, video notes and voice notes, implies can_send_messages
[incan_send_polls Pass true, if the user is allowed to send polls, implies can_send_messages
[in]can_send_other_messagesPass true, if the user can send animations, games, stickers and use inline bots, implies can_send_media_messages
[in]can_add_web_page_previewsPass true, if the user may add web page previews to their messages, implies can_send_media_messages.
[in]can_change_infoPass true, if the user is allowed to change the chat title, photo and other settings. Ignored in public supergroups.
[in]can_invite_usersPass true, if the user is allowed to invite new users to the chat.
[in]can_pin_messagesPass true, if the user is allowed to pin messages. Ignored in public supergroups
+
+
+
Returns
telebot_core_response_t response that contains the result (true/false), which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
+ +
+
+ +

◆ telebot_core_set_chat_photo()

+ +
+
+ - - - - + + + + - - + + - + - - - + + +
const char * thumb, telebot_core_response_t telebot_core_set_chat_photo (telebot_core_handler_t core_h,
const char * caption, long long int chat_id,
const char * parse_mode, photo 
bool supports_streaming, )
+
+ +

Set a new profile photo for the chat. Photos can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.

+
Parameters
+ + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]photoNew chat photo file path.
+
+
+
Returns
telebot_core_response_t response that contains the result (true/false), which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
+ +
+
+ +

◆ telebot_core_set_chat_sticker_set()

+ +
+
+ - - - - + + + + - - + + - - - - - - - + @@ -3130,41 +6146,29 @@

-

Send video files, Telegram clients support mp4 videos (other formats may be sent as Document).

+

Set a new group sticker set for a supergroup. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Use the field can_set_sticker_set optionally returned in telebot_core_get_chat requests to check if the bot can use it.

Parameters

bool disable_notification, telebot_core_response_t telebot_core_set_chat_sticker_set (telebot_core_handler_t core_h,
int reply_to_message_id, long long int chat_id,
const char * reply_markup,
telebot_core_response_tresponse sticker_set_name 
- + - - - - - - - - - - - - - +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]videoVideo file to send. It is either a file_id as String to resend a video that is already on the Telegram servers, or a path to video file.
[in]is_fileFalse if video is file_id, true, if video is a file path.
[in]durationDuration of sent video in seconds. Optional, set 0 for ignoring.
[in]widthVideo width. Optional, set 0 for ignoring.
[in]heightVideo heigh. Optional, set 0 for ignoring.
[in]thumbThumbnail file path of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail's width and height should not exceed 320. Optional. Set to NULL to ignore.
[in]captionVideo caption. (may also be used when resending videos).
[in]parse_modeSend Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width or inline URLs in your bot's message.
[in]supports_streamingPass True, if the uploaded video is suitable for streaming.
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]reply_markupAdditional interface options. An object for a custom reply keyboard, instructions to hide keyboard or to force a reply from the user.
[out]responseResponse data that contains the sent message on success. It MUST be freed with telebot_core_put_response().
[in]sticker_set_nameName of the sticker set to be set as the group sticker set.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the result (true/false), which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
- -

◆ telebot_core_send_video_note()

+ +

◆ telebot_core_set_chat_title()

+ +

◆ telebot_core_set_message_reaction()

+ +
+
+ + + + + + - - + + - + - + - + - - - + + +
telebot_core_response_t telebot_core_set_message_reaction (telebot_core_handler_t core_h,
int duration, long long int chat_id,
int length, message_id,
const char * thumb, reaction,
bool disable_notification, is_big 
int reply_to_message_id, )
+
+ +

Use this method to set a new message reaction.

+
Parameters
+ + + + + + +
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier for the target chat.
[in]message_idUnique identifier of the target message.
[in]reactionA JSON-serialized list of reaction types to set on the message.
[in]is_bigPass True to set the reaction with a big animation.
+
+
+
Returns
telebot_core_response_t response that contains the result (true/false).
+ +
+
+ +

◆ telebot_core_set_my_commands()

+ +
+
+ - - - - + + + + - - + + @@ -3235,98 +6289,131 @@

-

Send video messages. As of v.4.0, Telegram clients support rounded square mp4 videos of up to 1 minute long.

+

Change the list of the bot's commands.

Parameters

const char * reply_markup, telebot_core_response_t telebot_core_set_my_commands (telebot_core_handler_t core_h,
telebot_core_response_tresponse const char * commands 
- - - - - - - - - - - + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]video_notVideo note to send. It is either a file_id to resend a video note that exists on the Telegram servers, or a path to video note file.
[in]is_fileFalse if video note is file_id, true, if video note is a file path.
[in]durationDuration of sent video in seconds.
[in]lengthVideo width and height, i.e. diameter of the video message.
[in]thumbThumbnail file path of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail's width and height should not exceed 320. Optional. Set to NULL to ignore.
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]reply_markupAdditional interface options. An object for a custom reply keyboard, instructions to hide keyboard or to force a reply from the user.
[out]responseResponse data that contains the sent message on success. It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler created with telebot_core_create().
[in]commandsA JSON-serialized list of bot commands to be set as the list of the bot's commands. At most 100 commands can be specified.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the result (true/false), which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
- -

◆ telebot_core_send_voice()

+ +

◆ telebot_core_set_my_default_administrator_rights()

- + - + - - - - - - - + - + - - - + + + +
telebot_error_e telebot_core_send_voice telebot_core_response_t telebot_core_set_my_default_administrator_rights (telebot_core_handler_ttelebot_core_handler_t  core_h,
long long int chat_id,
const char * voice, rights,
bool is_file, for_channels 
const char * caption, )
+
+ +

Use this method to change the default administrator rights requested by the bot when it's added as an administrator to groups or channels.

+
Parameters
+ + + + +
[in]core_hThe telebot core handler.
[in]rightsA JSON-serialized object describing new default administrator rights.
[in]for_channelsPass True to change the default administrator rights of the bot in channels.
+
+
+
Returns
telebot_core_response_t response that contains the result (true/false).
+ +
+
+ +

◆ telebot_core_set_my_description()

+ +
+
+ + + + + + - + - - + + - - - + + +
telebot_core_response_t telebot_core_set_my_description (telebot_core_handler_t core_h,
const char * parse_mode, description,
int duration, const char * language_code 
bool disable_notification, )
+
+ +

Use this method to change the bot's description.

+
Parameters
+ + + + +
[in]core_hThe telebot core handler.
[in]descriptionNew bot description; 0-512 characters.
[in]language_codeA two-letter ISO 639-1 language code.
+
+
+
Returns
telebot_core_response_t response that contains the result (true/false).
+ +
+
+ +

◆ telebot_core_set_my_name()

+ +
+
+ - - - - + + + + - + - - + + @@ -3336,62 +6423,80 @@

-

Send audio files, if you want Telegram clients to display the file as a playable voice message. For this to work, your audio must be in an .ogg file encoded with OPUS (other formats may be sent as Audio or Document).

+

Use this method to change the bot's name.

Parameters

int reply_to_message_id, telebot_core_response_t telebot_core_set_my_name (telebot_core_handler_t core_h,
const char * reply_markup, name,
telebot_core_response_tresponse const char * language_code 
- - - - - - - - - - - + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]voiceAudio file to send. It is either a file_id as String to resend a audio that is already on the Telegram servers, or a path to audio file.
[in]is_fileFalse if voice is file_id, true, if voice is a file path.
[in]captionVoice message caption. (may also be used when resending).
[in]parse_modeSend Markdown or HTML, if you want Telegram apps to show bold,
[in]durationDuration of sent voice/audio in seconds.
[in]disable_notificationSends the message silently. Users will receive a notification with no sound.
[in]reply_to_message_idIf the message is a reply, ID of the original message.
[in]reply_markupAdditional interface options. An object for a custom reply keyboard, instructions to hide keyboard or to force a reply from the user.
[out]responseResponse data that contains the sent message on success. It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler.
[in]nameNew bot name; 0-64 characters.
[in]language_codeA two-letter ISO 639-1 language code.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the result (true/false).
- -

◆ telebot_core_set_chat_admin_custom_title()

+ +

◆ telebot_core_set_my_profile_photo()

- + - + - - + + - - - + + + +
telebot_error_e telebot_core_set_chat_admin_custom_title telebot_core_response_t telebot_core_set_my_profile_photo (telebot_core_handler_ttelebot_core_handler_t  core_h,
long long int chat_id, const char * photo 
int user_id, )
+
+ +

Use this method to set the bot's profile photo.

+
Parameters
+ + + +
[in]core_hThe telebot core handler.
[in]photoPath to the new profile photo.
+
+
+
Returns
telebot_core_response_t response.
+ +
+
+ +

◆ telebot_core_set_my_short_description()

+ +
+
+ + + + + + - + - - + + @@ -3401,50 +6506,42 @@

-

Export an invite link to a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.

-
Parameters
-

telebot_core_response_t telebot_core_set_my_short_description (telebot_core_handler_t core_h,
const char * custom_title, short_description,
telebot_core_response_tresponse const char * language_code 
- - - - - +

Use this method to change the bot's short description.

+
Parameters
+
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]user_idUnique identifier of the target user.
[in]custom_titleNew custom title for the administrator; 0-16 characters, emoji are not allowed.
[out]responseResponse data that contains "True" on success. It MUST be freed with telebot_core_put_response().
+ + +
[in]core_hThe telebot core handler.
[in]short_descriptionNew short description; 0-120 characters.
[in]language_codeA two-letter ISO 639-1 language code.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the result (true/false).
- -

◆ telebot_core_set_chat_description()

+ +

◆ telebot_core_set_proxy()

- + - + - - - - - - - + - - + + @@ -3454,13 +6551,12 @@

-

Change the description of a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.

+

Set proxy address to use telebot behind proxy.

Parameters

telebot_error_e telebot_core_set_chat_description telebot_error_e telebot_core_set_proxy (telebot_core_handler_ttelebot_core_handler_t  core_h,
long long int chat_id,
const char * description, addr,
telebot_core_response_tresponse const char * auth 
- - - - + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]descriptionNew chat description, 0-255 characters.
[out]responseResponse data that contains "True" on success. It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler created with telebot_core_create().
[in]addrProxy address in full.
[in]authProxy authorization informatio.
@@ -3468,77 +6564,41 @@

-

◆ telebot_core_set_chat_permissions()

+ +

◆ telebot_core_set_webhook()

- + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + @@ -3548,30 +6608,31 @@

-

Set default chat permissions for all members. The bot must be an administrator in the group or a supergroup for this to work and must have the 'can_restrict_members' admin rights.

+

Specify a url and receive incoming updates via an outgoing webhook. Whenever there is an update for the bot, we will send an HTTPS POST request to the specified url, containing a JSON-serialized Update. In case of an unsuccessful request, we will give up after a reasonable amount of attempts.

Parameters

telebot_error_e telebot_core_set_chat_permissions telebot_core_response_t telebot_core_set_webhook (telebot_core_handler_ttelebot_core_handler_t  core_h,
long long int chat_id,
bool can_send_messages,
bool can_send_media_messages,
bool can_send_polls,
bool can_send_other_messages,
bool can_add_web_page_previews,
bool can_change_info, const char * url,
bool can_invite_users, const char * certificate,
bool can_pin_messages, int max_connections,
telebot_core_response_tresponse const char * allowed_updates 
- - - - - + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername)
[in]can_send_messagesPass true, if the user is allowed to send text messages, contacts, locations and venues
[in]can_send_media_messagesPass true, if the user is allowed to send audios, documents, photos, videos, video notes and voice notes, implies can_send_messages
[in]core_hThe telebot core handler created with telebot_core_create().
[in]urlHTTPS url to send updates to. Use an empty string to remove webhook integration
[in]certificateA path to to a public key certificate to upload server.
[in]max_connectionsOptional Maximum allowed number of simultaneous HTTPS connections to the webhook for update delivery, 1-100. Defaults to 40. Use lower values to limit the load on your bot's server, and higher values to increase your bot's throughput.
[in]allowed_updatesList the types of updates you want your bot to receive. For example, specify ["message", "edited_channel_post", "callback_query"] to only receive updates of these types.
+
Returns
telebot_core_response_t response that contains the result (true/false), which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
- -

◆ telebot_core_set_chat_photo()

+ +

◆ telebot_core_stop_message_live_location()

- + - + @@ -3583,14 +6644,20 @@

- - + + + + + + + + - - + + @@ -3600,30 +6667,31 @@

-

Set a new profile photo for the chat. Photos can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.

+

Stop updating a live location message sent by the bot or via the bot (for inline bots) before live_period expires.

Parameters

telebot_error_e telebot_core_set_chat_photo telebot_core_response_t telebot_core_stop_message_live_location (telebot_core_handler_ttelebot_core_handler_t  core_h,
const char * photo, int message_id,
char * inline_message_id,
telebot_core_response_tresponse const char * reply_markup 
- + - - + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]photoNew chat photo file path.
[out]responseResponse data that contains "True" on success. It MUST be freed with telebot_core_put_response().
[in]message_idRequired if inline_message_id is not specified. Identifier of the sent message.
[in]inline_message_idRequired if chat_id and message_id are not specified. Identifier of the inline message.
[in]reply_markupA JSON-serialized object for a new inline keyboard.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the result (true/false), which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
- -

◆ telebot_core_set_chat_sticker_set()

+ +

◆ telebot_core_stop_poll()

- + - + @@ -3635,14 +6703,14 @@

- - + + - - + + @@ -3652,49 +6720,50 @@

-

Set a new group sticker set for a supergroup. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Use the field can_set_sticker_set optionally returned in telebot_core_get_chat requests to check if the bot can use it.

+

Stop a poll which was sent by the bot.

Parameters

telebot_error_e telebot_core_set_chat_sticker_set telebot_core_response_t telebot_core_stop_poll (telebot_core_handler_ttelebot_core_handler_t  core_h,
const char * sticker_set_name, int message_id,
telebot_core_response_tresponse const char * reply_markup 
- - - - + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]sticker_set_nameName of the sticker set to be set as the group sticker set.
[out]responseResponse data that contains "True" on success. It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idRequired if inline_message_id. Unique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]message_idRequired if inline_message_id is not specified. Identifier of the sent message.
[in]inline_message_idRequired if chat_id and message_id are not specified. Identifier of the inline message.
[in]reply_markupA JSON-serialized object for an inline keyboard.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the stopped poll, which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
- -

◆ telebot_core_set_chat_title()

+ +

◆ telebot_core_transfer_gift()

- + - + - + - - + + - - + + @@ -3704,43 +6773,43 @@

-

Change the title of a chat. Titles can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.

+

Use this method to transfer a gift.

Parameters

telebot_error_e telebot_core_set_chat_title telebot_core_response_t telebot_core_transfer_gift (telebot_core_handler_ttelebot_core_handler_t  core_h,
long long int chat_id, user_id,
const char * title, long long int chat_id,
telebot_core_response_tresponse const char * gift_id 
- - - - + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]titleNew chat title, 1-255 characters.
[out]responseResponse data that contains "True" on success. It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler.
[in]user_idUnique identifier of the target user.
[in]chat_idUnique identifier for the target chat.
[in]gift_idIdentifier of the gift.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response.
- -

◆ telebot_core_set_my_commands()

+ +

◆ telebot_core_unban_chat_member()

- + - + - - + + - - + + @@ -3750,42 +6819,42 @@

-

Change the list of the bot's commands.

+

Unban a previously kicked user in a supergroup or channel. The user will not return to the group or channel automatically, but will be able to join via link, etc. The bot must be an administrator for this to work.

Parameters

telebot_error_e telebot_core_set_my_commands telebot_core_response_t telebot_core_unban_chat_member (telebot_core_handler_ttelebot_core_handler_t  core_h,
const char * commands, long long int chat_id,
telebot_core_response_tresponse int user_id 
- - - + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]commandsA JSON-serialized list of bot commands to be set as the list of the bot's commands. At most 100 commands can be specified.
[out]responseResponse data that contains "True" on success. It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername)
[in]user_idUnique identifier of the target user
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the result (true/false), which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
- -

◆ telebot_core_set_proxy()

+ +

◆ telebot_core_unban_chat_sender_chat()

- + - + - - + + - - + + @@ -3795,60 +6864,36 @@

-

Set proxy address to use telebot behind proxy.

+

Use this method to unban a previously banned channel chat in a supergroup or a channel.

Parameters

telebot_error_e telebot_core_set_proxy telebot_core_response_t telebot_core_unban_chat_sender_chat (telebot_core_handler_ttelebot_core_handler_t  core_h,
const char * addr, long long int chat_id,
const char * auth long long int sender_chat_id 
- - - + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]addrProxy address in full.
[in]authProxy authorization informatio.
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier for the target chat.
[in]sender_chat_idUnique identifier of the target sender chat.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the result (true/false).
- -

◆ telebot_core_set_webhook()

+ +

◆ telebot_core_unhide_general_forum_topic()

- + - + - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -3858,32 +6903,28 @@

-

Specify a url and receive incoming updates via an outgoing webhook. Whenever there is an update for the bot, we will send an HTTPS POST request to the specified url, containing a JSON-serialized Update. In case of an unsuccessful request, we will give up after a reasonable amount of attempts.

+

Use this method to unhide the 'General' topic in a forum supergroup chat.

Parameters

telebot_error_e telebot_core_set_webhook telebot_core_response_t telebot_core_unhide_general_forum_topic (telebot_core_handler_ttelebot_core_handler_t  core_h,
const char * url,
const char * certificate,
int max_connections,
const char * allowed_updates,
telebot_core_response_tresponse long long int chat_id 
- - - - - - + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]urlHTTPS url to send updates to. Use an empty string to remove webhook integration
[in]certificateA path to to a public key certificate to upload server.
[in]max_connectionsOptional Maximum allowed number of simultaneous HTTPS connections to the webhook for update delivery, 1-100. Defaults to 40. Use lower values to limit the load on your bot's server, and higher values to increase your bot's throughput.
[in]allowed_updatesList the types of updates you want your bot to receive. For example, specify ["message", "edited_channel_post", "callback_query"] to only receive updates of these types.
[out]responseResponse data, MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier for the target chat.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the result (true/false).
- -

◆ telebot_core_stop_message_live_location()

+ +

◆ telebot_core_unpin_all_forum_topic_messages()

- + - + @@ -3896,25 +6937,7 @@

- - - - - - - - - - - - - - - - - - - + @@ -3924,57 +6947,36 @@

-

Stop updating a live location message sent by the bot or via the bot (for inline bots) before live_period expires.

+

Use this method to unpin all messages in a forum topic.

Parameters

telebot_error_e telebot_core_stop_message_live_location telebot_core_response_t telebot_core_unpin_all_forum_topic_messages (telebot_core_handler_ttelebot_core_handler_t  core_h,
int message_id,
char * inline_message_id,
const char * reply_markup,
telebot_core_response_tresponse message_thread_id 
- - - - - - + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]message_idRequired if inline_message_id is not specified. Identifier of the sent message.
[in]inline_message_idRequired if chat_id and message_id are not specified. Identifier of the inline message.
[in]reply_markupA JSON-serialized object for a new inline keyboard.
[out]responseResponse data that contains the sent message on success. Otherwise, True is returned. It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier for the target chat.
[in]message_thread_idUnique identifier for the target message thread of the forum topic.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the result (true/false).
- -

◆ telebot_core_stop_poll()

+ +

◆ telebot_core_unpin_all_general_forum_topic_messages()

- + - + - - - - - - - - - - - - - - - - - - - + @@ -3984,51 +6986,35 @@

-

Stop a poll which was sent by the bot.

+

Use this method to unpin all messages in a General forum topic.

Parameters

telebot_error_e telebot_core_stop_poll telebot_core_response_t telebot_core_unpin_all_general_forum_topic_messages (telebot_core_handler_ttelebot_core_handler_t  core_h,
long long int chat_id,
int message_id,
const char * reply_markup,
telebot_core_response_tresponse chat_id 
- - - - - - + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idRequired if inline_message_id. Unique identifier for the target chat or username of the target channel (in the format @channelusername).
[in]message_idRequired if inline_message_id is not specified. Identifier of the sent message.
[in]inline_message_idRequired if chat_id and message_id are not specified. Identifier of the inline message.
[in]reply_markupA JSON-serialized object for an inline keyboard.
[out]responseResponse data that contains the message sent on succes, otherwise "True". It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler.
[in]chat_idUnique identifier for the target chat.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the result (true/false).
- -

◆ telebot_core_unban_chat_member()

+ +

◆ telebot_core_unpin_chat_message()

- + - + - - - - - - - - - - - - - + @@ -4038,43 +7024,59 @@

-

Unban a previously kicked user in a supergroup or channel. The user will not return to the group or channel automatically, but will be able to join via link, etc. The bot must be an administrator for this to work.

+

Unpin a message in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the 'can_pin_messages' admin right in the supergroup or 'can_edit_messages' admin right in the channel.

Parameters

telebot_error_e telebot_core_unban_chat_member telebot_core_response_t telebot_core_unpin_chat_message (telebot_core_handler_ttelebot_core_handler_t  core_h,
long long int chat_id,
int user_id,
telebot_core_response_tresponse chat_id 
- - - - + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername)
[in]user_idUnique identifier of the target user
[out]responseResponse data that contains "True" on success. It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response that contains the result (true/false), which MUST be released with telebot_core_put_response(), or null if allocation fails. Response code should be checked with #teleobot_core_get_response_code(), before getting data with telebot_core_get_response_data().
- -

◆ telebot_core_unpin_chat_message()

+ +

◆ telebot_core_upgrade_gift()

- + - + - - + + + + + + + + + + + + + + + + + + + + - - + + @@ -4084,25 +7086,26 @@

-

Unpin a message in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the 'can_pin_messages' admin right in the supergroup or 'can_edit_messages' admin right in the channel.

+

Use this method to upgrade a gift.

Parameters

telebot_error_e telebot_core_unpin_chat_message telebot_core_response_t telebot_core_upgrade_gift (telebot_core_handler_ttelebot_core_handler_t  core_h,
long long int chat_id, const char * gift_id,
bool pay_for_upgrade,
const char * text,
const char * text_parse_mode,
telebot_core_response_tresponse const char * text_entities 
- - - + + + + + +
[in]core_hThe telebot core handler created with telebot_core_create().
[in]chat_idUnique identifier for the target chat or username of the target channel (in the format @channelusername).
[out]responseResponse data that contains "True" on success. It MUST be freed with telebot_core_put_response().
[in]core_hThe telebot core handler.
[in]gift_idIdentifier of the gift.
[in]pay_for_upgradePass True to pay for the gift upgrade.
[in]textText that will be shown along with the gift.
[in]text_parse_modeMode for parsing entities in the text.
[in]text_entitiesA JSON-serialized list of special entities.
-
Returns
on Success, TELEBOT_ERROR_NONE is returned, otherwise a negative error value.
+
Returns
telebot_core_response_t response.
diff --git a/docs/index.html b/docs/index.html index 2d95332..99c94dd 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Telebot @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- +
@@ -54,25 +57,181 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
-
Telebot
+
+
Telebot
-

C Library for Telegram bot API that uses json-c and libcurl. Head over to Telegram Bots page to read about how to register your brand new bot with Telegram platform and see it in action using telebot.

-

Building

-

You need to install libraries and build tools such as CMake. On Debian-based Linux distributions you can do it as follows:

sudo apt-get install libcurl4-openssl-dev libjson-c-dev cmake binutils make

On Mac OSX, first install macports from MacPorts and in Terminal

sudo port install cmake json-c curl

To build the library run following commands:

cd [your repository]
mkdir -p Build && cd Build
cmake ../
make

Sample

-

Following sample creates a simple dummy bot which echoes back the messages sent to it. The same example is built as echobot executable under Build/test folder.

if (telebot_create(&handle, token) != TELEBOT_ERROR_NONE) {
printf("Telebot create failed\n");
return -1;
}
if (telebot_get_me(handle, &me) != TELEBOT_ERROR_NONE) {
printf("Failed to get bot information\n");
telebot_destroy(handle);
return -1;
}
printf("ID: %d\n", me.id);
printf("First Name: %s\n", me.first_name);
printf("User Name: %s\n", me.username);
int index, count, offset = 1;
char str[4096];
while (1) {
telebot_update_t *updates;
ret = telebot_get_updates(handle, offset, 20, 0, NULL, 0, &updates, &count);
if (ret != TELEBOT_ERROR_NONE)
continue;
printf("Number of updates: %d\n", count);
for (index = 0; index < count; index++) {
if (updates[index].update_type == TELEBOT_UPDATE_TYPE_MESSAGE) {
message = updates[index].message;
printf("%s: %s \n", message.from->first_name, message.text);
if (strstr(message.text, "/start")) {
snprintf(str, SIZE_OF_ARRAY(str), "Hello %s", message.from->first_name);
} else {
snprintf(str, SIZE_OF_ARRAY(str), "RE:%s", message.text);
}
ret = telebot_send_message(handle, message.chat->id, str, "", false, false, 0, "");
if (ret != TELEBOT_ERROR_NONE) {
printf("Failed to send message: %d \n", ret);
}
}
offset = updates[index].update_id + 1;
}
telebot_put_updates(updates, count);
sleep(1);
}
+

Build GitHub repo size GitHub issues GitHub pull requests License

+

C Library for Telegram bot API that uses json-c and libcurl. Head over to Telegram Bots page to read about how to register your brand new bot with Telegram platform and see it in action using telebot.

+

+Building

+

You need to install libraries and build tools such as CMake. On Debian-based Linux distributions you can do it as follows:

+
sudo apt-get install libcurl4-openssl-dev libjson-c-dev cmake binutils make
+

On Mac OSX, first install macports from MacPorts and in Terminal

+
sudo port install cmake json-c curl
+

To build the library run following commands:

+
cd [your repository]
+
mkdir -p build && cd build
+
cmake ..
+
make
+

For debug build

mkdir -p build && cd build
+
cmake .. -DDEBUG=1
+
make
+

+Testing

+

Place Telegam Bot API Token in .token file in the root folder of the repository, and run as below

./build/test/testbot
+
+ +Sample +

+

Following sample creates a simple dummy bot which echoes back the messages sent to it. A more comprehensive test bot is built as testbot executable under Build/test folder. It supports various commands to test APIs, polls, custom keyboards, and multimedia sending. The executable expects and reads bot token from .token file on the same location.

+
#include <stdio.h>
+
#include <stdlib.h>
+
#include <pthread.h>
+
#include <string.h>
+
#include <unistd.h>
+
#include <telebot.h>
+
+
#define SIZE_OF_ARRAY(array) (sizeof(array) / sizeof(array[0]))
+
+
int main(int argc, char *argv[])
+
{
+
printf("Welcome to Echobot\n");
+
+
FILE *fp = fopen(".token", "r");
+
if (fp == NULL)
+
{
+
printf("Failed to open .token file\n");
+
return -1;
+
}
+
+
char token[1024];
+
if (fscanf(fp, "%s", token) == 0)
+
{
+
printf("Failed to read token\n");
+
fclose(fp);
+
return -1;
+
}
+
printf("Token: %s\n", token);
+
fclose(fp);
+
+ +
if (telebot_create(&handle, token) != TELEBOT_ERROR_NONE)
+
{
+
printf("Telebot create failed\n");
+
return -1;
+
}
+
+ +
if (telebot_get_me(handle, &me) != TELEBOT_ERROR_NONE)
+
{
+
printf("Failed to get bot information\n");
+
telebot_destroy(handle);
+
return -1;
+
}
+
+
printf("ID: %d\n", me.id);
+
printf("First Name: %s\n", me.first_name);
+
printf("User Name: %s\n", me.username);
+
+ +
+
int index, count, offset = -1;
+ + + +
+
while (1)
+
{
+
telebot_update_t *updates;
+
ret = telebot_get_updates(handle, offset, 20, 0, update_types, 0, &updates, &count);
+
if (ret != TELEBOT_ERROR_NONE)
+
continue;
+
printf("Number of updates: %d\n", count);
+
for (index = 0; index < count; index++)
+
{
+
message = updates[index].message;
+
if (message.text)
+
{
+
printf("%s: %s \n", message.from->first_name, message.text);
+
if (strstr(message.text, "/dice"))
+
{
+
telebot_send_dice(handle, message.chat->id, false, 0, "");
+
}
+
else
+
{
+
char str[4096];
+
if (strstr(message.text, "/start"))
+
{
+
snprintf(str, SIZE_OF_ARRAY(str), "Hello %s", message.from->first_name);
+
}
+
else
+
{
+
snprintf(str, SIZE_OF_ARRAY(str), "<i>%s</i>", message.text);
+
}
+
ret = telebot_send_message(handle, message.chat->id, str, "HTML", false, false, updates[index].message.message_id, "");
+
}
+
if (ret != TELEBOT_ERROR_NONE)
+
{
+
printf("Failed to send message: %d \n", ret);
+
}
+
}
+
offset = updates[index].update_id + 1;
+
}
+
telebot_put_updates(updates, count);
+
+
sleep(1);
+
}
+
+
telebot_destroy(handle);
+
+
return 0;
+
}
+
telebot_error_e telebot_send_dice(telebot_handler_t handle, long long int chat_id, bool disable_notification, int reply_to_message_id, const char *reply_markup)
Send a dice, which will have a random value from 1 to 6.
+
telebot_error_e telebot_destroy(telebot_handler_t handle)
Final function to use telebo APIs.
+
enum telebot_update_type telebot_update_type_e
Enumerations of telegram update types.
+
telebot_error_e telebot_get_updates(telebot_handler_t handle, int offset, int limit, int timeout, telebot_update_type_e allowed_updates[], int allowed_updates_count, telebot_update_t **updates, int *count)
This function is used to get latest updates.
+
telebot_error_e telebot_get_me(telebot_handler_t handle, telebot_user_t *me)
This function is used to get information about telegram bot itself.
+
telebot_error_e telebot_put_me(telebot_user_t *me)
This function is used to release memory used for obtained information about telegram bot itself.
+
telebot_error_e telebot_put_updates(telebot_update_t *updates, int count)
This function is used to release memory used for obtained updates.
+
struct telebot_handler * telebot_handler_t
This is opaque object to represent a telebot handler.
Definition telebot-types.h:3489
+
telebot_error_e telebot_send_message(telebot_handler_t handle, long long int chat_id, const char *text, const char *parse_mode, bool disable_web_page_preview, bool disable_notification, int reply_to_message_id, const char *reply_markup)
Send text messages.
+
telebot_error_e
Enumerations of error code for telebot programming interface.
Definition telebot-common.h:45
+
telebot_error_e telebot_create(telebot_handler_t *handle, char *token)
Initial function to use telebot APIs.
+
@ TELEBOT_UPDATE_TYPE_MESSAGE
Definition telebot-types.h:45
+
@ TELEBOT_ERROR_NONE
Definition telebot-common.h:46
+
long long int id
Definition telebot-types.h:231
+
This object represents a message.
Definition telebot-types.h:1777
+
struct telebot_user * from
Definition telebot-types.h:1788
+
struct telebot_chat * chat
Definition telebot-types.h:1813
+
char * text
Definition telebot-types.h:1898
+
This object represents an incoming update.
Definition telebot-types.h:3328
+
int update_id
Definition telebot-types.h:3333
+
telebot_message_t message
Definition telebot-types.h:3342
+
This object represents a Telegram user or bot.
Definition telebot-types.h:178
+
long long int id
Definition telebot-types.h:180
+
char * username
Definition telebot-types.h:192
+
char * first_name
Definition telebot-types.h:186
+
This file includes all the header files of the telegram bot library.
+

+
+
+
diff --git a/docs/jquery.js b/docs/jquery.js index f5343ed..1dffb65 100644 --- a/docs/jquery.js +++ b/docs/jquery.js @@ -1,71 +1,25 @@ +/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=y(e||this.defaultElement||this)[0],this.element=y(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=y(),this.hoverable=y(),this.focusable=y(),this.classesElementLookup={},e!==this&&(y.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=y(e.style?e.ownerDocument:e.document||e),this.window=y(this.document[0].defaultView||this.document[0].parentWindow)),this.options=y.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:y.noop,_create:y.noop,_init:y.noop,destroy:function(){var i=this;this._destroy(),y.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:y.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return y.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=y.widget.extend({},this.options[t]),n=0;n
"),i=e.children()[0];return y("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthx(D(s),D(n))?o.important="horizontal":o.important="vertical",p.using.call(this,t,o)}),h.offset(y.extend(l,{using:t}))})},y.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,h=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0n?0=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),y.ui.plugin={add:function(t,e,i){var s,n=y.ui[t].prototype;for(s in i)n.plugins[s]=n.plugins[s]||[],n.plugins[s].push([e,i[s]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;n
").css({overflow:"hidden",position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,t={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(t),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(t),this._proportionallyResize()),this._setupHandles(),e.autoHide&&y(this.element).on("mouseenter",function(){e.disabled||(i._removeClass("ui-resizable-autohide"),i._handles.show())}).on("mouseleave",function(){e.disabled||i.resizing||(i._addClass("ui-resizable-autohide"),i._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy(),this._addedHandles.remove();function t(t){y(t).removeData("resizable").removeData("ui-resizable").off(".resizable")}var e;return this.elementIsWrapper&&(t(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),t(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;case"aspectRatio":this._aspectRatio=!!e}},_setupHandles:function(){var t,e,i,s,n,o=this.options,h=this;if(this.handles=o.handles||(y(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=y(),this._addedHandles=y(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),i=this.handles.split(","),this.handles={},e=0;e"),this._addClass(n,"ui-resizable-handle "+s),n.css({zIndex:o.zIndex}),this.handles[t]=".ui-resizable-"+t,this.element.children(this.handles[t]).length||(this.element.append(n),this._addedHandles=this._addedHandles.add(n));this._renderAxis=function(t){var e,i,s;for(e in t=t||this.element,this.handles)this.handles[e].constructor===String?this.handles[e]=this.element.children(this.handles[e]).first().show():(this.handles[e].jquery||this.handles[e].nodeType)&&(this.handles[e]=y(this.handles[e]),this._on(this.handles[e],{mousedown:h._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(i=y(this.handles[e],this.element),s=/sw|ne|nw|se|n|s/.test(e)?i.outerHeight():i.outerWidth(),i=["padding",/ne|nw|n/.test(e)?"Top":/se|sw|s/.test(e)?"Bottom":/^e$/.test(e)?"Right":"Left"].join(""),t.css(i,s),this._proportionallyResize()),this._handles=this._handles.add(this.handles[e])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){h.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),h.axis=n&&n[1]?n[1]:"se")}),o.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._addedHandles.remove()},_mouseCapture:function(t){var e,i,s=!1;for(e in this.handles)(i=y(this.handles[e])[0])!==t.target&&!y.contains(i,t.target)||(s=!0);return!this.options.disabled&&s},_mouseStart:function(t){var e,i,s=this.options,n=this.element;return this.resizing=!0,this._renderProxy(),e=this._num(this.helper.css("left")),i=this._num(this.helper.css("top")),s.containment&&(e+=y(s.containment).scrollLeft()||0,i+=y(s.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:e,top:i},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:n.width(),height:n.height()},this.originalSize=this._helper?{width:n.outerWidth(),height:n.outerHeight()}:{width:n.width(),height:n.height()},this.sizeDiff={width:n.outerWidth()-n.width(),height:n.outerHeight()-n.height()},this.originalPosition={left:e,top:i},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof s.aspectRatio?s.aspectRatio:this.originalSize.width/this.originalSize.height||1,s=y(".ui-resizable-"+this.axis).css("cursor"),y("body").css("cursor","auto"===s?this.axis+"-resize":s),this._addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var e=this.originalMousePosition,i=this.axis,s=t.pageX-e.left||0,e=t.pageY-e.top||0,i=this._change[i];return this._updatePrevProperties(),i&&(e=i.apply(this,[t,s,e]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(e=this._updateRatio(e,t)),e=this._respectSize(e,t),this._updateCache(e),this._propagate("resize",t),e=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),y.isEmptyObject(e)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges())),!1},_mouseStop:function(t){this.resizing=!1;var e,i,s,n=this.options,o=this;return this._helper&&(s=(e=(i=this._proportionallyResizeElements).length&&/textarea/i.test(i[0].nodeName))&&this._hasScroll(i[0],"left")?0:o.sizeDiff.height,i=e?0:o.sizeDiff.width,e={width:o.helper.width()-i,height:o.helper.height()-s},i=parseFloat(o.element.css("left"))+(o.position.left-o.originalPosition.left)||null,s=parseFloat(o.element.css("top"))+(o.position.top-o.originalPosition.top)||null,n.animate||this.element.css(y.extend(e,{top:s,left:i})),o.helper.height(o.size.height),o.helper.width(o.size.width),this._helper&&!n.animate&&this._proportionallyResize()),y("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s=this.options,n={minWidth:this._isNumber(s.minWidth)?s.minWidth:0,maxWidth:this._isNumber(s.maxWidth)?s.maxWidth:1/0,minHeight:this._isNumber(s.minHeight)?s.minHeight:0,maxHeight:this._isNumber(s.maxHeight)?s.maxHeight:1/0};(this._aspectRatio||t)&&(e=n.minHeight*this.aspectRatio,i=n.minWidth/this.aspectRatio,s=n.maxHeight*this.aspectRatio,t=n.maxWidth/this.aspectRatio,e>n.minWidth&&(n.minWidth=e),i>n.minHeight&&(n.minHeight=i),st.width,h=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,a=this.originalPosition.left+this.originalSize.width,r=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),i=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),h&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=a-e.minWidth),s&&l&&(t.left=a-e.maxWidth),h&&i&&(t.top=r-e.minHeight),n&&i&&(t.top=r-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];e<4;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;e
").css({overflow:"hidden"}),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++e.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize;return{left:this.originalPosition.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize;return{top:this.originalPosition.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},sw:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,e,i]))},ne:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},nw:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,e,i]))}},_propagate:function(t,e){y.ui.plugin.call(this,t,[e,this.ui()]),"resize"!==t&&this._trigger(t,e,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),y.ui.plugin.add("resizable","animate",{stop:function(e){var i=y(this).resizable("instance"),t=i.options,s=i._proportionallyResizeElements,n=s.length&&/textarea/i.test(s[0].nodeName),o=n&&i._hasScroll(s[0],"left")?0:i.sizeDiff.height,h=n?0:i.sizeDiff.width,n={width:i.size.width-h,height:i.size.height-o},h=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,o=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(y.extend(n,o&&h?{top:o,left:h}:{}),{duration:t.animateDuration,easing:t.animateEasing,step:function(){var t={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};s&&s.length&&y(s[0]).css({width:t.width,height:t.height}),i._updateCache(t),i._propagate("resize",e)}})}}),y.ui.plugin.add("resizable","containment",{start:function(){var i,s,n=y(this).resizable("instance"),t=n.options,e=n.element,o=t.containment,h=o instanceof y?o.get(0):/parent/.test(o)?e.parent().get(0):o;h&&(n.containerElement=y(h),/document/.test(o)||o===document?(n.containerOffset={left:0,top:0},n.containerPosition={left:0,top:0},n.parentData={element:y(document),left:0,top:0,width:y(document).width(),height:y(document).height()||document.body.parentNode.scrollHeight}):(i=y(h),s=[],y(["Top","Right","Left","Bottom"]).each(function(t,e){s[t]=n._num(i.css("padding"+e))}),n.containerOffset=i.offset(),n.containerPosition=i.position(),n.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},t=n.containerOffset,e=n.containerSize.height,o=n.containerSize.width,o=n._hasScroll(h,"left")?h.scrollWidth:o,e=n._hasScroll(h)?h.scrollHeight:e,n.parentData={element:h,left:t.left,top:t.top,width:o,height:e}))},resize:function(t){var e=y(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.position,o=e._aspectRatio||t.shiftKey,h={top:0,left:0},a=e.containerElement,t=!0;a[0]!==document&&/static/.test(a.css("position"))&&(h=s),n.left<(e._helper?s.left:0)&&(e.size.width=e.size.width+(e._helper?e.position.left-s.left:e.position.left-h.left),o&&(e.size.height=e.size.width/e.aspectRatio,t=!1),e.position.left=i.helper?s.left:0),n.top<(e._helper?s.top:0)&&(e.size.height=e.size.height+(e._helper?e.position.top-s.top:e.position.top),o&&(e.size.width=e.size.height*e.aspectRatio,t=!1),e.position.top=e._helper?s.top:0),i=e.containerElement.get(0)===e.element.parent().get(0),n=/relative|absolute/.test(e.containerElement.css("position")),i&&n?(e.offset.left=e.parentData.left+e.position.left,e.offset.top=e.parentData.top+e.position.top):(e.offset.left=e.element.offset().left,e.offset.top=e.element.offset().top),n=Math.abs(e.sizeDiff.width+(e._helper?e.offset.left-h.left:e.offset.left-s.left)),s=Math.abs(e.sizeDiff.height+(e._helper?e.offset.top-h.top:e.offset.top-s.top)),n+e.size.width>=e.parentData.width&&(e.size.width=e.parentData.width-n,o&&(e.size.height=e.size.width/e.aspectRatio,t=!1)),s+e.size.height>=e.parentData.height&&(e.size.height=e.parentData.height-s,o&&(e.size.width=e.size.height*e.aspectRatio,t=!1)),t||(e.position.left=e.prevPosition.left,e.position.top=e.prevPosition.top,e.size.width=e.prevSize.width,e.size.height=e.prevSize.height)},stop:function(){var t=y(this).resizable("instance"),e=t.options,i=t.containerOffset,s=t.containerPosition,n=t.containerElement,o=y(t.helper),h=o.offset(),a=o.outerWidth()-t.sizeDiff.width,o=o.outerHeight()-t.sizeDiff.height;t._helper&&!e.animate&&/relative/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o}),t._helper&&!e.animate&&/static/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o})}}),y.ui.plugin.add("resizable","alsoResize",{start:function(){var t=y(this).resizable("instance").options;y(t.alsoResize).each(function(){var t=y(this);t.data("ui-resizable-alsoresize",{width:parseFloat(t.width()),height:parseFloat(t.height()),left:parseFloat(t.css("left")),top:parseFloat(t.css("top"))})})},resize:function(t,i){var e=y(this).resizable("instance"),s=e.options,n=e.originalSize,o=e.originalPosition,h={height:e.size.height-n.height||0,width:e.size.width-n.width||0,top:e.position.top-o.top||0,left:e.position.left-o.left||0};y(s.alsoResize).each(function(){var t=y(this),s=y(this).data("ui-resizable-alsoresize"),n={},e=t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];y.each(e,function(t,e){var i=(s[e]||0)+(h[e]||0);i&&0<=i&&(n[e]=i||null)}),t.css(n)})},stop:function(){y(this).removeData("ui-resizable-alsoresize")}}),y.ui.plugin.add("resizable","ghost",{start:function(){var t=y(this).resizable("instance"),e=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}),t._addClass(t.ghost,"ui-resizable-ghost"),!1!==y.uiBackCompat&&"string"==typeof t.options.ghost&&t.ghost.addClass(this.options.ghost),t.ghost.appendTo(t.helper)},resize:function(){var t=y(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=y(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),y.ui.plugin.add("resizable","grid",{resize:function(){var t,e=y(this).resizable("instance"),i=e.options,s=e.size,n=e.originalSize,o=e.originalPosition,h=e.axis,a="number"==typeof i.grid?[i.grid,i.grid]:i.grid,r=a[0]||1,l=a[1]||1,u=Math.round((s.width-n.width)/r)*r,p=Math.round((s.height-n.height)/l)*l,d=n.width+u,c=n.height+p,f=i.maxWidth&&i.maxWidthd,s=i.minHeight&&i.minHeight>c;i.grid=a,m&&(d+=r),s&&(c+=l),f&&(d-=r),g&&(c-=l),/^(se|s|e)$/.test(h)?(e.size.width=d,e.size.height=c):/^(ne)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.top=o.top-p):/^(sw)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.left=o.left-u):((c-l<=0||d-r<=0)&&(t=e._getPaddingPlusBorderDimensions(this)),0=f[g]?0:Math.min(f[g],n));!a&&1)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); -/*! - * Sizzle CSS Selector Engine - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * More information: http://sizzlejs.com/ - */ -(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*! - * jQuery UI 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI - */ -(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*! - * jQuery UI Widget 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Widget - */ -(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*! - * jQuery UI Mouse 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Mouse - * - * Depends: - * jquery.ui.widget.js - */ -(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g
');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*! - * jQuery hashchange event - v1.3 - 7/21/2010 - * http://benalman.com/projects/jquery-hashchange-plugin/ - * - * Copyright (c) 2010 "Cowboy" Ben Alman - * Dual licensed under the MIT and GPL licenses. - * http://benalman.com/about/license/ - */ -(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$(' +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
telebot_animation Member List
+
telebot_animation Member List

This is the complete list of members for telebot_animation, including all inherited members.

- + - + - + - +
durationtelebot_animation
file_idtelebot_animation
file_idtelebot_animation
file_nametelebot_animation
file_sizetelebot_animation
file_sizetelebot_animation
file_unique_idtelebot_animation
heighttelebot_animation
heighttelebot_animation
mime_typetelebot_animation
thumbtelebot_animation
thumbtelebot_animation
widthtelebot_animation
diff --git a/docs/structtelebot__animation.html b/docs/structtelebot__animation.html index cfba3d5..739f39a 100644 --- a/docs/structtelebot__animation.html +++ b/docs/structtelebot__animation.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_animation Struct Reference @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,9 +56,16 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+

@@ -63,8 +73,7 @@ -
-
telebot_animation Struct Reference
+
telebot_animation Struct Reference
@@ -73,32 +82,32 @@

#include <telebot-types.h>

- - + - + - + - + - + - + - + - + - +

+

Public Attributes

char * file_id
char * file_id
 
char * file_unique_id
char * file_unique_id
 
int width
int width
 
int height
int height
 
int duration
int duration
 
struct telebot_photothumb
struct telebot_photothumb
 
char * file_name
char * file_name
 
char * mime_type
char * mime_type
 
int file_size
int file_size
 

Detailed Description

This object represents a video file.

Member Data Documentation

- -

◆ duration

+ +

◆ duration

@@ -112,8 +121,8 @@

-

◆ file_id

+ +

◆ file_id

@@ -127,8 +136,8 @@

-

◆ file_name

+ +

◆ file_name

@@ -142,8 +151,8 @@

-

◆ file_size

+ +

◆ file_size

@@ -157,8 +166,8 @@

-

◆ file_unique_id

+ +

◆ file_unique_id

@@ -172,8 +181,8 @@

-

◆ height

+ +

◆ height

@@ -187,8 +196,8 @@

-

◆ mime_type

+ +

◆ mime_type

@@ -202,8 +211,8 @@

-

◆ thumb

+ +

◆ thumb

@@ -217,8 +226,8 @@

-

◆ width

+ +

◆ width

@@ -238,9 +247,7 @@

diff --git a/docs/structtelebot__audio-members.html b/docs/structtelebot__audio-members.html index 26db9e2..ffee4b7 100644 --- a/docs/structtelebot__audio-members.html +++ b/docs/structtelebot__audio-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,34 +56,38 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+

-
-
telebot_audio Member List
+
telebot_audio Member List
diff --git a/docs/structtelebot__audio.html b/docs/structtelebot__audio.html index 483c581..0c3640d 100644 --- a/docs/structtelebot__audio.html +++ b/docs/structtelebot__audio.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_audio Struct Reference @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,9 +56,16 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
@@ -63,8 +73,7 @@ -
-
telebot_audio Struct Reference
+
telebot_audio Struct Reference

@@ -73,30 +82,30 @@

#include <telebot-types.h>

- - + - + - + - + - + - + - + - +

+

Public Attributes

char * file_id
char * file_id
 
char * file_unique_id
char * file_unique_id
 
int duration
int duration
 
char * performer
char * performer
 
char * title
char * title
 
char * mime_type
char * mime_type
 
int file_size
int file_size
 
struct telebot_photothumb
struct telebot_photothumb
 

Detailed Description

This object represents an audio file to be treated as music by the Telegram clients.

Member Data Documentation

- -

◆ duration

+ +

◆ duration

@@ -110,8 +119,8 @@

-

◆ file_id

+ +

◆ file_id

@@ -125,8 +134,8 @@

-

◆ file_size

+ +

◆ file_size

@@ -140,8 +149,8 @@

-

◆ file_unique_id

+ +

◆ file_unique_id

@@ -155,8 +164,8 @@

-

◆ mime_type

+ +

◆ mime_type

@@ -170,8 +179,8 @@

-

◆ performer

+ +

◆ performer

@@ -185,8 +194,8 @@

-

◆ thumb

+ +

◆ thumb

@@ -200,8 +209,8 @@

-

◆ title

+ +

◆ title

@@ -221,9 +230,7 @@

diff --git a/docs/structtelebot__birthdate-members.html b/docs/structtelebot__birthdate-members.html new file mode 100644 index 0000000..ddf8946 --- /dev/null +++ b/docs/structtelebot__birthdate-members.html @@ -0,0 +1,88 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_birthdate Member List
+
+
+ +

This is the complete list of members for telebot_birthdate, including all inherited members.

+ + + + +
daytelebot_birthdate
monthtelebot_birthdate
yeartelebot_birthdate
+ + + + diff --git a/docs/structtelebot__birthdate.html b/docs/structtelebot__birthdate.html new file mode 100644 index 0000000..4d9156b --- /dev/null +++ b/docs/structtelebot__birthdate.html @@ -0,0 +1,151 @@ + + + + + + + +Telebot: telebot_birthdate Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_birthdate Struct Reference
+
+
+ +

Describes the birthdate of a user. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + +

+Public Attributes

int day
 
int month
 
int year
 
+

Detailed Description

+

Describes the birthdate of a user.

+

Member Data Documentation

+ +

◆ day

+ +
+
+ + + + +
int telebot_birthdate::day
+
+

Day of the user's birth; 1-31

+ +
+
+ +

◆ month

+ +
+
+ + + + +
int telebot_birthdate::month
+
+

Month of the user's birth; 1-12

+ +
+
+ +

◆ year

+ +
+
+ + + + +
int telebot_birthdate::year
+
+

Optional. Year of the user's birth

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__bot__command-members.html b/docs/structtelebot__bot__command-members.html index 09383a9..66f4b20 100644 --- a/docs/structtelebot__bot__command-members.html +++ b/docs/structtelebot__bot__command-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,28 +56,32 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+

-
-
telebot_bot_command Member List
+
telebot_bot_command Member List

This is the complete list of members for telebot_bot_command, including all inherited members.

- +
commandtelebot_bot_command
descriptiontelebot_bot_command
descriptiontelebot_bot_command
diff --git a/docs/structtelebot__bot__command.html b/docs/structtelebot__bot__command.html index f2ed1fb..130b51e 100644 --- a/docs/structtelebot__bot__command.html +++ b/docs/structtelebot__bot__command.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_bot_command Struct Reference @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,9 +56,16 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
@@ -63,8 +73,7 @@ -
-
telebot_bot_command Struct Reference
+
telebot_bot_command Struct Reference

@@ -73,18 +82,18 @@

#include <telebot-types.h>

- - + - +

+

Public Attributes

char * command
char * command
 
char * description
char * description
 

Detailed Description

This object represents a bot command.

Member Data Documentation

- -

◆ command

+ +

◆ command

@@ -98,8 +107,8 @@

-

◆ description

+ +

◆ description

@@ -119,9 +128,7 @@

diff --git a/docs/structtelebot__business__bot__rights-members.html b/docs/structtelebot__business__bot__rights-members.html new file mode 100644 index 0000000..650c587 --- /dev/null +++ b/docs/structtelebot__business__bot__rights-members.html @@ -0,0 +1,99 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_business_bot_rights Member List
+
+
+ +

This is the complete list of members for telebot_business_bot_rights, including all inherited members.

+ + + + + + + + + + + + + + + +
can_change_gift_settings (defined in telebot_business_bot_rights)telebot_business_bot_rights
can_convert_gifts_to_stars (defined in telebot_business_bot_rights)telebot_business_bot_rights
can_delete_all_messages (defined in telebot_business_bot_rights)telebot_business_bot_rights
can_delete_sent_messages (defined in telebot_business_bot_rights)telebot_business_bot_rights
can_edit_bio (defined in telebot_business_bot_rights)telebot_business_bot_rights
can_edit_name (defined in telebot_business_bot_rights)telebot_business_bot_rights
can_edit_profile_photo (defined in telebot_business_bot_rights)telebot_business_bot_rights
can_edit_username (defined in telebot_business_bot_rights)telebot_business_bot_rights
can_manage_stories (defined in telebot_business_bot_rights)telebot_business_bot_rights
can_read_messages (defined in telebot_business_bot_rights)telebot_business_bot_rights
can_reply (defined in telebot_business_bot_rights)telebot_business_bot_rights
can_transfer_and_upgrade_gifts (defined in telebot_business_bot_rights)telebot_business_bot_rights
can_transfer_stars (defined in telebot_business_bot_rights)telebot_business_bot_rights
can_view_gifts_and_stars (defined in telebot_business_bot_rights)telebot_business_bot_rights
+ + + + diff --git a/docs/structtelebot__business__bot__rights.html b/docs/structtelebot__business__bot__rights.html new file mode 100644 index 0000000..75b3df6 --- /dev/null +++ b/docs/structtelebot__business__bot__rights.html @@ -0,0 +1,141 @@ + + + + + + + +Telebot: telebot_business_bot_rights Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_business_bot_rights Struct Reference
+
+
+ +

Represents the rights of a business bot. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+bool can_reply
 
+bool can_read_messages
 
+bool can_delete_sent_messages
 
+bool can_delete_all_messages
 
+bool can_edit_name
 
+bool can_edit_bio
 
+bool can_edit_profile_photo
 
+bool can_edit_username
 
+bool can_change_gift_settings
 
+bool can_view_gifts_and_stars
 
+bool can_convert_gifts_to_stars
 
+bool can_transfer_and_upgrade_gifts
 
+bool can_transfer_stars
 
+bool can_manage_stories
 
+

Detailed Description

+

Represents the rights of a business bot.

+

The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__business__connection-members.html b/docs/structtelebot__business__connection-members.html new file mode 100644 index 0000000..c8da7c5 --- /dev/null +++ b/docs/structtelebot__business__connection-members.html @@ -0,0 +1,91 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_business_connection Member List
+
+ + + + + diff --git a/docs/structtelebot__business__connection.html b/docs/structtelebot__business__connection.html new file mode 100644 index 0000000..11b1672 --- /dev/null +++ b/docs/structtelebot__business__connection.html @@ -0,0 +1,117 @@ + + + + + + + +Telebot: telebot_business_connection Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_business_connection Struct Reference
+
+
+ +

Describes the connection of the bot with a business account. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + + + + + + + +

+Public Attributes

+char * id
 
+struct telebot_useruser
 
+long long int user_chat_id
 
+long date
 
+bool can_reply
 
+bool is_enabled
 
+

Detailed Description

+

Describes the connection of the bot with a business account.

+

The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__business__intro-members.html b/docs/structtelebot__business__intro-members.html new file mode 100644 index 0000000..5bfecba --- /dev/null +++ b/docs/structtelebot__business__intro-members.html @@ -0,0 +1,88 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_business_intro Member List
+
+
+ +

This is the complete list of members for telebot_business_intro, including all inherited members.

+ + + + +
messagetelebot_business_intro
stickertelebot_business_intro
titletelebot_business_intro
+ + + + diff --git a/docs/structtelebot__business__intro.html b/docs/structtelebot__business__intro.html new file mode 100644 index 0000000..b3b7cb3 --- /dev/null +++ b/docs/structtelebot__business__intro.html @@ -0,0 +1,151 @@ + + + + + + + +Telebot: telebot_business_intro Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_business_intro Struct Reference
+
+
+ +

Contains information about the start page settings of a Telegram Business account. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + +

+Public Attributes

char * title
 
char * message
 
struct telebot_stickersticker
 
+

Detailed Description

+

Contains information about the start page settings of a Telegram Business account.

+

Member Data Documentation

+ +

◆ message

+ +
+
+ + + + +
char* telebot_business_intro::message
+
+

Optional. Message text of the business intro

+ +
+
+ +

◆ sticker

+ +
+
+ + + + +
struct telebot_sticker* telebot_business_intro::sticker
+
+

Optional. Sticker of the business intro

+ +
+
+ +

◆ title

+ +
+
+ + + + +
char* telebot_business_intro::title
+
+

Optional. Title text of the business intro

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__business__location-members.html b/docs/structtelebot__business__location-members.html new file mode 100644 index 0000000..553b1d4 --- /dev/null +++ b/docs/structtelebot__business__location-members.html @@ -0,0 +1,87 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_business_location Member List
+
+
+ +

This is the complete list of members for telebot_business_location, including all inherited members.

+ + + +
addresstelebot_business_location
locationtelebot_business_location
+ + + + diff --git a/docs/structtelebot__business__location.html b/docs/structtelebot__business__location.html new file mode 100644 index 0000000..e674315 --- /dev/null +++ b/docs/structtelebot__business__location.html @@ -0,0 +1,134 @@ + + + + + + + +Telebot: telebot_business_location Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_business_location Struct Reference
+
+
+ +

Contains information about the location of a Telegram Business account. + More...

+ +

#include <telebot-types.h>

+ + + + + + +

+Public Attributes

char * address
 
struct telebot_locationlocation
 
+

Detailed Description

+

Contains information about the location of a Telegram Business account.

+

Member Data Documentation

+ +

◆ address

+ +
+
+ + + + +
char* telebot_business_location::address
+
+

Address of the business

+ +
+
+ +

◆ location

+ +
+
+ + + + +
struct telebot_location* telebot_business_location::location
+
+

Optional. Location of the business

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__business__messages__deleted-members.html b/docs/structtelebot__business__messages__deleted-members.html new file mode 100644 index 0000000..e3e6857 --- /dev/null +++ b/docs/structtelebot__business__messages__deleted-members.html @@ -0,0 +1,89 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_business_messages_deleted Member List
+
+
+ +

This is the complete list of members for telebot_business_messages_deleted, including all inherited members.

+ + + + + +
business_connection_id (defined in telebot_business_messages_deleted)telebot_business_messages_deleted
chat (defined in telebot_business_messages_deleted)telebot_business_messages_deleted
count_message_ids (defined in telebot_business_messages_deleted)telebot_business_messages_deleted
message_ids (defined in telebot_business_messages_deleted)telebot_business_messages_deleted
+ + + + diff --git a/docs/structtelebot__business__messages__deleted.html b/docs/structtelebot__business__messages__deleted.html new file mode 100644 index 0000000..7888159 --- /dev/null +++ b/docs/structtelebot__business__messages__deleted.html @@ -0,0 +1,111 @@ + + + + + + + +Telebot: telebot_business_messages_deleted Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_business_messages_deleted Struct Reference
+
+
+ +

This object is received when messages are deleted from a connected business account. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + + + +

+Public Attributes

+char * business_connection_id
 
+struct telebot_chatchat
 
+int * message_ids
 
+int count_message_ids
 
+

Detailed Description

+

This object is received when messages are deleted from a connected business account.

+

The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__business__opening__hours-members.html b/docs/structtelebot__business__opening__hours-members.html new file mode 100644 index 0000000..b33a90c --- /dev/null +++ b/docs/structtelebot__business__opening__hours-members.html @@ -0,0 +1,88 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_business_opening_hours Member List
+
+
+ +

This is the complete list of members for telebot_business_opening_hours, including all inherited members.

+ + + + +
count_opening_hours (defined in telebot_business_opening_hours)telebot_business_opening_hours
opening_hourstelebot_business_opening_hours
time_zone_nametelebot_business_opening_hours
+ + + + diff --git a/docs/structtelebot__business__opening__hours.html b/docs/structtelebot__business__opening__hours.html new file mode 100644 index 0000000..1ea7476 --- /dev/null +++ b/docs/structtelebot__business__opening__hours.html @@ -0,0 +1,137 @@ + + + + + + + +Telebot: telebot_business_opening_hours Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_business_opening_hours Struct Reference
+
+
+ +

Describes the opening hours of a business. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + +

+Public Attributes

char * time_zone_name
 
struct telebot_business_opening_hours_intervalopening_hours
 
+int count_opening_hours
 
+

Detailed Description

+

Describes the opening hours of a business.

+

Member Data Documentation

+ +

◆ opening_hours

+ +
+
+ + + + +
struct telebot_business_opening_hours_interval* telebot_business_opening_hours::opening_hours
+
+

List of time intervals describing business opening hours

+ +
+
+ +

◆ time_zone_name

+ +
+
+ + + + +
char* telebot_business_opening_hours::time_zone_name
+
+

Unique name of the time zone for which the opening hours are defined

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__business__opening__hours__interval-members.html b/docs/structtelebot__business__opening__hours__interval-members.html new file mode 100644 index 0000000..861f47e --- /dev/null +++ b/docs/structtelebot__business__opening__hours__interval-members.html @@ -0,0 +1,87 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_business_opening_hours_interval Member List
+
+ + + + + diff --git a/docs/structtelebot__business__opening__hours__interval.html b/docs/structtelebot__business__opening__hours__interval.html new file mode 100644 index 0000000..afe27b2 --- /dev/null +++ b/docs/structtelebot__business__opening__hours__interval.html @@ -0,0 +1,134 @@ + + + + + + + +Telebot: telebot_business_opening_hours_interval Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_business_opening_hours_interval Struct Reference
+
+
+ +

Describes an interval of time during which a business is open. + More...

+ +

#include <telebot-types.h>

+ + + + + + +

+Public Attributes

int opening_minute
 
int closing_minute
 
+

Detailed Description

+

Describes an interval of time during which a business is open.

+

Member Data Documentation

+ +

◆ closing_minute

+ +
+
+ + + + +
int telebot_business_opening_hours_interval::closing_minute
+
+

The minute's sequence number in a week, starting on Monday, marking the end of the time interval during which the business is open; 0 - 8 * 24 * 60

+ +
+
+ +

◆ opening_minute

+ +
+
+ + + + +
int telebot_business_opening_hours_interval::opening_minute
+
+

The minute's sequence number in a week, starting on Monday, marking the start of the time interval during which the business is open; 0 - 7 * 24 * 60

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__callback__game-members.html b/docs/structtelebot__callback__game-members.html new file mode 100644 index 0000000..3db6625 --- /dev/null +++ b/docs/structtelebot__callback__game-members.html @@ -0,0 +1,86 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_callback_game Member List
+
+
+ +

This is the complete list of members for telebot_callback_game, including all inherited members.

+ + +
dummy (defined in telebot_callback_game)telebot_callback_game
+ + + + diff --git a/docs/structtelebot__callback__game.html b/docs/structtelebot__callback__game.html new file mode 100644 index 0000000..75a6e65 --- /dev/null +++ b/docs/structtelebot__callback__game.html @@ -0,0 +1,102 @@ + + + + + + + +Telebot: telebot_callback_game Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_callback_game Struct Reference
+
+
+ +

A placeholder, currently holds no information. Use BotFather to set up your game. + More...

+ +

#include <telebot-types.h>

+ + + + +

+Public Attributes

+bool dummy
 
+

Detailed Description

+

A placeholder, currently holds no information. Use BotFather to set up your game.

+

The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__callback__query-members.html b/docs/structtelebot__callback__query-members.html index e95b6f4..6bd49e9 100644 --- a/docs/structtelebot__callback__query-members.html +++ b/docs/structtelebot__callback__query-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,33 +56,37 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+

-
-
telebot_callback_query Member List
+
telebot_callback_query Member List
diff --git a/docs/structtelebot__callback__query.html b/docs/structtelebot__callback__query.html index d705207..32d5a57 100644 --- a/docs/structtelebot__callback__query.html +++ b/docs/structtelebot__callback__query.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_callback_query Struct Reference @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,9 +56,16 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
@@ -63,8 +73,7 @@ -
-
telebot_callback_query Struct Reference
+
telebot_callback_query Struct Reference

@@ -73,28 +82,28 @@

#include <telebot-types.h>

- - + - + - + - + - + - + - +

+

Public Attributes

char * id
char * id
 
struct telebot_userfrom
struct telebot_userfrom
 
struct telebot_messagemessage
struct telebot_messagemessage
 
char * inline_message_id
char * inline_message_id
 
char * chat_instance
char * chat_instance
 
char * data
char * data
 
char * game_short_name
char * game_short_name
 

Detailed Description

This object represents an incoming callback query from a callback button in an inline keyboard. If the button that originated the query was attached to a message sent by the bot, the field message will be present. If the button was attached to a message sent via the bot (in inline mode), the field inline_message_id will be present. Exactly one of the fields data or game_short_name will be present.

Member Data Documentation

- -

◆ chat_instance

+ +

◆ chat_instance

@@ -108,8 +117,8 @@

-

◆ data

+ +

◆ data

@@ -123,8 +132,8 @@

-

◆ from

+ +

◆ from

@@ -138,8 +147,8 @@

-

◆ game_short_name

+ +

◆ game_short_name

@@ -153,8 +162,8 @@

-

◆ id

+ +

◆ id

@@ -168,8 +177,8 @@

-

◆ inline_message_id

+ +

◆ inline_message_id

@@ -183,8 +192,8 @@

-

◆ message

+ +

◆ message

@@ -204,9 +213,7 @@

diff --git a/docs/structtelebot__chat-members.html b/docs/structtelebot__chat-members.html index 20d9d04..5236b9c 100644 --- a/docs/structtelebot__chat-members.html +++ b/docs/structtelebot__chat-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,40 +56,72 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+

-
-
telebot_chat Member List
+
telebot_chat Member List

This is the complete list of members for telebot_chat, including all inherited members.

- - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + +
can_set_sticker_settelebot_chat
descriptiontelebot_chat
first_nametelebot_chat
idtelebot_chat
invite_linktelebot_chat
last_nametelebot_chat
accent_color_idtelebot_chat
active_usernamestelebot_chat
biotelebot_chat
birthdatetelebot_chat
business_introtelebot_chat
business_locationtelebot_chat
business_opening_hourstelebot_chat
can_set_sticker_settelebot_chat
count_active_usernames (defined in telebot_chat)telebot_chat
custom_emoji_sticker_set_nametelebot_chat
descriptiontelebot_chat
emoji_status_custom_emoji_idtelebot_chat
emoji_status_expiration_datetelebot_chat
first_nametelebot_chat
has_aggressive_anti_spam_enabledtelebot_chat
has_hidden_memberstelebot_chat
has_private_forwardstelebot_chat
has_protected_contenttelebot_chat
has_restricted_voice_and_video_messagestelebot_chat
has_visible_historytelebot_chat
idtelebot_chat
invite_linktelebot_chat
is_direct_messagestelebot_chat
is_forumtelebot_chat
join_by_requesttelebot_chat
join_to_send_messagestelebot_chat
last_nametelebot_chat
linked_chat_idtelebot_chat
locationtelebot_chat
max_reaction_counttelebot_chat
message_auto_delete_timetelebot_chat
parent_chattelebot_chat
permissionstelebot_chat
phototelebot_chat
pinned_messagetelebot_chat
slow_mode_delaytelebot_chat
sticker_set_nametelebot_chat
titletelebot_chat
typetelebot_chat
usernametelebot_chat
personal_chattelebot_chat
phototelebot_chat
pinned_messagetelebot_chat
slow_mode_delaytelebot_chat
sticker_set_nametelebot_chat
titletelebot_chat
typetelebot_chat
unrestrict_boost_counttelebot_chat
usernametelebot_chat
diff --git a/docs/structtelebot__chat.html b/docs/structtelebot__chat.html index 101d93c..2137c44 100644 --- a/docs/structtelebot__chat.html +++ b/docs/structtelebot__chat.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_chat Struct Reference @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,9 +56,16 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
@@ -63,8 +73,7 @@ -
-
telebot_chat Struct Reference
+
telebot_chat Struct Reference

@@ -73,42 +82,204 @@

#include <telebot-types.h>

- - + - + - + - + - + - + - + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + + + + + + + + + + + + + - + + + + + + +

+

Public Attributes

long long int id
long long int id
 
char * type
char * type
 
char * title
char * title
 
char * username
char * username
 
char * first_name
char * first_name
 
char * last_name
char * last_name
 
struct telebot_chat_photophoto
bool is_forum
 
bool is_direct_messages
 
int accent_color_id
 
int max_reaction_count
 
struct telebot_chat_photophoto
 
char * description
char ** active_usernames
 
+int count_active_usernames
 
struct telebot_birthdatebirthdate
 
struct telebot_business_introbusiness_intro
 
struct telebot_business_locationbusiness_location
 
struct telebot_business_opening_hoursbusiness_opening_hours
 
struct telebot_chatpersonal_chat
 
struct telebot_chatparent_chat
 
char * emoji_status_custom_emoji_id
 
long emoji_status_expiration_date
 
char * bio
 
bool has_private_forwards
 
bool has_restricted_voice_and_video_messages
 
bool join_to_send_messages
 
bool join_by_request
 
char * description
 
char * invite_link
char * invite_link
 
struct telebot_messagepinned_message
struct telebot_messagepinned_message
 
struct telebot_chat_permissionspermissions
struct telebot_chat_permissionspermissions
 
int slow_mode_delay
int slow_mode_delay
 
char * sticker_set_name
int unrestrict_boost_count
 
int message_auto_delete_time
 
bool has_aggressive_anti_spam_enabled
 
bool has_hidden_members
 
bool has_protected_content
 
bool has_visible_history
 
char * sticker_set_name
 
bool can_set_sticker_set
bool can_set_sticker_set
 
char * custom_emoji_sticker_set_name
 
long long int linked_chat_id
 
struct telebot_chat_locationlocation
 

Detailed Description

This object represents a chat.

Member Data Documentation

- -

◆ can_set_sticker_set

+ +

◆ accent_color_id

+ +
+
+ + + + +
int telebot_chat::accent_color_id
+
+

Optional. Identifier of the accent color for the chat name and backgrounds.

+ +
+
+ +

◆ active_usernames

+ +
+
+ + + + +
char** telebot_chat::active_usernames
+
+

Optional. If non-empty, the list of all active chat usernames; for private chats, supergroups and channels. Returned only in getChat.

+ +
+
+ +

◆ bio

+ +
+
+ + + + +
char* telebot_chat::bio
+
+

Optional. Bio of the other party in a private chat. Returned only in getChat.

+ +
+
+ +

◆ birthdate

+ +
+
+ + + + +
struct telebot_birthdate* telebot_chat::birthdate
+
+

Optional. For private chats, the date of birth of the user.

+ +
+
+ +

◆ business_intro

+ +
+
+ + + + +
struct telebot_business_intro* telebot_chat::business_intro
+
+

Optional. For private chats with business accounts, the intro of the business.

+ +
+
+ +

◆ business_location

+ +
+
+ + + + +
struct telebot_business_location* telebot_chat::business_location
+
+

Optional. For private chats with business accounts, the location of the business.

+ +
+
+ +

◆ business_opening_hours

+ +
+
+ + + + +
struct telebot_business_opening_hours* telebot_chat::business_opening_hours
+
+

Optional. For private chats with business accounts, the opening hours of the business.

+ +
+
+ +

◆ can_set_sticker_set

@@ -122,8 +293,23 @@

-

◆ description

+ +

◆ custom_emoji_sticker_set_name

+ +
+
+ + + + +
char* telebot_chat::custom_emoji_sticker_set_name
+
+

Optional. For supergroups, the name of the group's custom emoji sticker set.

+ +
+
+ +

◆ description

+ +

◆ emoji_status_custom_emoji_id

+ +
+
+ + + + +
char* telebot_chat::emoji_status_custom_emoji_id
+
+

Optional. Custom emoji identifier of emoji status of the other party in a private chat. Returned only in getChat.

+ +
+
+ +

◆ emoji_status_expiration_date

+ +
+
+ + + + +
long telebot_chat::emoji_status_expiration_date
+
+

Optional. Expiration date of the emoji status of the chat or the other party in a private chat, in Unix time, if any.

- -

◆ first_name

+ +

◆ first_name

@@ -152,8 +368,98 @@

-

◆ id

+ +

◆ has_aggressive_anti_spam_enabled

+ +
+
+ + + + +
bool telebot_chat::has_aggressive_anti_spam_enabled
+
+

Optional. True, if aggressive anti-spam checks are enabled in the supergroup.

+ +
+
+ +

◆ has_hidden_members

+ +
+
+ + + + +
bool telebot_chat::has_hidden_members
+
+

Optional. True, if non-administrators can only get the list of bots and administrators in the chat.

+ +
+
+ +

◆ has_private_forwards

+ +
+
+ + + + +
bool telebot_chat::has_private_forwards
+
+

Optional. True, if privacy settings of the other party in the private chat allows to use tg://user?id=<user_id> links only in chats with the user. Returned only in getChat.

+ +
+
+ +

◆ has_protected_content

+ +
+
+ + + + +
bool telebot_chat::has_protected_content
+
+

Optional. True, if messages from the chat can't be forwarded to other chats. Returned only in getChat.

+ +
+
+ +

◆ has_restricted_voice_and_video_messages

+ +
+
+ + + + +
bool telebot_chat::has_restricted_voice_and_video_messages
+
+

Optional. True, if the privacy settings of the other party restrict sending voice and video note messages in the private chat. Returned only in getChat.

+ +
+
+ +

◆ has_visible_history

+ +
+
+ + + + +
bool telebot_chat::has_visible_history
+
+

Optional. True, if new chat members will have access to old messages.

+ +
+
+ +

◆ id

@@ -167,8 +473,8 @@

-

◆ invite_link

+ +

◆ invite_link

- -

◆ last_name

+ +

◆ is_direct_messages

+ +
+
+ + + + +
bool telebot_chat::is_direct_messages
+
+

Optional. True, if the chat is the direct messages chat of a channel.

+ +
+
+ +

◆ is_forum

+ +
+
+ + + + +
bool telebot_chat::is_forum
+
+

Optional. True, if the supergroup chat is a forum (has topics enabled).

+ +
+
+ +

◆ join_by_request

+ +
+
+ + + + +
bool telebot_chat::join_by_request
+
+

Optional. True, if all users directly joining the supergroup need to be approved by supergroup administrators. Returned only in getChat.

+ +
+
+ +

◆ join_to_send_messages

+ +
+
+ + + + +
bool telebot_chat::join_to_send_messages
+
+

Optional. True, if users need to join the supergroup before they can send messages. Returned only in getChat.

+ +
+
+ +

◆ last_name

@@ -197,8 +563,83 @@

-

◆ permissions

+ +

◆ linked_chat_id

+ +
+
+ + + + +
long long int telebot_chat::linked_chat_id
+
+

Optional. Unique identifier for the linked chat, i.e. the discussion group identifier for a channel and vice versa; for supergroups and channel chats. Returned only in getChat.

+ +
+
+ +

◆ location

+ +
+
+ + + + +
struct telebot_chat_location* telebot_chat::location
+
+

Optional. For supergroups, the location to which the supergroup is connected. Returned only in getChat.

+ +
+
+ +

◆ max_reaction_count

+ +
+
+ + + + +
int telebot_chat::max_reaction_count
+
+

Optional. The maximum number of reactions that can be set on a message in the chat.

+ +
+
+ +

◆ message_auto_delete_time

+ +
+
+ + + + +
int telebot_chat::message_auto_delete_time
+
+

Optional. The time after which all messages sent to the chat will be automatically deleted; in seconds. Returned only in getChat.

+ +
+
+ +

◆ parent_chat

+ +
+
+ + + + +
struct telebot_chat* telebot_chat::parent_chat
+
+

Optional. Information about the corresponding channel chat; for direct messages chats only.

+ +
+
+ +

◆ permissions

@@ -212,8 +653,23 @@

-

◆ photo

+ +

◆ personal_chat

+ +
+
+ + + + +
struct telebot_chat* telebot_chat::personal_chat
+
+

Optional. For private chats, the personal channel of the user.

+ +
+
+ +

◆ photo

@@ -227,8 +683,8 @@

-

◆ pinned_message

+ +

◆ pinned_message

- -

◆ slow_mode_delay

+ +

◆ slow_mode_delay

@@ -257,8 +713,8 @@

-

◆ sticker_set_name

+ +

◆ sticker_set_name

@@ -272,8 +728,8 @@

-

◆ title

+ +

◆ title

@@ -287,8 +743,8 @@

-

◆ type

+ +

◆ type

@@ -302,8 +758,23 @@

-

◆ username

+ +

◆ unrestrict_boost_count

+ +
+
+ + + + +
int telebot_chat::unrestrict_boost_count
+
+

Optional. For supergroups, the minimum number of boosts that a non-administrator user needs.

+ +
+
+ +

◆ username

@@ -323,9 +794,7 @@

diff --git a/docs/structtelebot__chat__background-members.html b/docs/structtelebot__chat__background-members.html new file mode 100644 index 0000000..086e3a5 --- /dev/null +++ b/docs/structtelebot__chat__background-members.html @@ -0,0 +1,86 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_chat_background Member List
+
+
+ +

This is the complete list of members for telebot_chat_background, including all inherited members.

+ + +
typetelebot_chat_background
+ + + + diff --git a/docs/structtelebot__chat__background.html b/docs/structtelebot__chat__background.html new file mode 100644 index 0000000..0084a1a --- /dev/null +++ b/docs/structtelebot__chat__background.html @@ -0,0 +1,117 @@ + + + + + + + +Telebot: telebot_chat_background Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_chat_background Struct Reference
+
+
+ +

This object represents a chat background. + More...

+ +

#include <telebot-types.h>

+ + + + +

+Public Attributes

char * type
 
+

Detailed Description

+

This object represents a chat background.

+

Member Data Documentation

+ +

◆ type

+ +
+
+ + + + +
char* telebot_chat_background::type
+
+

Type of the background

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__chat__boost-members.html b/docs/structtelebot__chat__boost-members.html new file mode 100644 index 0000000..ba54e0d --- /dev/null +++ b/docs/structtelebot__chat__boost-members.html @@ -0,0 +1,89 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_chat_boost Member List
+
+
+ +

This is the complete list of members for telebot_chat_boost, including all inherited members.

+ + + + + +
add_datetelebot_chat_boost
boost_idtelebot_chat_boost
expiration_datetelebot_chat_boost
sourcetelebot_chat_boost
+ + + + diff --git a/docs/structtelebot__chat__boost.html b/docs/structtelebot__chat__boost.html new file mode 100644 index 0000000..adcd6d0 --- /dev/null +++ b/docs/structtelebot__chat__boost.html @@ -0,0 +1,168 @@ + + + + + + + +Telebot: telebot_chat_boost Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_chat_boost Struct Reference
+
+
+ +

This object contains information about a chat boost. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + + + +

+Public Attributes

char * boost_id
 
long add_date
 
long expiration_date
 
struct telebot_chat_boost_sourcesource
 
+

Detailed Description

+

This object contains information about a chat boost.

+

Member Data Documentation

+ +

◆ add_date

+ +
+
+ + + + +
long telebot_chat_boost::add_date
+
+

Point in time (Unix timestamp) when the chat was boosted

+ +
+
+ +

◆ boost_id

+ +
+
+ + + + +
char* telebot_chat_boost::boost_id
+
+

Unique identifier of the boost

+ +
+
+ +

◆ expiration_date

+ +
+
+ + + + +
long telebot_chat_boost::expiration_date
+
+

Point in time (Unix timestamp) when the boost will automatically expire, unless the booster's Telegram Premium subscription is prolonged

+ +
+
+ +

◆ source

+ +
+
+ + + + +
struct telebot_chat_boost_source* telebot_chat_boost::source
+
+

Source of the added boost

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__chat__boost__added-members.html b/docs/structtelebot__chat__boost__added-members.html new file mode 100644 index 0000000..98f17ae --- /dev/null +++ b/docs/structtelebot__chat__boost__added-members.html @@ -0,0 +1,86 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_chat_boost_added Member List
+
+
+ +

This is the complete list of members for telebot_chat_boost_added, including all inherited members.

+ + +
boost_counttelebot_chat_boost_added
+ + + + diff --git a/docs/structtelebot__chat__boost__added.html b/docs/structtelebot__chat__boost__added.html new file mode 100644 index 0000000..406d48b --- /dev/null +++ b/docs/structtelebot__chat__boost__added.html @@ -0,0 +1,117 @@ + + + + + + + +Telebot: telebot_chat_boost_added Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_chat_boost_added Struct Reference
+
+
+ +

This object represents a service message about a user boosting a chat. + More...

+ +

#include <telebot-types.h>

+ + + + +

+Public Attributes

int boost_count
 
+

Detailed Description

+

This object represents a service message about a user boosting a chat.

+

Member Data Documentation

+ +

◆ boost_count

+ +
+
+ + + + +
int telebot_chat_boost_added::boost_count
+
+

Number of boosts added by the user

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__chat__boost__removed-members.html b/docs/structtelebot__chat__boost__removed-members.html new file mode 100644 index 0000000..e420cd6 --- /dev/null +++ b/docs/structtelebot__chat__boost__removed-members.html @@ -0,0 +1,89 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_chat_boost_removed Member List
+
+ + + + + diff --git a/docs/structtelebot__chat__boost__removed.html b/docs/structtelebot__chat__boost__removed.html new file mode 100644 index 0000000..a6b057b --- /dev/null +++ b/docs/structtelebot__chat__boost__removed.html @@ -0,0 +1,168 @@ + + + + + + + +Telebot: telebot_chat_boost_removed Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_chat_boost_removed Struct Reference
+
+
+ +

This object represents a boost removed from a chat. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + + + +

+Public Attributes

struct telebot_chatchat
 
char * boost_id
 
long remove_date
 
struct telebot_chat_boost_sourcesource
 
+

Detailed Description

+

This object represents a boost removed from a chat.

+

Member Data Documentation

+ +

◆ boost_id

+ +
+
+ + + + +
char* telebot_chat_boost_removed::boost_id
+
+

Unique identifier of the boost

+ +
+
+ +

◆ chat

+ +
+
+ + + + +
struct telebot_chat* telebot_chat_boost_removed::chat
+
+

Chat from which the boost was removed

+ +
+
+ +

◆ remove_date

+ +
+
+ + + + +
long telebot_chat_boost_removed::remove_date
+
+

Point in time (Unix timestamp) when the boost was removed

+ +
+
+ +

◆ source

+ +
+
+ + + + +
struct telebot_chat_boost_source* telebot_chat_boost_removed::source
+
+

Source of the removed boost

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__chat__boost__source-members.html b/docs/structtelebot__chat__boost__source-members.html new file mode 100644 index 0000000..7ea03a9 --- /dev/null +++ b/docs/structtelebot__chat__boost__source-members.html @@ -0,0 +1,87 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_chat_boost_source Member List
+
+
+ +

This is the complete list of members for telebot_chat_boost_source, including all inherited members.

+ + + +
sourcetelebot_chat_boost_source
usertelebot_chat_boost_source
+ + + + diff --git a/docs/structtelebot__chat__boost__source.html b/docs/structtelebot__chat__boost__source.html new file mode 100644 index 0000000..db4f539 --- /dev/null +++ b/docs/structtelebot__chat__boost__source.html @@ -0,0 +1,134 @@ + + + + + + + +Telebot: telebot_chat_boost_source Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_chat_boost_source Struct Reference
+
+
+ +

This object represents the source of a chat boost. + More...

+ +

#include <telebot-types.h>

+ + + + + + +

+Public Attributes

char * source
 
struct telebot_useruser
 
+

Detailed Description

+

This object represents the source of a chat boost.

+

Member Data Documentation

+ +

◆ source

+ +
+
+ + + + +
char* telebot_chat_boost_source::source
+
+

Source of the boost, one of "premium", "gift_code", "giveaway"

+ +
+
+ +

◆ user

+ +
+
+ + + + +
struct telebot_user* telebot_chat_boost_source::user
+
+

Optional. User that boosted the chat

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__chat__boost__updated-members.html b/docs/structtelebot__chat__boost__updated-members.html new file mode 100644 index 0000000..97f4a01 --- /dev/null +++ b/docs/structtelebot__chat__boost__updated-members.html @@ -0,0 +1,87 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_chat_boost_updated Member List
+
+
+ +

This is the complete list of members for telebot_chat_boost_updated, including all inherited members.

+ + + +
boosttelebot_chat_boost_updated
chattelebot_chat_boost_updated
+ + + + diff --git a/docs/structtelebot__chat__boost__updated.html b/docs/structtelebot__chat__boost__updated.html new file mode 100644 index 0000000..90a944a --- /dev/null +++ b/docs/structtelebot__chat__boost__updated.html @@ -0,0 +1,134 @@ + + + + + + + +Telebot: telebot_chat_boost_updated Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_chat_boost_updated Struct Reference
+
+
+ +

This object represents a boost added to a chat. + More...

+ +

#include <telebot-types.h>

+ + + + + + +

+Public Attributes

struct telebot_chatchat
 
struct telebot_chat_boostboost
 
+

Detailed Description

+

This object represents a boost added to a chat.

+

Member Data Documentation

+ +

◆ boost

+ +
+
+ + + + +
struct telebot_chat_boost* telebot_chat_boost_updated::boost
+
+

Information about the boost

+ +
+
+ +

◆ chat

+ +
+
+ + + + +
struct telebot_chat* telebot_chat_boost_updated::chat
+
+

Chat which was boosted

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__chat__invite__link-members.html b/docs/structtelebot__chat__invite__link-members.html new file mode 100644 index 0000000..8b82fd1 --- /dev/null +++ b/docs/structtelebot__chat__invite__link-members.html @@ -0,0 +1,94 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_chat_invite_link Member List
+
+ + + + + diff --git a/docs/structtelebot__chat__invite__link.html b/docs/structtelebot__chat__invite__link.html new file mode 100644 index 0000000..ca88e66 --- /dev/null +++ b/docs/structtelebot__chat__invite__link.html @@ -0,0 +1,253 @@ + + + + + + + +Telebot: telebot_chat_invite_link Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_chat_invite_link Struct Reference
+
+
+ +

This object represents a chat invite link. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + + + + + + + + + + + + + +

+Public Attributes

char * invite_link
 
struct telebot_usercreator
 
bool creates_join_request
 
bool is_primary
 
bool is_revoked
 
char * name
 
long expire_date
 
int member_limit
 
int pending_join_request_count
 
+

Detailed Description

+

This object represents a chat invite link.

+

Member Data Documentation

+ +

◆ creates_join_request

+ +
+
+ + + + +
bool telebot_chat_invite_link::creates_join_request
+
+

True, if users joining the chat via the link need to be approved by chat administrators

+ +
+
+ +

◆ creator

+ +
+
+ + + + +
struct telebot_user* telebot_chat_invite_link::creator
+
+

Creator of the link

+ +
+
+ +

◆ expire_date

+ +
+
+ + + + +
long telebot_chat_invite_link::expire_date
+
+

Optional. Point in time (Unix timestamp) when the link will expire or has expired

+ +
+
+ +

◆ invite_link

+ +
+
+ + + + +
char* telebot_chat_invite_link::invite_link
+
+

The invite link.

+ +
+
+ +

◆ is_primary

+ +
+
+ + + + +
bool telebot_chat_invite_link::is_primary
+
+

True, if the link is primary

+ +
+
+ +

◆ is_revoked

+ +
+
+ + + + +
bool telebot_chat_invite_link::is_revoked
+
+

True, if the link is revoked

+ +
+
+ +

◆ member_limit

+ +
+
+ + + + +
int telebot_chat_invite_link::member_limit
+
+

Optional. The maximum number of users that can be members of the chat simultaneously after joining the chat via this invite link; 1-99999

+ +
+
+ +

◆ name

+ +
+
+ + + + +
char* telebot_chat_invite_link::name
+
+

Optional. Invite link name

+ +
+
+ +

◆ pending_join_request_count

+ +
+
+ + + + +
int telebot_chat_invite_link::pending_join_request_count
+
+

Optional. Number of pending join requests created using this link

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__chat__join__request-members.html b/docs/structtelebot__chat__join__request-members.html new file mode 100644 index 0000000..45c5584 --- /dev/null +++ b/docs/structtelebot__chat__join__request-members.html @@ -0,0 +1,91 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_chat_join_request Member List
+
+ + + + + diff --git a/docs/structtelebot__chat__join__request.html b/docs/structtelebot__chat__join__request.html new file mode 100644 index 0000000..3421e0e --- /dev/null +++ b/docs/structtelebot__chat__join__request.html @@ -0,0 +1,202 @@ + + + + + + + +Telebot: telebot_chat_join_request Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_chat_join_request Struct Reference
+
+
+ +

This object represents a join request sent to a chat. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + + + + + + + +

+Public Attributes

struct telebot_chatchat
 
struct telebot_userfrom
 
long long int user_chat_id
 
long date
 
char * bio
 
struct telebot_chat_invite_linkinvite_link
 
+

Detailed Description

+

This object represents a join request sent to a chat.

+

Member Data Documentation

+ +

◆ bio

+ +
+
+ + + + +
char* telebot_chat_join_request::bio
+
+

Optional. Bio of the user.

+ +
+
+ +

◆ chat

+ +
+
+ + + + +
struct telebot_chat* telebot_chat_join_request::chat
+
+

Chat to which the request was sent

+ +
+
+ +

◆ date

+ +
+
+ + + + +
long telebot_chat_join_request::date
+
+

Date the request was sent in Unix time

+ +
+
+ +

◆ from

+ +
+
+ + + + +
struct telebot_user* telebot_chat_join_request::from
+
+

User that sent the join request

+ +
+
+ +

◆ invite_link

+ +
+
+ + + + +
struct telebot_chat_invite_link* telebot_chat_join_request::invite_link
+
+

Optional. Chat invite link that was used by the user to send the join request

+ +
+
+ +

◆ user_chat_id

+ +
+
+ + + + +
long long int telebot_chat_join_request::user_chat_id
+
+

Identifier of a private chat with the user who sent the join request.

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__chat__location-members.html b/docs/structtelebot__chat__location-members.html new file mode 100644 index 0000000..aba6f2d --- /dev/null +++ b/docs/structtelebot__chat__location-members.html @@ -0,0 +1,87 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_chat_location Member List
+
+
+ +

This is the complete list of members for telebot_chat_location, including all inherited members.

+ + + +
addresstelebot_chat_location
locationtelebot_chat_location
+ + + + diff --git a/docs/structtelebot__chat__location.html b/docs/structtelebot__chat__location.html new file mode 100644 index 0000000..232b964 --- /dev/null +++ b/docs/structtelebot__chat__location.html @@ -0,0 +1,134 @@ + + + + + + + +Telebot: telebot_chat_location Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_chat_location Struct Reference
+
+
+ +

Thi object represetns information about the current status of a webhook. + More...

+ +

#include <telebot-types.h>

+ + + + + + +

+Public Attributes

struct telebot_locationlocation
 
char * address
 
+

Detailed Description

+

Thi object represetns information about the current status of a webhook.

+

Member Data Documentation

+ +

◆ address

+ +
+
+ + + + +
char* telebot_chat_location::address
+
+

Location address; 1-64 characters, as defined by the chat owner

+ +
+
+ +

◆ location

+ +
+
+ + + + +
struct telebot_location* telebot_chat_location::location
+
+

The location to which the supergroup is connected. Can't be a live location.

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__chat__member-members.html b/docs/structtelebot__chat__member-members.html index e90f4da..8222944 100644 --- a/docs/structtelebot__chat__member-members.html +++ b/docs/structtelebot__chat__member-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,45 +56,49 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+

-
-
telebot_chat_member Member List
+
telebot_chat_member Member List
diff --git a/docs/structtelebot__chat__member.html b/docs/structtelebot__chat__member.html index 08cc0c8..ca9e17c 100644 --- a/docs/structtelebot__chat__member.html +++ b/docs/structtelebot__chat__member.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_chat_member Struct Reference @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,9 +56,16 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
@@ -63,8 +73,7 @@ -
-
telebot_chat_member Struct Reference
+
telebot_chat_member Struct Reference

@@ -73,52 +82,52 @@

#include <telebot-types.h>

- - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

+

Public Attributes

struct telebot_useruser
struct telebot_useruser
 
char * status
char * status
 
char * custom_title
char * custom_title
 
long until_date
long until_date
 
bool can_be_edited
bool can_be_edited
 
bool can_post_messages
bool can_post_messages
 
bool can_edit_messages
bool can_edit_messages
 
bool can_delete_messages
bool can_delete_messages
 
bool can_restrict_members
bool can_restrict_members
 
bool can_promote_members
bool can_promote_members
 
bool can_change_info
bool can_change_info
 
bool can_invite_users
bool can_invite_users
 
bool can_pin_messages
bool can_pin_messages
 
bool is_member
bool is_member
 
bool can_send_messages
bool can_send_messages
 
bool can_send_media_messages
bool can_send_media_messages
 
bool can_send_polls
bool can_send_polls
 
bool can_send_other_messages
bool can_send_other_messages
 
bool can_add_web_page_previews
bool can_add_web_page_previews
 

Detailed Description

This object contains information about one member of a chat.

Member Data Documentation

- -

◆ can_add_web_page_previews

+ +

◆ can_add_web_page_previews

@@ -132,8 +141,8 @@

-

◆ can_be_edited

+ +

◆ can_be_edited

@@ -147,8 +156,8 @@

-

◆ can_change_info

+ +

◆ can_change_info

@@ -162,8 +171,8 @@

-

◆ can_delete_messages

+ +

◆ can_delete_messages

@@ -177,8 +186,8 @@

-

◆ can_edit_messages

+ +

◆ can_edit_messages

@@ -192,8 +201,8 @@

-

◆ can_invite_users

+ +

◆ can_invite_users

@@ -207,8 +216,8 @@

-

◆ can_pin_messages

+ +

◆ can_pin_messages

@@ -222,8 +231,8 @@

-

◆ can_post_messages

+ +

◆ can_post_messages

@@ -237,8 +246,8 @@

-

◆ can_promote_members

+ +

◆ can_promote_members

@@ -252,8 +261,8 @@

-

◆ can_restrict_members

+ +

◆ can_restrict_members

@@ -267,8 +276,8 @@

-

◆ can_send_media_messages

+ +

◆ can_send_media_messages

@@ -282,8 +291,8 @@

-

◆ can_send_messages

+ +

◆ can_send_messages

@@ -297,8 +306,8 @@

-

◆ can_send_other_messages

+ +

◆ can_send_other_messages

@@ -312,8 +321,8 @@

-

◆ can_send_polls

+ +

◆ can_send_polls

@@ -327,8 +336,8 @@

-

◆ custom_title

+ +

◆ custom_title

@@ -342,8 +351,8 @@

-

◆ is_member

+ +

◆ is_member

@@ -357,8 +366,8 @@

-

◆ status

+ +

◆ status

@@ -372,8 +381,8 @@

-

◆ until_date

+ +

◆ until_date

@@ -387,8 +396,8 @@

-

◆ user

+ +

◆ user

@@ -408,9 +417,7 @@

diff --git a/docs/structtelebot__chat__member__updated-members.html b/docs/structtelebot__chat__member__updated-members.html new file mode 100644 index 0000000..53d8f4e --- /dev/null +++ b/docs/structtelebot__chat__member__updated-members.html @@ -0,0 +1,92 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_chat_member_updated Member List
+
+ + + + + diff --git a/docs/structtelebot__chat__member__updated.html b/docs/structtelebot__chat__member__updated.html new file mode 100644 index 0000000..3b5f35b --- /dev/null +++ b/docs/structtelebot__chat__member__updated.html @@ -0,0 +1,219 @@ + + + + + + + +Telebot: telebot_chat_member_updated Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_chat_member_updated Struct Reference
+
+
+ +

This object represents changes in the status of a chat member. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + + + + + + + + + +

+Public Attributes

struct telebot_chatchat
 
struct telebot_userfrom
 
long date
 
struct telebot_chat_memberold_chat_member
 
struct telebot_chat_membernew_chat_member
 
struct telebot_chat_invite_linkinvite_link
 
bool via_chat_folder_invite_link
 
+

Detailed Description

+

This object represents changes in the status of a chat member.

+

Member Data Documentation

+ +

◆ chat

+ +
+
+ + + + +
struct telebot_chat* telebot_chat_member_updated::chat
+
+

Chat the user belongs to

+ +
+
+ +

◆ date

+ +
+
+ + + + +
long telebot_chat_member_updated::date
+
+

Date the change was effected in Unix time

+ +
+
+ +

◆ from

+ +
+
+ + + + +
struct telebot_user* telebot_chat_member_updated::from
+
+

Performer of the action, which resulted in the change

+ +
+
+ +

◆ invite_link

+ +
+
+ + + + +
struct telebot_chat_invite_link* telebot_chat_member_updated::invite_link
+
+

Optional. Chat invite link, which was used by the user to join the chat; for joining by invite link events only.

+ +
+
+ +

◆ new_chat_member

+ +
+
+ + + + +
struct telebot_chat_member* telebot_chat_member_updated::new_chat_member
+
+

New information about the chat member

+ +
+
+ +

◆ old_chat_member

+ +
+
+ + + + +
struct telebot_chat_member* telebot_chat_member_updated::old_chat_member
+
+

Previous information about the chat member

+ +
+
+ +

◆ via_chat_folder_invite_link

+ +
+
+ + + + +
bool telebot_chat_member_updated::via_chat_folder_invite_link
+
+

Optional. True, if the user joined the chat via a chat folder invite link

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__chat__permissions-members.html b/docs/structtelebot__chat__permissions-members.html index ae4d798..6f725f6 100644 --- a/docs/structtelebot__chat__permissions-members.html +++ b/docs/structtelebot__chat__permissions-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,34 +56,38 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+

-
-
telebot_chat_permissions Member List
+
telebot_chat_permissions Member List
diff --git a/docs/structtelebot__chat__permissions.html b/docs/structtelebot__chat__permissions.html index 8375ace..9b5111e 100644 --- a/docs/structtelebot__chat__permissions.html +++ b/docs/structtelebot__chat__permissions.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_chat_permissions Struct Reference @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,9 +56,16 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
@@ -63,8 +73,7 @@ -
-
telebot_chat_permissions Struct Reference
+
telebot_chat_permissions Struct Reference

@@ -73,30 +82,30 @@

#include <telebot-types.h>

- - + - + - + - + - + - + - + - +

+

Public Attributes

bool can_send_messages
bool can_send_messages
 
bool can_send_media_messages
bool can_send_media_messages
 
bool can_send_polls
bool can_send_polls
 
bool can_send_other_messages
bool can_send_other_messages
 
bool can_add_web_page_previews
bool can_add_web_page_previews
 
bool can_change_info
bool can_change_info
 
bool can_invite_users
bool can_invite_users
 
bool can_pin_messages
bool can_pin_messages
 

Detailed Description

Describes actions that a non-administrator user is allowed to take in a chat.

Member Data Documentation

- -

◆ can_add_web_page_previews

+ +

◆ can_add_web_page_previews

@@ -110,8 +119,8 @@

-

◆ can_change_info

+ +

◆ can_change_info

@@ -125,8 +134,8 @@

-

◆ can_invite_users

+ +

◆ can_invite_users

@@ -140,8 +149,8 @@

-

◆ can_pin_messages

+ +

◆ can_pin_messages

@@ -155,8 +164,8 @@

-

◆ can_send_media_messages

+ +

◆ can_send_media_messages

@@ -170,8 +179,8 @@

-

◆ can_send_messages

+ +

◆ can_send_messages

@@ -185,8 +194,8 @@

-

◆ can_send_other_messages

+ +

◆ can_send_other_messages

@@ -200,8 +209,8 @@

-

◆ can_send_polls

+ +

◆ can_send_polls

@@ -221,9 +230,7 @@

diff --git a/docs/structtelebot__chat__photo-members.html b/docs/structtelebot__chat__photo-members.html index c85c0d4..f87275b 100644 --- a/docs/structtelebot__chat__photo-members.html +++ b/docs/structtelebot__chat__photo-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,30 +56,34 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+

-
-
telebot_chat_photo Member List
+
telebot_chat_photo Member List
diff --git a/docs/structtelebot__chat__photo.html b/docs/structtelebot__chat__photo.html index d0bdb44..4a5f874 100644 --- a/docs/structtelebot__chat__photo.html +++ b/docs/structtelebot__chat__photo.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_chat_photo Struct Reference @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,9 +56,16 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
@@ -63,8 +73,7 @@ -
-
telebot_chat_photo Struct Reference
+
telebot_chat_photo Struct Reference

@@ -73,22 +82,22 @@

#include <telebot-types.h>

- - + - + - + - +

+

Public Attributes

char * small_file_id
char * small_file_id
 
char * small_file_unique_id
char * small_file_unique_id
 
char * big_file_id
char * big_file_id
 
char * big_file_unique_id
char * big_file_unique_id
 

Detailed Description

This object represents a chat photo.

Member Data Documentation

- -

◆ big_file_id

+ +

◆ big_file_id

@@ -102,8 +111,8 @@

-

◆ big_file_unique_id

+ +

◆ big_file_unique_id

@@ -117,8 +126,8 @@

-

◆ small_file_id

+ +

◆ small_file_id

@@ -132,8 +141,8 @@

-

◆ small_file_unique_id

+ +

◆ small_file_unique_id

@@ -153,9 +162,7 @@

diff --git a/docs/structtelebot__chat__shared-members.html b/docs/structtelebot__chat__shared-members.html new file mode 100644 index 0000000..7cdebd0 --- /dev/null +++ b/docs/structtelebot__chat__shared-members.html @@ -0,0 +1,87 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_chat_shared Member List
+
+
+ +

This is the complete list of members for telebot_chat_shared, including all inherited members.

+ + + +
chat_idtelebot_chat_shared
request_idtelebot_chat_shared
+ + + + diff --git a/docs/structtelebot__chat__shared.html b/docs/structtelebot__chat__shared.html new file mode 100644 index 0000000..8dfd985 --- /dev/null +++ b/docs/structtelebot__chat__shared.html @@ -0,0 +1,134 @@ + + + + + + + +Telebot: telebot_chat_shared Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_chat_shared Struct Reference
+
+
+ +

This object contains information about the chat whose identifier was shared with the bot using a KeyboardButtonRequestChat button. + More...

+ +

#include <telebot-types.h>

+ + + + + + +

+Public Attributes

int request_id
 
long long int chat_id
 
+

Detailed Description

+

This object contains information about the chat whose identifier was shared with the bot using a KeyboardButtonRequestChat button.

+

Member Data Documentation

+ +

◆ chat_id

+ +
+
+ + + + +
long long int telebot_chat_shared::chat_id
+
+

Identifier of the shared chat.

+ +
+
+ +

◆ request_id

+ +
+
+ + + + +
int telebot_chat_shared::request_id
+
+

Identifier of the request

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__chosen__inline__result-members.html b/docs/structtelebot__chosen__inline__result-members.html new file mode 100644 index 0000000..411774c --- /dev/null +++ b/docs/structtelebot__chosen__inline__result-members.html @@ -0,0 +1,90 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_chosen_inline_result Member List
+
+ + + + + diff --git a/docs/structtelebot__chosen__inline__result.html b/docs/structtelebot__chosen__inline__result.html new file mode 100644 index 0000000..21a1951 --- /dev/null +++ b/docs/structtelebot__chosen__inline__result.html @@ -0,0 +1,185 @@ + + + + + + + +Telebot: telebot_chosen_inline_result Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_chosen_inline_result Struct Reference
+
+
+ +

Represents a result of an inline query that was chosen by the user and sent to their chat partner. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + + + + + +

+Public Attributes

char * result_id
 
struct telebot_userfrom
 
struct telebot_locationlocation
 
char * inline_message_id
 
char * query
 
+

Detailed Description

+

Represents a result of an inline query that was chosen by the user and sent to their chat partner.

+

Member Data Documentation

+ +

◆ from

+ +
+
+ + + + +
struct telebot_user* telebot_chosen_inline_result::from
+
+

The user who chose the result

+ +
+
+ +

◆ inline_message_id

+ +
+
+ + + + +
char* telebot_chosen_inline_result::inline_message_id
+
+

Optional. Identifier of the sent inline message. Available only if there is an inline keyboard attached to the message. Will be also received in callback queries and can be used to edit the message.

+ +
+
+ +

◆ location

+ +
+
+ + + + +
struct telebot_location* telebot_chosen_inline_result::location
+
+

Optional. Sender location, only for bots that request user location

+ +
+
+ +

◆ query

+ +
+
+ + + + +
char* telebot_chosen_inline_result::query
+
+

The query that was used to obtain the result

+ +
+
+ +

◆ result_id

+ +
+
+ + + + +
char* telebot_chosen_inline_result::result_id
+
+

The unique identifier for the result that was chosen

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__contact-members.html b/docs/structtelebot__contact-members.html index 630055f..101cbe3 100644 --- a/docs/structtelebot__contact-members.html +++ b/docs/structtelebot__contact-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,31 +56,35 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+

-
-
telebot_contact Member List
+
telebot_contact Member List
diff --git a/docs/structtelebot__contact.html b/docs/structtelebot__contact.html index 6abc7db..b6e21ab 100644 --- a/docs/structtelebot__contact.html +++ b/docs/structtelebot__contact.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_contact Struct Reference @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,9 +56,16 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
@@ -63,8 +73,7 @@ -
-
telebot_contact Struct Reference
+
telebot_contact Struct Reference

@@ -73,24 +82,24 @@

#include <telebot-types.h>

- - + - + - + - + - +

+

Public Attributes

char * phone_number
char * phone_number
 
char * first_name
char * first_name
 
char * last_name
char * last_name
 
int user_id
int user_id
 
char * vcard
char * vcard
 

Detailed Description

This object represents a phone contact.

Member Data Documentation

- -

◆ first_name

+ +

◆ first_name

@@ -104,8 +113,8 @@

-

◆ last_name

+ +

◆ last_name

@@ -119,8 +128,8 @@

-

◆ phone_number

+ +

◆ phone_number

@@ -134,8 +143,8 @@

-

◆ user_id

+ +

◆ user_id

@@ -149,8 +158,8 @@

-

◆ vcard

+ +

◆ vcard

@@ -170,9 +179,7 @@

diff --git a/docs/structtelebot__copy__text__button-members.html b/docs/structtelebot__copy__text__button-members.html new file mode 100644 index 0000000..d9c1690 --- /dev/null +++ b/docs/structtelebot__copy__text__button-members.html @@ -0,0 +1,86 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_copy_text_button Member List
+
+
+ +

This is the complete list of members for telebot_copy_text_button, including all inherited members.

+ + +
texttelebot_copy_text_button
+ + + + diff --git a/docs/structtelebot__copy__text__button.html b/docs/structtelebot__copy__text__button.html new file mode 100644 index 0000000..b58d713 --- /dev/null +++ b/docs/structtelebot__copy__text__button.html @@ -0,0 +1,117 @@ + + + + + + + +Telebot: telebot_copy_text_button Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_copy_text_button Struct Reference
+
+
+ +

This object represents an inline keyboard button that copies specified text to the clipboard. + More...

+ +

#include <telebot-types.h>

+ + + + +

+Public Attributes

char * text
 
+

Detailed Description

+

This object represents an inline keyboard button that copies specified text to the clipboard.

+

Member Data Documentation

+ +

◆ text

+ +
+
+ + + + +
char* telebot_copy_text_button::text
+
+

The text to be copied to the clipboard; 1-256 characters

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__core__handler.html b/docs/structtelebot__core__handler.html deleted file mode 100644 index a5d9ada..0000000 --- a/docs/structtelebot__core__handler.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - -Telebot: telebot_core_handler Struct Reference - - - - - - - - - -
-
- - - - - - -
-
Telebot -  4.7.0 -
-
Library for Telegram bot API
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
telebot_core_handler Struct Reference
-
-
- -

This object represents a core telebot handler. - More...

- -

#include <telebot-core.h>

- - - - - - - - -

-Public Attributes

char * token
 
-char * proxy_addr
 
-char * proxy_auth
 
-

Detailed Description

-

This object represents a core telebot handler.

-

Member Data Documentation

- -

◆ token

- -
-
- - - - -
char* telebot_core_handler::token
-
-

Telegam bot token

- -
-
-
The documentation for this struct was generated from the following file: -
- - - - diff --git a/docs/structtelebot__core__response.html b/docs/structtelebot__core__response.html deleted file mode 100644 index ba5fe0a..0000000 --- a/docs/structtelebot__core__response.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - -Telebot: telebot_core_response Struct Reference - - - - - - - - - -
-
- - - - - - -
-
Telebot -  4.7.0 -
-
Library for Telegram bot API
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
telebot_core_response Struct Reference
-
-
- -

This object represents a telegram bot response. - More...

- -

#include <telebot-core.h>

- - - - - - -

-Public Attributes

size_t size
 
char * data
 
-

Detailed Description

-

This object represents a telegram bot response.

-

Member Data Documentation

- -

◆ data

- -
-
- - - - -
char* telebot_core_response::data
-
-

Telegam bot response object

- -
-
- -

◆ size

- -
-
- - - - -
size_t telebot_core_response::size
-
-

Telegam bot response size

- -
-
-
The documentation for this struct was generated from the following file: -
- - - - diff --git a/docs/structtelebot__dice-members.html b/docs/structtelebot__dice-members.html index b925d61..ea6aab9 100644 --- a/docs/structtelebot__dice-members.html +++ b/docs/structtelebot__dice-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,15 +56,21 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+

-
-
telebot_dice Member List
+
telebot_dice Member List
@@ -71,9 +80,7 @@
diff --git a/docs/structtelebot__dice.html b/docs/structtelebot__dice.html index a5fccf0..c014784 100644 --- a/docs/structtelebot__dice.html +++ b/docs/structtelebot__dice.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_dice Struct Reference @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,9 +56,16 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
@@ -63,8 +73,7 @@ -
-
telebot_dice Struct Reference
+
telebot_dice Struct Reference

@@ -73,16 +82,16 @@

#include <telebot-types.h>

- - +

+

Public Attributes

int value
int value
 

Detailed Description

This object represents a dice with random value from 1 to 6.

Member Data Documentation

- -

◆ value

+ +

◆ value

@@ -102,9 +111,7 @@

diff --git a/docs/structtelebot__document-members.html b/docs/structtelebot__document-members.html index 8392510..e9a0814 100644 --- a/docs/structtelebot__document-members.html +++ b/docs/structtelebot__document-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,32 +56,36 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+

-
-
telebot_document Member List
+
telebot_document Member List
diff --git a/docs/structtelebot__document.html b/docs/structtelebot__document.html index dbe9eb7..ab4e2c0 100644 --- a/docs/structtelebot__document.html +++ b/docs/structtelebot__document.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_document Struct Reference @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,9 +56,16 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
@@ -63,8 +73,7 @@ -
-
telebot_document Struct Reference
+
telebot_document Struct Reference
@@ -73,26 +82,26 @@

#include <telebot-types.h>

- - + - + - + - + - + - +

+

Public Attributes

char * file_id
char * file_id
 
char * file_unique_id
char * file_unique_id
 
struct telebot_photothumb
struct telebot_photothumb
 
char * file_name
char * file_name
 
char * mime_type
char * mime_type
 
int file_size
int file_size
 

Detailed Description

This object represents a general file (as opposed to photos, voice messages and audio files).

Member Data Documentation

- -

◆ file_id

+ +

◆ file_id

@@ -106,8 +115,8 @@

-

◆ file_name

+ +

◆ file_name

@@ -121,8 +130,8 @@

-

◆ file_size

+ +

◆ file_size

@@ -136,8 +145,8 @@

-

◆ file_unique_id

+ +

◆ file_unique_id

@@ -151,8 +160,8 @@

-

◆ mime_type

+ +

◆ mime_type

@@ -166,8 +175,8 @@

-

◆ thumb

+ +

◆ thumb

@@ -187,9 +196,7 @@

diff --git a/docs/structtelebot__encrypted__credentials-members.html b/docs/structtelebot__encrypted__credentials-members.html new file mode 100644 index 0000000..6dc84e3 --- /dev/null +++ b/docs/structtelebot__encrypted__credentials-members.html @@ -0,0 +1,88 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_encrypted_credentials Member List
+
+
+ +

This is the complete list of members for telebot_encrypted_credentials, including all inherited members.

+ + + + +
datatelebot_encrypted_credentials
hashtelebot_encrypted_credentials
secrettelebot_encrypted_credentials
+ + + + diff --git a/docs/structtelebot__encrypted__credentials.html b/docs/structtelebot__encrypted__credentials.html new file mode 100644 index 0000000..13fc94e --- /dev/null +++ b/docs/structtelebot__encrypted__credentials.html @@ -0,0 +1,151 @@ + + + + + + + +Telebot: telebot_encrypted_credentials Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_encrypted_credentials Struct Reference
+
+
+ +

This object represents credentials required to decrypt the data. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + +

+Public Attributes

char * data
 
char * hash
 
char * secret
 
+

Detailed Description

+

This object represents credentials required to decrypt the data.

+

Member Data Documentation

+ +

◆ data

+ +
+
+ + + + +
char* telebot_encrypted_credentials::data
+
+

Base64-encoded encrypted JSON-serialized data with unique user's payload

+ +
+
+ +

◆ hash

+ +
+
+ + + + +
char* telebot_encrypted_credentials::hash
+
+

Base64-encoded data hash

+ +
+
+ +

◆ secret

+ +
+
+ + + + +
char* telebot_encrypted_credentials::secret
+
+

Base64-encoded secret used for data decryption

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__encrypted__passport__element-members.html b/docs/structtelebot__encrypted__passport__element-members.html new file mode 100644 index 0000000..c98dcb5 --- /dev/null +++ b/docs/structtelebot__encrypted__passport__element-members.html @@ -0,0 +1,97 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_encrypted_passport_element Member List
+
+ + + + + diff --git a/docs/structtelebot__encrypted__passport__element.html b/docs/structtelebot__encrypted__passport__element.html new file mode 100644 index 0000000..5566d99 --- /dev/null +++ b/docs/structtelebot__encrypted__passport__element.html @@ -0,0 +1,276 @@ + + + + + + + +Telebot: telebot_encrypted_passport_element Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_encrypted_passport_element Struct Reference
+
+
+ +

This object represents one element of the Telegram Passport data. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

char * type
 
char * data
 
char * phone_number
 
char * email
 
struct telebot_passport_filefiles
 
+int count_files
 
struct telebot_passport_filefront_side
 
struct telebot_passport_filereverse_side
 
struct telebot_passport_fileselfie
 
struct telebot_passport_filetranslation
 
+int count_translation
 
char * hash
 
+

Detailed Description

+

This object represents one element of the Telegram Passport data.

+

Member Data Documentation

+ +

◆ data

+ +
+
+ + + + +
char* telebot_encrypted_passport_element::data
+
+

Optional. Base64-encoded encrypted Telegram Passport element data provided by the user.

+ +
+
+ +

◆ email

+ +
+
+ + + + +
char* telebot_encrypted_passport_element::email
+
+

Optional. User's verified email address.

+ +
+
+ +

◆ files

+ +
+
+ + + + +
struct telebot_passport_file* telebot_encrypted_passport_element::files
+
+

Optional. Array of encrypted files with documents provided by the user.

+ +
+
+ +

◆ front_side

+ +
+
+ + + + +
struct telebot_passport_file* telebot_encrypted_passport_element::front_side
+
+

Optional. Encrypted file with the front side of the document.

+ +
+
+ +

◆ hash

+ +
+
+ + + + +
char* telebot_encrypted_passport_element::hash
+
+

Base64-encoded element hash for using in PassportElementErrorUnspecified

+ +
+
+ +

◆ phone_number

+ +
+
+ + + + +
char* telebot_encrypted_passport_element::phone_number
+
+

Optional. User's verified phone number.

+ +
+
+ +

◆ reverse_side

+ +
+
+ + + + +
struct telebot_passport_file* telebot_encrypted_passport_element::reverse_side
+
+

Optional. Encrypted file with the reverse side of the document.

+ +
+
+ +

◆ selfie

+ +
+
+ + + + +
struct telebot_passport_file* telebot_encrypted_passport_element::selfie
+
+

Optional. Encrypted file with the selfie of the user holding a document.

+ +
+
+ +

◆ translation

+ +
+
+ + + + +
struct telebot_passport_file* telebot_encrypted_passport_element::translation
+
+

Optional. Array of encrypted files with translated versions of documents.

+ +
+
+ +

◆ type

+ +
+
+ + + + +
char* telebot_encrypted_passport_element::type
+
+

Element type. One of "personal_details", "passport", "internal_passport", "driver_license", "id_card", "internal_passport", "address", "utility_bill", "bank_statement", "rental_agreement", "passport_registration", "temporary_registration", "phone_number", "email".

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__external__reply__info-members.html b/docs/structtelebot__external__reply__info-members.html new file mode 100644 index 0000000..735db33 --- /dev/null +++ b/docs/structtelebot__external__reply__info-members.html @@ -0,0 +1,110 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_external_reply_info Member List
+
+ + + + + diff --git a/docs/structtelebot__external__reply__info.html b/docs/structtelebot__external__reply__info.html new file mode 100644 index 0000000..88d2224 --- /dev/null +++ b/docs/structtelebot__external__reply__info.html @@ -0,0 +1,511 @@ + + + + + + + +Telebot: telebot_external_reply_info Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_external_reply_info Struct Reference
+
+
+ +

This object contains information about the message that is being replied to, which may come from another chat or forum topic. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

struct telebot_message_origin origin
 
struct telebot_chatchat
 
int message_id
 
struct telebot_link_preview_optionslink_preview_options
 
struct telebot_animationanimation
 
struct telebot_audioaudio
 
struct telebot_documentdocument
 
struct telebot_paid_media_infopaid_media
 
struct telebot_photophotos
 
+int count_photos
 
struct telebot_stickersticker
 
struct telebot_storystory
 
struct telebot_videovideo
 
struct telebot_video_notevideo_note
 
struct telebot_voicevoice
 
bool has_media_spoiler
 
struct telebot_contactcontact
 
struct telebot_dicedice
 
struct telebot_gamegame
 
struct telebot_giveawaygiveaway
 
struct telebot_giveaway_winnersgiveaway_winners
 
struct telebot_invoiceinvoice
 
struct telebot_locationlocation
 
struct telebot_pollpoll
 
struct telebot_venuevenue
 
+

Detailed Description

+

This object contains information about the message that is being replied to, which may come from another chat or forum topic.

+

Member Data Documentation

+ +

◆ animation

+ +
+
+ + + + +
struct telebot_animation* telebot_external_reply_info::animation
+
+

Optional. Message is an animation, information about the animation

+ +
+
+ +

◆ audio

+ +
+
+ + + + +
struct telebot_audio* telebot_external_reply_info::audio
+
+

Optional. Message is an audio file, information about the file

+ +
+
+ +

◆ chat

+ +
+
+ + + + +
struct telebot_chat* telebot_external_reply_info::chat
+
+

Optional. Chat the original message belongs to.

+ +
+
+ +

◆ contact

+ +
+
+ + + + +
struct telebot_contact* telebot_external_reply_info::contact
+
+

Optional. Message is a shared contact, information about the contact

+ +
+
+ +

◆ dice

+ +
+
+ + + + +
struct telebot_dice* telebot_external_reply_info::dice
+
+

Optional. Message is a dice with random value

+ +
+
+ +

◆ document

+ +
+
+ + + + +
struct telebot_document* telebot_external_reply_info::document
+
+

Optional. Message is a general file, information about the file

+ +
+
+ +

◆ game

+ +
+
+ + + + +
struct telebot_game* telebot_external_reply_info::game
+
+

Optional. Message is a game, information about the game.

+ +
+
+ +

◆ giveaway

+ +
+
+ + + + +
struct telebot_giveaway* telebot_external_reply_info::giveaway
+
+

Optional. Message is a giveaway, information about the giveaway

+ +
+
+ +

◆ giveaway_winners

+ +
+
+ + + + +
struct telebot_giveaway_winners* telebot_external_reply_info::giveaway_winners
+
+

Optional. A giveaway with public winners was completed

+ +
+
+ +

◆ has_media_spoiler

+ +
+
+ + + + +
bool telebot_external_reply_info::has_media_spoiler
+
+

Optional. True, if the message media is covered by a spoiler animation

+ +
+
+ +

◆ invoice

+ +
+
+ + + + +
struct telebot_invoice* telebot_external_reply_info::invoice
+
+

Optional. Message is an invoice for a payment, information about the invoice.

+ +
+
+ +

◆ link_preview_options

+ +
+
+ + + + +
struct telebot_link_preview_options* telebot_external_reply_info::link_preview_options
+
+

Optional. Options used for link preview generation for the original message

+ +
+
+ +

◆ location

+ +
+
+ + + + +
struct telebot_location* telebot_external_reply_info::location
+
+

Optional. Message is a shared location, information about the location

+ +
+
+ +

◆ message_id

+ +
+
+ + + + +
int telebot_external_reply_info::message_id
+
+

Optional. Unique message identifier inside the original chat.

+ +
+
+ +

◆ origin

+ +
+
+ + + + +
struct telebot_message_origin telebot_external_reply_info::origin
+
+

Origin of the message replied to by the given message

+ +
+
+ +

◆ paid_media

+ +
+
+ + + + +
struct telebot_paid_media_info* telebot_external_reply_info::paid_media
+
+

Optional. Message contains paid media; information about the paid media

+ +
+
+ +

◆ photos

+ +
+
+ + + + +
struct telebot_photo* telebot_external_reply_info::photos
+
+

Optional. Message is a photo, available sizes of the photo

+ +
+
+ +

◆ poll

+ +
+
+ + + + +
struct telebot_poll* telebot_external_reply_info::poll
+
+

Optional. Message is a native poll, information about the poll

+ +
+
+ +

◆ sticker

+ +
+
+ + + + +
struct telebot_sticker* telebot_external_reply_info::sticker
+
+

Optional. Message is a sticker, information about the sticker

+ +
+
+ +

◆ story

+ +
+
+ + + + +
struct telebot_story* telebot_external_reply_info::story
+
+

Optional. Message is a forwarded story

+ +
+
+ +

◆ venue

+ +
+
+ + + + +
struct telebot_venue* telebot_external_reply_info::venue
+
+

Optional. Message is a venue, information about the venue

+ +
+
+ +

◆ video

+ +
+
+ + + + +
struct telebot_video* telebot_external_reply_info::video
+
+

Optional. Message is a video, information about the video

+ +
+
+ +

◆ video_note

+ +
+
+ + + + +
struct telebot_video_note* telebot_external_reply_info::video_note
+
+

Optional. Message is a video note, information about the video message

+ +
+
+ +

◆ voice

+ +
+
+ + + + +
struct telebot_voice* telebot_external_reply_info::voice
+
+

Optional. Message is a voice message, information about the file

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__file-members.html b/docs/structtelebot__file-members.html index d0f33da..09a4751 100644 --- a/docs/structtelebot__file-members.html +++ b/docs/structtelebot__file-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,30 +56,34 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+

-
-
telebot_file Member List
+
telebot_file Member List
diff --git a/docs/structtelebot__file.html b/docs/structtelebot__file.html index 41e86aa..6eba66b 100644 --- a/docs/structtelebot__file.html +++ b/docs/structtelebot__file.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_file Struct Reference @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,9 +56,16 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
@@ -63,8 +73,7 @@ -
-
telebot_file Struct Reference
+
telebot_file Struct Reference

@@ -73,23 +82,23 @@

#include <telebot-types.h>

- - + - + - + - +

+

Public Attributes

char * file_id
char * file_id
 
char * file_unique_id
char * file_unique_id
 
int file_size
int file_size
 
char * file_path
char * file_path
 

Detailed Description

This object represents a file ready to be downloaded.

The file can be downloaded via the link https://api.telegram.org/file/bot[token]/[file_path]. It is guaranteed that the link will be valid for at least 1 hour. When the link expires, a new one can be requested by calling getFile. Maximum file size to download is 20 MB.

Member Data Documentation

- -

◆ file_id

+ +

◆ file_id

@@ -103,8 +112,8 @@

-

◆ file_path

+ +

◆ file_path

@@ -118,8 +127,8 @@

-

◆ file_size

+ +

◆ file_size

@@ -133,8 +142,8 @@

-

◆ file_unique_id

+ +

◆ file_unique_id

@@ -154,9 +163,7 @@

diff --git a/docs/structtelebot__force__reply-members.html b/docs/structtelebot__force__reply-members.html index 974df2f..1871d9d 100644 --- a/docs/structtelebot__force__reply-members.html +++ b/docs/structtelebot__force__reply-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,28 +56,32 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+

-
-
telebot_force_reply Member List
+
telebot_force_reply Member List

This is the complete list of members for telebot_force_reply, including all inherited members.

- +
force_replytelebot_force_reply
selectivetelebot_force_reply
selectivetelebot_force_reply
diff --git a/docs/structtelebot__force__reply.html b/docs/structtelebot__force__reply.html index 2d9bb77..52535a3 100644 --- a/docs/structtelebot__force__reply.html +++ b/docs/structtelebot__force__reply.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_force_reply Struct Reference @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,9 +56,16 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
@@ -63,8 +73,7 @@ -
-
telebot_force_reply Struct Reference
+
telebot_force_reply Struct Reference

@@ -73,18 +82,18 @@

#include <telebot-types.h>

- - + - +

+

Public Attributes

bool force_reply
bool force_reply
 
bool selective
bool selective
 

Detailed Description

Upon receiving a message with this object, Telegram clients will display a reply interface to the user (act as if the user has selected the bot's message and tapped ’Reply'). This can be extremely useful if you want to create user-friendly step-by-step interfaces without having to sacrifice privacy mode.

Member Data Documentation

- -

◆ force_reply

+ +

◆ force_reply

@@ -98,8 +107,8 @@

-

◆ selective

+ +

◆ selective

@@ -119,9 +128,7 @@

diff --git a/docs/structtelebot__forum__topic-members.html b/docs/structtelebot__forum__topic-members.html new file mode 100644 index 0000000..5615f67 --- /dev/null +++ b/docs/structtelebot__forum__topic-members.html @@ -0,0 +1,89 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_forum_topic Member List
+
+ + + + + diff --git a/docs/structtelebot__forum__topic.html b/docs/structtelebot__forum__topic.html new file mode 100644 index 0000000..788703f --- /dev/null +++ b/docs/structtelebot__forum__topic.html @@ -0,0 +1,168 @@ + + + + + + + +Telebot: telebot_forum_topic Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_forum_topic Struct Reference
+
+
+ +

This object represents a forum topic. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + + + +

+Public Attributes

int message_thread_id
 
char * name
 
int icon_color
 
char * icon_custom_emoji_id
 
+

Detailed Description

+

This object represents a forum topic.

+

Member Data Documentation

+ +

◆ icon_color

+ +
+
+ + + + +
int telebot_forum_topic::icon_color
+
+

Color of the topic icon in RGB format

+ +
+
+ +

◆ icon_custom_emoji_id

+ +
+
+ + + + +
char* telebot_forum_topic::icon_custom_emoji_id
+
+

Optional. Unique identifier of the custom emoji used as the topic icon

+ +
+
+ +

◆ message_thread_id

+ +
+
+ + + + +
int telebot_forum_topic::message_thread_id
+
+

Unique identifier of the forum topic

+ +
+
+ +

◆ name

+ +
+
+ + + + +
char* telebot_forum_topic::name
+
+

Name of the topic

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__forum__topic__closed-members.html b/docs/structtelebot__forum__topic__closed-members.html new file mode 100644 index 0000000..67da548 --- /dev/null +++ b/docs/structtelebot__forum__topic__closed-members.html @@ -0,0 +1,86 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_forum_topic_closed Member List
+
+
+ +

This is the complete list of members for telebot_forum_topic_closed, including all inherited members.

+ + +
dummytelebot_forum_topic_closed
+ + + + diff --git a/docs/structtelebot__forum__topic__closed.html b/docs/structtelebot__forum__topic__closed.html new file mode 100644 index 0000000..a38ae4e --- /dev/null +++ b/docs/structtelebot__forum__topic__closed.html @@ -0,0 +1,117 @@ + + + + + + + +Telebot: telebot_forum_topic_closed Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_forum_topic_closed Struct Reference
+
+
+ +

This object represents a service message about a forum topic closed in the chat. + More...

+ +

#include <telebot-types.h>

+ + + + +

+Public Attributes

bool dummy
 
+

Detailed Description

+

This object represents a service message about a forum topic closed in the chat.

+

Member Data Documentation

+ +

◆ dummy

+ +
+
+ + + + +
bool telebot_forum_topic_closed::dummy
+
+

Empty struct as per Telegram API

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__forum__topic__created-members.html b/docs/structtelebot__forum__topic__created-members.html new file mode 100644 index 0000000..4e37457 --- /dev/null +++ b/docs/structtelebot__forum__topic__created-members.html @@ -0,0 +1,88 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_forum_topic_created Member List
+
+ + + + + diff --git a/docs/structtelebot__forum__topic__created.html b/docs/structtelebot__forum__topic__created.html new file mode 100644 index 0000000..66879a6 --- /dev/null +++ b/docs/structtelebot__forum__topic__created.html @@ -0,0 +1,151 @@ + + + + + + + +Telebot: telebot_forum_topic_created Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_forum_topic_created Struct Reference
+
+
+ +

This object represents a service message about a new forum topic created in the chat. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + +

+Public Attributes

char * name
 
int icon_color
 
char * icon_custom_emoji_id
 
+

Detailed Description

+

This object represents a service message about a new forum topic created in the chat.

+

Member Data Documentation

+ +

◆ icon_color

+ +
+
+ + + + +
int telebot_forum_topic_created::icon_color
+
+

Color of the topic icon in RGB format

+ +
+
+ +

◆ icon_custom_emoji_id

+ +
+
+ + + + +
char* telebot_forum_topic_created::icon_custom_emoji_id
+
+

Optional. Unique identifier of the custom emoji used as the topic icon

+ +
+
+ +

◆ name

+ +
+
+ + + + +
char* telebot_forum_topic_created::name
+
+

Name of the topic

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__forum__topic__edited-members.html b/docs/structtelebot__forum__topic__edited-members.html new file mode 100644 index 0000000..61b74d6 --- /dev/null +++ b/docs/structtelebot__forum__topic__edited-members.html @@ -0,0 +1,87 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_forum_topic_edited Member List
+
+
+ +

This is the complete list of members for telebot_forum_topic_edited, including all inherited members.

+ + + +
icon_custom_emoji_idtelebot_forum_topic_edited
nametelebot_forum_topic_edited
+ + + + diff --git a/docs/structtelebot__forum__topic__edited.html b/docs/structtelebot__forum__topic__edited.html new file mode 100644 index 0000000..4456b9d --- /dev/null +++ b/docs/structtelebot__forum__topic__edited.html @@ -0,0 +1,134 @@ + + + + + + + +Telebot: telebot_forum_topic_edited Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_forum_topic_edited Struct Reference
+
+
+ +

This object represents a service message about a forum topic edited in the chat. + More...

+ +

#include <telebot-types.h>

+ + + + + + +

+Public Attributes

char * name
 
char * icon_custom_emoji_id
 
+

Detailed Description

+

This object represents a service message about a forum topic edited in the chat.

+

Member Data Documentation

+ +

◆ icon_custom_emoji_id

+ +
+
+ + + + +
char* telebot_forum_topic_edited::icon_custom_emoji_id
+
+

Optional. New identifier of the custom emoji used as the topic icon, if it was edited

+ +
+
+ +

◆ name

+ +
+
+ + + + +
char* telebot_forum_topic_edited::name
+
+

Optional. New name of the topic, if it was edited

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__forum__topic__reopened-members.html b/docs/structtelebot__forum__topic__reopened-members.html new file mode 100644 index 0000000..bc2d0f8 --- /dev/null +++ b/docs/structtelebot__forum__topic__reopened-members.html @@ -0,0 +1,86 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_forum_topic_reopened Member List
+
+
+ +

This is the complete list of members for telebot_forum_topic_reopened, including all inherited members.

+ + +
dummytelebot_forum_topic_reopened
+ + + + diff --git a/docs/structtelebot__forum__topic__reopened.html b/docs/structtelebot__forum__topic__reopened.html new file mode 100644 index 0000000..9081f67 --- /dev/null +++ b/docs/structtelebot__forum__topic__reopened.html @@ -0,0 +1,117 @@ + + + + + + + +Telebot: telebot_forum_topic_reopened Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_forum_topic_reopened Struct Reference
+
+
+ +

This object represents a service message about a forum topic reopened in the chat. + More...

+ +

#include <telebot-types.h>

+ + + + +

+Public Attributes

bool dummy
 
+

Detailed Description

+

This object represents a service message about a forum topic reopened in the chat.

+

Member Data Documentation

+ +

◆ dummy

+ +
+
+ + + + +
bool telebot_forum_topic_reopened::dummy
+
+

Empty struct as per Telegram API

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__game-members.html b/docs/structtelebot__game-members.html new file mode 100644 index 0000000..7384771 --- /dev/null +++ b/docs/structtelebot__game-members.html @@ -0,0 +1,93 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_game Member List
+
+
+ +

This is the complete list of members for telebot_game, including all inherited members.

+ + + + + + + + + +
animationtelebot_game
count_phototelebot_game
count_text_entities (defined in telebot_game)telebot_game
descriptiontelebot_game
phototelebot_game
texttelebot_game
text_entitiestelebot_game
titletelebot_game
+ + + + diff --git a/docs/structtelebot__game.html b/docs/structtelebot__game.html new file mode 100644 index 0000000..ac55ada --- /dev/null +++ b/docs/structtelebot__game.html @@ -0,0 +1,222 @@ + + + + + + + +Telebot: telebot_game Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_game Struct Reference
+
+
+ +

This object represents a game. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + + + + + + + + + + + +

+Public Attributes

char * title
 
char * description
 
struct telebot_photophoto
 
int count_photo
 
char * text
 
struct telebot_message_entitytext_entities
 
+int count_text_entities
 
struct telebot_animationanimation
 
+

Detailed Description

+

This object represents a game.

+

Member Data Documentation

+ +

◆ animation

+ +
+
+ + + + +
struct telebot_animation* telebot_game::animation
+
+

Optional. Animation that will be displayed in the game message in chats.

+ +
+
+ +

◆ count_photo

+ +
+
+ + + + +
int telebot_game::count_photo
+
+

Number of photos

+ +
+
+ +

◆ description

+ +
+
+ + + + +
char* telebot_game::description
+
+

Description of the game

+ +
+
+ +

◆ photo

+ +
+
+ + + + +
struct telebot_photo* telebot_game::photo
+
+

Photo that will be displayed in the game message in chats.

+ +
+
+ +

◆ text

+ +
+
+ + + + +
char* telebot_game::text
+
+

Optional. Brief description of the game or high scores included in the game message.

+ +
+
+ +

◆ text_entities

+ +
+
+ + + + +
struct telebot_message_entity* telebot_game::text_entities
+
+

Optional. Special entities that appear in text, such as usernames, URLs, bot commands, etc.

+ +
+
+ +

◆ title

+ +
+
+ + + + +
char* telebot_game::title
+
+

Title of the game

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__game__high__score-members.html b/docs/structtelebot__game__high__score-members.html new file mode 100644 index 0000000..ad96423 --- /dev/null +++ b/docs/structtelebot__game__high__score-members.html @@ -0,0 +1,88 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_game_high_score Member List
+
+
+ +

This is the complete list of members for telebot_game_high_score, including all inherited members.

+ + + + +
positiontelebot_game_high_score
scoretelebot_game_high_score
usertelebot_game_high_score
+ + + + diff --git a/docs/structtelebot__game__high__score.html b/docs/structtelebot__game__high__score.html new file mode 100644 index 0000000..7943189 --- /dev/null +++ b/docs/structtelebot__game__high__score.html @@ -0,0 +1,151 @@ + + + + + + + +Telebot: telebot_game_high_score Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_game_high_score Struct Reference
+
+
+ +

This object represents a game high score row. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + +

+Public Attributes

int position
 
struct telebot_useruser
 
int score
 
+

Detailed Description

+

This object represents a game high score row.

+

Member Data Documentation

+ +

◆ position

+ +
+
+ + + + +
int telebot_game_high_score::position
+
+

Position in high score table for the game

+ +
+
+ +

◆ score

+ +
+
+ + + + +
int telebot_game_high_score::score
+
+

Score

+ +
+
+ +

◆ user

+ +
+
+ + + + +
struct telebot_user* telebot_game_high_score::user
+
+

User

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__general__forum__topic__hidden-members.html b/docs/structtelebot__general__forum__topic__hidden-members.html new file mode 100644 index 0000000..7436165 --- /dev/null +++ b/docs/structtelebot__general__forum__topic__hidden-members.html @@ -0,0 +1,86 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_general_forum_topic_hidden Member List
+
+
+ +

This is the complete list of members for telebot_general_forum_topic_hidden, including all inherited members.

+ + +
dummytelebot_general_forum_topic_hidden
+ + + + diff --git a/docs/structtelebot__general__forum__topic__hidden.html b/docs/structtelebot__general__forum__topic__hidden.html new file mode 100644 index 0000000..b6ff8bb --- /dev/null +++ b/docs/structtelebot__general__forum__topic__hidden.html @@ -0,0 +1,117 @@ + + + + + + + +Telebot: telebot_general_forum_topic_hidden Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_general_forum_topic_hidden Struct Reference
+
+
+ +

This object represents a service message about a general forum topic hidden in the chat. + More...

+ +

#include <telebot-types.h>

+ + + + +

+Public Attributes

bool dummy
 
+

Detailed Description

+

This object represents a service message about a general forum topic hidden in the chat.

+

Member Data Documentation

+ +

◆ dummy

+ +
+
+ + + + +
bool telebot_general_forum_topic_hidden::dummy
+
+

Empty struct as per Telegram API

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__general__forum__topic__unhidden-members.html b/docs/structtelebot__general__forum__topic__unhidden-members.html new file mode 100644 index 0000000..d94ba0e --- /dev/null +++ b/docs/structtelebot__general__forum__topic__unhidden-members.html @@ -0,0 +1,86 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_general_forum_topic_unhidden Member List
+
+
+ +

This is the complete list of members for telebot_general_forum_topic_unhidden, including all inherited members.

+ + +
dummytelebot_general_forum_topic_unhidden
+ + + + diff --git a/docs/structtelebot__general__forum__topic__unhidden.html b/docs/structtelebot__general__forum__topic__unhidden.html new file mode 100644 index 0000000..2b98e26 --- /dev/null +++ b/docs/structtelebot__general__forum__topic__unhidden.html @@ -0,0 +1,117 @@ + + + + + + + +Telebot: telebot_general_forum_topic_unhidden Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_general_forum_topic_unhidden Struct Reference
+
+
+ +

This object represents a service message about a general forum topic unhidden in the chat. + More...

+ +

#include <telebot-types.h>

+ + + + +

+Public Attributes

bool dummy
 
+

Detailed Description

+

This object represents a service message about a general forum topic unhidden in the chat.

+

Member Data Documentation

+ +

◆ dummy

+ +
+
+ + + + +
bool telebot_general_forum_topic_unhidden::dummy
+
+

Empty struct as per Telegram API

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__gift-members.html b/docs/structtelebot__gift-members.html new file mode 100644 index 0000000..73cffce --- /dev/null +++ b/docs/structtelebot__gift-members.html @@ -0,0 +1,93 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_gift Member List
+
+ + + + + diff --git a/docs/structtelebot__gift.html b/docs/structtelebot__gift.html new file mode 100644 index 0000000..1f6a6e0 --- /dev/null +++ b/docs/structtelebot__gift.html @@ -0,0 +1,236 @@ + + + + + + + +Telebot: telebot_gift Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_gift Struct Reference
+
+
+ +

This object represents a gift that can be sent by the bot. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + + + + + + + + + + + +

+Public Attributes

char * id
 
struct telebot_stickersticker
 
int star_count
 
int upgrade_star_count
 
bool is_premium
 
bool has_colors
 
int total_count
 
int remaining_count
 
+

Detailed Description

+

This object represents a gift that can be sent by the bot.

+

Member Data Documentation

+ +

◆ has_colors

+ +
+
+ + + + +
bool telebot_gift::has_colors
+
+

Optional. True, if the gift can be used (after being upgraded) to customize a user's appearance

+ +
+
+ +

◆ id

+ +
+
+ + + + +
char* telebot_gift::id
+
+

Unique identifier of the gift

+ +
+
+ +

◆ is_premium

+ +
+
+ + + + +
bool telebot_gift::is_premium
+
+

Optional. True, if the gift can only be purchased by Telegram Premium subscribers

+ +
+
+ +

◆ remaining_count

+ +
+
+ + + + +
int telebot_gift::remaining_count
+
+

Optional. The number of remaining gifts

+ +
+
+ +

◆ star_count

+ +
+
+ + + + +
int telebot_gift::star_count
+
+

The number of Telegram Stars that must be paid to send the sticker

+ +
+
+ +

◆ sticker

+ +
+
+ + + + +
struct telebot_sticker* telebot_gift::sticker
+
+

The sticker that represents the gift

+ +
+
+ +

◆ total_count

+ +
+
+ + + + +
int telebot_gift::total_count
+
+

Optional. The total number of gifts of this type that can be sent

+ +
+
+ +

◆ upgrade_star_count

+ +
+
+ + + + +
int telebot_gift::upgrade_star_count
+
+

Optional. The number of Telegram Stars that must be paid to upgrade the gift

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__gift__info-members.html b/docs/structtelebot__gift__info-members.html new file mode 100644 index 0000000..17caaf6 --- /dev/null +++ b/docs/structtelebot__gift__info-members.html @@ -0,0 +1,90 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_gift_info Member List
+
+
+ +

This is the complete list of members for telebot_gift_info, including all inherited members.

+ + + + + + +
count_entities (defined in telebot_gift_info)telebot_gift_info
entitiestelebot_gift_info
gifttelebot_gift_info
is_privatetelebot_gift_info
texttelebot_gift_info
+ + + + diff --git a/docs/structtelebot__gift__info.html b/docs/structtelebot__gift__info.html new file mode 100644 index 0000000..2a7f099 --- /dev/null +++ b/docs/structtelebot__gift__info.html @@ -0,0 +1,171 @@ + + + + + + + +Telebot: telebot_gift_info Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_gift_info Struct Reference
+
+
+ +

Describes a regular gift that was sent or received. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + + + + + +

+Public Attributes

struct telebot_gift gift
 
char * text
 
struct telebot_message_entityentities
 
+int count_entities
 
bool is_private
 
+

Detailed Description

+

Describes a regular gift that was sent or received.

+

Member Data Documentation

+ +

◆ entities

+ +
+
+ + + + +
struct telebot_message_entity* telebot_gift_info::entities
+
+

Optional. Special entities that appear in the text

+ +
+
+ +

◆ gift

+ +
+
+ + + + +
struct telebot_gift telebot_gift_info::gift
+
+

Information about the gift

+ +
+
+ +

◆ is_private

+ +
+
+ + + + +
bool telebot_gift_info::is_private
+
+

Optional. True, if the sender and gift text are shown only to the receiver

+ +
+
+ +

◆ text

+ +
+
+ + + + +
char* telebot_gift_info::text
+
+

Optional. Message text added to the gift

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__gifts-members.html b/docs/structtelebot__gifts-members.html new file mode 100644 index 0000000..507531d --- /dev/null +++ b/docs/structtelebot__gifts-members.html @@ -0,0 +1,87 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_gifts Member List
+
+
+ +

This is the complete list of members for telebot_gifts, including all inherited members.

+ + + +
counttelebot_gifts
giftstelebot_gifts
+ + + + diff --git a/docs/structtelebot__gifts.html b/docs/structtelebot__gifts.html new file mode 100644 index 0000000..0993b24 --- /dev/null +++ b/docs/structtelebot__gifts.html @@ -0,0 +1,134 @@ + + + + + + + +Telebot: telebot_gifts Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_gifts Struct Reference
+
+
+ +

This object represent a list of gifts. + More...

+ +

#include <telebot-types.h>

+ + + + + + +

+Public Attributes

telebot_gift_tgifts
 
int count
 
+

Detailed Description

+

This object represent a list of gifts.

+

Member Data Documentation

+ +

◆ count

+ +
+
+ + + + +
int telebot_gifts::count
+
+

Number of gifts

+ +
+
+ +

◆ gifts

+ +
+
+ + + + +
telebot_gift_t* telebot_gifts::gifts
+
+

The list of gifts

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__giveaway-members.html b/docs/structtelebot__giveaway-members.html new file mode 100644 index 0000000..825cf80 --- /dev/null +++ b/docs/structtelebot__giveaway-members.html @@ -0,0 +1,96 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_giveaway Member List
+
+ + + + + diff --git a/docs/structtelebot__giveaway.html b/docs/structtelebot__giveaway.html new file mode 100644 index 0000000..965b096 --- /dev/null +++ b/docs/structtelebot__giveaway.html @@ -0,0 +1,259 @@ + + + + + + + +Telebot: telebot_giveaway Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_giveaway Struct Reference
+
+
+ +

This object represents a message about a scheduled giveaway. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

struct telebot_chatchats
 
+int count_chats
 
long winners_selection_date
 
int winner_count
 
bool only_new_members
 
bool has_public_winners
 
char * prize_description
 
char ** country_codes
 
+int count_country_codes
 
int prize_star_count
 
int premium_subscription_month_count
 
+

Detailed Description

+

This object represents a message about a scheduled giveaway.

+

Member Data Documentation

+ +

◆ chats

+ +
+
+ + + + +
struct telebot_chat* telebot_giveaway::chats
+
+

The list of chats which the user must join to participate in the giveaway

+ +
+
+ +

◆ country_codes

+ +
+
+ + + + +
char** telebot_giveaway::country_codes
+
+

Optional. A list of two-letter ISO 3166-1 alpha-2 country codes

+ +
+
+ +

◆ has_public_winners

+ +
+
+ + + + +
bool telebot_giveaway::has_public_winners
+
+

Optional. True, if the list of giveaway winners will be visible to everyone

+ +
+
+ +

◆ only_new_members

+ +
+
+ + + + +
bool telebot_giveaway::only_new_members
+
+

Optional. True, if only users who join the chats after the giveaway started should be eligible to win

+ +
+
+ +

◆ premium_subscription_month_count

+ +
+
+ + + + +
int telebot_giveaway::premium_subscription_month_count
+
+

Optional. The number of months the Telegram Premium subscription won from the giveaway will be active for

+ +
+
+ +

◆ prize_description

+ +
+
+ + + + +
char* telebot_giveaway::prize_description
+
+

Optional. Description of additional giveaway prize

+ +
+
+ +

◆ prize_star_count

+ +
+
+ + + + +
int telebot_giveaway::prize_star_count
+
+

Optional. The number of Telegram Stars to be split between giveaway winners

+ +
+
+ +

◆ winner_count

+ +
+
+ + + + +
int telebot_giveaway::winner_count
+
+

The number of users which are supposed to be selected as winners of the giveaway

+ +
+
+ +

◆ winners_selection_date

+ +
+
+ + + + +
long telebot_giveaway::winners_selection_date
+
+

Point in time (Unix timestamp) when winners of the giveaway will be selected

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__giveaway__completed-members.html b/docs/structtelebot__giveaway__completed-members.html new file mode 100644 index 0000000..319a7b6 --- /dev/null +++ b/docs/structtelebot__giveaway__completed-members.html @@ -0,0 +1,89 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_giveaway_completed Member List
+
+ + + + + diff --git a/docs/structtelebot__giveaway__completed.html b/docs/structtelebot__giveaway__completed.html new file mode 100644 index 0000000..10a8c18 --- /dev/null +++ b/docs/structtelebot__giveaway__completed.html @@ -0,0 +1,168 @@ + + + + + + + +Telebot: telebot_giveaway_completed Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_giveaway_completed Struct Reference
+
+
+ +

This object represents a service message about the completion of a giveaway without public winners. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + + + +

+Public Attributes

int winner_count
 
int unclaimed_prize_count
 
struct telebot_messagegiveaway_message
 
bool is_star_giveaway
 
+

Detailed Description

+

This object represents a service message about the completion of a giveaway without public winners.

+

Member Data Documentation

+ +

◆ giveaway_message

+ +
+
+ + + + +
struct telebot_message* telebot_giveaway_completed::giveaway_message
+
+

Optional. Message with the giveaway that was completed

+ +
+
+ +

◆ is_star_giveaway

+ +
+
+ + + + +
bool telebot_giveaway_completed::is_star_giveaway
+
+

Optional. True, if the giveaway is a Telegram Star giveaway

+ +
+
+ +

◆ unclaimed_prize_count

+ +
+
+ + + + +
int telebot_giveaway_completed::unclaimed_prize_count
+
+

Optional. Number of undistributed prizes

+ +
+
+ +

◆ winner_count

+ +
+
+ + + + +
int telebot_giveaway_completed::winner_count
+
+

Number of winners in the giveaway

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__giveaway__created-members.html b/docs/structtelebot__giveaway__created-members.html new file mode 100644 index 0000000..378482e --- /dev/null +++ b/docs/structtelebot__giveaway__created-members.html @@ -0,0 +1,86 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_giveaway_created Member List
+
+
+ +

This is the complete list of members for telebot_giveaway_created, including all inherited members.

+ + +
prize_star_counttelebot_giveaway_created
+ + + + diff --git a/docs/structtelebot__giveaway__created.html b/docs/structtelebot__giveaway__created.html new file mode 100644 index 0000000..3f11678 --- /dev/null +++ b/docs/structtelebot__giveaway__created.html @@ -0,0 +1,117 @@ + + + + + + + +Telebot: telebot_giveaway_created Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_giveaway_created Struct Reference
+
+
+ +

This object represents a service message about the creation of a scheduled giveaway. + More...

+ +

#include <telebot-types.h>

+ + + + +

+Public Attributes

int prize_star_count
 
+

Detailed Description

+

This object represents a service message about the creation of a scheduled giveaway.

+

Member Data Documentation

+ +

◆ prize_star_count

+ +
+
+ + + + +
int telebot_giveaway_created::prize_star_count
+
+

Optional. The number of Telegram Stars to be split between giveaway winners

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__giveaway__winners-members.html b/docs/structtelebot__giveaway__winners-members.html new file mode 100644 index 0000000..240ac52 --- /dev/null +++ b/docs/structtelebot__giveaway__winners-members.html @@ -0,0 +1,98 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_giveaway_winners Member List
+
+ + + + + diff --git a/docs/structtelebot__giveaway__winners.html b/docs/structtelebot__giveaway__winners.html new file mode 100644 index 0000000..2319ca1 --- /dev/null +++ b/docs/structtelebot__giveaway__winners.html @@ -0,0 +1,307 @@ + + + + + + + +Telebot: telebot_giveaway_winners Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_giveaway_winners Struct Reference
+
+
+ +

This object represents a message about the completion of a giveaway with public winners. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

struct telebot_chatchat
 
int giveaway_message_id
 
long winners_selection_date
 
int winner_count
 
struct telebot_userwinners
 
+int count_winners
 
int additional_chat_count
 
int prize_star_count
 
int premium_subscription_month_count
 
int unclaimed_prize_count
 
bool only_new_members
 
bool was_refunded
 
char * prize_description
 
+

Detailed Description

+

This object represents a message about the completion of a giveaway with public winners.

+

Member Data Documentation

+ +

◆ additional_chat_count

+ +
+
+ + + + +
int telebot_giveaway_winners::additional_chat_count
+
+

Optional. The number of other chats the user had to join in order to be eligible for the giveaway

+ +
+
+ +

◆ chat

+ +
+
+ + + + +
struct telebot_chat* telebot_giveaway_winners::chat
+
+

The chat that created the giveaway

+ +
+
+ +

◆ giveaway_message_id

+ +
+
+ + + + +
int telebot_giveaway_winners::giveaway_message_id
+
+

Identifier of the message with the giveaway in the chat

+ +
+
+ +

◆ only_new_members

+ +
+
+ + + + +
bool telebot_giveaway_winners::only_new_members
+
+

Optional. True, if only users who had joined the chats after the giveaway started were eligible to win

+ +
+
+ +

◆ premium_subscription_month_count

+ +
+
+ + + + +
int telebot_giveaway_winners::premium_subscription_month_count
+
+

Optional. The number of months the Telegram Premium subscription won from the giveaway will be active for

+ +
+
+ +

◆ prize_description

+ +
+
+ + + + +
char* telebot_giveaway_winners::prize_description
+
+

Optional. Description of additional giveaway prize

+ +
+
+ +

◆ prize_star_count

+ +
+
+ + + + +
int telebot_giveaway_winners::prize_star_count
+
+

Optional. The number of Telegram Stars that were split between giveaway winners

+ +
+
+ +

◆ unclaimed_prize_count

+ +
+
+ + + + +
int telebot_giveaway_winners::unclaimed_prize_count
+
+

Optional. Number of undistributed prizes

+ +
+
+ +

◆ was_refunded

+ +
+
+ + + + +
bool telebot_giveaway_winners::was_refunded
+
+

Optional. True, if the giveaway was canceled because the payment for it was refunded

+ +
+
+ +

◆ winner_count

+ +
+
+ + + + +
int telebot_giveaway_winners::winner_count
+
+

Total number of winners in the giveaway

+ +
+
+ +

◆ winners

+ +
+
+ + + + +
struct telebot_user* telebot_giveaway_winners::winners
+
+

List of winners of the giveaway

+ +
+
+ +

◆ winners_selection_date

+ +
+
+ + + + +
long telebot_giveaway_winners::winners_selection_date
+
+

Point in time (Unix timestamp) when winners of the giveaway were selected

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__inline__keyboard__button-members.html b/docs/structtelebot__inline__keyboard__button-members.html new file mode 100644 index 0000000..1bc5608 --- /dev/null +++ b/docs/structtelebot__inline__keyboard__button-members.html @@ -0,0 +1,96 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_inline_keyboard_button Member List
+
+ + + + + diff --git a/docs/structtelebot__inline__keyboard__button.html b/docs/structtelebot__inline__keyboard__button.html new file mode 100644 index 0000000..78a9dbe --- /dev/null +++ b/docs/structtelebot__inline__keyboard__button.html @@ -0,0 +1,287 @@ + + + + + + + +Telebot: telebot_inline_keyboard_button Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_inline_keyboard_button Struct Reference
+
+
+ +

This object represents one button of an inline keyboard. You must use exactly one of the optional fields. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

char * text
 
char * url
 
char * callback_data
 
struct telebot_web_app_infoweb_app
 
struct telebot_login_urllogin_url
 
char * switch_inline_query
 
char * switch_inline_query_current_chat
 
struct telebot_switch_inline_query_chosen_chatswitch_inline_query_chosen_chat
 
struct telebot_copy_text_buttoncopy_text
 
struct telebot_callback_gamecallback_game
 
bool pay
 
+

Detailed Description

+

This object represents one button of an inline keyboard. You must use exactly one of the optional fields.

+

Member Data Documentation

+ +

◆ callback_data

+ +
+
+ + + + +
char* telebot_inline_keyboard_button::callback_data
+
+

Optional. Data to be sent in a callback query to the bot when button is pressed, 1-64 bytes

+ +
+
+ +

◆ callback_game

+ +
+
+ + + + +
struct telebot_callback_game* telebot_inline_keyboard_button::callback_game
+
+

Optional. Description of the game that will be launched when the user presses the button.

+ +
+
+ +

◆ copy_text

+ +
+
+ + + + +
struct telebot_copy_text_button* telebot_inline_keyboard_button::copy_text
+
+

Optional. Description of the button that copies the specified text to the clipboard.

+ +
+
+ +

◆ login_url

+ +
+
+ + + + +
struct telebot_login_url* telebot_inline_keyboard_button::login_url
+
+

Optional. An HTTPS URL used to automatically authorize the user.

+ +
+
+ +

◆ pay

+ +
+
+ + + + +
bool telebot_inline_keyboard_button::pay
+
+

Optional. Specify True, to send a Pay button. NOTE: This type of button must always be the first button in the first row.

+ +
+
+ +

◆ switch_inline_query

+ +
+
+ + + + +
char* telebot_inline_keyboard_button::switch_inline_query
+
+

Optional. If set, pressing the button will prompt the user to select one of their chats, open that chat and insert the bot's username and the specified inline query in the input field. Can be empty, in which case just the bot's username will be inserted.

+ +
+
+ +

◆ switch_inline_query_chosen_chat

+ +
+
+ + + + +
struct telebot_switch_inline_query_chosen_chat* telebot_inline_keyboard_button::switch_inline_query_chosen_chat
+
+

Optional. If set, pressing the button will prompt the user to select one of their chats of the specified type.

+ +
+
+ +

◆ switch_inline_query_current_chat

+ +
+
+ + + + +
char* telebot_inline_keyboard_button::switch_inline_query_current_chat
+
+

Optional. If set, pressing the button will insert the bot's username and the specified inline query in the current chat's input field. Can be empty, in which case just the bot's username will be inserted.

+ +
+
+ +

◆ text

+ +
+
+ + + + +
char* telebot_inline_keyboard_button::text
+
+

Label text on the button

+ +
+
+ +

◆ url

+ +
+
+ + + + +
char* telebot_inline_keyboard_button::url
+
+

Optional. HTTP or tg:// url to be opened when button is pressed

+ +
+
+ +

◆ web_app

+ +
+
+ + + + +
struct telebot_web_app_info* telebot_inline_keyboard_button::web_app
+
+

Optional. Description of the Web App that will be launched when the user presses the button.

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__inline__keyboard__markup-members.html b/docs/structtelebot__inline__keyboard__markup-members.html new file mode 100644 index 0000000..977ef3a --- /dev/null +++ b/docs/structtelebot__inline__keyboard__markup-members.html @@ -0,0 +1,88 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_inline_keyboard_markup Member List
+
+ + + + + diff --git a/docs/structtelebot__inline__keyboard__markup.html b/docs/structtelebot__inline__keyboard__markup.html new file mode 100644 index 0000000..13c6133 --- /dev/null +++ b/docs/structtelebot__inline__keyboard__markup.html @@ -0,0 +1,151 @@ + + + + + + + +Telebot: telebot_inline_keyboard_markup Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_inline_keyboard_markup Struct Reference
+
+
+ +

This object represents an inline keyboard that appears right next to the message it belongs to. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + +

+Public Attributes

telebot_inline_keyboard_button_tinline_keyboard
 
int rows
 
int cols
 
+

Detailed Description

+

This object represents an inline keyboard that appears right next to the message it belongs to.

+

Member Data Documentation

+ +

◆ cols

+ +
+
+ + + + +
int telebot_inline_keyboard_markup::cols
+
+

Number of columns

+ +
+
+ +

◆ inline_keyboard

+ +
+
+ + + + +
telebot_inline_keyboard_button_t* telebot_inline_keyboard_markup::inline_keyboard
+
+

Array of button rows, each represented by an Array of InlineKeyboardButton objects

+ +
+
+ +

◆ rows

+ +
+
+ + + + +
int telebot_inline_keyboard_markup::rows
+
+

Number of rows

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__inline__query-members.html b/docs/structtelebot__inline__query-members.html new file mode 100644 index 0000000..60b73a6 --- /dev/null +++ b/docs/structtelebot__inline__query-members.html @@ -0,0 +1,91 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_inline_query Member List
+
+ + + + + diff --git a/docs/structtelebot__inline__query.html b/docs/structtelebot__inline__query.html new file mode 100644 index 0000000..1530b08 --- /dev/null +++ b/docs/structtelebot__inline__query.html @@ -0,0 +1,202 @@ + + + + + + + +Telebot: telebot_inline_query Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_inline_query Struct Reference
+
+
+ +

This object represents an incoming inline query. When the user sends an empty query, your bot could return some default or trending results. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + + + + + + + +

+Public Attributes

char * id
 
struct telebot_userfrom
 
char * query
 
char * offset
 
char * chat_type
 
struct telebot_locationlocation
 
+

Detailed Description

+

This object represents an incoming inline query. When the user sends an empty query, your bot could return some default or trending results.

+

Member Data Documentation

+ +

◆ chat_type

+ +
+
+ + + + +
char* telebot_inline_query::chat_type
+
+

Optional. Type of the chat from which the inline query was sent

+ +
+
+ +

◆ from

+ +
+
+ + + + +
struct telebot_user* telebot_inline_query::from
+
+

Sender

+ +
+
+ +

◆ id

+ +
+
+ + + + +
char* telebot_inline_query::id
+
+

Unique identifier for this query

+ +
+
+ +

◆ location

+ +
+
+ + + + +
struct telebot_location* telebot_inline_query::location
+
+

Optional. Sender location, only for bots that request user location

+ +
+
+ +

◆ offset

+ +
+
+ + + + +
char* telebot_inline_query::offset
+
+

Offset of the results to be returned, can be controlled by the bot

+ +
+
+ +

◆ query

+ +
+
+ + + + +
char* telebot_inline_query::query
+
+

Text of the query (up to 256 characters)

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__invoice-members.html b/docs/structtelebot__invoice-members.html new file mode 100644 index 0000000..1024015 --- /dev/null +++ b/docs/structtelebot__invoice-members.html @@ -0,0 +1,90 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_invoice Member List
+
+ + + + + diff --git a/docs/structtelebot__invoice.html b/docs/structtelebot__invoice.html new file mode 100644 index 0000000..7f6b3ec --- /dev/null +++ b/docs/structtelebot__invoice.html @@ -0,0 +1,185 @@ + + + + + + + +Telebot: telebot_invoice Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_invoice Struct Reference
+
+
+ +

This object contains basic information about an invoice. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + + + + + +

+Public Attributes

char * title
 
char * description
 
char * start_parameter
 
char * currency
 
int total_amount
 
+

Detailed Description

+

This object contains basic information about an invoice.

+

Member Data Documentation

+ +

◆ currency

+ +
+
+ + + + +
char* telebot_invoice::currency
+
+

Three-letter ISO 4217 currency code

+ +
+
+ +

◆ description

+ +
+
+ + + + +
char* telebot_invoice::description
+
+

Product description

+ +
+
+ +

◆ start_parameter

+ +
+
+ + + + +
char* telebot_invoice::start_parameter
+
+

Unique bot deep-linking parameter that can be used to generate this invoice

+ +
+
+ +

◆ title

+ +
+
+ + + + +
char* telebot_invoice::title
+
+

Product name

+ +
+
+ +

◆ total_amount

+ +
+
+ + + + +
int telebot_invoice::total_amount
+
+

Total amount in the smallest units of the currency (integer, not float/double).

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__keyboard__button-members.html b/docs/structtelebot__keyboard__button-members.html index 341a128..f552d15 100644 --- a/docs/structtelebot__keyboard__button-members.html +++ b/docs/structtelebot__keyboard__button-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,30 +56,37 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+

-
-
telebot_keyboard_button Member List
+
telebot_keyboard_button Member List
diff --git a/docs/structtelebot__keyboard__button.html b/docs/structtelebot__keyboard__button.html index 69e3ec4..43f61c8 100644 --- a/docs/structtelebot__keyboard__button.html +++ b/docs/structtelebot__keyboard__button.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_keyboard_button Struct Reference @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,9 +56,16 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
@@ -63,8 +73,7 @@ -
-
telebot_keyboard_button Struct Reference
+
telebot_keyboard_button Struct Reference
@@ -73,22 +82,43 @@

#include <telebot-types.h>

- - + - + + + + + - + - + + +

+

Public Attributes

char * text
char * text
 
bool request_contact
struct telebot_keyboard_button_request_usersrequest_users
 
struct telebot_keyboard_button_request_chatrequest_chat
 
bool request_contact
 
bool request_location
bool request_location
 
telebot_keyboard_button_poll_type_trequest_poll
telebot_keyboard_button_poll_type_trequest_poll
 
struct telebot_web_app_infoweb_app
 

Detailed Description

This object represents one button of the reply keyboard. For simple text buttons String can be used instead of this object to specify text of the button. Optional fields request_contact, request_location, and request_poll are mutually exclusive.

Member Data Documentation

- -

◆ request_contact

+ +

◆ request_chat

+ +
+
+ + + + +
struct telebot_keyboard_button_request_chat* telebot_keyboard_button::request_chat
+
+

Optional. If specified, pressing the button will open a list of suitable chats. Tapping on a chat will send its identifier to the bot in a "chat_shared" service message. Available in private chats only.

+ +
+
+ +

◆ request_contact

@@ -102,8 +132,8 @@

-

◆ request_location

+ +

◆ request_location

@@ -117,14 +147,14 @@

-

◆ request_poll

+ +

◆ request_poll

- +
telebot_keyboard_button_poll_type_t* telebot_keyboard_button::request_polltelebot_keyboard_button_poll_type_t* telebot_keyboard_button::request_poll
@@ -132,8 +162,23 @@

-

◆ text

+ +

◆ request_users

+ +
+
+ + + + +
struct telebot_keyboard_button_request_users* telebot_keyboard_button::request_users
+
+

Optional. If specified, pressing the button will open a list of suitable users. Identifiers of selected users will be sent to the bot in a "users_shared" service message. Available in private chats only.

+ +
+
+ +

◆ text

+ +

◆ web_app

+ +
+
+ + + + +
struct telebot_web_app_info* telebot_keyboard_button::web_app
+
+

Optional. If specified, the described Web App will be launched when the button is pressed. The Web App will be able to send a "web_app_data" service message. Available in private chats only.

+

The documentation for this struct was generated from the following file:
    @@ -153,9 +213,7 @@

    diff --git a/docs/structtelebot__keyboard__button__poll__type-members.html b/docs/structtelebot__keyboard__button__poll__type-members.html index 49d1679..2dba2a1 100644 --- a/docs/structtelebot__keyboard__button__poll__type-members.html +++ b/docs/structtelebot__keyboard__button__poll__type-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,15 +56,21 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +

-
-
telebot_keyboard_button_poll_type Member List
+
telebot_keyboard_button_poll_type Member List
@@ -71,9 +80,7 @@
diff --git a/docs/structtelebot__keyboard__button__poll__type.html b/docs/structtelebot__keyboard__button__poll__type.html index 3f9adc1..5aa4d9e 100644 --- a/docs/structtelebot__keyboard__button__poll__type.html +++ b/docs/structtelebot__keyboard__button__poll__type.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_keyboard_button_poll_type Struct Reference @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,9 +56,16 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
@@ -63,8 +73,7 @@ -
-
telebot_keyboard_button_poll_type Struct Reference
+
telebot_keyboard_button_poll_type Struct Reference

@@ -73,16 +82,16 @@

#include <telebot-types.h>

- - +

+

Public Attributes

char * type
char * type
 

Detailed Description

This object represents type of a poll, which is allowed to be created and sent when the corresponding button is pressed.

Member Data Documentation

- -

◆ type

+ +

◆ type

@@ -102,9 +111,7 @@

diff --git a/docs/structtelebot__keyboard__button__request__chat-members.html b/docs/structtelebot__keyboard__button__request__chat-members.html new file mode 100644 index 0000000..d5a722b --- /dev/null +++ b/docs/structtelebot__keyboard__button__request__chat-members.html @@ -0,0 +1,96 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_keyboard_button_request_chat Member List
+
+ + + + + diff --git a/docs/structtelebot__keyboard__button__request__chat.html b/docs/structtelebot__keyboard__button__request__chat.html new file mode 100644 index 0000000..c7cf3f5 --- /dev/null +++ b/docs/structtelebot__keyboard__button__request__chat.html @@ -0,0 +1,287 @@ + + + + + + + +Telebot: telebot_keyboard_button_request_chat Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_keyboard_button_request_chat Struct Reference
+
+
+ +

This object defines the criteria used to request a suitable chat. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

int request_id
 
bool chat_is_channel
 
bool chat_is_forum
 
bool chat_has_username
 
bool chat_is_created
 
struct telebot_chat_administrator_rights * user_administrator_rights
 
struct telebot_chat_administrator_rights * bot_administrator_rights
 
bool bot_is_member
 
bool request_title
 
bool request_username
 
bool request_photo
 
+

Detailed Description

+

This object defines the criteria used to request a suitable chat.

+

Member Data Documentation

+ +

◆ bot_administrator_rights

+ +
+
+ + + + +
struct telebot_chat_administrator_rights* telebot_keyboard_button_request_chat::bot_administrator_rights
+
+

Optional. A JSON-serialized object listing the required administrator rights of the bot in the chat.

+ +
+
+ +

◆ bot_is_member

+ +
+
+ + + + +
bool telebot_keyboard_button_request_chat::bot_is_member
+
+

Optional. Pass True to request a chat with the bot as a member.

+ +
+
+ +

◆ chat_has_username

+ +
+
+ + + + +
bool telebot_keyboard_button_request_chat::chat_has_username
+
+

Optional. Pass True to request a supergroup or a channel with a username, pass False to request a chat without a username.

+ +
+
+ +

◆ chat_is_channel

+ +
+
+ + + + +
bool telebot_keyboard_button_request_chat::chat_is_channel
+
+

Pass True to request a channel chat, pass False to request a group or a supergroup chat.

+ +
+
+ +

◆ chat_is_created

+ +
+
+ + + + +
bool telebot_keyboard_button_request_chat::chat_is_created
+
+

Optional. Pass True to request a chat owned by the user.

+ +
+
+ +

◆ chat_is_forum

+ +
+
+ + + + +
bool telebot_keyboard_button_request_chat::chat_is_forum
+
+

Optional. Pass True to request a forum supergroup, pass False to request a non-forum chat.

+ +
+
+ +

◆ request_id

+ +
+
+ + + + +
int telebot_keyboard_button_request_chat::request_id
+
+

Identifier of the request

+ +
+
+ +

◆ request_photo

+ +
+
+ + + + +
bool telebot_keyboard_button_request_chat::request_photo
+
+

Optional. Pass True to request the chat's photo

+ +
+
+ +

◆ request_title

+ +
+
+ + + + +
bool telebot_keyboard_button_request_chat::request_title
+
+

Optional. Pass True to request the chat's title

+ +
+
+ +

◆ request_username

+ +
+
+ + + + +
bool telebot_keyboard_button_request_chat::request_username
+
+

Optional. Pass True to request the chat's username

+ +
+
+ +

◆ user_administrator_rights

+ +
+
+ + + + +
struct telebot_chat_administrator_rights* telebot_keyboard_button_request_chat::user_administrator_rights
+
+

Optional. A JSON-serialized object listing the required administrator rights of the user in the chat.

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__keyboard__button__request__users-members.html b/docs/structtelebot__keyboard__button__request__users-members.html new file mode 100644 index 0000000..e89cb5f --- /dev/null +++ b/docs/structtelebot__keyboard__button__request__users-members.html @@ -0,0 +1,92 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_keyboard_button_request_users Member List
+
+ + + + + diff --git a/docs/structtelebot__keyboard__button__request__users.html b/docs/structtelebot__keyboard__button__request__users.html new file mode 100644 index 0000000..99c13f8 --- /dev/null +++ b/docs/structtelebot__keyboard__button__request__users.html @@ -0,0 +1,219 @@ + + + + + + + +Telebot: telebot_keyboard_button_request_users Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_keyboard_button_request_users Struct Reference
+
+
+ +

This object defines the criteria used to request suitable users. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + + + + + + + + + +

+Public Attributes

int request_id
 
bool user_is_bot
 
bool user_is_premium
 
int max_quantity
 
bool request_name
 
bool request_username
 
bool request_photo
 
+

Detailed Description

+

This object defines the criteria used to request suitable users.

+

Member Data Documentation

+ +

◆ max_quantity

+ +
+
+ + + + +
int telebot_keyboard_button_request_users::max_quantity
+
+

Optional. The maximum number of users to be selected; 1-10.

+ +
+
+ +

◆ request_id

+ +
+
+ + + + +
int telebot_keyboard_button_request_users::request_id
+
+

Identifier of the request

+ +
+
+ +

◆ request_name

+ +
+
+ + + + +
bool telebot_keyboard_button_request_users::request_name
+
+

Optional. Pass True to request the users' first and last names

+ +
+
+ +

◆ request_photo

+ +
+
+ + + + +
bool telebot_keyboard_button_request_users::request_photo
+
+

Optional. Pass True to request the users' photos

+ +
+
+ +

◆ request_username

+ +
+
+ + + + +
bool telebot_keyboard_button_request_users::request_username
+
+

Optional. Pass True to request the users' usernames

+ +
+
+ +

◆ user_is_bot

+ +
+
+ + + + +
bool telebot_keyboard_button_request_users::user_is_bot
+
+

Optional. Pass True to request bots, pass False to request regular users.

+ +
+
+ +

◆ user_is_premium

+ +
+
+ + + + +
bool telebot_keyboard_button_request_users::user_is_premium
+
+

Optional. Pass True to request premium users, pass False to request non-premium users.

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__link__preview__options-members.html b/docs/structtelebot__link__preview__options-members.html new file mode 100644 index 0000000..b3c9f9f --- /dev/null +++ b/docs/structtelebot__link__preview__options-members.html @@ -0,0 +1,90 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_link_preview_options Member List
+
+ + + + + diff --git a/docs/structtelebot__link__preview__options.html b/docs/structtelebot__link__preview__options.html new file mode 100644 index 0000000..e882c7f --- /dev/null +++ b/docs/structtelebot__link__preview__options.html @@ -0,0 +1,185 @@ + + + + + + + +Telebot: telebot_link_preview_options Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_link_preview_options Struct Reference
+
+
+ +

Describes the options used for link preview generation. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + + + + + +

+Public Attributes

bool is_disabled
 
char * url
 
bool prefer_small_media
 
bool prefer_large_media
 
bool show_above_text
 
+

Detailed Description

+

Describes the options used for link preview generation.

+

Member Data Documentation

+ +

◆ is_disabled

+ +
+
+ + + + +
bool telebot_link_preview_options::is_disabled
+
+

Optional. True, if the link preview is disabled

+ +
+
+ +

◆ prefer_large_media

+ +
+
+ + + + +
bool telebot_link_preview_options::prefer_large_media
+
+

Optional. True, if the media in the link preview is supposed to be enlarged

+ +
+
+ +

◆ prefer_small_media

+ +
+
+ + + + +
bool telebot_link_preview_options::prefer_small_media
+
+

Optional. True, if the media in the link preview is supposed to be shrunk

+ +
+
+ +

◆ show_above_text

+ +
+
+ + + + +
bool telebot_link_preview_options::show_above_text
+
+

Optional. True, if the link preview must be shown above the message text

+ +
+
+ +

◆ url

+ +
+
+ + + + +
char* telebot_link_preview_options::url
+
+

Optional. URL to use for the link preview.

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__location-members.html b/docs/structtelebot__location-members.html index 5c8e923..65b9b63 100644 --- a/docs/structtelebot__location-members.html +++ b/docs/structtelebot__location-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,28 +56,32 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+

-
-
telebot_location Member List
+
telebot_location Member List

This is the complete list of members for telebot_location, including all inherited members.

- +
latitudetelebot_location
longitudetelebot_location
longitudetelebot_location
diff --git a/docs/structtelebot__location.html b/docs/structtelebot__location.html index bcd0fbb..c9d1956 100644 --- a/docs/structtelebot__location.html +++ b/docs/structtelebot__location.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_location Struct Reference @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,9 +56,16 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
@@ -63,8 +73,7 @@ -
-
telebot_location Struct Reference
+
telebot_location Struct Reference
@@ -73,18 +82,18 @@

#include <telebot-types.h>

- - + - +

+

Public Attributes

float longitude
float longitude
 
float latitude
float latitude
 

Detailed Description

This object represents a point on the map.

Member Data Documentation

- -

◆ latitude

+ +

◆ latitude

@@ -98,8 +107,8 @@

-

◆ longitude

+ +

◆ longitude

@@ -119,9 +128,7 @@

diff --git a/docs/structtelebot__login__url-members.html b/docs/structtelebot__login__url-members.html new file mode 100644 index 0000000..d181592 --- /dev/null +++ b/docs/structtelebot__login__url-members.html @@ -0,0 +1,89 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
telebot_login_url Member List
+
+
+ +

This is the complete list of members for telebot_login_url, including all inherited members.

+ + + + + +
bot_usernametelebot_login_url
forward_texttelebot_login_url
request_write_accesstelebot_login_url
urltelebot_login_url
+ + + + diff --git a/docs/structtelebot__login__url.html b/docs/structtelebot__login__url.html new file mode 100644 index 0000000..3add301 --- /dev/null +++ b/docs/structtelebot__login__url.html @@ -0,0 +1,168 @@ + + + + + + + +Telebot: telebot_login_url Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
Telebot 9.4 +
+
Library for Telegram bot API
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+ +
telebot_login_url Struct Reference
+
+
+ +

This object represents a parameter of the inline keyboard button used to automatically authorize a user. + More...

+ +

#include <telebot-types.h>

+ + + + + + + + + + +

+Public Attributes

char * url
 
char * forward_text
 
char * bot_username
 
bool request_write_access
 
+

Detailed Description

+

This object represents a parameter of the inline keyboard button used to automatically authorize a user.

+

Member Data Documentation

+ +

◆ bot_username

+ +
+
+ + + + +
char* telebot_login_url::bot_username
+
+

Optional. Username of a bot, which will be used for user authorization.

+ +
+
+ +

◆ forward_text

+ +
+
+ + + + +
char* telebot_login_url::forward_text
+
+

Optional. New text of the button in forwarded messages.

+ +
+
+ +

◆ request_write_access

+ +
+
+ + + + +
bool telebot_login_url::request_write_access
+
+

Optional. Pass True to request the permission for your bot to send messages to the user.

+ +
+
+ +

◆ url

+ +
+
+ + + + +
char* telebot_login_url::url
+
+

An HTTPS URL used to automatically authorize the user.

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/structtelebot__mask__position-members.html b/docs/structtelebot__mask__position-members.html index 43beef8..98d1d99 100644 --- a/docs/structtelebot__mask__position-members.html +++ b/docs/structtelebot__mask__position-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,30 +56,34 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+

-
-
telebot_mask_position Member List
+
telebot_mask_position Member List
diff --git a/docs/structtelebot__mask__position.html b/docs/structtelebot__mask__position.html index 25d8c6b..271f774 100644 --- a/docs/structtelebot__mask__position.html +++ b/docs/structtelebot__mask__position.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_mask_position Struct Reference @@ -19,10 +19,9 @@
- - + @@ -31,17 +30,21 @@
-
Telebot -  4.7.0 +
+
Telebot 9.4
Library for Telegram bot API
- + @@ -53,9 +56,16 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
@@ -63,32 +73,31 @@ -
-
telebot_mask_position Struct Reference
+
telebot_mask_position Struct Reference

This object describes the position on faces where a mask should be placed by default. More...

-

#include <telebot-stickers.h>

+

#include <telebot-types.h>

- - + - + - + - +

+

Public Attributes

char * point
char * point
 
float x_shift
float x_shift
 
float y_shift
float y_shift
 
float scale
float scale
 

Detailed Description

This object describes the position on faces where a mask should be placed by default.

Member Data Documentation

- -

◆ point

+ +

◆ point

@@ -102,8 +111,8 @@

-

◆ scale

+ +

◆ scale

@@ -117,8 +126,8 @@

-

◆ x_shift

+ +

◆ x_shift

@@ -132,8 +141,8 @@

-

◆ y_shift

+ +

◆ y_shift

@@ -148,14 +157,12 @@

telebot-stickers.h +
  • include/telebot-types.h
  • diff --git a/docs/structtelebot__message-members.html b/docs/structtelebot__message-members.html index 6d41ca4..6c75128 100644 --- a/docs/structtelebot__message-members.html +++ b/docs/structtelebot__message-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,80 +56,126 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    telebot_message Member List
    +
    telebot_message Member List

    This is the complete list of members for telebot_message, including all inherited members.

    - + - + + + - + - + + + - + - + - + - + - + - - - + + + + + + + + + - + - - - - - + + + + + + + + + + + + + - + + + + + - - - + + + + + - + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + +
    animationtelebot_message
    audiotelebot_message
    audiotelebot_message
    author_signaturetelebot_message
    captiontelebot_message
    boost_addedtelebot_message
    business_connection_idtelebot_message
    captiontelebot_message
    caption_entitiestelebot_message
    channel_chat_createdtelebot_message
    channel_chat_createdtelebot_message
    chattelebot_message
    connected_websitetelebot_message
    chat_background_settelebot_message
    chat_sharedtelebot_message
    connected_websitetelebot_message
    contacttelebot_message
    count_caption_entities (defined in telebot_message)telebot_message
    count_caption_entities (defined in telebot_message)telebot_message
    count_entities (defined in telebot_message)telebot_message
    count_left_chat_members (defined in telebot_message)telebot_message
    count_left_chat_members (defined in telebot_message)telebot_message
    count_new_chat_members (defined in telebot_message)telebot_message
    count_new_chat_photos (defined in telebot_message)telebot_message
    count_new_chat_photos (defined in telebot_message)telebot_message
    count_photos (defined in telebot_message)telebot_message
    datetelebot_message
    datetelebot_message
    delete_chat_phototelebot_message
    dicetelebot_message
    dicetelebot_message
    documenttelebot_message
    edit_datetelebot_message
    entitiestelebot_message
    forward_datetelebot_message
    edit_datetelebot_message
    effect_idtelebot_message
    entitiestelebot_message
    external_replytelebot_message
    forum_topic_closedtelebot_message
    forum_topic_createdtelebot_message
    forum_topic_editedtelebot_message
    forum_topic_reopenedtelebot_message
    forward_datetelebot_message
    forward_fromtelebot_message
    forward_from_chattelebot_message
    forward_from_chattelebot_message
    forward_from_message_idtelebot_message
    forward_sender_nametelebot_message
    forward_signaturetelebot_message
    fromtelebot_message
    gametelebot_message
    group_chat_createdtelebot_message
    forward_origintelebot_message
    forward_sender_nametelebot_message
    forward_signaturetelebot_message
    fromtelebot_message
    gametelebot_message
    general_forum_topic_hiddentelebot_message
    general_forum_topic_unhiddentelebot_message
    gifttelebot_message
    giveaway_completedtelebot_message
    giveaway_createdtelebot_message
    group_chat_createdtelebot_message
    has_media_spoilertelebot_message
    has_protected_contenttelebot_message
    invoicetelebot_message
    left_chat_memberstelebot_message
    is_automatic_forwardtelebot_message
    is_paid_posttelebot_message
    is_topic_messagetelebot_message
    left_chat_memberstelebot_message
    link_preview_optionstelebot_message
    locationtelebot_message
    media_group_idtelebot_message
    message_idtelebot_message
    migrate_from_chat_idtelebot_message
    media_group_idtelebot_message
    message_auto_delete_timer_changedtelebot_message
    message_idtelebot_message
    message_thread_idtelebot_message
    migrate_from_chat_idtelebot_message
    migrate_to_chat_idtelebot_message
    new_chat_memberstelebot_message
    new_chat_memberstelebot_message
    new_chat_photostelebot_message
    new_chat_titletelebot_message
    passport_datatelebot_message
    photostelebot_message
    pinned_messagetelebot_message
    polltelebot_message
    reply_markuptelebot_message
    reply_to_messagetelebot_message
    stickertelebot_message
    successful_paymenttelebot_message
    supergroup_chat_createdtelebot_message
    texttelebot_message
    venuetelebot_message
    videotelebot_message
    new_chat_titletelebot_message
    paid_mediatelebot_message
    passport_datatelebot_message
    photostelebot_message
    pinned_messagetelebot_message
    polltelebot_message
    proximity_alert_triggeredtelebot_message
    quotetelebot_message
    refunded_paymenttelebot_message
    reply_markuptelebot_message
    reply_to_messagetelebot_message
    reply_to_storytelebot_message
    sender_boost_counttelebot_message
    sender_business_bottelebot_message
    sender_chattelebot_message
    show_caption_above_mediatelebot_message
    stickertelebot_message
    successful_paymenttelebot_message
    supergroup_chat_createdtelebot_message
    texttelebot_message
    unique_gifttelebot_message
    users_sharedtelebot_message
    venuetelebot_message
    via_bottelebot_message
    videotelebot_message
    video_chat_endedtelebot_message
    video_chat_participants_invitedtelebot_message
    video_chat_scheduledtelebot_message
    video_chat_startedtelebot_message
    video_notetelebot_message
    voicetelebot_message
    voicetelebot_message
    web_app_datatelebot_message
    write_access_allowedtelebot_message
    diff --git a/docs/structtelebot__message.html b/docs/structtelebot__message.html index cece780..0ce65fa 100644 --- a/docs/structtelebot__message.html +++ b/docs/structtelebot__message.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_message Struct Reference @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,9 +56,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +

    @@ -63,8 +73,7 @@ -
    -
    telebot_message Struct Reference
    +
    telebot_message Struct Reference
    @@ -73,128 +82,212 @@

    #include <telebot-types.h>

    - - + - + + + - + + + + + + + + + - + - + + + - + - + - + - + - + - + + + + + - + + + + + + + + + - + + + + + - + - + - + - - - - - - + + + + + + + - + - - - - - + + + - - + - + - - - + - + + + - + + + + + + + - - - - - - - + - + + + + + + + + + - - + - - + - + - - + - + - + - + - + + + - + - + - + - + - + + + + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +

    Public Attributes

    int message_id
    int message_id
     
    struct telebot_userfrom
    int message_thread_id
     
    struct telebot_userfrom
     
    long date
    struct telebot_chatsender_chat
     
    int sender_boost_count
     
    struct telebot_usersender_business_bot
     
    char * business_connection_id
     
    long date
     
    struct telebot_chatchat
    struct telebot_chatchat
     
    struct telebot_userforward_from
    struct telebot_message_originforward_origin
     
    struct telebot_userforward_from
     
    struct telebot_chatforward_from_chat
    struct telebot_chatforward_from_chat
     
    int forward_from_message_id
    int forward_from_message_id
     
    char * forward_signature
    char * forward_signature
     
    char * forward_sender_name
    char * forward_sender_name
     
    long forward_date
    long forward_date
     
    struct telebot_messagereply_to_message
    bool is_topic_message
     
    bool is_automatic_forward
     
    struct telebot_messagereply_to_message
     
    long edit_date
    struct telebot_external_reply_infoexternal_reply
     
    struct telebot_text_quotequote
     
    struct telebot_storyreply_to_story
     
    struct telebot_uservia_bot
     
    long edit_date
     
    char * media_group_id
    bool has_protected_content
     
    bool is_paid_post
     
    char * media_group_id
     
    char * author_signature
    char * author_signature
     
    char * text
    char * text
     
    struct telebot_message_entityentities
    struct telebot_message_entityentities
     
    +
    int count_entities
     
    struct telebot_message_entitycaption_entities
     
    -int count_caption_entities
     
    struct telebot_audioaudio
    struct telebot_link_preview_optionslink_preview_options
     
    char * effect_id
     
    struct telebot_animationanimation
     
    struct telebot_audioaudio
     
    struct telebot_documentdocument
    struct telebot_documentdocument
     
    struct telebot_animationanimation
     
    struct telebot_game * game
     
    struct telebot_photophotos
    struct telebot_paid_media_infopaid_media
     
    struct telebot_photophotos
     
    +
    int count_photos
     
    struct telebot_stickersticker
    struct telebot_stickersticker
     
    struct telebot_videovideo
    struct telebot_videovideo
     
    struct telebot_voicevoice
     
    struct telebot_video_notevideo_note
    struct telebot_video_notevideo_note
     
    char * caption
    struct telebot_voicevoice
     
    char * caption
     
    struct telebot_contactcontact
    struct telebot_message_entitycaption_entities
     
    +int count_caption_entities
     
    bool show_caption_above_media
     
    struct telebot_contactcontact
     
    struct telebot_locationlocation
     
    struct telebot_venuevenue
     
    struct telebot_pollpoll
     
    struct telebot_dicedice
    struct telebot_dicedice
     
    struct telebot_usernew_chat_members
    struct telebot_gamegame
     
    struct telebot_pollpoll
     
    struct telebot_venuevenue
     
    struct telebot_locationlocation
     
    struct telebot_usernew_chat_members
     
    +
    int count_new_chat_members
     
    struct telebot_userleft_chat_members
    struct telebot_userleft_chat_members
     
    +
    int count_left_chat_members
     
    char * new_chat_title
    char * new_chat_title
     
    struct telebot_photonew_chat_photos
    struct telebot_photonew_chat_photos
     
    +
    int count_new_chat_photos
     
    bool delete_chat_photo
    bool delete_chat_photo
     
    bool group_chat_created
    bool group_chat_created
     
    bool supergroup_chat_created
    bool supergroup_chat_created
     
    bool channel_chat_created
    bool channel_chat_created
     
    long long int migrate_to_chat_id
    struct telebot_message_auto_delete_timer_changedmessage_auto_delete_timer_changed
     
    long long int migrate_to_chat_id
     
    long long int migrate_from_chat_id
    long long int migrate_from_chat_id
     
    struct telebot_messagepinned_message
    struct telebot_messagepinned_message
     
    struct telebot_invoice * invoice
    struct telebot_invoiceinvoice
     
    struct telebot_successful_payment * successful_payment
    struct telebot_successful_paymentsuccessful_payment
     
    char * connected_website
    struct telebot_refunded_paymentrefunded_payment
     
    struct telebot_write_access_allowedwrite_access_allowed
     
    char * connected_website
     
    struct telebot_passport_data * passport_data
    struct telebot_passport_datapassport_data
     
    struct inline_keyboard_markup * reply_markup
     
    struct telebot_proximity_alert_triggeredproximity_alert_triggered
     
    struct telebot_forum_topic_createdforum_topic_created
     
    struct telebot_forum_topic_editedforum_topic_edited
     
    struct telebot_forum_topic_closedforum_topic_closed
     
    struct telebot_forum_topic_reopenedforum_topic_reopened
     
    struct telebot_general_forum_topic_hiddengeneral_forum_topic_hidden
     
    struct telebot_general_forum_topic_unhiddengeneral_forum_topic_unhidden
     
    struct telebot_video_chat_scheduledvideo_chat_scheduled
     
    struct telebot_video_chat_startedvideo_chat_started
     
    struct telebot_video_chat_endedvideo_chat_ended
     
    struct telebot_video_chat_participants_invitedvideo_chat_participants_invited
     
    struct telebot_web_app_dataweb_app_data
     
    struct telebot_users_sharedusers_shared
     
    struct telebot_chat_sharedchat_shared
     
    struct telebot_gift_infogift
     
    struct telebot_unique_gift_infounique_gift
     
    struct telebot_chat_boost_addedboost_added
     
    struct telebot_chat_backgroundchat_background_set
     
    struct telebot_giveaway_createdgiveaway_created
     
    struct telebot_giveaway_completedgiveaway_completed
     
    bool has_media_spoiler
     
    struct telebot_inline_keyboard_markupreply_markup
     

    Detailed Description

    This object represents a message.

    Member Data Documentation

    - -

    ◆ animation

    + +

    ◆ animation

    - -

    ◆ audio

    + +

    ◆ audio

    @@ -223,8 +316,8 @@

    -

    ◆ author_signature

    + +

    ◆ author_signature

    @@ -238,8 +331,38 @@

    -

    ◆ caption

    + +

    ◆ boost_added

    + +
    +
    + + + + +
    struct telebot_chat_boost_added* telebot_message::boost_added
    +
    +

    Optional. Service message: user boosted the chat

    + +
    +
    + +

    ◆ business_connection_id

    + +
    +
    + + + + +
    char* telebot_message::business_connection_id
    +
    +

    Optional. Unique identifier of the business connection

    + +
    +
    + +

    ◆ caption

    @@ -253,8 +376,8 @@

    -

    ◆ caption_entities

    + +

    ◆ caption_entities

    @@ -268,8 +391,8 @@

    -

    ◆ channel_chat_created

    + +

    ◆ channel_chat_created

    @@ -283,8 +406,8 @@

    -

    ◆ chat

    + +

    ◆ chat

    @@ -298,8 +421,38 @@

    -

    ◆ connected_website

    + +

    ◆ chat_background_set

    + +
    +
    + + + + +
    struct telebot_chat_background* telebot_message::chat_background_set
    +
    +

    Optional. Service message: chat background set

    + +
    +
    + +

    ◆ chat_shared

    + +
    +
    + + + + +
    struct telebot_chat_shared* telebot_message::chat_shared
    +
    +

    Optional. Service message: a chat was shared with the bot

    + +
    +
    + +

    ◆ connected_website

    @@ -313,8 +466,8 @@

    -

    ◆ contact

    + +

    ◆ contact

    @@ -328,8 +481,8 @@

    -

    ◆ date

    + +

    ◆ date

    @@ -343,8 +496,8 @@

    -

    ◆ delete_chat_photo

    + +

    ◆ delete_chat_photo

    @@ -358,8 +511,8 @@

    -

    ◆ dice

    + +

    ◆ dice

    @@ -373,8 +526,8 @@

    -

    ◆ document

    + +

    ◆ document

    @@ -388,8 +541,8 @@

    -

    ◆ edit_date

    + +

    ◆ edit_date

    @@ -403,8 +556,23 @@

    -

    ◆ entities

    + +

    ◆ effect_id

    + +
    +
    + + + + +
    char* telebot_message::effect_id
    +
    +

    Optional. Unique identifier of the message effect added to the message

    + +
    +
    + +

    ◆ entities

    @@ -418,8 +586,83 @@

    -

    ◆ forward_date

    + +

    ◆ external_reply

    + +
    +
    + + + + +
    struct telebot_external_reply_info* telebot_message::external_reply
    +
    +

    Optional. Information about the message that is being replied to

    + +
    +
    + +

    ◆ forum_topic_closed

    + +
    +
    + + + + +
    struct telebot_forum_topic_closed* telebot_message::forum_topic_closed
    +
    +

    Optional. Service message: forum topic closed.

    + +
    +
    + +

    ◆ forum_topic_created

    + +
    +
    + + + + +
    struct telebot_forum_topic_created* telebot_message::forum_topic_created
    +
    +

    Optional. Service message: forum topic created.

    + +
    +
    + +

    ◆ forum_topic_edited

    + +
    +
    + + + + +
    struct telebot_forum_topic_edited* telebot_message::forum_topic_edited
    +
    +

    Optional. Service message: forum topic edited.

    + +
    +
    + +

    ◆ forum_topic_reopened

    + +
    +
    + + + + +
    struct telebot_forum_topic_reopened* telebot_message::forum_topic_reopened
    +
    +

    Optional. Service message: forum topic reopened.

    + +
    +
    + +

    ◆ forward_date

    @@ -433,8 +676,8 @@

    -

    ◆ forward_from

    + +

    ◆ forward_from

    @@ -448,8 +691,8 @@

    -

    ◆ forward_from_chat

    + +

    ◆ forward_from_chat

    @@ -463,8 +706,8 @@

    -

    ◆ forward_from_message_id

    + +

    ◆ forward_from_message_id

    @@ -478,8 +721,23 @@

    -

    ◆ forward_sender_name

    + +

    ◆ forward_origin

    + +
    +
    + + + + +
    struct telebot_message_origin* telebot_message::forward_origin
    +
    +

    Optional. Information about the original message for forwarded messages

    + +
    +
    + +

    ◆ forward_sender_name

    @@ -493,8 +751,8 @@

    -

    ◆ forward_signature

    + +

    ◆ forward_signature

    @@ -508,8 +766,8 @@

    -

    ◆ from

    + +

    ◆ from

    @@ -523,14 +781,14 @@

    -

    ◆ game

    + +

    ◆ game

    - +
    struct telebot_game* telebot_message::gamestruct telebot_game* telebot_message::game
    @@ -538,8 +796,83 @@

    -

    ◆ group_chat_created

    + +

    ◆ general_forum_topic_hidden

    + +
    +
    + + + + +
    struct telebot_general_forum_topic_hidden* telebot_message::general_forum_topic_hidden
    +
    +

    Optional. Service message: general forum topic hidden.

    + +
    +
    + +

    ◆ general_forum_topic_unhidden

    + +
    +
    + + + + +
    struct telebot_general_forum_topic_unhidden* telebot_message::general_forum_topic_unhidden
    +
    +

    Optional. Service message: general forum topic unhidden.

    + +
    +
    + +

    ◆ gift

    + +
    +
    + + + + +
    struct telebot_gift_info* telebot_message::gift
    +
    +

    Optional. Service message: a regular gift was sent or received

    + +
    +
    + +

    ◆ giveaway_completed

    + +
    +
    + + + + +
    struct telebot_giveaway_completed* telebot_message::giveaway_completed
    +
    +

    Optional. Service message: giveaway completed

    + +
    +
    + +

    ◆ giveaway_created

    + +
    +
    + + + + +
    struct telebot_giveaway_created* telebot_message::giveaway_created
    +
    +

    Optional. Service message: giveaway created

    + +
    +
    + +

    ◆ group_chat_created

    @@ -553,14 +886,44 @@

    -

    ◆ invoice

    + +

    ◆ has_media_spoiler

    + +
    +
    + + + + +
    bool telebot_message::has_media_spoiler
    +
    +

    Optional. True, if the message media is covered by a spoiler animation

    + +
    +
    + +

    ◆ has_protected_content

    + +
    +
    + + + + +
    bool telebot_message::has_protected_content
    +
    +

    Optional. True, if the message can't be forwarded

    + +
    +
    + +

    ◆ invoice

    - +
    struct telebot_invoice* telebot_message::invoicestruct telebot_invoice* telebot_message::invoice
    @@ -568,8 +931,53 @@

    -

    ◆ left_chat_members

    + +

    ◆ is_automatic_forward

    + +
    +
    + + + + +
    bool telebot_message::is_automatic_forward
    +
    +

    Optional. True, if the message is a channel post that was automatically forwarded to the connected discussion group

    + +
    +
    + +

    ◆ is_paid_post

    + +
    +
    + + + + +
    bool telebot_message::is_paid_post
    +
    +

    Optional. True, if the message is a paid post

    + +
    +
    + +

    ◆ is_topic_message

    + +
    +
    + + + + +
    bool telebot_message::is_topic_message
    +
    +

    Optional. True, if the message is sent to a forum topic

    + +
    +
    + +

    ◆ left_chat_members

    @@ -583,8 +991,23 @@

    -

    ◆ location

    + +

    ◆ link_preview_options

    + +
    +
    + + + + +
    struct telebot_link_preview_options* telebot_message::link_preview_options
    +
    +

    Optional. Options used for link preview generation for the message

    + +
    +
    + +

    ◆ location

    @@ -598,8 +1021,8 @@

    -

    ◆ media_group_id

    + +

    ◆ media_group_id

    @@ -613,8 +1036,23 @@

    -

    ◆ message_id

    + +

    ◆ message_auto_delete_timer_changed

    + +
    +
    + + + + +
    struct telebot_message_auto_delete_timer_changed* telebot_message::message_auto_delete_timer_changed
    +
    +

    Optional. Service message: auto-delete timer settings changed in the chat

    + +
    +
    + +

    ◆ message_id

    @@ -628,8 +1066,23 @@

    -

    ◆ migrate_from_chat_id

    + +

    ◆ message_thread_id

    + +
    +
    + + + + +
    int telebot_message::message_thread_id
    +
    +

    Unique identifier of a message thread to which the message belongs; for supergroups only

    + +
    +
    + +

    ◆ migrate_from_chat_id

    @@ -643,8 +1096,8 @@

    -

    ◆ migrate_to_chat_id

    + +

    ◆ migrate_to_chat_id

    @@ -658,8 +1111,8 @@

    -

    ◆ new_chat_members

    + +

    ◆ new_chat_members

    @@ -673,8 +1126,8 @@

    -

    ◆ new_chat_photos

    + +

    ◆ new_chat_photos

    @@ -688,8 +1141,8 @@

    -

    ◆ new_chat_title

    + +

    ◆ new_chat_title

    @@ -703,14 +1156,29 @@

    -

    ◆ passport_data

    + +

    ◆ paid_media

    + +
    +
    + + + + +
    struct telebot_paid_media_info* telebot_message::paid_media
    +
    +

    Optional. Message contains paid media; information about the paid media

    + +
    +
    + +

    ◆ passport_data

    - +
    struct telebot_passport_data* telebot_message::passport_datastruct telebot_passport_data* telebot_message::passport_data
    @@ -718,8 +1186,8 @@

    -

    ◆ photos

    + +

    ◆ photos

    @@ -733,8 +1201,8 @@

    -

    ◆ pinned_message

    + +

    ◆ pinned_message

    @@ -748,8 +1216,8 @@

    -

    ◆ poll

    + +

    ◆ poll

    @@ -763,14 +1231,59 @@

    -

    ◆ reply_markup

    + +

    ◆ proximity_alert_triggered

    - + + +
    struct inline_keyboard_markup* telebot_message::reply_markupstruct telebot_proximity_alert_triggered* telebot_message::proximity_alert_triggered
    +
    +

    Optional. Service message. A user in the chat triggered another user's proximity alert while sharing Live Location.

    + +
    +
    + +

    ◆ quote

    + +
    +
    + + + + +
    struct telebot_text_quote* telebot_message::quote
    +
    +

    Optional. For replies that quote part of the original message, the quoted part

    + +
    +
    + +

    ◆ refunded_payment

    + +
    +
    + + + + +
    struct telebot_refunded_payment* telebot_message::refunded_payment
    +
    +

    Optional. Message is a service message about a refunded payment

    + +
    +
    + +

    ◆ reply_markup

    + +
    +
    + + +
    struct telebot_inline_keyboard_markup* telebot_message::reply_markup
    @@ -778,8 +1291,8 @@

    -

    ◆ reply_to_message

    + +

    ◆ reply_to_message

    @@ -793,8 +1306,83 @@

    -

    ◆ sticker

    + +

    ◆ reply_to_story

    + +
    +
    + + + + +
    struct telebot_story* telebot_message::reply_to_story
    +
    +

    Optional. For replies to a story, the original story

    + +
    +
    + +

    ◆ sender_boost_count

    + +
    +
    + + + + +
    int telebot_message::sender_boost_count
    +
    +

    Optional. If the sender of the message boosted the chat, the number of boosts

    + +
    +
    + +

    ◆ sender_business_bot

    + +
    +
    + + + + +
    struct telebot_user* telebot_message::sender_business_bot
    +
    +

    Optional. The bot that actually sent the message on behalf of the business account.

    + +
    +
    + +

    ◆ sender_chat

    + +
    +
    + + + + +
    struct telebot_chat* telebot_message::sender_chat
    +
    +

    Optional. Sender of the message, sent on behalf of a chat. For example, the channel itself for channel posts, the supergroup itself for messages from anonymous group administrators, the linked channel for messages automatically forwarded to the discussion group. For backward compatibility, the field from contains a fake sender user in non-channel chats, if the message was sent on behalf of a chat.

    + +
    +
    + +

    ◆ show_caption_above_media

    + +
    +
    + + + + +
    bool telebot_message::show_caption_above_media
    +
    +

    Optional. True, if the caption must be shown above the message media

    + +
    +
    + +

    ◆ sticker

    @@ -808,14 +1396,14 @@

    -

    ◆ successful_payment

    + +

    ◆ successful_payment

    - +
    struct telebot_successful_payment* telebot_message::successful_paymentstruct telebot_successful_payment* telebot_message::successful_payment
    @@ -823,8 +1411,8 @@

    -

    ◆ supergroup_chat_created

    + +

    ◆ supergroup_chat_created

    @@ -838,8 +1426,8 @@

    -

    ◆ text

    + +

    ◆ text

    @@ -853,8 +1441,38 @@

    -

    ◆ venue

    + +

    ◆ unique_gift

    + +
    +
    + + + + +
    struct telebot_unique_gift_info* telebot_message::unique_gift
    +
    +

    Optional. Service message: a unique gift was sent or received

    + +
    +
    + +

    ◆ users_shared

    + +
    +
    + + + + +
    struct telebot_users_shared* telebot_message::users_shared
    +
    +

    Optional. Service message: users were shared with the bot

    + +
    +
    + +

    ◆ venue

    @@ -868,8 +1486,23 @@

    -

    ◆ video

    + +

    ◆ via_bot

    + +
    +
    + + + + +
    struct telebot_user* telebot_message::via_bot
    +
    +

    Optional. Bot through which the message was sent

    + +
    +
    + +

    ◆ video

    @@ -883,8 +1516,68 @@

    -

    ◆ video_note

    + +

    ◆ video_chat_ended

    + +
    +
    + + + + +
    struct telebot_video_chat_ended* telebot_message::video_chat_ended
    +
    +

    Optional. Service message: video chat ended.

    + +
    +
    + +

    ◆ video_chat_participants_invited

    + +
    +
    + + + + +
    struct telebot_video_chat_participants_invited* telebot_message::video_chat_participants_invited
    +
    +

    Optional. Service message: new participants invited to a video chat.

    + +
    +
    + +

    ◆ video_chat_scheduled

    + +
    +
    + + + + +
    struct telebot_video_chat_scheduled* telebot_message::video_chat_scheduled
    +
    +

    Optional. Service message: video chat scheduled.

    + +
    +
    + +

    ◆ video_chat_started

    + +
    +
    + + + + +
    struct telebot_video_chat_started* telebot_message::video_chat_started
    +
    +

    Optional. Service message: video chat started.

    + +
    +
    + +

    ◆ video_note

    @@ -898,8 +1591,8 @@

    -

    ◆ voice

    + +

    ◆ voice

    + +

    ◆ web_app_data

    + +
    +
    + + + + +
    struct telebot_web_app_data* telebot_message::web_app_data
    +
    +

    Optional. Service message: data sent by a Web App.

    + +
    +
    + +

    ◆ write_access_allowed

    + +
    +
    + + + + +
    struct telebot_write_access_allowed* telebot_message::write_access_allowed
    +
    +

    Optional. Service message: the user allowed the bot to write messages

    +

    The documentation for this struct was generated from the following file:
      @@ -919,9 +1642,7 @@

      diff --git a/docs/structtelebot__message__auto__delete__timer__changed-members.html b/docs/structtelebot__message__auto__delete__timer__changed-members.html new file mode 100644 index 0000000..d0651e3 --- /dev/null +++ b/docs/structtelebot__message__auto__delete__timer__changed-members.html @@ -0,0 +1,86 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      Telebot 9.4 +
      +
      Library for Telegram bot API
      +
      +
      + + + + + + + + +
      +
      + + +
      +
      +
      +
      +
      +
      Loading...
      +
      Searching...
      +
      No Matches
      +
      +
      +
      +
      + +
      +
      +
      telebot_message_auto_delete_timer_changed Member List
      +
      +
      + +

      This is the complete list of members for telebot_message_auto_delete_timer_changed, including all inherited members.

      + + +
      message_auto_delete_timetelebot_message_auto_delete_timer_changed
      + + + + diff --git a/docs/structtelebot__message__auto__delete__timer__changed.html b/docs/structtelebot__message__auto__delete__timer__changed.html new file mode 100644 index 0000000..237a3fd --- /dev/null +++ b/docs/structtelebot__message__auto__delete__timer__changed.html @@ -0,0 +1,117 @@ + + + + + + + +Telebot: telebot_message_auto_delete_timer_changed Struct Reference + + + + + + + + + +
      +
      + + + + + + +
      +
      Telebot 9.4 +
      +
      Library for Telegram bot API
      +
      +
      + + + + + + + + +
      +
      + + +
      +
      +
      +
      +
      +
      Loading...
      +
      Searching...
      +
      No Matches
      +
      +
      +
      +
      + +
      +
      + +
      telebot_message_auto_delete_timer_changed Struct Reference
      +
      +
      + +

      This object represents a service message about a change in auto-delete timer settings. + More...

      + +

      #include <telebot-types.h>

      + + + + +

      +Public Attributes

      int message_auto_delete_time
       
      +

      Detailed Description

      +

      This object represents a service message about a change in auto-delete timer settings.

      +

      Member Data Documentation

      + +

      ◆ message_auto_delete_time

      + +
      +
      + + + + +
      int telebot_message_auto_delete_timer_changed::message_auto_delete_time
      +
      +

      New auto-delete time for messages in the chat; in seconds

      + +
      +
      +
      The documentation for this struct was generated from the following file: +
      + + + + diff --git a/docs/structtelebot__message__entity-members.html b/docs/structtelebot__message__entity-members.html index 4006404..422ad3f 100644 --- a/docs/structtelebot__message__entity-members.html +++ b/docs/structtelebot__message__entity-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
      - - + @@ -31,17 +30,21 @@
      -
      Telebot -  4.7.0 +
      +
      Telebot 9.4
      Library for Telegram bot API
      - + @@ -53,32 +56,36 @@
      - +
      +
      +
      +
      +
      Loading...
      +
      Searching...
      +
      No Matches
      +
      +
      +

    -
    -
    telebot_message_entity Member List
    +
    telebot_message_entity Member List
    diff --git a/docs/structtelebot__message__entity.html b/docs/structtelebot__message__entity.html index c4d8b26..5a6f264 100644 --- a/docs/structtelebot__message__entity.html +++ b/docs/structtelebot__message__entity.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_message_entity Struct Reference @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,9 +56,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    @@ -63,8 +73,7 @@ -
    -
    telebot_message_entity Struct Reference
    +
    telebot_message_entity Struct Reference

    @@ -73,26 +82,26 @@

    #include <telebot-types.h>

    - - + - + - + - + - + - +

    +

    Public Attributes

    char * type
    char * type
     
    int offset
    int offset
     
    int length
    int length
     
    char * url
    char * url
     
    telebot_user_tuser
    telebot_user_tuser
     
    char * language
    char * language
     

    Detailed Description

    This object represents one special entity in a text message. For example, hashtags, usernames, URLs, etc.

    Member Data Documentation

    - -

    ◆ language

    + +

    ◆ language

    @@ -106,8 +115,8 @@

    -

    ◆ length

    + +

    ◆ length

    @@ -121,8 +130,8 @@

    -

    ◆ offset

    + +

    ◆ offset

    @@ -136,8 +145,8 @@

    -

    ◆ type

    + +

    ◆ type

    - -

    ◆ url

    + +

    ◆ url

    @@ -166,14 +175,14 @@

    -

    ◆ user

    + +

    ◆ user

    - +
    telebot_user_t* telebot_message_entity::usertelebot_user_t* telebot_message_entity::user
    @@ -187,9 +196,7 @@

    diff --git a/docs/structtelebot__message__origin-members.html b/docs/structtelebot__message__origin-members.html new file mode 100644 index 0000000..879ed9d --- /dev/null +++ b/docs/structtelebot__message__origin-members.html @@ -0,0 +1,92 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_message_origin Member List
    +
    + + + + + diff --git a/docs/structtelebot__message__origin.html b/docs/structtelebot__message__origin.html new file mode 100644 index 0000000..8ee65f5 --- /dev/null +++ b/docs/structtelebot__message__origin.html @@ -0,0 +1,219 @@ + + + + + + + +Telebot: telebot_message_origin Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_message_origin Struct Reference
    +
    +
    + +

    This object describes the origin of a message. + More...

    + +

    #include <telebot-types.h>

    + + + + + + + + + + + + + + + + +

    +Public Attributes

    char * type
     
    long date
     
    struct telebot_usersender_user
     
    char * sender_user_name
     
    struct telebot_chatsender_chat
     
    char * author_signature
     
    int message_id
     
    +

    Detailed Description

    +

    This object describes the origin of a message.

    +

    Member Data Documentation

    + +

    ◆ author_signature

    + +
    +
    + + + + +
    char* telebot_message_origin::author_signature
    +
    +

    Optional. For messages originally sent by an anonymous chat administrator, original message author signature

    + +
    +
    + +

    ◆ date

    + +
    +
    + + + + +
    long telebot_message_origin::date
    +
    +

    Date the message was sent originally in Unix time

    + +
    +
    + +

    ◆ message_id

    + +
    +
    + + + + +
    int telebot_message_origin::message_id
    +
    +

    Optional. Unique message identifier inside the chat

    + +
    +
    + +

    ◆ sender_chat

    + +
    +
    + + + + +
    struct telebot_chat* telebot_message_origin::sender_chat
    +
    +

    Optional. Chat that sent the message originally

    + +
    +
    + +

    ◆ sender_user

    + +
    +
    + + + + +
    struct telebot_user* telebot_message_origin::sender_user
    +
    +

    Optional. User that sent the message originally

    + +
    +
    + +

    ◆ sender_user_name

    + +
    +
    + + + + +
    char* telebot_message_origin::sender_user_name
    +
    +

    Optional. Name of the user that sent the message originally

    + +
    +
    + +

    ◆ type

    + +
    +
    + + + + +
    char* telebot_message_origin::type
    +
    +

    Type of the message origin, can be "user", "hidden_user", "chat", "channel"

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__message__reaction__count__updated-members.html b/docs/structtelebot__message__reaction__count__updated-members.html new file mode 100644 index 0000000..77af436 --- /dev/null +++ b/docs/structtelebot__message__reaction__count__updated-members.html @@ -0,0 +1,90 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_message_reaction_count_updated Member List
    +
    + + + + + diff --git a/docs/structtelebot__message__reaction__count__updated.html b/docs/structtelebot__message__reaction__count__updated.html new file mode 100644 index 0000000..904e3b1 --- /dev/null +++ b/docs/structtelebot__message__reaction__count__updated.html @@ -0,0 +1,171 @@ + + + + + + + +Telebot: telebot_message_reaction_count_updated Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_message_reaction_count_updated Struct Reference
    +
    +
    + +

    This object represents reaction changes on a message with anonymous reactions. + More...

    + +

    #include <telebot-types.h>

    + + + + + + + + + + + + +

    +Public Attributes

    struct telebot_chatchat
     
    int message_id
     
    long date
     
    struct telebot_reaction_countreactions
     
    +int count_reactions
     
    +

    Detailed Description

    +

    This object represents reaction changes on a message with anonymous reactions.

    +

    Member Data Documentation

    + +

    ◆ chat

    + +
    +
    + + + + +
    struct telebot_chat* telebot_message_reaction_count_updated::chat
    +
    +

    The chat where the reactions were changed

    + +
    +
    + +

    ◆ date

    + +
    +
    + + + + +
    long telebot_message_reaction_count_updated::date
    +
    +

    Date of the change in Unix time

    + +
    +
    + +

    ◆ message_id

    + +
    +
    + + + + +
    int telebot_message_reaction_count_updated::message_id
    +
    +

    Unique identifier of the message inside the chat

    + +
    +
    + +

    ◆ reactions

    + +
    +
    + + + + +
    struct telebot_reaction_count* telebot_message_reaction_count_updated::reactions
    +
    +

    List of reactions that are present on the message

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__message__reaction__updated-members.html b/docs/structtelebot__message__reaction__updated-members.html new file mode 100644 index 0000000..f929a2e --- /dev/null +++ b/docs/structtelebot__message__reaction__updated-members.html @@ -0,0 +1,94 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_message_reaction_updated Member List
    +
    + + + + + diff --git a/docs/structtelebot__message__reaction__updated.html b/docs/structtelebot__message__reaction__updated.html new file mode 100644 index 0000000..f2be9c5 --- /dev/null +++ b/docs/structtelebot__message__reaction__updated.html @@ -0,0 +1,225 @@ + + + + + + + +Telebot: telebot_message_reaction_updated Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_message_reaction_updated Struct Reference
    +
    +
    + +

    This object represents a change of a reaction on a message performed by a user. + More...

    + +

    #include <telebot-types.h>

    + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    struct telebot_chatchat
     
    int message_id
     
    struct telebot_useruser
     
    struct telebot_chatactor_chat
     
    long date
     
    struct telebot_reaction_typeold_reaction
     
    +int count_old_reaction
     
    struct telebot_reaction_typenew_reaction
     
    +int count_new_reaction
     
    +

    Detailed Description

    +

    This object represents a change of a reaction on a message performed by a user.

    +

    Member Data Documentation

    + +

    ◆ actor_chat

    + +
    +
    + + + + +
    struct telebot_chat* telebot_message_reaction_updated::actor_chat
    +
    +

    Optional. The chat on behalf of which the reaction was changed, if the reaction was changed on behalf of a chat

    + +
    +
    + +

    ◆ chat

    + +
    +
    + + + + +
    struct telebot_chat* telebot_message_reaction_updated::chat
    +
    +

    The chat where the reaction was changed

    + +
    +
    + +

    ◆ date

    + +
    +
    + + + + +
    long telebot_message_reaction_updated::date
    +
    +

    Date of the change in Unix time

    + +
    +
    + +

    ◆ message_id

    + +
    +
    + + + + +
    int telebot_message_reaction_updated::message_id
    +
    +

    Unique identifier of the message inside the chat

    + +
    +
    + +

    ◆ new_reaction

    + +
    +
    + + + + +
    struct telebot_reaction_type* telebot_message_reaction_updated::new_reaction
    +
    +

    List of reaction types that are set by the user

    + +
    +
    + +

    ◆ old_reaction

    + +
    +
    + + + + +
    struct telebot_reaction_type* telebot_message_reaction_updated::old_reaction
    +
    +

    List of reaction types that were set by the user

    + +
    +
    + +

    ◆ user

    + +
    +
    + + + + +
    struct telebot_user* telebot_message_reaction_updated::user
    +
    +

    Optional. The user that changed the reaction, if the reaction was changed on behalf of a user

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__order__info-members.html b/docs/structtelebot__order__info-members.html new file mode 100644 index 0000000..0da286e --- /dev/null +++ b/docs/structtelebot__order__info-members.html @@ -0,0 +1,89 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_order_info Member List
    +
    +
    + +

    This is the complete list of members for telebot_order_info, including all inherited members.

    + + + + + +
    emailtelebot_order_info
    nametelebot_order_info
    phone_numbertelebot_order_info
    shipping_addresstelebot_order_info
    + + + + diff --git a/docs/structtelebot__order__info.html b/docs/structtelebot__order__info.html new file mode 100644 index 0000000..b75c6e8 --- /dev/null +++ b/docs/structtelebot__order__info.html @@ -0,0 +1,168 @@ + + + + + + + +Telebot: telebot_order_info Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_order_info Struct Reference
    +
    +
    + +

    This object represents information about an order. + More...

    + +

    #include <telebot-types.h>

    + + + + + + + + + + +

    +Public Attributes

    char * name
     
    char * phone_number
     
    char * email
     
    struct telebot_shipping_addressshipping_address
     
    +

    Detailed Description

    +

    This object represents information about an order.

    +

    Member Data Documentation

    + +

    ◆ email

    + +
    +
    + + + + +
    char* telebot_order_info::email
    +
    +

    Optional. User's email address

    + +
    +
    + +

    ◆ name

    + +
    +
    + + + + +
    char* telebot_order_info::name
    +
    +

    Optional. User name

    + +
    +
    + +

    ◆ phone_number

    + +
    +
    + + + + +
    char* telebot_order_info::phone_number
    +
    +

    Optional. User's phone number

    + +
    +
    + +

    ◆ shipping_address

    + +
    +
    + + + + +
    struct telebot_shipping_address* telebot_order_info::shipping_address
    +
    +

    Optional. User's shipping address

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__paid__media-members.html b/docs/structtelebot__paid__media-members.html new file mode 100644 index 0000000..98f5039 --- /dev/null +++ b/docs/structtelebot__paid__media-members.html @@ -0,0 +1,92 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_paid_media Member List
    +
    + + + + + diff --git a/docs/structtelebot__paid__media.html b/docs/structtelebot__paid__media.html new file mode 100644 index 0000000..d4feec0 --- /dev/null +++ b/docs/structtelebot__paid__media.html @@ -0,0 +1,205 @@ + + + + + + + +Telebot: telebot_paid_media Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_paid_media Struct Reference
    +
    +
    + +

    This object describes paid media. + More...

    + +

    #include <telebot-types.h>

    + + + + + + + + + + + + + + + + +

    +Public Attributes

    char * type
     
    int width
     
    int height
     
    int duration
     
    struct telebot_photophotos
     
    +int count_photos
     
    struct telebot_videovideo
     
    +

    Detailed Description

    +

    This object describes paid media.

    +

    Member Data Documentation

    + +

    ◆ duration

    + +
    +
    + + + + +
    int telebot_paid_media::duration
    +
    +

    Optional. Duration of the media in seconds as defined by the sender

    + +
    +
    + +

    ◆ height

    + +
    +
    + + + + +
    int telebot_paid_media::height
    +
    +

    Optional. Media height as defined by the sender

    + +
    +
    + +

    ◆ photos

    + +
    +
    + + + + +
    struct telebot_photo* telebot_paid_media::photos
    +
    +

    Optional. The photo

    + +
    +
    + +

    ◆ type

    + +
    +
    + + + + +
    char* telebot_paid_media::type
    +
    +

    Type of the paid media, can be "preview", "photo", "video"

    + +
    +
    + +

    ◆ video

    + +
    +
    + + + + +
    struct telebot_video* telebot_paid_media::video
    +
    +

    Optional. The video

    + +
    +
    + +

    ◆ width

    + +
    +
    + + + + +
    int telebot_paid_media::width
    +
    +

    Optional. Media width as defined by the sender

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__paid__media__info-members.html b/docs/structtelebot__paid__media__info-members.html new file mode 100644 index 0000000..6eeabc8 --- /dev/null +++ b/docs/structtelebot__paid__media__info-members.html @@ -0,0 +1,88 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_paid_media_info Member List
    +
    +
    + +

    This is the complete list of members for telebot_paid_media_info, including all inherited members.

    + + + + +
    count_paid_media (defined in telebot_paid_media_info)telebot_paid_media_info
    paid_mediatelebot_paid_media_info
    star_counttelebot_paid_media_info
    + + + + diff --git a/docs/structtelebot__paid__media__info.html b/docs/structtelebot__paid__media__info.html new file mode 100644 index 0000000..3a9fa9f --- /dev/null +++ b/docs/structtelebot__paid__media__info.html @@ -0,0 +1,137 @@ + + + + + + + +Telebot: telebot_paid_media_info Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_paid_media_info Struct Reference
    +
    +
    + +

    Describes the paid media added to a message. + More...

    + +

    #include <telebot-types.h>

    + + + + + + + + +

    +Public Attributes

    int star_count
     
    struct telebot_paid_mediapaid_media
     
    +int count_paid_media
     
    +

    Detailed Description

    +

    Describes the paid media added to a message.

    +

    Member Data Documentation

    + +

    ◆ paid_media

    + +
    +
    + + + + +
    struct telebot_paid_media* telebot_paid_media_info::paid_media
    +
    +

    Information about the paid media

    + +
    +
    + +

    ◆ star_count

    + +
    +
    + + + + +
    int telebot_paid_media_info::star_count
    +
    +

    The number of Telegram Stars that must be paid to buy access to the media

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__paid__media__purchased-members.html b/docs/structtelebot__paid__media__purchased-members.html new file mode 100644 index 0000000..7d56518 --- /dev/null +++ b/docs/structtelebot__paid__media__purchased-members.html @@ -0,0 +1,87 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_paid_media_purchased Member List
    +
    +
    + +

    This is the complete list of members for telebot_paid_media_purchased, including all inherited members.

    + + + +
    fromtelebot_paid_media_purchased
    paid_media_payloadtelebot_paid_media_purchased
    + + + + diff --git a/docs/structtelebot__paid__media__purchased.html b/docs/structtelebot__paid__media__purchased.html new file mode 100644 index 0000000..01f89c4 --- /dev/null +++ b/docs/structtelebot__paid__media__purchased.html @@ -0,0 +1,134 @@ + + + + + + + +Telebot: telebot_paid_media_purchased Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_paid_media_purchased Struct Reference
    +
    +
    + +

    This object contains information about a paid media purchase. + More...

    + +

    #include <telebot-types.h>

    + + + + + + +

    +Public Attributes

    struct telebot_userfrom
     
    char * paid_media_payload
     
    +

    Detailed Description

    +

    This object contains information about a paid media purchase.

    +

    Member Data Documentation

    + +

    ◆ from

    + +
    +
    + + + + +
    struct telebot_user* telebot_paid_media_purchased::from
    +
    +

    User who purchased the media

    + +
    +
    + +

    ◆ paid_media_payload

    + +
    +
    + + + + +
    char* telebot_paid_media_purchased::paid_media_payload
    +
    +

    Bot-specified paid media payload

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__passport__data-members.html b/docs/structtelebot__passport__data-members.html new file mode 100644 index 0000000..7414988 --- /dev/null +++ b/docs/structtelebot__passport__data-members.html @@ -0,0 +1,88 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_passport_data Member List
    +
    +
    + +

    This is the complete list of members for telebot_passport_data, including all inherited members.

    + + + + +
    count_data (defined in telebot_passport_data)telebot_passport_data
    credentialstelebot_passport_data
    datatelebot_passport_data
    + + + + diff --git a/docs/structtelebot__passport__data.html b/docs/structtelebot__passport__data.html new file mode 100644 index 0000000..fb30029 --- /dev/null +++ b/docs/structtelebot__passport__data.html @@ -0,0 +1,137 @@ + + + + + + + +Telebot: telebot_passport_data Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_passport_data Struct Reference
    +
    +
    + +

    Contains information about Telegram Passport data which was shared with the bot by the user. + More...

    + +

    #include <telebot-types.h>

    + + + + + + + + +

    +Public Attributes

    struct telebot_encrypted_passport_elementdata
     
    +int count_data
     
    struct telebot_encrypted_credentialscredentials
     
    +

    Detailed Description

    +

    Contains information about Telegram Passport data which was shared with the bot by the user.

    +

    Member Data Documentation

    + +

    ◆ credentials

    + +
    +
    + + + + +
    struct telebot_encrypted_credentials* telebot_passport_data::credentials
    +
    +

    Encrypted credentials required to decrypt the data

    + +
    +
    + +

    ◆ data

    + +
    +
    + + + + +
    struct telebot_encrypted_passport_element* telebot_passport_data::data
    +
    +

    Array with information about documents and other Telegram Passport elements that were shared with the bot

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__passport__element__error-members.html b/docs/structtelebot__passport__element__error-members.html new file mode 100644 index 0000000..8da93a4 --- /dev/null +++ b/docs/structtelebot__passport__element__error-members.html @@ -0,0 +1,94 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_passport_element_error Member List
    +
    + + + + + diff --git a/docs/structtelebot__passport__element__error.html b/docs/structtelebot__passport__element__error.html new file mode 100644 index 0000000..e414620 --- /dev/null +++ b/docs/structtelebot__passport__element__error.html @@ -0,0 +1,239 @@ + + + + + + + +Telebot: telebot_passport_element_error Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_passport_element_error Struct Reference
    +
    +
    + +

    This object represents an error in the Telegram Passport element. + More...

    + +

    #include <telebot-types.h>

    + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    char * source
     
    char * type
     
    char * field_name
     
    char * data_hash
     
    char * message
     
    char * file_hash
     
    char ** file_hashes
     
    +int count_file_hashes
     
    char * element_hash
     
    +

    Detailed Description

    +

    This object represents an error in the Telegram Passport element.

    +

    Member Data Documentation

    + +

    ◆ data_hash

    + +
    +
    + + + + +
    char* telebot_passport_element_error::data_hash
    +
    +

    Base64-encoded data hash

    + +
    +
    + +

    ◆ element_hash

    + +
    +
    + + + + +
    char* telebot_passport_element_error::element_hash
    +
    +

    Base64-encoded element hash

    + +
    +
    + +

    ◆ field_name

    + +
    +
    + + + + +
    char* telebot_passport_element_error::field_name
    +
    +

    Name of the data field which has the error

    + +
    +
    + +

    ◆ file_hash

    + +
    +
    + + + + +
    char* telebot_passport_element_error::file_hash
    +
    +

    Base64-encoded file hash

    + +
    +
    + +

    ◆ file_hashes

    + +
    +
    + + + + +
    char** telebot_passport_element_error::file_hashes
    +
    +

    List of base64-encoded file hashes

    + +
    +
    + +

    ◆ message

    + +
    +
    + + + + +
    char* telebot_passport_element_error::message
    +
    +

    Error message

    + +
    +
    + +

    ◆ source

    + +
    +
    + + + + +
    char* telebot_passport_element_error::source
    +
    +

    Error source

    + +
    +
    + +

    ◆ type

    + +
    +
    + + + + +
    char* telebot_passport_element_error::type
    +
    +

    The section of the user's Telegram Passport which has the error

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__passport__file-members.html b/docs/structtelebot__passport__file-members.html new file mode 100644 index 0000000..bd7fc0a --- /dev/null +++ b/docs/structtelebot__passport__file-members.html @@ -0,0 +1,89 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_passport_file Member List
    +
    + + + + + diff --git a/docs/structtelebot__passport__file.html b/docs/structtelebot__passport__file.html new file mode 100644 index 0000000..78767b7 --- /dev/null +++ b/docs/structtelebot__passport__file.html @@ -0,0 +1,168 @@ + + + + + + + +Telebot: telebot_passport_file Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_passport_file Struct Reference
    +
    +
    + +

    This object represents an internal identifier of a user in Telegram Passport. + More...

    + +

    #include <telebot-types.h>

    + + + + + + + + + + +

    +Public Attributes

    char * file_id
     
    char * file_unique_id
     
    int file_size
     
    long date
     
    +

    Detailed Description

    +

    This object represents an internal identifier of a user in Telegram Passport.

    +

    Member Data Documentation

    + +

    ◆ date

    + +
    +
    + + + + +
    long telebot_passport_file::date
    +
    +

    Unix time when the file was uploaded

    + +
    +
    + +

    ◆ file_id

    + +
    +
    + + + + +
    char* telebot_passport_file::file_id
    +
    +

    Identifier for this file, which can be used to download or reuse the file

    + +
    +
    + +

    ◆ file_size

    + +
    +
    + + + + +
    int telebot_passport_file::file_size
    +
    +

    File size

    + +
    +
    + +

    ◆ file_unique_id

    + +
    +
    + + + + +
    char* telebot_passport_file::file_unique_id
    +
    +

    Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__photo-members.html b/docs/structtelebot__photo-members.html index 455ca63..62794c7 100644 --- a/docs/structtelebot__photo-members.html +++ b/docs/structtelebot__photo-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,31 +56,35 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +

    -
    -
    telebot_photo Member List
    +
    telebot_photo Member List
    diff --git a/docs/structtelebot__photo.html b/docs/structtelebot__photo.html index 75e48bc..a12a01a 100644 --- a/docs/structtelebot__photo.html +++ b/docs/structtelebot__photo.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_photo Struct Reference @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,9 +56,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    @@ -63,8 +73,7 @@ -
    -
    telebot_photo Struct Reference
    +
    telebot_photo Struct Reference

    @@ -73,24 +82,24 @@

    #include <telebot-types.h>

    - - + - + - + - + - +

    +

    Public Attributes

    char * file_id
    char * file_id
     
    char * file_unique_id
    char * file_unique_id
     
    int width
    int width
     
    int height
    int height
     
    int file_size
    int file_size
     

    Detailed Description

    This object represents one size of a photo or a file / sticker thumbnail.

    Member Data Documentation

    - -

    ◆ file_id

    + +

    ◆ file_id

    @@ -104,8 +113,8 @@

    -

    ◆ file_size

    + +

    ◆ file_size

    @@ -119,8 +128,8 @@

    -

    ◆ file_unique_id

    + +

    ◆ file_unique_id

    @@ -134,8 +143,8 @@

    -

    ◆ height

    + +

    ◆ height

    @@ -149,8 +158,8 @@

    -

    ◆ width

    + +

    ◆ width

    @@ -170,9 +179,7 @@

    diff --git a/docs/structtelebot__poll-members.html b/docs/structtelebot__poll-members.html index 4d75592..9f9f782 100644 --- a/docs/structtelebot__poll-members.html +++ b/docs/structtelebot__poll-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,36 +56,40 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +

    -
    -
    telebot_poll Member List
    +
    telebot_poll Member List
    diff --git a/docs/structtelebot__poll.html b/docs/structtelebot__poll.html index 6a101c8..27fa7f7 100644 --- a/docs/structtelebot__poll.html +++ b/docs/structtelebot__poll.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_poll Struct Reference @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,9 +56,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    @@ -63,8 +73,7 @@ -
    -
    telebot_poll Struct Reference
    +
    telebot_poll Struct Reference

    @@ -73,35 +82,35 @@

    #include <telebot-types.h>

    - - + - + - + - - + - + - + - + - + - +

    +

    Public Attributes

    char * id
    char * id
     
    char * question
    char * question
     
    telebot_poll_option_toptions
    telebot_poll_option_toptions
     
    +
    int count_options
     
    int total_voter_count
    int total_voter_count
     
    bool is_closed
    bool is_closed
     
    bool is_anonymous
    bool is_anonymous
     
    char * type
    char * type
     
    bool allows_multiple_answers
    bool allows_multiple_answers
     
    int correct_option_id
    int correct_option_id
     

    Detailed Description

    This object contains information about a poll.

    Member Data Documentation

    - -

    ◆ allows_multiple_answers

    + +

    ◆ allows_multiple_answers

    @@ -115,8 +124,8 @@

    -

    ◆ correct_option_id

    + +

    ◆ correct_option_id

    @@ -130,8 +139,8 @@

    -

    ◆ id

    + +

    ◆ id

    @@ -145,8 +154,8 @@

    -

    ◆ is_anonymous

    + +

    ◆ is_anonymous

    @@ -160,8 +169,8 @@

    -

    ◆ is_closed

    + +

    ◆ is_closed

    @@ -175,14 +184,14 @@

    -

    ◆ options

    + +

    ◆ options

    - +
    telebot_poll_option_t* telebot_poll::optionstelebot_poll_option_t* telebot_poll::options
    @@ -190,8 +199,8 @@

    -

    ◆ question

    + +

    ◆ question

    @@ -205,8 +214,8 @@

    -

    ◆ total_voter_count

    + +

    ◆ total_voter_count

    @@ -220,8 +229,8 @@

    -

    ◆ type

    + +

    ◆ type

    @@ -241,9 +250,7 @@

    diff --git a/docs/structtelebot__poll__answer-members.html b/docs/structtelebot__poll__answer-members.html index de880c1..703a2c2 100644 --- a/docs/structtelebot__poll__answer-members.html +++ b/docs/structtelebot__poll__answer-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,30 +56,34 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +

    -
    -
    telebot_poll_answer Member List
    +
    telebot_poll_answer Member List
    diff --git a/docs/structtelebot__poll__answer.html b/docs/structtelebot__poll__answer.html index 066f1e9..ae7e093 100644 --- a/docs/structtelebot__poll__answer.html +++ b/docs/structtelebot__poll__answer.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_poll_answer Struct Reference @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,9 +56,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    @@ -63,8 +73,7 @@ -
    -
    telebot_poll_answer Struct Reference
    +
    telebot_poll_answer Struct Reference

    @@ -73,23 +82,23 @@

    #include <telebot-types.h>

    - - + - + - + -

    +

    Public Attributes

    char * poll_id
    char * poll_id
     
    struct telebot_useruser
    struct telebot_useruser
     
    int * option_ids
    int * option_ids
     
    +
    int count_option_ids
     

    Detailed Description

    This object represents an answer of a user in a non-anonymous poll.

    Member Data Documentation

    - -

    ◆ option_ids

    + +

    ◆ option_ids

    @@ -103,8 +112,8 @@

    -

    ◆ poll_id

    + +

    ◆ poll_id

    @@ -118,8 +127,8 @@

    -

    ◆ user

    + +

    ◆ user

    @@ -139,9 +148,7 @@

    diff --git a/docs/structtelebot__poll__option-members.html b/docs/structtelebot__poll__option-members.html index f1caef1..0252a74 100644 --- a/docs/structtelebot__poll__option-members.html +++ b/docs/structtelebot__poll__option-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,28 +56,32 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +

    -
    -
    telebot_poll_option Member List
    +
    telebot_poll_option Member List

    This is the complete list of members for telebot_poll_option, including all inherited members.

    - +
    texttelebot_poll_option
    voter_counttelebot_poll_option
    voter_counttelebot_poll_option
    diff --git a/docs/structtelebot__poll__option.html b/docs/structtelebot__poll__option.html index 48dff14..d508820 100644 --- a/docs/structtelebot__poll__option.html +++ b/docs/structtelebot__poll__option.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_poll_option Struct Reference @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,9 +56,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    @@ -63,8 +73,7 @@ -
    -
    telebot_poll_option Struct Reference
    +
    telebot_poll_option Struct Reference

    @@ -73,18 +82,18 @@

    #include <telebot-types.h>

    - - + - +

    +

    Public Attributes

    char * text
    char * text
     
    int voter_count
    int voter_count
     

    Detailed Description

    This object contains information about one answer option in a poll.

    Member Data Documentation

    - -

    ◆ text

    + +

    ◆ text

    @@ -98,8 +107,8 @@

    -

    ◆ voter_count

    + +

    ◆ voter_count

    @@ -119,9 +128,7 @@

    diff --git a/docs/structtelebot__pre__checkout__query-members.html b/docs/structtelebot__pre__checkout__query-members.html new file mode 100644 index 0000000..2f344c4 --- /dev/null +++ b/docs/structtelebot__pre__checkout__query-members.html @@ -0,0 +1,92 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_pre_checkout_query Member List
    +
    + + + + + diff --git a/docs/structtelebot__pre__checkout__query.html b/docs/structtelebot__pre__checkout__query.html new file mode 100644 index 0000000..7e40562 --- /dev/null +++ b/docs/structtelebot__pre__checkout__query.html @@ -0,0 +1,219 @@ + + + + + + + +Telebot: telebot_pre_checkout_query Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_pre_checkout_query Struct Reference
    +
    +
    + +

    This object contains information about an incoming pre-checkout query. + More...

    + +

    #include <telebot-types.h>

    + + + + + + + + + + + + + + + + +

    +Public Attributes

    char * id
     
    struct telebot_userfrom
     
    char * currency
     
    int total_amount
     
    char * invoice_payload
     
    char * shipping_option_id
     
    struct telebot_order_infoorder_info
     
    +

    Detailed Description

    +

    This object contains information about an incoming pre-checkout query.

    +

    Member Data Documentation

    + +

    ◆ currency

    + +
    +
    + + + + +
    char* telebot_pre_checkout_query::currency
    +
    +

    Three-letter ISO 4217 currency code

    + +
    +
    + +

    ◆ from

    + +
    +
    + + + + +
    struct telebot_user* telebot_pre_checkout_query::from
    +
    +

    User who sent the query

    + +
    +
    + +

    ◆ id

    + +
    +
    + + + + +
    char* telebot_pre_checkout_query::id
    +
    +

    Unique query identifier

    + +
    +
    + +

    ◆ invoice_payload

    + +
    +
    + + + + +
    char* telebot_pre_checkout_query::invoice_payload
    +
    +

    Bot specified invoice payload

    + +
    +
    + +

    ◆ order_info

    + +
    +
    + + + + +
    struct telebot_order_info* telebot_pre_checkout_query::order_info
    +
    +

    Optional. Order info provided by the user

    + +
    +
    + +

    ◆ shipping_option_id

    + +
    +
    + + + + +
    char* telebot_pre_checkout_query::shipping_option_id
    +
    +

    Optional. Identifier of the shipping option chosen by the user

    + +
    +
    + +

    ◆ total_amount

    + +
    +
    + + + + +
    int telebot_pre_checkout_query::total_amount
    +
    +

    Total amount in the smallest units of the currency (integer, not float/double).

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__prepared__inline__message-members.html b/docs/structtelebot__prepared__inline__message-members.html new file mode 100644 index 0000000..84f68cd --- /dev/null +++ b/docs/structtelebot__prepared__inline__message-members.html @@ -0,0 +1,87 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_prepared_inline_message Member List
    +
    +
    + +

    This is the complete list of members for telebot_prepared_inline_message, including all inherited members.

    + + + +
    expiration_datetelebot_prepared_inline_message
    idtelebot_prepared_inline_message
    + + + + diff --git a/docs/structtelebot__prepared__inline__message.html b/docs/structtelebot__prepared__inline__message.html new file mode 100644 index 0000000..558ddfb --- /dev/null +++ b/docs/structtelebot__prepared__inline__message.html @@ -0,0 +1,134 @@ + + + + + + + +Telebot: telebot_prepared_inline_message Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_prepared_inline_message Struct Reference
    +
    +
    + +

    This object represents a prepared inline message. + More...

    + +

    #include <telebot-types.h>

    + + + + + + +

    +Public Attributes

    char * id
     
    long expiration_date
     
    +

    Detailed Description

    +

    This object represents a prepared inline message.

    +

    Member Data Documentation

    + +

    ◆ expiration_date

    + +
    +
    + + + + +
    long telebot_prepared_inline_message::expiration_date
    +
    +

    Expiration date of the prepared message

    + +
    +
    + +

    ◆ id

    + +
    +
    + + + + +
    char* telebot_prepared_inline_message::id
    +
    +

    Unique identifier of the prepared message

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__proximity__alert__triggered-members.html b/docs/structtelebot__proximity__alert__triggered-members.html new file mode 100644 index 0000000..5276352 --- /dev/null +++ b/docs/structtelebot__proximity__alert__triggered-members.html @@ -0,0 +1,88 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_proximity_alert_triggered Member List
    +
    + + + + + diff --git a/docs/structtelebot__proximity__alert__triggered.html b/docs/structtelebot__proximity__alert__triggered.html new file mode 100644 index 0000000..b504cff --- /dev/null +++ b/docs/structtelebot__proximity__alert__triggered.html @@ -0,0 +1,151 @@ + + + + + + + +Telebot: telebot_proximity_alert_triggered Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_proximity_alert_triggered Struct Reference
    +
    +
    + +

    This object represents a service message about a user in the chat triggered another user's proximity alert while sharing Live Location. + More...

    + +

    #include <telebot-types.h>

    + + + + + + + + +

    +Public Attributes

    struct telebot_usertraveler
     
    struct telebot_userwatcher
     
    int distance
     
    +

    Detailed Description

    +

    This object represents a service message about a user in the chat triggered another user's proximity alert while sharing Live Location.

    +

    Member Data Documentation

    + +

    ◆ distance

    + +
    +
    + + + + +
    int telebot_proximity_alert_triggered::distance
    +
    +

    The distance between the users

    + +
    +
    + +

    ◆ traveler

    + +
    +
    + + + + +
    struct telebot_user* telebot_proximity_alert_triggered::traveler
    +
    +

    User that triggered the alert

    + +
    +
    + +

    ◆ watcher

    + +
    +
    + + + + +
    struct telebot_user* telebot_proximity_alert_triggered::watcher
    +
    +

    User that set the alert

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__reaction__count-members.html b/docs/structtelebot__reaction__count-members.html new file mode 100644 index 0000000..82851fd --- /dev/null +++ b/docs/structtelebot__reaction__count-members.html @@ -0,0 +1,87 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_reaction_count Member List
    +
    +
    + +

    This is the complete list of members for telebot_reaction_count, including all inherited members.

    + + + +
    total_counttelebot_reaction_count
    typetelebot_reaction_count
    + + + + diff --git a/docs/structtelebot__reaction__count.html b/docs/structtelebot__reaction__count.html new file mode 100644 index 0000000..fe63400 --- /dev/null +++ b/docs/structtelebot__reaction__count.html @@ -0,0 +1,134 @@ + + + + + + + +Telebot: telebot_reaction_count Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_reaction_count Struct Reference
    +
    +
    + +

    This object represents a reaction count. + More...

    + +

    #include <telebot-types.h>

    + + + + + + +

    +Public Attributes

    struct telebot_reaction_type type
     
    int total_count
     
    +

    Detailed Description

    +

    This object represents a reaction count.

    +

    Member Data Documentation

    + +

    ◆ total_count

    + +
    +
    + + + + +
    int telebot_reaction_count::total_count
    +
    +

    Number of times the reaction was added

    + +
    +
    + +

    ◆ type

    + +
    +
    + + + + +
    struct telebot_reaction_type telebot_reaction_count::type
    +
    +

    Type of the reaction

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__reaction__type-members.html b/docs/structtelebot__reaction__type-members.html new file mode 100644 index 0000000..bfd7968 --- /dev/null +++ b/docs/structtelebot__reaction__type-members.html @@ -0,0 +1,88 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_reaction_type Member List
    +
    +
    + +

    This is the complete list of members for telebot_reaction_type, including all inherited members.

    + + + + +
    custom_emoji_idtelebot_reaction_type
    emojitelebot_reaction_type
    typetelebot_reaction_type
    + + + + diff --git a/docs/structtelebot__reaction__type.html b/docs/structtelebot__reaction__type.html new file mode 100644 index 0000000..e76239b --- /dev/null +++ b/docs/structtelebot__reaction__type.html @@ -0,0 +1,151 @@ + + + + + + + +Telebot: telebot_reaction_type Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_reaction_type Struct Reference
    +
    +
    + +

    This object represents a reaction type. + More...

    + +

    #include <telebot-types.h>

    + + + + + + + + +

    +Public Attributes

    char * type
     
    char * emoji
     
    char * custom_emoji_id
     
    +

    Detailed Description

    +

    This object represents a reaction type.

    +

    Member Data Documentation

    + +

    ◆ custom_emoji_id

    + +
    +
    + + + + +
    char* telebot_reaction_type::custom_emoji_id
    +
    +

    Optional. Custom emoji identifier.

    + +
    +
    + +

    ◆ emoji

    + +
    +
    + + + + +
    char* telebot_reaction_type::emoji
    +
    +

    Optional. Reaction emoji.

    + +
    +
    + +

    ◆ type

    + +
    +
    + + + + +
    char* telebot_reaction_type::type
    +
    +

    Type of the reaction, currently can be "emoji" or "custom_emoji"

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__refunded__payment-members.html b/docs/structtelebot__refunded__payment-members.html new file mode 100644 index 0000000..6423255 --- /dev/null +++ b/docs/structtelebot__refunded__payment-members.html @@ -0,0 +1,90 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_refunded_payment Member List
    +
    + + + + + diff --git a/docs/structtelebot__refunded__payment.html b/docs/structtelebot__refunded__payment.html new file mode 100644 index 0000000..2d4ad30 --- /dev/null +++ b/docs/structtelebot__refunded__payment.html @@ -0,0 +1,185 @@ + + + + + + + +Telebot: telebot_refunded_payment Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_refunded_payment Struct Reference
    +
    +
    + +

    This object represents a service message about a refunded payment. + More...

    + +

    #include <telebot-types.h>

    + + + + + + + + + + + + +

    +Public Attributes

    char * currency
     
    int total_amount
     
    char * invoice_payload
     
    char * telegram_payment_charge_id
     
    char * provider_payment_charge_id
     
    +

    Detailed Description

    +

    This object represents a service message about a refunded payment.

    +

    Member Data Documentation

    + +

    ◆ currency

    + +
    +
    + + + + +
    char* telebot_refunded_payment::currency
    +
    +

    Three-letter ISO 4217 currency code

    + +
    +
    + +

    ◆ invoice_payload

    + +
    +
    + + + + +
    char* telebot_refunded_payment::invoice_payload
    +
    +

    Bot specified invoice payload

    + +
    +
    + +

    ◆ provider_payment_charge_id

    + +
    +
    + + + + +
    char* telebot_refunded_payment::provider_payment_charge_id
    +
    +

    Optional. Provider payment identifier

    + +
    +
    + +

    ◆ telegram_payment_charge_id

    + +
    +
    + + + + +
    char* telebot_refunded_payment::telegram_payment_charge_id
    +
    +

    Telegram payment identifier

    + +
    +
    + +

    ◆ total_amount

    + +
    +
    + + + + +
    int telebot_refunded_payment::total_amount
    +
    +

    Total amount in the smallest units of the currency

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__reply__keyboard__markup-members.html b/docs/structtelebot__reply__keyboard__markup-members.html index c7ba485..1d5e27c 100644 --- a/docs/structtelebot__reply__keyboard__markup-members.html +++ b/docs/structtelebot__reply__keyboard__markup-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,32 +56,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +

    -
    -
    telebot_reply_keyboard_markup Member List
    +
    telebot_reply_keyboard_markup Member List
    diff --git a/docs/structtelebot__reply__keyboard__markup.html b/docs/structtelebot__reply__keyboard__markup.html index 035b060..1202685 100644 --- a/docs/structtelebot__reply__keyboard__markup.html +++ b/docs/structtelebot__reply__keyboard__markup.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_reply_keyboard_markup Struct Reference @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,9 +56,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    @@ -63,8 +73,7 @@ -
    -
    telebot_reply_keyboard_markup Struct Reference
    +
    telebot_reply_keyboard_markup Struct Reference

    @@ -73,34 +82,51 @@

    #include <telebot-types.h>

    - - + - - - + + + - + - +

    +

    Public Attributes

    telebot_keyboard_button_tkeyboard
    telebot_keyboard_button_tkeyboard
     
    +
    int keyboard_rows
     
    +
    int keyboard_cols
     
    bool resize_keyboard
    bool is_persistent
     
    bool resize_keyboard
     
    bool one_time_keyboard
    bool one_time_keyboard
     
    bool selective
    bool selective
     

    Detailed Description

    This object represents a custom keyboard with reply options.

    Member Data Documentation

    - -

    ◆ keyboard

    + +

    ◆ is_persistent

    + +
    +
    + + + + +
    bool telebot_reply_keyboard_markup::is_persistent
    +
    +

    Optional. Requests clients to always show the keyboard when the regular keyboard is hidden. Defaults to false.

    + +
    +
    + +

    ◆ keyboard

    - +
    telebot_keyboard_button_t* telebot_reply_keyboard_markup::keyboardtelebot_keyboard_button_t* telebot_reply_keyboard_markup::keyboard
    @@ -108,8 +134,8 @@

    -

    ◆ one_time_keyboard

    + +

    ◆ one_time_keyboard

    @@ -123,8 +149,8 @@

    -

    ◆ resize_keyboard

    + +

    ◆ resize_keyboard

    @@ -138,8 +164,8 @@

    -

    ◆ selective

    + +

    ◆ selective

    @@ -159,9 +185,7 @@

    diff --git a/docs/structtelebot__reply__keyboard__remove-members.html b/docs/structtelebot__reply__keyboard__remove-members.html index b1438d1..8e4bde3 100644 --- a/docs/structtelebot__reply__keyboard__remove-members.html +++ b/docs/structtelebot__reply__keyboard__remove-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,28 +56,32 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +

    -
    -
    telebot_reply_keyboard_remove Member List
    +
    telebot_reply_keyboard_remove Member List
    diff --git a/docs/structtelebot__reply__keyboard__remove.html b/docs/structtelebot__reply__keyboard__remove.html index 36b3d11..b69f372 100644 --- a/docs/structtelebot__reply__keyboard__remove.html +++ b/docs/structtelebot__reply__keyboard__remove.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_reply_keyboard_remove Struct Reference @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,9 +56,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    @@ -63,28 +73,27 @@ -
    -
    telebot_reply_keyboard_remove Struct Reference
    +
    telebot_reply_keyboard_remove Struct Reference

    -

    Upon receiving a message with this object, Telegram clients will remove the current custom keyboard and display the default letter-keyboard. By default, custom keyboards are displayed until a new keyboard is sent by a bot. An exception is made for one-time keyboards that are hidden immediately after the user presses a button (see telebot_reply_keyboard_markup_t). +

    Upon receiving a message with this object, Telegram clients will remove the current custom keyboard and display the default letter-keyboard. By default, custom keyboards are displayed until a new keyboard is sent by a bot. An exception is made for one-time keyboards that are hidden immediately after the user presses a button (see telebot_reply_keyboard_markup_t). More...

    #include <telebot-types.h>

    - - + - +

    +

    Public Attributes

    bool remove_keyboard
    bool remove_keyboard
     
    bool selective
    bool selective
     

    Detailed Description

    -

    Upon receiving a message with this object, Telegram clients will remove the current custom keyboard and display the default letter-keyboard. By default, custom keyboards are displayed until a new keyboard is sent by a bot. An exception is made for one-time keyboards that are hidden immediately after the user presses a button (see telebot_reply_keyboard_markup_t).

    +

    Upon receiving a message with this object, Telegram clients will remove the current custom keyboard and display the default letter-keyboard. By default, custom keyboards are displayed until a new keyboard is sent by a bot. An exception is made for one-time keyboards that are hidden immediately after the user presses a button (see telebot_reply_keyboard_markup_t).

    Member Data Documentation

    - -

    ◆ remove_keyboard

    + +

    ◆ remove_keyboard

    @@ -98,8 +107,8 @@

    -

    ◆ selective

    + +

    ◆ selective

    @@ -119,9 +128,7 @@

    diff --git a/docs/structtelebot__response__paramters-members.html b/docs/structtelebot__response__paramters-members.html index 21153a8..f449f6c 100644 --- a/docs/structtelebot__response__paramters-members.html +++ b/docs/structtelebot__response__paramters-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,28 +56,32 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +

    -
    -
    telebot_response_paramters Member List
    +
    telebot_response_paramters Member List
    diff --git a/docs/structtelebot__response__paramters.html b/docs/structtelebot__response__paramters.html index 2415697..cad0e96 100644 --- a/docs/structtelebot__response__paramters.html +++ b/docs/structtelebot__response__paramters.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_response_paramters Struct Reference @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,9 +56,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    @@ -63,8 +73,7 @@ -
    -
    telebot_response_paramters Struct Reference
    +
    telebot_response_paramters Struct Reference
    @@ -73,18 +82,18 @@

    #include <telebot-types.h>

    - - + - +

    +

    Public Attributes

    int migrate_to_chat_id
    int migrate_to_chat_id
     
    int retry_after
    int retry_after
     

    Detailed Description

    Contains information about why a request was unsuccessful.

    Member Data Documentation

    - -

    ◆ migrate_to_chat_id

    + +

    ◆ migrate_to_chat_id

    @@ -98,8 +107,8 @@

    -

    ◆ retry_after

    + +

    ◆ retry_after

    @@ -119,9 +128,7 @@

    diff --git a/docs/structtelebot__revenue__withdrawal__state-members.html b/docs/structtelebot__revenue__withdrawal__state-members.html new file mode 100644 index 0000000..e532d7f --- /dev/null +++ b/docs/structtelebot__revenue__withdrawal__state-members.html @@ -0,0 +1,88 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_revenue_withdrawal_state Member List
    +
    + + + + + diff --git a/docs/structtelebot__revenue__withdrawal__state.html b/docs/structtelebot__revenue__withdrawal__state.html new file mode 100644 index 0000000..c5710b3 --- /dev/null +++ b/docs/structtelebot__revenue__withdrawal__state.html @@ -0,0 +1,151 @@ + + + + + + + +Telebot: telebot_revenue_withdrawal_state Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_revenue_withdrawal_state Struct Reference
    +
    +
    + +

    This object describes the state of a revenue withdrawal operation. + More...

    + +

    #include <telebot-types.h>

    + + + + + + + + +

    +Public Attributes

    char * type
     
    long date
     
    char * url
     
    +

    Detailed Description

    +

    This object describes the state of a revenue withdrawal operation.

    +

    Member Data Documentation

    + +

    ◆ date

    + +
    +
    + + + + +
    long telebot_revenue_withdrawal_state::date
    +
    +

    Optional. Date the withdrawal was completed in Unix time

    + +
    +
    + +

    ◆ type

    + +
    +
    + + + + +
    char* telebot_revenue_withdrawal_state::type
    +
    +

    Type of the state, currently one of "pending", "succeeded", "failed"

    + +
    +
    + +

    ◆ url

    + +
    +
    + + + + +
    char* telebot_revenue_withdrawal_state::url
    +
    +

    Optional. An HTTPS URL that can be used to see transaction details

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__sent__web__app__message-members.html b/docs/structtelebot__sent__web__app__message-members.html new file mode 100644 index 0000000..74ba817 --- /dev/null +++ b/docs/structtelebot__sent__web__app__message-members.html @@ -0,0 +1,86 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_sent_web_app_message Member List
    +
    +
    + +

    This is the complete list of members for telebot_sent_web_app_message, including all inherited members.

    + + +
    inline_message_idtelebot_sent_web_app_message
    + + + + diff --git a/docs/structtelebot__sent__web__app__message.html b/docs/structtelebot__sent__web__app__message.html new file mode 100644 index 0000000..c631349 --- /dev/null +++ b/docs/structtelebot__sent__web__app__message.html @@ -0,0 +1,117 @@ + + + + + + + +Telebot: telebot_sent_web_app_message Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_sent_web_app_message Struct Reference
    +
    +
    + +

    This object represents a message sent via a Web App. + More...

    + +

    #include <telebot-types.h>

    + + + + +

    +Public Attributes

    char * inline_message_id
     
    +

    Detailed Description

    +

    This object represents a message sent via a Web App.

    +

    Member Data Documentation

    + +

    ◆ inline_message_id

    + +
    +
    + + + + +
    char* telebot_sent_web_app_message::inline_message_id
    +
    +

    Optional. Identifier of the sent inline message.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__shared__user-members.html b/docs/structtelebot__shared__user-members.html new file mode 100644 index 0000000..a681797 --- /dev/null +++ b/docs/structtelebot__shared__user-members.html @@ -0,0 +1,91 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_shared_user Member List
    +
    + + + + + diff --git a/docs/structtelebot__shared__user.html b/docs/structtelebot__shared__user.html new file mode 100644 index 0000000..a8ed372 --- /dev/null +++ b/docs/structtelebot__shared__user.html @@ -0,0 +1,188 @@ + + + + + + + +Telebot: telebot_shared_user Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_shared_user Struct Reference
    +
    +
    + +

    This object contains information about a user that was shared with the bot. + More...

    + +

    #include <telebot-types.h>

    + + + + + + + + + + + + + + +

    +Public Attributes

    long long int user_id
     
    char * first_name
     
    char * last_name
     
    char * username
     
    struct telebot_photophoto
     
    +int count_photo
     
    +

    Detailed Description

    +

    This object contains information about a user that was shared with the bot.

    +

    Member Data Documentation

    + +

    ◆ first_name

    + +
    +
    + + + + +
    char* telebot_shared_user::first_name
    +
    +

    Optional. First name of the user

    + +
    +
    + +

    ◆ last_name

    + +
    +
    + + + + +
    char* telebot_shared_user::last_name
    +
    +

    Optional. Last name of the user

    + +
    +
    + +

    ◆ photo

    + +
    +
    + + + + +
    struct telebot_photo* telebot_shared_user::photo
    +
    +

    Optional. Available sizes of the chat photo

    + +
    +
    + +

    ◆ user_id

    + +
    +
    + + + + +
    long long int telebot_shared_user::user_id
    +
    +

    Identifier of the shared user.

    + +
    +
    + +

    ◆ username

    + +
    +
    + + + + +
    char* telebot_shared_user::username
    +
    +

    Optional. Username of the user

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__shipping__address-members.html b/docs/structtelebot__shipping__address-members.html new file mode 100644 index 0000000..1c53284 --- /dev/null +++ b/docs/structtelebot__shipping__address-members.html @@ -0,0 +1,91 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_shipping_address Member List
    +
    + + + + + diff --git a/docs/structtelebot__shipping__address.html b/docs/structtelebot__shipping__address.html new file mode 100644 index 0000000..ef435cf --- /dev/null +++ b/docs/structtelebot__shipping__address.html @@ -0,0 +1,202 @@ + + + + + + + +Telebot: telebot_shipping_address Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_shipping_address Struct Reference
    +
    +
    + +

    This object represents a shipping address. + More...

    + +

    #include <telebot-types.h>

    + + + + + + + + + + + + + + +

    +Public Attributes

    char * country_code
     
    char * state
     
    char * city
     
    char * street_line1
     
    char * street_line2
     
    char * post_code
     
    +

    Detailed Description

    +

    This object represents a shipping address.

    +

    Member Data Documentation

    + +

    ◆ city

    + +
    +
    + + + + +
    char* telebot_shipping_address::city
    +
    +

    City

    + +
    +
    + +

    ◆ country_code

    + +
    +
    + + + + +
    char* telebot_shipping_address::country_code
    +
    +

    ISO 3166-1 alpha-2 country code

    + +
    +
    + +

    ◆ post_code

    + +
    +
    + + + + +
    char* telebot_shipping_address::post_code
    +
    +

    Address post code

    + +
    +
    + +

    ◆ state

    + +
    +
    + + + + +
    char* telebot_shipping_address::state
    +
    +

    State, if applicable

    + +
    +
    + +

    ◆ street_line1

    + +
    +
    + + + + +
    char* telebot_shipping_address::street_line1
    +
    +

    First line for the address

    + +
    +
    + +

    ◆ street_line2

    + +
    +
    + + + + +
    char* telebot_shipping_address::street_line2
    +
    +

    Second line for the address

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__shipping__query-members.html b/docs/structtelebot__shipping__query-members.html new file mode 100644 index 0000000..cc2ce6f --- /dev/null +++ b/docs/structtelebot__shipping__query-members.html @@ -0,0 +1,89 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_shipping_query Member List
    +
    + + + + + diff --git a/docs/structtelebot__shipping__query.html b/docs/structtelebot__shipping__query.html new file mode 100644 index 0000000..d17629f --- /dev/null +++ b/docs/structtelebot__shipping__query.html @@ -0,0 +1,168 @@ + + + + + + + +Telebot: telebot_shipping_query Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_shipping_query Struct Reference
    +
    +
    + +

    This object contains information about an incoming shipping query. + More...

    + +

    #include <telebot-types.h>

    + + + + + + + + + + +

    +Public Attributes

    char * id
     
    struct telebot_userfrom
     
    char * invoice_payload
     
    struct telebot_shipping_addressshipping_address
     
    +

    Detailed Description

    +

    This object contains information about an incoming shipping query.

    +

    Member Data Documentation

    + +

    ◆ from

    + +
    +
    + + + + +
    struct telebot_user* telebot_shipping_query::from
    +
    +

    User who sent the query

    + +
    +
    + +

    ◆ id

    + +
    +
    + + + + +
    char* telebot_shipping_query::id
    +
    +

    Unique query identifier

    + +
    +
    + +

    ◆ invoice_payload

    + +
    +
    + + + + +
    char* telebot_shipping_query::invoice_payload
    +
    +

    Bot specified invoice payload

    + +
    +
    + +

    ◆ shipping_address

    + +
    +
    + + + + +
    struct telebot_shipping_address* telebot_shipping_query::shipping_address
    +
    +

    User specified shipping address

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__star__amount-members.html b/docs/structtelebot__star__amount-members.html new file mode 100644 index 0000000..864418c --- /dev/null +++ b/docs/structtelebot__star__amount-members.html @@ -0,0 +1,87 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_star_amount Member List
    +
    +
    + +

    This is the complete list of members for telebot_star_amount, including all inherited members.

    + + + +
    amounttelebot_star_amount
    nanostar_amounttelebot_star_amount
    + + + + diff --git a/docs/structtelebot__star__amount.html b/docs/structtelebot__star__amount.html new file mode 100644 index 0000000..42f3173 --- /dev/null +++ b/docs/structtelebot__star__amount.html @@ -0,0 +1,134 @@ + + + + + + + +Telebot: telebot_star_amount Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_star_amount Struct Reference
    +
    +
    + +

    Describes an amount of Telegram Stars. + More...

    + +

    #include <telebot-types.h>

    + + + + + + +

    +Public Attributes

    int amount
     
    int nanostar_amount
     
    +

    Detailed Description

    +

    Describes an amount of Telegram Stars.

    +

    Member Data Documentation

    + +

    ◆ amount

    + +
    +
    + + + + +
    int telebot_star_amount::amount
    +
    +

    Integer amount of Telegram Stars, rounded to 0; can be negative

    + +
    +
    + +

    ◆ nanostar_amount

    + +
    +
    + + + + +
    int telebot_star_amount::nanostar_amount
    +
    +

    Optional. The number of 1/1000000000 shares of Telegram Stars

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__star__transaction-members.html b/docs/structtelebot__star__transaction-members.html new file mode 100644 index 0000000..f219b55 --- /dev/null +++ b/docs/structtelebot__star__transaction-members.html @@ -0,0 +1,91 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_star_transaction Member List
    +
    + + + + + diff --git a/docs/structtelebot__star__transaction.html b/docs/structtelebot__star__transaction.html new file mode 100644 index 0000000..87259ae --- /dev/null +++ b/docs/structtelebot__star__transaction.html @@ -0,0 +1,202 @@ + + + + + + + +Telebot: telebot_star_transaction Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_star_transaction Struct Reference
    +
    +
    + +

    Describes a Telegram Star transaction. + More...

    + +

    #include <telebot-types.h>

    + + + + + + + + + + + + + + +

    +Public Attributes

    char * id
     
    int amount
     
    int nanostar_amount
     
    long date
     
    struct telebot_transaction_partnersource
     
    struct telebot_transaction_partnerreceiver
     
    +

    Detailed Description

    +

    Describes a Telegram Star transaction.

    +

    Member Data Documentation

    + +

    ◆ amount

    + +
    +
    + + + + +
    int telebot_star_transaction::amount
    +
    +

    Integer amount of Telegram Stars transferred by the transaction

    + +
    +
    + +

    ◆ date

    + +
    +
    + + + + +
    long telebot_star_transaction::date
    +
    +

    Date the transaction was created in Unix time

    + +
    +
    + +

    ◆ id

    + +
    +
    + + + + +
    char* telebot_star_transaction::id
    +
    +

    Unique identifier of the transaction.

    + +
    +
    + +

    ◆ nanostar_amount

    + +
    +
    + + + + +
    int telebot_star_transaction::nanostar_amount
    +
    +

    Optional. The number of 1/1000000000 shares of Telegram Stars

    + +
    +
    + +

    ◆ receiver

    + +
    +
    + + + + +
    struct telebot_transaction_partner* telebot_star_transaction::receiver
    +
    +

    Optional. Receiver of an outgoing transaction

    + +
    +
    + +

    ◆ source

    + +
    +
    + + + + +
    struct telebot_transaction_partner* telebot_star_transaction::source
    +
    +

    Optional. Source of an incoming transaction

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__star__transactions-members.html b/docs/structtelebot__star__transactions-members.html new file mode 100644 index 0000000..404e7ba --- /dev/null +++ b/docs/structtelebot__star__transactions-members.html @@ -0,0 +1,87 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_star_transactions Member List
    +
    +
    + +

    This is the complete list of members for telebot_star_transactions, including all inherited members.

    + + + +
    count_transactions (defined in telebot_star_transactions)telebot_star_transactions
    transactionstelebot_star_transactions
    + + + + diff --git a/docs/structtelebot__star__transactions.html b/docs/structtelebot__star__transactions.html new file mode 100644 index 0000000..bed62d5 --- /dev/null +++ b/docs/structtelebot__star__transactions.html @@ -0,0 +1,120 @@ + + + + + + + +Telebot: telebot_star_transactions Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_star_transactions Struct Reference
    +
    +
    + +

    Contains a list of Telegram Star transactions. + More...

    + +

    #include <telebot-types.h>

    + + + + + + +

    +Public Attributes

    struct telebot_star_transactiontransactions
     
    +int count_transactions
     
    +

    Detailed Description

    +

    Contains a list of Telegram Star transactions.

    +

    Member Data Documentation

    + +

    ◆ transactions

    + +
    +
    + + + + +
    struct telebot_star_transaction* telebot_star_transactions::transactions
    +
    +

    The list of transactions

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__sticker-members.html b/docs/structtelebot__sticker-members.html index d99cea6..45085a9 100644 --- a/docs/structtelebot__sticker-members.html +++ b/docs/structtelebot__sticker-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,36 +56,40 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +

    -
    -
    telebot_sticker Member List
    +
    telebot_sticker Member List
    diff --git a/docs/structtelebot__sticker.html b/docs/structtelebot__sticker.html index b0d00a0..3444d0e 100644 --- a/docs/structtelebot__sticker.html +++ b/docs/structtelebot__sticker.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_sticker Struct Reference @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,9 +56,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    @@ -63,44 +73,43 @@ -
    -
    telebot_sticker Struct Reference
    +
    telebot_sticker Struct Reference

    This object represents a sticker. More...

    -

    #include <telebot-stickers.h>

    +

    #include <telebot-types.h>

    - - + - + - + - + - + - + - + - + - + - +

    +

    Public Attributes

    char * file_id
    char * file_id
     
    char * file_unique_id
    char * file_unique_id
     
    int width
    int width
     
    int height
    int height
     
    bool is_animated
    bool is_animated
     
    struct telebot_photothumb
    struct telebot_photothumb
     
    char * emoji
    char * emoji
     
    char * set_name
    char * set_name
     
    struct telebot_mask_positionmask_position
    struct telebot_mask_positionmask_position
     
    int file_size
    int file_size
     

    Detailed Description

    This object represents a sticker.

    Member Data Documentation

    - -

    ◆ emoji

    + +

    ◆ emoji

    @@ -114,8 +123,8 @@

    -

    ◆ file_id

    + +

    ◆ file_id

    @@ -129,8 +138,8 @@

    -

    ◆ file_size

    + +

    ◆ file_size

    @@ -144,8 +153,8 @@

    -

    ◆ file_unique_id

    + +

    ◆ file_unique_id

    @@ -159,8 +168,8 @@

    -

    ◆ height

    + +

    ◆ height

    @@ -174,8 +183,8 @@

    -

    ◆ is_animated

    + +

    ◆ is_animated

    @@ -189,8 +198,8 @@

    -

    ◆ mask_position

    + +

    ◆ mask_position

    @@ -204,8 +213,8 @@

    -

    ◆ set_name

    + +

    ◆ set_name

    @@ -219,8 +228,8 @@

    -

    ◆ thumb

    + +

    ◆ thumb

    @@ -234,8 +243,8 @@

    -

    ◆ width

    + +

    ◆ width

    @@ -250,14 +259,12 @@

    telebot-stickers.h +
  • include/telebot-types.h
  • diff --git a/docs/structtelebot__sticker__set-members.html b/docs/structtelebot__sticker__set-members.html index f84f561..c65555a 100644 --- a/docs/structtelebot__sticker__set-members.html +++ b/docs/structtelebot__sticker__set-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,33 +56,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    telebot_sticker_set Member List
    +
    telebot_sticker_set Member List
    diff --git a/docs/structtelebot__sticker__set.html b/docs/structtelebot__sticker__set.html index 7d5d89c..06bbaa5 100644 --- a/docs/structtelebot__sticker__set.html +++ b/docs/structtelebot__sticker__set.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_sticker_set Struct Reference @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,9 +56,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +

    @@ -63,8 +73,7 @@ -
    -
    telebot_sticker_set Struct Reference
    +
    telebot_sticker_set Struct Reference
    @@ -73,29 +82,29 @@

    #include <telebot-stickers.h>

    - - + - + - + - + - + - - +

    +

    Public Attributes

    char * name
    char * name
     
    char * title
    char * title
     
    bool is_animated
    bool is_animated
     
    bool contains_masks
    bool contains_masks
     
    telebot_sticker_tstickers
    telebot_sticker_tstickers
     
    +
    int count_stickers
     
    struct telebot_photothumb
    struct telebot_photothumb
     

    Detailed Description

    This object represents a sticker set.

    Member Data Documentation

    - -

    ◆ contains_masks

    + +

    ◆ contains_masks

    @@ -109,8 +118,8 @@

    -

    ◆ is_animated

    + +

    ◆ is_animated

    @@ -124,8 +133,8 @@

    -

    ◆ name

    + +

    ◆ name

    @@ -139,14 +148,14 @@

    -

    ◆ stickers

    + +

    ◆ stickers

    - +
    telebot_sticker_t* telebot_sticker_set::stickerstelebot_sticker_t* telebot_sticker_set::stickers
    @@ -154,8 +163,8 @@

    -

    ◆ thumb

    + +

    ◆ thumb

    @@ -169,8 +178,8 @@

    -

    ◆ title

    + +

    ◆ title

    @@ -190,9 +199,7 @@

    diff --git a/docs/structtelebot__story-members.html b/docs/structtelebot__story-members.html new file mode 100644 index 0000000..09a20e4 --- /dev/null +++ b/docs/structtelebot__story-members.html @@ -0,0 +1,87 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_story Member List
    +
    +
    + +

    This is the complete list of members for telebot_story, including all inherited members.

    + + + +
    chattelebot_story
    idtelebot_story
    + + + + diff --git a/docs/structtelebot__story.html b/docs/structtelebot__story.html new file mode 100644 index 0000000..27a8ecf --- /dev/null +++ b/docs/structtelebot__story.html @@ -0,0 +1,134 @@ + + + + + + + +Telebot: telebot_story Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_story Struct Reference
    +
    +
    + +

    This object contains information about a story. + More...

    + +

    #include <telebot-types.h>

    + + + + + + +

    +Public Attributes

    struct telebot_chatchat
     
    int id
     
    +

    Detailed Description

    +

    This object contains information about a story.

    +

    Member Data Documentation

    + +

    ◆ chat

    + +
    +
    + + + + +
    struct telebot_chat* telebot_story::chat
    +
    +

    Chat that posted the story

    + +
    +
    + +

    ◆ id

    + +
    +
    + + + + +
    int telebot_story::id
    +
    +

    Unique identifier for the story in the chat

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__successful__payment-members.html b/docs/structtelebot__successful__payment-members.html new file mode 100644 index 0000000..f3c68c7 --- /dev/null +++ b/docs/structtelebot__successful__payment-members.html @@ -0,0 +1,92 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_successful_payment Member List
    +
    + + + + + diff --git a/docs/structtelebot__successful__payment.html b/docs/structtelebot__successful__payment.html new file mode 100644 index 0000000..9b7c8ff --- /dev/null +++ b/docs/structtelebot__successful__payment.html @@ -0,0 +1,219 @@ + + + + + + + +Telebot: telebot_successful_payment Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_successful_payment Struct Reference
    +
    +
    + +

    This object contains basic information about a successful payment. + More...

    + +

    #include <telebot-types.h>

    + + + + + + + + + + + + + + + + +

    +Public Attributes

    char * currency
     
    int total_amount
     
    char * invoice_payload
     
    char * shipping_option_id
     
    struct telebot_order_infoorder_info
     
    char * telegram_payment_charge_id
     
    char * provider_payment_charge_id
     
    +

    Detailed Description

    +

    This object contains basic information about a successful payment.

    +

    Member Data Documentation

    + +

    ◆ currency

    + +
    +
    + + + + +
    char* telebot_successful_payment::currency
    +
    +

    Three-letter ISO 4217 currency code

    + +
    +
    + +

    ◆ invoice_payload

    + +
    +
    + + + + +
    char* telebot_successful_payment::invoice_payload
    +
    +

    Bot specified invoice payload

    + +
    +
    + +

    ◆ order_info

    + +
    +
    + + + + +
    struct telebot_order_info* telebot_successful_payment::order_info
    +
    +

    Optional. Order info provided by the user

    + +
    +
    + +

    ◆ provider_payment_charge_id

    + +
    +
    + + + + +
    char* telebot_successful_payment::provider_payment_charge_id
    +
    +

    Provider payment identifier

    + +
    +
    + +

    ◆ shipping_option_id

    + +
    +
    + + + + +
    char* telebot_successful_payment::shipping_option_id
    +
    +

    Optional. Identifier of the shipping option chosen by the user

    + +
    +
    + +

    ◆ telegram_payment_charge_id

    + +
    +
    + + + + +
    char* telebot_successful_payment::telegram_payment_charge_id
    +
    +

    Telegram payment identifier

    + +
    +
    + +

    ◆ total_amount

    + +
    +
    + + + + +
    int telebot_successful_payment::total_amount
    +
    +

    Total amount in the smallest units of the currency (integer, not float/double).

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__switch__inline__query__chosen__chat-members.html b/docs/structtelebot__switch__inline__query__chosen__chat-members.html new file mode 100644 index 0000000..23242f5 --- /dev/null +++ b/docs/structtelebot__switch__inline__query__chosen__chat-members.html @@ -0,0 +1,90 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_switch_inline_query_chosen_chat Member List
    +
    + + + + + diff --git a/docs/structtelebot__switch__inline__query__chosen__chat.html b/docs/structtelebot__switch__inline__query__chosen__chat.html new file mode 100644 index 0000000..8a0266b --- /dev/null +++ b/docs/structtelebot__switch__inline__query__chosen__chat.html @@ -0,0 +1,185 @@ + + + + + + + +Telebot: telebot_switch_inline_query_chosen_chat Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_switch_inline_query_chosen_chat Struct Reference
    +
    +
    + +

    This object represents an inline button that switches the current user to inline mode in a chosen chat. + More...

    + +

    #include <telebot-types.h>

    + + + + + + + + + + + + +

    +Public Attributes

    char * query
     
    bool allow_user_chats
     
    bool allow_bot_chats
     
    bool allow_group_chats
     
    bool allow_channel_chats
     
    +

    Detailed Description

    +

    This object represents an inline button that switches the current user to inline mode in a chosen chat.

    +

    Member Data Documentation

    + +

    ◆ allow_bot_chats

    + +
    +
    + + + + +
    bool telebot_switch_inline_query_chosen_chat::allow_bot_chats
    +
    +

    Optional. True, if private chats with bots can be chosen

    + +
    +
    + +

    ◆ allow_channel_chats

    + +
    +
    + + + + +
    bool telebot_switch_inline_query_chosen_chat::allow_channel_chats
    +
    +

    Optional. True, if channel chats can be chosen

    + +
    +
    + +

    ◆ allow_group_chats

    + +
    +
    + + + + +
    bool telebot_switch_inline_query_chosen_chat::allow_group_chats
    +
    +

    Optional. True, if group and supergroup chats can be chosen

    + +
    +
    + +

    ◆ allow_user_chats

    + +
    +
    + + + + +
    bool telebot_switch_inline_query_chosen_chat::allow_user_chats
    +
    +

    Optional. True, if private chats with users can be chosen

    + +
    +
    + +

    ◆ query

    + +
    +
    + + + + +
    char* telebot_switch_inline_query_chosen_chat::query
    +
    +

    Optional. The default inline query to be inserted in the input field.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__text__quote-members.html b/docs/structtelebot__text__quote-members.html new file mode 100644 index 0000000..bd342bf --- /dev/null +++ b/docs/structtelebot__text__quote-members.html @@ -0,0 +1,90 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_text_quote Member List
    +
    +
    + +

    This is the complete list of members for telebot_text_quote, including all inherited members.

    + + + + + + +
    count_entities (defined in telebot_text_quote)telebot_text_quote
    entitiestelebot_text_quote
    is_manualtelebot_text_quote
    positiontelebot_text_quote
    texttelebot_text_quote
    + + + + diff --git a/docs/structtelebot__text__quote.html b/docs/structtelebot__text__quote.html new file mode 100644 index 0000000..7f39d62 --- /dev/null +++ b/docs/structtelebot__text__quote.html @@ -0,0 +1,171 @@ + + + + + + + +Telebot: telebot_text_quote Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_text_quote Struct Reference
    +
    +
    + +

    This object contains information about the quoted part of a message that is replied to by the given message. + More...

    + +

    #include <telebot-types.h>

    + + + + + + + + + + + + +

    +Public Attributes

    char * text
     
    struct telebot_message_entityentities
     
    +int count_entities
     
    int position
     
    bool is_manual
     
    +

    Detailed Description

    +

    This object contains information about the quoted part of a message that is replied to by the given message.

    +

    Member Data Documentation

    + +

    ◆ entities

    + +
    +
    + + + + +
    struct telebot_message_entity* telebot_text_quote::entities
    +
    +

    Optional. Special entities that appear in the quote.

    + +
    +
    + +

    ◆ is_manual

    + +
    +
    + + + + +
    bool telebot_text_quote::is_manual
    +
    +

    Optional. True, if the quote was chosen manually by the message sender.

    + +
    +
    + +

    ◆ position

    + +
    +
    + + + + +
    int telebot_text_quote::position
    +
    +

    Approximate quote position in the original message

    + +
    +
    + +

    ◆ text

    + +
    +
    + + + + +
    char* telebot_text_quote::text
    +
    +

    Text of the quoted part of a message

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__transaction__partner-members.html b/docs/structtelebot__transaction__partner-members.html new file mode 100644 index 0000000..1b0e6ac --- /dev/null +++ b/docs/structtelebot__transaction__partner-members.html @@ -0,0 +1,101 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_transaction_partner Member List
    +
    + + + + + diff --git a/docs/structtelebot__transaction__partner.html b/docs/structtelebot__transaction__partner.html new file mode 100644 index 0000000..34a485b --- /dev/null +++ b/docs/structtelebot__transaction__partner.html @@ -0,0 +1,358 @@ + + + + + + + +Telebot: telebot_transaction_partner Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_transaction_partner Struct Reference
    +
    +
    + +

    This object describes the source of a transaction. + More...

    + +

    #include <telebot-types.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    char * type
     
    char * transaction_type
     
    struct telebot_useruser
     
    struct telebot_chatchat
     
    struct telebot_affiliate_infoaffiliate
     
    char * invoice_payload
     
    int subscription_period
     
    struct telebot_paid_mediapaid_media
     
    +int count_paid_media
     
    char * paid_media_payload
     
    struct telebot_giftgift
     
    int premium_subscription_duration
     
    struct telebot_revenue_withdrawal_statewithdrawal_state
     
    struct telebot_usersponsor_user
     
    int commission_per_mille
     
    int request_count
     
    +

    Detailed Description

    +

    This object describes the source of a transaction.

    +

    Member Data Documentation

    + +

    ◆ affiliate

    + +
    +
    + + + + +
    struct telebot_affiliate_info* telebot_transaction_partner::affiliate
    +
    +

    Optional. Information about the affiliate

    + +
    +
    + +

    ◆ chat

    + +
    +
    + + + + +
    struct telebot_chat* telebot_transaction_partner::chat
    +
    +

    Optional. Information about the chat

    + +
    +
    + +

    ◆ commission_per_mille

    + +
    +
    + + + + +
    int telebot_transaction_partner::commission_per_mille
    +
    +

    Optional. The number of Telegram Stars received by the bot for each 1000 Stars

    + +
    +
    + +

    ◆ gift

    + +
    +
    + + + + +
    struct telebot_gift* telebot_transaction_partner::gift
    +
    +

    Optional. The gift sent to the user by the bot

    + +
    +
    + +

    ◆ invoice_payload

    + +
    +
    + + + + +
    char* telebot_transaction_partner::invoice_payload
    +
    +

    Optional. Bot-specified invoice payload

    + +
    +
    + +

    ◆ paid_media

    + +
    +
    + + + + +
    struct telebot_paid_media* telebot_transaction_partner::paid_media
    +
    +

    Optional. Information about the paid media bought by the user

    + +
    +
    + +

    ◆ paid_media_payload

    + +
    +
    + + + + +
    char* telebot_transaction_partner::paid_media_payload
    +
    +

    Optional. Bot-specified paid media payload

    + +
    +
    + +

    ◆ premium_subscription_duration

    + +
    +
    + + + + +
    int telebot_transaction_partner::premium_subscription_duration
    +
    +

    Optional. Number of months the gifted Telegram Premium subscription will be active for

    + +
    +
    + +

    ◆ request_count

    + +
    +
    + + + + +
    int telebot_transaction_partner::request_count
    +
    +

    Optional. The number of successful requests that exceeded regular limits

    + +
    +
    + +

    ◆ sponsor_user

    + +
    +
    + + + + +
    struct telebot_user* telebot_transaction_partner::sponsor_user
    +
    +

    Optional. Information about the bot that sponsored the affiliate program

    + +
    +
    + +

    ◆ subscription_period

    + +
    +
    + + + + +
    int telebot_transaction_partner::subscription_period
    +
    +

    Optional. The duration of the paid subscription

    + +
    +
    + +

    ◆ transaction_type

    + +
    +
    + + + + +
    char* telebot_transaction_partner::transaction_type
    +
    +

    Optional. Type of the transaction

    + +
    +
    + +

    ◆ type

    + +
    +
    + + + + +
    char* telebot_transaction_partner::type
    +
    +

    Type of the transaction partner

    + +
    +
    + +

    ◆ user

    + +
    +
    + + + + +
    struct telebot_user* telebot_transaction_partner::user
    +
    +

    Optional. Information about the user

    + +
    +
    + +

    ◆ withdrawal_state

    + +
    +
    + + + + +
    struct telebot_revenue_withdrawal_state* telebot_transaction_partner::withdrawal_state
    +
    +

    Optional. State of the transaction if the transaction is outgoing

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__unique__gift-members.html b/docs/structtelebot__unique__gift-members.html new file mode 100644 index 0000000..9288e40 --- /dev/null +++ b/docs/structtelebot__unique__gift-members.html @@ -0,0 +1,89 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_unique_gift Member List
    +
    +
    + +

    This is the complete list of members for telebot_unique_gift, including all inherited members.

    + + + + + +
    gift_idtelebot_unique_gift
    nametelebot_unique_gift
    numbertelebot_unique_gift
    stickertelebot_unique_gift
    + + + + diff --git a/docs/structtelebot__unique__gift.html b/docs/structtelebot__unique__gift.html new file mode 100644 index 0000000..aa896a4 --- /dev/null +++ b/docs/structtelebot__unique__gift.html @@ -0,0 +1,168 @@ + + + + + + + +Telebot: telebot_unique_gift Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_unique_gift Struct Reference
    +
    +
    + +

    This object describes a unique gift that was upgraded from a regular gift. + More...

    + +

    #include <telebot-types.h>

    + + + + + + + + + + +

    +Public Attributes

    char * gift_id
     
    char * name
     
    int number
     
    struct telebot_stickersticker
     
    +

    Detailed Description

    +

    This object describes a unique gift that was upgraded from a regular gift.

    +

    Member Data Documentation

    + +

    ◆ gift_id

    + +
    +
    + + + + +
    char* telebot_unique_gift::gift_id
    +
    +

    Identifier of the regular gift

    + +
    +
    + +

    ◆ name

    + +
    +
    + + + + +
    char* telebot_unique_gift::name
    +
    +

    Unique name of the gift

    + +
    +
    + +

    ◆ number

    + +
    +
    + + + + +
    int telebot_unique_gift::number
    +
    +

    Unique number of the upgraded gift

    + +
    +
    + +

    ◆ sticker

    + +
    +
    + + + + +
    struct telebot_sticker* telebot_unique_gift::sticker
    +
    +

    Optional. Model of the gift

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__unique__gift__info-members.html b/docs/structtelebot__unique__gift__info-members.html new file mode 100644 index 0000000..9045fad --- /dev/null +++ b/docs/structtelebot__unique__gift__info-members.html @@ -0,0 +1,89 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_unique_gift_info Member List
    +
    + + + + + diff --git a/docs/structtelebot__unique__gift__info.html b/docs/structtelebot__unique__gift__info.html new file mode 100644 index 0000000..8211fca --- /dev/null +++ b/docs/structtelebot__unique__gift__info.html @@ -0,0 +1,168 @@ + + + + + + + +Telebot: telebot_unique_gift_info Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_unique_gift_info Struct Reference
    +
    +
    + +

    Describes a unique gift that was sent or received. + More...

    + +

    #include <telebot-types.h>

    + + + + + + + + + + +

    +Public Attributes

    struct telebot_unique_giftgift
     
    char * origin
     
    char * last_resale_currency
     
    long long int last_resale_amount
     
    +

    Detailed Description

    +

    Describes a unique gift that was sent or received.

    +

    Member Data Documentation

    + +

    ◆ gift

    + +
    +
    + + + + +
    struct telebot_unique_gift* telebot_unique_gift_info::gift
    +
    +

    Information about the gift

    + +
    +
    + +

    ◆ last_resale_amount

    + +
    +
    + + + + +
    long long int telebot_unique_gift_info::last_resale_amount
    +
    +

    Optional. Price paid for the gift

    + +
    +
    + +

    ◆ last_resale_currency

    + +
    +
    + + + + +
    char* telebot_unique_gift_info::last_resale_currency
    +
    +

    Optional. Currency in which the payment for the gift was done

    + +
    +
    + +

    ◆ origin

    + +
    +
    + + + + +
    char* telebot_unique_gift_info::origin
    +
    +

    Origin of the gift

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__update-members.html b/docs/structtelebot__update-members.html index d1eca3c..d621f34 100644 --- a/docs/structtelebot__update-members.html +++ b/docs/structtelebot__update-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,35 +56,55 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +

    -
    -
    telebot_update Member List
    +
    telebot_update Member List
    diff --git a/docs/structtelebot__update.html b/docs/structtelebot__update.html index 158d52b..508f559 100644 --- a/docs/structtelebot__update.html +++ b/docs/structtelebot__update.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_update Struct Reference @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,9 +56,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    @@ -63,8 +73,7 @@ -
    -
    telebot_update Struct Reference
    +
    telebot_update Struct Reference

    @@ -73,57 +82,120 @@

    #include <telebot-types.h>

    - - + - + - - + + + - + - + - + - + + + + + + + + + + + + + - + + + + + + + - - - + + + + + + + + + + + + + + + + +

    +

    Public Attributes

    int update_id
    int update_id
     
    telebot_update_type_e update_type
    telebot_update_type_e update_type
     
    -union {
       telebot_message_t   message
    +union { 
     
       telebot_message_t   message 
     
       telebot_message_t   edited_message
       telebot_message_t   edited_message 
     
       telebot_message_t   channel_post
       telebot_message_t   channel_post 
     
       telebot_message_t   edited_channel_post
       telebot_message_t   edited_channel_post 
     
       telebot_callback_query_t   callback_query
       telebot_business_connection_t   business_connection 
     
       telebot_message_t   business_message 
     
       telebot_message_t   edited_business_message 
     
       telebot_business_messages_deleted_t   deleted_business_messages 
     
       telebot_inline_query_t   inline_query 
     
       telebot_chosen_inline_result_t   chosen_inline_result 
     
       telebot_callback_query_t   callback_query 
     
       telebot_poll_t   poll
       telebot_shipping_query_t   shipping_query 
     
       telebot_pre_checkout_query_t   pre_checkout_query 
     
       telebot_paid_media_purchased_t   purchased_paid_media 
     
       telebot_poll_t   poll 
     
       telebot_poll_answer_t   poll_anser
     
    }; 
       telebot_poll_answer_t   poll_answer 
     
       telebot_chat_member_updated_t   my_chat_member 
     
       telebot_chat_member_updated_t   chat_member 
     
       telebot_chat_join_request_t   chat_join_request 
     
       telebot_message_reaction_updated_t   message_reaction 
     
       telebot_message_reaction_count_updated_t   message_reaction_count 
     
       telebot_chat_boost_updated_t   chat_boost 
     
       telebot_chat_boost_removed_t   chat_boost_removed 
     
    };  
     

    Detailed Description

    This object represents an incoming update.

    Member Data Documentation

    - -

    ◆ callback_query

    + +

    ◆ business_connection

    - +
    telebot_callback_query_t telebot_update::callback_querytelebot_business_connection_t telebot_update::business_connection
    -

    New incoming inline query The result of an inline query that was chosen by a user and sent to their chat partner. Please see our documentation on the feedback collecting for details on how to enable these updates for your bot.New incoming callback query

    +

    The bot was connected to or disconnected from a business account

    - -

    ◆ channel_post

    + +

    ◆ business_message

    - + + +
    telebot_message_t telebot_update::channel_posttelebot_message_t telebot_update::business_message
    +
    +

    New message from a connected business account

    + +
    +
    + +

    ◆ callback_query

    + +
    +
    + + + + +
    telebot_callback_query_t telebot_update::callback_query
    +
    +

    New incoming callback query

    + +
    +
    + +

    ◆ channel_post

    + +
    +
    + + +
    telebot_message_t telebot_update::channel_post
    @@ -131,14 +203,119 @@

    -

    ◆ edited_channel_post

    + +

    ◆ chat_boost

    + +
    +
    + + + + +
    telebot_chat_boost_updated_t telebot_update::chat_boost
    +
    +

    A chat boost was added or changed. The bot must be an administrator in the chat to receive these updates.

    + +
    +
    + +

    ◆ chat_boost_removed

    + +
    +
    + + + + +
    telebot_chat_boost_removed_t telebot_update::chat_boost_removed
    +
    +

    A boost was removed from a chat. The bot must be an administrator in the chat to receive these updates.

    + +
    +
    + +

    ◆ chat_join_request

    - + + +
    telebot_message_t telebot_update::edited_channel_posttelebot_chat_join_request_t telebot_update::chat_join_request
    +
    +

    A request to join the chat has been sent. The bot must have the can_invite_users administrator right in the chat to receive these updates.

    + +
    +
    + +

    ◆ chat_member

    + +
    +
    + + + + +
    telebot_chat_member_updated_t telebot_update::chat_member
    +
    +

    A chat member's status was updated in a chat. The bot must be an administrator in the chat and must explicitly specify "chat_member" in the list of allowed_updates to receive these updates.

    + +
    +
    + +

    ◆ chosen_inline_result

    + +
    +
    + + + + +
    telebot_chosen_inline_result_t telebot_update::chosen_inline_result
    +
    +

    The result of an inline query that was chosen by a user and sent to their chat partner. Please see our documentation on the feedback collecting for details on how to enable these updates for your bot.

    + +
    +
    + +

    ◆ deleted_business_messages

    + +
    +
    + + + + +
    telebot_business_messages_deleted_t telebot_update::deleted_business_messages
    +
    +

    Messages were deleted from a connected business account

    + +
    +
    + +

    ◆ edited_business_message

    + +
    +
    + + + + +
    telebot_message_t telebot_update::edited_business_message
    +
    +

    New version of a message from a connected business account

    + +
    +
    + +

    ◆ edited_channel_post

    + +
    +
    + + +
    telebot_message_t telebot_update::edited_channel_post
    @@ -146,14 +323,14 @@

    -

    ◆ edited_message

    + +

    ◆ edited_message

    - +
    telebot_message_t telebot_update::edited_messagetelebot_message_t telebot_update::edited_message
    @@ -161,14 +338,29 @@

    -

    ◆ message

    + +

    ◆ inline_query

    + +
    +
    + + + + +
    telebot_inline_query_t telebot_update::inline_query
    +
    +

    New incoming inline query

    + +
    +
    + +

    ◆ message

    - +
    telebot_message_t telebot_update::messagetelebot_message_t telebot_update::message
    @@ -176,29 +368,74 @@

    -

    ◆ poll

    + +

    ◆ message_reaction

    + +
    +
    + + + + +
    telebot_message_reaction_updated_t telebot_update::message_reaction
    +
    +

    A reaction to a message was changed by a user. The bot must be an administrator in the chat and must explicitly specify "message_reaction" in the list of allowed_updates to receive these updates.

    + +
    +
    + +

    ◆ message_reaction_count

    + +
    +
    + + + + +
    telebot_message_reaction_count_updated_t telebot_update::message_reaction_count
    +
    +

    Reactions to a message with anonymous reactions were changed. The bot must be an administrator in the chat and must explicitly specify "message_reaction_count" in the list of allowed_updates to receive these updates.

    + +
    +
    + +

    ◆ my_chat_member

    - +
    telebot_poll_t telebot_update::polltelebot_chat_member_updated_t telebot_update::my_chat_member
    -

    New incoming shipping query. Only for invoices with flexible price New incoming pre-checkout query. Contains full information about checkout New poll state. Bots receive only updates about stopped polls and polls, which are sent by the bot

    +

    The bot's chat member status was updated in a chat. For private chats, this update is received only when the bot is blocked or unblocked by the user.

    - -

    ◆ poll_anser

    + +

    ◆ poll

    - + + +
    telebot_poll_answer_t telebot_update::poll_ansertelebot_poll_t telebot_update::poll
    +
    +

    New poll state. Bots receive only updates about stopped polls and polls, which are sent by the bot

    + +
    +
    + +

    ◆ poll_answer

    + +
    +
    + + +
    telebot_poll_answer_t telebot_update::poll_answer
    @@ -206,8 +443,53 @@

    -

    ◆ update_id

    + +

    ◆ pre_checkout_query

    + +
    +
    + + + + +
    telebot_pre_checkout_query_t telebot_update::pre_checkout_query
    +
    +

    New incoming pre-checkout query. Contains full information about checkout

    + +
    +
    + +

    ◆ purchased_paid_media

    + +
    +
    + + + + +
    telebot_paid_media_purchased_t telebot_update::purchased_paid_media
    +
    +

    A user purchased paid media

    + +
    +
    + +

    ◆ shipping_query

    + +
    +
    + + + + +
    telebot_shipping_query_t telebot_update::shipping_query
    +
    +

    New incoming shipping query. Only for invoices with flexible price

    + +
    +
    + +

    ◆ update_id

    @@ -221,14 +503,14 @@

    -

    ◆ update_type

    + +

    ◆ update_type

    - +
    telebot_update_type_e telebot_update::update_typetelebot_update_type_e telebot_update::update_type
    @@ -242,9 +524,7 @@

    diff --git a/docs/structtelebot__user-members.html b/docs/structtelebot__user-members.html index 0a1eaf2..bbc30c4 100644 --- a/docs/structtelebot__user-members.html +++ b/docs/structtelebot__user-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,35 +56,45 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +

    -
    -
    telebot_user Member List
    +
    telebot_user Member List
    diff --git a/docs/structtelebot__user.html b/docs/structtelebot__user.html index 7335d65..b4d04ee 100644 --- a/docs/structtelebot__user.html +++ b/docs/structtelebot__user.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_user Struct Reference @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,9 +56,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    @@ -63,8 +73,7 @@ -
    -
    telebot_user Struct Reference
    +
    telebot_user Struct Reference

    @@ -73,32 +82,89 @@

    #include <telebot-types.h>

    - - - - + + + - + - + - + - + - + + + + + - + - + + + + + + + + +

    +

    Public Attributes

    int id
     
    bool is_bot
    long long int id
     
    bool is_bot
     
    char * first_name
    char * first_name
     
    char * last_name
    char * last_name
     
    char * username
    char * username
     
    char * language_code
    char * language_code
     
    bool can_join_groups
    bool is_premium
     
    bool added_to_attachment_menu
     
    bool can_join_groups
     
    bool can_read_all_group_messages
    bool can_read_all_group_messages
     
    bool supports_inline_queries
    bool supports_inline_queries
     
    bool can_connect_to_business
     
    bool has_main_web_app
     
    bool has_topics_enabled
     
    bool allows_users_to_create_topics
     

    Detailed Description

    This object represents a Telegram user or bot.

    Member Data Documentation

    - -

    ◆ can_join_groups

    + +

    ◆ added_to_attachment_menu

    + +
    +
    + + + + +
    bool telebot_user::added_to_attachment_menu
    +
    +

    Optional. True, if this user added the bot to the attachment menu.

    + +
    +
    + +

    ◆ allows_users_to_create_topics

    + +
    +
    + + + + +
    bool telebot_user::allows_users_to_create_topics
    +
    +

    Optional. True, if the bot allows users to create and delete topics in private chats. Returned only in getMe.

    + +
    +
    + +

    ◆ can_connect_to_business

    + +
    +
    + + + + +
    bool telebot_user::can_connect_to_business
    +
    +

    Optional. True, if the bot can be connected to a Telegram Business account to receive its messages. Returned only in getMe.

    + +
    +
    + +

    ◆ can_join_groups

    @@ -112,8 +178,8 @@

    -

    ◆ can_read_all_group_messages

    + +

    ◆ can_read_all_group_messages

    @@ -127,8 +193,8 @@

    -

    ◆ first_name

    + +

    ◆ first_name

    @@ -142,14 +208,44 @@

    -

    ◆ id

    + +

    ◆ has_main_web_app

    + +
    +
    + + + + +
    bool telebot_user::has_main_web_app
    +
    +

    Optional. True, if the bot has a main Web App. Returned only in getMe.

    + +
    +
    + +

    ◆ has_topics_enabled

    + +
    +
    + + + + +
    bool telebot_user::has_topics_enabled
    +
    +

    Optional. True, if the bot has forum topic mode enabled in private chats. Returned only in getMe.

    + +
    +
    + +

    ◆ id

    - +
    int telebot_user::idlong long int telebot_user::id
    @@ -157,8 +253,8 @@

    -

    ◆ is_bot

    + +

    ◆ is_bot

    @@ -172,8 +268,23 @@

    -

    ◆ language_code

    + +

    ◆ is_premium

    + +
    +
    + + + + +
    bool telebot_user::is_premium
    +
    +

    Optional. True, if this user is a Telegram Premium user.

    + +
    +
    + +

    ◆ language_code

    @@ -187,8 +298,8 @@

    -

    ◆ last_name

    + +

    ◆ last_name

    @@ -202,8 +313,8 @@

    -

    ◆ supports_inline_queries

    + +

    ◆ supports_inline_queries

    @@ -217,8 +328,8 @@

    -

    ◆ username

    + +

    ◆ username

    @@ -238,9 +349,7 @@

    diff --git a/docs/structtelebot__user__chat__boosts-members.html b/docs/structtelebot__user__chat__boosts-members.html new file mode 100644 index 0000000..f8f27c3 --- /dev/null +++ b/docs/structtelebot__user__chat__boosts-members.html @@ -0,0 +1,87 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_user_chat_boosts Member List
    +
    +
    + +

    This is the complete list of members for telebot_user_chat_boosts, including all inherited members.

    + + + +
    booststelebot_user_chat_boosts
    counttelebot_user_chat_boosts
    + + + + diff --git a/docs/structtelebot__user__chat__boosts.html b/docs/structtelebot__user__chat__boosts.html new file mode 100644 index 0000000..ebc08cf --- /dev/null +++ b/docs/structtelebot__user__chat__boosts.html @@ -0,0 +1,134 @@ + + + + + + + +Telebot: telebot_user_chat_boosts Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_user_chat_boosts Struct Reference
    +
    +
    + +

    This object represents a list of user chat boosts. + More...

    + +

    #include <telebot-types.h>

    + + + + + + +

    +Public Attributes

    telebot_chat_boost_tboosts
     
    int count
     
    +

    Detailed Description

    +

    This object represents a list of user chat boosts.

    +

    Member Data Documentation

    + +

    ◆ boosts

    + +
    +
    + + + + +
    telebot_chat_boost_t* telebot_user_chat_boosts::boosts
    +
    +

    The list of boosts

    + +
    +
    + +

    ◆ count

    + +
    +
    + + + + +
    int telebot_user_chat_boosts::count
    +
    +

    Number of boosts

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__user__gift-members.html b/docs/structtelebot__user__gift-members.html new file mode 100644 index 0000000..eeb0458 --- /dev/null +++ b/docs/structtelebot__user__gift-members.html @@ -0,0 +1,95 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_user_gift Member List
    +
    + + + + + diff --git a/docs/structtelebot__user__gift.html b/docs/structtelebot__user__gift.html new file mode 100644 index 0000000..7cd9921 --- /dev/null +++ b/docs/structtelebot__user__gift.html @@ -0,0 +1,270 @@ + + + + + + + +Telebot: telebot_user_gift Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_user_gift Struct Reference
    +
    +
    + +

    This object represents a gift received by a user. + More...

    + +

    #include <telebot-types.h>

    + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    char * gift_id
     
    struct telebot_usersender_user
     
    char * text
     
    struct telebot_message_entityentities
     
    int count_entities
     
    telebot_gift_tgift
     
    long date
     
    int message_id
     
    int upgrade_star_count
     
    bool is_upgraded
     
    +

    Detailed Description

    +

    This object represents a gift received by a user.

    +

    Member Data Documentation

    + +

    ◆ count_entities

    + +
    +
    + + + + +
    int telebot_user_gift::count_entities
    +
    +

    Number of entities

    + +
    +
    + +

    ◆ date

    + +
    +
    + + + + +
    long telebot_user_gift::date
    +
    +

    Date the gift was sent

    + +
    +
    + +

    ◆ entities

    + +
    +
    + + + + +
    struct telebot_message_entity* telebot_user_gift::entities
    +
    +

    Optional. Special entities that appear in the text

    + +
    +
    + +

    ◆ gift

    + +
    +
    + + + + +
    telebot_gift_t* telebot_user_gift::gift
    +
    +

    Information about the gift

    + +
    +
    + +

    ◆ gift_id

    + +
    +
    + + + + +
    char* telebot_user_gift::gift_id
    +
    +

    Unique identifier of the gift

    + +
    +
    + +

    ◆ is_upgraded

    + +
    +
    + + + + +
    bool telebot_user_gift::is_upgraded
    +
    +

    Optional. True, if the gift is upgraded

    + +
    +
    + +

    ◆ message_id

    + +
    +
    + + + + +
    int telebot_user_gift::message_id
    +
    +

    Optional. Message identifier of the message with the gift

    + +
    +
    + +

    ◆ sender_user

    + +
    +
    + + + + +
    struct telebot_user* telebot_user_gift::sender_user
    +
    +

    Optional. The user that sent the gift

    + +
    +
    + +

    ◆ text

    + +
    +
    + + + + +
    char* telebot_user_gift::text
    +
    +

    Optional. Message text added to the gift

    + +
    +
    + +

    ◆ upgrade_star_count

    + +
    +
    + + + + +
    int telebot_user_gift::upgrade_star_count
    +
    +

    Optional. The number of Telegram Stars that must be paid to upgrade the gift

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__user__gifts-members.html b/docs/structtelebot__user__gifts-members.html new file mode 100644 index 0000000..ca737dc --- /dev/null +++ b/docs/structtelebot__user__gifts-members.html @@ -0,0 +1,88 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_user_gifts Member List
    +
    +
    + +

    This is the complete list of members for telebot_user_gifts, including all inherited members.

    + + + + +
    counttelebot_user_gifts
    giftstelebot_user_gifts
    total_counttelebot_user_gifts
    + + + + diff --git a/docs/structtelebot__user__gifts.html b/docs/structtelebot__user__gifts.html new file mode 100644 index 0000000..2737988 --- /dev/null +++ b/docs/structtelebot__user__gifts.html @@ -0,0 +1,151 @@ + + + + + + + +Telebot: telebot_user_gifts Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_user_gifts Struct Reference
    +
    +
    + +

    This object represents a list of gifts received by a user. + More...

    + +

    #include <telebot-types.h>

    + + + + + + + + +

    +Public Attributes

    int total_count
     
    telebot_user_gift_tgifts
     
    int count
     
    +

    Detailed Description

    +

    This object represents a list of gifts received by a user.

    +

    Member Data Documentation

    + +

    ◆ count

    + +
    +
    + + + + +
    int telebot_user_gifts::count
    +
    +

    Number of gifts in the list

    + +
    +
    + +

    ◆ gifts

    + +
    +
    + + + + +
    telebot_user_gift_t* telebot_user_gifts::gifts
    +
    +

    The list of gifts

    + +
    +
    + +

    ◆ total_count

    + +
    +
    + + + + +
    int telebot_user_gifts::total_count
    +
    +

    Total number of gifts in the list

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__user__profile__audios-members.html b/docs/structtelebot__user__profile__audios-members.html new file mode 100644 index 0000000..1ba1da0 --- /dev/null +++ b/docs/structtelebot__user__profile__audios-members.html @@ -0,0 +1,88 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_user_profile_audios Member List
    +
    +
    + +

    This is the complete list of members for telebot_user_profile_audios, including all inherited members.

    + + + + +
    audiostelebot_user_profile_audios
    counttelebot_user_profile_audios
    total_counttelebot_user_profile_audios
    + + + + diff --git a/docs/structtelebot__user__profile__audios.html b/docs/structtelebot__user__profile__audios.html new file mode 100644 index 0000000..a056b19 --- /dev/null +++ b/docs/structtelebot__user__profile__audios.html @@ -0,0 +1,151 @@ + + + + + + + +Telebot: telebot_user_profile_audios Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_user_profile_audios Struct Reference
    +
    +
    + +

    This object represents a list of user profile audios. + More...

    + +

    #include <telebot-types.h>

    + + + + + + + + +

    +Public Attributes

    int total_count
     
    telebot_audio_taudios
     
    int count
     
    +

    Detailed Description

    +

    This object represents a list of user profile audios.

    +

    Member Data Documentation

    + +

    ◆ audios

    + +
    +
    + + + + +
    telebot_audio_t* telebot_user_profile_audios::audios
    +
    +

    The list of audios

    + +
    +
    + +

    ◆ count

    + +
    +
    + + + + +
    int telebot_user_profile_audios::count
    +
    +

    Number of audios in the list

    + +
    +
    + +

    ◆ total_count

    + +
    +
    + + + + +
    int telebot_user_profile_audios::total_count
    +
    +

    Total number of audios in the list

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__user__profile__photos-members.html b/docs/structtelebot__user__profile__photos-members.html index 18f53eb..f3c444c 100644 --- a/docs/structtelebot__user__profile__photos-members.html +++ b/docs/structtelebot__user__profile__photos-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,29 +56,33 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +

    -
    -
    telebot_user_profile_photos Member List
    +
    telebot_user_profile_photos Member List
    diff --git a/docs/structtelebot__user__profile__photos.html b/docs/structtelebot__user__profile__photos.html index 1a84515..64c11f1 100644 --- a/docs/structtelebot__user__profile__photos.html +++ b/docs/structtelebot__user__profile__photos.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_user_profile_photos Struct Reference @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,9 +56,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    @@ -63,8 +73,7 @@ -
    -
    telebot_user_profile_photos Struct Reference
    +
    telebot_user_profile_photos Struct Reference

    @@ -73,20 +82,20 @@

    #include <telebot-types.h>

    - - + - + - +

    +

    Public Attributes

    int total_count
    int total_count
     
    int current_count
    int current_count
     
    struct telebot_photophotos [4]
    struct telebot_photophotos [4]
     

    Detailed Description

    This object represent a user's profile pictures.

    Member Data Documentation

    - -

    ◆ current_count

    + +

    ◆ current_count

    @@ -100,8 +109,8 @@

    -

    ◆ photos

    + +

    ◆ photos

    @@ -115,8 +124,8 @@

    -

    ◆ total_count

    + +

    ◆ total_count

    @@ -136,9 +145,7 @@

    diff --git a/docs/structtelebot__user__shared-members.html b/docs/structtelebot__user__shared-members.html new file mode 100644 index 0000000..568c611 --- /dev/null +++ b/docs/structtelebot__user__shared-members.html @@ -0,0 +1,87 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_user_shared Member List
    +
    +
    + +

    This is the complete list of members for telebot_user_shared, including all inherited members.

    + + + +
    request_idtelebot_user_shared
    user_idtelebot_user_shared
    + + + + diff --git a/docs/structtelebot__user__shared.html b/docs/structtelebot__user__shared.html new file mode 100644 index 0000000..5918d83 --- /dev/null +++ b/docs/structtelebot__user__shared.html @@ -0,0 +1,134 @@ + + + + + + + +Telebot: telebot_user_shared Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_user_shared Struct Reference
    +
    +
    + +

    This object contains information about the user whose identifier was shared with the bot using a KeyboardButtonRequestUser button. + More...

    + +

    #include <telebot-types.h>

    + + + + + + +

    +Public Attributes

    int request_id
     
    long long int user_id
     
    +

    Detailed Description

    +

    This object contains information about the user whose identifier was shared with the bot using a KeyboardButtonRequestUser button.

    +

    Member Data Documentation

    + +

    ◆ request_id

    + +
    +
    + + + + +
    int telebot_user_shared::request_id
    +
    +

    Identifier of the request

    + +
    +
    + +

    ◆ user_id

    + +
    +
    + + + + +
    long long int telebot_user_shared::user_id
    +
    +

    Identifier of the shared user.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__users__shared-members.html b/docs/structtelebot__users__shared-members.html new file mode 100644 index 0000000..cd42363 --- /dev/null +++ b/docs/structtelebot__users__shared-members.html @@ -0,0 +1,88 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_users_shared Member List
    +
    +
    + +

    This is the complete list of members for telebot_users_shared, including all inherited members.

    + + + + +
    count_users (defined in telebot_users_shared)telebot_users_shared
    request_idtelebot_users_shared
    userstelebot_users_shared
    + + + + diff --git a/docs/structtelebot__users__shared.html b/docs/structtelebot__users__shared.html new file mode 100644 index 0000000..4cb41bf --- /dev/null +++ b/docs/structtelebot__users__shared.html @@ -0,0 +1,137 @@ + + + + + + + +Telebot: telebot_users_shared Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_users_shared Struct Reference
    +
    +
    + +

    This object contains information about the users whose identifiers were shared with the bot using a KeyboardButtonRequestUsers button. + More...

    + +

    #include <telebot-types.h>

    + + + + + + + + +

    +Public Attributes

    int request_id
     
    struct telebot_shared_userusers
     
    +int count_users
     
    +

    Detailed Description

    +

    This object contains information about the users whose identifiers were shared with the bot using a KeyboardButtonRequestUsers button.

    +

    Member Data Documentation

    + +

    ◆ request_id

    + +
    +
    + + + + +
    int telebot_users_shared::request_id
    +
    +

    Identifier of the request

    + +
    +
    + +

    ◆ users

    + +
    +
    + + + + +
    struct telebot_shared_user* telebot_users_shared::users
    +
    +

    Information about users shared with the bot.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__venue-members.html b/docs/structtelebot__venue-members.html index ef4f7df..ae44f26 100644 --- a/docs/structtelebot__venue-members.html +++ b/docs/structtelebot__venue-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,31 +56,35 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +

    -
    -
    telebot_venue Member List
    +
    telebot_venue Member List
    diff --git a/docs/structtelebot__venue.html b/docs/structtelebot__venue.html index 4f5dc76..4bd10eb 100644 --- a/docs/structtelebot__venue.html +++ b/docs/structtelebot__venue.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_venue Struct Reference @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,9 +56,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    @@ -63,8 +73,7 @@ -
    -
    telebot_venue Struct Reference
    +
    telebot_venue Struct Reference

    @@ -73,24 +82,24 @@

    #include <telebot-types.h>

    - - + - + - + - + - +

    +

    Public Attributes

    struct telebot_locationlocation
    struct telebot_locationlocation
     
    char * title
    char * title
     
    char * address
    char * address
     
    char * foursquare_id
    char * foursquare_id
     
    char * foursquare_type
    char * foursquare_type
     

    Detailed Description

    This object represents a venue.

    Member Data Documentation

    - -

    ◆ address

    + +

    ◆ address

    @@ -104,8 +113,8 @@

    -

    ◆ foursquare_id

    + +

    ◆ foursquare_id

    @@ -119,8 +128,8 @@

    -

    ◆ foursquare_type

    + +

    ◆ foursquare_type

    @@ -134,8 +143,8 @@

    -

    ◆ location

    + +

    ◆ location

    @@ -149,8 +158,8 @@

    -

    ◆ title

    + +

    ◆ title

    @@ -170,9 +179,7 @@

    diff --git a/docs/structtelebot__video-members.html b/docs/structtelebot__video-members.html index 23c46df..ca4d184 100644 --- a/docs/structtelebot__video-members.html +++ b/docs/structtelebot__video-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,34 +56,38 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +

    -
    -
    telebot_video Member List
    +
    telebot_video Member List
    diff --git a/docs/structtelebot__video.html b/docs/structtelebot__video.html index 4bd8c29..d60157f 100644 --- a/docs/structtelebot__video.html +++ b/docs/structtelebot__video.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_video Struct Reference @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,9 +56,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    @@ -63,8 +73,7 @@ -
    -
    telebot_video Struct Reference
    +
    telebot_video Struct Reference

    @@ -73,30 +82,30 @@

    #include <telebot-types.h>

    - - + - + - + - + - + - + - + - +

    +

    Public Attributes

    char * file_id
    char * file_id
     
    char * file_unique_id
    char * file_unique_id
     
    int width
    int width
     
    int height
    int height
     
    int duration
    int duration
     
    struct telebot_photothumb
    struct telebot_photothumb
     
    char * mime_type
    char * mime_type
     
    int file_size
    int file_size
     

    Detailed Description

    This object represents a video file.

    Member Data Documentation

    - -

    ◆ duration

    + +

    ◆ duration

    @@ -110,8 +119,8 @@

    -

    ◆ file_id

    + +

    ◆ file_id

    @@ -125,8 +134,8 @@

    -

    ◆ file_size

    + +

    ◆ file_size

    @@ -140,8 +149,8 @@

    -

    ◆ file_unique_id

    + +

    ◆ file_unique_id

    @@ -155,8 +164,8 @@

    -

    ◆ height

    + +

    ◆ height

    @@ -170,8 +179,8 @@

    -

    ◆ mime_type

    + +

    ◆ mime_type

    @@ -185,8 +194,8 @@

    -

    ◆ thumb

    + +

    ◆ thumb

    @@ -200,8 +209,8 @@

    -

    ◆ width

    + +

    ◆ width

    @@ -221,9 +230,7 @@

    diff --git a/docs/structtelebot__core__handler-members.html b/docs/structtelebot__video__chat__ended-members.html similarity index 55% rename from docs/structtelebot__core__handler-members.html rename to docs/structtelebot__video__chat__ended-members.html index cc58947..7ec3be2 100644 --- a/docs/structtelebot__core__handler-members.html +++ b/docs/structtelebot__video__chat__ended-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,29 +56,31 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +

    -
    -
    telebot_core_handler Member List
    +
    telebot_video_chat_ended Member List
    -

    This is the complete list of members for telebot_core_handler, including all inherited members.

    +

    This is the complete list of members for telebot_video_chat_ended, including all inherited members.

    - - - +
    proxy_addr (defined in telebot_core_handler)telebot_core_handler
    proxy_auth (defined in telebot_core_handler)telebot_core_handler
    tokentelebot_core_handler
    durationtelebot_video_chat_ended
    diff --git a/docs/structtelebot__video__chat__ended.html b/docs/structtelebot__video__chat__ended.html new file mode 100644 index 0000000..9d39a7d --- /dev/null +++ b/docs/structtelebot__video__chat__ended.html @@ -0,0 +1,117 @@ + + + + + + + +Telebot: telebot_video_chat_ended Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_video_chat_ended Struct Reference
    +
    +
    + +

    This object represents a service message about a video chat ended in the chat. + More...

    + +

    #include <telebot-types.h>

    + + + + +

    +Public Attributes

    int duration
     
    +

    Detailed Description

    +

    This object represents a service message about a video chat ended in the chat.

    +

    Member Data Documentation

    + +

    ◆ duration

    + +
    +
    + + + + +
    int telebot_video_chat_ended::duration
    +
    +

    Video chat duration in seconds

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__video__chat__participants__invited-members.html b/docs/structtelebot__video__chat__participants__invited-members.html new file mode 100644 index 0000000..501cc4d --- /dev/null +++ b/docs/structtelebot__video__chat__participants__invited-members.html @@ -0,0 +1,87 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_video_chat_participants_invited Member List
    +
    +
    + +

    This is the complete list of members for telebot_video_chat_participants_invited, including all inherited members.

    + + + +
    count_users (defined in telebot_video_chat_participants_invited)telebot_video_chat_participants_invited
    userstelebot_video_chat_participants_invited
    + + + + diff --git a/docs/structtelebot__video__chat__participants__invited.html b/docs/structtelebot__video__chat__participants__invited.html new file mode 100644 index 0000000..45a70e1 --- /dev/null +++ b/docs/structtelebot__video__chat__participants__invited.html @@ -0,0 +1,120 @@ + + + + + + + +Telebot: telebot_video_chat_participants_invited Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_video_chat_participants_invited Struct Reference
    +
    +
    + +

    This object represents a service message about new members invited to a video chat. + More...

    + +

    #include <telebot-types.h>

    + + + + + + +

    +Public Attributes

    struct telebot_userusers
     
    +int count_users
     
    +

    Detailed Description

    +

    This object represents a service message about new members invited to a video chat.

    +

    Member Data Documentation

    + +

    ◆ users

    + +
    +
    + + + + +
    struct telebot_user* telebot_video_chat_participants_invited::users
    +
    +

    New members that were invited to the video chat

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__video__chat__scheduled-members.html b/docs/structtelebot__video__chat__scheduled-members.html new file mode 100644 index 0000000..5d58c35 --- /dev/null +++ b/docs/structtelebot__video__chat__scheduled-members.html @@ -0,0 +1,86 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_video_chat_scheduled Member List
    +
    +
    + +

    This is the complete list of members for telebot_video_chat_scheduled, including all inherited members.

    + + +
    start_datetelebot_video_chat_scheduled
    + + + + diff --git a/docs/structtelebot__video__chat__scheduled.html b/docs/structtelebot__video__chat__scheduled.html new file mode 100644 index 0000000..cb7b22d --- /dev/null +++ b/docs/structtelebot__video__chat__scheduled.html @@ -0,0 +1,117 @@ + + + + + + + +Telebot: telebot_video_chat_scheduled Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_video_chat_scheduled Struct Reference
    +
    +
    + +

    This object represents a service message about a video chat scheduled in the chat. + More...

    + +

    #include <telebot-types.h>

    + + + + +

    +Public Attributes

    long start_date
     
    +

    Detailed Description

    +

    This object represents a service message about a video chat scheduled in the chat.

    +

    Member Data Documentation

    + +

    ◆ start_date

    + +
    +
    + + + + +
    long telebot_video_chat_scheduled::start_date
    +
    +

    Point in time (Unix timestamp) when the video chat is supposed to be started by a chat administrator

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__video__chat__started-members.html b/docs/structtelebot__video__chat__started-members.html new file mode 100644 index 0000000..fe0a9d5 --- /dev/null +++ b/docs/structtelebot__video__chat__started-members.html @@ -0,0 +1,86 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_video_chat_started Member List
    +
    +
    + +

    This is the complete list of members for telebot_video_chat_started, including all inherited members.

    + + +
    dummytelebot_video_chat_started
    + + + + diff --git a/docs/structtelebot__video__chat__started.html b/docs/structtelebot__video__chat__started.html new file mode 100644 index 0000000..e34090b --- /dev/null +++ b/docs/structtelebot__video__chat__started.html @@ -0,0 +1,117 @@ + + + + + + + +Telebot: telebot_video_chat_started Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_video_chat_started Struct Reference
    +
    +
    + +

    This object represents a service message about a video chat started in the chat. + More...

    + +

    #include <telebot-types.h>

    + + + + +

    +Public Attributes

    bool dummy
     
    +

    Detailed Description

    +

    This object represents a service message about a video chat started in the chat.

    +

    Member Data Documentation

    + +

    ◆ dummy

    + +
    +
    + + + + +
    bool telebot_video_chat_started::dummy
    +
    +

    Empty struct as per Telegram API

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__video__note-members.html b/docs/structtelebot__video__note-members.html index 0a28504..df5f503 100644 --- a/docs/structtelebot__video__note-members.html +++ b/docs/structtelebot__video__note-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,32 +56,36 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    telebot_video_note Member List
    +
    telebot_video_note Member List
    diff --git a/docs/structtelebot__video__note.html b/docs/structtelebot__video__note.html index 905a242..95cc3b0 100644 --- a/docs/structtelebot__video__note.html +++ b/docs/structtelebot__video__note.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_video_note Struct Reference @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,9 +56,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +

    @@ -63,8 +73,7 @@ -
    -
    telebot_video_note Struct Reference
    +
    telebot_video_note Struct Reference
    @@ -73,26 +82,26 @@

    #include <telebot-types.h>

    - - + - + - + - + - + - +

    +

    Public Attributes

    char * file_id
    char * file_id
     
    char * file_unique_id
    char * file_unique_id
     
    int length
    int length
     
    int duration
    int duration
     
    struct telebot_photothumb
    struct telebot_photothumb
     
    int file_size
    int file_size
     

    Detailed Description

    This object represents a video message (available in Telegram apps as of v.4.0).

    Member Data Documentation

    - -

    ◆ duration

    + +

    ◆ duration

    @@ -106,8 +115,8 @@

    -

    ◆ file_id

    + +

    ◆ file_id

    @@ -121,8 +130,8 @@

    -

    ◆ file_size

    + +

    ◆ file_size

    @@ -136,8 +145,8 @@

    -

    ◆ file_unique_id

    + +

    ◆ file_unique_id

    @@ -151,8 +160,8 @@

    -

    ◆ length

    + +

    ◆ length

    @@ -166,8 +175,8 @@

    -

    ◆ thumb

    + +

    ◆ thumb

    @@ -187,9 +196,7 @@

    diff --git a/docs/structtelebot__voice-members.html b/docs/structtelebot__voice-members.html index bf4e6df..88a4e56 100644 --- a/docs/structtelebot__voice-members.html +++ b/docs/structtelebot__voice-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,31 +56,35 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +

    -
    -
    telebot_voice Member List
    +
    telebot_voice Member List
    diff --git a/docs/structtelebot__voice.html b/docs/structtelebot__voice.html index a56ca90..acfe9ef 100644 --- a/docs/structtelebot__voice.html +++ b/docs/structtelebot__voice.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_voice Struct Reference @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,9 +56,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    @@ -63,8 +73,7 @@ -
    -
    telebot_voice Struct Reference
    +
    telebot_voice Struct Reference

    @@ -73,24 +82,24 @@

    #include <telebot-types.h>

    - - + - + - + - + - +

    +

    Public Attributes

    char * file_id
    char * file_id
     
    char * file_unique_id
    char * file_unique_id
     
    int duration
    int duration
     
    char * mime_type
    char * mime_type
     
    int file_size
    int file_size
     

    Detailed Description

    This object represents a voice note.

    Member Data Documentation

    - -

    ◆ duration

    + +

    ◆ duration

    @@ -104,8 +113,8 @@

    -

    ◆ file_id

    + +

    ◆ file_id

    @@ -119,8 +128,8 @@

    -

    ◆ file_size

    + +

    ◆ file_size

    @@ -134,8 +143,8 @@

    -

    ◆ file_unique_id

    + +

    ◆ file_unique_id

    @@ -149,8 +158,8 @@

    -

    ◆ mime_type

    + +

    ◆ mime_type

    @@ -170,9 +179,7 @@

    diff --git a/docs/structtelebot__web__app__data-members.html b/docs/structtelebot__web__app__data-members.html new file mode 100644 index 0000000..4b86f4f --- /dev/null +++ b/docs/structtelebot__web__app__data-members.html @@ -0,0 +1,87 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_web_app_data Member List
    +
    +
    + +

    This is the complete list of members for telebot_web_app_data, including all inherited members.

    + + + +
    button_texttelebot_web_app_data
    datatelebot_web_app_data
    + + + + diff --git a/docs/structtelebot__web__app__data.html b/docs/structtelebot__web__app__data.html new file mode 100644 index 0000000..59a6f0e --- /dev/null +++ b/docs/structtelebot__web__app__data.html @@ -0,0 +1,134 @@ + + + + + + + +Telebot: telebot_web_app_data Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_web_app_data Struct Reference
    +
    +
    + +

    This object represents data sent by a Web App to the bot. + More...

    + +

    #include <telebot-types.h>

    + + + + + + +

    +Public Attributes

    char * data
     
    char * button_text
     
    +

    Detailed Description

    +

    This object represents data sent by a Web App to the bot.

    +

    Member Data Documentation

    + +

    ◆ button_text

    + +
    +
    + + + + +
    char* telebot_web_app_data::button_text
    +
    +

    Text of the web_app keyboard button from which the Web App was opened. Be aware that a bad client can send arbitrary data in this field.

    + +
    +
    + +

    ◆ data

    + +
    +
    + + + + +
    char* telebot_web_app_data::data
    +
    +

    The data. Be aware that a bad client can send arbitrary data in this field.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__core__response-members.html b/docs/structtelebot__web__app__info-members.html similarity index 57% rename from docs/structtelebot__core__response-members.html rename to docs/structtelebot__web__app__info-members.html index b14d750..171e7e3 100644 --- a/docs/structtelebot__core__response-members.html +++ b/docs/structtelebot__web__app__info-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,28 +56,31 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +

    -
    -
    telebot_core_response Member List
    +
    telebot_web_app_info Member List
    -

    This is the complete list of members for telebot_core_response, including all inherited members.

    +

    This is the complete list of members for telebot_web_app_info, including all inherited members.

    - - +
    datatelebot_core_response
    sizetelebot_core_response
    urltelebot_web_app_info
    diff --git a/docs/structtelebot__web__app__info.html b/docs/structtelebot__web__app__info.html new file mode 100644 index 0000000..ddf7cc1 --- /dev/null +++ b/docs/structtelebot__web__app__info.html @@ -0,0 +1,117 @@ + + + + + + + +Telebot: telebot_web_app_info Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_web_app_info Struct Reference
    +
    +
    + +

    Describes a Web App. + More...

    + +

    #include <telebot-types.h>

    + + + + +

    +Public Attributes

    char * url
     
    +

    Detailed Description

    +

    Describes a Web App.

    +

    Member Data Documentation

    + +

    ◆ url

    + +
    +
    + + + + +
    char* telebot_web_app_info::url
    +
    +

    An HTTPS URL of a Web App to be opened

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/structtelebot__webhook__info-members.html b/docs/structtelebot__webhook__info-members.html index 37478e8..7578b63 100644 --- a/docs/structtelebot__webhook__info-members.html +++ b/docs/structtelebot__webhook__info-members.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: Member List @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,34 +56,38 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    telebot_webhook_info Member List
    +
    telebot_webhook_info Member List
    diff --git a/docs/structtelebot__webhook__info.html b/docs/structtelebot__webhook__info.html index a92ed43..fa3e06c 100644 --- a/docs/structtelebot__webhook__info.html +++ b/docs/structtelebot__webhook__info.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: telebot_webhook_info Struct Reference @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,9 +56,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +

    @@ -63,8 +73,7 @@ -
    -
    telebot_webhook_info Struct Reference
    +
    telebot_webhook_info Struct Reference
    @@ -73,36 +82,36 @@

    #include <telebot-types.h>

    - - + - + - + - + - + - + - + - +

    +

    Public Attributes

    char * url
    char * url
     
    bool has_custom_certificate
    bool has_custom_certificate
     
    int pending_update_count
    int pending_update_count
     
    long last_error_date
    long last_error_date
     
    char * last_error_message
    char * last_error_message
     
    int max_connections
    int max_connections
     
    telebot_update_type_e allowed_updates [TELEBOT_UPDATE_TYPE_MAX]
    telebot_update_type_e allowed_updates [TELEBOT_UPDATE_TYPE_MAX]
     
    int allowed_updates_count
    int allowed_updates_count
     

    Detailed Description

    Thi object represetns information about the current status of a webhook.

    Member Data Documentation

    - -

    ◆ allowed_updates

    + +

    ◆ allowed_updates

    - +
    telebot_update_type_e telebot_webhook_info::allowed_updates[TELEBOT_UPDATE_TYPE_MAX]telebot_update_type_e telebot_webhook_info::allowed_updates[TELEBOT_UPDATE_TYPE_MAX]
    @@ -110,8 +119,8 @@

    -

    ◆ allowed_updates_count

    + +

    ◆ allowed_updates_count

    @@ -125,8 +134,8 @@

    -

    ◆ has_custom_certificate

    + +

    ◆ has_custom_certificate

    @@ -140,8 +149,8 @@

    -

    ◆ last_error_date

    + +

    ◆ last_error_date

    @@ -155,8 +164,8 @@

    -

    ◆ last_error_message

    + +

    ◆ last_error_message

    @@ -170,8 +179,8 @@

    -

    ◆ max_connections

    + +

    ◆ max_connections

    @@ -185,8 +194,8 @@

    -

    ◆ pending_update_count

    + +

    ◆ pending_update_count

    @@ -200,8 +209,8 @@

    -

    ◆ url

    + +

    ◆ url

    @@ -221,9 +230,7 @@

    diff --git a/docs/structtelebot__write__access__allowed-members.html b/docs/structtelebot__write__access__allowed-members.html new file mode 100644 index 0000000..304cf8d --- /dev/null +++ b/docs/structtelebot__write__access__allowed-members.html @@ -0,0 +1,86 @@ + + + + + + + +Telebot: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    telebot_write_access_allowed Member List
    +
    +
    + +

    This is the complete list of members for telebot_write_access_allowed, including all inherited members.

    + + +
    web_app_nametelebot_write_access_allowed
    + + + + diff --git a/docs/structtelebot__write__access__allowed.html b/docs/structtelebot__write__access__allowed.html new file mode 100644 index 0000000..f679f78 --- /dev/null +++ b/docs/structtelebot__write__access__allowed.html @@ -0,0 +1,117 @@ + + + + + + + +Telebot: telebot_write_access_allowed Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    telebot_write_access_allowed Struct Reference
    +
    +
    + +

    This object represents a service message about a user allowing a bot to write messages after adding the bot to the attachment menu or launching a Web App from a link. + More...

    + +

    #include <telebot-types.h>

    + + + + +

    +Public Attributes

    char * web_app_name
     
    +

    Detailed Description

    +

    This object represents a service message about a user allowing a bot to write messages after adding the bot to the attachment menu or launching a Web App from a link.

    +

    Member Data Documentation

    + +

    ◆ web_app_name

    + +
    +
    + + + + +
    char* telebot_write_access_allowed::web_app_name
    +
    +

    Optional. Name of the Web App which was launched from a link

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/tab_ad.png b/docs/tab_ad.png new file mode 100644 index 0000000000000000000000000000000000000000..e34850acfc24be58da6d2fd1ccc6b29cc84fe34d GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QhuH;jv*C{Z|5d*H3V=pKi{In zd2jxLclDRPylmD}^l7{QOtL{vUjO{-WqItb5sQp2h-99b8^^Scr-=2mblCdZuUm?4 jzOJvgvt3{(cjKLW5(A@0qPS@<&}0TrS3j3^P6y&q2{!U5bk+Tso_B!YCpDh>v z{CM*1U8YvQRyBUHt^Ju0W_sq-?;9@_4equ-bavTs=gk796zopr0EBT&m;e9( literal 0 HcmV?d00001 diff --git a/docs/tab_sd.png b/docs/tab_sd.png new file mode 100644 index 0000000000000000000000000000000000000000..757a565ced4730f85c833fb2547d8e199ae68f19 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!Qq7(&jv*C{Z|_!fH5o7*c=%9% zcILh!EA=pAQKdx-Cdiev=v{eg{8Ht<{e8_NAN~b=)%W>-WDCE0PyDHGemi$BoXwcK z{>e9^za6*c1ilttWw&V+U;WCPlV9{LdC~Ey%_H(qj`xgfES(4Yz5jSTZfCt`4E$0YRsR*S^mTCR^;V&sxC8{l_Cp7w8-YPgg&ebxsLQ00$vXK>z>% literal 0 HcmV?d00001 diff --git a/docs/tabs.css b/docs/tabs.css index bbde11e..df7944b 100644 --- a/docs/tabs.css +++ b/docs/tabs.css @@ -1 +1 @@ -.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:transparent}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0px 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0px 1px 1px rgba(255,255,255,0.9);color:#283A5D;outline:none}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a.current{color:#D23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media (min-width: 768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283A5D transparent transparent transparent;background:transparent;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0px 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a:hover span.sub-arrow{border-color:#fff transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;border-radius:5px !important;box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent #fff}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #D23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#D23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all 0.25s;transition:all 0.25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked~.main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked~.main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked~.main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px, 1px, 1px, 1px)}#main-menu-state:not(:checked)~#main-menu{display:none}#main-menu-state:checked~#main-menu{display:block}@media (min-width: 768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked)~#main-menu{display:block}}.sm-dox{background-image:var(--nav-gradient-image)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0px 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:var(--nav-text-normal-shadow);color:var(--nav-text-normal-color);outline:none}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a.current{color:#D23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:var(--nav-menu-toggle-color);border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:0px 1px 1px #000}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media (min-width: 768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:var(--nav-gradient-image);line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:var(--nav-text-normal-color) transparent transparent transparent;background:transparent;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0px 12px;background-image:var(--nav-separator-image);background-repeat:no-repeat;background-position:right;border-radius:0 !important}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a:hover span.sub-arrow{border-color:var(--nav-text-hover-color) transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);border-radius:5px !important;box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--nav-menu-foreground-color);border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:var(--nav-menu-foreground-color);background-image:none;border:0 !important;color:var(--nav-menu-foreground-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent var(--nav-text-hover-color)}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #D23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#D23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:var(--nav-gradient-image)}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:var(--nav-menu-background-color)}} diff --git a/docs/telebot-common_8h.html b/docs/telebot-common_8h.html index 3b73ea3..03eae40 100644 --- a/docs/telebot-common_8h.html +++ b/docs/telebot-common_8h.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: include/telebot-common.h File Reference @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,9 +56,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    diff --git a/docs/telebot-common_8h_source.html b/docs/telebot-common_8h_source.html index 9ef4fd4..d1444f0 100644 --- a/docs/telebot-common_8h_source.html +++ b/docs/telebot-common_8h_source.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: include/telebot-common.h Source File @@ -19,10 +19,9 @@
    - - + @@ -31,19 +30,28 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + +
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    telebot-common.h
    +
    telebot-common.h
    -Go to the documentation of this file.
    1 /*
    2  * telebot
    3  *
    4  * Copyright (c) 2015 Elmurod Talipov.
    5  *
    6  * Licensed under the Apache License, Version 2.0 (the License);
    7  * you may not use this file except in compliance with the License.
    8  * You may obtain a copy of the License at
    9  *
    10  * http://www.apache.org/licenses/LICENSE-2.0
    11  *
    12  * Unless required by applicable law or agreed to in writing, software
    13  * distributed under the License is distributed on an "AS IS" BASIS,
    14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    15  * See the License for the specific language governing permissions and
    16  * limitations under the License.
    17  */
    18 
    19 #ifndef __TELEBOT_COMMON_H__
    20 #define __TELEBOT_COMMON_H__
    21 
    22 #ifdef __cplusplus
    23 extern "C" {
    24 #endif
    25 
    45 typedef enum {
    53 
    58 #ifdef __cplusplus
    59 }
    60 #endif
    61 
    62 #endif /* __TELEBOT_COMMON_H__ */
    63 
    telebot_error_e
    Enumerations of error code for telebot programming interface.
    Definition: telebot-common.h:45
    -
    Definition: telebot-common.h:46
    -
    Definition: telebot-common.h:47
    -
    Definition: telebot-common.h:50
    -
    Definition: telebot-common.h:51
    -
    Definition: telebot-common.h:48
    -
    Definition: telebot-common.h:49
    +Go to the documentation of this file.
    1/*
    +
    2 * telebot
    +
    3 *
    +
    4 * Copyright (c) 2015 Elmurod Talipov.
    +
    5 *
    +
    6 * Licensed under the Apache License, Version 2.0 (the License);
    +
    7 * you may not use this file except in compliance with the License.
    +
    8 * You may obtain a copy of the License at
    +
    9 *
    +
    10 * http://www.apache.org/licenses/LICENSE-2.0
    +
    11 *
    +
    12 * Unless required by applicable law or agreed to in writing, software
    +
    13 * distributed under the License is distributed on an "AS IS" BASIS,
    +
    14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +
    15 * See the License for the specific language governing permissions and
    +
    16 * limitations under the License.
    +
    17 */
    +
    18
    +
    19#ifndef __TELEBOT_COMMON_H__
    +
    20#define __TELEBOT_COMMON_H__
    +
    21
    +
    22#ifdef __cplusplus
    +
    23extern "C" {
    +
    24#endif
    +
    25
    + +
    53
    +
    58#ifdef __cplusplus
    +
    59}
    +
    60#endif
    +
    61
    +
    62#endif /* __TELEBOT_COMMON_H__ */
    +
    63
    +
    telebot_error_e
    Enumerations of error code for telebot programming interface.
    Definition telebot-common.h:45
    +
    @ TELEBOT_ERROR_NOT_SUPPORTED
    Definition telebot-common.h:48
    +
    @ TELEBOT_ERROR_NO_CONNECTION
    Definition telebot-common.h:50
    +
    @ TELEBOT_ERROR_INVALID_PARAMETER
    Definition telebot-common.h:51
    +
    @ TELEBOT_ERROR_OPERATION_FAILED
    Definition telebot-common.h:47
    +
    @ TELEBOT_ERROR_NONE
    Definition telebot-common.h:46
    +
    @ TELEBOT_ERROR_OUT_OF_MEMORY
    Definition telebot-common.h:49
    diff --git a/docs/telebot-core_8h.html b/docs/telebot-core_8h.html new file mode 100644 index 0000000..678448a --- /dev/null +++ b/docs/telebot-core_8h.html @@ -0,0 +1,514 @@ + + + + + + + +Telebot: include/telebot-core.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    telebot-core.h File Reference
    +
    +
    + +

    This file contains core API for the telegram bot interface. +More...

    +
    #include <stdbool.h>
    +#include <pthread.h>
    +#include "telebot-common.h"
    +
    +

    Go to the source code of this file.

    + + + + + + + + +

    +Typedefs

    +typedef struct telebot_core_handler * telebot_core_handler_t
     Telebot core handler opaque type.
     
    +typedef struct telebot_core_response * telebot_core_response_t
     Telebot core response opaque type.
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    telebot_error_e telebot_core_get_response_code (telebot_core_response_t response)
     Get response error code.
     
    const char * telebot_core_get_response_data (telebot_core_response_t response)
     Get response data.
     
    void telebot_core_put_response (telebot_core_response_t response)
     Release response data obtained with telebot core methods.
     
    telebot_error_e telebot_core_create (telebot_core_handler_t *core_h, const char *token)
     Start function to use telebot core APIs.
     
    telebot_error_e telebot_core_destroy (telebot_core_handler_t *core_h)
     Final function to use telebot core APIs.
     
    telebot_error_e telebot_core_set_proxy (telebot_core_handler_t core_h, const char *addr, const char *auth)
     Set proxy address to use telebot behind proxy.
     
    telebot_error_e telebot_core_get_proxy (telebot_core_handler_t core_h, char **addr)
     Get currently used proxy address.
     
    telebot_core_response_t telebot_core_get_updates (telebot_core_handler_t core_h, int offset, int limit, int timeout, const char *allowed_updates)
     Receive incoming updates (long polling). It will not work if an outgoing webhook is set up. In order to avoid getting duplicate updates, recalculate offset after each server response.
     
    telebot_core_response_t telebot_core_set_webhook (telebot_core_handler_t core_h, const char *url, const char *certificate, int max_connections, const char *allowed_updates)
     Specify a url and receive incoming updates via an outgoing webhook. Whenever there is an update for the bot, we will send an HTTPS POST request to the specified url, containing a JSON-serialized Update. In case of an unsuccessful request, we will give up after a reasonable amount of attempts.
     
    telebot_core_response_t telebot_core_delete_webhook (telebot_core_handler_t core_h)
     Remove webhook integration if you decide to switch back to getUpdates.
     
    telebot_core_response_t telebot_core_get_webhook_info (telebot_core_handler_t core_h)
     Get current webhook status.
     
    telebot_core_response_t telebot_core_get_me (telebot_core_handler_t core_h)
     Get basic information about the bot.
     
    telebot_core_response_t telebot_core_send_message (telebot_core_handler_t core_h, long long int chat_id, const char *text, const char *parse_mode, bool disable_web_page_preview, bool disable_notification, int reply_to_message_id, const char *reply_markup)
     Send text messages.
     
    telebot_core_response_t telebot_core_forward_message (telebot_core_handler_t core_h, long long int chat_id, long long int from_chat_id, bool disable_notification, int message_id)
     Forward messages of any kind.
     
    telebot_core_response_t telebot_core_send_photo (telebot_core_handler_t core_h, long long int chat_id, const char *photo, bool is_file, const char *caption, const char *parse_mode, bool disable_notification, int reply_to_message_id, const char *reply_markup)
     Send photos.
     
    telebot_core_response_t telebot_core_send_audio (telebot_core_handler_t core_h, long long int chat_id, const char *audio, bool is_file, const char *caption, const char *parse_mode, int duration, const char *performer, const char *title, const char *thumb, bool disable_notification, int reply_to_message_id, const char *reply_markup)
     Send audio files. if you want Telegram clients to display them in the music player. Your audio must be in the .mp3 format. Bots can currently send audio files of up to 50 MB in size. For backward compatibility, when the fields title and performer are both empty and the mime-type of the file to be sent is not audio/mpeg, the file will be sent as a playable voice message. For this to work, the audio must be in an .ogg file encoded with OPUS. For sending voice messages, use the telegram_core_send_voice() function instead.
     
    telebot_core_response_t telebot_core_send_document (telebot_core_handler_t core_h, long long int chat_id, const char *document, bool is_file, const char *thumb, const char *caption, const char *parse_mode, bool disable_notification, int reply_to_message_id, const char *reply_markup)
     Send general files.
     
    telebot_core_response_t telebot_core_send_video (telebot_core_handler_t core_h, long long int chat_id, const char *video, bool is_file, int duration, int width, int height, const char *thumb, const char *caption, const char *parse_mode, bool supports_streaming, bool disable_notification, int reply_to_message_id, const char *reply_markup)
     Send video files, Telegram clients support mp4 videos (other formats may be sent as Document).
     
    telebot_core_response_t telebot_core_send_animation (telebot_core_handler_t core_h, long long int chat_id, const char *animation, bool is_file, int duration, int width, int height, const char *thumb, const char *caption, const char *parse_mode, bool disable_notification, int reply_to_message_id, const char *reply_markup)
     Send animation files (GIF or H.264/MPEG-4 AVC without sound).
     
    telebot_core_response_t telebot_core_send_voice (telebot_core_handler_t core_h, long long int chat_id, const char *voice, bool is_file, const char *caption, const char *parse_mode, int duration, bool disable_notification, int reply_to_message_id, const char *reply_markup)
     Send audio files, if you want Telegram clients to display the file as a playable voice message. For this to work, your audio must be in an .ogg file encoded with OPUS (other formats may be sent as Audio or Document).
     
    telebot_core_response_t telebot_core_send_video_note (telebot_core_handler_t core_h, long long int chat_id, char *video_note, bool is_file, int duration, int length, const char *thumb, bool disable_notification, int reply_to_message_id, const char *reply_markup)
     Send video messages. As of v.4.0, Telegram clients support rounded square mp4 videos of up to 1 minute long.
     
    telebot_core_response_t telebot_core_send_media_group (telebot_core_handler_t core_h, long long int chat_id, char *media_paths[], int count, bool disable_notification, int reply_to_message_id)
     Send a group of photos as an album.
     
    telebot_core_response_t telebot_core_send_location (telebot_core_handler_t core_h, long long int chat_id, float latitude, float longitude, int live_period, bool disable_notification, int reply_to_message_id, const char *reply_markup)
     Send point on the map.
     
    telebot_core_response_t telebot_core_edit_message_live_location (telebot_core_handler_t core_h, long long int chat_id, int message_id, const char *inline_message_id, float latitude, float longitude, const char *reply_markup)
     Edit live location messages sent by the bot or via the bot (for inline bots). A location can be edited until its live_period expires or editing is explicitly disabled by a call to telebot_core_stop_message_live_location().
     
    telebot_core_response_t telebot_core_stop_message_live_location (telebot_core_handler_t core_h, long long int chat_id, int message_id, char *inline_message_id, const char *reply_markup)
     Stop updating a live location message sent by the bot or via the bot (for inline bots) before live_period expires.
     
    telebot_core_response_t telebot_core_send_venue (telebot_core_handler_t core_h, long long int chat_id, float latitude, float longitude, const char *title, const char *address, const char *foursquare_id, const char *foursquare_type, bool disable_notification, int reply_to_message_id, const char *reply_markup)
     Send information about a venue.
     
    telebot_core_response_t telebot_core_send_contact (telebot_core_handler_t core_h, long long int chat_id, const char *phone_number, const char *first_name, const char *last_name, const char *vcard, bool disable_notification, int reply_to_message_id, const char *reply_markup)
     Send phone contacts.
     
    telebot_core_response_t telebot_core_send_poll (telebot_core_handler_t core_h, long long int chat_id, const char *question, const char *options, bool is_anonymous, const char *type, bool allows_multiple_answers, int correct_option_id, bool is_closed, bool disable_notification, int reply_to_message_id, const char *reply_markup)
     Send a native poll.
     
    telebot_core_response_t telebot_core_send_dice (telebot_core_handler_t core_h, long long int chat_id, bool disable_notification, int reply_to_message_id, const char *reply_markup)
     Send a dice, which will have a random value from 1 to 6.
     
    telebot_core_response_t telebot_core_send_chat_action (telebot_core_handler_t core_h, long long int chat_id, const char *action)
     Tell the user that something is happening on the bot's side. The status is set for 5 seconds or less (when a message arrives from your bot, Telegram clients clear its typing status). Example: The ImageBot needs some time to process a request and upload the image. Instead of sending a text message along the lines of "Retrieving image, please wait…", the bot may use telebot_core_send_chat_action() with action = upload_photo. The user will see a "sending photo" status for the bot. It is only recommended to use when a response from the bot will take a noticeable amount of time to arrive.
     
    telebot_core_response_t telebot_core_get_user_profile_photos (telebot_core_handler_t core_h, int user_id, int offset, int limit)
     Get user profile pictures object.
     
    telebot_core_response_t telebot_core_get_file (telebot_core_handler_t core_h, const char *file_id)
     Get basic info about a file and prepare it for downloading. For the moment, bots can download files of up to 20MB in size.
     
    telebot_error_e telebot_core_download_file (telebot_core_handler_t core_h, const char *file_path, const char *out_file)
     Download file using file_path obtained with telebot_core_get_file(). It is guaranteed that the link will be valid for at least 1 hour. When the link expires, a new one can be requested by calling telebot_core_get_file() again.
     
    telebot_core_response_t telebot_core_kick_chat_member (telebot_core_handler_t core_h, long long int chat_id, int user_id, long until_date)
     Kick a user from a group, a supergroup or a channel. In the case of supergroups and channels, the user will not be able to return to the group on their own using invite links, etc., unless unbanned first. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
     
    telebot_core_response_t telebot_core_unban_chat_member (telebot_core_handler_t core_h, long long int chat_id, int user_id)
     Unban a previously kicked user in a supergroup or channel. The user will not return to the group or channel automatically, but will be able to join via link, etc. The bot must be an administrator for this to work.
     
    telebot_core_response_t telebot_core_restrict_chat_member (telebot_core_handler_t core_h, long long int chat_id, int user_id, long until_date, bool can_send_messages, bool can_send_media_messages, bool can_send_polls, bool can_send_other_messages, bool can_add_web_page_previews, bool can_change_info, bool can_invite_users, bool can_pin_messages)
     Restrict a user in a supergroup. The bot must be an administrator in the supergroup for this to work and must have the appropriate admin rights. Pass true for all boolean parameters to lift restrictions from a user.
     
    telebot_core_response_t telebot_core_promote_chat_member (telebot_core_handler_t core_h, long long int chat_id, int user_id, bool can_change_info, bool can_post_messages, bool can_edit_messages, bool can_delete_messages, bool can_invite_users, bool can_restrict_members, bool can_pin_messages, bool can_promote_members)
     Promote or demote a user in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Pass False for all boolean parameters to demote a user.
     
    telebot_core_response_t telebot_core_set_chat_admin_custom_title (telebot_core_handler_t core_h, long long int chat_id, int user_id, const char *custom_title)
     Export an invite link to a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
     
    telebot_core_response_t telebot_core_set_chat_permissions (telebot_core_handler_t core_h, long long int chat_id, bool can_send_messages, bool can_send_media_messages, bool can_send_polls, bool can_send_other_messages, bool can_add_web_page_previews, bool can_change_info, bool can_invite_users, bool can_pin_messages)
     Set default chat permissions for all members. The bot must be an administrator in the group or a supergroup for this to work and must have the 'can_restrict_members' admin rights.
     
    telebot_core_response_t telebot_core_export_chat_invite_link (telebot_core_handler_t core_h, long long int chat_id)
     Generate a new invite link for a chat; any previously generated link is revoked. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
     
    telebot_core_response_t telebot_core_set_chat_photo (telebot_core_handler_t core_h, long long int chat_id, const char *photo)
     Set a new profile photo for the chat. Photos can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
     
    telebot_core_response_t telebot_core_delete_chat_photo (telebot_core_handler_t core_h, long long int chat_id)
     Delete a chat photo. Photos can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
     
    telebot_core_response_t telebot_core_set_chat_title (telebot_core_handler_t core_h, long long int chat_id, const char *title)
     Change the title of a chat. Titles can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
     
    telebot_core_response_t telebot_core_set_chat_description (telebot_core_handler_t core_h, long long int chat_id, const char *description)
     Change the description of a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
     
    telebot_core_response_t telebot_core_pin_chat_message (telebot_core_handler_t core_h, long long int chat_id, int message_id, bool disable_notification)
     Pin a message in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the 'can_pin_messages' admin right in the supergroup or 'can_edit_messages' admin right in the channel.
     
    telebot_core_response_t telebot_core_unpin_chat_message (telebot_core_handler_t core_h, long long int chat_id)
     Unpin a message in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the 'can_pin_messages' admin right in the supergroup or 'can_edit_messages' admin right in the channel.
     
    telebot_core_response_t telebot_core_leave_chat (telebot_core_handler_t core_h, long long int chat_id)
     Leave a group, supergroup or channel.
     
    telebot_core_response_t telebot_core_get_chat (telebot_core_handler_t core_h, long long int chat_id)
     Get up to date information about the chat (current name of the user for one-on-one conversations, current username of a user, group or channel, etc).
     
    telebot_core_response_t telebot_core_get_chat_admins (telebot_core_handler_t core_h, long long int chat_id)
     Get a list of administrators in a chat. Response contains an array of objects that contains information about all chat administrators except other bots. If the chat is a group or a supergroup and no administrators were appointed, only the creator will be returned.
     
    telebot_core_response_t telebot_core_get_chat_members_count (telebot_core_handler_t core_h, long long int chat_id)
     Get the number of members in a chat.
     
    telebot_core_response_t telebot_core_get_chat_member (telebot_core_handler_t core_h, long long int chat_id, int user_id)
     Get information about a member of a chat.
     
    telebot_core_response_t telebot_core_set_chat_sticker_set (telebot_core_handler_t core_h, long long int chat_id, const char *sticker_set_name)
     Set a new group sticker set for a supergroup. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Use the field can_set_sticker_set optionally returned in telebot_core_get_chat requests to check if the bot can use it.
     
    telebot_core_response_t telebot_core_delete_chat_sticker_set (telebot_core_handler_t core_h, long long int chat_id)
     Delete a group sticker set from a supergroup. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Use the field can_set_sticker_set optionally returned in telebot_core_get_chat requests to check if the bot can use this method.
     
    telebot_core_response_t telebot_core_answer_callback_query (telebot_core_handler_t core_h, const char *callback_query_id, const char *text, bool show_alert, const char *url, int cache_time)
     Send answers to callback queries sent from inline keyboards. The answer will be displayed to the user as a notification at the top of the chat screen or as an alert.
     
    telebot_core_response_t telebot_core_set_my_commands (telebot_core_handler_t core_h, const char *commands)
     Change the list of the bot's commands.
     
    telebot_core_response_t telebot_core_get_my_commands (telebot_core_handler_t core_h)
     Get the current list of the bot's commands..
     
    telebot_core_response_t telebot_core_edit_message_text (telebot_core_handler_t core_h, long long int chat_id, int message_id, const char *inline_message_id, const char *text, const char *parse_mode, bool disable_web_page_preview, const char *reply_markup)
     Edit text and game messages sent by the bot or via the bot (for inline bots).
     
    telebot_core_response_t telebot_core_edit_message_caption (telebot_core_handler_t core_h, long long int chat_id, int message_id, const char *inline_message_id, const char *caption, const char *parse_mode, const char *reply_markup)
     Edit captions of messages sent by the bot or via the bot (for inline bots).
     
    telebot_core_response_t telebot_core_edit_message_reply_markup (telebot_core_handler_t core_h, long long int chat_id, int message_id, const char *inline_message_id, const char *reply_markup)
     Edit only the reply markup of messages sent by the bot or via the bot (for inline bots).
     
    telebot_core_response_t telebot_core_edit_message_media (telebot_core_handler_t core_h, long long int chat_id, int message_id, const char *inline_message_id, const char *media, const char *reply_markup)
     Use this method to edit animation, audio, document, photo, or video messages. If a message is part of a message album, then it can be edited only to an audio of the same type and with the same caption.
     
    telebot_core_response_t telebot_core_stop_poll (telebot_core_handler_t core_h, long long int chat_id, int message_id, const char *reply_markup)
     Stop a poll which was sent by the bot.
     
    telebot_core_response_t telebot_core_delete_message (telebot_core_handler_t core_h, long long int chat_id, int message_id)
     Delete a message, including service messages, with the following limitations:
     
    telebot_core_response_t telebot_core_log_out (telebot_core_handler_t core_h)
     Use this method to log out from the cloud Bot API server before launching the bot locally.
     
    telebot_core_response_t telebot_core_close (telebot_core_handler_t core_h)
     Use this method to close the bot instance before moving it from one local server to another.
     
    telebot_core_response_t telebot_core_set_my_name (telebot_core_handler_t core_h, const char *name, const char *language_code)
     Use this method to change the bot's name.
     
    telebot_core_response_t telebot_core_get_my_name (telebot_core_handler_t core_h, const char *language_code)
     Use this method to get the current bot name for the given user language.
     
    telebot_core_response_t telebot_core_set_my_description (telebot_core_handler_t core_h, const char *description, const char *language_code)
     Use this method to change the bot's description.
     
    telebot_core_response_t telebot_core_get_my_description (telebot_core_handler_t core_h, const char *language_code)
     Use this method to get the current bot description for the given user language.
     
    telebot_core_response_t telebot_core_set_my_short_description (telebot_core_handler_t core_h, const char *short_description, const char *language_code)
     Use this method to change the bot's short description.
     
    telebot_core_response_t telebot_core_get_my_short_description (telebot_core_handler_t core_h, const char *language_code)
     Use this method to get the current bot short description for the given user language.
     
    telebot_core_response_t telebot_core_set_chat_menu_button (telebot_core_handler_t core_h, long long int chat_id, const char *menu_button)
     Use this method to change the bot's menu button in a private chat, or the default menu button.
     
    telebot_core_response_t telebot_core_get_chat_menu_button (telebot_core_handler_t core_h, long long int chat_id)
     Use this method to get the current value of the bot's menu button in a private chat, or the default menu button.
     
    telebot_core_response_t telebot_core_set_my_default_administrator_rights (telebot_core_handler_t core_h, const char *rights, bool for_channels)
     Use this method to change the default administrator rights requested by the bot when it's added as an administrator to groups or channels.
     
    telebot_core_response_t telebot_core_get_my_default_administrator_rights (telebot_core_handler_t core_h, bool for_channels)
     Use this method to get the current default administrator rights of the bot.
     
    telebot_core_response_t telebot_core_delete_my_commands (telebot_core_handler_t core_h, const char *scope, const char *language_code)
     Use this method to delete the list of the bot's commands for the given scope and user language.
     
    telebot_core_response_t telebot_core_copy_message (telebot_core_handler_t core_h, long long int chat_id, long long int from_chat_id, int message_id, const char *caption, const char *parse_mode, const char *caption_entities, bool disable_notification, bool protect_content, int reply_to_message_id, bool allow_sending_without_reply, const char *reply_markup)
     Use this method to copy messages of any kind.
     
    telebot_core_response_t telebot_core_copy_messages (telebot_core_handler_t core_h, long long int chat_id, long long int from_chat_id, const char *message_ids, bool disable_notification, bool protect_content, bool remove_caption)
     Use this method to copy messages of any kind. Service messages, giveaway messages, giveaway winners messages, and invoice messages can't be copied.
     
    telebot_core_response_t telebot_core_forward_messages (telebot_core_handler_t core_h, long long int chat_id, long long int from_chat_id, const char *message_ids, bool disable_notification, bool protect_content)
     Use this method to forward multiple messages of any kind.
     
    telebot_core_response_t telebot_core_delete_messages (telebot_core_handler_t core_h, long long int chat_id, const char *message_ids)
     Use this method to delete multiple messages in a chat.
     
    telebot_core_response_t telebot_core_ban_chat_member (telebot_core_handler_t core_h, long long int chat_id, int user_id, long until_date, bool revoke_messages)
     Use this method to ban a user in a group, a supergroup or a channel.
     
    telebot_core_response_t telebot_core_ban_chat_sender_chat (telebot_core_handler_t core_h, long long int chat_id, long long int sender_chat_id)
     Use this method to ban a channel chat in a supergroup or a channel.
     
    telebot_core_response_t telebot_core_unban_chat_sender_chat (telebot_core_handler_t core_h, long long int chat_id, long long int sender_chat_id)
     Use this method to unban a previously banned channel chat in a supergroup or a channel.
     
    telebot_core_response_t telebot_core_create_chat_invite_link (telebot_core_handler_t core_h, long long int chat_id, const char *name, long expire_date, int member_limit, bool creates_join_request)
     Use this method to create an additional invite link for a chat.
     
    telebot_core_response_t telebot_core_edit_chat_invite_link (telebot_core_handler_t core_h, long long int chat_id, const char *invite_link, const char *name, long expire_date, int member_limit, bool creates_join_request)
     Use this method to edit a non-primary invite link created by the bot.
     
    telebot_core_response_t telebot_core_revoke_chat_invite_link (telebot_core_handler_t core_h, long long int chat_id, const char *invite_link)
     Use this method to revoke an invite link created by the bot.
     
    telebot_core_response_t telebot_core_approve_chat_join_request (telebot_core_handler_t core_h, long long int chat_id, int user_id)
     Use this method to approve a chat join request.
     
    telebot_core_response_t telebot_core_decline_chat_join_request (telebot_core_handler_t core_h, long long int chat_id, int user_id)
     Use this method to decline a chat join request.
     
    telebot_core_response_t telebot_core_set_message_reaction (telebot_core_handler_t core_h, long long int chat_id, int message_id, const char *reaction, bool is_big)
     Use this method to set a new message reaction.
     
    telebot_core_response_t telebot_core_create_forum_topic (telebot_core_handler_t core_h, long long int chat_id, const char *name, int icon_color, const char *icon_custom_emoji_id)
     Use this method to create a topic in a forum supergroup chat.
     
    telebot_core_response_t telebot_core_edit_forum_topic (telebot_core_handler_t core_h, long long int chat_id, int message_thread_id, const char *name, const char *icon_custom_emoji_id)
     Use this method to edit name and icon of a topic in a forum supergroup chat.
     
    telebot_core_response_t telebot_core_close_forum_topic (telebot_core_handler_t core_h, long long int chat_id, int message_thread_id)
     Use this method to close an open topic in a forum supergroup chat.
     
    telebot_core_response_t telebot_core_reopen_forum_topic (telebot_core_handler_t core_h, long long int chat_id, int message_thread_id)
     Use this method to reopen a closed topic in a forum supergroup chat.
     
    telebot_core_response_t telebot_core_delete_forum_topic (telebot_core_handler_t core_h, long long int chat_id, int message_thread_id)
     Use this method to delete a forum topic along with all its messages in a forum supergroup chat.
     
    telebot_core_response_t telebot_core_unpin_all_forum_topic_messages (telebot_core_handler_t core_h, long long int chat_id, int message_thread_id)
     Use this method to unpin all messages in a forum topic.
     
    telebot_core_response_t telebot_core_get_forum_topic_icon_stickers (telebot_core_handler_t core_h)
     Use this method to get custom emoji stickers, which can be used as a forum topic icon by any user.
     
    telebot_core_response_t telebot_core_edit_general_forum_topic (telebot_core_handler_t core_h, long long int chat_id, const char *name)
     Use this method to edit the name of the 'General' topic in a forum supergroup chat.
     
    telebot_core_response_t telebot_core_close_general_forum_topic (telebot_core_handler_t core_h, long long int chat_id)
     Use this method to close an open 'General' topic in a forum supergroup chat.
     
    telebot_core_response_t telebot_core_reopen_general_forum_topic (telebot_core_handler_t core_h, long long int chat_id)
     Use this method to reopen a closed 'General' topic in a forum supergroup chat.
     
    telebot_core_response_t telebot_core_hide_general_forum_topic (telebot_core_handler_t core_h, long long int chat_id)
     Use this method to hide the 'General' topic in a forum supergroup chat.
     
    telebot_core_response_t telebot_core_unhide_general_forum_topic (telebot_core_handler_t core_h, long long int chat_id)
     Use this method to unhide the 'General' topic in a forum supergroup chat.
     
    telebot_core_response_t telebot_core_unpin_all_general_forum_topic_messages (telebot_core_handler_t core_h, long long int chat_id)
     Use this method to unpin all messages in a General forum topic.
     
    telebot_core_response_t telebot_core_get_custom_emoji_stickers (telebot_core_handler_t core_h, const char *custom_emoji_ids)
     Use this method to get information about custom emoji stickers by their identifiers.
     
    telebot_core_response_t telebot_core_answer_web_app_query (telebot_core_handler_t core_h, const char *web_app_query_id, const char *result)
     Use this method to send answers to an inline query to a user from a Web App.
     
    telebot_core_response_t telebot_core_send_paid_media (telebot_core_handler_t core_h, long long int chat_id, int star_count, const char *media, const char *caption, const char *parse_mode, const char *caption_entities, bool show_caption_above_media, bool disable_notification, bool protect_content, const char *reply_parameters, const char *reply_markup)
     Use this method to send paid media to a user.
     
    telebot_core_response_t telebot_core_answer_inline_query (telebot_core_handler_t core_h, const char *inline_query_id, const char *results, int cache_time, bool is_personal, const char *next_offset, const char *button)
     Use this method to send answers to an inline query.
     
    telebot_core_response_t telebot_core_save_prepared_inline_message (telebot_core_handler_t core_h, long long int user_id, const char *result, bool allow_user_chats, bool allow_bot_chats, bool allow_group_chats, bool allow_channel_chats)
     Use this method to save a prepared inline message.
     
    telebot_core_response_t telebot_core_send_gift (telebot_core_handler_t core_h, long long int user_id, long long int chat_id, const char *gift_id, bool pay_for_upgrade, const char *text, const char *text_parse_mode, const char *text_entities)
     Use this method to send a gift.
     
    telebot_core_response_t telebot_core_gift_premium_subscription (telebot_core_handler_t core_h, long long int user_id, int month_count, int star_count, const char *text, const char *text_parse_mode, const char *text_entities)
     Use this method to gift a Telegram Premium subscription to a user.
     
    telebot_core_response_t telebot_core_get_my_star_balance (telebot_core_handler_t core_h)
     Use this method to get the current Telegram Stars balance of the bot.
     
    telebot_core_response_t telebot_core_get_star_transactions (telebot_core_handler_t core_h, int offset, int limit)
     Use this method to get the bot's Telegram Star transactions.
     
    telebot_core_response_t telebot_core_refund_star_payment (telebot_core_handler_t core_h, long long int user_id, const char *telegram_payment_charge_id)
     Use this method to refund a successful payment in Telegram Stars.
     
    telebot_core_response_t telebot_core_get_available_gifts (telebot_core_handler_t core_h)
     Use this method to get a list of gifts that can be sent by the bot to users.
     
    telebot_core_response_t telebot_core_get_user_gifts (telebot_core_handler_t core_h, long long int user_id, int offset, int limit)
     Use this method to get a list of gifts received by a user.
     
    telebot_core_response_t telebot_core_get_chat_gifts (telebot_core_handler_t core_h, long long int chat_id, int offset, int limit)
     Use this method to get a list of gifts received by a chat.
     
    telebot_core_response_t telebot_core_upgrade_gift (telebot_core_handler_t core_h, const char *gift_id, bool pay_for_upgrade, const char *text, const char *text_parse_mode, const char *text_entities)
     Use this method to upgrade a gift.
     
    telebot_core_response_t telebot_core_transfer_gift (telebot_core_handler_t core_h, long long int user_id, long long int chat_id, const char *gift_id)
     Use this method to transfer a gift.
     
    telebot_core_response_t telebot_core_convert_gift_to_stars (telebot_core_handler_t core_h, const char *gift_id)
     Use this method to convert a gift to Telegram Stars.
     
    telebot_core_response_t telebot_core_get_user_profile_audios (telebot_core_handler_t core_h, long long int user_id, int offset, int limit)
     Use this method to get user profile audios.
     
    telebot_core_response_t telebot_core_set_my_profile_photo (telebot_core_handler_t core_h, const char *photo)
     Use this method to set the bot's profile photo.
     
    telebot_core_response_t telebot_core_remove_my_profile_photo (telebot_core_handler_t core_h, const char *photo_id)
     Use this method to remove the bot's profile photo.
     
    telebot_core_response_t telebot_core_get_business_connection (telebot_core_handler_t core_h, const char *business_connection_id)
     Use this method to get information about the business connection.
     
    telebot_core_response_t telebot_core_get_user_chat_boosts (telebot_core_handler_t core_h, long long int chat_id, long long int user_id)
     Use this method to get user chat boosts.
     
    +telebot_core_response_t telebot_core_set_game_score (telebot_core_handler_t core_h, long long int user_id, int score, bool force, bool disable_edit_message, long long int chat_id, int message_id, const char *inline_message_id)
     Use this method to set the score of the specified user in a game.
     
    +telebot_core_response_t telebot_core_get_game_high_scores (telebot_core_handler_t core_h, long long int user_id, long long int chat_id, int message_id, const char *inline_message_id)
     Use this method to get data for high score tables.
     
    +telebot_core_response_t telebot_core_send_game (telebot_core_handler_t core_h, long long int chat_id, int message_thread_id, const char *game_short_name, bool disable_notification, bool protect_content, const char *reply_parameters, const char *reply_markup)
     Use this method to send a game.
     
    +telebot_core_response_t telebot_core_set_passport_data_errors (telebot_core_handler_t core_h, long long int user_id, const char *errors)
     Use this method to set passport data errors.
     
    +telebot_core_response_t telebot_core_send_invoice (telebot_core_handler_t core_h, long long int chat_id, int message_thread_id, const char *title, const char *description, const char *payload, const char *provider_token, const char *currency, const char *prices, int max_tip_amount, const char *suggested_tip_amounts, const char *start_parameter, const char *provider_data, const char *photo_url, int photo_size, int photo_width, int photo_height, bool need_name, bool need_phone_number, bool need_email, bool need_shipping_address, bool send_phone_number_to_provider, bool send_email_to_provider, bool is_flexible, bool disable_notification, bool protect_content, const char *reply_parameters, const char *reply_markup)
     Use this method to send an invoice.
     
    +telebot_core_response_t telebot_core_create_invoice_link (telebot_core_handler_t core_h, const char *title, const char *description, const char *payload, const char *provider_token, const char *currency, const char *prices, int max_tip_amount, const char *suggested_tip_amounts, const char *provider_data, const char *photo_url, int photo_size, int photo_width, int photo_height, bool need_name, bool need_phone_number, bool need_email, bool need_shipping_address, bool send_phone_number_to_provider, bool send_email_to_provider, bool is_flexible)
     Use this method to create a link for an invoice.
     
    +telebot_core_response_t telebot_core_answer_shipping_query (telebot_core_handler_t core_h, const char *shipping_query_id, bool ok, const char *shipping_options, const char *error_message)
     Use this method to reply to shipping queries.
     
    +telebot_core_response_t telebot_core_answer_pre_checkout_query (telebot_core_handler_t core_h, const char *pre_checkout_query_id, bool ok, const char *error_message)
     Use this method to respond to pre-checkout queries.
     
    +

    Detailed Description

    +

    This file contains core API for the telegram bot interface.

    +
    Author
    Elmurod Talipov
    +
    Date
    2026-02-28
    +
    + + + + diff --git a/docs/telebot-core_8h_source.html b/docs/telebot-core_8h_source.html index 87e346f..d01efda 100644 --- a/docs/telebot-core_8h_source.html +++ b/docs/telebot-core_8h_source.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: include/telebot-core.h Source File @@ -19,10 +19,9 @@
    - - + @@ -31,19 +30,28 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + +
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    telebot-core.h
    +
    telebot-core.h
    -
    1 /*
    2  * telebot
    3  *
    4  * Copyright (c) 2015 Elmurod Talipov.
    5  *
    6  * Licensed under the Apache License, Version 2.0 (the License);
    7  * you may not use this file except in compliance with the License.
    8  * You may obtain a copy of the License at
    9  *
    10  * http://www.apache.org/licenses/LICENSE-2.0
    11  *
    12  * Unless required by applicable law or agreed to in writing, software
    13  * distributed under the License is distributed on an "AS IS" BASIS,
    14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    15  * See the License for the specific language governing permissions and
    16  * limitations under the License.
    17  */
    18 
    19 #ifndef __TELEBOT_CORE_API_H__
    20 #define __TELEBOT_CORE_API_H__
    21 
    22 #include <stdbool.h>
    23 #include <pthread.h>
    24 
    25 #ifdef __cplusplus
    26 extern "C" {
    27 #endif
    28 
    50 typedef struct telebot_core_handler {
    51  char *token;
    52  char *proxy_addr;
    53  char *proxy_auth;
    55 
    59 typedef struct telebot_core_response {
    60  size_t size;
    61  char *data;
    63 
    76 
    88 
    98  const char *auth);
    99 
    108 
    129  int limit, int timeout, const char *allowed_updates,
    130  telebot_core_response_t *response);
    131 
    152  const char *certificate, int max_connections, const char *allowed_updates,
    153  telebot_core_response_t *response);
    154 
    162  telebot_core_response_t *response);
    163 
    171  telebot_core_response_t *response);
    172 
    180  telebot_core_response_t *response);
    181 
    201  long long int chat_id, const char *text, const char *parse_mode,
    202  bool disable_web_page_preview, bool disable_notification, int reply_to_message_id,
    203  const char *reply_markup, telebot_core_response_t *response);
    204 
    220  long long int chat_id, long long int from_chat_id, bool disable_notification,
    221  int message_id, telebot_core_response_t *response);
    222 
    245  long long int chat_id, const char *photo, bool is_file, const char *caption,
    246  const char *parse_mode, bool disable_notification, int reply_to_message_id,
    247  const char *reply_markup, telebot_core_response_t *response);
    248 
    283  long long int chat_id, const char *audio, bool is_file, const char *caption,
    284  const char *parse_mode, int duration, const char *performer, const char *title,
    285  const char *thumb, bool disable_notification, int reply_to_message_id,
    286  const char *reply_markup, telebot_core_response_t *response);
    287 
    313  long long int chat_id, const char *document, bool is_file, const char *thumb,
    314  const char *caption, const char *parse_mode, bool disable_notification,
    315  int reply_to_message_id, const char *reply_markup,
    316  telebot_core_response_t *response);
    317 
    348  long long int chat_id, const char *video, bool is_file, int duration,
    349  int width, int height, const char *thumb, const char *caption,
    350  const char *parse_mode, bool supports_streaming, bool disable_notification,
    351  int reply_to_message_id, const char *reply_markup,
    352  telebot_core_response_t *response);
    353 
    381  long long int chat_id, const char *animation, bool is_file, int duration,
    382  int width, int height, const char *thumb, const char *caption,
    383  const char *parse_mode, bool disable_notification, int reply_to_message_id,
    384  const char *reply_markup, telebot_core_response_t *response);
    385 
    409  long long int chat_id, const char *voice, bool is_file, const char *caption,
    410  const char *parse_mode, int duration, bool disable_notification,
    411  int reply_to_message_id, const char *reply_markup,
    412  telebot_core_response_t *response);
    413 
    439  long long int chat_id, char *video_note, bool is_file, int duration, int length,
    440  const char *thumb, bool disable_notification, int reply_to_message_id,
    441  const char *reply_markup, telebot_core_response_t *response);
    442 
    462  long long int chat_id, float latitude, float longitude, int live_period,
    463  bool disable_notification, int reply_to_message_id, const char *reply_markup,
    464  telebot_core_response_t *response);
    465 
    485  long long int chat_id, int message_id, const char *inline_message_id,
    486  float latitude, float longitude, const char *reply_markup,
    487  telebot_core_response_t *response);
    488 
    505  long long int chat_id, int message_id, char *inline_message_id,
    506  const char *reply_markup, telebot_core_response_t *response);
    507 
    530  long long int chat_id, float latitude, float longitude, const char *title,
    531  const char *address, const char *foursquare_id, const char *foursquare_type,
    532  bool disable_notification, int reply_to_message_id, const char *reply_markup,
    533  telebot_core_response_t *response);
    534 
    555  long long int chat_id, const char *phone_number, const char *first_name,
    556  const char *last_name, const char *vcard, bool disable_notification,
    557  int reply_to_message_id, const char *reply_markup,
    558  telebot_core_response_t *response);
    559 
    587  long long int chat_id, const char *question, const char *options,
    588  bool is_anonymous, const char *type, bool allows_multiple_answers,
    589  int correct_option_id, bool is_closed, bool disable_notification,
    590  int reply_to_message_id, const char *reply_markup,
    591  telebot_core_response_t *response);
    592 
    609  long long int chat_id, bool disable_notification,
    610  int reply_to_message_id, const char *reply_markup,
    611  telebot_core_response_t *response);
    612 
    635  long long int chat_id, const char *action, telebot_core_response_t *response);
    636 
    650  int user_id, int offset, int limit, telebot_core_response_t *response);
    651 
    662  telebot_core_response_t *response);
    663 
    676  const char *file_path, const char *out_file);
    677 
    696  long long int chat_id, int user_id, long until_date,
    697  telebot_core_response_t *response);
    698 
    712  long long int chat_id, int user_id, telebot_core_response_t *response);
    713 
    747  long long int chat_id, int user_id, long until_date, bool can_send_messages,
    748  bool can_send_media_messages, bool can_send_polls, bool can_send_other_messages,
    749  bool can_add_web_page_previews, bool can_change_info, bool can_invite_users,
    750  bool can_pin_messages, telebot_core_response_t *response);
    751 
    783  long long int chat_id, int user_id, bool can_change_info, bool can_post_messages,
    784  bool can_edit_messages, bool can_delete_messages, bool can_invite_users,
    785  bool can_restrict_members, bool can_pin_messages, bool can_promote_members,
    786  telebot_core_response_t *response);
    787 
    803  long long int chat_id, int user_id, const char *custom_title,
    804  telebot_core_response_t *response);
    805 
    835  long long int chat_id, bool can_send_messages, bool can_send_media_messages,
    836  bool can_send_polls, bool can_send_other_messages, bool can_add_web_page_previews,
    837  bool can_change_info, bool can_invite_users, bool can_pin_messages,
    838  telebot_core_response_t *response);
    839 
    852  long long int chat_id, telebot_core_response_t *response);
    853 
    867  long long int chat_id, const char *photo, telebot_core_response_t *response);
    868 
    881  long long int chat_id, telebot_core_response_t *response);
    882 
    896  long long int chat_id, const char *title, telebot_core_response_t *response);
    897 
    911  long long int chat_id, const char *description,
    912  telebot_core_response_t *response);
    913 
    930  long long int chat_id, int message_id, bool disable_notification,
    931  telebot_core_response_t *response);
    932 
    945  long long int chat_id, telebot_core_response_t *response);
    946 
    957  long long int chat_id, telebot_core_response_t *response);
    958 
    970  long long int chat_id, telebot_core_response_t *response);
    971 
    985  long long int chat_id, telebot_core_response_t *response);
    986 
    997  long long int chat_id, telebot_core_response_t *response);
    998 
    1010  long long int chat_id, int user_id, telebot_core_response_t *response);
    1011 
    1027  long long int chat_id, const char *sticker_set_name,
    1028  telebot_core_response_t *response);
    1029 
    1043  long long int chat_id, telebot_core_response_t *response);
    1044 
    1067  const char *callback_query_id, const char *text, bool show_alert,
    1068  const char *url, int cache_time, telebot_core_response_t *response);
    1069 
    1080  const char *commands, telebot_core_response_t *response);
    1081 
    1090  telebot_core_response_t *response);
    1091 
    1111  long long int chat_id, int message_id, const char *inline_message_id,
    1112  const char *text, const char *parse_mode, bool disable_web_page_preview,
    1113  const char *reply_markup, telebot_core_response_t *response);
    1114 
    1131  long long int chat_id, int message_id, const char *inline_message_id,
    1132  const char *caption, const char *parse_mode, const char *reply_markup,
    1133  telebot_core_response_t *response);
    1134 
    1152  long long int chat_id, int message_id, const char *inline_message_id,
    1153  const char *reply_markup, telebot_core_response_t *response);
    1154 
    1171  long long int chat_id, int message_id, const char *reply_markup,
    1172  telebot_core_response_t *response);
    1173 
    1174 
    1193  long long int chat_id, int message_id, telebot_core_response_t *response);
    1194 
    1195 
    1201 
    1206 #ifdef __cplusplus
    1207 }
    1208 #endif
    1209 
    1210 #endif /* __TELEBOT_CORE_API_H__ */
    telebot_error_e
    Enumerations of error code for telebot programming interface.
    Definition: telebot-common.h:45
    -
    telebot_error_e telebot_core_send_message(telebot_core_handler_t *core_h, long long int chat_id, const char *text, const char *parse_mode, bool disable_web_page_preview, bool disable_notification, int reply_to_message_id, const char *reply_markup, telebot_core_response_t *response)
    Send text messages.
    -
    telebot_error_e telebot_core_export_chat_invite_link(telebot_core_handler_t *core_h, long long int chat_id, telebot_core_response_t *response)
    Generate a new invite link for a chat; any previously generated link is revoked. The bot must be an a...
    -
    telebot_error_e telebot_core_get_chat(telebot_core_handler_t *core_h, long long int chat_id, telebot_core_response_t *response)
    Get up to date information about the chat (current name of the user for one-on-one conversations...
    -
    telebot_error_e telebot_core_send_poll(telebot_core_handler_t *core_h, long long int chat_id, const char *question, const char *options, bool is_anonymous, const char *type, bool allows_multiple_answers, int correct_option_id, bool is_closed, bool disable_notification, int reply_to_message_id, const char *reply_markup, telebot_core_response_t *response)
    Send a native poll.
    -
    telebot_error_e telebot_core_edit_message_text(telebot_core_handler_t *core_h, long long int chat_id, int message_id, const char *inline_message_id, const char *text, const char *parse_mode, bool disable_web_page_preview, const char *reply_markup, telebot_core_response_t *response)
    Edit text and game messages sent by the bot or via the bot (for inline bots).
    -
    telebot_error_e telebot_core_get_user_profile_photos(telebot_core_handler_t *core_h, int user_id, int offset, int limit, telebot_core_response_t *response)
    Get user profile pictures object.
    -
    telebot_error_e telebot_core_get_me(telebot_core_handler_t *core_h, telebot_core_response_t *response)
    Get basic information about the bot.
    -
    This object represents a core telebot handler.
    Definition: telebot-core.h:50
    -
    telebot_error_e telebot_core_stop_poll(telebot_core_handler_t *core_h, long long int chat_id, int message_id, const char *reply_markup, telebot_core_response_t *response)
    Stop a poll which was sent by the bot.
    -
    telebot_error_e telebot_core_get_proxy(telebot_core_handler_t *core_h, char **addr)
    Get currently used proxy address.
    -
    telebot_error_e telebot_core_set_chat_title(telebot_core_handler_t *core_h, long long int chat_id, const char *title, telebot_core_response_t *response)
    Change the title of a chat. Titles can&#39;t be changed for private chats. The bot must be an administrat...
    -
    telebot_error_e telebot_core_edit_message_caption(telebot_core_handler_t *core_h, long long int chat_id, int message_id, const char *inline_message_id, const char *caption, const char *parse_mode, const char *reply_markup, telebot_core_response_t *response)
    Edit captions of messages sent by the bot or via the bot (for inline bots).
    -
    telebot_error_e telebot_core_answer_callback_query(telebot_core_handler_t *core_h, const char *callback_query_id, const char *text, bool show_alert, const char *url, int cache_time, telebot_core_response_t *response)
    Send answers to callback queries sent from inline keyboards. The answer will be displayed to the user...
    -
    telebot_error_e telebot_core_get_chat_admins(telebot_core_handler_t *core_h, long long int chat_id, telebot_core_response_t *response)
    Get a list of administrators in a chat. Response contains an array of objects that contains informati...
    -
    telebot_error_e telebot_core_set_my_commands(telebot_core_handler_t *core_h, const char *commands, telebot_core_response_t *response)
    Change the list of the bot&#39;s commands.
    -
    void telebot_core_put_response(telebot_core_response_t *response)
    Release response data obtained with telebot core methods.
    -
    telebot_error_e telebot_core_get_webhook_info(telebot_core_handler_t *core_h, telebot_core_response_t *response)
    Get current webhook status.
    -
    telebot_error_e telebot_core_stop_message_live_location(telebot_core_handler_t *core_h, long long int chat_id, int message_id, char *inline_message_id, const char *reply_markup, telebot_core_response_t *response)
    Stop updating a live location message sent by the bot or via the bot (for inline bots) before live_pe...
    -
    telebot_error_e telebot_core_destroy(telebot_core_handler_t **core_h)
    Final function to use telebot core APIs.
    -
    telebot_error_e telebot_core_create(telebot_core_handler_t **core_h, const char *token)
    Start function to use telebot core APIs.
    -
    telebot_error_e telebot_core_send_audio(telebot_core_handler_t *core_h, long long int chat_id, const char *audio, bool is_file, const char *caption, const char *parse_mode, int duration, const char *performer, const char *title, const char *thumb, bool disable_notification, int reply_to_message_id, const char *reply_markup, telebot_core_response_t *response)
    Send audio files. if you want Telegram clients to display them in the music player. Your audio must be in the .mp3 format. Bots can currently send audio files of up to 50 MB in size. For backward compatibility, when the fields title and performer are both empty and the mime-type of the file to be sent is not audio/mpeg, the file will be sent as a playable voice message. For this to work, the audio must be in an .ogg file encoded with OPUS. For sending voice messages, use the telegram_core_send_voice() function instead.
    -
    telebot_error_e telebot_core_delete_chat_photo(telebot_core_handler_t *core_h, long long int chat_id, telebot_core_response_t *response)
    Delete a chat photo. Photos can&#39;t be changed for private chats. The bot must be an administrator in t...
    -
    telebot_error_e telebot_core_download_file(telebot_core_handler_t *core_h, const char *file_path, const char *out_file)
    Download file using file_path obtained with telebot_core_get_file(). It is guaranteed that the link w...
    -
    telebot_error_e telebot_core_send_photo(telebot_core_handler_t *core_h, long long int chat_id, const char *photo, bool is_file, const char *caption, const char *parse_mode, bool disable_notification, int reply_to_message_id, const char *reply_markup, telebot_core_response_t *response)
    Send photos.
    -
    telebot_error_e telebot_core_get_chat_members_count(telebot_core_handler_t *core_h, long long int chat_id, telebot_core_response_t *response)
    Get the number of members in a chat.
    -
    char * token
    Definition: telebot-core.h:51
    -
    telebot_error_e telebot_core_restrict_chat_member(telebot_core_handler_t *core_h, long long int chat_id, int user_id, long until_date, bool can_send_messages, bool can_send_media_messages, bool can_send_polls, bool can_send_other_messages, bool can_add_web_page_previews, bool can_change_info, bool can_invite_users, bool can_pin_messages, telebot_core_response_t *response)
    Restrict a user in a supergroup. The bot must be an administrator in the supergroup for this to work ...
    -
    telebot_error_e telebot_core_unpin_chat_message(telebot_core_handler_t *core_h, long long int chat_id, telebot_core_response_t *response)
    Unpin a message in a supergroup or a channel. The bot must be an administrator in the chat for this t...
    -
    telebot_error_e telebot_core_set_proxy(telebot_core_handler_t *core_h, const char *addr, const char *auth)
    Set proxy address to use telebot behind proxy.
    -
    telebot_error_e telebot_core_send_voice(telebot_core_handler_t *core_h, long long int chat_id, const char *voice, bool is_file, const char *caption, const char *parse_mode, int duration, bool disable_notification, int reply_to_message_id, const char *reply_markup, telebot_core_response_t *response)
    Send audio files, if you want Telegram clients to display the file as a playable voice message...
    -
    telebot_error_e telebot_core_forward_message(telebot_core_handler_t *core_h, long long int chat_id, long long int from_chat_id, bool disable_notification, int message_id, telebot_core_response_t *response)
    Forward messages of any kind.
    -
    struct telebot_core_response telebot_core_response_t
    This object represents a telegram bot response.
    -
    telebot_error_e telebot_core_unban_chat_member(telebot_core_handler_t *core_h, long long int chat_id, int user_id, telebot_core_response_t *response)
    Unban a previously kicked user in a supergroup or channel. The user will not return to the group or c...
    -
    This object represents a telegram bot response.
    Definition: telebot-core.h:59
    -
    telebot_error_e telebot_core_edit_message_reply_markup(telebot_core_handler_t *core_h, long long int chat_id, int message_id, const char *inline_message_id, const char *reply_markup, telebot_core_response_t *response)
    Edit only the reply markup of messages sent by the bot or via the bot (for inline bots)...
    -
    telebot_error_e telebot_core_send_video_note(telebot_core_handler_t *core_h, long long int chat_id, char *video_note, bool is_file, int duration, int length, const char *thumb, bool disable_notification, int reply_to_message_id, const char *reply_markup, telebot_core_response_t *response)
    Send video messages. As of v.4.0, Telegram clients support rounded square mp4 videos of up to 1 minut...
    -
    telebot_error_e telebot_core_set_chat_photo(telebot_core_handler_t *core_h, long long int chat_id, const char *photo, telebot_core_response_t *response)
    Set a new profile photo for the chat. Photos can&#39;t be changed for private chats. The bot must be an a...
    -
    telebot_error_e telebot_core_send_venue(telebot_core_handler_t *core_h, long long int chat_id, float latitude, float longitude, const char *title, const char *address, const char *foursquare_id, const char *foursquare_type, bool disable_notification, int reply_to_message_id, const char *reply_markup, telebot_core_response_t *response)
    Send information about a venue.
    -
    telebot_error_e telebot_core_send_location(telebot_core_handler_t *core_h, long long int chat_id, float latitude, float longitude, int live_period, bool disable_notification, int reply_to_message_id, const char *reply_markup, telebot_core_response_t *response)
    Send point on the map.
    -
    telebot_error_e telebot_core_kick_chat_member(telebot_core_handler_t *core_h, long long int chat_id, int user_id, long until_date, telebot_core_response_t *response)
    Kick a user from a group, a supergroup or a channel. In the case of supergroups and channels...
    -
    telebot_error_e telebot_core_get_file(telebot_core_handler_t *core_h, const char *file_id, telebot_core_response_t *response)
    Get basic info about a file and prepare it for downloading. For the moment, bots can download files o...
    -
    telebot_error_e telebot_core_set_chat_description(telebot_core_handler_t *core_h, long long int chat_id, const char *description, telebot_core_response_t *response)
    Change the description of a supergroup or a channel. The bot must be an administrator in the chat for...
    -
    telebot_error_e telebot_core_leave_chat(telebot_core_handler_t *core_h, long long int chat_id, telebot_core_response_t *response)
    Leave a group, supergroup or channel.
    -
    telebot_error_e telebot_core_delete_message(telebot_core_handler_t *core_h, long long int chat_id, int message_id, telebot_core_response_t *response)
    Delete a message, including service messages, with the following limitations:
    -
    telebot_error_e telebot_core_get_updates(telebot_core_handler_t *core_h, int offset, int limit, int timeout, const char *allowed_updates, telebot_core_response_t *response)
    Receive incoming updates (long polling). It will not work if an outgoing webhook is set up...
    -
    telebot_error_e telebot_core_send_chat_action(telebot_core_handler_t *core_h, long long int chat_id, const char *action, telebot_core_response_t *response)
    Tell the user that something is happening on the bot&#39;s side. The status is set for 5 seconds or less ...
    -
    char * data
    Definition: telebot-core.h:61
    -
    telebot_error_e telebot_core_send_dice(telebot_core_handler_t *core_h, long long int chat_id, bool disable_notification, int reply_to_message_id, const char *reply_markup, telebot_core_response_t *response)
    Send a dice, which will have a random value from 1 to 6.
    -
    struct telebot_core_handler telebot_core_handler_t
    This object represents a core telebot handler.
    -
    size_t size
    Definition: telebot-core.h:60
    -
    telebot_error_e telebot_core_set_chat_permissions(telebot_core_handler_t *core_h, long long int chat_id, bool can_send_messages, bool can_send_media_messages, bool can_send_polls, bool can_send_other_messages, bool can_add_web_page_previews, bool can_change_info, bool can_invite_users, bool can_pin_messages, telebot_core_response_t *response)
    Set default chat permissions for all members. The bot must be an administrator in the group or a supe...
    -
    telebot_error_e telebot_core_promote_chat_member(telebot_core_handler_t *core_h, long long int chat_id, int user_id, bool can_change_info, bool can_post_messages, bool can_edit_messages, bool can_delete_messages, bool can_invite_users, bool can_restrict_members, bool can_pin_messages, bool can_promote_members, telebot_core_response_t *response)
    Promote or demote a user in a supergroup or a channel. The bot must be an administrator in the chat f...
    -
    telebot_error_e telebot_core_send_video(telebot_core_handler_t *core_h, long long int chat_id, const char *video, bool is_file, int duration, int width, int height, const char *thumb, const char *caption, const char *parse_mode, bool supports_streaming, bool disable_notification, int reply_to_message_id, const char *reply_markup, telebot_core_response_t *response)
    Send video files, Telegram clients support mp4 videos (other formats may be sent as Document)...
    -
    telebot_error_e telebot_core_send_document(telebot_core_handler_t *core_h, long long int chat_id, const char *document, bool is_file, const char *thumb, const char *caption, const char *parse_mode, bool disable_notification, int reply_to_message_id, const char *reply_markup, telebot_core_response_t *response)
    Send general files.
    -
    telebot_error_e telebot_core_delete_webhook(telebot_core_handler_t *core_h, telebot_core_response_t *response)
    Remove webhook integration if you decide to switch back to getUpdates.
    -
    telebot_error_e telebot_core_send_contact(telebot_core_handler_t *core_h, long long int chat_id, const char *phone_number, const char *first_name, const char *last_name, const char *vcard, bool disable_notification, int reply_to_message_id, const char *reply_markup, telebot_core_response_t *response)
    Send phone contacts.
    -
    telebot_error_e telebot_core_send_animation(telebot_core_handler_t *core_h, long long int chat_id, const char *animation, bool is_file, int duration, int width, int height, const char *thumb, const char *caption, const char *parse_mode, bool disable_notification, int reply_to_message_id, const char *reply_markup, telebot_core_response_t *response)
    Send animation files (GIF or H.264/MPEG-4 AVC without sound).
    -
    telebot_error_e telebot_core_get_chat_member(telebot_core_handler_t *core_h, long long int chat_id, int user_id, telebot_core_response_t *response)
    Get information about a member of a chat.
    -
    telebot_error_e telebot_core_pin_chat_message(telebot_core_handler_t *core_h, long long int chat_id, int message_id, bool disable_notification, telebot_core_response_t *response)
    Pin a message in a supergroup or a channel. The bot must be an administrator in the chat for this to ...
    -
    telebot_error_e telebot_core_edit_message_live_location(telebot_core_handler_t *core_h, long long int chat_id, int message_id, const char *inline_message_id, float latitude, float longitude, const char *reply_markup, telebot_core_response_t *response)
    Edit live location messages sent by the bot or via the bot (for inline bots). A location can be edite...
    -
    telebot_error_e telebot_core_set_chat_sticker_set(telebot_core_handler_t *core_h, long long int chat_id, const char *sticker_set_name, telebot_core_response_t *response)
    Set a new group sticker set for a supergroup. The bot must be an administrator in the chat for this t...
    -
    telebot_error_e telebot_core_get_my_commands(telebot_core_handler_t *core_h, telebot_core_response_t *response)
    Get the current list of the bot&#39;s commands..
    -
    telebot_error_e telebot_core_delete_chat_sticker_set(telebot_core_handler_t *core_h, long long int chat_id, telebot_core_response_t *response)
    Delete a group sticker set from a supergroup. The bot must be an administrator in the chat for this t...
    -
    telebot_error_e telebot_core_set_chat_admin_custom_title(telebot_core_handler_t *core_h, long long int chat_id, int user_id, const char *custom_title, telebot_core_response_t *response)
    Export an invite link to a supergroup or a channel. The bot must be an administrator in the chat for ...
    -
    telebot_error_e telebot_core_set_webhook(telebot_core_handler_t *core_h, const char *url, const char *certificate, int max_connections, const char *allowed_updates, telebot_core_response_t *response)
    Specify a url and receive incoming updates via an outgoing webhook. Whenever there is an update for t...
    +Go to the documentation of this file.
    1/*
    +
    2 * telebot
    +
    3 *
    +
    4 * Copyright (c) 2015 Elmurod Talipov.
    +
    5 *
    +
    6 * Licensed under the Apache License, Version 2.0 (the License);
    +
    7 * you may not use this file except in compliance with the License.
    +
    8 * You may obtain a copy of the License at
    +
    9 *
    +
    10 * http://www.apache.org/licenses/LICENSE-2.0
    +
    11 *
    +
    12 * Unless required by applicable law or agreed to in writing, software
    +
    13 * distributed under the License is distributed on an "AS IS" BASIS,
    +
    14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +
    15 * See the License for the specific language governing permissions and
    +
    16 * limitations under the License.
    +
    17 */
    +
    18
    +
    19#ifndef __TELEBOT_CORE_API_H__
    +
    20#define __TELEBOT_CORE_API_H__
    +
    21
    +
    22#include <stdbool.h>
    +
    23#include <pthread.h>
    +
    24#include "telebot-common.h"
    +
    25
    +
    26#ifdef __cplusplus
    +
    27extern "C"
    +
    28{
    +
    29#endif
    +
    30
    +
    51typedef struct telebot_core_handler *telebot_core_handler_t;
    +
    52
    +
    56typedef struct telebot_core_response *telebot_core_response_t;
    +
    57
    + +
    65
    + +
    73
    + +
    79
    + +
    92
    + +
    104
    + +
    114 const char *auth);
    +
    115
    + +
    124
    + +
    147 int offset, int limit, int timeout, const char *allowed_updates);
    +
    148
    + +
    171 const char *url, const char *certificate, int max_connections,
    +
    172 const char *allowed_updates);
    +
    173
    + +
    183
    + +
    193
    + +
    204
    + +
    225 long long int chat_id, const char *text, const char *parse_mode,
    +
    226 bool disable_web_page_preview, bool disable_notification,
    +
    227 int reply_to_message_id, const char *reply_markup);
    +
    228
    + +
    245 long long int chat_id, long long int from_chat_id, bool disable_notification,
    +
    246 int message_id);
    +
    247
    + +
    271 long long int chat_id, const char *photo, bool is_file, const char *caption,
    +
    272 const char *parse_mode, bool disable_notification, int reply_to_message_id,
    +
    273 const char *reply_markup);
    +
    274
    + +
    310 long long int chat_id, const char *audio, bool is_file, const char *caption,
    +
    311 const char *parse_mode, int duration, const char *performer, const char *title,
    +
    312 const char *thumb, bool disable_notification, int reply_to_message_id,
    +
    313 const char *reply_markup);
    +
    314
    + +
    341 long long int chat_id, const char *document, bool is_file, const char *thumb,
    +
    342 const char *caption, const char *parse_mode, bool disable_notification,
    +
    343 int reply_to_message_id, const char *reply_markup);
    +
    344
    + +
    376 long long int chat_id, const char *video, bool is_file, int duration,
    +
    377 int width, int height, const char *thumb, const char *caption,
    +
    378 const char *parse_mode, bool supports_streaming, bool disable_notification,
    +
    379 int reply_to_message_id, const char *reply_markup);
    +
    380
    + +
    409 long long int chat_id, const char *animation, bool is_file, int duration,
    +
    410 int width, int height, const char *thumb, const char *caption,
    +
    411 const char *parse_mode, bool disable_notification, int reply_to_message_id,
    +
    412 const char *reply_markup);
    +
    413
    + +
    438 long long int chat_id, const char *voice, bool is_file, const char *caption,
    +
    439 const char *parse_mode, int duration, bool disable_notification,
    +
    440 int reply_to_message_id, const char *reply_markup);
    +
    441
    + +
    468 long long int chat_id, char *video_note, bool is_file, int duration, int length,
    +
    469 const char *thumb, bool disable_notification, int reply_to_message_id,
    +
    470 const char *reply_markup);
    +
    471
    + +
    487 long long int chat_id, char *media_paths[], int count, bool disable_notification,
    +
    488 int reply_to_message_id);
    +
    489
    + +
    510 long long int chat_id, float latitude, float longitude, int live_period,
    +
    511 bool disable_notification, int reply_to_message_id, const char *reply_markup);
    +
    512
    + +
    533 long long int chat_id, int message_id, const char *inline_message_id,
    +
    534 float latitude, float longitude, const char *reply_markup);
    +
    535
    + +
    553 long long int chat_id, int message_id, char *inline_message_id,
    +
    554 const char *reply_markup);
    +
    555
    + +
    579 long long int chat_id, float latitude, float longitude, const char *title,
    +
    580 const char *address, const char *foursquare_id, const char *foursquare_type,
    +
    581 bool disable_notification, int reply_to_message_id, const char *reply_markup);
    +
    582
    + +
    604 long long int chat_id, const char *phone_number, const char *first_name,
    +
    605 const char *last_name, const char *vcard, bool disable_notification,
    +
    606 int reply_to_message_id, const char *reply_markup);
    +
    607
    + +
    636 long long int chat_id, const char *question, const char *options,
    +
    637 bool is_anonymous, const char *type, bool allows_multiple_answers,
    +
    638 int correct_option_id, bool is_closed, bool disable_notification,
    +
    639 int reply_to_message_id, const char *reply_markup);
    +
    640
    + +
    658 long long int chat_id, bool disable_notification,
    +
    659 int reply_to_message_id, const char *reply_markup);
    +
    660
    + +
    684 long long int chat_id, const char *action);
    +
    685
    + +
    700 int user_id, int offset, int limit);
    +
    701
    + +
    713
    + +
    726 const char *file_path, const char *out_file);
    +
    727
    + +
    747 long long int chat_id, int user_id, long until_date);
    +
    748
    + +
    763 long long int chat_id, int user_id);
    +
    764
    + +
    799 long long int chat_id, int user_id, long until_date, bool can_send_messages,
    +
    800 bool can_send_media_messages, bool can_send_polls, bool can_send_other_messages,
    +
    801 bool can_add_web_page_previews, bool can_change_info, bool can_invite_users,
    +
    802 bool can_pin_messages);
    +
    803
    + +
    836 long long int chat_id, int user_id, bool can_change_info, bool can_post_messages,
    +
    837 bool can_edit_messages, bool can_delete_messages, bool can_invite_users,
    +
    838 bool can_restrict_members, bool can_pin_messages, bool can_promote_members);
    +
    839
    + +
    856 long long int chat_id, int user_id, const char *custom_title);
    +
    857
    + +
    888 long long int chat_id, bool can_send_messages, bool can_send_media_messages,
    +
    889 bool can_send_polls, bool can_send_other_messages, bool can_add_web_page_previews,
    +
    890 bool can_change_info, bool can_invite_users, bool can_pin_messages);
    +
    891
    + +
    905 long long int chat_id);
    +
    906
    + +
    921 long long int chat_id, const char *photo);
    +
    922
    + +
    936 long long int chat_id);
    +
    937
    + +
    952 long long int chat_id, const char *title);
    +
    953
    + +
    968 long long int chat_id, const char *description);
    +
    969
    + +
    987 long long int chat_id, int message_id, bool disable_notification);
    +
    988
    + +
    1002 long long int chat_id);
    +
    1003
    + +
    1015
    + +
    1028 long long int chat_id);
    +
    1029
    + +
    1044 long long int chat_id);
    +
    1045
    + +
    1057 long long int chat_id);
    +
    1058
    + +
    1071 long long int chat_id, int user_id);
    +
    1072
    + +
    1089 long long int chat_id, const char *sticker_set_name);
    +
    1090
    + +
    1105 long long int chat_id);
    +
    1106
    + +
    1130 const char *callback_query_id, const char *text, bool show_alert,
    +
    1131 const char *url, int cache_time);
    +
    1132
    + +
    1144 const char *commands);
    +
    1145
    + +
    1155
    + +
    1176 long long int chat_id, int message_id, const char *inline_message_id,
    +
    1177 const char *text, const char *parse_mode, bool disable_web_page_preview,
    +
    1178 const char *reply_markup);
    +
    1179
    + +
    1197 long long int chat_id, int message_id, const char *inline_message_id,
    +
    1198 const char *caption, const char *parse_mode, const char *reply_markup);
    +
    1199
    + +
    1217 long long int chat_id, int message_id, const char *inline_message_id,
    +
    1218 const char *reply_markup);
    +
    1219
    + +
    1233 long long int chat_id, int message_id, const char *inline_message_id,
    +
    1234 const char *media, const char *reply_markup);
    +
    1235
    + +
    1252 long long int chat_id, int message_id, const char *reply_markup);
    +
    1253
    + +
    1273 long long int chat_id, int message_id);
    +
    1274
    + +
    1282
    + +
    1290
    + +
    1299 const char *name, const char *language_code);
    +
    1300
    + +
    1308 const char *language_code);
    +
    1309
    + +
    1318 const char *description, const char *language_code);
    +
    1319
    + +
    1327 const char *language_code);
    +
    1328
    + +
    1337 const char *short_description, const char *language_code);
    +
    1338
    + +
    1346 const char *language_code);
    +
    1347
    + +
    1356 long long int chat_id, const char *menu_button);
    +
    1357
    + +
    1365 long long int chat_id);
    +
    1366
    + +
    1375 const char *rights, bool for_channels);
    +
    1376
    + +
    1384 bool for_channels);
    +
    1385
    + +
    1394 const char *scope, const char *language_code);
    +
    1395
    + +
    1413 long long int chat_id, long long int from_chat_id, int message_id,
    +
    1414 const char *caption, const char *parse_mode, const char *caption_entities,
    +
    1415 bool disable_notification, bool protect_content, int reply_to_message_id,
    +
    1416 bool allow_sending_without_reply, const char *reply_markup);
    +
    1417
    + +
    1432 long long int chat_id, long long int from_chat_id, const char *message_ids,
    +
    1433 bool disable_notification, bool protect_content, bool remove_caption);
    +
    1434
    + +
    1446 long long int chat_id, long long int from_chat_id, const char *message_ids,
    +
    1447 bool disable_notification, bool protect_content);
    +
    1448
    + +
    1457 long long int chat_id, const char *message_ids);
    +
    1458
    + +
    1469 long long int chat_id, int user_id, long until_date, bool revoke_messages);
    +
    1470
    + +
    1479 long long int chat_id, long long int sender_chat_id);
    +
    1480
    + +
    1489 long long int chat_id, long long int sender_chat_id);
    +
    1490
    + +
    1502 long long int chat_id, const char *name, long expire_date, int member_limit,
    +
    1503 bool creates_join_request);
    +
    1504
    + +
    1517 long long int chat_id, const char *invite_link, const char *name,
    +
    1518 long expire_date, int member_limit, bool creates_join_request);
    +
    1519
    + +
    1528 long long int chat_id, const char *invite_link);
    +
    1529
    + +
    1538 long long int chat_id, int user_id);
    +
    1539
    + +
    1548 long long int chat_id, int user_id);
    +
    1549
    + +
    1560 long long int chat_id, int message_id, const char *reaction, bool is_big);
    +
    1561
    + +
    1572 long long int chat_id, const char *name, int icon_color, const char *icon_custom_emoji_id);
    +
    1573
    + +
    1584 long long int chat_id, int message_thread_id, const char *name, const char *icon_custom_emoji_id);
    +
    1585
    + +
    1594 long long int chat_id, int message_thread_id);
    +
    1595
    + +
    1604 long long int chat_id, int message_thread_id);
    +
    1605
    + +
    1614 long long int chat_id, int message_thread_id);
    +
    1615
    + +
    1624 long long int chat_id, int message_thread_id);
    +
    1625
    + +
    1632
    + +
    1641 long long int chat_id, const char *name);
    +
    1642
    + +
    1650 long long int chat_id);
    +
    1651
    + +
    1659 long long int chat_id);
    +
    1660
    + +
    1668 long long int chat_id);
    +
    1669
    + +
    1677 long long int chat_id);
    +
    1678
    + +
    1686 long long int chat_id);
    +
    1687
    + +
    1695 const char *custom_emoji_ids);
    +
    1696
    + +
    1705 const char *web_app_query_id, const char *result);
    +
    1706
    + +
    1724 long long int chat_id, int star_count, const char *media, const char *caption,
    +
    1725 const char *parse_mode, const char *caption_entities, bool show_caption_above_media,
    +
    1726 bool disable_notification, bool protect_content, const char *reply_parameters,
    +
    1727 const char *reply_markup);
    +
    1728
    + +
    1745 const char *inline_query_id, const char *results, int cache_time,
    +
    1746 bool is_personal, const char *next_offset, const char *button);
    +
    1747
    + +
    1760 long long int user_id, const char *result, bool allow_user_chats,
    +
    1761 bool allow_bot_chats, bool allow_group_chats, bool allow_channel_chats);
    +
    1762
    + +
    1776 long long int user_id, long long int chat_id, const char *gift_id,
    +
    1777 bool pay_for_upgrade, const char *text, const char *text_parse_mode,
    +
    1778 const char *text_entities);
    +
    1779
    + +
    1792 long long int user_id, int month_count, int star_count, const char *text,
    +
    1793 const char *text_parse_mode, const char *text_entities);
    +
    1794
    + +
    1801
    + +
    1810 int offset, int limit);
    +
    1811
    + +
    1820 long long int user_id, const char *telegram_payment_charge_id);
    +
    1821
    + +
    1828
    + +
    1838 long long int user_id, int offset, int limit);
    +
    1839
    + +
    1849 long long int chat_id, int offset, int limit);
    +
    1850
    + +
    1862 const char *gift_id, bool pay_for_upgrade, const char *text,
    +
    1863 const char *text_parse_mode, const char *text_entities);
    +
    1864
    + +
    1874 long long int user_id, long long int chat_id, const char *gift_id);
    +
    1875
    + +
    1883 const char *gift_id);
    +
    1884
    + +
    1894 long long int user_id, int offset, int limit);
    +
    1895
    + +
    1903 const char *photo);
    +
    1904
    + +
    1912 const char *photo_id);
    +
    1913
    + +
    1921 const char *business_connection_id);
    +
    1922
    + +
    1931 long long int chat_id, long long int user_id);
    +
    1932
    + +
    1937 long long int user_id, int score, bool force, bool disable_edit_message,
    +
    1938 long long int chat_id, int message_id, const char *inline_message_id);
    +
    1939
    + +
    1944 long long int user_id, long long int chat_id, int message_id, const char *inline_message_id);
    +
    1945
    + +
    1950 long long int chat_id, int message_thread_id, const char *game_short_name,
    +
    1951 bool disable_notification, bool protect_content, const char *reply_parameters,
    +
    1952 const char *reply_markup);
    +
    1953
    + +
    1958 long long int user_id, const char *errors);
    +
    1959
    + +
    1964 long long int chat_id, int message_thread_id, const char *title,
    +
    1965 const char *description, const char *payload, const char *provider_token,
    +
    1966 const char *currency, const char *prices, int max_tip_amount,
    +
    1967 const char *suggested_tip_amounts, const char *start_parameter,
    +
    1968 const char *provider_data, const char *photo_url, int photo_size,
    +
    1969 int photo_width, int photo_height, bool need_name, bool need_phone_number,
    +
    1970 bool need_email, bool need_shipping_address, bool send_phone_number_to_provider,
    +
    1971 bool send_email_to_provider, bool is_flexible, bool disable_notification,
    +
    1972 bool protect_content, const char *reply_parameters, const char *reply_markup);
    +
    1973
    + +
    1978 const char *title, const char *description, const char *payload,
    +
    1979 const char *provider_token, const char *currency, const char *prices,
    +
    1980 int max_tip_amount, const char *suggested_tip_amounts, const char *provider_data,
    +
    1981 const char *photo_url, int photo_size, int photo_width, int photo_height,
    +
    1982 bool need_name, bool need_phone_number, bool need_email, bool need_shipping_address,
    +
    1983 bool send_phone_number_to_provider, bool send_email_to_provider, bool is_flexible);
    +
    1984
    + +
    1989 const char *shipping_query_id, bool ok, const char *shipping_options,
    +
    1990 const char *error_message);
    +
    1991
    + +
    1996 const char *pre_checkout_query_id, bool ok, const char *error_message);
    +
    1997
    +
    2002#ifdef __cplusplus
    +
    2003}
    +
    2004#endif
    +
    2005
    +
    2006#endif /* __TELEBOT_CORE_API_H__ */
    +
    telebot_error_e
    Enumerations of error code for telebot programming interface.
    Definition telebot-common.h:45
    +
    telebot_core_response_t telebot_core_delete_chat_photo(telebot_core_handler_t core_h, long long int chat_id)
    Delete a chat photo. Photos can't be changed for private chats. The bot must be an administrator in t...
    +
    telebot_core_response_t telebot_core_decline_chat_join_request(telebot_core_handler_t core_h, long long int chat_id, int user_id)
    Use this method to decline a chat join request.
    +
    telebot_core_response_t telebot_core_get_my_description(telebot_core_handler_t core_h, const char *language_code)
    Use this method to get the current bot description for the given user language.
    +
    telebot_core_response_t telebot_core_unpin_all_forum_topic_messages(telebot_core_handler_t core_h, long long int chat_id, int message_thread_id)
    Use this method to unpin all messages in a forum topic.
    +
    telebot_core_response_t telebot_core_send_location(telebot_core_handler_t core_h, long long int chat_id, float latitude, float longitude, int live_period, bool disable_notification, int reply_to_message_id, const char *reply_markup)
    Send point on the map.
    +
    telebot_core_response_t telebot_core_answer_shipping_query(telebot_core_handler_t core_h, const char *shipping_query_id, bool ok, const char *shipping_options, const char *error_message)
    Use this method to reply to shipping queries.
    +
    telebot_core_response_t telebot_core_reopen_general_forum_topic(telebot_core_handler_t core_h, long long int chat_id)
    Use this method to reopen a closed 'General' topic in a forum supergroup chat.
    +
    telebot_core_response_t telebot_core_close_general_forum_topic(telebot_core_handler_t core_h, long long int chat_id)
    Use this method to close an open 'General' topic in a forum supergroup chat.
    +
    telebot_core_response_t telebot_core_set_my_name(telebot_core_handler_t core_h, const char *name, const char *language_code)
    Use this method to change the bot's name.
    +
    telebot_core_response_t telebot_core_send_venue(telebot_core_handler_t core_h, long long int chat_id, float latitude, float longitude, const char *title, const char *address, const char *foursquare_id, const char *foursquare_type, bool disable_notification, int reply_to_message_id, const char *reply_markup)
    Send information about a venue.
    +
    telebot_core_response_t telebot_core_answer_inline_query(telebot_core_handler_t core_h, const char *inline_query_id, const char *results, int cache_time, bool is_personal, const char *next_offset, const char *button)
    Use this method to send answers to an inline query.
    +
    struct telebot_core_response * telebot_core_response_t
    Telebot core response opaque type.
    Definition telebot-core.h:56
    +
    telebot_core_response_t telebot_core_unhide_general_forum_topic(telebot_core_handler_t core_h, long long int chat_id)
    Use this method to unhide the 'General' topic in a forum supergroup chat.
    +
    telebot_core_response_t telebot_core_delete_chat_sticker_set(telebot_core_handler_t core_h, long long int chat_id)
    Delete a group sticker set from a supergroup. The bot must be an administrator in the chat for this t...
    +
    telebot_core_response_t telebot_core_set_chat_sticker_set(telebot_core_handler_t core_h, long long int chat_id, const char *sticker_set_name)
    Set a new group sticker set for a supergroup. The bot must be an administrator in the chat for this t...
    +
    telebot_core_response_t telebot_core_get_user_profile_photos(telebot_core_handler_t core_h, int user_id, int offset, int limit)
    Get user profile pictures object.
    +
    telebot_core_response_t telebot_core_edit_chat_invite_link(telebot_core_handler_t core_h, long long int chat_id, const char *invite_link, const char *name, long expire_date, int member_limit, bool creates_join_request)
    Use this method to edit a non-primary invite link created by the bot.
    +
    telebot_core_response_t telebot_core_get_chat_members_count(telebot_core_handler_t core_h, long long int chat_id)
    Get the number of members in a chat.
    +
    telebot_core_response_t telebot_core_restrict_chat_member(telebot_core_handler_t core_h, long long int chat_id, int user_id, long until_date, bool can_send_messages, bool can_send_media_messages, bool can_send_polls, bool can_send_other_messages, bool can_add_web_page_previews, bool can_change_info, bool can_invite_users, bool can_pin_messages)
    Restrict a user in a supergroup. The bot must be an administrator in the supergroup for this to work ...
    +
    struct telebot_core_handler * telebot_core_handler_t
    Telebot core handler opaque type.
    Definition telebot-core.h:51
    +
    telebot_core_response_t telebot_core_send_gift(telebot_core_handler_t core_h, long long int user_id, long long int chat_id, const char *gift_id, bool pay_for_upgrade, const char *text, const char *text_parse_mode, const char *text_entities)
    Use this method to send a gift.
    +
    telebot_core_response_t telebot_core_unpin_all_general_forum_topic_messages(telebot_core_handler_t core_h, long long int chat_id)
    Use this method to unpin all messages in a General forum topic.
    +
    telebot_core_response_t telebot_core_get_my_short_description(telebot_core_handler_t core_h, const char *language_code)
    Use this method to get the current bot short description for the given user language.
    +
    telebot_core_response_t telebot_core_set_my_profile_photo(telebot_core_handler_t core_h, const char *photo)
    Use this method to set the bot's profile photo.
    +
    telebot_core_response_t telebot_core_get_my_star_balance(telebot_core_handler_t core_h)
    Use this method to get the current Telegram Stars balance of the bot.
    +
    telebot_core_response_t telebot_core_copy_messages(telebot_core_handler_t core_h, long long int chat_id, long long int from_chat_id, const char *message_ids, bool disable_notification, bool protect_content, bool remove_caption)
    Use this method to copy messages of any kind. Service messages, giveaway messages,...
    +
    telebot_core_response_t telebot_core_pin_chat_message(telebot_core_handler_t core_h, long long int chat_id, int message_id, bool disable_notification)
    Pin a message in a supergroup or a channel. The bot must be an administrator in the chat for this to ...
    +
    telebot_core_response_t telebot_core_set_chat_title(telebot_core_handler_t core_h, long long int chat_id, const char *title)
    Change the title of a chat. Titles can't be changed for private chats. The bot must be an administrat...
    +
    telebot_core_response_t telebot_core_gift_premium_subscription(telebot_core_handler_t core_h, long long int user_id, int month_count, int star_count, const char *text, const char *text_parse_mode, const char *text_entities)
    Use this method to gift a Telegram Premium subscription to a user.
    +
    void telebot_core_put_response(telebot_core_response_t response)
    Release response data obtained with telebot core methods.
    +
    telebot_core_response_t telebot_core_hide_general_forum_topic(telebot_core_handler_t core_h, long long int chat_id)
    Use this method to hide the 'General' topic in a forum supergroup chat.
    +
    telebot_core_response_t telebot_core_unban_chat_sender_chat(telebot_core_handler_t core_h, long long int chat_id, long long int sender_chat_id)
    Use this method to unban a previously banned channel chat in a supergroup or a channel.
    +
    telebot_core_response_t telebot_core_upgrade_gift(telebot_core_handler_t core_h, const char *gift_id, bool pay_for_upgrade, const char *text, const char *text_parse_mode, const char *text_entities)
    Use this method to upgrade a gift.
    +
    telebot_core_response_t telebot_core_forward_messages(telebot_core_handler_t core_h, long long int chat_id, long long int from_chat_id, const char *message_ids, bool disable_notification, bool protect_content)
    Use this method to forward multiple messages of any kind.
    +
    const char * telebot_core_get_response_data(telebot_core_response_t response)
    Get response data.
    +
    telebot_error_e telebot_core_get_proxy(telebot_core_handler_t core_h, char **addr)
    Get currently used proxy address.
    +
    telebot_core_response_t telebot_core_set_chat_admin_custom_title(telebot_core_handler_t core_h, long long int chat_id, int user_id, const char *custom_title)
    Export an invite link to a supergroup or a channel. The bot must be an administrator in the chat for ...
    +
    telebot_core_response_t telebot_core_send_contact(telebot_core_handler_t core_h, long long int chat_id, const char *phone_number, const char *first_name, const char *last_name, const char *vcard, bool disable_notification, int reply_to_message_id, const char *reply_markup)
    Send phone contacts.
    +
    telebot_core_response_t telebot_core_send_paid_media(telebot_core_handler_t core_h, long long int chat_id, int star_count, const char *media, const char *caption, const char *parse_mode, const char *caption_entities, bool show_caption_above_media, bool disable_notification, bool protect_content, const char *reply_parameters, const char *reply_markup)
    Use this method to send paid media to a user.
    +
    telebot_core_response_t telebot_core_edit_forum_topic(telebot_core_handler_t core_h, long long int chat_id, int message_thread_id, const char *name, const char *icon_custom_emoji_id)
    Use this method to edit name and icon of a topic in a forum supergroup chat.
    +
    telebot_error_e telebot_core_create(telebot_core_handler_t *core_h, const char *token)
    Start function to use telebot core APIs.
    +
    telebot_core_response_t telebot_core_send_video(telebot_core_handler_t core_h, long long int chat_id, const char *video, bool is_file, int duration, int width, int height, const char *thumb, const char *caption, const char *parse_mode, bool supports_streaming, bool disable_notification, int reply_to_message_id, const char *reply_markup)
    Send video files, Telegram clients support mp4 videos (other formats may be sent as Document).
    +
    telebot_core_response_t telebot_core_get_business_connection(telebot_core_handler_t core_h, const char *business_connection_id)
    Use this method to get information about the business connection.
    +
    telebot_core_response_t telebot_core_close(telebot_core_handler_t core_h)
    Use this method to close the bot instance before moving it from one local server to another.
    +
    telebot_core_response_t telebot_core_edit_message_reply_markup(telebot_core_handler_t core_h, long long int chat_id, int message_id, const char *inline_message_id, const char *reply_markup)
    Edit only the reply markup of messages sent by the bot or via the bot (for inline bots).
    +
    telebot_core_response_t telebot_core_set_my_description(telebot_core_handler_t core_h, const char *description, const char *language_code)
    Use this method to change the bot's description.
    +
    telebot_core_response_t telebot_core_get_my_commands(telebot_core_handler_t core_h)
    Get the current list of the bot's commands..
    +
    telebot_core_response_t telebot_core_get_available_gifts(telebot_core_handler_t core_h)
    Use this method to get a list of gifts that can be sent by the bot to users.
    +
    telebot_core_response_t telebot_core_export_chat_invite_link(telebot_core_handler_t core_h, long long int chat_id)
    Generate a new invite link for a chat; any previously generated link is revoked. The bot must be an a...
    +
    telebot_core_response_t telebot_core_get_chat_menu_button(telebot_core_handler_t core_h, long long int chat_id)
    Use this method to get the current value of the bot's menu button in a private chat,...
    +
    telebot_core_response_t telebot_core_set_my_default_administrator_rights(telebot_core_handler_t core_h, const char *rights, bool for_channels)
    Use this method to change the default administrator rights requested by the bot when it's added as an...
    +
    telebot_core_response_t telebot_core_get_chat_admins(telebot_core_handler_t core_h, long long int chat_id)
    Get a list of administrators in a chat. Response contains an array of objects that contains informati...
    +
    telebot_core_response_t telebot_core_delete_webhook(telebot_core_handler_t core_h)
    Remove webhook integration if you decide to switch back to getUpdates.
    +
    telebot_core_response_t telebot_core_save_prepared_inline_message(telebot_core_handler_t core_h, long long int user_id, const char *result, bool allow_user_chats, bool allow_bot_chats, bool allow_group_chats, bool allow_channel_chats)
    Use this method to save a prepared inline message.
    +
    telebot_core_response_t telebot_core_set_game_score(telebot_core_handler_t core_h, long long int user_id, int score, bool force, bool disable_edit_message, long long int chat_id, int message_id, const char *inline_message_id)
    Use this method to set the score of the specified user in a game.
    +
    telebot_core_response_t telebot_core_create_forum_topic(telebot_core_handler_t core_h, long long int chat_id, const char *name, int icon_color, const char *icon_custom_emoji_id)
    Use this method to create a topic in a forum supergroup chat.
    +
    telebot_core_response_t telebot_core_edit_message_text(telebot_core_handler_t core_h, long long int chat_id, int message_id, const char *inline_message_id, const char *text, const char *parse_mode, bool disable_web_page_preview, const char *reply_markup)
    Edit text and game messages sent by the bot or via the bot (for inline bots).
    +
    telebot_core_response_t telebot_core_set_my_commands(telebot_core_handler_t core_h, const char *commands)
    Change the list of the bot's commands.
    +
    telebot_core_response_t telebot_core_get_my_name(telebot_core_handler_t core_h, const char *language_code)
    Use this method to get the current bot name for the given user language.
    +
    telebot_core_response_t telebot_core_set_webhook(telebot_core_handler_t core_h, const char *url, const char *certificate, int max_connections, const char *allowed_updates)
    Specify a url and receive incoming updates via an outgoing webhook. Whenever there is an update for t...
    +
    telebot_core_response_t telebot_core_reopen_forum_topic(telebot_core_handler_t core_h, long long int chat_id, int message_thread_id)
    Use this method to reopen a closed topic in a forum supergroup chat.
    +
    telebot_core_response_t telebot_core_delete_messages(telebot_core_handler_t core_h, long long int chat_id, const char *message_ids)
    Use this method to delete multiple messages in a chat.
    +
    telebot_core_response_t telebot_core_set_chat_description(telebot_core_handler_t core_h, long long int chat_id, const char *description)
    Change the description of a supergroup or a channel. The bot must be an administrator in the chat for...
    +
    telebot_core_response_t telebot_core_get_forum_topic_icon_stickers(telebot_core_handler_t core_h)
    Use this method to get custom emoji stickers, which can be used as a forum topic icon by any user.
    +
    telebot_core_response_t telebot_core_approve_chat_join_request(telebot_core_handler_t core_h, long long int chat_id, int user_id)
    Use this method to approve a chat join request.
    +
    telebot_core_response_t telebot_core_send_video_note(telebot_core_handler_t core_h, long long int chat_id, char *video_note, bool is_file, int duration, int length, const char *thumb, bool disable_notification, int reply_to_message_id, const char *reply_markup)
    Send video messages. As of v.4.0, Telegram clients support rounded square mp4 videos of up to 1 minut...
    +
    telebot_core_response_t telebot_core_stop_poll(telebot_core_handler_t core_h, long long int chat_id, int message_id, const char *reply_markup)
    Stop a poll which was sent by the bot.
    +
    telebot_core_response_t telebot_core_get_updates(telebot_core_handler_t core_h, int offset, int limit, int timeout, const char *allowed_updates)
    Receive incoming updates (long polling). It will not work if an outgoing webhook is set up....
    +
    telebot_core_response_t telebot_core_set_passport_data_errors(telebot_core_handler_t core_h, long long int user_id, const char *errors)
    Use this method to set passport data errors.
    +
    telebot_core_response_t telebot_core_convert_gift_to_stars(telebot_core_handler_t core_h, const char *gift_id)
    Use this method to convert a gift to Telegram Stars.
    +
    telebot_core_response_t telebot_core_get_user_profile_audios(telebot_core_handler_t core_h, long long int user_id, int offset, int limit)
    Use this method to get user profile audios.
    +
    telebot_core_response_t telebot_core_edit_message_media(telebot_core_handler_t core_h, long long int chat_id, int message_id, const char *inline_message_id, const char *media, const char *reply_markup)
    Use this method to edit animation, audio, document, photo, or video messages. If a message is part of...
    +
    telebot_core_response_t telebot_core_refund_star_payment(telebot_core_handler_t core_h, long long int user_id, const char *telegram_payment_charge_id)
    Use this method to refund a successful payment in Telegram Stars.
    +
    telebot_core_response_t telebot_core_delete_my_commands(telebot_core_handler_t core_h, const char *scope, const char *language_code)
    Use this method to delete the list of the bot's commands for the given scope and user language.
    +
    telebot_core_response_t telebot_core_send_chat_action(telebot_core_handler_t core_h, long long int chat_id, const char *action)
    Tell the user that something is happening on the bot's side. The status is set for 5 seconds or less ...
    +
    telebot_core_response_t telebot_core_get_webhook_info(telebot_core_handler_t core_h)
    Get current webhook status.
    +
    telebot_core_response_t telebot_core_unban_chat_member(telebot_core_handler_t core_h, long long int chat_id, int user_id)
    Unban a previously kicked user in a supergroup or channel. The user will not return to the group or c...
    +
    telebot_core_response_t telebot_core_get_file(telebot_core_handler_t core_h, const char *file_id)
    Get basic info about a file and prepare it for downloading. For the moment, bots can download files o...
    +
    telebot_core_response_t telebot_core_get_user_gifts(telebot_core_handler_t core_h, long long int user_id, int offset, int limit)
    Use this method to get a list of gifts received by a user.
    +
    telebot_core_response_t telebot_core_send_animation(telebot_core_handler_t core_h, long long int chat_id, const char *animation, bool is_file, int duration, int width, int height, const char *thumb, const char *caption, const char *parse_mode, bool disable_notification, int reply_to_message_id, const char *reply_markup)
    Send animation files (GIF or H.264/MPEG-4 AVC without sound).
    +
    telebot_core_response_t telebot_core_send_message(telebot_core_handler_t core_h, long long int chat_id, const char *text, const char *parse_mode, bool disable_web_page_preview, bool disable_notification, int reply_to_message_id, const char *reply_markup)
    Send text messages.
    +
    telebot_core_response_t telebot_core_delete_message(telebot_core_handler_t core_h, long long int chat_id, int message_id)
    Delete a message, including service messages, with the following limitations:
    +
    telebot_core_response_t telebot_core_create_invoice_link(telebot_core_handler_t core_h, const char *title, const char *description, const char *payload, const char *provider_token, const char *currency, const char *prices, int max_tip_amount, const char *suggested_tip_amounts, const char *provider_data, const char *photo_url, int photo_size, int photo_width, int photo_height, bool need_name, bool need_phone_number, bool need_email, bool need_shipping_address, bool send_phone_number_to_provider, bool send_email_to_provider, bool is_flexible)
    Use this method to create a link for an invoice.
    +
    telebot_core_response_t telebot_core_edit_message_caption(telebot_core_handler_t core_h, long long int chat_id, int message_id, const char *inline_message_id, const char *caption, const char *parse_mode, const char *reply_markup)
    Edit captions of messages sent by the bot or via the bot (for inline bots).
    +
    telebot_error_e telebot_core_set_proxy(telebot_core_handler_t core_h, const char *addr, const char *auth)
    Set proxy address to use telebot behind proxy.
    +
    telebot_core_response_t telebot_core_answer_web_app_query(telebot_core_handler_t core_h, const char *web_app_query_id, const char *result)
    Use this method to send answers to an inline query to a user from a Web App.
    +
    telebot_core_response_t telebot_core_delete_forum_topic(telebot_core_handler_t core_h, long long int chat_id, int message_thread_id)
    Use this method to delete a forum topic along with all its messages in a forum supergroup chat.
    +
    telebot_core_response_t telebot_core_forward_message(telebot_core_handler_t core_h, long long int chat_id, long long int from_chat_id, bool disable_notification, int message_id)
    Forward messages of any kind.
    +
    telebot_error_e telebot_core_destroy(telebot_core_handler_t *core_h)
    Final function to use telebot core APIs.
    +
    telebot_core_response_t telebot_core_edit_general_forum_topic(telebot_core_handler_t core_h, long long int chat_id, const char *name)
    Use this method to edit the name of the 'General' topic in a forum supergroup chat.
    +
    telebot_core_response_t telebot_core_send_poll(telebot_core_handler_t core_h, long long int chat_id, const char *question, const char *options, bool is_anonymous, const char *type, bool allows_multiple_answers, int correct_option_id, bool is_closed, bool disable_notification, int reply_to_message_id, const char *reply_markup)
    Send a native poll.
    +
    telebot_core_response_t telebot_core_send_document(telebot_core_handler_t core_h, long long int chat_id, const char *document, bool is_file, const char *thumb, const char *caption, const char *parse_mode, bool disable_notification, int reply_to_message_id, const char *reply_markup)
    Send general files.
    +
    telebot_core_response_t telebot_core_set_chat_menu_button(telebot_core_handler_t core_h, long long int chat_id, const char *menu_button)
    Use this method to change the bot's menu button in a private chat, or the default menu button.
    +
    telebot_core_response_t telebot_core_send_audio(telebot_core_handler_t core_h, long long int chat_id, const char *audio, bool is_file, const char *caption, const char *parse_mode, int duration, const char *performer, const char *title, const char *thumb, bool disable_notification, int reply_to_message_id, const char *reply_markup)
    Send audio files. if you want Telegram clients to display them in the music player....
    +
    telebot_core_response_t telebot_core_create_chat_invite_link(telebot_core_handler_t core_h, long long int chat_id, const char *name, long expire_date, int member_limit, bool creates_join_request)
    Use this method to create an additional invite link for a chat.
    +
    telebot_core_response_t telebot_core_ban_chat_member(telebot_core_handler_t core_h, long long int chat_id, int user_id, long until_date, bool revoke_messages)
    Use this method to ban a user in a group, a supergroup or a channel.
    +
    telebot_core_response_t telebot_core_unpin_chat_message(telebot_core_handler_t core_h, long long int chat_id)
    Unpin a message in a supergroup or a channel. The bot must be an administrator in the chat for this t...
    +
    telebot_core_response_t telebot_core_get_chat_gifts(telebot_core_handler_t core_h, long long int chat_id, int offset, int limit)
    Use this method to get a list of gifts received by a chat.
    +
    telebot_core_response_t telebot_core_get_game_high_scores(telebot_core_handler_t core_h, long long int user_id, long long int chat_id, int message_id, const char *inline_message_id)
    Use this method to get data for high score tables.
    +
    telebot_core_response_t telebot_core_get_me(telebot_core_handler_t core_h)
    Get basic information about the bot.
    +
    telebot_core_response_t telebot_core_stop_message_live_location(telebot_core_handler_t core_h, long long int chat_id, int message_id, char *inline_message_id, const char *reply_markup)
    Stop updating a live location message sent by the bot or via the bot (for inline bots) before live_pe...
    +
    telebot_core_response_t telebot_core_get_star_transactions(telebot_core_handler_t core_h, int offset, int limit)
    Use this method to get the bot's Telegram Star transactions.
    +
    telebot_core_response_t telebot_core_get_chat(telebot_core_handler_t core_h, long long int chat_id)
    Get up to date information about the chat (current name of the user for one-on-one conversations,...
    +
    telebot_core_response_t telebot_core_send_game(telebot_core_handler_t core_h, long long int chat_id, int message_thread_id, const char *game_short_name, bool disable_notification, bool protect_content, const char *reply_parameters, const char *reply_markup)
    Use this method to send a game.
    +
    telebot_core_response_t telebot_core_promote_chat_member(telebot_core_handler_t core_h, long long int chat_id, int user_id, bool can_change_info, bool can_post_messages, bool can_edit_messages, bool can_delete_messages, bool can_invite_users, bool can_restrict_members, bool can_pin_messages, bool can_promote_members)
    Promote or demote a user in a supergroup or a channel. The bot must be an administrator in the chat f...
    +
    telebot_core_response_t telebot_core_set_my_short_description(telebot_core_handler_t core_h, const char *short_description, const char *language_code)
    Use this method to change the bot's short description.
    +
    telebot_core_response_t telebot_core_send_invoice(telebot_core_handler_t core_h, long long int chat_id, int message_thread_id, const char *title, const char *description, const char *payload, const char *provider_token, const char *currency, const char *prices, int max_tip_amount, const char *suggested_tip_amounts, const char *start_parameter, const char *provider_data, const char *photo_url, int photo_size, int photo_width, int photo_height, bool need_name, bool need_phone_number, bool need_email, bool need_shipping_address, bool send_phone_number_to_provider, bool send_email_to_provider, bool is_flexible, bool disable_notification, bool protect_content, const char *reply_parameters, const char *reply_markup)
    Use this method to send an invoice.
    +
    telebot_core_response_t telebot_core_revoke_chat_invite_link(telebot_core_handler_t core_h, long long int chat_id, const char *invite_link)
    Use this method to revoke an invite link created by the bot.
    +
    telebot_core_response_t telebot_core_edit_message_live_location(telebot_core_handler_t core_h, long long int chat_id, int message_id, const char *inline_message_id, float latitude, float longitude, const char *reply_markup)
    Edit live location messages sent by the bot or via the bot (for inline bots). A location can be edite...
    +
    telebot_core_response_t telebot_core_get_my_default_administrator_rights(telebot_core_handler_t core_h, bool for_channels)
    Use this method to get the current default administrator rights of the bot.
    +
    telebot_core_response_t telebot_core_set_chat_photo(telebot_core_handler_t core_h, long long int chat_id, const char *photo)
    Set a new profile photo for the chat. Photos can't be changed for private chats. The bot must be an a...
    +
    telebot_error_e telebot_core_get_response_code(telebot_core_response_t response)
    Get response error code.
    +
    telebot_core_response_t telebot_core_copy_message(telebot_core_handler_t core_h, long long int chat_id, long long int from_chat_id, int message_id, const char *caption, const char *parse_mode, const char *caption_entities, bool disable_notification, bool protect_content, int reply_to_message_id, bool allow_sending_without_reply, const char *reply_markup)
    Use this method to copy messages of any kind.
    +
    telebot_core_response_t telebot_core_ban_chat_sender_chat(telebot_core_handler_t core_h, long long int chat_id, long long int sender_chat_id)
    Use this method to ban a channel chat in a supergroup or a channel.
    +
    telebot_core_response_t telebot_core_kick_chat_member(telebot_core_handler_t core_h, long long int chat_id, int user_id, long until_date)
    Kick a user from a group, a supergroup or a channel. In the case of supergroups and channels,...
    +
    telebot_core_response_t telebot_core_transfer_gift(telebot_core_handler_t core_h, long long int user_id, long long int chat_id, const char *gift_id)
    Use this method to transfer a gift.
    +
    telebot_core_response_t telebot_core_get_chat_member(telebot_core_handler_t core_h, long long int chat_id, int user_id)
    Get information about a member of a chat.
    +
    telebot_core_response_t telebot_core_log_out(telebot_core_handler_t core_h)
    Use this method to log out from the cloud Bot API server before launching the bot locally.
    +
    telebot_core_response_t telebot_core_get_user_chat_boosts(telebot_core_handler_t core_h, long long int chat_id, long long int user_id)
    Use this method to get user chat boosts.
    +
    telebot_core_response_t telebot_core_get_custom_emoji_stickers(telebot_core_handler_t core_h, const char *custom_emoji_ids)
    Use this method to get information about custom emoji stickers by their identifiers.
    +
    telebot_core_response_t telebot_core_close_forum_topic(telebot_core_handler_t core_h, long long int chat_id, int message_thread_id)
    Use this method to close an open topic in a forum supergroup chat.
    +
    telebot_core_response_t telebot_core_send_media_group(telebot_core_handler_t core_h, long long int chat_id, char *media_paths[], int count, bool disable_notification, int reply_to_message_id)
    Send a group of photos as an album.
    +
    telebot_core_response_t telebot_core_send_photo(telebot_core_handler_t core_h, long long int chat_id, const char *photo, bool is_file, const char *caption, const char *parse_mode, bool disable_notification, int reply_to_message_id, const char *reply_markup)
    Send photos.
    +
    telebot_core_response_t telebot_core_set_message_reaction(telebot_core_handler_t core_h, long long int chat_id, int message_id, const char *reaction, bool is_big)
    Use this method to set a new message reaction.
    +
    telebot_core_response_t telebot_core_send_dice(telebot_core_handler_t core_h, long long int chat_id, bool disable_notification, int reply_to_message_id, const char *reply_markup)
    Send a dice, which will have a random value from 1 to 6.
    +
    telebot_core_response_t telebot_core_leave_chat(telebot_core_handler_t core_h, long long int chat_id)
    Leave a group, supergroup or channel.
    +
    telebot_core_response_t telebot_core_set_chat_permissions(telebot_core_handler_t core_h, long long int chat_id, bool can_send_messages, bool can_send_media_messages, bool can_send_polls, bool can_send_other_messages, bool can_add_web_page_previews, bool can_change_info, bool can_invite_users, bool can_pin_messages)
    Set default chat permissions for all members. The bot must be an administrator in the group or a supe...
    +
    telebot_core_response_t telebot_core_answer_pre_checkout_query(telebot_core_handler_t core_h, const char *pre_checkout_query_id, bool ok, const char *error_message)
    Use this method to respond to pre-checkout queries.
    +
    telebot_core_response_t telebot_core_answer_callback_query(telebot_core_handler_t core_h, const char *callback_query_id, const char *text, bool show_alert, const char *url, int cache_time)
    Send answers to callback queries sent from inline keyboards. The answer will be displayed to the user...
    +
    telebot_core_response_t telebot_core_remove_my_profile_photo(telebot_core_handler_t core_h, const char *photo_id)
    Use this method to remove the bot's profile photo.
    +
    telebot_core_response_t telebot_core_send_voice(telebot_core_handler_t core_h, long long int chat_id, const char *voice, bool is_file, const char *caption, const char *parse_mode, int duration, bool disable_notification, int reply_to_message_id, const char *reply_markup)
    Send audio files, if you want Telegram clients to display the file as a playable voice message....
    +
    telebot_error_e telebot_core_download_file(telebot_core_handler_t core_h, const char *file_path, const char *out_file)
    Download file using file_path obtained with telebot_core_get_file(). It is guaranteed that the link w...
    +
    This file contains telegram bot common defintions.
    diff --git a/docs/telebot-forums_8h.html b/docs/telebot-forums_8h.html new file mode 100644 index 0000000..ef24430 --- /dev/null +++ b/docs/telebot-forums_8h.html @@ -0,0 +1,145 @@ + + + + + + + +Telebot: include/telebot-forums.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    telebot-forums.h File Reference
    +
    +
    + +

    This file contains forums feature of telegram bot. +More...

    +
    #include <stdbool.h>
    +#include "telebot-types.h"
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    telebot_error_e telebot_create_forum_topic (telebot_handler_t handle, long long int chat_id, const char *name, int icon_color, const char *icon_custom_emoji_id, telebot_forum_topic_t *topic)
     Use this method to create a topic in a forum supergroup chat.
     
    telebot_error_e telebot_put_forum_topic (telebot_forum_topic_t *topic)
     Release forum topic obtained with telebot_create_forum_topic.
     
    telebot_error_e telebot_edit_forum_topic (telebot_handler_t handle, long long int chat_id, int message_thread_id, const char *name, const char *icon_custom_emoji_id)
     Use this method to edit name and icon of a topic in a forum supergroup chat.
     
    telebot_error_e telebot_close_forum_topic (telebot_handler_t handle, long long int chat_id, int message_thread_id)
     Use this method to close an open topic in a forum supergroup chat.
     
    telebot_error_e telebot_reopen_forum_topic (telebot_handler_t handle, long long int chat_id, int message_thread_id)
     Use this method to reopen a closed topic in a forum supergroup chat.
     
    telebot_error_e telebot_delete_forum_topic (telebot_handler_t handle, long long int chat_id, int message_thread_id)
     Use this method to delete a forum topic along with all its messages in a forum supergroup chat.
     
    telebot_error_e telebot_unpin_all_forum_topic_messages (telebot_handler_t handle, long long int chat_id, int message_thread_id)
     Use this method to unpin all messages in a forum topic.
     
    telebot_error_e telebot_get_forum_topic_icon_stickers (telebot_handler_t handle, telebot_sticker_t **stickers, int *count)
     Use this method to get custom emoji stickers, which can be used as a forum topic icon by any user.
     
    telebot_error_e telebot_edit_general_forum_topic (telebot_handler_t handle, long long int chat_id, const char *name)
     Use this method to edit the name of the 'General' topic in a forum supergroup chat.
     
    telebot_error_e telebot_close_general_forum_topic (telebot_handler_t handle, long long int chat_id)
     Use this method to close an open 'General' topic in a forum supergroup chat.
     
    telebot_error_e telebot_reopen_general_forum_topic (telebot_handler_t handle, long long int chat_id)
     Use this method to reopen a closed 'General' topic in a forum supergroup chat.
     
    telebot_error_e telebot_hide_general_forum_topic (telebot_handler_t handle, long long int chat_id)
     Use this method to hide the 'General' topic in a forum supergroup chat.
     
    telebot_error_e telebot_unhide_general_forum_topic (telebot_handler_t handle, long long int chat_id)
     Use this method to unhide the 'General' topic in a forum supergroup chat.
     
    telebot_error_e telebot_unpin_all_general_forum_topic_messages (telebot_handler_t handle, long long int chat_id)
     Use this method to unpin all messages in a General forum topic.
     
    +

    Detailed Description

    +

    This file contains forums feature of telegram bot.

    +
    Author
    Elmurod Talipov
    +
    Date
    2026-02-27
    +
    + + + + diff --git a/docs/telebot-forums_8h_source.html b/docs/telebot-forums_8h_source.html new file mode 100644 index 0000000..9e0e15e --- /dev/null +++ b/docs/telebot-forums_8h_source.html @@ -0,0 +1,185 @@ + + + + + + + +Telebot: include/telebot-forums.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    telebot-forums.h
    +
    +
    +Go to the documentation of this file.
    1/*
    +
    2 * telebot
    +
    3 *
    +
    4 * Copyright (c) 2015 Elmurod Talipov.
    +
    5 *
    +
    6 * Licensed under the Apache License, Version 2.0 (the License);
    +
    7 * you may not use this file except in compliance with the License.
    +
    8 * You may obtain a copy of the License at
    +
    9 *
    +
    10 * http://www.apache.org/licenses/LICENSE-2.0
    +
    11 *
    +
    12 * Unless required by applicable law or agreed to in writing, software
    +
    13 * distributed under the License is distributed on an "AS IS" BASIS,
    +
    14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +
    15 * See the License for the specific language governing permissions and
    +
    16 * limitations under the License.
    +
    17 */
    +
    18
    +
    19#ifndef __TELEBOT_FORUMS_H__
    +
    20#define __TELEBOT_FORUMS_H__
    +
    21
    +
    22#include <stdbool.h>
    +
    23#include "telebot-types.h"
    +
    24
    +
    25#ifdef __cplusplus
    +
    26extern "C" {
    +
    27#endif
    +
    28
    + +
    54 long long int chat_id, const char *name, int icon_color, const char *icon_custom_emoji_id,
    + +
    56
    + +
    63
    + +
    75 long long int chat_id, int message_thread_id, const char *name, const char *icon_custom_emoji_id);
    +
    76
    + +
    86 long long int chat_id, int message_thread_id);
    +
    87
    + +
    97 long long int chat_id, int message_thread_id);
    +
    98
    + +
    108 long long int chat_id, int message_thread_id);
    +
    109
    + +
    119 long long int chat_id, int message_thread_id);
    +
    120
    + +
    130 telebot_sticker_t **stickers, int *count);
    +
    131
    + +
    141 long long int chat_id, const char *name);
    +
    142
    + +
    151 long long int chat_id);
    +
    152
    + +
    161 long long int chat_id);
    +
    162
    + +
    171 long long int chat_id);
    +
    172
    + +
    181 long long int chat_id);
    +
    182
    + +
    191 long long int chat_id);
    +
    192
    +
    197#ifdef __cplusplus
    +
    198}
    +
    199#endif
    +
    200
    +
    201#endif /* __TELEBOT_FORUMS_H__ */
    +
    telebot_error_e telebot_hide_general_forum_topic(telebot_handler_t handle, long long int chat_id)
    Use this method to hide the 'General' topic in a forum supergroup chat.
    +
    telebot_error_e telebot_unhide_general_forum_topic(telebot_handler_t handle, long long int chat_id)
    Use this method to unhide the 'General' topic in a forum supergroup chat.
    +
    telebot_error_e telebot_reopen_forum_topic(telebot_handler_t handle, long long int chat_id, int message_thread_id)
    Use this method to reopen a closed topic in a forum supergroup chat.
    +
    telebot_error_e telebot_reopen_general_forum_topic(telebot_handler_t handle, long long int chat_id)
    Use this method to reopen a closed 'General' topic in a forum supergroup chat.
    +
    telebot_error_e telebot_get_forum_topic_icon_stickers(telebot_handler_t handle, telebot_sticker_t **stickers, int *count)
    Use this method to get custom emoji stickers, which can be used as a forum topic icon by any user.
    +
    struct telebot_handler * telebot_handler_t
    This is opaque object to represent a telebot handler.
    Definition telebot-types.h:3489
    +
    telebot_error_e telebot_edit_forum_topic(telebot_handler_t handle, long long int chat_id, int message_thread_id, const char *name, const char *icon_custom_emoji_id)
    Use this method to edit name and icon of a topic in a forum supergroup chat.
    +
    telebot_error_e telebot_put_forum_topic(telebot_forum_topic_t *topic)
    Release forum topic obtained with telebot_create_forum_topic.
    +
    telebot_error_e telebot_unpin_all_general_forum_topic_messages(telebot_handler_t handle, long long int chat_id)
    Use this method to unpin all messages in a General forum topic.
    +
    telebot_error_e telebot_unpin_all_forum_topic_messages(telebot_handler_t handle, long long int chat_id, int message_thread_id)
    Use this method to unpin all messages in a forum topic.
    +
    telebot_error_e telebot_delete_forum_topic(telebot_handler_t handle, long long int chat_id, int message_thread_id)
    Use this method to delete a forum topic along with all its messages in a forum supergroup chat.
    +
    telebot_error_e telebot_close_forum_topic(telebot_handler_t handle, long long int chat_id, int message_thread_id)
    Use this method to close an open topic in a forum supergroup chat.
    +
    telebot_error_e
    Enumerations of error code for telebot programming interface.
    Definition telebot-common.h:45
    +
    telebot_error_e telebot_edit_general_forum_topic(telebot_handler_t handle, long long int chat_id, const char *name)
    Use this method to edit the name of the 'General' topic in a forum supergroup chat.
    +
    telebot_error_e telebot_create_forum_topic(telebot_handler_t handle, long long int chat_id, const char *name, int icon_color, const char *icon_custom_emoji_id, telebot_forum_topic_t *topic)
    Use this method to create a topic in a forum supergroup chat.
    +
    telebot_error_e telebot_close_general_forum_topic(telebot_handler_t handle, long long int chat_id)
    Use this method to close an open 'General' topic in a forum supergroup chat.
    +
    This object represents a forum topic.
    Definition telebot-types.h:3292
    +
    This object represents a sticker.
    Definition telebot-types.h:3254
    +
    This file contains types used to create telegram bot.
    +
    + + + + diff --git a/docs/telebot-games_8h.html b/docs/telebot-games_8h.html new file mode 100644 index 0000000..9ea0394 --- /dev/null +++ b/docs/telebot-games_8h.html @@ -0,0 +1,119 @@ + + + + + + + +Telebot: include/telebot-games.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    telebot-games.h File Reference
    +
    +
    + +

    This file contains games feature of telegram bot. +More...

    +
    #include <stdbool.h>
    +#include "telebot-types.h"
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + +

    +Functions

    +telebot_error_e telebot_send_game (telebot_handler_t handle, long long int chat_id, int message_thread_id, const char *game_short_name, bool disable_notification, bool protect_content, const char *reply_parameters, const char *reply_markup, telebot_message_t *message)
     Use this method to send a game.
     
    +telebot_error_e telebot_set_game_score (telebot_handler_t handle, long long int user_id, int score, bool force, bool disable_edit_message, long long int chat_id, int message_id, const char *inline_message_id, telebot_message_t *message)
     Use this method to set the score of the specified user in a game.
     
    +telebot_error_e telebot_get_game_high_scores (telebot_handler_t handle, long long int user_id, long long int chat_id, int message_id, const char *inline_message_id, telebot_game_high_score_t **high_scores, int *count)
     Use this method to get data for high score tables.
     
    +telebot_error_e telebot_put_game_high_scores (telebot_game_high_score_t *high_scores, int count)
     Release game high scores obtained with telebot_get_game_high_scores.
     
    +

    Detailed Description

    +

    This file contains games feature of telegram bot.

    +
    Author
    Elmurod Talipov
    +
    Date
    2026-02-27
    +
    + + + + diff --git a/docs/telebot-games_8h_source.html b/docs/telebot-games_8h_source.html new file mode 100644 index 0000000..b8899b0 --- /dev/null +++ b/docs/telebot-games_8h_source.html @@ -0,0 +1,149 @@ + + + + + + + +Telebot: include/telebot-games.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    telebot-games.h
    +
    +
    +Go to the documentation of this file.
    1/*
    +
    2 * telebot
    +
    3 *
    +
    4 * Copyright (c) 2015 Elmurod Talipov.
    +
    5 *
    +
    6 * Licensed under the Apache License, Version 2.0 (the License);
    +
    7 * you may not use this file except in compliance with the License.
    +
    8 * You may obtain a copy of the License at
    +
    9 *
    +
    10 * http://www.apache.org/licenses/LICENSE-2.0
    +
    11 *
    +
    12 * Unless required by applicable law or agreed to in writing, software
    +
    13 * distributed under the License is distributed on an "AS IS" BASIS,
    +
    14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +
    15 * See the License for the specific language governing permissions and
    +
    16 * limitations under the License.
    +
    17 */
    +
    18
    +
    19#ifndef __TELEBOT_GAMES_H__
    +
    20#define __TELEBOT_GAMES_H__
    +
    21
    +
    22#include <stdbool.h>
    +
    23#include "telebot-types.h"
    +
    24
    +
    25#ifdef __cplusplus
    +
    26extern "C" {
    +
    27#endif
    +
    28
    + +
    46 long long int chat_id, int message_thread_id, const char *game_short_name,
    +
    47 bool disable_notification, bool protect_content, const char *reply_parameters,
    +
    48 const char *reply_markup, telebot_message_t *message);
    +
    49
    + +
    54 long long int user_id, int score, bool force, bool disable_edit_message,
    +
    55 long long int chat_id, int message_id, const char *inline_message_id,
    +
    56 telebot_message_t *message);
    +
    57
    + +
    62 long long int user_id, long long int chat_id, int message_id, const char *inline_message_id,
    +
    63 telebot_game_high_score_t **high_scores, int *count);
    +
    64
    + +
    69
    +
    74#ifdef __cplusplus
    +
    75}
    +
    76#endif
    +
    77
    +
    78#endif /* __TELEBOT_GAMES_H__ */
    +
    telebot_error_e telebot_send_game(telebot_handler_t handle, long long int chat_id, int message_thread_id, const char *game_short_name, bool disable_notification, bool protect_content, const char *reply_parameters, const char *reply_markup, telebot_message_t *message)
    Use this method to send a game.
    +
    telebot_error_e telebot_put_game_high_scores(telebot_game_high_score_t *high_scores, int count)
    Release game high scores obtained with telebot_get_game_high_scores.
    +
    struct telebot_handler * telebot_handler_t
    This is opaque object to represent a telebot handler.
    Definition telebot-types.h:3489
    +
    telebot_error_e telebot_get_game_high_scores(telebot_handler_t handle, long long int user_id, long long int chat_id, int message_id, const char *inline_message_id, telebot_game_high_score_t **high_scores, int *count)
    Use this method to get data for high score tables.
    +
    telebot_error_e
    Enumerations of error code for telebot programming interface.
    Definition telebot-common.h:45
    +
    telebot_error_e telebot_set_game_score(telebot_handler_t handle, long long int user_id, int score, bool force, bool disable_edit_message, long long int chat_id, int message_id, const char *inline_message_id, telebot_message_t *message)
    Use this method to set the score of the specified user in a game.
    +
    This object represents a game high score row.
    Definition telebot-types.h:1763
    +
    This object represents a message.
    Definition telebot-types.h:1777
    +
    This file contains types used to create telegram bot.
    +
    + + + + diff --git a/docs/telebot-inline_8h.html b/docs/telebot-inline_8h.html new file mode 100644 index 0000000..9d69c53 --- /dev/null +++ b/docs/telebot-inline_8h.html @@ -0,0 +1,119 @@ + + + + + + + +Telebot: include/telebot-inline.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    telebot-inline.h File Reference
    +
    +
    + +

    This file contains inline mode feature of telegram bot. +More...

    +
    #include <stdbool.h>
    +#include "telebot-types.h"
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + +

    +Functions

    +telebot_error_e telebot_answer_inline_query (telebot_handler_t handle, const char *inline_query_id, const char *results, int cache_time, bool is_personal, const char *next_offset, const char *button)
     Use this method to send answers to an inline query.
     
    +telebot_error_e telebot_save_prepared_inline_message (telebot_handler_t handle, long long int user_id, const char *result, bool allow_user_chats, bool allow_bot_chats, bool allow_group_chats, bool allow_channel_chats, telebot_prepared_inline_message_t *prepared_message)
     Use this method to save a prepared inline message.
     
    +telebot_error_e telebot_put_prepared_inline_message (telebot_prepared_inline_message_t *prepared_message)
     Release prepared inline message.
     
    +telebot_error_e telebot_answer_web_app_query (telebot_handler_t handle, const char *web_app_query_id, const char *result, char **inline_message_id)
     Use this method to send answers to an inline query to a user from a Web App.
     
    +

    Detailed Description

    +

    This file contains inline mode feature of telegram bot.

    +
    Author
    Elmurod Talipov
    +
    Date
    2026-02-27
    +
    + + + + diff --git a/docs/telebot-inline_8h_source.html b/docs/telebot-inline_8h_source.html new file mode 100644 index 0000000..afa3aed --- /dev/null +++ b/docs/telebot-inline_8h_source.html @@ -0,0 +1,146 @@ + + + + + + + +Telebot: include/telebot-inline.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    telebot-inline.h
    +
    +
    +Go to the documentation of this file.
    1/*
    +
    2 * telebot
    +
    3 *
    +
    4 * Copyright (c) 2015 Elmurod Talipov.
    +
    5 *
    +
    6 * Licensed under the Apache License, Version 2.0 (the License);
    +
    7 * you may not use this file except in compliance with the License.
    +
    8 * You may obtain a copy of the License at
    +
    9 *
    +
    10 * http://www.apache.org/licenses/LICENSE-2.0
    +
    11 *
    +
    12 * Unless required by applicable law or agreed to in writing, software
    +
    13 * distributed under the License is distributed on an "AS IS" BASIS,
    +
    14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +
    15 * See the License for the specific language governing permissions and
    +
    16 * limitations under the License.
    +
    17 */
    +
    18
    +
    19#ifndef __TELEBOT_INLINE_H__
    +
    20#define __TELEBOT_INLINE_H__
    +
    21
    +
    22#include <stdbool.h>
    +
    23#include "telebot-types.h"
    +
    24
    +
    25#ifdef __cplusplus
    +
    26extern "C" {
    +
    27#endif
    +
    28
    + +
    46 const char *inline_query_id, const char *results, int cache_time,
    +
    47 bool is_personal, const char *next_offset, const char *button);
    +
    48
    + +
    53 long long int user_id, const char *result, bool allow_user_chats,
    +
    54 bool allow_bot_chats, bool allow_group_chats, bool allow_channel_chats,
    +
    55 telebot_prepared_inline_message_t *prepared_message);
    +
    56
    + +
    61
    + +
    66 const char *web_app_query_id, const char *result, char **inline_message_id);
    +
    67
    +
    72#ifdef __cplusplus
    +
    73}
    +
    74#endif
    +
    75
    +
    76#endif /* __TELEBOT_INLINE_H__ */
    +
    telebot_error_e telebot_save_prepared_inline_message(telebot_handler_t handle, long long int user_id, const char *result, bool allow_user_chats, bool allow_bot_chats, bool allow_group_chats, bool allow_channel_chats, telebot_prepared_inline_message_t *prepared_message)
    Use this method to save a prepared inline message.
    +
    telebot_error_e telebot_answer_web_app_query(telebot_handler_t handle, const char *web_app_query_id, const char *result, char **inline_message_id)
    Use this method to send answers to an inline query to a user from a Web App.
    +
    struct telebot_handler * telebot_handler_t
    This is opaque object to represent a telebot handler.
    Definition telebot-types.h:3489
    +
    telebot_error_e telebot_answer_inline_query(telebot_handler_t handle, const char *inline_query_id, const char *results, int cache_time, bool is_personal, const char *next_offset, const char *button)
    Use this method to send answers to an inline query.
    +
    telebot_error_e
    Enumerations of error code for telebot programming interface.
    Definition telebot-common.h:45
    +
    telebot_error_e telebot_put_prepared_inline_message(telebot_prepared_inline_message_t *prepared_message)
    Release prepared inline message.
    +
    This object represents a prepared inline message.
    Definition telebot-types.h:3309
    +
    This file contains types used to create telegram bot.
    +
    + + + + diff --git a/docs/telebot-methods_8h.html b/docs/telebot-methods_8h.html index b87e862..1d79f74 100644 --- a/docs/telebot-methods_8h.html +++ b/docs/telebot-methods_8h.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: include/telebot-methods.h File Reference @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,9 +56,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    diff --git a/docs/telebot-stickers_8h_source.html b/docs/telebot-stickers_8h_source.html index a4943f0..e937804 100644 --- a/docs/telebot-stickers_8h_source.html +++ b/docs/telebot-stickers_8h_source.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: include/telebot-stickers.h Source File @@ -19,10 +19,9 @@
    - - + @@ -31,19 +30,28 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + +
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    telebot-stickers.h
    +
    telebot-stickers.h
    -Go to the documentation of this file.
    1 
    2 /*
    3  * telebot
    4  *
    5  * Copyright (c) 2020 Elmurod Talipov.
    6  *
    7  * Licensed under the Apache License, Version 2.0 (the License);
    8  * you may not use this file except in compliance with the License.
    9  * You may obtain a copy of the License at
    10  *
    11  * http://www.apache.org/licenses/LICENSE-2.0
    12  *
    13  * Unless required by applicable law or agreed to in writing, software
    14  * distributed under the License is distributed on an "AS IS" BASIS,
    15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    16  * See the License for the specific language governing permissions and
    17  * limitations under the License.
    18  */
    19 
    20 #ifndef __TELEBOT_STICKERS_H__
    21 #define __TELEBOT_STICKERS_H__
    22 
    23 #include <stdbool.h>
    24 
    25 #ifdef __cplusplus
    26 extern "C" {
    27 #endif
    28 
    46 typedef struct telebot_mask_position {
    51  char *point;
    52 
    58  float x_shift;
    59 
    65  float y_shift;
    66 
    68  float scale;
    70 
    71 
    75 typedef struct telebot_sticker {
    77  char *file_id;
    78 
    84 
    86  int width;
    87 
    89  int height;
    90 
    93 
    96 
    98  char *emoji;
    99 
    101  char *set_name;
    102 
    105 
    109 
    110 
    114 typedef struct telebot_sticker_set {
    116  char *name;
    117 
    119  char *title;
    120 
    123 
    126 
    129 
    130  /* Number of stickers */
    131  int count_stickers;
    132 
    135 
    137 
    154 telebot_error_e telebot_send_sticker(telebot_handler_t handle, long long int chat_id,
    155  const char *sticker, bool is_file, bool disable_notification,
    156  int reply_to_message_id, char *reply_markup);
    157 
    169  telebot_sticker_set_t *stickers);
    170 
    180 
    185 #ifdef __cplusplus
    186 }
    187 #endif
    188 
    189 #endif /* __TELEBOT_STICKERS_H__ */
    telebot_error_e
    Enumerations of error code for telebot programming interface.
    Definition: telebot-common.h:45
    -
    struct telebot_photo * thumb
    Definition: telebot-stickers.h:95
    -
    struct telebot_photo * thumb
    Definition: telebot-stickers.h:134
    -
    bool is_animated
    Definition: telebot-stickers.h:92
    -
    This object represents one size of a photo or a file / sticker thumbnail.
    Definition: telebot-types.h:402
    -
    telebot_error_e telebot_get_sticker_set(telebot_handler_t handle, const char *name, telebot_sticker_set_t *stickers)
    Get a sticker set.
    -
    char * title
    Definition: telebot-stickers.h:119
    -
    char * point
    Definition: telebot-stickers.h:51
    -
    struct telebot_mask_position * mask_position
    Definition: telebot-stickers.h:104
    -
    struct telebot_sticker telebot_sticker_t
    This object represents a sticker.
    -
    telebot_sticker_t * stickers
    Definition: telebot-stickers.h:128
    -
    float scale
    Definition: telebot-stickers.h:68
    -
    char * file_unique_id
    Definition: telebot-stickers.h:83
    -
    char * file_id
    Definition: telebot-stickers.h:77
    -
    int width
    Definition: telebot-stickers.h:86
    -
    telebot_error_e telebot_send_sticker(telebot_handler_t handle, long long int chat_id, const char *sticker, bool is_file, bool disable_notification, int reply_to_message_id, char *reply_markup)
    Send static .WEBP or animated .TGS stickers.
    -
    int file_size
    Definition: telebot-stickers.h:107
    -
    float x_shift
    Definition: telebot-stickers.h:58
    -
    telebot_error_e telebot_put_sticker_set(telebot_sticker_set_t *stickers)
    Release sticker set obtained with telebot_get_sticker_set()
    -
    This object represents a sticker.
    Definition: telebot-stickers.h:75
    -
    char * set_name
    Definition: telebot-stickers.h:101
    -
    bool contains_masks
    Definition: telebot-stickers.h:125
    -
    This object describes the position on faces where a mask should be placed by default.
    Definition: telebot-stickers.h:46
    -
    char * emoji
    Definition: telebot-stickers.h:98
    -
    This object represents a sticker set.
    Definition: telebot-stickers.h:114
    -
    struct telebot_mask_position telebot_mask_position_t
    This object describes the position on faces where a mask should be placed by default.
    -
    float y_shift
    Definition: telebot-stickers.h:65
    -
    bool is_animated
    Definition: telebot-stickers.h:122
    -
    int height
    Definition: telebot-stickers.h:89
    -
    char * name
    Definition: telebot-stickers.h:116
    -
    struct telebot_sticker_set telebot_sticker_set_t
    This object represents a sticker set.
    -
    struct telebot_handler_s * telebot_handler_t
    This is opaque object to represent a telebot handler.
    Definition: telebot-types.h:1296
    +Go to the documentation of this file.
    1
    +
    2/*
    +
    3 * telebot
    +
    4 *
    +
    5 * Copyright (c) 2020 Elmurod Talipov.
    +
    6 *
    +
    7 * Licensed under the Apache License, Version 2.0 (the License);
    +
    8 * you may not use this file except in compliance with the License.
    +
    9 * You may obtain a copy of the License at
    +
    10 *
    +
    11 * http://www.apache.org/licenses/LICENSE-2.0
    +
    12 *
    +
    13 * Unless required by applicable law or agreed to in writing, software
    +
    14 * distributed under the License is distributed on an "AS IS" BASIS,
    +
    15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +
    16 * See the License for the specific language governing permissions and
    +
    17 * limitations under the License.
    +
    18 */
    +
    19
    +
    20#ifndef __TELEBOT_STICKERS_H__
    +
    21#define __TELEBOT_STICKERS_H__
    +
    22
    +
    23#include <stdbool.h>
    +
    24
    +
    25#ifdef __cplusplus
    +
    26extern "C" {
    +
    27#endif
    +
    28
    +
    +
    45typedef struct telebot_sticker_set {
    +
    47 char *name;
    +
    48
    +
    50 char *title;
    +
    51
    + +
    54
    + +
    57
    + +
    60
    +
    61 /* Number of stickers */
    +
    62 int count_stickers;
    +
    63
    + +
    66
    + +
    +
    68
    + +
    86 const char *sticker, bool is_file, bool disable_notification,
    +
    87 int reply_to_message_id, char *reply_markup);
    +
    88
    + +
    100 telebot_sticker_set_t *stickers);
    +
    101
    + +
    110
    + +
    119
    +
    124#ifdef __cplusplus
    +
    125}
    +
    126#endif
    +
    127
    +
    128#endif /* __TELEBOT_STICKERS_H__ */
    +
    telebot_error_e telebot_send_sticker(telebot_handler_t handle, long long int chat_id, const char *sticker, bool is_file, bool disable_notification, int reply_to_message_id, char *reply_markup)
    Send static .WEBP or animated .TGS stickers.
    +
    telebot_error_e telebot_put_sticker(telebot_sticker_t *sticker)
    Release a sticker object.
    +
    telebot_error_e telebot_put_sticker_set(telebot_sticker_set_t *stickers)
    Release sticker set obtained with telebot_get_sticker_set()
    +
    telebot_error_e telebot_get_sticker_set(telebot_handler_t handle, const char *name, telebot_sticker_set_t *stickers)
    Get a sticker set.
    +
    struct telebot_handler * telebot_handler_t
    This is opaque object to represent a telebot handler.
    Definition telebot-types.h:3489
    +
    telebot_error_e
    Enumerations of error code for telebot programming interface.
    Definition telebot-common.h:45
    +
    struct telebot_sticker_set telebot_sticker_set_t
    This object represents a sticker set.
    +
    This object represents one size of a photo or a file / sticker thumbnail.
    Definition telebot-types.h:2165
    +
    This object represents a sticker set.
    Definition telebot-stickers.h:45
    +
    telebot_sticker_t * stickers
    Definition telebot-stickers.h:59
    +
    char * name
    Definition telebot-stickers.h:47
    +
    bool contains_masks
    Definition telebot-stickers.h:56
    +
    char * title
    Definition telebot-stickers.h:50
    +
    struct telebot_photo * thumb
    Definition telebot-stickers.h:65
    +
    bool is_animated
    Definition telebot-stickers.h:53
    +
    This object represents a sticker.
    Definition telebot-types.h:3254
    diff --git a/docs/telebot-types_8h.html b/docs/telebot-types_8h.html index 0ef7162..cc09f44 100644 --- a/docs/telebot-types_8h.html +++ b/docs/telebot-types_8h.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: include/telebot-types.h File Reference @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + @@ -53,9 +56,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    telebot-types.h File Reference
    +
    telebot-types.h File Reference
    @@ -79,14 +88,248 @@

    Go to the source code of this file.

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -99,6 +342,21 @@ + + + + + + + + + + + + + + + @@ -144,6 +402,15 @@ + + + + + + + + + @@ -151,7 +418,7 @@ - + @@ -174,175 +441,611 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +

    Classes

    struct  telebot_birthdate
     Describes the birthdate of a user. More...
     
    struct  telebot_business_intro
     Contains information about the start page settings of a Telegram Business account. More...
     
    struct  telebot_business_location
     Contains information about the location of a Telegram Business account. More...
     
    struct  telebot_business_opening_hours_interval
     Describes an interval of time during which a business is open. More...
     
    struct  telebot_business_opening_hours
     Describes the opening hours of a business. More...
     
    struct  telebot_business_bot_rights
     Represents the rights of a business bot. More...
     
    struct  telebot_business_connection
     Describes the connection of the bot with a business account. More...
     
    struct  telebot_business_messages_deleted
     This object is received when messages are deleted from a connected business account. More...
     
    struct  telebot_user
     This object represents a Telegram user or bot. More...
     
    struct  telebot_chat
     This object represents a chat. More...
     
    struct  telebot_game
     This object represents a game. More...
     
    struct  telebot_shipping_address
     This object represents a shipping address. More...
     
    struct  telebot_order_info
     This object represents information about an order. More...
     
    struct  telebot_invoice
     This object contains basic information about an invoice. More...
     
    struct  telebot_successful_payment
     This object contains basic information about a successful payment. More...
     
    struct  telebot_passport_file
     This object represents an internal identifier of a user in Telegram Passport. More...
     
    struct  telebot_encrypted_passport_element
     This object represents one element of the Telegram Passport data. More...
     
    struct  telebot_encrypted_credentials
     This object represents credentials required to decrypt the data. More...
     
    struct  telebot_passport_data
     Contains information about Telegram Passport data which was shared with the bot by the user. More...
     
    struct  telebot_proximity_alert_triggered
     This object represents a service message about a user in the chat triggered another user's proximity alert while sharing Live Location. More...
     
    struct  telebot_forum_topic_created
     This object represents a service message about a new forum topic created in the chat. More...
     
    struct  telebot_forum_topic_closed
     This object represents a service message about a forum topic closed in the chat. More...
     
    struct  telebot_forum_topic_reopened
     This object represents a service message about a forum topic reopened in the chat. More...
     
    struct  telebot_video_chat_scheduled
     This object represents a service message about a video chat scheduled in the chat. More...
     
    struct  telebot_video_chat_started
     This object represents a service message about a video chat started in the chat. More...
     
    struct  telebot_video_chat_ended
     This object represents a service message about a video chat ended in the chat. More...
     
    struct  telebot_video_chat_participants_invited
     This object represents a service message about new members invited to a video chat. More...
     
    struct  telebot_web_app_data
     This object represents data sent by a Web App to the bot. More...
     
    struct  telebot_callback_game
     A placeholder, currently holds no information. Use BotFather to set up your game. More...
     
    struct  telebot_login_url
     This object represents a parameter of the inline keyboard button used to automatically authorize a user. More...
     
    struct  telebot_switch_inline_query_chosen_chat
     This object represents an inline button that switches the current user to inline mode in a chosen chat. More...
     
    struct  telebot_copy_text_button
     This object represents an inline keyboard button that copies specified text to the clipboard. More...
     
    struct  telebot_inline_keyboard_button
     This object represents one button of an inline keyboard. You must use exactly one of the optional fields. More...
     
    struct  telebot_inline_keyboard_markup
     This object represents an inline keyboard that appears right next to the message it belongs to. More...
     
    struct  telebot_forum_topic_edited
     This object represents a service message about a forum topic edited in the chat. More...
     
    struct  telebot_general_forum_topic_hidden
     This object represents a service message about a general forum topic hidden in the chat. More...
     
    struct  telebot_general_forum_topic_unhidden
     This object represents a service message about a general forum topic unhidden in the chat. More...
     
    struct  telebot_write_access_allowed
     This object represents a service message about a user allowing a bot to write messages after adding the bot to the attachment menu or launching a Web App from a link. More...
     
    struct  telebot_user_shared
     This object contains information about the user whose identifier was shared with the bot using a KeyboardButtonRequestUser button. More...
     
    struct  telebot_chat_shared
     This object contains information about the chat whose identifier was shared with the bot using a KeyboardButtonRequestChat button. More...
     
    struct  telebot_chat_invite_link
     This object represents a chat invite link. More...
     
    struct  telebot_chat_member_updated
     This object represents changes in the status of a chat member. More...
     
    struct  telebot_chat_join_request
     This object represents a join request sent to a chat. More...
     
    struct  telebot_message_reaction_updated
     This object represents a change of a reaction on a message performed by a user. More...
     
    struct  telebot_message_reaction_count_updated
     This object represents reaction changes on a message with anonymous reactions. More...
     
    struct  telebot_reaction_type
     This object represents a reaction type. More...
     
    struct  telebot_reaction_count
     This object represents a reaction count. More...
     
    struct  telebot_chat_boost_updated
     This object represents a boost added to a chat. More...
     
    struct  telebot_chat_boost
     This object contains information about a chat boost. More...
     
    struct  telebot_chat_boost_source
     This object represents the source of a chat boost. More...
     
    struct  telebot_chat_boost_removed
     This object represents a boost removed from a chat. More...
     
    struct  telebot_message_origin
     This object describes the origin of a message. More...
     
    struct  telebot_text_quote
     This object contains information about the quoted part of a message that is replied to by the given message. More...
     
    struct  telebot_story
     This object contains information about a story. More...
     
    struct  telebot_external_reply_info
     This object contains information about the message that is being replied to, which may come from another chat or forum topic. More...
     
    struct  telebot_link_preview_options
     Describes the options used for link preview generation. More...
     
    struct  telebot_paid_media
     This object describes paid media. More...
     
    struct  telebot_paid_media_info
     Describes the paid media added to a message. More...
     
    struct  telebot_giveaway
     This object represents a message about a scheduled giveaway. More...
     
    struct  telebot_giveaway_winners
     This object represents a message about the completion of a giveaway with public winners. More...
     
    struct  telebot_refunded_payment
     This object represents a service message about a refunded payment. More...
     
    struct  telebot_users_shared
     This object contains information about the users whose identifiers were shared with the bot using a KeyboardButtonRequestUsers button. More...
     
    struct  telebot_shared_user
     This object contains information about a user that was shared with the bot. More...
     
    struct  telebot_gift
     This object represents a gift that can be sent by the bot. More...
     
    struct  telebot_gift_info
     Describes a regular gift that was sent or received. More...
     
    struct  telebot_unique_gift_info
     Describes a unique gift that was sent or received. More...
     
    struct  telebot_unique_gift
     This object describes a unique gift that was upgraded from a regular gift. More...
     
    struct  telebot_chat_boost_added
     This object represents a service message about a user boosting a chat. More...
     
    struct  telebot_chat_background
     This object represents a chat background. More...
     
    struct  telebot_giveaway_created
     This object represents a service message about the creation of a scheduled giveaway. More...
     
    struct  telebot_giveaway_completed
     This object represents a service message about the completion of a giveaway without public winners. More...
     
    struct  telebot_star_amount
     Describes an amount of Telegram Stars. More...
     
    struct  telebot_affiliate_info
     Contains information about the affiliate that received a commission. More...
     
    struct  telebot_revenue_withdrawal_state
     This object describes the state of a revenue withdrawal operation. More...
     
    struct  telebot_transaction_partner
     This object describes the source of a transaction. More...
     
    struct  telebot_star_transaction
     Describes a Telegram Star transaction. More...
     
    struct  telebot_star_transactions
     Contains a list of Telegram Star transactions. More...
     
    struct  telebot_paid_media_purchased
     This object contains information about a paid media purchase. More...
     
    struct  telebot_passport_element_error
     This object represents an error in the Telegram Passport element. More...
     
    struct  telebot_game_high_score
     This object represents a game high score row. More...
     
    struct  telebot_message
     This object represents a message. More...
     
    struct  telebot_audio
     This object represents an audio file to be treated as music by the Telegram clients. More...
     
    struct  telebot_gifts
     This object represent a list of gifts. More...
     
    struct  telebot_user_profile_audios
     This object represents a list of user profile audios. More...
     
    struct  telebot_user_gift
     This object represents a gift received by a user. More...
     
    struct  telebot_user_gifts
     This object represents a list of gifts received by a user. More...
     
    struct  telebot_user_chat_boosts
     This object represents a list of user chat boosts. More...
     
    struct  telebot_document
     This object represents a general file (as opposed to photos, voice messages and audio files). More...
     
    struct  telebot_keyboard_button_poll_type
     This object represents type of a poll, which is allowed to be created and sent when the corresponding button is pressed. More...
     
    struct  telebot_keyboard_button_request_users
     This object defines the criteria used to request suitable users. More...
     
    struct  telebot_keyboard_button_request_chat
     This object defines the criteria used to request a suitable chat. More...
     
    struct  telebot_web_app_info
     Describes a Web App. More...
     
    struct  telebot_keyboard_button
     This object represents one button of the reply keyboard. For simple text buttons String can be used instead of this object to specify text of the button. Optional fields request_contact, request_location, and request_poll are mutually exclusive. More...
     
     This object represents a custom keyboard with reply options. More...
     
    struct  telebot_reply_keyboard_remove
     Upon receiving a message with this object, Telegram clients will remove the current custom keyboard and display the default letter-keyboard. By default, custom keyboards are displayed until a new keyboard is sent by a bot. An exception is made for one-time keyboards that are hidden immediately after the user presses a button (see telebot_reply_keyboard_markup_t). More...
     Upon receiving a message with this object, Telegram clients will remove the current custom keyboard and display the default letter-keyboard. By default, custom keyboards are displayed until a new keyboard is sent by a bot. An exception is made for one-time keyboards that are hidden immediately after the user presses a button (see telebot_reply_keyboard_markup_t). More...
     
    struct  telebot_callback_query
     This object represents an incoming callback query from a callback button in an inline keyboard. If the button that originated the query was attached to a message sent by the bot, the field message will be present. If the button was attached to a message sent via the bot (in inline mode), the field inline_message_id will be present. Exactly one of the fields data or game_short_name will be present. More...
    struct  telebot_response_paramters
     Contains information about why a request was unsuccessful. More...
     
    struct  telebot_inline_query
     This object represents an incoming inline query. When the user sends an empty query, your bot could return some default or trending results. More...
     
    struct  telebot_chosen_inline_result
     Represents a result of an inline query that was chosen by the user and sent to their chat partner. More...
     
    struct  telebot_shipping_query
     This object contains information about an incoming shipping query. More...
     
    struct  telebot_pre_checkout_query
     This object contains information about an incoming pre-checkout query. More...
     
    struct  telebot_mask_position
     This object describes the position on faces where a mask should be placed by default. More...
     
    struct  telebot_sticker
     This object represents a sticker. More...
     
    struct  telebot_forum_topic
     This object represents a forum topic. More...
     
    struct  telebot_prepared_inline_message
     This object represents a prepared inline message. More...
     
    struct  telebot_sent_web_app_message
     This object represents a message sent via a Web App. More...
     
    struct  telebot_update
     This object represents an incoming update. More...
     
    struct  telebot_webhook_info
     Thi object represetns information about the current status of a webhook. More...
     
    struct  telebot_chat_location
     Thi object represetns information about the current status of a webhook. More...
     
    struct  telebot_message_auto_delete_timer_changed
     This object represents a service message about a change in auto-delete timer settings. More...
     
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +

    Typedefs

    -typedef enum telebot_update_type telebot_update_type_e
     Enumerations of telegram update types.
     
    -typedef struct telebot_user telebot_user_t
     This object represents a Telegram user or bot.
     
    -typedef struct telebot_chat telebot_chat_t
     This object represents a chat.
     
    -typedef struct telebot_message telebot_message_t
     This object represents a message.
     
    -typedef struct telebot_message_entity telebot_message_entity_t
     This object represents one special entity in a text message. For example, hashtags, usernames, URLs, etc.
     
    -typedef struct telebot_photo telebot_photo_t
     This object represents one size of a photo or a file / sticker thumbnail.
     
    -typedef struct telebot_audio telebot_audio_t
     This object represents an audio file to be treated as music by the Telegram clients.
     
    -typedef struct telebot_document telebot_document_t
     This object represents a general file (as opposed to photos, voice messages and audio files).
     
    -typedef struct telebot_video telebot_video_t
     This object represents a video file.
     
    -typedef struct telebot_animation telebot_animation_t
     This object represents a video file.
     
    -typedef struct telebot_voice telebot_voice_t
     This object represents a voice note.
     
    -typedef struct telebot_video_note telebot_video_note_t
     This object represents a video message (available in Telegram apps as of v.4.0).
     
    -typedef struct telebot_contact telebot_contact_t
     This object represents a phone contact.
     
    -typedef struct telebot_location telebot_location_t
     This object represents a point on the map.
     
    -typedef struct telebot_venue telebot_venue_t
     This object represents a venue.
     
    -typedef struct telebot_poll_option telebot_poll_option_t
     This object contains information about one answer option in a poll.
     
    -typedef struct telebot_poll_answer telebot_poll_answer_t
     This object represents an answer of a user in a non-anonymous poll.
     
    -typedef struct telebot_poll telebot_poll_t
     This object contains information about a poll.
     
    -typedef struct telebot_dice telebot_dice_t
     This object represents a dice with random value from 1 to 6.
     
    -typedef struct telebot_user_profile_photos telebot_user_profile_photos_t
     This object represent a user's profile pictures.
     
    typedef struct telebot_file telebot_file_t
     This object represents a file ready to be downloaded. More...
     
    -typedef struct telebot_keyboard_button_poll_type telebot_keyboard_button_poll_type_t
     This object represents type of a poll, which is allowed to be created and sent when the corresponding button is pressed.
     
    -typedef struct telebot_keyboard_button telebot_keyboard_button_t
     This object represents one button of the reply keyboard. For simple text buttons String can be used instead of this object to specify text of the button. Optional fields request_contact, request_location, and request_poll are mutually exclusive.
     
    -typedef struct telebot_reply_keyboard_markup telebot_reply_keyboard_markup_t
     This object represents a custom keyboard with reply options.
     
    -typedef struct telebot_reply_keyboard_remove telebot_reply_keyboard_remove_t
     Upon receiving a message with this object, Telegram clients will remove the current custom keyboard and display the default letter-keyboard. By default, custom keyboards are displayed until a new keyboard is sent by a bot. An exception is made for one-time keyboards that are hidden immediately after the user presses a button (see telebot_reply_keyboard_markup_t).
     
    -typedef struct telebot_callback_query telebot_callback_query_t
     This object represents an incoming callback query from a callback button in an inline keyboard. If the button that originated the query was attached to a message sent by the bot, the field message will be present. If the button was attached to a message sent via the bot (in inline mode), the field inline_message_id will be present. Exactly one of the fields data or game_short_name will be present.
     
    -typedef struct telebot_force_reply telebot_force_reply_t
     Upon receiving a message with this object, Telegram clients will display a reply interface to the user (act as if the user has selected the bot's message and tapped ’Reply'). This can be extremely useful if you want to create user-friendly step-by-step interfaces without having to sacrifice privacy mode.
     
    -typedef struct telebot_chat_photo telebot_chat_photo_t
     This object represents a chat photo.
     
    -typedef struct telebot_chat_member telebot_chat_member_t
     This object contains information about one member of a chat.
     
    -typedef struct telebot_chat_permissions telebot_chat_permissions_t
     Describes actions that a non-administrator user is allowed to take in a chat.
     
    -typedef struct telebot_bot_command telebot_bot_command_t
     This object represents a bot command.
     
    -typedef struct telebot_response_paramters telebot_response_paramters_t
     Contains information about why a request was unsuccessful.
     
    -typedef struct telebot_update telebot_update_t
     This object represents an incoming update.
     
    -typedef struct telebot_webhook_info telebot_webhook_info_t
     Thi object represetns information about the current status of a webhook.
     
    -typedef struct telebot_handler_s * telebot_handler_t
     This is opaque object to represent a telebot handler.
     
    +typedef enum telebot_update_type telebot_update_type_e
     Enumerations of telegram update types.
     
    +typedef struct telebot_birthdate telebot_birthdate_t
     Describes the birthdate of a user.
     
    +typedef struct telebot_business_intro telebot_business_intro_t
     Contains information about the start page settings of a Telegram Business account.
     
    +typedef struct telebot_business_location telebot_business_location_t
     Contains information about the location of a Telegram Business account.
     
    +typedef struct telebot_business_opening_hours_interval telebot_business_opening_hours_interval_t
     Describes an interval of time during which a business is open.
     
    +typedef struct telebot_business_opening_hours telebot_business_opening_hours_t
     Describes the opening hours of a business.
     
    +typedef struct telebot_business_bot_rights telebot_business_bot_rights_t
     Represents the rights of a business bot.
     
    +typedef struct telebot_business_connection telebot_business_connection_t
     Describes the connection of the bot with a business account.
     
    +typedef struct telebot_business_messages_deleted telebot_business_messages_deleted_t
     This object is received when messages are deleted from a connected business account.
     
    +typedef struct telebot_user telebot_user_t
     This object represents a Telegram user or bot.
     
    +typedef struct telebot_chat telebot_chat_t
     This object represents a chat.
     
    +typedef struct telebot_game telebot_game_t
     This object represents a game.
     
    +typedef struct telebot_shipping_address telebot_shipping_address_t
     This object represents a shipping address.
     
    +typedef struct telebot_order_info telebot_order_info_t
     This object represents information about an order.
     
    +typedef struct telebot_invoice telebot_invoice_t
     This object contains basic information about an invoice.
     
    +typedef struct telebot_successful_payment telebot_successful_payment_t
     This object contains basic information about a successful payment.
     
    +typedef struct telebot_passport_file telebot_passport_file_t
     This object represents an internal identifier of a user in Telegram Passport.
     
    +typedef struct telebot_encrypted_passport_element telebot_encrypted_passport_element_t
     This object represents one element of the Telegram Passport data.
     
    +typedef struct telebot_encrypted_credentials telebot_encrypted_credentials_t
     This object represents credentials required to decrypt the data.
     
    +typedef struct telebot_passport_data telebot_passport_data_t
     Contains information about Telegram Passport data which was shared with the bot by the user.
     
    +typedef struct telebot_proximity_alert_triggered telebot_proximity_alert_triggered_t
     This object represents a service message about a user in the chat triggered another user's proximity alert while sharing Live Location.
     
    +typedef struct telebot_forum_topic_created telebot_forum_topic_created_t
     This object represents a service message about a new forum topic created in the chat.
     
    +typedef struct telebot_forum_topic_closed telebot_forum_topic_closed_t
     This object represents a service message about a forum topic closed in the chat.
     
    +typedef struct telebot_forum_topic_reopened telebot_forum_topic_reopened_t
     This object represents a service message about a forum topic reopened in the chat.
     
    +typedef struct telebot_video_chat_scheduled telebot_video_chat_scheduled_t
     This object represents a service message about a video chat scheduled in the chat.
     
    +typedef struct telebot_video_chat_started telebot_video_chat_started_t
     This object represents a service message about a video chat started in the chat.
     
    +typedef struct telebot_video_chat_ended telebot_video_chat_ended_t
     This object represents a service message about a video chat ended in the chat.
     
    +typedef struct telebot_video_chat_participants_invited telebot_video_chat_participants_invited_t
     This object represents a service message about new members invited to a video chat.
     
    +typedef struct telebot_web_app_data telebot_web_app_data_t
     This object represents data sent by a Web App to the bot.
     
    +typedef struct telebot_callback_game telebot_callback_game_t
     A placeholder, currently holds no information. Use BotFather to set up your game.
     
    +typedef struct telebot_login_url telebot_login_url_t
     This object represents a parameter of the inline keyboard button used to automatically authorize a user.
     
    +typedef struct telebot_switch_inline_query_chosen_chat telebot_switch_inline_query_chosen_chat_t
     This object represents an inline button that switches the current user to inline mode in a chosen chat.
     
    +typedef struct telebot_copy_text_button telebot_copy_text_button_t
     This object represents an inline keyboard button that copies specified text to the clipboard.
     
    +typedef struct telebot_inline_keyboard_button telebot_inline_keyboard_button_t
     This object represents one button of an inline keyboard. You must use exactly one of the optional fields.
     
    +typedef struct telebot_inline_keyboard_markup telebot_inline_keyboard_markup_t
     This object represents an inline keyboard that appears right next to the message it belongs to.
     
    +typedef struct telebot_forum_topic_edited telebot_forum_topic_edited_t
     This object represents a service message about a forum topic edited in the chat.
     
    +typedef struct telebot_general_forum_topic_hidden telebot_general_forum_topic_hidden_t
     This object represents a service message about a general forum topic hidden in the chat.
     
    +typedef struct telebot_general_forum_topic_unhidden telebot_general_forum_topic_unhidden_t
     This object represents a service message about a general forum topic unhidden in the chat.
     
    +typedef struct telebot_write_access_allowed telebot_write_access_allowed_t
     This object represents a service message about a user allowing a bot to write messages after adding the bot to the attachment menu or launching a Web App from a link.
     
    +typedef struct telebot_user_shared telebot_user_shared_t
     This object contains information about the user whose identifier was shared with the bot using a KeyboardButtonRequestUser button.
     
    +typedef struct telebot_chat_shared telebot_chat_shared_t
     This object contains information about the chat whose identifier was shared with the bot using a KeyboardButtonRequestChat button.
     
    +typedef struct telebot_chat_invite_link telebot_chat_invite_link_t
     This object represents a chat invite link.
     
    +typedef struct telebot_chat_member_updated telebot_chat_member_updated_t
     This object represents changes in the status of a chat member.
     
    +typedef struct telebot_chat_join_request telebot_chat_join_request_t
     This object represents a join request sent to a chat.
     
    +typedef struct telebot_message_reaction_updated telebot_message_reaction_updated_t
     This object represents a change of a reaction on a message performed by a user.
     
    +typedef struct telebot_message_reaction_count_updated telebot_message_reaction_count_updated_t
     This object represents reaction changes on a message with anonymous reactions.
     
    +typedef struct telebot_reaction_type telebot_reaction_type_t
     This object represents a reaction type.
     
    +typedef struct telebot_reaction_count telebot_reaction_count_t
     This object represents a reaction count.
     
    +typedef struct telebot_chat_boost_updated telebot_chat_boost_updated_t
     This object represents a boost added to a chat.
     
    +typedef struct telebot_chat_boost telebot_chat_boost_t
     This object contains information about a chat boost.
     
    +typedef struct telebot_chat_boost_source telebot_chat_boost_source_t
     This object represents the source of a chat boost.
     
    +typedef struct telebot_chat_boost_removed telebot_chat_boost_removed_t
     This object represents a boost removed from a chat.
     
    +typedef struct telebot_message_origin telebot_message_origin_t
     This object describes the origin of a message.
     
    +typedef struct telebot_text_quote telebot_text_quote_t
     This object contains information about the quoted part of a message that is replied to by the given message.
     
    +typedef struct telebot_story telebot_story_t
     This object contains information about a story.
     
    +typedef struct telebot_external_reply_info telebot_external_reply_info_t
     This object contains information about the message that is being replied to, which may come from another chat or forum topic.
     
    +typedef struct telebot_link_preview_options telebot_link_preview_options_t
     Describes the options used for link preview generation.
     
    +typedef struct telebot_paid_media telebot_paid_media_t
     This object describes paid media.
     
    +typedef struct telebot_paid_media_info telebot_paid_media_info_t
     Describes the paid media added to a message.
     
    +typedef struct telebot_giveaway telebot_giveaway_t
     This object represents a message about a scheduled giveaway.
     
    +typedef struct telebot_giveaway_winners telebot_giveaway_winners_t
     This object represents a message about the completion of a giveaway with public winners.
     
    +typedef struct telebot_refunded_payment telebot_refunded_payment_t
     This object represents a service message about a refunded payment.
     
    +typedef struct telebot_users_shared telebot_users_shared_t
     This object contains information about the users whose identifiers were shared with the bot using a KeyboardButtonRequestUsers button.
     
    +typedef struct telebot_shared_user telebot_shared_user_t
     This object contains information about a user that was shared with the bot.
     
    +typedef struct telebot_gift telebot_gift_t
     This object represents a gift that can be sent by the bot.
     
    +typedef struct telebot_gift_info telebot_gift_info_t
     Describes a regular gift that was sent or received.
     
    +typedef struct telebot_unique_gift_info telebot_unique_gift_info_t
     Describes a unique gift that was sent or received.
     
    +typedef struct telebot_unique_gift telebot_unique_gift_t
     This object describes a unique gift that was upgraded from a regular gift.
     
    +typedef struct telebot_chat_boost_added telebot_chat_boost_added_t
     This object represents a service message about a user boosting a chat.
     
    +typedef struct telebot_chat_background telebot_chat_background_t
     This object represents a chat background.
     
    +typedef struct telebot_giveaway_created telebot_giveaway_created_t
     This object represents a service message about the creation of a scheduled giveaway.
     
    +typedef struct telebot_giveaway_completed telebot_giveaway_completed_t
     This object represents a service message about the completion of a giveaway without public winners.
     
    +typedef struct telebot_star_amount telebot_star_amount_t
     Describes an amount of Telegram Stars.
     
    +typedef struct telebot_affiliate_info telebot_affiliate_info_t
     Contains information about the affiliate that received a commission.
     
    +typedef struct telebot_revenue_withdrawal_state telebot_revenue_withdrawal_state_t
     This object describes the state of a revenue withdrawal operation.
     
    +typedef struct telebot_transaction_partner telebot_transaction_partner_t
     This object describes the source of a transaction.
     
    +typedef struct telebot_star_transaction telebot_star_transaction_t
     Describes a Telegram Star transaction.
     
    +typedef struct telebot_star_transactions telebot_star_transactions_t
     Contains a list of Telegram Star transactions.
     
    +typedef struct telebot_paid_media_purchased telebot_paid_media_purchased_t
     This object contains information about a paid media purchase.
     
    +typedef struct telebot_passport_element_error telebot_passport_element_error_t
     This object represents an error in the Telegram Passport element.
     
    +typedef struct telebot_game_high_score telebot_game_high_score_t
     This object represents a game high score row.
     
    +typedef struct telebot_message telebot_message_t
     This object represents a message.
     
    +typedef struct telebot_message_entity telebot_message_entity_t
     This object represents one special entity in a text message. For example, hashtags, usernames, URLs, etc.
     
    +typedef struct telebot_photo telebot_photo_t
     This object represents one size of a photo or a file / sticker thumbnail.
     
    +typedef struct telebot_audio telebot_audio_t
     This object represents an audio file to be treated as music by the Telegram clients.
     
    +typedef struct telebot_gifts telebot_gifts_t
     This object represent a list of gifts.
     
    +typedef struct telebot_user_profile_audios telebot_user_profile_audios_t
     This object represents a list of user profile audios.
     
    +typedef struct telebot_user_gift telebot_user_gift_t
     This object represents a gift received by a user.
     
    +typedef struct telebot_user_gifts telebot_user_gifts_t
     This object represents a list of gifts received by a user.
     
    +typedef struct telebot_user_chat_boosts telebot_user_chat_boosts_t
     This object represents a list of user chat boosts.
     
    +typedef struct telebot_document telebot_document_t
     This object represents a general file (as opposed to photos, voice messages and audio files).
     
    +typedef struct telebot_video telebot_video_t
     This object represents a video file.
     
    +typedef struct telebot_animation telebot_animation_t
     This object represents a video file.
     
    +typedef struct telebot_voice telebot_voice_t
     This object represents a voice note.
     
    +typedef struct telebot_video_note telebot_video_note_t
     This object represents a video message (available in Telegram apps as of v.4.0).
     
    +typedef struct telebot_contact telebot_contact_t
     This object represents a phone contact.
     
    +typedef struct telebot_location telebot_location_t
     This object represents a point on the map.
     
    +typedef struct telebot_venue telebot_venue_t
     This object represents a venue.
     
    +typedef struct telebot_poll_option telebot_poll_option_t
     This object contains information about one answer option in a poll.
     
    +typedef struct telebot_poll_answer telebot_poll_answer_t
     This object represents an answer of a user in a non-anonymous poll.
     
    +typedef struct telebot_poll telebot_poll_t
     This object contains information about a poll.
     
    +typedef struct telebot_dice telebot_dice_t
     This object represents a dice with random value from 1 to 6.
     
    +typedef struct telebot_user_profile_photos telebot_user_profile_photos_t
     This object represent a user's profile pictures.
     
    typedef struct telebot_file telebot_file_t
     This object represents a file ready to be downloaded.
     
    +typedef struct telebot_keyboard_button_poll_type telebot_keyboard_button_poll_type_t
     This object represents type of a poll, which is allowed to be created and sent when the corresponding button is pressed.
     
    +typedef struct telebot_keyboard_button_request_users telebot_keyboard_button_request_users_t
     This object defines the criteria used to request suitable users.
     
    +typedef struct telebot_keyboard_button_request_chat telebot_keyboard_button_request_chat_t
     This object defines the criteria used to request a suitable chat.
     
    +typedef struct telebot_web_app_info telebot_web_app_info_t
     Describes a Web App.
     
    +typedef struct telebot_keyboard_button telebot_keyboard_button_t
     This object represents one button of the reply keyboard. For simple text buttons String can be used instead of this object to specify text of the button. Optional fields request_contact, request_location, and request_poll are mutually exclusive.
     
    +typedef struct telebot_reply_keyboard_markup telebot_reply_keyboard_markup_t
     This object represents a custom keyboard with reply options.
     
    +typedef struct telebot_reply_keyboard_remove telebot_reply_keyboard_remove_t
     Upon receiving a message with this object, Telegram clients will remove the current custom keyboard and display the default letter-keyboard. By default, custom keyboards are displayed until a new keyboard is sent by a bot. An exception is made for one-time keyboards that are hidden immediately after the user presses a button (see telebot_reply_keyboard_markup_t).
     
    +typedef struct telebot_callback_query telebot_callback_query_t
     This object represents an incoming callback query from a callback button in an inline keyboard. If the button that originated the query was attached to a message sent by the bot, the field message will be present. If the button was attached to a message sent via the bot (in inline mode), the field inline_message_id will be present. Exactly one of the fields data or game_short_name will be present.
     
    +typedef struct telebot_force_reply telebot_force_reply_t
     Upon receiving a message with this object, Telegram clients will display a reply interface to the user (act as if the user has selected the bot's message and tapped ’Reply'). This can be extremely useful if you want to create user-friendly step-by-step interfaces without having to sacrifice privacy mode.
     
    +typedef struct telebot_chat_photo telebot_chat_photo_t
     This object represents a chat photo.
     
    +typedef struct telebot_chat_member telebot_chat_member_t
     This object contains information about one member of a chat.
     
    +typedef struct telebot_chat_permissions telebot_chat_permissions_t
     Describes actions that a non-administrator user is allowed to take in a chat.
     
    +typedef struct telebot_bot_command telebot_bot_command_t
     This object represents a bot command.
     
    +typedef struct telebot_response_paramters telebot_response_paramters_t
     Contains information about why a request was unsuccessful.
     
    +typedef struct telebot_inline_query telebot_inline_query_t
     This object represents an incoming inline query. When the user sends an empty query, your bot could return some default or trending results.
     
    +typedef struct telebot_chosen_inline_result telebot_chosen_inline_result_t
     Represents a result of an inline query that was chosen by the user and sent to their chat partner.
     
    +typedef struct telebot_shipping_query telebot_shipping_query_t
     This object contains information about an incoming shipping query.
     
    +typedef struct telebot_pre_checkout_query telebot_pre_checkout_query_t
     This object contains information about an incoming pre-checkout query.
     
    +typedef struct telebot_mask_position telebot_mask_position_t
     This object describes the position on faces where a mask should be placed by default.
     
    +typedef struct telebot_sticker telebot_sticker_t
     This object represents a sticker.
     
    +typedef struct telebot_forum_topic telebot_forum_topic_t
     This object represents a forum topic.
     
    +typedef struct telebot_prepared_inline_message telebot_prepared_inline_message_t
     This object represents a prepared inline message.
     
    +typedef struct telebot_sent_web_app_message telebot_sent_web_app_message_t
     This object represents a message sent via a Web App.
     
    +typedef struct telebot_update telebot_update_t
     This object represents an incoming update.
     
    +typedef struct telebot_webhook_info telebot_webhook_info_t
     Thi object represetns information about the current status of a webhook.
     
    +typedef struct telebot_chat_location telebot_chat_location_t
     Thi object represetns information about the current status of a webhook.
     
    +typedef struct telebot_message_auto_delete_timer_changed telebot_message_auto_delete_timer_changed_t
     This object represents a service message about a change in auto-delete timer settings.
     
    +typedef struct telebot_handler * telebot_handler_t
     This is opaque object to represent a telebot handler.
     
    - - - + } +

    +

    Enumerations

    enum  telebot_update_type {
    -  TELEBOT_UPDATE_TYPE_MESSAGE = 0, -TELEBOT_UPDATE_TYPE_EDITED_MESSAGE, -TELEBOT_UPDATE_TYPE_CHANNEL_POST, -TELEBOT_UPDATE_TYPE_EDITED_CHANNEL_POST, -
    -  TELEBOT_UPDATE_TYPE_INLINE_QUERY, -TELEBOT_UPDATE_TYPE_CHOSEN_INLINE_RESULT, -TELEBOT_UPDATE_TYPE_CALLBACK_QUERY, -TELEBOT_UPDATE_TYPE_SHIPPING_QUERY, -
    -  TELEBOT_UPDATE_TYPE_PRE_CHECKOUT_QUERY, -TELEBOT_UPDATE_TYPE_POLL, -TELEBOT_UPDATE_TYPE_POLL_ANSWER, -TELEBOT_UPDATE_TYPE_MAX +
    enum  telebot_update_type {
    +  TELEBOT_UPDATE_TYPE_MESSAGE = 0 +, TELEBOT_UPDATE_TYPE_EDITED_MESSAGE +, TELEBOT_UPDATE_TYPE_CHANNEL_POST +, TELEBOT_UPDATE_TYPE_EDITED_CHANNEL_POST +,
    +  TELEBOT_UPDATE_TYPE_BUSINESS_CONNECTION +, TELEBOT_UPDATE_TYPE_BUSINESS_MESSAGE +, TELEBOT_UPDATE_TYPE_EDITED_BUSINESS_MESSAGE +, TELEBOT_UPDATE_TYPE_DELETED_BUSINESS_MESSAGES +,
    +  TELEBOT_UPDATE_TYPE_MESSAGE_REACTION +, TELEBOT_UPDATE_TYPE_MESSAGE_REACTION_COUNT +, TELEBOT_UPDATE_TYPE_INLINE_QUERY +, TELEBOT_UPDATE_TYPE_CHOSEN_INLINE_RESULT +,
    +  TELEBOT_UPDATE_TYPE_CALLBACK_QUERY +, TELEBOT_UPDATE_TYPE_SHIPPING_QUERY +, TELEBOT_UPDATE_TYPE_PRE_CHECKOUT_QUERY +, TELEBOT_UPDATE_TYPE_PURCHASED_PAID_MEDIA +,
    +  TELEBOT_UPDATE_TYPE_POLL +, TELEBOT_UPDATE_TYPE_POLL_ANSWER +, TELEBOT_UPDATE_TYPE_MY_CHAT_MEMBER +, TELEBOT_UPDATE_TYPE_CHAT_MEMBER +,
    +  TELEBOT_UPDATE_TYPE_CHAT_JOIN_REQUEST +, TELEBOT_UPDATE_TYPE_CHAT_BOOST +, TELEBOT_UPDATE_TYPE_REMOVED_CHAT_BOOST +, TELEBOT_UPDATE_TYPE_MAX
    - }
     Enumerations of telegram update types. More...
     Enumerations of telegram update types. More...
     

    Detailed Description

    @@ -352,9 +1055,7 @@
    diff --git a/docs/telebot-types_8h_source.html b/docs/telebot-types_8h_source.html index b3cbada..ef42065 100644 --- a/docs/telebot-types_8h_source.html +++ b/docs/telebot-types_8h_source.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: include/telebot-types.h Source File @@ -19,10 +19,9 @@
    - - + @@ -31,19 +30,28 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + +
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    telebot-types.h
    +
    telebot-types.h
    -Go to the documentation of this file.
    1 /*
    2  * telebot
    3  *
    4  * Copyright (c) 2015 Elmurod Talipov.
    5  *
    6  * Licensed under the Apache License, Version 2.0 (the License);
    7  * you may not use this file except in compliance with the License.
    8  * You may obtain a copy of the License at
    9  *
    10  * http://www.apache.org/licenses/LICENSE-2.0
    11  *
    12  * Unless required by applicable law or agreed to in writing, software
    13  * distributed under the License is distributed on an "AS IS" BASIS,
    14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    15  * See the License for the specific language governing permissions and
    16  * limitations under the License.
    17  */
    18 
    19 #ifndef __TELEBOT_TYPES_H__
    20 #define __TELEBOT_TYPES_H__
    21 
    22 #include <stdbool.h>
    23 
    24 #ifdef __cplusplus
    25 extern "C" {
    26 #endif
    27 
    44 typedef enum telebot_update_type {
    58 
    62 typedef struct telebot_user {
    64  int id;
    65 
    67  bool is_bot;
    68 
    70  char *first_name;
    71 
    73  char *last_name;
    74 
    76  char *username;
    77 
    80 
    83 
    86 
    89 
    91 
    95 typedef struct telebot_chat {
    97  long long int id;
    98 
    100  char *type;
    101 
    103  char *title;
    104 
    106  char *username;
    107 
    109  char *first_name;
    110 
    112  char *last_name;
    113 
    116 
    121  char *description;
    122 
    127  char *invite_link;
    128 
    131 
    136 
    141 
    147 
    153 
    155 
    156 
    160 typedef struct telebot_message {
    163 
    166 
    168  long date;
    169 
    172 
    175 
    181 
    187 
    193 
    199 
    205 
    212 
    214  long edit_date;
    215 
    221 
    224 
    226  char *text;
    227 
    233  int count_entities;
    234 
    240  int count_caption_entities;
    241 
    244 
    247 
    250 
    252  struct telebot_game *game; //TODO:define type
    253 
    256  int count_photos;
    257 
    260 
    263 
    266 
    269 
    271  char *caption;
    272 
    275 
    278 
    281 
    284 
    287 
    293  int count_new_chat_members;
    294 
    300  int count_left_chat_members;
    301 
    304 
    307  int count_new_chat_photos;
    308 
    311 
    314 
    317 
    320 
    325  long long int migrate_to_chat_id;
    326 
    331  long long int migrate_from_chat_id;
    332 
    339 
    344  struct telebot_invoice *invoice; //TODO:define type
    345 
    350  struct telebot_successful_payment *successful_payment; //TODO:define type
    351 
    354 
    356  struct telebot_passport_data *passport_data; //TODO:define type
    357 
    362  struct inline_keyboard_markup *reply_markup; //TODO:define type
    364 
    369 typedef struct telebot_message_entity {
    376  char *type;
    377 
    379  int offset;
    380 
    382  int length;
    383 
    388  char *url;
    389 
    392 
    394  char *language;
    396 
    397 
    402 typedef struct telebot_photo {
    404  char *file_id;
    405 
    411 
    413  int width;
    414 
    416  int height;
    417 
    421 
    422 
    427 typedef struct telebot_audio {
    429  char *file_id;
    430 
    436 
    438  int duration;
    439 
    441  char *performer;
    442 
    444  char *title;
    445 
    447  char *mime_type;
    448 
    451 
    455 
    456 
    461 typedef struct telebot_document {
    463  char *file_id;
    464 
    470 
    473 
    475  char *file_name;
    476 
    478  char *mime_type;
    479 
    483 
    484 
    488 typedef struct telebot_video {
    490  char *file_id;
    491 
    497 
    499  int width;
    500 
    502  int height;
    503 
    505  int duration;
    506 
    509 
    511  char *mime_type;
    512 
    516 
    520 typedef struct telebot_animation {
    522  char *file_id;
    523 
    529 
    531  int width;
    532 
    534  int height;
    535 
    537  int duration;
    538 
    541 
    543  char *file_name;
    544 
    546  char *mime_type;
    547 
    551 
    555 typedef struct telebot_voice {
    557  char *file_id;
    558 
    564 
    566  int duration;
    567 
    569  char *mime_type;
    570 
    574 
    575 
    580 typedef struct telebot_video_note {
    582  char *file_id;
    583 
    589 
    591  int length;
    592 
    594  int duration;
    595 
    598 
    602 
    603 
    607 typedef struct telebot_contact {
    610 
    612  char *first_name;
    613 
    615  char *last_name;
    616 
    618  int user_id;
    619 
    621  char *vcard;
    623 
    624 
    628 typedef struct telebot_location {
    630  float longitude;
    631 
    633  float latitude;
    635 
    636 
    640 typedef struct telebot_venue {
    643 
    645  char *title;
    646 
    648  char *address;
    649 
    652 
    660 
    664 typedef struct telebot_poll_option {
    666  char *text;
    667 
    671 
    675 typedef struct telebot_poll_answer {
    677  char *poll_id;
    678 
    681 
    687 
    688  /* Number of option ids */
    689  int count_option_ids;
    691 
    695 typedef struct telebot_poll {
    697  char *id;
    698 
    700  char *question;
    701 
    704 
    705  /* Number of options */
    706  int count_options;
    707 
    710 
    712  bool is_closed;
    713 
    716 
    718  char *type;
    719 
    722 
    730 
    734 typedef struct telebot_dice {
    736  int value;
    738 
    745 
    748 
    750  struct telebot_photo *photos[4];
    752 
    762 typedef struct telebot_file {
    764  char *file_id;
    765 
    771 
    774 
    776  char *file_path;
    778 
    784 
    790  char *type;
    792 
    799 typedef struct telebot_keyboard_button {
    804  char *text;
    805 
    816 
    823 
    833 
    834  /* Number of keyboard rows */
    835  int keyboard_rows;
    836 
    837  /* Number of keyboard columns */
    838  int keyboard_cols;
    839 
    847 
    856 
    863  bool selective;
    865 
    873 {
    880 
    887  bool selective;
    889 
    898 typedef struct telebot_callback_query {
    900  char *id;
    901 
    904 
    911 
    917 
    924 
    929  char *data;
    930 
    937 
    945 typedef struct telebot_force_reply
    946 {
    952 
    960  bool selective;
    962 
    963 
    967 typedef struct telebot_chat_photo {
    973 
    980 
    985  char *big_file_id;
    986 
    993 
    997 typedef struct telebot_chat_member {
    1000 
    1005  char *status;
    1006 
    1009 
    1015 
    1021 
    1027 
    1033 
    1039 
    1045 
    1053 
    1059 
    1065 
    1071 
    1077 
    1083 
    1089 
    1092 
    1098 
    1105 
    1115 
    1121 
    1127 
    1133 
    1139 
    1145 
    1148 
    1155 
    1157 typedef struct telebot_bot_command {
    1162  char *command;
    1163 
    1167 
    1180 
    1187 
    1191 typedef struct telebot_update {
    1197 
    1201  telebot_update_type_e update_type;
    1202 
    1203  union {
    1206 
    1209 
    1212 
    1215 
    1217  //TODO: telebot_inline_query_t inline_query;
    1218 
    1224  //TODO: telebot_inline_query_result_t chosen_inline_result;
    1225 
    1228 
    1230  //TODO: telebot_shipping_query_t shipping_query;
    1231 
    1233  //TODO: telebot_pre_checkout_query_t pre_checkout_query;
    1234 
    1240 
    1246  };
    1248 
    1252 typedef struct telebot_webhook_info {
    1254  char *url;
    1255 
    1258 
    1261 
    1267 
    1273 
    1279 
    1284  telebot_update_type_e allowed_updates[TELEBOT_UPDATE_TYPE_MAX];
    1285 
    1290 
    1292 
    1296 typedef struct telebot_handler_s *telebot_handler_t;
    1297 
    1302 #ifdef __cplusplus
    1303 }
    1304 #endif
    1305 
    1306 #endif /* __TELEBOT_TYPES_H__ */
    int update_id
    Definition: telebot-types.h:1196
    -
    struct telebot_keyboard_button_poll_type telebot_keyboard_button_poll_type_t
    This object represents type of a poll, which is allowed to be created and sent when the corresponding...
    -
    long long int migrate_to_chat_id
    Definition: telebot-types.h:325
    -
    char * file_id
    Definition: telebot-types.h:404
    -
    int offset
    Definition: telebot-types.h:379
    -
    Upon receiving a message with this object, Telegram clients will display a reply interface to the use...
    Definition: telebot-types.h:945
    -
    int correct_option_id
    Definition: telebot-types.h:728
    -
    int current_count
    Definition: telebot-types.h:747
    -
    This object represents a chat photo.
    Definition: telebot-types.h:967
    -
    char * id
    Definition: telebot-types.h:900
    -
    bool can_join_groups
    Definition: telebot-types.h:82
    -
    int forward_from_message_id
    Definition: telebot-types.h:186
    -
    bool is_member
    Definition: telebot-types.h:1076
    -
    int width
    Definition: telebot-types.h:499
    -
    struct telebot_video_note * video_note
    Definition: telebot-types.h:268
    -
    struct telebot_message * reply_to_message
    Definition: telebot-types.h:211
    -
    bool can_send_messages
    Definition: telebot-types.h:1082
    -
    struct telebot_user telebot_user_t
    This object represents a Telegram user or bot.
    -
    char * media_group_id
    Definition: telebot-types.h:220
    -
    char * file_unique_id
    Definition: telebot-types.h:770
    -
    struct telebot_animation * animation
    Definition: telebot-types.h:249
    -
    Definition: telebot-types.h:56
    -
    struct telebot_dice telebot_dice_t
    This object represents a dice with random value from 1 to 6.
    -
    This object contains information about one answer option in a poll.
    Definition: telebot-types.h:664
    -
    char * foursquare_id
    Definition: telebot-types.h:651
    -
    bool can_restrict_members
    Definition: telebot-types.h:1044
    -
    long long int migrate_from_chat_id
    Definition: telebot-types.h:331
    -
    bool selective
    Definition: telebot-types.h:887
    -
    int height
    Definition: telebot-types.h:502
    -
    long edit_date
    Definition: telebot-types.h:214
    -
    char * language
    Definition: telebot-types.h:394
    -
    char * inline_message_id
    Definition: telebot-types.h:916
    -
    telebot_callback_query_t callback_query
    Definition: telebot-types.h:1227
    -
    int file_size
    Definition: telebot-types.h:572
    -
    telebot_keyboard_button_poll_type_t * request_poll
    Definition: telebot-types.h:821
    -
    int id
    Definition: telebot-types.h:64
    -
    int file_size
    Definition: telebot-types.h:600
    -
    This object represents one size of a photo or a file / sticker thumbnail.
    Definition: telebot-types.h:402
    -
    bool resize_keyboard
    Definition: telebot-types.h:846
    -
    char * mime_type
    Definition: telebot-types.h:511
    -
    char * author_signature
    Definition: telebot-types.h:223
    -
    struct telebot_passport_data * passport_data
    Definition: telebot-types.h:356
    -
    struct telebot_photo * thumb
    Definition: telebot-types.h:453
    -
    char * type
    Definition: telebot-types.h:790
    -
    char * title
    Definition: telebot-types.h:444
    -
    This object represents an incoming update.
    Definition: telebot-types.h:1191
    -
    char * command
    Definition: telebot-types.h:1162
    -
    char * mime_type
    Definition: telebot-types.h:546
    -
    int total_voter_count
    Definition: telebot-types.h:709
    -
    This object contains information about a poll.
    Definition: telebot-types.h:695
    -
    char * file_unique_id
    Definition: telebot-types.h:410
    -
    char * game_short_name
    Definition: telebot-types.h:935
    -
    char * small_file_unique_id
    Definition: telebot-types.h:979
    -
    int height
    Definition: telebot-types.h:534
    -
    char * language_code
    Definition: telebot-types.h:79
    -
    char * custom_title
    Definition: telebot-types.h:1008
    -
    This object represents one button of the reply keyboard. For simple text buttons String can be used i...
    Definition: telebot-types.h:799
    -
    struct telebot_user * from
    Definition: telebot-types.h:903
    -
    bool is_anonymous
    Definition: telebot-types.h:715
    -
    char * file_unique_id
    Definition: telebot-types.h:435
    -
    struct telebot_user * new_chat_members
    Definition: telebot-types.h:292
    -
    char * file_id
    Definition: telebot-types.h:557
    -
    char * data
    Definition: telebot-types.h:929
    -
    This object represents type of a poll, which is allowed to be created and sent when the corresponding...
    Definition: telebot-types.h:783
    -
    Describes actions that a non-administrator user is allowed to take in a chat.
    Definition: telebot-types.h:1109
    -
    enum telebot_update_type telebot_update_type_e
    Enumerations of telegram update types.
    -
    struct telebot_location telebot_location_t
    This object represents a point on the map.
    -
    int total_count
    Definition: telebot-types.h:744
    -
    char * forward_sender_name
    Definition: telebot-types.h:198
    -
    bool can_add_web_page_previews
    Definition: telebot-types.h:1103
    -
    This object represents a video file.
    Definition: telebot-types.h:488
    -
    int * option_ids
    Definition: telebot-types.h:686
    -
    char * first_name
    Definition: telebot-types.h:612
    -
    bool can_send_media_messages
    Definition: telebot-types.h:1120
    -
    telebot_poll_option_t * options
    Definition: telebot-types.h:703
    -
    char * file_unique_id
    Definition: telebot-types.h:588
    -
    struct telebot_message * message
    Definition: telebot-types.h:910
    -
    bool can_send_other_messages
    Definition: telebot-types.h:1097
    -
    char * type
    Definition: telebot-types.h:718
    -
    int length
    Definition: telebot-types.h:382
    -
    struct telebot_update telebot_update_t
    This object represents an incoming update.
    -
    struct telebot_animation telebot_animation_t
    This object represents a video file.
    -
    struct telebot_photo * thumb
    Definition: telebot-types.h:472
    -
    bool can_be_edited
    Definition: telebot-types.h:1020
    -
    telebot_update_type_e update_type
    Definition: telebot-types.h:1201
    -
    char * file_unique_id
    Definition: telebot-types.h:563
    -
    telebot_message_t edited_message
    Definition: telebot-types.h:1208
    -
    struct telebot_video_note telebot_video_note_t
    This object represents a video message (available in Telegram apps as of v.4.0).
    -
    int duration
    Definition: telebot-types.h:594
    -
    char * address
    Definition: telebot-types.h:648
    -
    struct telebot_chat telebot_chat_t
    This object represents a chat.
    -
    char * description
    Definition: telebot-types.h:1165
    -
    This object represents a point on the map.
    Definition: telebot-types.h:628
    -
    char * file_path
    Definition: telebot-types.h:776
    -
    struct telebot_poll_option telebot_poll_option_t
    This object contains information about one answer option in a poll.
    -
    int duration
    Definition: telebot-types.h:505
    -
    struct telebot_audio telebot_audio_t
    This object represents an audio file to be treated as music by the Telegram clients.
    -
    char * status
    Definition: telebot-types.h:1005
    -
    char * file_unique_id
    Definition: telebot-types.h:496
    -
    char * invite_link
    Definition: telebot-types.h:127
    -
    telebot_update_type
    Enumerations of telegram update types.
    Definition: telebot-types.h:44
    -
    struct telebot_location * location
    Definition: telebot-types.h:642
    -
    struct telebot_chat * chat
    Definition: telebot-types.h:171
    -
    struct telebot_successful_payment * successful_payment
    Definition: telebot-types.h:350
    -
    Definition: telebot-types.h:54
    -
    int duration
    Definition: telebot-types.h:537
    -
    char * file_id
    Definition: telebot-types.h:522
    -
    struct telebot_callback_query telebot_callback_query_t
    This object represents an incoming callback query from a callback button in an inline keyboard...
    -
    This object represents a voice note.
    Definition: telebot-types.h:555
    -
    long long int id
    Definition: telebot-types.h:97
    -
    Contains information about why a request was unsuccessful.
    Definition: telebot-types.h:1171
    -
    char * vcard
    Definition: telebot-types.h:621
    -
    int allowed_updates_count
    Definition: telebot-types.h:1289
    -
    struct telebot_video * video
    Definition: telebot-types.h:262
    -
    struct telebot_chat_permissions * permissions
    Definition: telebot-types.h:135
    -
    struct telebot_response_paramters telebot_response_paramters_t
    Contains information about why a request was unsuccessful.
    -
    bool request_contact
    Definition: telebot-types.h:810
    -
    struct telebot_dice * dice
    Definition: telebot-types.h:286
    -
    This object represents a chat.
    Definition: telebot-types.h:95
    -
    bool can_promote_members
    Definition: telebot-types.h:1052
    -
    char * new_chat_title
    Definition: telebot-types.h:303
    -
    This object represents a file ready to be downloaded.
    Definition: telebot-types.h:762
    -
    bool can_add_web_page_previews
    Definition: telebot-types.h:1138
    -
    struct telebot_poll * poll
    Definition: telebot-types.h:283
    -
    struct telebot_venue * venue
    Definition: telebot-types.h:280
    -
    char * file_name
    Definition: telebot-types.h:543
    -
    struct inline_keyboard_markup * reply_markup
    Definition: telebot-types.h:362
    -
    struct telebot_chat_permissions telebot_chat_permissions_t
    Describes actions that a non-administrator user is allowed to take in a chat.
    -
    This object represents a bot command.
    Definition: telebot-types.h:1157
    -
    struct telebot_venue telebot_venue_t
    This object represents a venue.
    -
    This object represents one special entity in a text message. For example, hashtags, usernames, URLs, etc.
    Definition: telebot-types.h:369
    -
    long forward_date
    Definition: telebot-types.h:204
    -
    bool one_time_keyboard
    Definition: telebot-types.h:855
    -
    bool remove_keyboard
    Definition: telebot-types.h:879
    -
    float latitude
    Definition: telebot-types.h:633
    -
    This object contains information about one member of a chat.
    Definition: telebot-types.h:997
    -
    This object represents a venue.
    Definition: telebot-types.h:640
    -
    bool can_send_media_messages
    Definition: telebot-types.h:1088
    -
    telebot_poll_answer_t poll_anser
    Definition: telebot-types.h:1245
    -
    struct telebot_user * left_chat_members
    Definition: telebot-types.h:299
    -
    int slow_mode_delay
    Definition: telebot-types.h:140
    -
    struct telebot_photo * new_chat_photos
    Definition: telebot-types.h:306
    -
    char * description
    Definition: telebot-types.h:121
    -
    struct telebot_message_entity telebot_message_entity_t
    This object represents one special entity in a text message. For example, hashtags, usernames, URLs, etc.
    -
    struct telebot_document telebot_document_t
    This object represents a general file (as opposed to photos, voice messages and audio files)...
    -
    int retry_after
    Definition: telebot-types.h:1185
    -
    char * question
    Definition: telebot-types.h:700
    -
    char * text
    Definition: telebot-types.h:666
    -
    int file_size
    Definition: telebot-types.h:773
    -
    telebot_poll_t poll
    Definition: telebot-types.h:1239
    -
    struct telebot_user_profile_photos telebot_user_profile_photos_t
    This object represent a user&#39;s profile pictures.
    -
    char * mime_type
    Definition: telebot-types.h:447
    -
    This object represents a dice with random value from 1 to 6.
    Definition: telebot-types.h:734
    -
    bool can_invite_users
    Definition: telebot-types.h:1064
    -
    struct telebot_invoice * invoice
    Definition: telebot-types.h:344
    -
    int value
    Definition: telebot-types.h:736
    -
    bool delete_chat_photo
    Definition: telebot-types.h:310
    -
    struct telebot_photo * thumb
    Definition: telebot-types.h:540
    -
    struct telebot_reply_keyboard_remove telebot_reply_keyboard_remove_t
    Upon receiving a message with this object, Telegram clients will remove the current custom keyboard a...
    -
    struct telebot_photo * photos
    Definition: telebot-types.h:255
    -
    bool can_post_messages
    Definition: telebot-types.h:1026
    -
    char * phone_number
    Definition: telebot-types.h:609
    -
    int file_size
    Definition: telebot-types.h:514
    -
    int duration
    Definition: telebot-types.h:438
    -
    struct telebot_photo telebot_photo_t
    This object represents one size of a photo or a file / sticker thumbnail.
    -
    char * big_file_unique_id
    Definition: telebot-types.h:991
    -
    char * mime_type
    Definition: telebot-types.h:569
    -
    struct telebot_location * location
    Definition: telebot-types.h:277
    -
    char * file_name
    Definition: telebot-types.h:475
    -
    struct telebot_user * user
    Definition: telebot-types.h:680
    -
    bool can_delete_messages
    Definition: telebot-types.h:1038
    -
    telebot_message_t edited_channel_post
    Definition: telebot-types.h:1214
    -
    This object represents a sticker.
    Definition: telebot-stickers.h:75
    -
    bool supergroup_chat_created
    Definition: telebot-types.h:316
    -
    struct telebot_reply_keyboard_markup telebot_reply_keyboard_markup_t
    This object represents a custom keyboard with reply options.
    -
    char * url
    Definition: telebot-types.h:1254
    -
    struct telebot_photo * thumb
    Definition: telebot-types.h:597
    -
    char * first_name
    Definition: telebot-types.h:109
    -
    This object represents a video message (available in Telegram apps as of v.4.0).
    Definition: telebot-types.h:580
    -
    int message_id
    Definition: telebot-types.h:162
    -
    char * file_unique_id
    Definition: telebot-types.h:528
    -
    Definition: telebot-types.h:55
    -
    struct telebot_voice * voice
    Definition: telebot-types.h:265
    -
    This object represents an audio file to be treated as music by the Telegram clients.
    Definition: telebot-types.h:427
    -
    struct telebot_photo * thumb
    Definition: telebot-types.h:508
    -
    struct telebot_game * game
    Definition: telebot-types.h:252
    -
    char * title
    Definition: telebot-types.h:645
    -
    bool channel_chat_created
    Definition: telebot-types.h:319
    -
    Thi object represetns information about the current status of a webhook.
    Definition: telebot-types.h:1252
    -
    bool can_set_sticker_set
    Definition: telebot-types.h:152
    -
    struct telebot_message telebot_message_t
    This object represents a message.
    -
    bool selective
    Definition: telebot-types.h:960
    -
    long date
    Definition: telebot-types.h:168
    -
    bool can_change_info
    Definition: telebot-types.h:1144
    -
    int max_connections
    Definition: telebot-types.h:1278
    -
    Definition: telebot-types.h:45
    -
    char * file_id
    Definition: telebot-types.h:463
    -
    char * sticker_set_name
    Definition: telebot-types.h:146
    -
    int file_size
    Definition: telebot-types.h:450
    -
    struct telebot_poll telebot_poll_t
    This object contains information about a poll.
    -
    char * last_name
    Definition: telebot-types.h:615
    -
    char * last_name
    Definition: telebot-types.h:112
    -
    telebot_keyboard_button_t * keyboard
    Definition: telebot-types.h:832
    -
    bool can_read_all_group_messages
    Definition: telebot-types.h:85
    -
    char * file_id
    Definition: telebot-types.h:429
    -
    char * username
    Definition: telebot-types.h:106
    -
    int width
    Definition: telebot-types.h:531
    -
    bool group_chat_created
    Definition: telebot-types.h:313
    -
    Definition: telebot-types.h:53
    -
    char * last_name
    Definition: telebot-types.h:73
    -
    This object represents a general file (as opposed to photos, voice messages and audio files)...
    Definition: telebot-types.h:461
    -
    char * url
    Definition: telebot-types.h:388
    -
    int height
    Definition: telebot-types.h:416
    -
    struct telebot_webhook_info telebot_webhook_info_t
    Thi object represetns information about the current status of a webhook.
    -
    This object represents a phone contact.
    Definition: telebot-types.h:607
    -
    struct telebot_audio * audio
    Definition: telebot-types.h:243
    -
    bool is_bot
    Definition: telebot-types.h:67
    -
    Definition: telebot-types.h:50
    -
    struct telebot_video telebot_video_t
    This object represents a video file.
    -
    This object represents a custom keyboard with reply options.
    Definition: telebot-types.h:827
    -
    char * type
    Definition: telebot-types.h:376
    -
    char * text
    Definition: telebot-types.h:804
    -
    bool can_pin_messages
    Definition: telebot-types.h:1153
    -
    struct telebot_contact * contact
    Definition: telebot-types.h:274
    -
    Definition: telebot-types.h:46
    -
    char * file_unique_id
    Definition: telebot-types.h:469
    -
    struct telebot_user * user
    Definition: telebot-types.h:999
    -
    bool can_send_messages
    Definition: telebot-types.h:1114
    -
    struct telebot_message_entity * caption_entities
    Definition: telebot-types.h:239
    -
    struct telebot_chat_photo telebot_chat_photo_t
    This object represents a chat photo.
    -
    bool can_send_other_messages
    Definition: telebot-types.h:1132
    -
    This object represents a video file.
    Definition: telebot-types.h:520
    -
    char * file_id
    Definition: telebot-types.h:582
    -
    char * connected_website
    Definition: telebot-types.h:353
    -
    Definition: telebot-types.h:49
    -
    int length
    Definition: telebot-types.h:591
    -
    struct telebot_document * document
    Definition: telebot-types.h:246
    -
    struct telebot_chat_member telebot_chat_member_t
    This object contains information about one member of a chat.
    -
    int voter_count
    Definition: telebot-types.h:669
    -
    This object represents an answer of a user in a non-anonymous poll.
    Definition: telebot-types.h:675
    -
    Definition: telebot-types.h:47
    -
    Definition: telebot-types.h:52
    -
    char * file_id
    Definition: telebot-types.h:490
    -
    struct telebot_user * from
    Definition: telebot-types.h:165
    -
    char * last_error_message
    Definition: telebot-types.h:1272
    -
    int pending_update_count
    Definition: telebot-types.h:1260
    -
    int file_size
    Definition: telebot-types.h:481
    -
    bool can_pin_messages
    Definition: telebot-types.h:1070
    -
    char * performer
    Definition: telebot-types.h:441
    -
    struct telebot_message_entity * entities
    Definition: telebot-types.h:232
    -
    char * poll_id
    Definition: telebot-types.h:677
    -
    char * type
    Definition: telebot-types.h:100
    -
    char * first_name
    Definition: telebot-types.h:70
    -
    bool supports_inline_queries
    Definition: telebot-types.h:88
    -
    bool can_send_polls
    Definition: telebot-types.h:1091
    -
    This object represents a message.
    Definition: telebot-types.h:160
    -
    struct telebot_contact telebot_contact_t
    This object represents a phone contact.
    -
    char * small_file_id
    Definition: telebot-types.h:972
    -
    struct telebot_keyboard_button telebot_keyboard_button_t
    This object represents one button of the reply keyboard. For simple text buttons String can be used i...
    -
    float longitude
    Definition: telebot-types.h:630
    -
    Upon receiving a message with this object, Telegram clients will remove the current custom keyboard a...
    Definition: telebot-types.h:872
    -
    bool has_custom_certificate
    Definition: telebot-types.h:1257
    -
    char * caption
    Definition: telebot-types.h:271
    -
    bool force_reply
    Definition: telebot-types.h:951
    -
    struct telebot_chat_photo * photo
    Definition: telebot-types.h:115
    -
    char * text
    Definition: telebot-types.h:226
    -
    struct telebot_bot_command telebot_bot_command_t
    This object represents a bot command.
    -
    char * chat_instance
    Definition: telebot-types.h:923
    -
    char * username
    Definition: telebot-types.h:76
    -
    int file_size
    Definition: telebot-types.h:419
    -
    int user_id
    Definition: telebot-types.h:618
    -
    telebot_message_t message
    Definition: telebot-types.h:1205
    -
    This object represent a user&#39;s profile pictures.
    Definition: telebot-types.h:742
    -
    telebot_user_t * user
    Definition: telebot-types.h:391
    -
    char * file_id
    Definition: telebot-types.h:764
    -
    char * foursquare_type
    Definition: telebot-types.h:658
    -
    bool can_edit_messages
    Definition: telebot-types.h:1032
    -
    telebot_message_t channel_post
    Definition: telebot-types.h:1211
    -
    struct telebot_voice telebot_voice_t
    This object represents a voice note.
    -
    int width
    Definition: telebot-types.h:413
    -
    struct telebot_force_reply telebot_force_reply_t
    Upon receiving a message with this object, Telegram clients will display a reply interface to the use...
    -
    bool allows_multiple_answers
    Definition: telebot-types.h:721
    -
    struct telebot_message * pinned_message
    Definition: telebot-types.h:130
    -
    bool can_send_polls
    Definition: telebot-types.h:1126
    -
    int migrate_to_chat_id
    Definition: telebot-types.h:1179
    -
    long until_date
    Definition: telebot-types.h:1014
    -
    char * forward_signature
    Definition: telebot-types.h:192
    -
    struct telebot_user * forward_from
    Definition: telebot-types.h:174
    -
    Definition: telebot-types.h:51
    -
    int duration
    Definition: telebot-types.h:566
    -
    struct telebot_message * pinned_message
    Definition: telebot-types.h:338
    -
    This object represents a Telegram user or bot.
    Definition: telebot-types.h:62
    -
    Definition: telebot-types.h:48
    -
    char * title
    Definition: telebot-types.h:103
    -
    struct telebot_sticker * sticker
    Definition: telebot-types.h:259
    -
    char * big_file_id
    Definition: telebot-types.h:985
    -
    struct telebot_poll_answer telebot_poll_answer_t
    This object represents an answer of a user in a non-anonymous poll.
    -
    struct telebot_chat * forward_from_chat
    Definition: telebot-types.h:180
    -
    int file_size
    Definition: telebot-types.h:549
    -
    bool request_location
    Definition: telebot-types.h:815
    -
    struct telebot_file telebot_file_t
    This object represents a file ready to be downloaded.
    -
    char * mime_type
    Definition: telebot-types.h:478
    -
    This object represents an incoming callback query from a callback button in an inline keyboard...
    Definition: telebot-types.h:898
    -
    struct telebot_handler_s * telebot_handler_t
    This is opaque object to represent a telebot handler.
    Definition: telebot-types.h:1296
    -
    long last_error_date
    Definition: telebot-types.h:1266
    -
    bool can_change_info
    Definition: telebot-types.h:1058
    -
    char * id
    Definition: telebot-types.h:697
    -
    bool selective
    Definition: telebot-types.h:863
    -
    bool can_invite_users
    Definition: telebot-types.h:1147
    -
    bool is_closed
    Definition: telebot-types.h:712
    +Go to the documentation of this file.
    1/*
    +
    2 * telebot
    +
    3 *
    +
    4 * Copyright (c) 2015 Elmurod Talipov.
    +
    5 *
    +
    6 * Licensed under the Apache License, Version 2.0 (the License);
    +
    7 * you may not use this file except in compliance with the License.
    +
    8 * You may obtain a copy of the License at
    +
    9 *
    +
    10 * http://www.apache.org/licenses/LICENSE-2.0
    +
    11 *
    +
    12 * Unless required by applicable law or agreed to in writing, software
    +
    13 * distributed under the License is distributed on an "AS IS" BASIS,
    +
    14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +
    15 * See the License for the specific language governing permissions and
    +
    16 * limitations under the License.
    +
    17 */
    +
    18
    +
    19#ifndef __TELEBOT_TYPES_H__
    +
    20#define __TELEBOT_TYPES_H__
    +
    21
    +
    22#include <stdbool.h>
    +
    23
    +
    24#ifdef __cplusplus
    +
    25extern "C" {
    +
    26#endif
    +
    27
    + +
    70
    +
    +
    74typedef struct telebot_birthdate {
    +
    76 int day;
    +
    77
    +
    79 int month;
    +
    80
    +
    82 int year;
    + +
    +
    84
    +
    +
    88typedef struct telebot_business_intro {
    +
    90 char *title;
    +
    91
    +
    93 char *message;
    +
    94
    + + +
    +
    98
    + +
    109
    + +
    120
    + +
    132
    +
    + +
    137 bool can_reply;
    +
    138 bool can_read_messages;
    +
    139 bool can_delete_sent_messages;
    +
    140 bool can_delete_all_messages;
    +
    141 bool can_edit_name;
    +
    142 bool can_edit_bio;
    +
    143 bool can_edit_profile_photo;
    +
    144 bool can_edit_username;
    +
    145 bool can_change_gift_settings;
    +
    146 bool can_view_gifts_and_stars;
    +
    147 bool can_convert_gifts_to_stars;
    +
    148 bool can_transfer_and_upgrade_gifts;
    +
    149 bool can_transfer_stars;
    +
    150 bool can_manage_stories;
    + +
    +
    152
    +
    + +
    157 char *id;
    +
    158 struct telebot_user *user;
    +
    159 long long int user_chat_id;
    +
    160 long date;
    +
    161 bool can_reply;
    +
    162 bool is_enabled;
    + +
    +
    164
    +
    + +
    169 char *business_connection_id;
    +
    170 struct telebot_chat *chat;
    +
    171 int *message_ids;
    +
    172 int count_message_ids;
    + +
    +
    174
    +
    +
    178typedef struct telebot_user {
    +
    180 long long int id;
    +
    181
    +
    183 bool is_bot;
    +
    184
    + +
    187
    + +
    190
    +
    192 char *username;
    +
    193
    + +
    196
    + +
    199
    + +
    202
    + +
    205
    + +
    208
    + +
    211
    + +
    214
    + +
    217
    + +
    220
    + +
    223
    + +
    +
    225
    +
    +
    229typedef struct telebot_chat {
    +
    231 long long int id;
    +
    232
    +
    234 char *type;
    +
    235
    +
    237 char *title;
    +
    238
    +
    240 char *username;
    +
    241
    + +
    244
    + +
    247
    + +
    250
    + +
    253
    + +
    256
    + +
    259
    + +
    262
    + +
    267 int count_active_usernames;
    +
    268
    + +
    271
    + +
    274
    + +
    277
    + +
    280
    + +
    283
    + +
    286
    + +
    292
    + +
    295
    +
    297 char *bio;
    +
    298
    + +
    305
    + +
    312
    + +
    318
    + +
    324
    + +
    330
    + +
    336
    + +
    341
    + +
    347
    + +
    353
    + +
    356
    + +
    362
    + +
    365
    + +
    368
    + +
    374
    + +
    377
    + +
    383
    + +
    389
    + +
    392
    +
    398 long long int linked_chat_id;
    +
    399
    + + +
    +
    406
    +
    +
    410typedef struct telebot_game {
    +
    412 char *title;
    +
    413
    + +
    416
    + +
    419
    + +
    422
    +
    427 char *text;
    +
    428
    + +
    434 int count_text_entities;
    +
    435
    + + +
    +
    441
    +
    + + +
    448
    +
    450 char *state;
    +
    451
    +
    453 char *city;
    +
    454
    + +
    457
    + +
    460
    + + +
    +
    464
    +
    +
    468typedef struct telebot_order_info {
    +
    470 char *name;
    +
    471
    + +
    474
    +
    476 char *email;
    +
    477
    + + +
    +
    481
    +
    +
    485typedef struct telebot_invoice {
    +
    487 char *title;
    +
    488
    + +
    491
    + +
    497
    +
    499 char *currency;
    +
    500
    + + +
    +
    507
    + +
    536
    +
    +
    540typedef struct telebot_passport_file {
    +
    542 char *file_id;
    +
    543
    + +
    549
    + +
    552
    +
    554 long date;
    + +
    +
    556
    +
    + +
    567 char *type;
    +
    568
    +
    573 char *data;
    +
    574
    + +
    577
    +
    579 char *email;
    +
    580
    + +
    583 int count_files;
    +
    584
    + +
    587
    + +
    590
    + +
    593
    + +
    596 int count_translation;
    +
    597
    +
    599 char *hash;
    + +
    +
    601
    +
    + +
    607 char *data;
    +
    608
    +
    610 char *hash;
    +
    611
    +
    613 char *secret;
    + +
    +
    615
    + +
    631
    + +
    646
    + +
    661
    + +
    670
    + +
    679
    + +
    688
    + +
    697
    + +
    706
    + +
    716
    +
    +
    720typedef struct telebot_web_app_data {
    +
    722 char *data;
    +
    723
    + + +
    +
    730
    +
    +
    734typedef struct telebot_callback_game {
    +
    735 bool dummy;
    + +
    +
    737
    +
    +
    742typedef struct telebot_login_url {
    +
    744 char *url;
    +
    745
    + +
    748
    + +
    751
    + + +
    +
    755
    + +
    776
    + +
    785
    + +
    852
    + +
    870
    + +
    882
    + +
    891
    + +
    900
    + +
    910
    +
    +
    915typedef struct telebot_user_shared {
    + +
    918
    +
    920 long long int user_id;
    + +
    +
    922
    +
    +
    927typedef struct telebot_chat_shared {
    + +
    930
    +
    932 long long int chat_id;
    + +
    +
    934
    +
    + + +
    941
    + +
    944
    + +
    947
    + +
    950
    + +
    953
    +
    955 char *name;
    +
    956
    + +
    959
    + +
    962
    + + +
    +
    966
    + +
    992
    +
    + + +
    999
    + +
    1002
    +
    1004 long long int user_chat_id;
    +
    1005
    +
    1007 long date;
    +
    1008
    +
    1010 char *bio;
    +
    1011
    + + +
    +
    1015
    +
    + + +
    1023
    + +
    1026
    + +
    1029
    + +
    1032
    +
    1034 long date;
    +
    1035
    + +
    1038 int count_old_reaction;
    +
    1039
    + +
    1042 int count_new_reaction;
    + +
    +
    1044
    +
    + + +
    1052
    + +
    1055
    +
    1057 long date;
    +
    1058
    + +
    1061 int count_reactions;
    + +
    +
    1063
    +
    + +
    1069 char *type;
    +
    1070
    +
    1072 char *emoji;
    +
    1073
    + + +
    +
    1077
    + +
    1088
    + +
    1099
    +
    +
    1103typedef struct telebot_chat_boost {
    + +
    1106
    + +
    1109
    + +
    1112
    + + +
    +
    1116
    + +
    1127
    + +
    1144
    +
    + +
    1150 char *type;
    +
    1151
    +
    1153 long date;
    +
    1154
    + +
    1157
    + +
    1160
    + +
    1163
    + +
    1166
    + + +
    +
    1170
    +
    +
    1175typedef struct telebot_text_quote {
    +
    1177 char *text;
    +
    1178
    + +
    1181 int count_entities;
    +
    1182
    + +
    1185
    + + +
    +
    1189
    +
    +
    1193typedef struct telebot_story {
    + +
    1196
    +
    1198 int id;
    + +
    +
    1200
    +
    + + +
    1208
    + +
    1211
    + +
    1214
    + +
    1217
    + +
    1220
    + +
    1223
    + +
    1226
    + +
    1229
    + +
    1232 int count_photos;
    +
    1233
    + +
    1236
    + +
    1239
    + +
    1242
    + +
    1245
    + +
    1248
    + +
    1251
    + +
    1254
    + +
    1257
    + +
    1260
    + +
    1263
    + +
    1266
    + +
    1269
    + +
    1272
    + +
    1275
    + + +
    +
    1279
    + +
    1299
    +
    +
    1303typedef struct telebot_paid_media {
    +
    1305 char *type;
    +
    1306
    + +
    1309
    + +
    1312
    + +
    1315
    + +
    1318 int count_photos;
    +
    1319
    + + +
    +
    1323
    +
    + + +
    1330
    + +
    1333 int count_paid_media;
    + +
    +
    1335
    +
    +
    1339typedef struct telebot_giveaway {
    + +
    1342 int count_chats;
    +
    1343
    + +
    1346
    + +
    1349
    + +
    1352
    + +
    1355
    + +
    1358
    + +
    1361 int count_country_codes;
    +
    1362
    + +
    1365
    + + +
    +
    1369
    +
    + + +
    1377
    + +
    1380
    + +
    1383
    + +
    1386
    + +
    1389 int count_winners;
    +
    1390
    + +
    1393
    + +
    1396
    + +
    1399
    + +
    1402
    + +
    1405
    + +
    1408
    + + +
    +
    1412
    + +
    1432
    +
    +
    1437typedef struct telebot_users_shared {
    + +
    1440
    + +
    1443 int count_users;
    + +
    +
    1445
    +
    +
    1450typedef struct telebot_shared_user {
    +
    1452 long long int user_id;
    +
    1453
    + +
    1456
    + +
    1459
    + +
    1462
    + +
    1465 int count_photo;
    + +
    +
    1467
    +
    +
    1471typedef struct telebot_gift {
    +
    1473 char *id;
    +
    1474
    + +
    1477
    + +
    1480
    + +
    1483
    + +
    1486
    + +
    1489
    + +
    1492
    + + +
    +
    1496
    +
    +
    1500typedef struct telebot_gift_info {
    + +
    1503
    +
    1505 char *text;
    +
    1506
    + +
    1509 int count_entities;
    +
    1510
    + + +
    +
    1514
    +
    + + +
    1521
    +
    1523 char *origin;
    +
    1524
    + +
    1527
    +
    1529 long long int last_resale_amount;
    + +
    +
    1531
    +
    +
    1535typedef struct telebot_unique_gift {
    +
    1537 char *gift_id;
    +
    1538
    +
    1540 char *name;
    +
    1541
    + +
    1544
    + + +
    +
    1548
    + +
    1556
    + +
    1564
    + +
    1572
    + +
    1590
    + +
    1601
    + +
    1621
    +
    + +
    1627 char *type;
    +
    1628
    +
    1630 long date;
    +
    1631
    +
    1633 char *url;
    + +
    +
    1635
    +
    + +
    1641 char *type;
    +
    1642
    + +
    1645
    + +
    1648
    + +
    1651
    + +
    1654
    + +
    1657
    + +
    1660
    + +
    1663 int count_paid_media;
    +
    1664
    + +
    1667
    + +
    1670
    + +
    1673
    + +
    1676
    + +
    1679
    + +
    1682
    + + +
    +
    1686
    + +
    1709
    +
    + + +
    1716 int count_transactions;
    + +
    +
    1718
    + +
    1729
    +
    + +
    1735 char *source;
    +
    1736
    +
    1738 char *type;
    +
    1739
    + +
    1742
    + +
    1745
    +
    1747 char *message;
    +
    1748
    + +
    1751
    + +
    1754 int count_file_hashes;
    +
    1755
    + + +
    +
    1759
    +
    + + +
    1766
    + +
    1769
    + + +
    +
    1773
    +
    +
    1777typedef struct telebot_message {
    + +
    1780
    + +
    1786
    + +
    1789
    + +
    1799
    + +
    1802
    + +
    1805
    + +
    1808
    +
    1810 long date;
    +
    1811
    + +
    1814
    + +
    1817
    + +
    1820
    + +
    1826
    + +
    1832
    + +
    1838
    + +
    1844
    + +
    1850
    + +
    1853
    + +
    1859
    + +
    1866
    + +
    1869
    + +
    1872
    + +
    1875
    + +
    1878
    + +
    1881
    + +
    1884
    + +
    1887
    + +
    1893
    + +
    1896
    +
    1898 char *text;
    +
    1899
    + +
    1905 int count_entities;
    +
    1906
    + +
    1909
    + +
    1912
    + +
    1919
    + +
    1922
    + +
    1925
    + +
    1928
    + +
    1931 int count_photos;
    +
    1932
    + +
    1935
    + +
    1938
    + +
    1941
    + +
    1944
    +
    1946 char *caption;
    +
    1947
    + +
    1953 int count_caption_entities;
    +
    1954
    + +
    1957
    + +
    1960
    + +
    1963
    + +
    1966
    + +
    1969
    + +
    1972
    + +
    1975
    + +
    1981 int count_new_chat_members;
    +
    1982
    + +
    1988 int count_left_chat_members;
    +
    1989
    + +
    1992
    + +
    1995 int count_new_chat_photos;
    +
    1996
    + +
    1999
    + +
    2002
    + +
    2005
    + +
    2008
    + +
    2011
    +
    2016 long long int migrate_to_chat_id;
    +
    2017
    + +
    2023
    + +
    2030
    + +
    2036
    + +
    2042
    + +
    2045
    + +
    2048
    + +
    2051
    + +
    2054
    + +
    2060
    + +
    2063
    + +
    2066
    + +
    2069
    + +
    2072
    + +
    2075
    + +
    2078
    + +
    2081
    + +
    2084
    + +
    2087
    + +
    2090
    + +
    2093
    + +
    2096
    + +
    2099
    + +
    2102
    + +
    2105
    + +
    2108
    + +
    2111
    + +
    2114
    + +
    2117
    + +
    2120
    + + +
    +
    2127
    +
    + +
    2139 char *type;
    +
    2140
    + +
    2143
    + +
    2146
    +
    2151 char *url;
    +
    2152
    + +
    2155
    + + +
    +
    2159
    +
    2160
    +
    +
    2165typedef struct telebot_photo {
    +
    2167 char *file_id;
    +
    2168
    + +
    2174
    + +
    2177
    + +
    2180
    + + +
    +
    2184
    +
    2185
    +
    +
    2190typedef struct telebot_audio {
    +
    2192 char *file_id;
    +
    2193
    + +
    2199
    + +
    2202
    + +
    2205
    +
    2207 char *title;
    +
    2208
    + +
    2211
    + +
    2214
    + + +
    +
    2218
    + +
    2228
    + +
    2240
    +
    +
    2244typedef struct telebot_user_gift {
    +
    2246 char *gift_id;
    +
    2247
    + +
    2250
    +
    2252 char *text;
    +
    2253
    + + +
    2258
    + +
    2261
    +
    2263 long date;
    +
    2264
    + +
    2267
    + +
    2270
    + + +
    +
    2274
    + +
    2286
    + +
    2296
    +
    +
    2301typedef struct telebot_document {
    +
    2303 char *file_id;
    +
    2304
    + +
    2310
    + +
    2313
    + +
    2316
    + +
    2319
    + + +
    +
    2323
    +
    2324
    +
    +
    2328typedef struct telebot_video {
    +
    2330 char *file_id;
    +
    2331
    + +
    2337
    + +
    2340
    + +
    2343
    + +
    2346
    + +
    2349
    + +
    2352
    + + +
    +
    2356
    +
    +
    2360typedef struct telebot_animation {
    +
    2362 char *file_id;
    +
    2363
    + +
    2369
    + +
    2372
    + +
    2375
    + +
    2378
    + +
    2381
    + +
    2384
    + +
    2387
    + + +
    +
    2391
    +
    +
    2395typedef struct telebot_voice {
    +
    2397 char *file_id;
    +
    2398
    + +
    2404
    + +
    2407
    + +
    2410
    + + +
    +
    2414
    +
    2415
    +
    +
    2420typedef struct telebot_video_note {
    +
    2422 char *file_id;
    +
    2423
    + +
    2429
    + +
    2432
    + +
    2435
    + +
    2438
    + + +
    +
    2442
    +
    2443
    +
    +
    2447typedef struct telebot_contact {
    + +
    2450
    + +
    2453
    + +
    2456
    + +
    2459
    +
    2461 char *vcard;
    + +
    +
    2463
    +
    2464
    +
    +
    2468typedef struct telebot_location {
    + +
    2471
    + + +
    +
    2475
    +
    2476
    +
    +
    2480typedef struct telebot_venue {
    + +
    2483
    +
    2485 char *title;
    +
    2486
    +
    2488 char *address;
    +
    2489
    + +
    2492
    + + +
    +
    2500
    +
    +
    2504typedef struct telebot_poll_option {
    +
    2506 char *text;
    +
    2507
    + + +
    +
    2511
    +
    +
    2515typedef struct telebot_poll_answer {
    +
    2517 char *poll_id;
    +
    2518
    + +
    2521
    + +
    2527
    +
    2528 /* Number of option ids */
    +
    2529 int count_option_ids;
    + +
    +
    2531
    +
    +
    2535typedef struct telebot_poll {
    +
    2537 char *id;
    +
    2538
    + +
    2541
    + +
    2544
    +
    2545 /* Number of options */
    +
    2546 int count_options;
    +
    2547
    + +
    2550
    + +
    2553
    + +
    2556
    +
    2558 char *type;
    +
    2559
    + +
    2562
    + + +
    +
    2570
    +
    +
    2574typedef struct telebot_dice {
    + + +
    +
    2578
    + +
    2592
    +
    +
    2602typedef struct telebot_file {
    +
    2604 char *file_id;
    +
    2605
    + +
    2611
    + +
    2614
    + + +
    +
    2618
    + +
    2632
    + +
    2658
    +
    + + +
    2665
    + +
    2668
    + +
    2671
    + +
    2674
    + +
    2677
    +
    2679 struct telebot_chat_administrator_rights *user_administrator_rights;
    +
    2680
    +
    2682 struct telebot_chat_administrator_rights *bot_administrator_rights;
    +
    2683
    + +
    2686
    + +
    2689
    + +
    2692
    + + +
    +
    2696
    + +
    2704
    + +
    2756
    +
    + + +
    2766
    +
    2767 /* Number of keyboard rows */
    +
    2768 int keyboard_rows;
    +
    2769
    +
    2770 /* Number of keyboard columns */
    +
    2771 int keyboard_cols;
    +
    2772
    + +
    2778
    + +
    2786
    + +
    2795
    + + +
    +
    2804
    + +
    2828
    +
    + +
    2839 char *id;
    +
    2840
    + +
    2843
    + +
    2850
    + +
    2856
    + +
    2863
    +
    2868 char *data;
    +
    2869
    + + +
    +
    2876
    +
    + +
    2885{
    + +
    2891
    + + +
    +
    2901
    +
    2902
    +
    +
    2906typedef struct telebot_chat_photo {
    + +
    2912
    + +
    2919
    + +
    2925
    + + +
    +
    2932
    +
    +
    2936typedef struct telebot_chat_member {
    + +
    2939
    +
    2944 char *status;
    +
    2945
    + +
    2948
    + +
    2954
    + +
    2960
    + +
    2966
    + +
    2972
    + +
    2978
    + +
    2984
    + +
    2992
    + +
    2998
    + +
    3004
    + +
    3010
    + +
    3016
    + +
    3022
    + +
    3028
    + +
    3031
    + +
    3037
    + + +
    +
    3044
    + +
    3094
    +
    +
    3096typedef struct telebot_bot_command {
    +
    3101 char *command;
    +
    3102
    + + +
    +
    3106
    + +
    3126
    +
    +
    3131typedef struct telebot_inline_query {
    +
    3133 char *id;
    +
    3134
    + +
    3137
    +
    3139 char *query;
    +
    3140
    +
    3142 char *offset;
    +
    3143
    + +
    3146
    + + +
    +
    3150
    +
    + + +
    3158
    + +
    3161
    + +
    3164
    + +
    3171
    +
    3173 char *query;
    + +
    +
    3175
    + +
    3192
    +
    + +
    3198 char *id;
    +
    3199
    + +
    3202
    + +
    3205
    + +
    3211
    + +
    3214
    + +
    3217
    + + +
    +
    3221
    +
    + +
    3231 char *point;
    +
    3232
    +
    3238 float x_shift;
    +
    3239
    +
    3245 float y_shift;
    +
    3246
    +
    3248 float scale;
    + +
    +
    3250
    +
    +
    3254typedef struct telebot_sticker {
    +
    3256 char *file_id;
    +
    3257
    + +
    3263
    + +
    3266
    + +
    3269
    + +
    3272
    + +
    3275
    +
    3277 char *emoji;
    +
    3278
    + +
    3281
    + +
    3284
    + + +
    +
    3288
    +
    +
    3292typedef struct telebot_forum_topic {
    + +
    3295
    +
    3297 char *name;
    +
    3298
    + +
    3301
    + + +
    +
    3305
    + +
    3316
    + +
    3324
    + +
    3421
    + +
    3465
    + +
    3476
    + +
    3485
    +
    3489typedef struct telebot_handler *telebot_handler_t;
    +
    3490
    +
    3495#ifdef __cplusplus
    +
    3496}
    +
    3497#endif
    +
    3498
    +
    3499#endif /* __TELEBOT_TYPES_H__ */
    +
    struct telebot_giveaway telebot_giveaway_t
    This object represents a message about a scheduled giveaway.
    +
    struct telebot_bot_command telebot_bot_command_t
    This object represents a bot command.
    +
    struct telebot_game_high_score telebot_game_high_score_t
    This object represents a game high score row.
    +
    struct telebot_game telebot_game_t
    This object represents a game.
    +
    struct telebot_giveaway_created telebot_giveaway_created_t
    This object represents a service message about the creation of a scheduled giveaway.
    +
    struct telebot_chat_background telebot_chat_background_t
    This object represents a chat background.
    +
    struct telebot_chat_location telebot_chat_location_t
    Thi object represetns information about the current status of a webhook.
    +
    struct telebot_shipping_address telebot_shipping_address_t
    This object represents a shipping address.
    +
    struct telebot_user_gift telebot_user_gift_t
    This object represents a gift received by a user.
    +
    struct telebot_video_chat_started telebot_video_chat_started_t
    This object represents a service message about a video chat started in the chat.
    +
    struct telebot_user telebot_user_t
    This object represents a Telegram user or bot.
    +
    struct telebot_business_intro telebot_business_intro_t
    Contains information about the start page settings of a Telegram Business account.
    +
    struct telebot_user_profile_photos telebot_user_profile_photos_t
    This object represent a user's profile pictures.
    +
    struct telebot_message_reaction_updated telebot_message_reaction_updated_t
    This object represents a change of a reaction on a message performed by a user.
    +
    struct telebot_pre_checkout_query telebot_pre_checkout_query_t
    This object contains information about an incoming pre-checkout query.
    +
    struct telebot_login_url telebot_login_url_t
    This object represents a parameter of the inline keyboard button used to automatically authorize a us...
    +
    struct telebot_video_chat_participants_invited telebot_video_chat_participants_invited_t
    This object represents a service message about new members invited to a video chat.
    +
    struct telebot_link_preview_options telebot_link_preview_options_t
    Describes the options used for link preview generation.
    +
    struct telebot_message telebot_message_t
    This object represents a message.
    +
    struct telebot_keyboard_button_request_chat telebot_keyboard_button_request_chat_t
    This object defines the criteria used to request a suitable chat.
    +
    struct telebot_chat telebot_chat_t
    This object represents a chat.
    +
    struct telebot_gift telebot_gift_t
    This object represents a gift that can be sent by the bot.
    +
    struct telebot_video_chat_ended telebot_video_chat_ended_t
    This object represents a service message about a video chat ended in the chat.
    +
    struct telebot_prepared_inline_message telebot_prepared_inline_message_t
    This object represents a prepared inline message.
    +
    struct telebot_star_transactions telebot_star_transactions_t
    Contains a list of Telegram Star transactions.
    +
    struct telebot_encrypted_credentials telebot_encrypted_credentials_t
    This object represents credentials required to decrypt the data.
    +
    struct telebot_passport_data telebot_passport_data_t
    Contains information about Telegram Passport data which was shared with the bot by the user.
    +
    struct telebot_forum_topic_edited telebot_forum_topic_edited_t
    This object represents a service message about a forum topic edited in the chat.
    +
    struct telebot_reply_keyboard_markup telebot_reply_keyboard_markup_t
    This object represents a custom keyboard with reply options.
    +
    struct telebot_giveaway_winners telebot_giveaway_winners_t
    This object represents a message about the completion of a giveaway with public winners.
    +
    struct telebot_star_transaction telebot_star_transaction_t
    Describes a Telegram Star transaction.
    +
    struct telebot_business_opening_hours telebot_business_opening_hours_t
    Describes the opening hours of a business.
    +
    struct telebot_write_access_allowed telebot_write_access_allowed_t
    This object represents a service message about a user allowing a bot to write messages after adding t...
    +
    struct telebot_callback_game telebot_callback_game_t
    A placeholder, currently holds no information. Use BotFather to set up your game.
    +
    struct telebot_forum_topic_reopened telebot_forum_topic_reopened_t
    This object represents a service message about a forum topic reopened in the chat.
    +
    struct telebot_users_shared telebot_users_shared_t
    This object contains information about the users whose identifiers were shared with the bot using a K...
    +
    struct telebot_message_reaction_count_updated telebot_message_reaction_count_updated_t
    This object represents reaction changes on a message with anonymous reactions.
    +
    struct telebot_inline_keyboard_markup telebot_inline_keyboard_markup_t
    This object represents an inline keyboard that appears right next to the message it belongs to.
    +
    struct telebot_poll_answer telebot_poll_answer_t
    This object represents an answer of a user in a non-anonymous poll.
    +
    struct telebot_chat_member telebot_chat_member_t
    This object contains information about one member of a chat.
    +
    struct telebot_chat_boost telebot_chat_boost_t
    This object contains information about a chat boost.
    +
    enum telebot_update_type telebot_update_type_e
    Enumerations of telegram update types.
    +
    struct telebot_invoice telebot_invoice_t
    This object contains basic information about an invoice.
    +
    struct telebot_affiliate_info telebot_affiliate_info_t
    Contains information about the affiliate that received a commission.
    +
    struct telebot_user_gifts telebot_user_gifts_t
    This object represents a list of gifts received by a user.
    +
    struct telebot_poll telebot_poll_t
    This object contains information about a poll.
    +
    struct telebot_unique_gift telebot_unique_gift_t
    This object describes a unique gift that was upgraded from a regular gift.
    +
    struct telebot_inline_keyboard_button telebot_inline_keyboard_button_t
    This object represents one button of an inline keyboard. You must use exactly one of the optional fie...
    +
    struct telebot_paid_media telebot_paid_media_t
    This object describes paid media.
    +
    struct telebot_contact telebot_contact_t
    This object represents a phone contact.
    +
    struct telebot_passport_element_error telebot_passport_element_error_t
    This object represents an error in the Telegram Passport element.
    +
    struct telebot_document telebot_document_t
    This object represents a general file (as opposed to photos, voice messages and audio files).
    +
    struct telebot_successful_payment telebot_successful_payment_t
    This object contains basic information about a successful payment.
    +
    struct telebot_message_entity telebot_message_entity_t
    This object represents one special entity in a text message. For example, hashtags,...
    +
    struct telebot_business_connection telebot_business_connection_t
    Describes the connection of the bot with a business account.
    +
    struct telebot_poll_option telebot_poll_option_t
    This object contains information about one answer option in a poll.
    +
    struct telebot_business_location telebot_business_location_t
    Contains information about the location of a Telegram Business account.
    +
    telebot_update_type
    Enumerations of telegram update types.
    Definition telebot-types.h:44
    +
    struct telebot_video telebot_video_t
    This object represents a video file.
    +
    struct telebot_switch_inline_query_chosen_chat telebot_switch_inline_query_chosen_chat_t
    This object represents an inline button that switches the current user to inline mode in a chosen cha...
    +
    struct telebot_keyboard_button_poll_type telebot_keyboard_button_poll_type_t
    This object represents type of a poll, which is allowed to be created and sent when the corresponding...
    +
    struct telebot_copy_text_button telebot_copy_text_button_t
    This object represents an inline keyboard button that copies specified text to the clipboard.
    +
    struct telebot_shipping_query telebot_shipping_query_t
    This object contains information about an incoming shipping query.
    +
    struct telebot_message_auto_delete_timer_changed telebot_message_auto_delete_timer_changed_t
    This object represents a service message about a change in auto-delete timer settings.
    +
    struct telebot_chat_boost_updated telebot_chat_boost_updated_t
    This object represents a boost added to a chat.
    +
    struct telebot_force_reply telebot_force_reply_t
    Upon receiving a message with this object, Telegram clients will display a reply interface to the use...
    +
    struct telebot_sticker telebot_sticker_t
    This object represents a sticker.
    +
    struct telebot_story telebot_story_t
    This object contains information about a story.
    +
    struct telebot_chat_photo telebot_chat_photo_t
    This object represents a chat photo.
    +
    struct telebot_chat_boost_added telebot_chat_boost_added_t
    This object represents a service message about a user boosting a chat.
    +
    struct telebot_general_forum_topic_unhidden telebot_general_forum_topic_unhidden_t
    This object represents a service message about a general forum topic unhidden in the chat.
    +
    struct telebot_web_app_info telebot_web_app_info_t
    Describes a Web App.
    +
    struct telebot_encrypted_passport_element telebot_encrypted_passport_element_t
    This object represents one element of the Telegram Passport data.
    +
    struct telebot_proximity_alert_triggered telebot_proximity_alert_triggered_t
    This object represents a service message about a user in the chat triggered another user's proximity ...
    +
    struct telebot_chat_shared telebot_chat_shared_t
    This object contains information about the chat whose identifier was shared with the bot using a Keyb...
    +
    struct telebot_video_note telebot_video_note_t
    This object represents a video message (available in Telegram apps as of v.4.0).
    +
    struct telebot_unique_gift_info telebot_unique_gift_info_t
    Describes a unique gift that was sent or received.
    +
    struct telebot_message_origin telebot_message_origin_t
    This object describes the origin of a message.
    +
    struct telebot_mask_position telebot_mask_position_t
    This object describes the position on faces where a mask should be placed by default.
    +
    struct telebot_voice telebot_voice_t
    This object represents a voice note.
    +
    struct telebot_chosen_inline_result telebot_chosen_inline_result_t
    Represents a result of an inline query that was chosen by the user and sent to their chat partner.
    +
    struct telebot_transaction_partner telebot_transaction_partner_t
    This object describes the source of a transaction.
    +
    struct telebot_reply_keyboard_remove telebot_reply_keyboard_remove_t
    Upon receiving a message with this object, Telegram clients will remove the current custom keyboard a...
    +
    struct telebot_handler * telebot_handler_t
    This is opaque object to represent a telebot handler.
    Definition telebot-types.h:3489
    +
    struct telebot_keyboard_button_request_users telebot_keyboard_button_request_users_t
    This object defines the criteria used to request suitable users.
    +
    struct telebot_video_chat_scheduled telebot_video_chat_scheduled_t
    This object represents a service message about a video chat scheduled in the chat.
    +
    struct telebot_general_forum_topic_hidden telebot_general_forum_topic_hidden_t
    This object represents a service message about a general forum topic hidden in the chat.
    +
    struct telebot_text_quote telebot_text_quote_t
    This object contains information about the quoted part of a message that is replied to by the given m...
    +
    struct telebot_user_profile_audios telebot_user_profile_audios_t
    This object represents a list of user profile audios.
    +
    struct telebot_gift_info telebot_gift_info_t
    Describes a regular gift that was sent or received.
    +
    struct telebot_sent_web_app_message telebot_sent_web_app_message_t
    This object represents a message sent via a Web App.
    +
    struct telebot_shared_user telebot_shared_user_t
    This object contains information about a user that was shared with the bot.
    +
    struct telebot_star_amount telebot_star_amount_t
    Describes an amount of Telegram Stars.
    +
    struct telebot_chat_member_updated telebot_chat_member_updated_t
    This object represents changes in the status of a chat member.
    +
    struct telebot_business_opening_hours_interval telebot_business_opening_hours_interval_t
    Describes an interval of time during which a business is open.
    +
    struct telebot_order_info telebot_order_info_t
    This object represents information about an order.
    +
    struct telebot_chat_boost_removed telebot_chat_boost_removed_t
    This object represents a boost removed from a chat.
    +
    struct telebot_callback_query telebot_callback_query_t
    This object represents an incoming callback query from a callback button in an inline keyboard....
    +
    struct telebot_response_paramters telebot_response_paramters_t
    Contains information about why a request was unsuccessful.
    +
    struct telebot_reaction_count telebot_reaction_count_t
    This object represents a reaction count.
    +
    struct telebot_passport_file telebot_passport_file_t
    This object represents an internal identifier of a user in Telegram Passport.
    +
    struct telebot_inline_query telebot_inline_query_t
    This object represents an incoming inline query. When the user sends an empty query,...
    +
    struct telebot_paid_media_purchased telebot_paid_media_purchased_t
    This object contains information about a paid media purchase.
    +
    struct telebot_business_messages_deleted telebot_business_messages_deleted_t
    This object is received when messages are deleted from a connected business account.
    +
    struct telebot_refunded_payment telebot_refunded_payment_t
    This object represents a service message about a refunded payment.
    +
    struct telebot_business_bot_rights telebot_business_bot_rights_t
    Represents the rights of a business bot.
    +
    struct telebot_chat_invite_link telebot_chat_invite_link_t
    This object represents a chat invite link.
    +
    struct telebot_forum_topic telebot_forum_topic_t
    This object represents a forum topic.
    +
    struct telebot_user_shared telebot_user_shared_t
    This object contains information about the user whose identifier was shared with the bot using a Keyb...
    +
    struct telebot_forum_topic_created telebot_forum_topic_created_t
    This object represents a service message about a new forum topic created in the chat.
    +
    struct telebot_chat_boost_source telebot_chat_boost_source_t
    This object represents the source of a chat boost.
    +
    struct telebot_webhook_info telebot_webhook_info_t
    Thi object represetns information about the current status of a webhook.
    +
    struct telebot_chat_join_request telebot_chat_join_request_t
    This object represents a join request sent to a chat.
    +
    struct telebot_giveaway_completed telebot_giveaway_completed_t
    This object represents a service message about the completion of a giveaway without public winners.
    +
    struct telebot_forum_topic_closed telebot_forum_topic_closed_t
    This object represents a service message about a forum topic closed in the chat.
    +
    struct telebot_keyboard_button telebot_keyboard_button_t
    This object represents one button of the reply keyboard. For simple text buttons String can be used i...
    +
    struct telebot_chat_permissions telebot_chat_permissions_t
    Describes actions that a non-administrator user is allowed to take in a chat.
    +
    struct telebot_file telebot_file_t
    This object represents a file ready to be downloaded.
    +
    struct telebot_reaction_type telebot_reaction_type_t
    This object represents a reaction type.
    +
    struct telebot_dice telebot_dice_t
    This object represents a dice with random value from 1 to 6.
    +
    struct telebot_gifts telebot_gifts_t
    This object represent a list of gifts.
    +
    struct telebot_web_app_data telebot_web_app_data_t
    This object represents data sent by a Web App to the bot.
    +
    struct telebot_birthdate telebot_birthdate_t
    Describes the birthdate of a user.
    +
    struct telebot_venue telebot_venue_t
    This object represents a venue.
    +
    struct telebot_revenue_withdrawal_state telebot_revenue_withdrawal_state_t
    This object describes the state of a revenue withdrawal operation.
    +
    struct telebot_animation telebot_animation_t
    This object represents a video file.
    +
    struct telebot_location telebot_location_t
    This object represents a point on the map.
    +
    struct telebot_user_chat_boosts telebot_user_chat_boosts_t
    This object represents a list of user chat boosts.
    +
    struct telebot_update telebot_update_t
    This object represents an incoming update.
    +
    struct telebot_external_reply_info telebot_external_reply_info_t
    This object contains information about the message that is being replied to, which may come from anot...
    +
    struct telebot_paid_media_info telebot_paid_media_info_t
    Describes the paid media added to a message.
    +
    struct telebot_photo telebot_photo_t
    This object represents one size of a photo or a file / sticker thumbnail.
    +
    struct telebot_audio telebot_audio_t
    This object represents an audio file to be treated as music by the Telegram clients.
    +
    @ TELEBOT_UPDATE_TYPE_CALLBACK_QUERY
    Definition telebot-types.h:57
    +
    @ TELEBOT_UPDATE_TYPE_DELETED_BUSINESS_MESSAGES
    Definition telebot-types.h:52
    +
    @ TELEBOT_UPDATE_TYPE_CHOSEN_INLINE_RESULT
    Definition telebot-types.h:56
    +
    @ TELEBOT_UPDATE_TYPE_SHIPPING_QUERY
    Definition telebot-types.h:58
    +
    @ TELEBOT_UPDATE_TYPE_BUSINESS_MESSAGE
    Definition telebot-types.h:50
    +
    @ TELEBOT_UPDATE_TYPE_EDITED_CHANNEL_POST
    Definition telebot-types.h:48
    +
    @ TELEBOT_UPDATE_TYPE_EDITED_BUSINESS_MESSAGE
    Definition telebot-types.h:51
    +
    @ TELEBOT_UPDATE_TYPE_MESSAGE
    Definition telebot-types.h:45
    +
    @ TELEBOT_UPDATE_TYPE_CHAT_JOIN_REQUEST
    Definition telebot-types.h:65
    +
    @ TELEBOT_UPDATE_TYPE_BUSINESS_CONNECTION
    Definition telebot-types.h:49
    +
    @ TELEBOT_UPDATE_TYPE_EDITED_MESSAGE
    Definition telebot-types.h:46
    +
    @ TELEBOT_UPDATE_TYPE_POLL_ANSWER
    Definition telebot-types.h:62
    +
    @ TELEBOT_UPDATE_TYPE_MESSAGE_REACTION_COUNT
    Definition telebot-types.h:54
    +
    @ TELEBOT_UPDATE_TYPE_REMOVED_CHAT_BOOST
    Definition telebot-types.h:67
    +
    @ TELEBOT_UPDATE_TYPE_MAX
    Definition telebot-types.h:68
    +
    @ TELEBOT_UPDATE_TYPE_CHAT_BOOST
    Definition telebot-types.h:66
    +
    @ TELEBOT_UPDATE_TYPE_POLL
    Definition telebot-types.h:61
    +
    @ TELEBOT_UPDATE_TYPE_CHANNEL_POST
    Definition telebot-types.h:47
    +
    @ TELEBOT_UPDATE_TYPE_MESSAGE_REACTION
    Definition telebot-types.h:53
    +
    @ TELEBOT_UPDATE_TYPE_CHAT_MEMBER
    Definition telebot-types.h:64
    +
    @ TELEBOT_UPDATE_TYPE_PRE_CHECKOUT_QUERY
    Definition telebot-types.h:59
    +
    @ TELEBOT_UPDATE_TYPE_INLINE_QUERY
    Definition telebot-types.h:55
    +
    @ TELEBOT_UPDATE_TYPE_MY_CHAT_MEMBER
    Definition telebot-types.h:63
    +
    @ TELEBOT_UPDATE_TYPE_PURCHASED_PAID_MEDIA
    Definition telebot-types.h:60
    +
    Contains information about the affiliate that received a commission.
    Definition telebot-types.h:1605
    +
    int amount
    Definition telebot-types.h:1616
    +
    struct telebot_chat * affiliate_chat
    Definition telebot-types.h:1610
    +
    int commission_per_mille
    Definition telebot-types.h:1613
    +
    struct telebot_user * affiliate_user
    Definition telebot-types.h:1607
    +
    int nanostar_amount
    Definition telebot-types.h:1619
    +
    This object represents a video file.
    Definition telebot-types.h:2360
    +
    int duration
    Definition telebot-types.h:2377
    +
    char * file_name
    Definition telebot-types.h:2383
    +
    char * mime_type
    Definition telebot-types.h:2386
    +
    int height
    Definition telebot-types.h:2374
    +
    int file_size
    Definition telebot-types.h:2389
    +
    char * file_unique_id
    Definition telebot-types.h:2368
    +
    int width
    Definition telebot-types.h:2371
    +
    struct telebot_photo * thumb
    Definition telebot-types.h:2380
    +
    char * file_id
    Definition telebot-types.h:2362
    +
    This object represents an audio file to be treated as music by the Telegram clients.
    Definition telebot-types.h:2190
    +
    struct telebot_photo * thumb
    Definition telebot-types.h:2216
    +
    char * title
    Definition telebot-types.h:2207
    +
    char * file_unique_id
    Definition telebot-types.h:2198
    +
    int file_size
    Definition telebot-types.h:2213
    +
    char * mime_type
    Definition telebot-types.h:2210
    +
    char * performer
    Definition telebot-types.h:2204
    +
    int duration
    Definition telebot-types.h:2201
    +
    char * file_id
    Definition telebot-types.h:2192
    +
    Describes the birthdate of a user.
    Definition telebot-types.h:74
    +
    int day
    Definition telebot-types.h:76
    +
    int year
    Definition telebot-types.h:82
    +
    int month
    Definition telebot-types.h:79
    +
    This object represents a bot command.
    Definition telebot-types.h:3096
    +
    char * description
    Definition telebot-types.h:3104
    +
    char * command
    Definition telebot-types.h:3101
    +
    Represents the rights of a business bot.
    Definition telebot-types.h:136
    +
    Describes the connection of the bot with a business account.
    Definition telebot-types.h:156
    +
    Contains information about the start page settings of a Telegram Business account.
    Definition telebot-types.h:88
    +
    char * title
    Definition telebot-types.h:90
    +
    char * message
    Definition telebot-types.h:93
    +
    struct telebot_sticker * sticker
    Definition telebot-types.h:96
    +
    Contains information about the location of a Telegram Business account.
    Definition telebot-types.h:102
    +
    struct telebot_location * location
    Definition telebot-types.h:107
    +
    char * address
    Definition telebot-types.h:104
    +
    This object is received when messages are deleted from a connected business account.
    Definition telebot-types.h:168
    +
    Describes an interval of time during which a business is open.
    Definition telebot-types.h:113
    +
    int opening_minute
    Definition telebot-types.h:115
    +
    int closing_minute
    Definition telebot-types.h:118
    +
    Describes the opening hours of a business.
    Definition telebot-types.h:124
    +
    char * time_zone_name
    Definition telebot-types.h:126
    +
    struct telebot_business_opening_hours_interval * opening_hours
    Definition telebot-types.h:129
    +
    A placeholder, currently holds no information. Use BotFather to set up your game.
    Definition telebot-types.h:734
    +
    This object represents an incoming callback query from a callback button in an inline keyboard....
    Definition telebot-types.h:2837
    +
    char * data
    Definition telebot-types.h:2868
    +
    struct telebot_user * from
    Definition telebot-types.h:2842
    +
    char * chat_instance
    Definition telebot-types.h:2862
    +
    char * inline_message_id
    Definition telebot-types.h:2855
    +
    char * game_short_name
    Definition telebot-types.h:2874
    +
    char * id
    Definition telebot-types.h:2839
    +
    struct telebot_message * message
    Definition telebot-types.h:2849
    +
    This object represents a chat background.
    Definition telebot-types.h:1560
    +
    char * type
    Definition telebot-types.h:1562
    +
    This object represents a service message about a user boosting a chat.
    Definition telebot-types.h:1552
    +
    int boost_count
    Definition telebot-types.h:1554
    +
    This object represents a boost removed from a chat.
    Definition telebot-types.h:1131
    +
    char * boost_id
    Definition telebot-types.h:1136
    +
    struct telebot_chat * chat
    Definition telebot-types.h:1133
    +
    struct telebot_chat_boost_source * source
    Definition telebot-types.h:1142
    +
    long remove_date
    Definition telebot-types.h:1139
    +
    This object represents the source of a chat boost.
    Definition telebot-types.h:1120
    +
    struct telebot_user * user
    Definition telebot-types.h:1125
    +
    char * source
    Definition telebot-types.h:1122
    +
    This object represents a boost added to a chat.
    Definition telebot-types.h:1092
    +
    struct telebot_chat_boost * boost
    Definition telebot-types.h:1097
    +
    struct telebot_chat * chat
    Definition telebot-types.h:1094
    +
    This object contains information about a chat boost.
    Definition telebot-types.h:1103
    +
    struct telebot_chat_boost_source * source
    Definition telebot-types.h:1114
    +
    long add_date
    Definition telebot-types.h:1108
    +
    long expiration_date
    Definition telebot-types.h:1111
    +
    char * boost_id
    Definition telebot-types.h:1105
    + + + + + + + + + + +
    This object represents a join request sent to a chat.
    Definition telebot-types.h:996
    +
    long long int user_chat_id
    Definition telebot-types.h:1004
    +
    struct telebot_chat * chat
    Definition telebot-types.h:998
    +
    struct telebot_chat_invite_link * invite_link
    Definition telebot-types.h:1013
    +
    char * bio
    Definition telebot-types.h:1010
    +
    long date
    Definition telebot-types.h:1007
    +
    struct telebot_user * from
    Definition telebot-types.h:1001
    +
    Thi object represetns information about the current status of a webhook.
    Definition telebot-types.h:3469
    +
    char * address
    Definition telebot-types.h:3474
    +
    struct telebot_location * location
    Definition telebot-types.h:3471
    +
    This object represents changes in the status of a chat member.
    Definition telebot-types.h:970
    +
    bool via_chat_folder_invite_link
    Definition telebot-types.h:990
    +
    long date
    Definition telebot-types.h:978
    +
    struct telebot_chat_invite_link * invite_link
    Definition telebot-types.h:987
    +
    struct telebot_chat_member * new_chat_member
    Definition telebot-types.h:984
    +
    struct telebot_user * from
    Definition telebot-types.h:975
    +
    struct telebot_chat * chat
    Definition telebot-types.h:972
    +
    struct telebot_chat_member * old_chat_member
    Definition telebot-types.h:981
    +
    This object contains information about one member of a chat.
    Definition telebot-types.h:2936
    +
    char * status
    Definition telebot-types.h:2944
    +
    char * custom_title
    Definition telebot-types.h:2947
    +
    bool can_change_info
    Definition telebot-types.h:2997
    +
    bool can_send_media_messages
    Definition telebot-types.h:3027
    +
    bool can_send_messages
    Definition telebot-types.h:3021
    +
    struct telebot_user * user
    Definition telebot-types.h:2938
    +
    bool can_send_polls
    Definition telebot-types.h:3030
    +
    bool can_invite_users
    Definition telebot-types.h:3003
    +
    bool can_edit_messages
    Definition telebot-types.h:2971
    +
    bool can_send_other_messages
    Definition telebot-types.h:3036
    +
    bool can_pin_messages
    Definition telebot-types.h:3009
    +
    bool can_add_web_page_previews
    Definition telebot-types.h:3042
    +
    bool is_member
    Definition telebot-types.h:3015
    +
    bool can_restrict_members
    Definition telebot-types.h:2983
    +
    long until_date
    Definition telebot-types.h:2953
    +
    bool can_delete_messages
    Definition telebot-types.h:2977
    +
    bool can_be_edited
    Definition telebot-types.h:2959
    +
    bool can_post_messages
    Definition telebot-types.h:2965
    +
    bool can_promote_members
    Definition telebot-types.h:2991
    +
    Describes actions that a non-administrator user is allowed to take in a chat.
    Definition telebot-types.h:3048
    +
    bool can_send_polls
    Definition telebot-types.h:3065
    +
    bool can_send_messages
    Definition telebot-types.h:3053
    +
    bool can_invite_users
    Definition telebot-types.h:3086
    +
    bool can_pin_messages
    Definition telebot-types.h:3092
    +
    bool can_send_media_messages
    Definition telebot-types.h:3059
    +
    bool can_send_other_messages
    Definition telebot-types.h:3071
    +
    bool can_add_web_page_previews
    Definition telebot-types.h:3077
    +
    bool can_change_info
    Definition telebot-types.h:3083
    +
    This object represents a chat photo.
    Definition telebot-types.h:2906
    +
    char * big_file_unique_id
    Definition telebot-types.h:2930
    +
    char * big_file_id
    Definition telebot-types.h:2924
    +
    char * small_file_unique_id
    Definition telebot-types.h:2918
    +
    char * small_file_id
    Definition telebot-types.h:2911
    +
    This object contains information about the chat whose identifier was shared with the bot using a Keyb...
    Definition telebot-types.h:927
    +
    int request_id
    Definition telebot-types.h:929
    +
    long long int chat_id
    Definition telebot-types.h:932
    +
    This object represents a chat.
    Definition telebot-types.h:229
    +
    bool has_protected_content
    Definition telebot-types.h:373
    +
    char * sticker_set_name
    Definition telebot-types.h:382
    +
    struct telebot_chat_photo * photo
    Definition telebot-types.h:261
    +
    long emoji_status_expiration_date
    Definition telebot-types.h:294
    +
    bool has_aggressive_anti_spam_enabled
    Definition telebot-types.h:364
    +
    bool can_set_sticker_set
    Definition telebot-types.h:388
    +
    long long int linked_chat_id
    Definition telebot-types.h:398
    +
    bool is_direct_messages
    Definition telebot-types.h:252
    +
    bool has_visible_history
    Definition telebot-types.h:376
    +
    struct telebot_chat_location * location
    Definition telebot-types.h:404
    +
    long long int id
    Definition telebot-types.h:231
    +
    char * title
    Definition telebot-types.h:237
    +
    char * custom_emoji_sticker_set_name
    Definition telebot-types.h:391
    +
    struct telebot_chat_permissions * permissions
    Definition telebot-types.h:346
    +
    int unrestrict_boost_count
    Definition telebot-types.h:355
    +
    char * type
    Definition telebot-types.h:234
    +
    char * last_name
    Definition telebot-types.h:246
    +
    int message_auto_delete_time
    Definition telebot-types.h:361
    +
    struct telebot_business_location * business_location
    Definition telebot-types.h:276
    +
    int max_reaction_count
    Definition telebot-types.h:258
    +
    struct telebot_chat * parent_chat
    Definition telebot-types.h:285
    +
    bool has_restricted_voice_and_video_messages
    Definition telebot-types.h:311
    +
    struct telebot_birthdate * birthdate
    Definition telebot-types.h:270
    +
    int accent_color_id
    Definition telebot-types.h:255
    +
    char * invite_link
    Definition telebot-types.h:335
    +
    int slow_mode_delay
    Definition telebot-types.h:352
    +
    struct telebot_business_opening_hours * business_opening_hours
    Definition telebot-types.h:279
    +
    char * username
    Definition telebot-types.h:240
    +
    char * first_name
    Definition telebot-types.h:243
    +
    char * description
    Definition telebot-types.h:329
    +
    struct telebot_chat * personal_chat
    Definition telebot-types.h:282
    +
    bool has_hidden_members
    Definition telebot-types.h:367
    +
    char ** active_usernames
    Definition telebot-types.h:266
    +
    bool join_by_request
    Definition telebot-types.h:323
    +
    struct telebot_message * pinned_message
    Definition telebot-types.h:340
    +
    char * emoji_status_custom_emoji_id
    Definition telebot-types.h:291
    +
    bool join_to_send_messages
    Definition telebot-types.h:317
    +
    bool is_forum
    Definition telebot-types.h:249
    +
    struct telebot_business_intro * business_intro
    Definition telebot-types.h:273
    +
    char * bio
    Definition telebot-types.h:297
    +
    bool has_private_forwards
    Definition telebot-types.h:304
    +
    Represents a result of an inline query that was chosen by the user and sent to their chat partner.
    Definition telebot-types.h:3155
    +
    struct telebot_location * location
    Definition telebot-types.h:3163
    +
    struct telebot_user * from
    Definition telebot-types.h:3160
    +
    char * result_id
    Definition telebot-types.h:3157
    +
    char * inline_message_id
    Definition telebot-types.h:3170
    +
    char * query
    Definition telebot-types.h:3173
    +
    This object represents a phone contact.
    Definition telebot-types.h:2447
    +
    char * vcard
    Definition telebot-types.h:2461
    +
    char * last_name
    Definition telebot-types.h:2455
    +
    int user_id
    Definition telebot-types.h:2458
    +
    char * phone_number
    Definition telebot-types.h:2449
    +
    char * first_name
    Definition telebot-types.h:2452
    +
    This object represents an inline keyboard button that copies specified text to the clipboard.
    Definition telebot-types.h:781
    +
    char * text
    Definition telebot-types.h:783
    +
    This object represents a dice with random value from 1 to 6.
    Definition telebot-types.h:2574
    +
    int value
    Definition telebot-types.h:2576
    +
    This object represents a general file (as opposed to photos, voice messages and audio files).
    Definition telebot-types.h:2301
    +
    char * file_name
    Definition telebot-types.h:2315
    +
    char * file_unique_id
    Definition telebot-types.h:2309
    +
    char * file_id
    Definition telebot-types.h:2303
    +
    int file_size
    Definition telebot-types.h:2321
    +
    struct telebot_photo * thumb
    Definition telebot-types.h:2312
    +
    char * mime_type
    Definition telebot-types.h:2318
    +
    This object represents credentials required to decrypt the data.
    Definition telebot-types.h:605
    +
    char * secret
    Definition telebot-types.h:613
    +
    char * data
    Definition telebot-types.h:607
    +
    char * hash
    Definition telebot-types.h:610
    +
    This object represents one element of the Telegram Passport data.
    Definition telebot-types.h:560
    +
    struct telebot_passport_file * files
    Definition telebot-types.h:582
    +
    char * type
    Definition telebot-types.h:567
    +
    char * email
    Definition telebot-types.h:579
    +
    char * phone_number
    Definition telebot-types.h:576
    +
    char * data
    Definition telebot-types.h:573
    +
    struct telebot_passport_file * translation
    Definition telebot-types.h:595
    +
    char * hash
    Definition telebot-types.h:599
    +
    struct telebot_passport_file * reverse_side
    Definition telebot-types.h:589
    +
    struct telebot_passport_file * front_side
    Definition telebot-types.h:586
    +
    struct telebot_passport_file * selfie
    Definition telebot-types.h:592
    +
    This object contains information about the message that is being replied to, which may come from anot...
    Definition telebot-types.h:1205
    +
    struct telebot_link_preview_options * link_preview_options
    Definition telebot-types.h:1216
    +
    struct telebot_video_note * video_note
    Definition telebot-types.h:1244
    +
    struct telebot_dice * dice
    Definition telebot-types.h:1256
    +
    struct telebot_game * game
    Definition telebot-types.h:1259
    +
    struct telebot_document * document
    Definition telebot-types.h:1225
    +
    struct telebot_animation * animation
    Definition telebot-types.h:1219
    +
    struct telebot_video * video
    Definition telebot-types.h:1241
    +
    struct telebot_poll * poll
    Definition telebot-types.h:1274
    +
    int message_id
    Definition telebot-types.h:1213
    +
    struct telebot_sticker * sticker
    Definition telebot-types.h:1235
    +
    struct telebot_giveaway * giveaway
    Definition telebot-types.h:1262
    +
    struct telebot_paid_media_info * paid_media
    Definition telebot-types.h:1228
    +
    struct telebot_chat * chat
    Definition telebot-types.h:1210
    +
    struct telebot_message_origin origin
    Definition telebot-types.h:1207
    +
    struct telebot_photo * photos
    Definition telebot-types.h:1231
    +
    struct telebot_invoice * invoice
    Definition telebot-types.h:1268
    +
    struct telebot_audio * audio
    Definition telebot-types.h:1222
    +
    bool has_media_spoiler
    Definition telebot-types.h:1250
    +
    struct telebot_location * location
    Definition telebot-types.h:1271
    +
    struct telebot_contact * contact
    Definition telebot-types.h:1253
    +
    struct telebot_venue * venue
    Definition telebot-types.h:1277
    +
    struct telebot_story * story
    Definition telebot-types.h:1238
    +
    struct telebot_giveaway_winners * giveaway_winners
    Definition telebot-types.h:1265
    +
    struct telebot_voice * voice
    Definition telebot-types.h:1247
    +
    This object represents a file ready to be downloaded.
    Definition telebot-types.h:2602
    +
    int file_size
    Definition telebot-types.h:2613
    +
    char * file_id
    Definition telebot-types.h:2604
    +
    char * file_path
    Definition telebot-types.h:2616
    +
    char * file_unique_id
    Definition telebot-types.h:2610
    +
    Upon receiving a message with this object, Telegram clients will display a reply interface to the use...
    Definition telebot-types.h:2885
    +
    bool selective
    Definition telebot-types.h:2899
    +
    bool force_reply
    Definition telebot-types.h:2890
    +
    This object represents a service message about a forum topic closed in the chat.
    Definition telebot-types.h:666
    +
    bool dummy
    Definition telebot-types.h:668
    +
    This object represents a service message about a new forum topic created in the chat.
    Definition telebot-types.h:651
    +
    char * name
    Definition telebot-types.h:653
    +
    int icon_color
    Definition telebot-types.h:656
    +
    char * icon_custom_emoji_id
    Definition telebot-types.h:659
    +
    This object represents a service message about a forum topic edited in the chat.
    Definition telebot-types.h:875
    +
    char * icon_custom_emoji_id
    Definition telebot-types.h:880
    +
    char * name
    Definition telebot-types.h:877
    +
    This object represents a service message about a forum topic reopened in the chat.
    Definition telebot-types.h:675
    +
    bool dummy
    Definition telebot-types.h:677
    +
    This object represents a forum topic.
    Definition telebot-types.h:3292
    +
    char * name
    Definition telebot-types.h:3297
    +
    char * icon_custom_emoji_id
    Definition telebot-types.h:3303
    +
    int message_thread_id
    Definition telebot-types.h:3294
    +
    int icon_color
    Definition telebot-types.h:3300
    +
    This object represents a game high score row.
    Definition telebot-types.h:1763
    +
    struct telebot_user * user
    Definition telebot-types.h:1768
    +
    int score
    Definition telebot-types.h:1771
    +
    int position
    Definition telebot-types.h:1765
    +
    This object represents a game.
    Definition telebot-types.h:410
    +
    char * text
    Definition telebot-types.h:427
    +
    struct telebot_animation * animation
    Definition telebot-types.h:439
    +
    struct telebot_photo * photo
    Definition telebot-types.h:418
    +
    char * title
    Definition telebot-types.h:412
    +
    int count_photo
    Definition telebot-types.h:421
    +
    char * description
    Definition telebot-types.h:415
    +
    struct telebot_message_entity * text_entities
    Definition telebot-types.h:433
    +
    This object represents a service message about a general forum topic hidden in the chat.
    Definition telebot-types.h:887
    +
    bool dummy
    Definition telebot-types.h:889
    +
    This object represents a service message about a general forum topic unhidden in the chat.
    Definition telebot-types.h:896
    +
    bool dummy
    Definition telebot-types.h:898
    +
    Describes a regular gift that was sent or received.
    Definition telebot-types.h:1500
    +
    bool is_private
    Definition telebot-types.h:1512
    +
    struct telebot_message_entity * entities
    Definition telebot-types.h:1508
    +
    char * text
    Definition telebot-types.h:1505
    +
    struct telebot_gift gift
    Definition telebot-types.h:1502
    +
    This object represents a gift that can be sent by the bot.
    Definition telebot-types.h:1471
    +
    int upgrade_star_count
    Definition telebot-types.h:1482
    +
    int remaining_count
    Definition telebot-types.h:1494
    +
    int total_count
    Definition telebot-types.h:1491
    +
    int star_count
    Definition telebot-types.h:1479
    +
    char * id
    Definition telebot-types.h:1473
    +
    bool is_premium
    Definition telebot-types.h:1485
    +
    bool has_colors
    Definition telebot-types.h:1488
    +
    struct telebot_sticker * sticker
    Definition telebot-types.h:1476
    +
    This object represent a list of gifts.
    Definition telebot-types.h:2222
    +
    int count
    Definition telebot-types.h:2226
    +
    telebot_gift_t * gifts
    Definition telebot-types.h:2224
    +
    This object represents a service message about the completion of a giveaway without public winners.
    Definition telebot-types.h:1577
    +
    int unclaimed_prize_count
    Definition telebot-types.h:1582
    +
    bool is_star_giveaway
    Definition telebot-types.h:1588
    +
    struct telebot_message * giveaway_message
    Definition telebot-types.h:1585
    +
    int winner_count
    Definition telebot-types.h:1579
    +
    This object represents a service message about the creation of a scheduled giveaway.
    Definition telebot-types.h:1568
    +
    int prize_star_count
    Definition telebot-types.h:1570
    +
    This object represents a message about the completion of a giveaway with public winners.
    Definition telebot-types.h:1374
    +
    long winners_selection_date
    Definition telebot-types.h:1382
    +
    int giveaway_message_id
    Definition telebot-types.h:1379
    +
    int premium_subscription_month_count
    Definition telebot-types.h:1398
    +
    bool only_new_members
    Definition telebot-types.h:1404
    +
    char * prize_description
    Definition telebot-types.h:1410
    +
    struct telebot_user * winners
    Definition telebot-types.h:1388
    +
    struct telebot_chat * chat
    Definition telebot-types.h:1376
    +
    bool was_refunded
    Definition telebot-types.h:1407
    +
    int unclaimed_prize_count
    Definition telebot-types.h:1401
    +
    int additional_chat_count
    Definition telebot-types.h:1392
    +
    int prize_star_count
    Definition telebot-types.h:1395
    +
    int winner_count
    Definition telebot-types.h:1385
    +
    This object represents a message about a scheduled giveaway.
    Definition telebot-types.h:1339
    +
    char ** country_codes
    Definition telebot-types.h:1360
    +
    bool only_new_members
    Definition telebot-types.h:1351
    +
    int prize_star_count
    Definition telebot-types.h:1364
    +
    char * prize_description
    Definition telebot-types.h:1357
    +
    int premium_subscription_month_count
    Definition telebot-types.h:1367
    +
    bool has_public_winners
    Definition telebot-types.h:1354
    +
    struct telebot_chat * chats
    Definition telebot-types.h:1341
    +
    long winners_selection_date
    Definition telebot-types.h:1345
    +
    int winner_count
    Definition telebot-types.h:1348
    +
    This object represents one button of an inline keyboard. You must use exactly one of the optional fie...
    Definition telebot-types.h:790
    +
    bool pay
    Definition telebot-types.h:850
    +
    struct telebot_login_url * login_url
    Definition telebot-types.h:812
    +
    struct telebot_callback_game * callback_game
    Definition telebot-types.h:844
    +
    char * callback_data
    Definition telebot-types.h:801
    +
    char * switch_inline_query
    Definition telebot-types.h:820
    +
    char * switch_inline_query_current_chat
    Definition telebot-types.h:827
    +
    char * url
    Definition telebot-types.h:795
    +
    struct telebot_copy_text_button * copy_text
    Definition telebot-types.h:838
    +
    struct telebot_switch_inline_query_chosen_chat * switch_inline_query_chosen_chat
    Definition telebot-types.h:833
    +
    char * text
    Definition telebot-types.h:792
    +
    struct telebot_web_app_info * web_app
    Definition telebot-types.h:807
    +
    This object represents an inline keyboard that appears right next to the message it belongs to.
    Definition telebot-types.h:857
    +
    int cols
    Definition telebot-types.h:868
    +
    telebot_inline_keyboard_button_t * inline_keyboard
    Definition telebot-types.h:862
    +
    int rows
    Definition telebot-types.h:865
    +
    This object represents an incoming inline query. When the user sends an empty query,...
    Definition telebot-types.h:3131
    +
    struct telebot_location * location
    Definition telebot-types.h:3148
    +
    struct telebot_user * from
    Definition telebot-types.h:3136
    +
    char * query
    Definition telebot-types.h:3139
    +
    char * chat_type
    Definition telebot-types.h:3145
    +
    char * offset
    Definition telebot-types.h:3142
    +
    char * id
    Definition telebot-types.h:3133
    +
    This object contains basic information about an invoice.
    Definition telebot-types.h:485
    +
    char * start_parameter
    Definition telebot-types.h:496
    +
    char * currency
    Definition telebot-types.h:499
    +
    char * description
    Definition telebot-types.h:490
    +
    char * title
    Definition telebot-types.h:487
    +
    int total_amount
    Definition telebot-types.h:505
    +
    This object represents type of a poll, which is allowed to be created and sent when the corresponding...
    Definition telebot-types.h:2623
    +
    char * type
    Definition telebot-types.h:2630
    +
    This object defines the criteria used to request a suitable chat.
    Definition telebot-types.h:2662
    +
    bool request_username
    Definition telebot-types.h:2691
    +
    bool chat_is_channel
    Definition telebot-types.h:2667
    +
    bool request_photo
    Definition telebot-types.h:2694
    +
    bool chat_is_forum
    Definition telebot-types.h:2670
    +
    bool bot_is_member
    Definition telebot-types.h:2685
    +
    int request_id
    Definition telebot-types.h:2664
    +
    struct telebot_chat_administrator_rights * user_administrator_rights
    Definition telebot-types.h:2679
    +
    bool chat_has_username
    Definition telebot-types.h:2673
    +
    bool request_title
    Definition telebot-types.h:2688
    +
    bool chat_is_created
    Definition telebot-types.h:2676
    +
    struct telebot_chat_administrator_rights * bot_administrator_rights
    Definition telebot-types.h:2682
    +
    This object defines the criteria used to request suitable users.
    Definition telebot-types.h:2636
    +
    bool request_photo
    Definition telebot-types.h:2656
    +
    bool user_is_premium
    Definition telebot-types.h:2644
    +
    int request_id
    Definition telebot-types.h:2638
    +
    bool request_username
    Definition telebot-types.h:2653
    +
    bool request_name
    Definition telebot-types.h:2650
    +
    int max_quantity
    Definition telebot-types.h:2647
    +
    bool user_is_bot
    Definition telebot-types.h:2641
    +
    This object represents one button of the reply keyboard. For simple text buttons String can be used i...
    Definition telebot-types.h:2711
    +
    bool request_contact
    Definition telebot-types.h:2736
    +
    char * text
    Definition telebot-types.h:2716
    +
    struct telebot_web_app_info * web_app
    Definition telebot-types.h:2754
    +
    struct telebot_keyboard_button_request_users * request_users
    Definition telebot-types.h:2723
    +
    struct telebot_keyboard_button_request_chat * request_chat
    Definition telebot-types.h:2730
    +
    telebot_keyboard_button_poll_type_t * request_poll
    Definition telebot-types.h:2747
    +
    bool request_location
    Definition telebot-types.h:2741
    + + + + + + +
    This object represents a point on the map.
    Definition telebot-types.h:2468
    +
    float longitude
    Definition telebot-types.h:2470
    +
    float latitude
    Definition telebot-types.h:2473
    +
    This object represents a parameter of the inline keyboard button used to automatically authorize a us...
    Definition telebot-types.h:742
    +
    char * bot_username
    Definition telebot-types.h:750
    +
    char * forward_text
    Definition telebot-types.h:747
    +
    bool request_write_access
    Definition telebot-types.h:753
    +
    char * url
    Definition telebot-types.h:744
    +
    This object describes the position on faces where a mask should be placed by default.
    Definition telebot-types.h:3226
    +
    char * point
    Definition telebot-types.h:3231
    +
    float y_shift
    Definition telebot-types.h:3245
    +
    float scale
    Definition telebot-types.h:3248
    +
    float x_shift
    Definition telebot-types.h:3238
    +
    This object represents a service message about a change in auto-delete timer settings.
    Definition telebot-types.h:3481
    +
    int message_auto_delete_time
    Definition telebot-types.h:3483
    +
    This object represents one special entity in a text message. For example, hashtags,...
    Definition telebot-types.h:2132
    +
    char * language
    Definition telebot-types.h:2157
    +
    int length
    Definition telebot-types.h:2145
    +
    telebot_user_t * user
    Definition telebot-types.h:2154
    +
    int offset
    Definition telebot-types.h:2142
    +
    char * url
    Definition telebot-types.h:2151
    +
    char * type
    Definition telebot-types.h:2139
    +
    This object describes the origin of a message.
    Definition telebot-types.h:1148
    +
    char * type
    Definition telebot-types.h:1150
    +
    char * author_signature
    Definition telebot-types.h:1165
    +
    struct telebot_chat * sender_chat
    Definition telebot-types.h:1162
    +
    int message_id
    Definition telebot-types.h:1168
    +
    long date
    Definition telebot-types.h:1153
    +
    char * sender_user_name
    Definition telebot-types.h:1159
    +
    struct telebot_user * sender_user
    Definition telebot-types.h:1156
    +
    This object represents reaction changes on a message with anonymous reactions.
    Definition telebot-types.h:1049
    +
    int message_id
    Definition telebot-types.h:1054
    +
    long date
    Definition telebot-types.h:1057
    +
    struct telebot_chat * chat
    Definition telebot-types.h:1051
    +
    struct telebot_reaction_count * reactions
    Definition telebot-types.h:1060
    +
    This object represents a change of a reaction on a message performed by a user.
    Definition telebot-types.h:1020
    +
    struct telebot_chat * actor_chat
    Definition telebot-types.h:1031
    +
    struct telebot_reaction_type * new_reaction
    Definition telebot-types.h:1041
    +
    struct telebot_user * user
    Definition telebot-types.h:1028
    +
    long date
    Definition telebot-types.h:1034
    +
    struct telebot_chat * chat
    Definition telebot-types.h:1022
    +
    int message_id
    Definition telebot-types.h:1025
    +
    struct telebot_reaction_type * old_reaction
    Definition telebot-types.h:1037
    +
    This object represents a message.
    Definition telebot-types.h:1777
    +
    bool group_chat_created
    Definition telebot-types.h:2001
    +
    struct telebot_voice * voice
    Definition telebot-types.h:1943
    +
    char * effect_id
    Definition telebot-types.h:1911
    +
    struct telebot_message * reply_to_message
    Definition telebot-types.h:1865
    +
    struct telebot_forum_topic_edited * forum_topic_edited
    Definition telebot-types.h:2065
    +
    struct telebot_video_chat_scheduled * video_chat_scheduled
    Definition telebot-types.h:2080
    +
    struct telebot_video * video
    Definition telebot-types.h:1937
    +
    struct telebot_invoice * invoice
    Definition telebot-types.h:2035
    +
    bool is_paid_post
    Definition telebot-types.h:1886
    +
    struct telebot_forum_topic_created * forum_topic_created
    Definition telebot-types.h:2062
    +
    char * business_connection_id
    Definition telebot-types.h:1807
    +
    struct telebot_audio * audio
    Definition telebot-types.h:1921
    +
    struct telebot_giveaway_created * giveaway_created
    Definition telebot-types.h:2113
    +
    struct telebot_poll * poll
    Definition telebot-types.h:1968
    +
    struct telebot_contact * contact
    Definition telebot-types.h:1959
    +
    char * forward_sender_name
    Definition telebot-types.h:1843
    +
    char * connected_website
    Definition telebot-types.h:2050
    +
    struct telebot_users_shared * users_shared
    Definition telebot-types.h:2095
    +
    struct telebot_user * forward_from
    Definition telebot-types.h:1819
    +
    struct telebot_game * game
    Definition telebot-types.h:1965
    +
    struct telebot_message_origin * forward_origin
    Definition telebot-types.h:1816
    +
    struct telebot_link_preview_options * link_preview_options
    Definition telebot-types.h:1908
    +
    struct telebot_message_auto_delete_timer_changed * message_auto_delete_timer_changed
    Definition telebot-types.h:2010
    +
    bool has_protected_content
    Definition telebot-types.h:1883
    +
    struct telebot_video_chat_ended * video_chat_ended
    Definition telebot-types.h:2086
    +
    struct telebot_chat_boost_added * boost_added
    Definition telebot-types.h:2107
    +
    long long int migrate_from_chat_id
    Definition telebot-types.h:2022
    +
    bool channel_chat_created
    Definition telebot-types.h:2007
    +
    struct telebot_video_note * video_note
    Definition telebot-types.h:1940
    +
    struct telebot_proximity_alert_triggered * proximity_alert_triggered
    Definition telebot-types.h:2059
    +
    struct telebot_photo * photos
    Definition telebot-types.h:1930
    +
    struct telebot_user * left_chat_members
    Definition telebot-types.h:1987
    +
    struct telebot_text_quote * quote
    Definition telebot-types.h:1871
    +
    char * caption
    Definition telebot-types.h:1946
    +
    struct telebot_passport_data * passport_data
    Definition telebot-types.h:2053
    +
    struct telebot_user * sender_business_bot
    Definition telebot-types.h:1804
    +
    struct telebot_message_entity * caption_entities
    Definition telebot-types.h:1952
    +
    struct telebot_refunded_payment * refunded_payment
    Definition telebot-types.h:2044
    +
    struct telebot_story * reply_to_story
    Definition telebot-types.h:1874
    +
    long edit_date
    Definition telebot-types.h:1880
    +
    struct telebot_successful_payment * successful_payment
    Definition telebot-types.h:2041
    +
    struct telebot_animation * animation
    Definition telebot-types.h:1918
    +
    struct telebot_paid_media_info * paid_media
    Definition telebot-types.h:1927
    +
    struct telebot_general_forum_topic_unhidden * general_forum_topic_unhidden
    Definition telebot-types.h:2077
    +
    struct telebot_chat * sender_chat
    Definition telebot-types.h:1798
    +
    char * media_group_id
    Definition telebot-types.h:1892
    +
    struct telebot_document * document
    Definition telebot-types.h:1924
    +
    bool show_caption_above_media
    Definition telebot-types.h:1956
    +
    bool is_automatic_forward
    Definition telebot-types.h:1858
    +
    struct telebot_user * new_chat_members
    Definition telebot-types.h:1980
    +
    char * author_signature
    Definition telebot-types.h:1895
    +
    struct telebot_general_forum_topic_hidden * general_forum_topic_hidden
    Definition telebot-types.h:2074
    +
    struct telebot_sticker * sticker
    Definition telebot-types.h:1934
    +
    struct telebot_dice * dice
    Definition telebot-types.h:1962
    +
    long forward_date
    Definition telebot-types.h:1849
    +
    int message_thread_id
    Definition telebot-types.h:1785
    +
    struct telebot_forum_topic_reopened * forum_topic_reopened
    Definition telebot-types.h:2071
    +
    bool delete_chat_photo
    Definition telebot-types.h:1998
    +
    struct telebot_photo * new_chat_photos
    Definition telebot-types.h:1994
    +
    struct telebot_user * from
    Definition telebot-types.h:1788
    +
    char * forward_signature
    Definition telebot-types.h:1837
    +
    struct telebot_message * pinned_message
    Definition telebot-types.h:2029
    +
    long date
    Definition telebot-types.h:1810
    +
    struct telebot_unique_gift_info * unique_gift
    Definition telebot-types.h:2104
    +
    bool has_media_spoiler
    Definition telebot-types.h:2119
    +
    struct telebot_web_app_data * web_app_data
    Definition telebot-types.h:2092
    +
    struct telebot_video_chat_participants_invited * video_chat_participants_invited
    Definition telebot-types.h:2089
    +
    struct telebot_inline_keyboard_markup * reply_markup
    Definition telebot-types.h:2125
    +
    struct telebot_external_reply_info * external_reply
    Definition telebot-types.h:1868
    +
    long long int migrate_to_chat_id
    Definition telebot-types.h:2016
    +
    struct telebot_chat * chat
    Definition telebot-types.h:1813
    +
    struct telebot_location * location
    Definition telebot-types.h:1974
    +
    char * new_chat_title
    Definition telebot-types.h:1991
    +
    struct telebot_venue * venue
    Definition telebot-types.h:1971
    +
    struct telebot_giveaway_completed * giveaway_completed
    Definition telebot-types.h:2116
    +
    char * text
    Definition telebot-types.h:1898
    +
    int sender_boost_count
    Definition telebot-types.h:1801
    +
    int forward_from_message_id
    Definition telebot-types.h:1831
    +
    struct telebot_user * via_bot
    Definition telebot-types.h:1877
    +
    struct telebot_forum_topic_closed * forum_topic_closed
    Definition telebot-types.h:2068
    +
    struct telebot_video_chat_started * video_chat_started
    Definition telebot-types.h:2083
    +
    struct telebot_message_entity * entities
    Definition telebot-types.h:1904
    +
    bool is_topic_message
    Definition telebot-types.h:1852
    +
    struct telebot_chat * forward_from_chat
    Definition telebot-types.h:1825
    +
    int message_id
    Definition telebot-types.h:1779
    +
    struct telebot_gift_info * gift
    Definition telebot-types.h:2101
    +
    struct telebot_chat_background * chat_background_set
    Definition telebot-types.h:2110
    +
    struct telebot_write_access_allowed * write_access_allowed
    Definition telebot-types.h:2047
    +
    struct telebot_chat_shared * chat_shared
    Definition telebot-types.h:2098
    +
    bool supergroup_chat_created
    Definition telebot-types.h:2004
    +
    This object represents information about an order.
    Definition telebot-types.h:468
    +
    char * phone_number
    Definition telebot-types.h:473
    +
    char * email
    Definition telebot-types.h:476
    +
    struct telebot_shipping_address * shipping_address
    Definition telebot-types.h:479
    +
    char * name
    Definition telebot-types.h:470
    +
    Describes the paid media added to a message.
    Definition telebot-types.h:1327
    +
    struct telebot_paid_media * paid_media
    Definition telebot-types.h:1332
    +
    int star_count
    Definition telebot-types.h:1329
    +
    This object contains information about a paid media purchase.
    Definition telebot-types.h:1722
    +
    struct telebot_user * from
    Definition telebot-types.h:1724
    +
    char * paid_media_payload
    Definition telebot-types.h:1727
    +
    This object describes paid media.
    Definition telebot-types.h:1303
    +
    int duration
    Definition telebot-types.h:1314
    +
    char * type
    Definition telebot-types.h:1305
    +
    struct telebot_photo * photos
    Definition telebot-types.h:1317
    +
    int width
    Definition telebot-types.h:1308
    +
    int height
    Definition telebot-types.h:1311
    +
    struct telebot_video * video
    Definition telebot-types.h:1321
    +
    Contains information about Telegram Passport data which was shared with the bot by the user.
    Definition telebot-types.h:620
    +
    struct telebot_encrypted_credentials * credentials
    Definition telebot-types.h:629
    +
    struct telebot_encrypted_passport_element * data
    Definition telebot-types.h:625
    +
    This object represents an error in the Telegram Passport element.
    Definition telebot-types.h:1733
    +
    char * file_hash
    Definition telebot-types.h:1750
    +
    char * type
    Definition telebot-types.h:1738
    +
    char * field_name
    Definition telebot-types.h:1741
    +
    char * source
    Definition telebot-types.h:1735
    +
    char ** file_hashes
    Definition telebot-types.h:1753
    +
    char * data_hash
    Definition telebot-types.h:1744
    +
    char * element_hash
    Definition telebot-types.h:1757
    +
    char * message
    Definition telebot-types.h:1747
    +
    This object represents an internal identifier of a user in Telegram Passport.
    Definition telebot-types.h:540
    +
    char * file_unique_id
    Definition telebot-types.h:548
    +
    int file_size
    Definition telebot-types.h:551
    +
    char * file_id
    Definition telebot-types.h:542
    +
    long date
    Definition telebot-types.h:554
    +
    This object represents one size of a photo or a file / sticker thumbnail.
    Definition telebot-types.h:2165
    +
    char * file_unique_id
    Definition telebot-types.h:2173
    +
    int width
    Definition telebot-types.h:2176
    +
    int height
    Definition telebot-types.h:2179
    +
    int file_size
    Definition telebot-types.h:2182
    +
    char * file_id
    Definition telebot-types.h:2167
    +
    This object represents an answer of a user in a non-anonymous poll.
    Definition telebot-types.h:2515
    +
    struct telebot_user * user
    Definition telebot-types.h:2520
    +
    int * option_ids
    Definition telebot-types.h:2526
    +
    char * poll_id
    Definition telebot-types.h:2517
    +
    This object contains information about one answer option in a poll.
    Definition telebot-types.h:2504
    +
    char * text
    Definition telebot-types.h:2506
    +
    int voter_count
    Definition telebot-types.h:2509
    +
    This object contains information about a poll.
    Definition telebot-types.h:2535
    +
    bool is_anonymous
    Definition telebot-types.h:2555
    +
    int correct_option_id
    Definition telebot-types.h:2568
    +
    char * id
    Definition telebot-types.h:2537
    +
    char * question
    Definition telebot-types.h:2540
    +
    telebot_poll_option_t * options
    Definition telebot-types.h:2543
    +
    int total_voter_count
    Definition telebot-types.h:2549
    +
    bool allows_multiple_answers
    Definition telebot-types.h:2561
    +
    bool is_closed
    Definition telebot-types.h:2552
    +
    char * type
    Definition telebot-types.h:2558
    +
    This object contains information about an incoming pre-checkout query.
    Definition telebot-types.h:3196
    +
    struct telebot_user * from
    Definition telebot-types.h:3201
    +
    char * currency
    Definition telebot-types.h:3204
    +
    int total_amount
    Definition telebot-types.h:3210
    +
    char * id
    Definition telebot-types.h:3198
    +
    char * invoice_payload
    Definition telebot-types.h:3213
    +
    char * shipping_option_id
    Definition telebot-types.h:3216
    +
    struct telebot_order_info * order_info
    Definition telebot-types.h:3219
    +
    This object represents a prepared inline message.
    Definition telebot-types.h:3309
    +
    long expiration_date
    Definition telebot-types.h:3314
    +
    char * id
    Definition telebot-types.h:3311
    +
    This object represents a service message about a user in the chat triggered another user's proximity ...
    Definition telebot-types.h:636
    +
    struct telebot_user * traveler
    Definition telebot-types.h:638
    +
    int distance
    Definition telebot-types.h:644
    +
    struct telebot_user * watcher
    Definition telebot-types.h:641
    +
    This object represents a reaction count.
    Definition telebot-types.h:1081
    +
    int total_count
    Definition telebot-types.h:1086
    +
    struct telebot_reaction_type type
    Definition telebot-types.h:1083
    +
    This object represents a reaction type.
    Definition telebot-types.h:1067
    +
    char * custom_emoji_id
    Definition telebot-types.h:1075
    +
    char * type
    Definition telebot-types.h:1069
    +
    char * emoji
    Definition telebot-types.h:1072
    +
    This object represents a service message about a refunded payment.
    Definition telebot-types.h:1416
    +
    char * currency
    Definition telebot-types.h:1418
    +
    int total_amount
    Definition telebot-types.h:1421
    +
    char * provider_payment_charge_id
    Definition telebot-types.h:1430
    +
    char * telegram_payment_charge_id
    Definition telebot-types.h:1427
    +
    char * invoice_payload
    Definition telebot-types.h:1424
    +
    This object represents a custom keyboard with reply options.
    Definition telebot-types.h:2760
    +
    bool resize_keyboard
    Definition telebot-types.h:2785
    +
    bool is_persistent
    Definition telebot-types.h:2777
    +
    telebot_keyboard_button_t * keyboard
    Definition telebot-types.h:2765
    +
    bool selective
    Definition telebot-types.h:2802
    +
    bool one_time_keyboard
    Definition telebot-types.h:2794
    +
    Upon receiving a message with this object, Telegram clients will remove the current custom keyboard a...
    Definition telebot-types.h:2812
    +
    bool remove_keyboard
    Definition telebot-types.h:2818
    +
    bool selective
    Definition telebot-types.h:2826
    +
    Contains information about why a request was unsuccessful.
    Definition telebot-types.h:3110
    +
    int retry_after
    Definition telebot-types.h:3124
    +
    int migrate_to_chat_id
    Definition telebot-types.h:3118
    +
    This object describes the state of a revenue withdrawal operation.
    Definition telebot-types.h:1625
    +
    long date
    Definition telebot-types.h:1630
    +
    char * url
    Definition telebot-types.h:1633
    +
    char * type
    Definition telebot-types.h:1627
    +
    This object represents a message sent via a Web App.
    Definition telebot-types.h:3320
    +
    char * inline_message_id
    Definition telebot-types.h:3322
    +
    This object contains information about a user that was shared with the bot.
    Definition telebot-types.h:1450
    +
    char * username
    Definition telebot-types.h:1461
    +
    char * first_name
    Definition telebot-types.h:1455
    +
    struct telebot_photo * photo
    Definition telebot-types.h:1464
    +
    char * last_name
    Definition telebot-types.h:1458
    +
    long long int user_id
    Definition telebot-types.h:1452
    +
    This object represents a shipping address.
    Definition telebot-types.h:445
    +
    char * state
    Definition telebot-types.h:450
    +
    char * street_line1
    Definition telebot-types.h:456
    +
    char * street_line2
    Definition telebot-types.h:459
    +
    char * post_code
    Definition telebot-types.h:462
    +
    char * country_code
    Definition telebot-types.h:447
    +
    char * city
    Definition telebot-types.h:453
    +
    This object contains information about an incoming shipping query.
    Definition telebot-types.h:3179
    +
    char * invoice_payload
    Definition telebot-types.h:3187
    +
    struct telebot_shipping_address * shipping_address
    Definition telebot-types.h:3190
    +
    char * id
    Definition telebot-types.h:3181
    +
    struct telebot_user * from
    Definition telebot-types.h:3184
    +
    Describes an amount of Telegram Stars.
    Definition telebot-types.h:1594
    +
    int amount
    Definition telebot-types.h:1596
    +
    int nanostar_amount
    Definition telebot-types.h:1599
    +
    Describes a Telegram Star transaction.
    Definition telebot-types.h:1690
    +
    int amount
    Definition telebot-types.h:1695
    +
    struct telebot_transaction_partner * source
    Definition telebot-types.h:1704
    +
    struct telebot_transaction_partner * receiver
    Definition telebot-types.h:1707
    +
    long date
    Definition telebot-types.h:1701
    +
    char * id
    Definition telebot-types.h:1692
    +
    int nanostar_amount
    Definition telebot-types.h:1698
    +
    Contains a list of Telegram Star transactions.
    Definition telebot-types.h:1713
    +
    struct telebot_star_transaction * transactions
    Definition telebot-types.h:1715
    +
    This object represents a sticker.
    Definition telebot-types.h:3254
    +
    int width
    Definition telebot-types.h:3265
    +
    char * file_unique_id
    Definition telebot-types.h:3262
    +
    char * file_id
    Definition telebot-types.h:3256
    +
    struct telebot_mask_position * mask_position
    Definition telebot-types.h:3283
    +
    char * set_name
    Definition telebot-types.h:3280
    +
    char * emoji
    Definition telebot-types.h:3277
    +
    struct telebot_photo * thumb
    Definition telebot-types.h:3274
    +
    int height
    Definition telebot-types.h:3268
    +
    bool is_animated
    Definition telebot-types.h:3271
    +
    int file_size
    Definition telebot-types.h:3286
    +
    This object contains information about a story.
    Definition telebot-types.h:1193
    +
    struct telebot_chat * chat
    Definition telebot-types.h:1195
    +
    int id
    Definition telebot-types.h:1198
    +
    This object contains basic information about a successful payment.
    Definition telebot-types.h:511
    +
    int total_amount
    Definition telebot-types.h:519
    +
    char * shipping_option_id
    Definition telebot-types.h:525
    +
    char * telegram_payment_charge_id
    Definition telebot-types.h:531
    +
    char * invoice_payload
    Definition telebot-types.h:522
    +
    struct telebot_order_info * order_info
    Definition telebot-types.h:528
    +
    char * currency
    Definition telebot-types.h:513
    +
    char * provider_payment_charge_id
    Definition telebot-types.h:534
    +
    This object represents an inline button that switches the current user to inline mode in a chosen cha...
    Definition telebot-types.h:760
    +
    bool allow_bot_chats
    Definition telebot-types.h:768
    +
    char * query
    Definition telebot-types.h:762
    +
    bool allow_group_chats
    Definition telebot-types.h:771
    +
    bool allow_channel_chats
    Definition telebot-types.h:774
    +
    bool allow_user_chats
    Definition telebot-types.h:765
    +
    This object contains information about the quoted part of a message that is replied to by the given m...
    Definition telebot-types.h:1175
    +
    struct telebot_message_entity * entities
    Definition telebot-types.h:1180
    +
    int position
    Definition telebot-types.h:1184
    +
    bool is_manual
    Definition telebot-types.h:1187
    +
    char * text
    Definition telebot-types.h:1177
    +
    This object describes the source of a transaction.
    Definition telebot-types.h:1639
    +
    struct telebot_revenue_withdrawal_state * withdrawal_state
    Definition telebot-types.h:1675
    +
    int premium_subscription_duration
    Definition telebot-types.h:1672
    +
    struct telebot_affiliate_info * affiliate
    Definition telebot-types.h:1653
    +
    struct telebot_paid_media * paid_media
    Definition telebot-types.h:1662
    +
    struct telebot_gift * gift
    Definition telebot-types.h:1669
    +
    char * invoice_payload
    Definition telebot-types.h:1656
    +
    int subscription_period
    Definition telebot-types.h:1659
    +
    int commission_per_mille
    Definition telebot-types.h:1681
    +
    char * type
    Definition telebot-types.h:1641
    +
    struct telebot_chat * chat
    Definition telebot-types.h:1650
    +
    char * paid_media_payload
    Definition telebot-types.h:1666
    +
    int request_count
    Definition telebot-types.h:1684
    +
    char * transaction_type
    Definition telebot-types.h:1644
    +
    struct telebot_user * sponsor_user
    Definition telebot-types.h:1678
    +
    struct telebot_user * user
    Definition telebot-types.h:1647
    +
    Describes a unique gift that was sent or received.
    Definition telebot-types.h:1518
    +
    struct telebot_unique_gift * gift
    Definition telebot-types.h:1520
    +
    char * last_resale_currency
    Definition telebot-types.h:1526
    +
    long long int last_resale_amount
    Definition telebot-types.h:1529
    +
    char * origin
    Definition telebot-types.h:1523
    +
    This object describes a unique gift that was upgraded from a regular gift.
    Definition telebot-types.h:1535
    +
    char * gift_id
    Definition telebot-types.h:1537
    +
    int number
    Definition telebot-types.h:1543
    +
    struct telebot_sticker * sticker
    Definition telebot-types.h:1546
    +
    char * name
    Definition telebot-types.h:1540
    +
    This object represents an incoming update.
    Definition telebot-types.h:3328
    +
    telebot_message_t channel_post
    Definition telebot-types.h:3348
    +
    telebot_paid_media_purchased_t purchased_paid_media
    Definition telebot-types.h:3385
    +
    telebot_message_t business_message
    Definition telebot-types.h:3357
    +
    telebot_pre_checkout_query_t pre_checkout_query
    Definition telebot-types.h:3382
    +
    telebot_callback_query_t callback_query
    Definition telebot-types.h:3376
    +
    telebot_message_reaction_updated_t message_reaction
    Definition telebot-types.h:3409
    +
    telebot_message_t edited_message
    Definition telebot-types.h:3345
    +
    telebot_message_t edited_business_message
    Definition telebot-types.h:3360
    +
    telebot_business_connection_t business_connection
    Definition telebot-types.h:3354
    +
    telebot_chosen_inline_result_t chosen_inline_result
    Definition telebot-types.h:3373
    +
    telebot_business_messages_deleted_t deleted_business_messages
    Definition telebot-types.h:3363
    +
    telebot_chat_boost_removed_t chat_boost_removed
    Definition telebot-types.h:3418
    +
    telebot_update_type_e update_type
    Definition telebot-types.h:3338
    +
    telebot_chat_member_updated_t chat_member
    Definition telebot-types.h:3403
    +
    telebot_chat_member_updated_t my_chat_member
    Definition telebot-types.h:3400
    +
    telebot_message_t edited_channel_post
    Definition telebot-types.h:3351
    +
    telebot_poll_answer_t poll_answer
    Definition telebot-types.h:3397
    +
    telebot_message_reaction_count_updated_t message_reaction_count
    Definition telebot-types.h:3412
    +
    telebot_chat_boost_updated_t chat_boost
    Definition telebot-types.h:3415
    +
    telebot_chat_join_request_t chat_join_request
    Definition telebot-types.h:3406
    +
    telebot_poll_t poll
    Definition telebot-types.h:3391
    +
    int update_id
    Definition telebot-types.h:3333
    +
    telebot_message_t message
    Definition telebot-types.h:3342
    +
    telebot_shipping_query_t shipping_query
    Definition telebot-types.h:3379
    +
    telebot_inline_query_t inline_query
    Definition telebot-types.h:3366
    +
    This object represents a list of user chat boosts.
    Definition telebot-types.h:2290
    +
    telebot_chat_boost_t * boosts
    Definition telebot-types.h:2292
    +
    int count
    Definition telebot-types.h:2294
    +
    This object represents a gift received by a user.
    Definition telebot-types.h:2244
    +
    bool is_upgraded
    Definition telebot-types.h:2272
    +
    char * text
    Definition telebot-types.h:2252
    +
    long date
    Definition telebot-types.h:2263
    +
    telebot_gift_t * gift
    Definition telebot-types.h:2260
    +
    int upgrade_star_count
    Definition telebot-types.h:2269
    +
    struct telebot_user * sender_user
    Definition telebot-types.h:2249
    +
    int count_entities
    Definition telebot-types.h:2257
    +
    char * gift_id
    Definition telebot-types.h:2246
    +
    int message_id
    Definition telebot-types.h:2266
    +
    struct telebot_message_entity * entities
    Definition telebot-types.h:2255
    +
    This object represents a list of gifts received by a user.
    Definition telebot-types.h:2278
    +
    int count
    Definition telebot-types.h:2284
    +
    telebot_user_gift_t * gifts
    Definition telebot-types.h:2282
    +
    int total_count
    Definition telebot-types.h:2280
    +
    This object represents a list of user profile audios.
    Definition telebot-types.h:2232
    +
    int count
    Definition telebot-types.h:2238
    +
    telebot_audio_t * audios
    Definition telebot-types.h:2236
    +
    int total_count
    Definition telebot-types.h:2234
    +
    This object represent a user's profile pictures.
    Definition telebot-types.h:2582
    +
    struct telebot_photo * photos[4]
    Definition telebot-types.h:2590
    +
    int total_count
    Definition telebot-types.h:2584
    +
    int current_count
    Definition telebot-types.h:2587
    +
    This object contains information about the user whose identifier was shared with the bot using a Keyb...
    Definition telebot-types.h:915
    +
    long long int user_id
    Definition telebot-types.h:920
    +
    int request_id
    Definition telebot-types.h:917
    +
    This object represents a Telegram user or bot.
    Definition telebot-types.h:178
    +
    long long int id
    Definition telebot-types.h:180
    +
    bool allows_users_to_create_topics
    Definition telebot-types.h:222
    +
    bool has_main_web_app
    Definition telebot-types.h:216
    +
    bool can_connect_to_business
    Definition telebot-types.h:213
    +
    bool has_topics_enabled
    Definition telebot-types.h:219
    +
    char * last_name
    Definition telebot-types.h:189
    +
    bool can_join_groups
    Definition telebot-types.h:204
    +
    char * username
    Definition telebot-types.h:192
    +
    bool added_to_attachment_menu
    Definition telebot-types.h:201
    +
    bool is_premium
    Definition telebot-types.h:198
    +
    bool can_read_all_group_messages
    Definition telebot-types.h:207
    +
    char * language_code
    Definition telebot-types.h:195
    +
    bool supports_inline_queries
    Definition telebot-types.h:210
    +
    char * first_name
    Definition telebot-types.h:186
    +
    bool is_bot
    Definition telebot-types.h:183
    +
    This object contains information about the users whose identifiers were shared with the bot using a K...
    Definition telebot-types.h:1437
    +
    int request_id
    Definition telebot-types.h:1439
    +
    struct telebot_shared_user * users
    Definition telebot-types.h:1442
    +
    This object represents a venue.
    Definition telebot-types.h:2480
    +
    char * foursquare_id
    Definition telebot-types.h:2491
    +
    char * foursquare_type
    Definition telebot-types.h:2498
    +
    char * address
    Definition telebot-types.h:2488
    +
    char * title
    Definition telebot-types.h:2485
    +
    struct telebot_location * location
    Definition telebot-types.h:2482
    +
    This object represents a service message about a video chat ended in the chat.
    Definition telebot-types.h:702
    +
    int duration
    Definition telebot-types.h:704
    +
    This object represents a service message about new members invited to a video chat.
    Definition telebot-types.h:711
    +
    struct telebot_user * users
    Definition telebot-types.h:713
    +
    This object represents a service message about a video chat scheduled in the chat.
    Definition telebot-types.h:684
    +
    long start_date
    Definition telebot-types.h:686
    +
    This object represents a service message about a video chat started in the chat.
    Definition telebot-types.h:693
    +
    bool dummy
    Definition telebot-types.h:695
    +
    This object represents a video message (available in Telegram apps as of v.4.0).
    Definition telebot-types.h:2420
    +
    int length
    Definition telebot-types.h:2431
    +
    struct telebot_photo * thumb
    Definition telebot-types.h:2437
    +
    char * file_id
    Definition telebot-types.h:2422
    +
    int file_size
    Definition telebot-types.h:2440
    +
    char * file_unique_id
    Definition telebot-types.h:2428
    +
    int duration
    Definition telebot-types.h:2434
    +
    This object represents a video file.
    Definition telebot-types.h:2328
    +
    char * mime_type
    Definition telebot-types.h:2351
    +
    char * file_unique_id
    Definition telebot-types.h:2336
    +
    char * file_id
    Definition telebot-types.h:2330
    +
    int width
    Definition telebot-types.h:2339
    +
    struct telebot_photo * thumb
    Definition telebot-types.h:2348
    +
    int file_size
    Definition telebot-types.h:2354
    +
    int duration
    Definition telebot-types.h:2345
    +
    int height
    Definition telebot-types.h:2342
    +
    This object represents a voice note.
    Definition telebot-types.h:2395
    +
    char * file_unique_id
    Definition telebot-types.h:2403
    +
    char * mime_type
    Definition telebot-types.h:2409
    +
    char * file_id
    Definition telebot-types.h:2397
    +
    int duration
    Definition telebot-types.h:2406
    +
    int file_size
    Definition telebot-types.h:2412
    +
    This object represents data sent by a Web App to the bot.
    Definition telebot-types.h:720
    +
    char * button_text
    Definition telebot-types.h:728
    +
    char * data
    Definition telebot-types.h:722
    +
    Describes a Web App.
    Definition telebot-types.h:2700
    +
    char * url
    Definition telebot-types.h:2702
    +
    Thi object represetns information about the current status of a webhook.
    Definition telebot-types.h:3425
    +
    char * last_error_message
    Definition telebot-types.h:3445
    +
    telebot_update_type_e allowed_updates[TELEBOT_UPDATE_TYPE_MAX]
    Definition telebot-types.h:3457
    +
    int max_connections
    Definition telebot-types.h:3451
    +
    char * url
    Definition telebot-types.h:3427
    +
    bool has_custom_certificate
    Definition telebot-types.h:3430
    +
    long last_error_date
    Definition telebot-types.h:3439
    +
    int allowed_updates_count
    Definition telebot-types.h:3462
    +
    int pending_update_count
    Definition telebot-types.h:3433
    +
    This object represents a service message about a user allowing a bot to write messages after adding t...
    Definition telebot-types.h:906
    +
    char * web_app_name
    Definition telebot-types.h:908
    diff --git a/docs/telebot_8h.html b/docs/telebot_8h.html new file mode 100644 index 0000000..a65fa77 --- /dev/null +++ b/docs/telebot_8h.html @@ -0,0 +1,104 @@ + + + + + + + +Telebot: include/telebot.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    Telebot 9.4 +
    +
    Library for Telegram bot API
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    telebot.h File Reference
    +
    +
    + +

    This file includes all the header files of the telegram bot library. +More...

    +
    #include "telebot-common.h"
    +#include "telebot-types.h"
    +#include "telebot-methods.h"
    +#include "telebot-stickers.h"
    +#include "telebot-inline.h"
    +#include "telebot-payments.h"
    +#include "telebot-passport.h"
    +#include "telebot-games.h"
    +#include "telebot-forums.h"
    +
    +

    Go to the source code of this file.

    +

    Detailed Description

    +

    This file includes all the header files of the telegram bot library.

    +
    Author
    Elmurod Talipov
    +
    Date
    2026-02-28
    +
    + + + + diff --git a/docs/telebot_8h_source.html b/docs/telebot_8h_source.html index 0382f2a..1fe4a1c 100644 --- a/docs/telebot_8h_source.html +++ b/docs/telebot_8h_source.html @@ -1,9 +1,9 @@ - - + + - - + + Telebot: include/telebot.h Source File @@ -19,10 +19,9 @@
    - - + @@ -31,19 +30,28 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - + +
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    telebot.h
    +
    telebot.h
    -
    1 /*
    2  * telebot
    3  *
    4  * Copyright (c) 2015 Elmurod Talipov.
    5  *
    6  * Licensed under the Apache License, Version 2.0 (the License);
    7  * you may not use this file except in compliance with the License.
    8  * You may obtain a copy of the License at
    9  *
    10  * http://www.apache.org/licenses/LICENSE-2.0
    11  *
    12  * Unless required by applicable law or agreed to in writing, software
    13  * distributed under the License is distributed on an "AS IS" BASIS,
    14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    15  * See the License for the specific language governing permissions and
    16  * limitations under the License.
    17  */
    18 
    19 #ifndef __TELEBOT_H__
    20 #define __TELEBOT_H__
    21 
    22 #include "telebot-common.h"
    23 #include "telebot-types.h"
    24 #include "telebot-methods.h"
    25 
    26 #endif /* __TELEBOT_H__ */
    27 
    This file contains telegram bot common defintions.
    -
    This file contains types used to create telegram bot.
    -
    This file contains methods used to create telegram bot.
    +Go to the documentation of this file.
    1/*
    +
    2 * telebot
    +
    3 *
    +
    4 * Copyright (c) 2015 Elmurod Talipov.
    +
    5 *
    +
    6 * Licensed under the Apache License, Version 2.0 (the License);
    +
    7 * you may not use this file except in compliance with the License.
    +
    8 * You may obtain a copy of the License at
    +
    9 *
    +
    10 * http://www.apache.org/licenses/LICENSE-2.0
    +
    11 *
    +
    12 * Unless required by applicable law or agreed to in writing, software
    +
    13 * distributed under the License is distributed on an "AS IS" BASIS,
    +
    14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +
    15 * See the License for the specific language governing permissions and
    +
    16 * limitations under the License.
    +
    17 */
    +
    18
    +
    19#ifndef __TELEBOT_H__
    +
    20#define __TELEBOT_H__
    +
    21
    +
    30#include "telebot-common.h"
    +
    31#include "telebot-types.h"
    +
    32#include "telebot-methods.h"
    +
    33#include "telebot-stickers.h"
    +
    34#include "telebot-inline.h"
    +
    35#include "telebot-payments.h"
    +
    36#include "telebot-passport.h"
    +
    37#include "telebot-games.h"
    +
    38#include "telebot-forums.h"
    +
    39
    +
    40#endif /* __TELEBOT_H__ */
    +
    41
    +
    This file contains telegram bot common defintions.
    +
    This file contains forums feature of telegram bot.
    +
    This file contains games feature of telegram bot.
    +
    This file contains inline mode feature of telegram bot.
    +
    This file contains methods used to create telegram bot.
    +
    This file contains Telegram Passport feature of telegram bot.
    +
    This file contains payments feature of telegram bot.
    +
    This file contains stickers feature of telegram bot.
    +
    This file contains types used to create telegram bot.
    diff --git a/docs/modules.html b/docs/topics.html similarity index 57% rename from docs/modules.html rename to docs/topics.html index 4395681..3a299ca 100644 --- a/docs/modules.html +++ b/docs/topics.html @@ -1,11 +1,11 @@ - - + + - - + + -Telebot: Modules +Telebot: Topics @@ -19,10 +19,9 @@
    - - + @@ -31,17 +30,21 @@
    -
    Telebot -  4.7.0 +
    +
    Telebot 9.4
    Library for Telegram bot API
    - +
    @@ -54,28 +57,32 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Modules
    +
    Topics
    -
    Here is a list of all modules:
    +
    Here is a list of all topics with brief descriptions:
    - +
     Simple Telegram Bot APISimplified APIs to create telegram bot
     Core Telegram Bot APIThe APIs for the telegram bot interface, response is unparsed json sting
     Core Telegram Bot APIThe APIs for the telegram bot interface, response is unparsed json sting
    diff --git a/include/telebot-core.h b/include/telebot-core.h index 74be5b5..077bbfa 100644 --- a/include/telebot-core.h +++ b/include/telebot-core.h @@ -29,12 +29,11 @@ extern "C" #endif /** - * @file telebot-core-api.h + * @file telebot-core.h * @ingroup TELEBOT_CORE_API * @brief This file contains core API for the telegram bot interface * @author Elmurod Talipov - * @date 2020-04-19 - * @version 4.7.0 + * @date 2026-02-28 */ /** diff --git a/include/telebot.h b/include/telebot.h index 80e19c0..653c8b7 100644 --- a/include/telebot.h +++ b/include/telebot.h @@ -19,6 +19,14 @@ #ifndef __TELEBOT_H__ #define __TELEBOT_H__ +/** + * @file telebot.h + * @ingroup TELEBOT_API + * @brief This file includes all the header files of the telegram bot library + * @author Elmurod Talipov + * @date 2026-02-28 + */ + #include "telebot-common.h" #include "telebot-types.h" #include "telebot-methods.h"

    o;>vD=K3?!Xs70Sm2B0&=|gZ%)`U_xiz~4* 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

    WXk(YkR&fYohPAv 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ç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⁡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

    ABs)O_i&eA0NZpF?S*nQpQpt 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\Lck%T-xLkY`@vv$d46PvRDx?dQvvP5T-oM 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

    pU$3?RQibT~0_O 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℘L?5*Ve(kkPq< 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ℜ@SkUF?w!`H=*r4<=h;#)7goF7O{G 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ⅅMYk+2~~vgrf(!kw-q1 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%0A0q1C9=Msj=~_$iKQHu+?GP%l87u&a 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 literal 0 HcmV?d00001 diff --git a/test/samples/document.md b/test/samples/document.md new file mode 100644 index 0000000..228e2e1 --- /dev/null +++ b/test/samples/document.md @@ -0,0 +1,9 @@ +# Telebot Sample Document + +This is a sample markdown document used for testing the document sending feature of the telebot library. + +## Features tested +- Sending local files +- Inline keyboards +- Callback queries +- Bot command registration diff --git a/test/samples/logo.png b/test/samples/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4d88b2aa4a2d7e23510d08172c4f81b64ddb6c27 GIT binary patch literal 64951 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

    NXm((}|@49@s7{72x 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%0D@RQr;(ovPaP5NwHr%B&rYY#NS}E~_d<}D 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 z zbZ_iVR+28r()kS~zgrC2+5_$LQXJH6zai5X^KT7kFda(5?l*sNJNzL2ogP;kg7>VP zUQ}*(!$%vOaX57)HDruv*vfd`YK#FlAA?rBuD;t#BsQmOOe}gaiW>iKc3oxs3?X?| zkWpmTH|1`3k;zAebPVl(+wT{(J|0zIQ}D=FQ5z<93?$RIFhJEexbywT45{#o+p&x> z@r=;cXnrW?Uw%4eiq4yXB`$YC=^B^|0A5jw;^He~DB(`ZH^u=w*VDkT{n8w>dXsCL zQrj22iLeA+ z90**x+f0p_M%Q44XJ4~ii*pr0H-)z+Eljg;#NzPDr@~6OSdG%Oqy}K z2Sf$`KQlgkW3%4303MND*mz$E$>ycdIJ-X)J{B>?=X|vM5LkQ1+xv)a2fvS^r86reNr~a161)f@kW=A!jRjYSf zzy$E_bp2J&yFcBJbo8++}iw z`#Su29~F?OV2u+FjPfK8ePIG6@TIj8;IY-M0P{fnNmL4uXJ_yI5IY)zjtR*?w1^9=-2KV`*}I)yWggJxGfFdmUsDX6$_hWDA}1!<65 zOTr|`0R0-QwGvMa96sdM0T>_MX}a=%uZQ9d@agLm9r!pyPgn8hEw z$!wzJis2Q8DBTFX=bfb0iO|Gxk5copE6><$k7vo(a}4AE^N8_!DA3-%^Cnq+? zYav-IrSxjhc@G(ca1gptjMro61*X%o5bO>JsS-6_up-6HUtr;8G9g|7c=Dk!qN|u( z0@f+QHWSNS>LS5?7IS}_pHUPfO^{n|1lM5ICt8gpY7((#Si*~=s=xYT*UE^4bQozX zDL8nd0chrr6)M!M_hm-LpJ$VL+0YRY(*oz?UOxg@g_UF}n@Ko)5>g-c=UN>7eLKz@ zY*Ha!xNymCxUtVIwt4y|*}Msjb)(%`DfhG(n~G7YRgr1(^!CCsR~?Q*QZ@otocb+T zsJYS5gG@{%qgE1SX{naxva3f7AW*-pQL|i`q)R|iK1Jj@yY242no7An#0dA9Gsz|= z7YXI(1IGIf1t_)`(4tZl0&;9-et^=vg)g*J*K_r|#nx1sz_;_V@XF@7acSN9A-tqE zLV>dlsi{r)w-+(4A$j2QV*r>8?ZLihE^^5iFQBeKns}Vw;Ng#vP^vReJTBC&h2kMb zB&VdTvh>H5uS#r`EzVorc4iS}w(GvF7S|l0k8KxfJs@{2vpu>f?O}XmOO&O*W{auY zbeaebv)US-tl8s|H;4b{*Nnd#wllBr79DVI4@ zJ7#-*3%ClOKu$;}V13h&ZNi!9ubh>R*MQ1e>d`}hzHei1G1z9L15A}Ecum1aCr;CH(+-SKS*`C()zh0AjvaMqG5hV-?hkuyhk589>HzT4)dN1g%F|9Y+ zn}+&U(Q^?%tXsw47Xh?GHYZ@FPRQc%--j#$?%F1G&)r^=9CWfwDTsOmDU-NsL>+&p z5I*=b5&p|wAD6!cSvUF4U5c2)Hp0YvnhXq}QI+(#?7NuoENN5kQJf0Rs)w)^YD$>l zBFugJMX`hOgOGi{jV}pO1R0h^!KL0&M?o(EJsED=^fJ&o9at4w zAsK7L7mQ-1ZRf~_(@=lLPES{?@_*=Nk?RK68?n=3DbVdBD_~4wHJXw><%5v*XkPdO5-S-+| zM9Li8zU}m_*O;#|?J8mE@o)+g&jnpR0J-Bqp?neY+n_6q%~|qn2RsL@PCSKX%fGt4 z&^}0UU{y+6rt*QI9)6C@pnDsbieph34lcn?&IG(W+-IAtf6AU(DIY7sU>Bk0aYvdA zkuBRPkP9a$Sh($jiMygY z;>(Rw#UmIl@MUiZPVBh7abT!%*Gw`y4)w82;x1I5RtyS2|IMd%p|POOW1*x=#lg~$ z-ugLnPei$_Ba>&c%KI(Q{w~620_kp$#^}NGrZ-hdSu3magp&8PZ7o#o2B8`GM97JO871o7iPJcOg&!)p6ay1_WvZdAkc7mAUaAp`Dw&iL0uH z-IKMPX^=UI!w*Rv@4@4_Z}hN_-o01LWC(oB*J_6>q3$^47frm7>Zv+7FyQVj1?8j| z>8^g&gAs?;>X7>;RV#?whNkytN3$#(O(Yp&kzHJ4?K`71)Vib(!UTB&q3C#0yEW=m zL^v>c7Mqx;BwUO)Rs%q5)o5t@PWd5lG78nbD2jH!F1q9marX@y;mw&ACdorWVfg z)}E_H*|1q`1~$IMk?NF#1Eg^AosMJZ>`Pe0_rxk)5*m2EQ>WxqQR#=+OSg+J;=OY* z7jA@9Tif>XC{k_s0h07Ug-e_aYwkLq3CQNxoiME@RZxUNRBeCnLU|&0Cr^*7s^0_P zEtnj094&T;o``K&Cc=sPeVJZ&mEner^nAuHZbVejpio(_N4}>eLz=PXr;9OVGx>G* zEDO=4n{?XXru?J{K_qOM)gw)GzMU;Nck18_Y+w8|aZ>F~#!j#4aj`+xy4@_nNcm?X z3PS1=E>w1hM$8aRPP@vazO664R8qb=9uwuW3{FK;XUTQJr0f`qyN9LB$}vvv5#nW& ziNvpUPhJ%(Qs>W%X^M*BRso2W^@sY6MTcGOI3!LN`x~!ZJ=YM0#<|-DQX*7{bh=QD z9(sT5I`gcRbo5U$zHWJb^n7oJqe*$>2$Tzk`oE#+d%YVzRVE4ju^DiZMv-|vjo&Dh zgh5Yu5ztW=(9COdY3Z9WSbWF+H3d%(bBX;i6_;~On`@UcND1->86M&#)TQ;M7Z@;q z82NbBw=#dLBsj)Z!3fao^cSbKPWdzAm>n90R{-l_;q{pnoUC$^6zOEq)Hfl! zF!kP$~A@{UUt zy>5efXZP=3fHEl-ucmq`Eid`IfLsRE%GRZ^r$Wk~bv5fC4&|QNg{}mXNQ?q&&urN^ zUwG!Edym=ICQhHSx0ywtqIf-0s%u!S;R``EC(EFi5J6|!?g3gG&gByP>2=+blr+5{ zKG}J`0vvQ$#RkUQ_UHQe+$2y$Qrjt9?|sA(&Y-w-B`bnH`IWUX9+81<>{_vHkdv%? zp%b4^p&_<9dZbX%vTzJ79uQc2Xcxx+eu86qrS*E}A!OOLn|IjBowN#_KW<=? znLk%ZHC-Rm#V;v#hspQpW;cyAaHU5e$}{&vE`<4I0N)h7%l{( z1(MNvdN_M&Y=%fL8jc)aPNxp>ZyVj+q9EX2HO=*nva2zzWZG6UJ&K@m6wEav5uvnS`RDGJ+k8f%`k(gitI%ta#-K|rq^UPW{S|59DmB~Nnn}ky>N%%@ zG^z31C++rByX}7vqu>8{o>z~}wKLr7RF6+T?u3(rT*;`qfbd>z%PPC67a61sWrlyw z#_)W6^R(bMPD{j{;0jc=1cG*i6&(#(ZE^hK)j^bY7%f;}wqIV0!W3XpcyDbRnvT1i zv1Y+C?|@^Ax^f09(=bp=NS5OT@%Es|RW4ew0A&~9S>y>sfYwYCkfzKjq5rT?d8AAX zBjDm&p{4NIv3(9hKzbUY!$cDsHeDVEnqto&d>CHYwj)s3EM=yV)}DYS^7o}9Rm<}r zp?i@lrD5!y#QgQ8sVL}|db8RpfZPTMCfw8(TOJppoouaIn2(9Z_K2M_dXgDKaIKqC z(UxXy<6;W$EmB*!!gw$!Y4s%JbW~QD5(+F1(={jlmC@QmqPb(oYc9$&3GmH>-Q+L?eOyZE%?DuW6J#v$sQ`l||bbgMg4nSxfbivd<-igm+ zqTzgou3;M^1i{=9EoDj8k8ontk~?tpt@qx-5w>94dEh&w4!DUoTYr9#rx3ek3Cd+0 z3jkI@TTf4aQhJ?6-#EFY!}k3|nw>gFpxu3xPiyg;Au)NimO)|W-966WB3y!%R8LzS z9|ndG$AXo&h+NeY%_&}Y?a6Gn#$eXu!0Z<6NMr=>=&ql^(Ff?**$>CgT5EMB=dnlo zGW?7)`=fim)kq&v^w@(`1B9P`0~^mGrfK_fba( zSCZ7Ca{qPD?OD`gzORXnuD%h^bm|4>OObh%)z_BSKuM%i!+@ zpH}ACN0=F-bG7>@c+M>4%%8mi`#TKwI2Ygt5C2i2S$)k@do^v8wql88?YCj5al&{( zH<<*^d8XlJ?atbqfU}hR-4T#wQCX4@KR`XBi9T>|j6O|JkHwL{8 zkt4c>e~R#M)-z)^HxDtb$pgKY;)fJ>uaW~g!&gNpWYxgUC#6=6L*D@!e{vn4L2U9{ z%ZK9Y)N+E4voNf1b}(~}Sv3SIKiu1AOVsXvcp;}ZEHx-DB!}9XXpF8A;v8^J!Yy^X z7KX9r&mUDmgE|9Wn(7D6%H@(tu8MrCk1h`C6s{ABarZykI6#%cGl)+NI<)1H{$R?# z@PKujQz{fh{4xDf2ma$6hpO-T3eLX*3NEh2PMExA2yZ4+-WHd*F@-6UblSgk?_wb9 zAZH9vx6I1VC{LVo4=;y)SDt_Vc3-Lwr|Aq{{qmNI3YfC;9zejrFe2pF5FGAff;xho zy$dmV!zCd=-?1Z-c&B)s;FS)IYzGbva`-mSC3u{EG(KW3`h14bg1w%u?58ML3Y=#A zMSk+EHzG$H1BwI>kZHdrTN&%_$8-g zL}>2w&;G;H6;oJ_yD~q>mo|pB2_bUD>CvIV_l)4HXi8Aad(#!N`^e_E#{yuN)O2s@T-!z}sqH z3_Y5jQx>iXJN3>(h3=BAzA8fCj{YWe>93Vykp{Zd3SjiW_)|m_HDPkvfOXoVp6}+& z*U3YIsS~?;eXF-ys!YgBQ`DBU)EXD z))zd$TYF%_gGoR*pAkoGi>I^$>8i-Ul)CFLB|p}sK$3(F)lv43Y`a~=dtT1&ScGob zQOj(Hu;MJE^%q1TL^#mT!Ct#EkJBo7Ts-)C@p+5gpk5{g5l}O+F0p<#;{cU9DsnPk zfnfwWDt6<>Nu;jjwKp7aIEILm>t?8=SA<=UZTwxRu4wnzit&v4)23c(bQAzeb>%^_ zy7PD8+H?0E&yzh$!Vv|IXoRUr;+RLZNa$MA-HMeOQIP?=T5)X+9>ER8jTy#(_DIT4 zQfhfx8kc^|ReU_7J7L6Ofn<44>zcq&xZs3qO%*wuDBj~FRyNa5O*kd@a1Tl8uw1pbtesqh0SG&mT@zIgg=Kj-SpkWcJ)EytD54a z!8$jOIoz&kZB{o*;4{lNb6ZI=&@Epj2ffFYb+1-Bfk~H7|Ae-$n5ZS48q0|!lbA#b z6T!Fi*Y;}lSX4EWh<8BSsoK4((O%Tso~qS>@emd}t}QWgjek&F_OC4k*kDuhnQn0Y zlEg&}jkvZ2NeQ8^yk}wcpj4%VWtl0`dN=)r+?y{thsZkPen_G7rqhyb{8p(3`@->$ zZl#iFYC}I4-gJWLKH3>{(D;oq3{eX%)X&S;KG+n{%uP!nx#*mk7qRTao9>JSMlvzM zk%17F%11D@siQhdJ2T0JB(qvYRy;M|IAbkhUr}Dk+M*55O);T-JJlcKB1_d_+Oxjo z5&n(b!(rgvNeIKUe1cp`Hy+PD)4;P%);E+cfh@7C6*zDG4 z0v4aAb?mEINZ_ak9*E7797(z0U}!xUHL?tTO)rRQ9TPaHlEYGMwf(&}mSiit;qc?d z*ecYI#nkEebbH4_fX<8L)lP@@ZbAl|-)Ieewa7JeI14g#nMUh^#!H}L9LnXZact)z z9MjU7-x!03fYlUkjm%BLl#$MTd4dwaQCxr4FnmB_^^wTzt5{d#ke#s$0O475be>egW(Ua@Ryme z+Z|&Z+d9O%O;)vmQ9VL=QOCxgjNeOr-dmJ^OAcCN&<{3EdS;`=P7==QlLXw^YKPp1 zRv6H=uuTJ&sC3UJ6Y1iv@CprYVfW5p5(}$QDFh>S!1Xg>12Iy+P1JQ3P4V^`n@(C|z z4v1680=TxV^;e@4?4m@C;i_;=eQjNdRYVU?@G!uz56%h?FtfKiilZko@EHJ5`GDGL zEyho`ay~^#YrcmUR$j=j)AnL+hmXu5Ah3+C-1hwXd608~K@s2cwL4p+GmrGM3 zrRNXFW~_NPZRL3Aj<(Nwb39?VbIH_>26WCiws(7C=Y;Z@E~TBx{AhcrWY+f7L{UTdZ8Xn2euAf|XFZW49FGw(CFt7oiTovl?>bk#PoDwNB zMD%ZeinkW)>E-VI2YuK%%lY5>lz5h|Yt0S%^6Lb{gFoX3hfO5j^;wSzt1q%ji0{bN z-azI4Pw>)6|3B5|8j8nw-JlmY+BzssZ^DXJp4y%lD`NIn>%do!_BYp_P|?%}9)&Uv z-9a_6u`h1MexpxyYUoVq%x7OtU8;jQXKQt8*2nW*Q?`CSinn9;EnWw-BXM+tcX$(G z0FonNP*e56H0M@7pz)G&5Pkxrr7(dMa)`9rEI0zHh!5@Wo}c?VO6cFZR9>B)82W!@ zBEGsf2_~$dep;_78(Yo@~k?(Y|NdDY4s;pS|kHeu*9_ zxQ~hVhnuLl-WWw$LD5`+f0h# z_%UbN`KElWpD4e-OH)Ao_Ygwq*sD$kTOfmFDtf44fIQp)(z9uFXvo3gfcklAGH6JU z0seAvO5{k8K>`MH5$owAu3qcim4)pi9Er^0&rD!fk6mGk+^-?7S|HjkL&a`L`%yiMslcP$gtaur4)dI_K@ZB8I%kU|JWy}Q3ghaU}@L}LMI zvSw!Y>bGg|h39nOp!z+BDAqKpRWIR8;|Cb}%*d<)q@Wp8)ux&Qh=qsBf@Jr@oiV@ zkGDj~|JtUtB$7<(O>tLe;E-fk3!Qe+i~|u%czddDoMBA-<1C^LFv;CBBJ)J2Kezn+ z`~ZT~zYH}m#IdC1$_1#|TG3OrRDr4AxlWAQ&zw}eN@3-DpS|JdTtT5MQe(`Omk*vU zx&*E*RSJo|8aKOZYjkblwYr(TUd1;Waf~Wr&fD%XbT-1Cy3}_j1O594Qf@GNvWdJ;w%)60|Tyx;})8Tj~ z+*WN>a7&uvv(#cmo;Yd~*%vbOSaOj$YMhL&_{z3r{q(tQ=Xpj6>{^aVM@?w+D46Dsm)VigOa08napTFL0h5A~Hs< zILI10ZJdB4@~W9cw);T@05O9RQlfW_15!eO8Y_j`bex)-G!X##yMqlE_+TG3m@Wy~ zcY!X*p%DC2hh!g6ZI&5d*~rhEZPYsNf$GA=)5Ha}a>=(%mw z$?Gy8cmYZYpYL8q6XS+cIqlA!agnzNO#GWo@e&+NCL>=1?V?Q`^umYB=I6;Spd+Qh9kMbtd;ZuEE9%?qJ*CGCpf^2Z$t#=>~@iBn2p zgXNu=tRqm{IK#8lH3cH29Yd9kSUSL1^QE9{U6DPD;wAy2_mtBL9)X4~K7@ySVb9!c zS>Mh7Ey=FTbgnQ4bb3M=i>ycMxq%{p<0KeMjI1rbaTTQiyyxuR$EAn|F>M>_2)R%Q zvGfI)CC6a$3k9`m&;Jd+LK$)zNdq)k4)i0ijJ?7Cx#?Mu!5{()_)kvuducWpdB^Wk)7XSUn$vs3y&tz!DFr4zrycW}n0`i>7A`N2);g%H%AwvTG#9PN=N@17aO%c#l7 z-I;qn8n^Zy}s-P58lgYT5fN+j`xf zLOh$305U%$YYn5iK>YAeq}majj@y@&igz((6ei#avEb)B4isrOGaiC-qc znIDqIg62N=|K{svt8TR=K83z;<5`gUEE6+&V_X>MWAm1X|FTJ_M|h-(<2SC9Q87BEBL&;bxI>s+h(UZR~7 zBY&c(23{NzKunEWWY0WE*A}4zJ1)uzI!cu~NODpLPunKZ%CIV1KfPvQ42 zJ|>%ryxyNPFqNNAE*+ViDbVQ#Q$N{)G^ew%mHO>7m=vHT-YikTa{2)XWWL_-?wAqw$nYbT# zMzi^5=pBP%-+fzUOlpA642VFKAWywuen@KBe80|&n41NP<}U>V7T8~3*slSF5*->A ztWSVkj1mPhO27cM#}wyoM_p&*;iCGS(zDEs+Su$d z8gaRK$IW z6WoQ9iz2!hFL+AbCxi3>y%;wvj14sw-$GMkyK$=T+kDLZj%(+95jFhs5nH)ccHs$V z;r?{!|6}SL*y9YlwH@15qsF$=pt0@7)-<+l+i7guw#~-2{Y~HZ+xyu6U}m0~HTSvJ zeVywJw|1pbOVI4fBtEE@>7pbRQj!u)7#++W6eSu24S@?EE&yDxMumz3SP6OsQ&o&H zVIhSLv41S{yKNJ8F&|}@sV?)2y>FXVyR;{Fj8{6+U0oc!R7PVBk3OAueBzg{X0wmJ zGBP#sAY_IdPHp+9oozp&b$30K;V}Z@abK7HFgL;+95O7XmEWrc(;!}su z9;b)lly1by;8sog0*|WCOaB<6>VA7zh6cO+BmY&MoVtcf@A79)s%n{H=cs(cWuIK~aBW?$eh!K6BP)Ag5B0%=%;H83r>IB#o3NU zI_PGwRh*%jDrxBahDtsE_Kjk$V=T9NM6O(WH0F2a1x!k4oF`{05eq zLVr(nUDPXkUp@wd^ly5=+?~M20)f7S5j1O1(jB0{j16dh2=)V778Nki!u<1@N@Vhz z%O0QN0b1MH?rB45b{hPhIPJ~!;Mmmk~B?)->z?ua@v((GnQa~-8 zzrP}JBJd0xCTxU(6V|9s@NU~O>9)1uGMs~Zk+x*o)Tw&eNTUDCunn_|Urw%1@9Fm7 z<<1p&u^5r_jALfd?nGYg1cE}h%ZlNwL(RKV@kJS$8daRJseKk*w_uCik^XnD4fs_Y zbtxM^MZ2YjeLI74FQ10K!wT=RK*!B?Q9nqXtI0DM z`}l8kClRubU-ZcW^fjrp$E0XnfL59rc2`mVl~V#K8DzBGYe87K9lI<3Mv&M%rd$~f zpgOTnAvY9Q86bs?6hap$P?cYAhP#J-sxRE9*{hm2mM#zNytdjq^mHClQc^Nub5`da zHJ)5#pIF)-a~jjWh?@9#y1qaE;&auhbA{@7m8kA>eaBvb{MHr64o2EuzN(AX`6uxb zU&C3aeY^jU51doz$0ZI~q zwkIJb1*z}AlHsS2DteUy)D#Z2zCJ9=JtVnjUXNBRofKm{T$rQ(K(6x=i9vA6n~bQl z?3VpJL+YQVg>5^r{Pq$J#-YBE3Ew?f<&#;;_bPAm=hLfzTV>|^s+;3ips}2VxkLE% zPT?35A6smxun5Kk-*Z8LAA9KZUN$;geu|mu$pCLgk!$Use1s?uqhS!PS;iQ0EQaXIhh#mmdHJMZoI2i#Ym z7;)#)hx4r=fk2pQsUS7`SwZbiDEmar?zN~HnXBjZ{SgVp5?x+ok6jl*@F@3$|3hE9 zr08bY`a5!Bz09mRa22%I5=)kz$C*I*3Z8pOj6?gOn^qH1MnZkZXu3WhX>%unkvq$< zgBGb!6XDxx{y*deEhy!iCB=Qyl?A5D6)a2w*1g3!9@9W3)UMkO@#h#m zkV}l4^qBhL?NTB=d(w8xUMw^P`7W>eA^ocqg-(j9NX}NRW8mgYDBn%G2`jZ4^bpm( zRVNvP=$F#6=p4x4Csh%~$r{=vjgSX(uW|%Wsca=-y?)oDsLGTo;|}e?jt&0@y&`FV z=q0g>07S3Uiykus9cRH9rF7@jl>d;|&~mXKHt$*F!9bP7q-;_NMm-%) z6!XXJ%XUWHP7N^#2kGpXm504pf(ng7I7_B>?rs|{VEBla zd}>+LXzceQUJT>R2lj7;H%Zsaq+hl_4qQTiO&Vm6*nIW7DL?0&)DN`Z9BotDPT0kl z@s{lkg?ZQ>q?qCMy#l(~fETAIf_PV+5~i1|x1+%vDgm;%n*R%4edCR?c8M3XJ=AmtIr92@J;h?z2liZ=SDy-)v zX*-ZfcZgYo4rRWGJ}ueP-z%qyOi2>Pg6i_>2W)lS4~N~p%FD)`yy{xJ&P%u31!bG9 z#y~MT@n4KOMhhTw)imBu_LnX=%6lNDLoH^yOQzM6zDQ;STJa7tiR`IpOXO5A(3!Q= zdhQoUuI8_z#!<*yFsPJw!aZSNBc^7hRs{F<0Is&ZYIlmxCCdPvR6e5UEUZ!LwKRP# zot{ZDuQ}s6CS9-Zv!owzIUH&98KL9IM#+m^9*(mil#?w?-+m?@h$f(T_es*r;lt%0 zkE~;A-p7hlKhSXir-t#jCl+xz5FpA{)s<#P|e9- z^rp)GxOtY=7xXsB^2bK3h7T+hJX(^a(CGZsGh0cT$Wt0ztvQQzzrQpO=U9m5{}NZ8 zi$ooEgED5z9S9vgG>KL8G||`PKi-0ef)?_d0rD37e|Ssf-;rL-k2qC?0@ccemUg;Q zXPN)kg~u+r-Ja$z+m{_i+6donV2j`9Rq?@t7C|ol{nh)dy}!~(83tQdHv!HnZsHbi zHMiCI;D2yyEN2^q3T*GPX=8S?N(ls@HveDT8kQi33V&^NY4$ZeR}Y#zYtI*s=wA=F zc!N*4strGUp2BB;Wsml$(D*7m@`leZ?5N8KGWS2AF589clIAKA@59j)F%y1i_lo?AGKPq z0(bh3dEMY$>Ouh}i_ZJX^0{jn{ryeUu7iUY0gOT{Ur8I4`K0#dsPK?YbN=P+I4KO^@-E zdNcTb2JvIJ?_Oc!7SG4D;ng&gpFFt6SkYXK@^sybHweqYIo$uw%0?;?YJ4Yc4*=;R zY-y!K7(D881?QMqlN$J$>q zeHk+Npx^)lDg`MtxX>XIrV>%WT-(jfR@1^>HmAMY`@3=Z-hf?vdF8sO^dq7N-e?RY zvYh6}*BSo@LXJdw@oN{>3F13f2 z2S2o?w&RC@0=)pkE|TC>wD6(@XinGQ|I(IhE(~1Q2!t?Sj|9`-NIV2YupRx}R4PoM zn6H4i1gKYXxNteEdVhW1xSNJm?E3Bvs8?^_Z0Ml<1<(8D=51vZRCw$4aaOUpcs`A{ z|5D9V_aD-_au|VY`?{fhyVA!M};M4s$x}eF3xg9|2eADAi}EuZQsd zwT~~T>?_1<++Qk1Q^PpqxpT{yYdW;q_uSHrv-o`*BLGpemp;!�itwTBdp3jh}?x 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 yAc{ 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

    Z>p56 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