From f7198e8722f310926cf147bd0b218c5d9ef5d6c3 Mon Sep 17 00:00:00 2001 From: Kyomotoi <1172294279@qq.com> Date: Sun, 22 Nov 2020 01:01:43 +0800 Subject: [Update] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增: * 舆情检测 * 对涩图加以调用限制 修复: * Pixiv插件全体 * 储存群聊信息时无法创建文件 优化: * 部分代码重构,效率up * 调整插件结构,使其看起来更舒服 --- ATRI/utils/utils_history/__init__.py | 105 +++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 ATRI/utils/utils_history/__init__.py (limited to 'ATRI/utils/utils_history') diff --git a/ATRI/utils/utils_history/__init__.py b/ATRI/utils/utils_history/__init__.py new file mode 100644 index 0000000..3aae3fa --- /dev/null +++ b/ATRI/utils/utils_history/__init__.py @@ -0,0 +1,105 @@ +#!/usr/bin/env python3 +# -*- encoding: utf-8 -*- +''' +@File : __init__.py +@Time : 2020/11/07 14:33:22 +@Author : Kyomotoi +@Contact : kyomotoiowo@gmail.com +@Github : https://github.com/Kyomotoi +@License : Copyright © 2018-2020 Kyomotoi, All Rights Reserved. +''' +__author__ = 'kyomotoi' + +import os +import json +import datetime +from pathlib import Path +from typing import Optional + + +def saveMessage(message_id: str, + message: str, + user: str, + group: Optional[str] = None) -> None: + """储存消息""" + GROUP_PATH = Path( + '.' + ) / 'ATRI' / 'data' / 'data_Group' / f'{group}' / f"{datetime.datetime.now().strftime('%Y-%m-%d')}-message.json" + PRIVATE_PATH = Path( + '.' + ) / 'ATRI' / 'data' / 'data_Private_Message' / f"{datetime.datetime.now().strftime('%Y-%m-%d')}-private-message.json" + + # 检查目标文件目录 + if not GROUP_PATH.is_file(): + os.makedirs(Path('.') / 'ATRI' / 'data' / 'data_Group', exist_ok=True) + os.makedirs(Path('.') / 'ATRI' / 'data' / 'data_Group' / f'{group}', + exist_ok=True) + + with open(GROUP_PATH, 'w') as f: + f.write(json.dumps({})) + + if not PRIVATE_PATH.is_file(): + os.makedirs(Path('.') / 'ATRI' / 'data' / 'data_Private_Message', + exist_ok=True) + + with open(PRIVATE_PATH, 'w') as f: + f.write(json.dumps({})) + + # 加载目标文件 + with open(GROUP_PATH, 'r') as f: + DATA_GROUP = json.load(f) + + with open(PRIVATE_PATH, 'r') as f: + DATA_PRIVATE = json.load(f) + + # 写入 + if group: + DATA_GROUP[f"{message_id}"] = { + "message": f"{message}", + "user_id": f"{user}", + "group_id": f"{group}" + } + + with open(GROUP_PATH, 'w') as f: + f.write(json.dumps(DATA_GROUP)) + + else: + DATA_PRIVATE[f"{message_id}"] = { + "message": f"{message}", + "user_id": f"{user}" + } + + with open(PRIVATE_PATH, 'w') as f: + f.write(json.dumps(DATA_PRIVATE)) + + +def getMessage(message_id: str, group: Optional[str] = None) -> dict: + ''' + 传入消息id以获取对应信息 + + :return: dict + ''' + GROUP_PATH = Path( + '.' + ) / 'ATRI' / 'data' / 'data_Group' / f'{group}' / f"{datetime.datetime.now().strftime('%Y-%m-%d')}-message.json" + PRIVATE_PATH = Path( + '.' + ) / 'ATRI' / 'data' / 'data_Private_Message' / f"{datetime.datetime.now().strftime('%Y-%m-%d')}-private-message.json" + + if group: + try: + with open(GROUP_PATH, 'r') as f: + data_group = json.load(f) + return data_group[message_id] + + except: + return {"status": 0} + + else: + try: + with open(PRIVATE_PATH, 'r') as f: + data_private = json.load(f) + return data_private[message_id] + + except: + return {"status": 0} -- cgit v1.2.3