2
0
mirror of https://github.com/tdlib/telegram-bot-api synced 2025-08-22 01:49:24 +00:00

Compare commits

...

20 Commits

Author SHA1 Message Date
levlam
3b6a0b769c Update version to 9.2. 2025-08-14 14:47:13 +03:00
levlam
e1e2f29de6 Add declineSuggestedPost. 2025-08-08 14:05:51 +03:00
levlam
3abe242f2d Add approveSuggestedPost. 2025-08-08 14:04:32 +03:00
levlam
f5c5ec3ce6 Allow bots to sens suggested posts. 2025-08-07 17:02:10 +03:00
levlam
ee502e15df Pass messageSendOptions as an object to callbacks. 2025-08-07 16:29:40 +03:00
levlam
9ff59948be Support sending messages to direct messages topics. 2025-08-05 13:26:28 +03:00
levlam
b3ee23bf83 Add Message.direct_messages_topic. 2025-08-05 13:16:47 +03:00
levlam
01c64655da Add Message.suggested_post_refunded. 2025-08-02 23:44:32 +03:00
levlam
b142642208 Add Message.suggested_post_paid. 2025-08-02 23:38:09 +03:00
levlam
481791f4bd Add Message.suggested_post_declined. 2025-08-02 23:29:25 +03:00
levlam
1362356cea Add Message.suggested_post_approved. 2025-08-02 23:24:57 +03:00
levlam
48e49676a4 Add Message.suggested_post_approval_failed. 2025-08-02 23:22:15 +03:00
levlam
32e911a558 Support updateMessageSuggestedPostInfo. 2025-08-02 23:12:30 +03:00
levlam
aa15de0d29 Add Message.suggested_post_info. 2025-08-02 16:15:31 +03:00
levlam
a4cd2ef979 Add Gift/UniqueGift.publisher_chat. 2025-08-01 17:48:30 +03:00
levlam
cc40dd145e Support replying to specific checklist task. 2025-08-01 17:13:24 +03:00
levlam
cb63e5d084 Add Message.reply_to_checklist_task_id. 2025-08-01 17:03:51 +03:00
levlam
92f63cacf8 Add Message.is_paid_post. 2025-08-01 17:00:03 +03:00
levlam
5a75b26787 Support can_manage_direct_messages administrator right in channels. 2025-08-01 16:56:07 +03:00
levlam
b545895504 Update TDLib to 1.8.52. 2025-08-01 16:01:08 +03:00
5 changed files with 717 additions and 225 deletions

View File

@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.10 FATAL_ERROR) cmake_minimum_required(VERSION 3.10 FATAL_ERROR)
project(TelegramBotApi VERSION 9.1 LANGUAGES CXX) project(TelegramBotApi VERSION 9.2 LANGUAGES CXX)
add_subdirectory(td EXCLUDE_FROM_ALL) add_subdirectory(td EXCLUDE_FROM_ALL)

2
td

@ -1 +1 @@
Subproject commit bb474a201baa798784d696d2d9d762a9d2807f96 Subproject commit a9863453385e09f09a6f746f78ad39ca6530b6a3

File diff suppressed because it is too large Load Diff

View File

