aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorlevlam <levlam@telegram.org>2023-10-13 01:15:42 +0300
committerlevlam <levlam@telegram.org>2023-10-13 01:15:42 +0300
commitf15bc7396e72d9460a462c0ed42f70155e9ddb5c (patch)
tree9cfa726da511080e4dd6abd657fa50aefa10d467
parent9c413c7f1168b34d4835900a15568d5da916e3cc (diff)
Update TDLib to 1.8.20.
m---------td0
-rw-r--r--telegram-bot-api/Client.cpp58
-rw-r--r--telegram-bot-api/ClientManager.cpp2
3 files changed, 33 insertions, 27 deletions
diff --git a/td b/td
-Subproject 2de39ffffe71dc41c538e66085658d21cecbae0
+Subproject 4ed0b23c9c99868ab4d2d28e8ff244687f7b314
diff --git a/telegram-bot-api/Client.cpp b/telegram-bot-api/Client.cpp
index 4fbad68..41d77ba 100644
--- a/telegram-bot-api/Client.cpp
+++ b/telegram-bot-api/Client.cpp
@@ -1762,12 +1762,20 @@ class Client::JsonWriteAccessAllowed final : public td::Jsonable {
}
void store(td::JsonValueScope *scope) const {
auto object = scope->enter_object();
- if (write_access_allowed_->web_app_ != nullptr) {
- object("web_app_name", write_access_allowed_->web_app_->short_name_);
- } else if (write_access_allowed_->by_request_) {
- object("from_request", td::JsonTrue());
- } else {
- object("from_attachment_menu", td::JsonTrue());
+ switch (write_access_allowed_->reason_->get_id()) {
+ case td_api::botWriteAccessAllowReasonLaunchedWebApp::ID:
+ object("web_app_name", static_cast<const td_api::botWriteAccessAllowReasonLaunchedWebApp *>(
+ write_access_allowed_->reason_.get())
+ ->web_app_->short_name_);
+ break;
+ case td_api::botWriteAccessAllowReasonAcceptedRequest::ID:
+ object("from_request", td::JsonTrue());
+ break;
+ case td_api::botWriteAccessAllowReasonAddedToAttachmentMenu::ID:
+ object("from_attachment_menu", td::JsonTrue());
+ break;
+ default:
+ UNREACHABLE();
}
}
@@ -2235,18 +2243,6 @@ void Client::JsonMessage::store(td::JsonValueScope *scope) const {
case td_api::messageAnimatedEmoji::ID:
UNREACHABLE();
break;
- case td_api::messageWebsiteConnected::ID: {
- auto chat = client_->get_chat(message_->chat_id);
- if (chat->type != ChatInfo::Type::Private) {
- break;
- }
-
- auto content = static_cast<const td_api::messageWebsiteConnected *>(message_->content.get());
- if (!content->domain_name_.empty()) {
- object("connected_website", content->domain_name_);
- }
- break;
- }
case td_api::messagePassportDataSent::ID:
break;
case td_api::messagePassportDataReceived::ID: {
@@ -2293,8 +2289,20 @@ void Client::JsonMessage::store(td::JsonValueScope *scope) const {
case td_api::messageSuggestProfilePhoto::ID:
break;
case td_api::messageBotWriteAccessAllowed::ID: {
+ auto chat = client_->get_chat(message_->chat_id);
+ if (chat->type != ChatInfo::Type::Private) {
+ break;
+ }
+
auto content = static_cast<const td_api::messageBotWriteAccessAllowed *>(message_->content.get());
- object("write_access_allowed", JsonWriteAccessAllowed(content));
+ if (content->reason_->get_id() == td_api::botWriteAccessAllowReasonConnectedWebsite::ID) {
+ auto reason = static_cast<const td_api::botWriteAccessAllowReasonConnectedWebsite *>(content->reason_.get());
+ if (!reason->domain_name_.empty()) {
+ object("connected_website", reason->domain_name_);
+ }
+ } else {
+ object("write_access_allowed", JsonWriteAccessAllowed(content));
+ }
break;
}
case td_api::messageUserShared::ID: {
@@ -11112,8 +11120,7 @@ bool Client::need_skip_update_message(int64 chat_id, const object_ptr<td_api::me
return true;
}
- if (message->forward_info_ != nullptr &&
- message->forward_info_->origin_->get_id() == td_api::messageForwardOriginMessageImport::ID) {
+ if (message->import_info_ != nullptr) {
return true;
}
@@ -11544,6 +11551,7 @@ Client::FullMessageId Client::add_message(object_ptr<td_api::message> &&message,
message_info->initial_message_id = 0;
message_info->initial_author_signature = td::string();
message_info->initial_sender_name = td::string();
+ message_info->is_automatic_forward = false;
if (message->forward_info_ != nullptr) {
message_info->initial_send_date = message->forward_info_->date_;
auto origin = std::move(message->forward_info_->origin_);
@@ -11571,11 +11579,6 @@ Client::FullMessageId Client::add_message(object_ptr<td_api::message> &&message,
message_info->initial_author_signature = std::move(forward_info->author_signature_);
break;
}
- case td_api::messageForwardOriginMessageImport::ID: {
- auto forward_info = move_object_as<td_api::messageForwardOriginMessageImport>(origin);
- message_info->initial_sender_name = std::move(forward_info->sender_name_);
- break;
- }
default:
UNREACHABLE();
}
@@ -11583,6 +11586,9 @@ Client::FullMessageId Client::add_message(object_ptr<td_api::message> &&message,
message_info->is_automatic_forward =
from_chat_id != 0 && from_chat_id != chat_id && message->forward_info_->from_message_id_ != 0 &&
get_chat_type(chat_id) == ChatType::Supergroup && get_chat_type(from_chat_id) == ChatType::Channel;
+ } else if (message->import_info_ != nullptr) {
+ message_info->initial_send_date = message->import_info_->date_;
+ message_info->initial_sender_name = std::move(message->import_info_->sender_name_);
}
CHECK(message->sender_id_ != nullptr);
diff --git a/telegram-bot-api/ClientManager.cpp b/telegram-bot-api/ClientManager.cpp
index 0f4458c..c47c25a 100644
--- a/telegram-bot-api/ClientManager.cpp
+++ b/telegram-bot-api/ClientManager.cpp
@@ -350,7 +350,7 @@ void ClientManager::start_up() {
parameters_->shared_data_->webhook_db_ = std::move(concurrent_webhook_db);
auto &webhook_db = *parameters_->shared_data_->webhook_db_;
- for (auto key_value : webhook_db.get_all()) {
+ for (const auto &key_value : webhook_db.get_all()) {
if (!token_range_(td::to_integer<td::uint64>(key_value.first))) {
LOG(WARNING) << "DROP WEBHOOK: " << key_value.first << " ---> " << key_value.second;
webhook_db.erase(key_value.first);