summaryrefslogtreecommitdiff
path: root/utils/utils_history
diff options
context:
space:
mode:
authorKyomotoi <[email protected]>2020-10-07 13:03:27 +0800
committerKyomotoi <[email protected]>2020-10-07 13:03:27 +0800
commitcec804951b97bcab81551bb8c7a1a1e1c473aaa7 (patch)
tree03b7204af6ebc869e887494ab2609a6e9b7fd72c /utils/utils_history
parentab467e8788b7ef8382bab63fb1a91c8b6305c501 (diff)
downloadATRI-cec804951b97bcab81551bb8c7a1a1e1c473aaa7.tar.gz
ATRI-cec804951b97bcab81551bb8c7a1a1e1c473aaa7.tar.bz2
ATRI-cec804951b97bcab81551bb8c7a1a1e1c473aaa7.zip
[Update]
Diffstat (limited to 'utils/utils_history')
-rw-r--r--utils/utils_history/__init__.py112
1 files changed, 112 insertions, 0 deletions
diff --git a/utils/utils_history/__init__.py b/utils/utils_history/__init__.py
new file mode 100644
index 0000000..d6a6d33
--- /dev/null
+++ b/utils/utils_history/__init__.py
@@ -0,0 +1,112 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+import os
+import json
+from pathlib import Path
+from typing import Optional
+
+def saveMessage(message_id: str, message: str, user: str, group: Optional[str] = None) -> None:
+ """
+ :说明:
+
+ 获取信息并进行存储。
+ :参数:
+
+ * ``message_id: str``: 消息id
+ * ``message: str``: 目标信息
+ * ``user: str``: 发出用户
+ * ``group: Optional[str] = None``: 发出群号,若不传入则归入私聊消息
+
+ :返回:
+
+ None
+
+ :用法:
+
+ .. code-block:: python
+
+ getMessage(message='test', user=123456789, group=123456789)
+
+ """
+ file_group = Path('.') / 'ATRI' / 'data' / 'data_Group' / f'{group}' / 'message.json'
+ file_private = Path('.') / 'ATRI' / 'data' / 'data_Log' / 'message_private.json'
+
+ try:
+ with open(file_group, 'r') as f:
+ data_group = json.load(f)
+ except:
+ data_group = {}
+
+ try:
+ with open(file_private, 'r') as f:
+ data_private = json.load(f)
+ except:
+ data_private = {}
+
+ if group:
+ data_group[f"{message_id}"] = {"message": f"{message}", "user_id": f"{user}", "group_id": f"{group}"}
+
+ try:
+ with open(file_group, 'w') as f:
+ f.write(json.dumps(data_group))
+ f.close()
+ except:
+ os.mkdir(Path('.') / 'ATRI' / 'data' / 'data_Group' / f'{group}')
+ with open(file_group, 'w') as f:
+ f.write(json.dumps(data_group))
+ f.close()
+ else:
+ data_private[f"{message_id}"] = {"message": f"{message}", "user_id": f"{user}"}
+
+ try:
+ with open(file_private, 'w') as f:
+ f.write(json.dumps(data_private))
+ f.close()
+ except:
+ os.mkdir(Path('.') / 'ATRI' / 'data' / 'data_Log')
+ with open(file_private, 'w') as f:
+ f.write(json.dumps(data_private))
+ f.close()
+
+def getMessage(message_id: str, group: Optional[str] = None) -> dict:
+ """
+ :说明:
+
+ 通过 message_id 获取到对应消息参数: message, user, group
+
+ :参数:
+
+ * ``message_id: str``: 目标消息id
+ * ``group: Optional[str] = None``: 对应群号,若不传入则获取私聊消息
+
+ :返回:
+
+ 消息内容,类型为: dict
+
+ :用法:
+
+ .. code-block:: python
+
+ loadMessage(message_id=123456789)
+
+ """
+ file_group = Path('.') / 'ATRI' / 'data' / 'data_Group' / f'{group}' / 'message.json'
+ file_private = Path('.') / 'ATRI' / 'data' / 'data_Log' / 'message_private.json'
+
+ if group:
+ try:
+ with open(file_group, 'r') as f:
+ data_group = json.load(f)
+ return data_group
+
+ except:
+ return {"status": "None"}
+ else:
+ try:
+ with open(file_private, 'r') as f:
+ data_private = json.load(f)
+ return data_private
+
+ except:
+ return {"status": "None"} \ No newline at end of file