From 2a8a49fdf64c4bd8f2d474d8c656b04a84c4af46 Mon Sep 17 00:00:00 2001 From: Soulter <37870767+Soulter@users.noreply.github.com> Date: Mon, 12 Dec 2022 11:10:45 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=8E=86=E5=8F=B2=E4=BC=9A=E8=AF=9D?= =?UTF-8?q?=E6=95=B0=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- configs/session | 0 cores/qqbot/core.py | 50 +++++++++++++++++++++++++++++++++++---------- 2 files changed, 39 insertions(+), 11 deletions(-) create mode 100644 configs/session diff --git a/configs/session b/configs/session new file mode 100644 index 000000000..e69de29bb diff --git a/cores/qqbot/core.py b/cores/qqbot/core.py index 9d56349ed..c88c5896f 100644 --- a/cores/qqbot/core.py +++ b/cores/qqbot/core.py @@ -189,17 +189,30 @@ async def oper_msg(message, at=False): return if qq_msg == "/count": - f = open("./configs/stat", "r", encoding="utf-8") - fjson = json.loads(f.read()) - f.close() - guild_count = 0 - guild_msg_count = 0 - guild_direct_msg_count = 0 - for k,v in fjson.items(): - guild_count += 1 - guild_msg_count += v['count'] - guild_direct_msg_count += v['direct_count'] - await message.reply(content=f"历史会话(人)数: {len(session_dict)}\n共有频道数: {guild_count} \n共有消息数: {guild_msg_count}\n私信数: {guild_direct_msg_count}") + try: + f = open("./configs/stat", "r", encoding="utf-8") + fjson = json.loads(f.read()) + f.close() + guild_count = 0 + guild_msg_count = 0 + guild_direct_msg_count = 0 + + for k,v in fjson.items(): + guild_count += 1 + guild_msg_count += v['count'] + guild_direct_msg_count += v['direct_count'] + + session_count = 0 + + f = open("./configs/session", "r", encoding="utf-8") + fjson = json.loads(f.read()) + f.close() + for k,v in fjson.items(): + session_count += 1 + except: + pass + + await message.reply(content=f"当前会话数: {len(session_dict)}\n共有频道数: {guild_count} \n共有消息数: {guild_msg_count}\n私信数: {guild_direct_msg_count}\n历史会话数: {session_count}") return if qq_msg == "/help": @@ -209,6 +222,21 @@ async def oper_msg(message, at=False): if session_id not in session_dict: session_dict[session_id] = [] + fjson = {} + try: + f = open("./configs/session", "r", encoding="utf-8") + fjson = json.loads(f.read()) + f.close() + except: + pass + finally: + fjson[session_id] = 'true' + f = open("./configs/session", "w", encoding="utf-8") + f.write(json.dumps(fjson)) + f.flush() + f.close() + + # 获取缓存 cache_prompt = '' cache_data_list = session_dict[session_id]