From 9c525141f611079d8ccbf93444c34c7f10715100 Mon Sep 17 00:00:00 2001 From: snowykami Date: Sun, 13 Oct 2024 02:56:29 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E5=88=86=E7=A6=BB`magicoca`?= =?UTF-8?q?=E5=92=8C`croterline`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/liteyuki_plugins/nonebot/dev_reloader.py | 26 ++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/liteyuki_plugins/nonebot/dev_reloader.py diff --git a/src/liteyuki_plugins/nonebot/dev_reloader.py b/src/liteyuki_plugins/nonebot/dev_reloader.py new file mode 100644 index 00000000..f0a71983 --- /dev/null +++ b/src/liteyuki_plugins/nonebot/dev_reloader.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +""" +NoneBot 开发环境重载监视器 +""" +import os.path + +from liteyuki.dev import observer +from liteyuki import get_bot, logger +from liteyuki.utils import IS_MAIN_PROCESS +from watchdog.events import FileSystemEvent + + +bot = get_bot() + +exclude_extensions = (".pyc", ".pyo") + + +@observer.on_file_system_event( + directories=("src/nonebot_plugins",), + event_filter=lambda event: not event.src_path.endswith(exclude_extensions) + and ("__pycache__" not in event.src_path) + and os.path.isfile(event.src_path), +) +def restart_nonebot_process(event: FileSystemEvent): + logger.debug(f"File {event.src_path} changed, reloading nonebot...") + bot.restart_process("nonebot")