diff options
author | 0w0 <[email protected]> | 2022-09-27 22:34:48 +0800 |
---|---|---|
committer | GitHub <[email protected]> | 2022-09-27 22:34:48 +0800 |
commit | d706618f4fb9cf28df16e785c654362496219316 (patch) | |
tree | 940c01d7422047c5eed330f9e2dc92988d6f9161 | |
parent | c234d65b536a21e40d9edde00bbbd546273a5464 (diff) | |
parent | d4ba45afd544e7d0f532eff5011bd289e10e26bf (diff) | |
download | ATRI-d706618f4fb9cf28df16e785c654362496219316.tar.gz ATRI-d706618f4fb9cf28df16e785c654362496219316.tar.bz2 ATRI-d706618f4fb9cf28df16e785c654362496219316.zip |
🔀 Merge pull request #63 from yangrq1018/main
Improve structure / format of the code.
-rw-r--r-- | ATRI/exceptions.py | 2 | ||||
-rw-r--r-- | ATRI/plugins/__init__.py | 43 | ||||
-rw-r--r-- | ATRI/plugins/essential.py | 47 |
3 files changed, 50 insertions, 42 deletions
diff --git a/ATRI/exceptions.py b/ATRI/exceptions.py index 4d97799..27ba426 100644 --- a/ATRI/exceptions.py +++ b/ATRI/exceptions.py @@ -45,7 +45,7 @@ def load_error(track_id: str) -> dict: return json.loads(path.read_bytes()) -class BaseBotException(BaseException): +class BaseBotException(Exception): prompt: Optional[str] = "ignore" def __init__(self, prompt: Optional[str]) -> None: diff --git a/ATRI/plugins/__init__.py b/ATRI/plugins/__init__.py new file mode 100644 index 0000000..6ca629c --- /dev/null +++ b/ATRI/plugins/__init__.py @@ -0,0 +1,43 @@ +from ATRI.database import init_database, close_database_connection +from ATRI.utils.check_update import CheckUpdate +from ATRI.log import logger as log +from ATRI.utils.apscheduler import scheduler +import ATRI + +from time import sleep + +driver = ATRI.driver() + + [email protected]_startup +async def startup(): + await init_database() + + log.info(f"Now running: {ATRI.__version__}") + + log.info("Starting to check update...") + commit_info = await CheckUpdate.show_latest_commit_info() + if commit_info: + log.info(commit_info) + + l_v, l_v_t = await CheckUpdate.show_latest_version() + if l_v and l_v_t: + if l_v != ATRI.__version__: + log.warning("新版本已发布, 请更新.") + log.warning(f"最新版本: {l_v} 更新时间: {l_v_t}") + sleep(3) + + if not scheduler.running: + scheduler.start() + log.info("Scheduler Started.") + + log.info("アトリは、高性能ですから!") + + [email protected]_shutdown +async def shutdown(): + await close_database_connection() + + scheduler.shutdown(False) + + log.info("Thanks for using.") diff --git a/ATRI/plugins/essential.py b/ATRI/plugins/essential.py index df1618e..0559cce 100644 --- a/ATRI/plugins/essential.py +++ b/ATRI/plugins/essential.py @@ -6,6 +6,7 @@ from datetime import datetime from pydantic.main import BaseModel from random import choice, randint from pathlib import Path +from typing import Union import nonebot from nonebot.permission import SUPERUSER @@ -27,17 +28,15 @@ from nonebot.adapters.onebot.v11 import ( Message, ) -import ATRI + from ATRI.service import Service from ATRI.log import logger as log from ATRI.config import BotSelfConfig -from ATRI.database import init_database, close_database_connection + from ATRI.utils import MessageChecker from ATRI.utils.apscheduler import scheduler -from ATRI.utils.check_update import CheckUpdate -driver = ATRI.driver() bots = nonebot.get_bots() @@ -49,40 +48,6 @@ MANEGE_DIR.mkdir(parents=True, exist_ok=True) TEMP_PATH.mkdir(parents=True, exist_ok=True) [email protected]_startup -async def startup(): - await init_database() - - log.info(f"Now running: {ATRI.__version__}") - - log.info("Starting to check update...") - commit_info = await CheckUpdate.show_latest_commit_info() - if commit_info: - log.info(commit_info) - - l_v, l_v_t = await CheckUpdate.show_latest_version() - if l_v and l_v_t: - if l_v != ATRI.__version__: - log.warning("新版本已发布, 请更新.") - log.warning(f"最新版本: {l_v} 更新时间: {l_v_t}") - sleep(3) - - if not scheduler.running: - scheduler.start() - log.info("Scheduler Started.") - - log.info("アトリは、高性能ですから!") - - [email protected]_shutdown -async def shutdown(): - await close_database_connection() - - scheduler.shutdown(False) - - log.info("Thanks for using.") - - @run_preprocessor async def _check_block(event: MessageEvent): user_file = "block_user.json" @@ -312,7 +277,6 @@ async def _recall_group_event(bot: Bot, event: GroupRecallNoticeEvent): m = repo else: return - msg = f"主人,咱拿到了一条撤回信息!\n{user}@[群:{group}]\n撤回了\n{m}" for superuser in BotSelfConfig.superusers: await bot.send_private_msg(user_id=int(superuser), message=Message(msg)) @@ -378,9 +342,10 @@ async def _clear_cache(): log.warning("清除缓存失败,请手动清除:data/temp") -def recall_msg_dealer(msg: dict) -> str: +def recall_msg_dealer(msg: Union[str, dict]) -> str: + if isinstance(msg, str): + return msg temp_m = list() - for i in msg: _type = i.get("type", "idk") _data = i.get("data", "idk") |