diff --git a/manager.cpp b/manager.cpp index 3324161..3600c97 100644 --- a/manager.cpp +++ b/manager.cpp @@ -19,21 +19,32 @@ RepostManager::RepostManager(uv_loop_t *eventLoop, tg::AuthCodeProvider tgCodePr m_vk.set_service_api_key(config->vkServiceKey); } +void RepostManager::load_more_telegram_chats() { + m_tg.send_query(td_api::make_object(td_api::make_object(), 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() { m_tg.add_update_handler([this](void*, td_api::Object &obj){ if (obj.get_id() == td_api::updateAuthorizationState::ID) { auto &authState = (td_api::updateAuthorizationState&)obj; if (authState.authorization_state_->get_id() == td_api::authorizationStateReady::ID) { - //on_clients_ready(); spdlog::info("loading Telegram chats..."); - m_tg.send_query(td_api::make_object(td_api::make_object(), 1000), [this](auto result){ - spdlog::debug("loadChats done"); - on_clients_ready(); - }); + load_more_telegram_chats(); } } else if (obj.get_id() == td_api::updateNewChat::ID) { 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");