@ -137,6 +137,11 @@ class Client final : public WebhookActor::Callback {
class JsonChecklist; class JsonChecklist;
class JsonChecklistTasksDone; class JsonChecklistTasksDone;
class JsonChecklistTasksAdded; class JsonChecklistTasksAdded;
class JsonSuggestedPostApprovalFailed;
class JsonSuggestedPostApproved;
class JsonSuggestedPostDeclined;
class JsonSuggestedPostPaid;
class JsonSuggestedPostRefunded;
class JsonEntity; class JsonEntity;
class JsonVectorEntities; class JsonVectorEntities;
class JsonWebAppInfo; class JsonWebAppInfo;
@ -144,6 +149,9 @@ class Client final : public WebhookActor::Callback {
class JsonInlineKeyboardButton; class JsonInlineKeyboardButton;
class JsonInlineKeyboard; class JsonInlineKeyboard;
class JsonReplyMarkup; class JsonReplyMarkup;
class JsonDirectMessagesTopic;
class JsonSuggestedPostPrice;
class JsonSuggestedPostInfo;
class JsonMessage; class JsonMessage;
class JsonMessages; class JsonMessages;
class JsonInaccessibleMessage; class JsonInaccessibleMessage;
@ -322,12 +330,14 @@ class Client final : public WebhookActor::Callback {
int64 reply_to_message_id = 0; int64 reply_to_message_id = 0;
bool allow_sending_without_reply = false; bool allow_sending_without_reply = false;
object_ptr<td_api::inputTextQuote> quote; object_ptr<td_api::inputTextQuote> quote;
int32 checklist_task_id = 0;
}; };
struct CheckedReplyParameters { struct CheckedReplyParameters {
int64 reply_in_chat_id = 0; int64 reply_in_chat_id = 0;
int64 reply_to_message_id = 0; int64 reply_to_message_id = 0;
object_ptr<td_api::inputTextQuote> quote; object_ptr<td_api::inputTextQuote> quote;
int32 checklist_task_id = 0;
}; };
struct UserInfo; struct UserInfo;
@ -462,6 +472,12 @@ class Client final : public WebhookActor::Callback {
static td::Result<object_ptr<td_api::ReplyMarkup>> get_reply_markup(td::JsonValue &&value, BotUserIds &bot_user_ids); static td::Result<object_ptr<td_api::ReplyMarkup>> get_reply_markup(td::JsonValue &&value, BotUserIds &bot_user_ids);
static td::Result<object_ptr<td_api::SuggestedPostPrice>> get_suggested_post_price(td::JsonValue &&value);
static td::Result<object_ptr<td_api::inputSuggestedPostInfo>> get_input_suggested_post_info(const Query *query);
static td::Result<object_ptr<td_api::inputSuggestedPostInfo>> get_input_suggested_post_info(td::JsonValue &&value);
static td::Result<object_ptr<td_api::labeledPricePart>> get_labeled_price_part(td::JsonValue &value); static td::Result<object_ptr<td_api::labeledPricePart>> get_labeled_price_part(td::JsonValue &value);
static td::Result<td::vector<object_ptr<td_api::labeledPricePart>>> get_labeled_price_parts(td::JsonValue &value); static td::Result<td::vector<object_ptr<td_api::labeledPricePart>>> get_labeled_price_parts(td::JsonValue &value);
@ -630,9 +646,9 @@ class Client final : public WebhookActor::Callback {
td::Result<object_ptr<td_api::inputMessageInvoice>> get_input_message_invoice(const Query *query) const; td::Result<object_ptr<td_api::inputMessageInvoice>> get_input_message_invoice(const Query *query) const;
static object_ptr<td_api::messageSendOptions> get_message_send_options(bool disable_notification, static object_ptr<td_api::messageSendOptions> get_message_send_options(
bool protect_content, bool disable_notification, bool protect_content, bool allow_paid_broadcast, int64 effect_id,
bool allow_paid_broadcast, int64 effect_id); int64 direct_messages_topic_id, object_ptr<td_api::inputSuggestedPostInfo> &&input_suggested_post_info);
static td::Result<td::vector<object_ptr<td_api::formattedText>>> get_poll_options(const Query *query); static td::Result<td::vector<object_ptr<td_api::formattedText>>> get_poll_options(const Query *query);
@ -797,6 +813,8 @@ class Client final : public WebhookActor::Callback {
td::Status process_pin_chat_message_query(PromisedQueryPtr &query); td::Status process_pin_chat_message_query(PromisedQueryPtr &query);
td::Status process_unpin_chat_message_query(PromisedQueryPtr &query); td::Status process_unpin_chat_message_query(PromisedQueryPtr &query);
td::Status process_unpin_all_chat_messages_query(PromisedQueryPtr &query); td::Status process_unpin_all_chat_messages_query(PromisedQueryPtr &query);
td::Status process_approve_suggested_post_query(PromisedQueryPtr &query);
td::Status process_decline_suggested_post_query(PromisedQueryPtr &query);
td::Status process_set_chat_sticker_set_query(PromisedQueryPtr &query); td::Status process_set_chat_sticker_set_query(PromisedQueryPtr &query);
td::Status process_delete_chat_sticker_set_query(PromisedQueryPtr &query); td::Status process_delete_chat_sticker_set_query(PromisedQueryPtr &query);
td::Status process_get_forum_topic_icon_stickers_query(PromisedQueryPtr &query); td::Status process_get_forum_topic_icon_stickers_query(PromisedQueryPtr &query);
@ -1059,6 +1077,7 @@ class Client final : public WebhookActor::Callback {
int64 media_album_id = 0; int64 media_album_id = 0;
int64 via_bot_user_id = 0; int64 via_bot_user_id = 0;
object_ptr<td_api::MessageContent> content; object_ptr<td_api::MessageContent> content;
object_ptr<td_api::suggestedPostInfo> suggested_post_info;
object_ptr<td_api::ReplyMarkup> reply_markup; object_ptr<td_api::ReplyMarkup> reply_markup;
td::string business_connection_id; td::string business_connection_id;
int64 sender_business_bot_user_id = 0; int64 sender_business_bot_user_id = 0;
@ -1068,6 +1087,7 @@ class Client final : public WebhookActor::Callback {
bool is_automatic_forward = false; bool is_automatic_forward = false;
bool is_from_offline = false; bool is_from_offline = false;
bool is_scheduled = false; bool is_scheduled = false;
bool is_paid_post = false;
mutable bool is_content_changed = false; mutable bool is_content_changed = false;
}; };
@ -1101,6 +1121,12 @@ class Client final : public WebhookActor::Callback {
static td::CSlice get_callback_data(const object_ptr<td_api::InlineKeyboardButtonType> &type); static td::CSlice get_callback_data(const object_ptr<td_api::InlineKeyboardButtonType> &type);
static bool are_equal_suggested_post_prices(const td_api::SuggestedPostPrice *lhs,
const td_api::SuggestedPostPrice *rhs);
static void set_message_suggested_post_info(MessageInfo *message_info,
object_ptr<td_api::suggestedPostInfo> &&suggested_post_info);
static bool are_equal_inline_keyboard_buttons(const td_api::inlineKeyboardButton *lhs, static bool are_equal_inline_keyboard_buttons(const td_api::inlineKeyboardButton *lhs,
const td_api::inlineKeyboardButton *rhs); const td_api::inlineKeyboardButton *rhs);
@ -1173,6 +1199,9 @@ class Client final : public WebhookActor::Callback {
void update_message_content(int64 chat_id, int64 message_id, object_ptr<td_api::MessageContent> &&content); void update_message_content(int64 chat_id, int64 message_id, object_ptr<td_api::MessageContent> &&content);
void on_update_message_suggested_post_info(int64 chat_id, int64 message_id,
object_ptr<td_api::suggestedPostInfo> &&suggested_post_info);
void on_update_message_edited(int64 chat_id, int64 message_id, int32 edit_date, void on_update_message_edited(int64 chat_id, int64 message_id, int32 edit_date,
object_ptr<td_api::ReplyMarkup> &&reply_markup); object_ptr<td_api::ReplyMarkup> &&reply_markup);

View File

@ -165,7 +165,7 @@ int main(int argc, char *argv[]) {
auto start_time = td::Time::now(); auto start_time = td::Time::now();
auto shared_data = std::make_shared<SharedData>(); auto shared_data = std::make_shared<SharedData>();
auto parameters = std::make_unique<ClientParameters>(); auto parameters = std::make_unique<ClientParameters>();
parameters->version_ = "9.1"; parameters->version_ = "9.2";
parameters->shared_data_ = shared_data; parameters->shared_data_ = shared_data;
parameters->start_time_ = start_time; parameters->start_time_ = start_time;
auto net_query_stats = td::create_net_query_stats(); auto net_query_stats = td::create_net_query_stats();