fix required chats not being loaded at first startup
This commit is contained in:
parent
5258ee0deb
commit
2537d3042d
23
manager.cpp
23
manager.cpp
@ -19,21 +19,32 @@ RepostManager::RepostManager(uv_loop_t *eventLoop, tg::AuthCodeProvider tgCodePr
|
|||||||
m_vk.set_service_api_key(config->vkServiceKey);
|
m_vk.set_service_api_key(config->vkServiceKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RepostManager::load_more_telegram_chats() {
|
||||||
|
m_tg.send_query(td_api::make_object<td_api::loadChats>(td_api::make_object<td_api::chatListMain>(), 1000), [this](auto result){
|
||||||
|
if (result->get_id() == td_api::ok::ID) {
|
||||||
|
spdlog::info("loading more Telegram chats...");
|
||||||
|
load_more_telegram_chats();
|
||||||
|
} else if (result->get_id() == td_api::error::ID) {
|
||||||
|
spdlog::info("loaded all chats");
|
||||||
|
on_clients_ready();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
void RepostManager::start() {
|
void RepostManager::start() {
|
||||||
m_tg.add_update_handler([this](void*, td_api::Object &obj){
|
m_tg.add_update_handler([this](void*, td_api::Object &obj){
|
||||||
if (obj.get_id() == td_api::updateAuthorizationState::ID) {
|
if (obj.get_id() == td_api::updateAuthorizationState::ID) {
|
||||||
auto &authState = (td_api::updateAuthorizationState&)obj;
|
auto &authState = (td_api::updateAuthorizationState&)obj;
|
||||||
if (authState.authorization_state_->get_id() == td_api::authorizationStateReady::ID) {
|
if (authState.authorization_state_->get_id() == td_api::authorizationStateReady::ID) {
|
||||||
//on_clients_ready();
|
|
||||||
spdlog::info("loading Telegram chats...");
|
spdlog::info("loading Telegram chats...");
|
||||||
m_tg.send_query(td_api::make_object<td_api::loadChats>(td_api::make_object<td_api::chatListMain>(), 1000), [this](auto result){
|
load_more_telegram_chats();
|
||||||
spdlog::debug("loadChats done");
|
|
||||||
on_clients_ready();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
} else if (obj.get_id() == td_api::updateNewChat::ID) {
|
} else if (obj.get_id() == td_api::updateNewChat::ID) {
|
||||||
auto &update = (td_api::updateNewChat&)obj;
|
auto &update = (td_api::updateNewChat&)obj;
|
||||||
//spdlog::debug("chat loaded: {}", update.chat_->title_);
|
if (update.chat_->id_ == m_appConfig->tgDestinationId)
|
||||||
|
spdlog::info("destination chat loaded");
|
||||||
|
if (update.chat_->id_ == m_appConfig->tgSourceId)
|
||||||
|
spdlog::info("source chat loaded");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
spdlog::info("starting Telegram authentication");
|
spdlog::info("starting Telegram authentication");
|
||||||
|
Loading…
Reference in New Issue
Block a user