diff options
Diffstat (limited to 'ATRI')
-rw-r--r-- | ATRI/plugins/broadcast.py | 5 | ||||
-rw-r--r-- | ATRI/plugins/essential/__init__.py | 8 | ||||
-rw-r--r-- | ATRI/utils/__init__.py | 7 |
3 files changed, 13 insertions, 7 deletions
diff --git a/ATRI/plugins/broadcast.py b/ATRI/plugins/broadcast.py index 863381a..dd42c42 100644 --- a/ATRI/plugins/broadcast.py +++ b/ATRI/plugins/broadcast.py @@ -1,4 +1,3 @@ -import json import random import asyncio @@ -28,7 +27,7 @@ async def __load_reject_list() -> list: path = plugin.get_path() / "rej_list.json" file = FileDealer(path) if not path.is_file(): - await file.write(list()) + await file.write_json(list()) return list() return list(file.json()) @@ -40,7 +39,7 @@ async def __store_reject_list(data: list) -> None: if not path.is_file(): await __load_reject_list() - await file.write(data) + await file.write_json(data) plugin = Service("广播").document("向bot所在的所有群发送信息").rule(to_bot()) diff --git a/ATRI/plugins/essential/__init__.py b/ATRI/plugins/essential/__init__.py index c16e101..883c191 100644 --- a/ATRI/plugins/essential/__init__.py +++ b/ATRI/plugins/essential/__init__.py @@ -49,7 +49,7 @@ async def _(event: FriendRequestEvent): path = __ESSENTIAL_DIR / "friend_add.json" file = FileDealer(path) if not path.is_file(): - await file.write(dict()) + await file.write_json(dict()) data = dict() apply_code = event.flag @@ -63,7 +63,7 @@ async def _(event: FriendRequestEvent): comment=apply_comment, time=now_time, ).dict() - await file.write(json.dumps(data)) + await file.write_json(data) result = ( MessageBuilder("咱收到一条好友请求!") @@ -83,7 +83,7 @@ async def _(event: GroupRequestEvent): path = __ESSENTIAL_DIR / "group_invite.json" file = FileDealer(path) if not path.is_file(): - await file.write(dict()) + await file.write_json(dict()) data = dict() apply_code = event.flag @@ -97,7 +97,7 @@ async def _(event: GroupRequestEvent): comment=apply_comment, time=now_time, ).dict() - await file.write(json.dumps(data)) + await file.write_json(data) result = ( MessageBuilder("咱收到一条应邀入群请求!") diff --git a/ATRI/utils/__init__.py b/ATRI/utils/__init__.py index 328f1ad..a6526c2 100644 --- a/ATRI/utils/__init__.py +++ b/ATRI/utils/__init__.py @@ -128,6 +128,13 @@ class FileDealer: async def write(self, content): try: async with aiofiles.open(self.path, "w", encoding=self.encoding) as target: + await target.write(content) + except Exception: + raise Exception(f"Writing file ({self.path}) failed!") + + async def write_json(self, content): + try: + async with aiofiles.open(self.path, "w", encoding=self.encoding) as target: await target.write(json.dumps(content)) except Exception: raise Exception(f"Writing file ({self.path}) failed!") |