Support stories_changelog_user_id option.
This commit is contained in:
parent
47d30cc7dc
commit
09a30a4b3c
@ -8,6 +8,7 @@
|
||||
|
||||
#include "td/telegram/AuthManager.h"
|
||||
#include "td/telegram/ConnectionState.h"
|
||||
#include "td/telegram/ContactsManager.h"
|
||||
#include "td/telegram/Global.h"
|
||||
#include "td/telegram/JsonValue.h"
|
||||
#include "td/telegram/LinkManager.h"
|
||||
@ -1561,6 +1562,7 @@ void ConfigManager::process_app_config(tl_object_ptr<telegram_api::JSONValue> &c
|
||||
int32 dialog_filter_update_period = 300;
|
||||
bool archive_all_stories = false;
|
||||
int32 story_viewers_expire_period = 86400;
|
||||
int64 stories_changelog_user_id = ContactsManager::get_service_notifications_user_id().get();
|
||||
if (config->get_id() == telegram_api::jsonObject::ID) {
|
||||
for (auto &key_value : static_cast<telegram_api::jsonObject *>(config.get())->value_) {
|
||||
Slice key = key_value->key_;
|
||||
@ -1965,6 +1967,10 @@ void ConfigManager::process_app_config(tl_object_ptr<telegram_api::JSONValue> &c
|
||||
story_viewers_expire_period = get_json_value_int(std::move(key_value->value_), key);
|
||||
continue;
|
||||
}
|
||||
if (key == "stories_changelog_user_id") {
|
||||
stories_changelog_user_id = get_json_value_long(std::move(key_value->value_), key);
|
||||
continue;
|
||||
}
|
||||
|
||||
new_values.push_back(std::move(key_value));
|
||||
}
|
||||
@ -2130,6 +2136,11 @@ void ConfigManager::process_app_config(tl_object_ptr<telegram_api::JSONValue> &c
|
||||
} else {
|
||||
options.set_option_empty("gift_premium_from_input_field");
|
||||
}
|
||||
if (stories_changelog_user_id != ContactsManager::get_service_notifications_user_id().get()) {
|
||||
options.set_option_integer("stories_changelog_user_id", stories_changelog_user_id);
|
||||
} else {
|
||||
options.set_option_empty("stories_changelog_user_id");
|
||||
}
|
||||
|
||||
if (story_viewers_expire_period >= 0) {
|
||||
options.set_option_integer("story_viewers_expire_period", story_viewers_expire_period);
|
||||
|
@ -106,7 +106,7 @@ class ConfigManager final : public NetQueryCallback {
|
||||
|
||||
private:
|
||||
struct AppConfig {
|
||||
static constexpr int32 CURRENT_VERSION = 5;
|
||||
static constexpr int32 CURRENT_VERSION = 6;
|
||||
int32 version_ = 0;
|
||||
int32 hash_ = 0;
|
||||
telegram_api::object_ptr<telegram_api::JSONValue> config_;
|
||||
|
@ -293,7 +293,7 @@ bool OptionManager::is_internal_option(Slice name) {
|
||||
name == "saved_gifs_limit_premium" || name == "session_count" || name == "since_last_open" ||
|
||||
name == "stickers_faved_limit_default" || name == "stickers_faved_limit_premium" ||
|
||||
name == "stickers_normal_by_emoji_per_premium_num" || name == "stickers_premium_by_emoji_num" ||
|
||||
name == "story_viewers_expire_period";
|
||||
name == "stories_changelog_user_id" || name == "story_viewers_expire_period";
|
||||
case 'v':
|
||||
return name == "video_note_size_max";
|
||||
case 'w':
|
||||
|
@ -1410,8 +1410,9 @@ td_api::object_ptr<td_api::story> StoryManager::get_story_object(StoryFullId sto
|
||||
}
|
||||
|
||||
auto story_id = story_full_id.get_story_id();
|
||||
bool is_visible_only_for_self = !story_id.is_server() ||
|
||||
dialog_id == DialogId(ContactsManager::get_service_notifications_user_id()) ||
|
||||
auto changelog_user_id = td_->option_manager_->get_option_integer(
|
||||
"stories_changelog_user_id", ContactsManager::get_service_notifications_user_id().get());
|
||||
bool is_visible_only_for_self = !story_id.is_server() || dialog_id == DialogId(changelog_user_id) ||
|
||||
(!story->is_pinned_ && !is_active_story(story));
|
||||
bool can_be_forwarded = !story->noforwards_ && story_id.is_server() && privacy_rules != nullptr &&
|
||||
privacy_rules->rules_.size() == 1u &&
|
||||
|
Loading…
Reference in New Issue
Block a user