diff --git a/media_downloader.py b/media_downloader.py index 9bd874b..d56712e 100644 --- a/media_downloader.py +++ b/media_downloader.py @@ -705,10 +705,10 @@ async def download_chat_task( update_task_progress(estimated_total=actual_total, is_checking=False) -async def _wait_node_finish(node: TaskNode): +async def _wait_node_finish(chat_config): """等待单个频道的所有下载任务完成(含重试中的任务)""" while True: - if node.need_check and node.finish_task >= node.total_task: + if chat_config.need_check and chat_config.finish_task >= chat_config.total_task: break await asyncio.sleep(0.5) @@ -725,7 +725,7 @@ async def download_all_chat(client: pyrogram.Client): finally: value.need_check = True # 等当前频道所有下载任务跑完,再拍快照;否则 completed_files 还是 0 - await _wait_node_finish(value.node) + await _wait_node_finish(value) snapshot_current_chat() reset_task_progress() # 所有频道都已在循环内快照并重置,此处仅确保最终状态干净