summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ATRI/plugins/broadcast.py5
-rw-r--r--ATRI/plugins/essential/__init__.py8
-rw-r--r--ATRI/utils/__init__.py7
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!")