|
|
|
@ -734,10 +734,12 @@ class Client::JsonChat final : public Jsonable {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
object("permissions", JsonChatPermissions(permissions));
|
|
|
|
object("permissions", JsonChatPermissions(permissions));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
auto everyone_is_administrator = permissions->can_send_messages_ && permissions->can_send_media_messages_ &&
|
|
|
|
auto everyone_is_administrator =
|
|
|
|
permissions->can_send_polls_ && permissions->can_send_other_messages_ &&
|
|
|
|
permissions->can_send_messages_ && permissions->can_send_audios_ && permissions->can_send_documents_ &&
|
|
|
|
permissions->can_add_web_page_previews_ && permissions->can_change_info_ &&
|
|
|
|
permissions->can_send_photos_ && permissions->can_send_videos_ && permissions->can_send_video_notes_ &&
|
|
|
|
permissions->can_invite_users_ && permissions->can_pin_messages_;
|
|
|
|
permissions->can_send_voice_notes_ && permissions->can_send_polls_ &&
|
|
|
|
|
|
|
|
permissions->can_send_other_messages_ && permissions->can_add_web_page_previews_ &&
|
|
|
|
|
|
|
|
permissions->can_change_info_ && permissions->can_invite_users_ && permissions->can_pin_messages_;
|
|
|
|
object("all_members_are_administrators", td::JsonBool(everyone_is_administrator));
|
|
|
|
object("all_members_are_administrators", td::JsonBool(everyone_is_administrator));
|
|
|
|
photo = group_info->photo.get();
|
|
|
|
photo = group_info->photo.get();
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
@ -2196,6 +2198,10 @@ void Client::JsonMessage::store(JsonValueScope *scope) const {
|
|
|
|
case td_api::messageBotWriteAccessAllowed::ID:
|
|
|
|
case td_api::messageBotWriteAccessAllowed::ID:
|
|
|
|
object("write_access_allowed", JsonEmptyObject());
|
|
|
|
object("write_access_allowed", JsonEmptyObject());
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case td_api::messageUserShared::ID:
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case td_api::messageChatShared::ID:
|
|
|
|
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
default:
|
|
|
|
UNREACHABLE();
|
|
|
|
UNREACHABLE();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -6914,9 +6920,11 @@ td::Result<td_api::object_ptr<td_api::chatPermissions>> Client::get_chat_permiss
|
|
|
|
if (can_send_other_messages || can_add_web_page_previews) {
|
|
|
|
if (can_send_other_messages || can_add_web_page_previews) {
|
|
|
|
can_send_media_messages = true;
|
|
|
|
can_send_media_messages = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return make_object<td_api::chatPermissions>(can_send_messages, can_send_media_messages, can_send_polls,
|
|
|
|
return make_object<td_api::chatPermissions>(can_send_messages, can_send_media_messages, can_send_media_messages,
|
|
|
|
can_send_other_messages, can_add_web_page_previews, can_change_info,
|
|
|
|
can_send_media_messages, can_send_media_messages, can_send_media_messages,
|
|
|
|
can_invite_users, can_pin_messages, can_manage_topics);
|
|
|
|
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, can_manage_topics);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
td::Result<td_api::object_ptr<td_api::InputMessageContent>> Client::get_input_media(const Query *query,
|
|
|
|
td::Result<td_api::object_ptr<td_api::InputMessageContent>> Client::get_input_media(const Query *query,
|
|
|
|
@ -9975,8 +9983,11 @@ void Client::json_store_administrator_rights(td::JsonObjectScope &object, const
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void Client::json_store_permissions(td::JsonObjectScope &object, const td_api::chatPermissions *permissions) {
|
|
|
|
void Client::json_store_permissions(td::JsonObjectScope &object, const td_api::chatPermissions *permissions) {
|
|
|
|
|
|
|
|
bool can_send_media_messages = permissions->can_send_audios_ || permissions->can_send_documents_ ||
|
|
|
|
|
|
|
|
permissions->can_send_photos_ || permissions->can_send_videos_ ||
|
|
|
|
|
|
|
|
permissions->can_send_video_notes_ || permissions->can_send_voice_notes_;
|
|
|
|
object("can_send_messages", td::JsonBool(permissions->can_send_messages_));
|
|
|
|
object("can_send_messages", td::JsonBool(permissions->can_send_messages_));
|
|
|
|
object("can_send_media_messages", td::JsonBool(permissions->can_send_media_messages_));
|
|
|
|
object("can_send_media_messages", td::JsonBool(can_send_media_messages));
|
|
|
|
object("can_send_polls", td::JsonBool(permissions->can_send_polls_));
|
|
|
|
object("can_send_polls", td::JsonBool(permissions->can_send_polls_));
|
|
|
|
object("can_send_other_messages", td::JsonBool(permissions->can_send_other_messages_));
|
|
|
|
object("can_send_other_messages", td::JsonBool(permissions->can_send_other_messages_));
|
|
|
|
object("can_add_web_page_previews", td::JsonBool(permissions->can_add_web_page_previews_));
|
|
|
|
object("can_add_web_page_previews", td::JsonBool(permissions->can_add_web_page_previews_));
|
|
|
|
@ -10454,6 +10465,10 @@ bool Client::need_skip_update_message(int64 chat_id, const object_ptr<td_api::me
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
case td_api::messageSuggestProfilePhoto::ID:
|
|
|
|
case td_api::messageSuggestProfilePhoto::ID:
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
|
|
|
|
case td_api::messageUserShared::ID:
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
case td_api::messageChatShared::ID:
|
|
|
|
|
|
|
|
return true;
|
|
|
|
default:
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|