diff --git a/lagrange/__init__.py b/lagrange/__init__.py index 47bf9da..fa1dfed 100644 --- a/lagrange/__init__.py +++ b/lagrange/__init__.py @@ -23,6 +23,7 @@ def __init__( device_info_path="./device.json", signinfo_path="./sig.bin", ): + self.scheduled_tasks = [] # 添加这行来存储计划任务 self.im = InfoManager(uin, device_info_path, signinfo_path) self.uin = uin self.info = app_list[protocol] @@ -40,6 +41,9 @@ async def login(self, client: Client): return True else: return await client.login() + def schedule_task(self, task): + """添加计划任务""" + self.scheduled_tasks.append(task) async def run(self): with self.im as im: @@ -57,6 +61,9 @@ async def run(self): if not status: log.login.error("Login failed") return + # 登录成功后执行计划任务 + for task in self.scheduled_tasks: + asyncio.create_task(task(self.client)) await self.client.wait_closed() def launch(self):