mirror of
https://github.com/tdlight-team/tdlight-telegram-bot-api.git
synced 2024-11-04 11:07:23 +01:00
Update TDLib. Support can_manage_voice_chats administrator right.
This commit is contained in:
parent
e2ae8dad02
commit
e184e6c117
2
td
2
td
@ -1 +1 @@
|
|||||||
Subproject commit eb80924dad30af4e6d8385d058bb7e847174df5e
|
Subproject commit db3875710bcf9f29baa360d91d7b11b0199229a9
|
@ -13,6 +13,7 @@
|
|||||||
|
|
||||||
#include "td/db/TQueue.h"
|
#include "td/db/TQueue.h"
|
||||||
|
|
||||||
|
#include "td/utils/algorithm.h"
|
||||||
#include "td/utils/base64.h"
|
#include "td/utils/base64.h"
|
||||||
#include "td/utils/filesystem.h"
|
#include "td/utils/filesystem.h"
|
||||||
#include "td/utils/HttpUrl.h"
|
#include "td/utils/HttpUrl.h"
|
||||||
@ -1746,6 +1747,12 @@ void Client::JsonMessage::store(JsonValueScope *scope) const {
|
|||||||
object("proximity_alert_triggered", JsonProximityAlertTriggered(content, client_));
|
object("proximity_alert_triggered", JsonProximityAlertTriggered(content, client_));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case td_api::messageVoiceChatStarted::ID:
|
||||||
|
break;
|
||||||
|
case td_api::messageVoiceChatEnded::ID:
|
||||||
|
break;
|
||||||
|
case td_api::messageInviteVoiceChatParticipants::ID:
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
UNREACHABLE();
|
UNREACHABLE();
|
||||||
}
|
}
|
||||||
@ -2056,6 +2063,7 @@ class Client::JsonChatMember : public Jsonable {
|
|||||||
object("can_pin_messages", td::JsonBool(administrator->can_pin_messages_));
|
object("can_pin_messages", td::JsonBool(administrator->can_pin_messages_));
|
||||||
}
|
}
|
||||||
object("can_promote_members", td::JsonBool(administrator->can_promote_members_));
|
object("can_promote_members", td::JsonBool(administrator->can_promote_members_));
|
||||||
|
object("can_manage_voice_chats", td::JsonBool(administrator->can_manage_voice_chats_));
|
||||||
if (!administrator->custom_title_.empty()) {
|
if (!administrator->custom_title_.empty()) {
|
||||||
object("custom_title", administrator->custom_title_);
|
object("custom_title", administrator->custom_title_);
|
||||||
}
|
}
|
||||||
@ -5021,7 +5029,7 @@ td::Result<td_api::object_ptr<td_api::InputInlineQueryResult>> Client::get_inlin
|
|||||||
TRY_RESULT(sticker_file_id, get_json_object_string_field(object, "sticker_file_id", false));
|
TRY_RESULT(sticker_file_id, get_json_object_string_field(object, "sticker_file_id", false));
|
||||||
|
|
||||||
if (input_message_content == nullptr) {
|
if (input_message_content == nullptr) {
|
||||||
input_message_content = make_object<td_api::inputMessageSticker>(nullptr, nullptr, 0, 0);
|
input_message_content = make_object<td_api::inputMessageSticker>(nullptr, nullptr, 0, 0, td::string());
|
||||||
}
|
}
|
||||||
return make_object<td_api::inputInlineQueryResultSticker>(id, "", sticker_file_id, 0, 0, std::move(reply_markup),
|
return make_object<td_api::inputInlineQueryResultSticker>(id, "", sticker_file_id, 0, 0, std::move(reply_markup),
|
||||||
std::move(input_message_content));
|
std::move(input_message_content));
|
||||||
@ -6021,7 +6029,8 @@ td::Status Client::process_send_sticker_query(PromisedQueryPtr &query) {
|
|||||||
if (sticker == nullptr) {
|
if (sticker == nullptr) {
|
||||||
return Status::Error(400, "There is no sticker in the request");
|
return Status::Error(400, "There is no sticker in the request");
|
||||||
}
|
}
|
||||||
do_send_message(make_object<td_api::inputMessageSticker>(std::move(sticker), nullptr, 0, 0), std::move(query));
|
do_send_message(make_object<td_api::inputMessageSticker>(std::move(sticker), nullptr, 0, 0, td::string()),
|
||||||
|
std::move(query));
|
||||||
return Status::OK();
|
return Status::OK();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -6897,10 +6906,11 @@ td::Status Client::process_promote_chat_member_query(PromisedQueryPtr &query) {
|
|||||||
auto can_restrict_members = to_bool(query->arg("can_restrict_members"));
|
auto can_restrict_members = to_bool(query->arg("can_restrict_members"));
|
||||||
auto can_pin_messages = to_bool(query->arg("can_pin_messages"));
|
auto can_pin_messages = to_bool(query->arg("can_pin_messages"));
|
||||||
auto can_promote_members = to_bool(query->arg("can_promote_members"));
|
auto can_promote_members = to_bool(query->arg("can_promote_members"));
|
||||||
|
auto can_manage_voice_chats = to_bool(query->arg("can_manage_voice_chats"));
|
||||||
auto is_anonymous = to_bool(query->arg("is_anonymous"));
|
auto is_anonymous = to_bool(query->arg("is_anonymous"));
|
||||||
auto status = make_object<td_api::chatMemberStatusAdministrator>(
|
auto status = make_object<td_api::chatMemberStatusAdministrator>(
|
||||||
td::string(), true, can_change_info, can_post_messages, can_edit_messages, can_delete_messages, can_invite_users,
|
td::string(), true, can_change_info, can_post_messages, can_edit_messages, can_delete_messages, can_invite_users,
|
||||||
can_restrict_members, can_pin_messages, can_promote_members, is_anonymous);
|
can_restrict_members, can_pin_messages, can_promote_members, can_manage_voice_chats, is_anonymous);
|
||||||
check_chat(chat_id, AccessRights::Write, std::move(query),
|
check_chat(chat_id, AccessRights::Write, std::move(query),
|
||||||
[this, user_id, status = std::move(status)](int64 chat_id, PromisedQueryPtr query) mutable {
|
[this, user_id, status = std::move(status)](int64 chat_id, PromisedQueryPtr query) mutable {
|
||||||
auto chat_info = get_chat(chat_id);
|
auto chat_info = get_chat(chat_id);
|
||||||
@ -8391,6 +8401,12 @@ bool Client::need_skip_update_message(int64 chat_id, const object_ptr<td_api::me
|
|||||||
return true;
|
return true;
|
||||||
case td_api::messageCustomServiceAction::ID:
|
case td_api::messageCustomServiceAction::ID:
|
||||||
return true;
|
return true;
|
||||||
|
case td_api::messageVoiceChatStarted::ID:
|
||||||
|
return true;
|
||||||
|
case td_api::messageVoiceChatEnded::ID:
|
||||||
|
return true;
|
||||||
|
case td_api::messageInviteVoiceChatParticipants::ID:
|
||||||
|
return true;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
#include "td/actor/ConcurrentScheduler.h"
|
#include "td/actor/ConcurrentScheduler.h"
|
||||||
#include "td/actor/PromiseFuture.h"
|
#include "td/actor/PromiseFuture.h"
|
||||||
|
|
||||||
|
#include "td/utils/algorithm.h"
|
||||||
#include "td/utils/buffer.h"
|
#include "td/utils/buffer.h"
|
||||||
#include "td/utils/common.h"
|
#include "td/utils/common.h"
|
||||||
#include "td/utils/crypto.h"
|
#include "td/utils/crypto.h"
|
||||||
|
Loading…
Reference in New Issue
Block a user