aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
m---------td0
-rw-r--r--telegram-bot-api/Client.cpp96
2 files changed, 79 insertions, 17 deletions
diff --git a/td b/td
-Subproject bb474a201baa798784d696d2d9d762a9d2807f9
+Subproject a9863453385e09f09a6f746f78ad39ca6530b6a
diff --git a/telegram-bot-api/Client.cpp b/telegram-bot-api/Client.cpp
index 1da9f63..4c55904 100644
--- a/telegram-bot-api/Client.cpp
+++ b/telegram-bot-api/Client.cpp
@@ -2495,11 +2495,21 @@ class Client::JsonUniqueGiftMessage final : public td::Jsonable {
}
}
}
- if (gift_->last_resale_star_count_) {
- object("origin", "resale");
- object("last_resale_star_count", gift_->last_resale_star_count_);
- } else {
- object("origin", gift_->is_upgrade_ ? td::Slice("upgrade") : td::Slice("transfer"));
+ switch (gift_->origin_->get_id()) {
+ case td_api::upgradedGiftOriginUpgrade::ID:
+ object("origin", "upgrade");
+ break;
+ case td_api::upgradedGiftOriginTransfer::ID:
+ object("origin", "transfer");
+ break;
+ case td_api::upgradedGiftOriginResale::ID: {
+ auto origin = static_cast<const td_api::upgradedGiftOriginResale *>(gift_->origin_.get());
+ object("origin", "resale");
+ object("last_resale_star_count", origin->star_count_);
+ break;
+ }
+ default:
+ UNREACHABLE();
}
}
@@ -3843,6 +3853,18 @@ void Client::JsonMessage::store(td::JsonValueScope *scope) const {
object("checklist_tasks_added", JsonChecklistTasksAdded(content, message_->chat_id, client_));
break;
}
+ case td_api::messageGiftedTon::ID:
+ break;
+ case td_api::messageSuggestedPostApprovalFailed::ID:
+ break;
+ case td_api::messageSuggestedPostApproved::ID:
+ break;
+ case td_api::messageSuggestedPostDeclined::ID:
+ break;
+ case td_api::messageSuggestedPostPaid::ID:
+ break;
+ case td_api::messageSuggestedPostRefunded::ID:
+ break;
default:
UNREACHABLE();
}
@@ -8426,11 +8448,12 @@ td_api::object_ptr<td_api::InputMessageReplyTo> Client::get_input_message_reply_
CheckedReplyParameters &&reply_parameters) {
if (reply_parameters.reply_to_message_id > 0) {
if (reply_parameters.reply_in_chat_id != 0) {
- return make_object<td_api::inputMessageReplyToExternalMessage>(
- reply_parameters.reply_in_chat_id, reply_parameters.reply_to_message_id, std::move(reply_parameters.quote));
+ return make_object<td_api::inputMessageReplyToExternalMessage>(reply_parameters.reply_in_chat_id,
+ reply_parameters.reply_to_message_id,
+ std::move(reply_parameters.quote), 0);
}
return make_object<td_api::inputMessageReplyToMessage>(reply_parameters.reply_to_message_id,
- std::move(reply_parameters.quote));
+ std::move(reply_parameters.quote), 0);
}
return nullptr;
}
@@ -8439,7 +8462,7 @@ td_api::object_ptr<td_api::InputMessageReplyTo> Client::get_input_message_reply_
InputReplyParameters &&reply_parameters) {
if (reply_parameters.reply_in_chat_id.empty() && reply_parameters.reply_to_message_id > 0) {
return make_object<td_api::inputMessageReplyToMessage>(reply_parameters.reply_to_message_id,
- std::move(reply_parameters.quote));
+ std::move(reply_parameters.quote), 0);
}
return nullptr;
}
@@ -9158,8 +9181,8 @@ td_api::object_ptr<td_api::messageSendOptions> Client::get_message_send_options(
bool protect_content,
bool allow_paid_broadcast,
int64 effect_id) {
- return make_object<td_api::messageSendOptions>(0, disable_notification, false, protect_content, allow_paid_broadcast,
- 0, false, nullptr, effect_id, 0, false);
+ return make_object<td_api::messageSendOptions>(0, nullptr, disable_notification, false, protect_content,
+ allow_paid_broadcast, 0, false, nullptr, effect_id, 0, false);
}
td::Result<td_api::object_ptr<td_api::inlineQueryResultsButton>> Client::get_inline_query_results_button(
@@ -9741,7 +9764,7 @@ td::Result<td_api::object_ptr<td_api::chatAdministratorRights>> Client::get_chat
return make_object<td_api::chatAdministratorRights>(
can_manage_chat, can_change_info, can_post_messages, can_edit_messages, can_delete_messages, can_invite_users,
can_restrict_members, can_pin_messages, can_manage_topics, can_promote_members, can_manage_video_chats,
- can_post_stories, can_edit_stories, can_delete_stories, is_anonymous);
+ can_post_stories, can_edit_stories, can_delete_stories, false, is_anonymous);
}
td::Result<td_api::object_ptr<td_api::chatAdministratorRights>> Client::get_chat_administrator_rights(
@@ -13579,7 +13602,7 @@ td::Status Client::process_promote_chat_member_query(PromisedQueryPtr &query) {
make_object<td_api::chatAdministratorRights>(
can_manage_chat, can_change_info, can_post_messages, can_edit_messages, can_delete_messages, can_invite_users,
can_restrict_members, can_pin_messages, can_manage_topics, can_promote_members, can_manage_video_chats,
- can_post_stories, can_edit_stories, can_delete_stories, is_anonymous));
+ can_post_stories, can_edit_stories, can_delete_stories, false, is_anonymous));
check_chat(chat_id, AccessRights::Write, std::move(query),
[this, user_id, status = std::move(status)](int64 chat_id, PromisedQueryPtr query) mutable {
auto chat_info = get_chat(chat_id);
@@ -15647,6 +15670,11 @@ bool Client::need_skip_update_message(int64 chat_id, const object_ptr<td_api::me
case td_api::messageGiveawayWinners::ID:
case td_api::messageGiveawayCompleted::ID:
case td_api::messagePaymentRefunded::ID:
+ case td_api::messageSuggestedPostApprovalFailed::ID:
+ case td_api::messageSuggestedPostApproved::ID:
+ case td_api::messageSuggestedPostDeclined::ID:
+ case td_api::messageSuggestedPostPaid::ID:
+ case td_api::messageSuggestedPostRefunded::ID:
// don't skip
break;
default:
@@ -15763,6 +15791,18 @@ bool Client::need_skip_update_message(int64 chat_id, const object_ptr<td_api::me
return true;
case td_api::messageGroupCall::ID:
return true;
+ case td_api::messageGiftedTon::ID:
+ return true;
+ case td_api::messageSuggestedPostApprovalFailed::ID:
+ return true;
+ case td_api::messageSuggestedPostApproved::ID:
+ return true;
+ case td_api::messageSuggestedPostDeclined::ID:
+ return true;
+ case td_api::messageSuggestedPostPaid::ID:
+ return true;
+ case td_api::messageSuggestedPostRefunded::ID:
+ return true;
default:
break;
}
@@ -15810,19 +15850,41 @@ td::int64 Client::get_same_chat_reply_to_message_id(const object_ptr<td_api::mes
return static_cast<const td_api::messagePinMessage *>(message->content_.get())->message_id_;
case td_api::messageGameScore::ID:
return static_cast<const td_api::messageGameScore *>(message->content_.get())->game_message_id_;
+ case td_api::messagePaymentSuccessful::ID: {
+ const auto *content = static_cast<const td_api::messagePaymentSuccessful *>(message->content_.get());
+ return content->invoice_chat_id_ == message->chat_id_ ? content->invoice_message_id_ : static_cast<int64>(0);
+ }
case td_api::messageChatSetBackground::ID:
return static_cast<const td_api::messageChatSetBackground *>(message->content_.get())
->old_background_message_id_;
case td_api::messageGiveawayCompleted::ID:
return static_cast<const td_api::messageGiveawayCompleted *>(message->content_.get())->giveaway_message_id_;
- case td_api::messagePaymentSuccessful::ID: {
- const auto *content = static_cast<const td_api::messagePaymentSuccessful *>(message->content_.get());
- return content->invoice_chat_id_ == message->chat_id_ ? content->invoice_message_id_ : static_cast<int64>(0);
- }
case td_api::messageChecklistTasksDone::ID:
return static_cast<const td_api::messageChecklistTasksDone *>(message->content_.get())->checklist_message_id_;
case td_api::messageChecklistTasksAdded::ID:
return static_cast<const td_api::messageChecklistTasksAdded *>(message->content_.get())->checklist_message_id_;
+ case td_api::messageSuggestedPostApprovalFailed::ID:
+ return static_cast<const td_api::messageSuggestedPostApprovalFailed *>(message->content_.get())
+ ->suggested_post_message_id_;
+ case td_api::messageSuggestedPostApproved::ID:
+ return static_cast<const td_api::messageSuggestedPostApproved *>(message->content_.get())
+ ->suggested_post_message_id_;
+ case td_api::messageSuggestedPostDeclined::ID:
+ return static_cast<const td_api::messageSuggestedPostDeclined *>(message->content_.get())
+ ->suggested_post_message_id_;
+ case td_api::messageSuggestedPostPaid::ID:
+ return static_cast<const td_api::messageSuggestedPostPaid *>(message->content_.get())
+ ->suggested_post_message_id_;
+ case td_api::messageSuggestedPostRefunded::ID:
+ return static_cast<const td_api::messageSuggestedPostRefunded *>(message->content_.get())
+ ->suggested_post_message_id_;
+ case td_api::messageUpgradedGift::ID: {
+ auto *origin = static_cast<const td_api::messageUpgradedGift *>(message->content_.get())->origin_.get();
+ if (origin->get_id() == td_api::upgradedGiftOriginUpgrade::ID) {
+ return static_cast<const td_api::upgradedGiftOriginUpgrade *>(origin)->gift_message_id_;
+ }
+ return static_cast<int64>(0);
+ }
default:
return static_cast<int64>(0);
}