diff --git a/.venv/Lib/site-packages/nonebot_plugin_apscheduler/__init__.py b/.venv/Lib/site-packages/nonebot_plugin_apscheduler/__init__.py
new file mode 100644
index 0000000..27b1153
--- /dev/null
+++ b/.venv/Lib/site-packages/nonebot_plugin_apscheduler/__init__.py
@@ -0,0 +1,52 @@
+import logging
+
+from nonebot import get_driver
+from nonebot.plugin import PluginMetadata
+from nonebot.log import LoguruHandler, logger
+from apscheduler.schedulers.asyncio import AsyncIOScheduler
+
+from .config import Config
+
+__plugin_meta__ = PluginMetadata(
+ name="定时任务",
+ description="APScheduler 定时任务插件",
+ usage=(
+ '声明依赖: `require("nonebot_plugin_apscheduler")\n'
+ "导入调度器: `from nonebot_plugin_apscheduler import scheduler`\n"
+ "添加任务: `scheduler.add_job(...)`\n"
+ ),
+ type="library",
+ homepage="https://github.com/nonebot/plugin-apscheduler",
+ config=Config,
+ supported_adapters=None,
+)
+
+
+driver = get_driver()
+global_config = driver.config
+plugin_config = Config(**global_config.dict())
+
+scheduler = AsyncIOScheduler()
+scheduler.configure(plugin_config.apscheduler_config)
+
+
+async def _start_scheduler():
+ if not scheduler.running:
+ scheduler.start()
+ logger.opt(colors=True).info("Scheduler Started")
+
+
+async def _shutdown_scheduler():
+ if scheduler.running:
+ scheduler.shutdown()
+ logger.opt(colors=True).info("Scheduler Shutdown")
+
+
+if plugin_config.apscheduler_autostart:
+ driver.on_startup(_start_scheduler)
+ driver.on_shutdown(_shutdown_scheduler)
+
+aps_logger = logging.getLogger("apscheduler")
+aps_logger.setLevel(plugin_config.apscheduler_log_level)
+aps_logger.handlers.clear()
+aps_logger.addHandler(LoguruHandler())
diff --git a/.venv/Lib/site-packages/nonebot_plugin_apscheduler/config.py b/.venv/Lib/site-packages/nonebot_plugin_apscheduler/config.py
new file mode 100644
index 0000000..b399056
--- /dev/null
+++ b/.venv/Lib/site-packages/nonebot_plugin_apscheduler/config.py
@@ -0,0 +1,13 @@
+from pydantic import Field
+from pydantic_settings import BaseSettings
+
+
+class Config(BaseSettings):
+ apscheduler_autostart: bool = True
+ apscheduler_log_level: int = 30
+ apscheduler_config: dict = Field(
+ default_factory=lambda: {"apscheduler.timezone": "Asia/Shanghai"}
+ )
+
+ class Config:
+ extra = "ignore"