From 521e1acbb516960f377e9795e06dfd2da31ba342 Mon Sep 17 00:00:00 2001 From: lifegpc Date: Sun, 9 May 2021 17:49:39 +0800 Subject: [PATCH] update mirai --- mirai.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/mirai.py b/mirai.py index 59e8e80..6f9a23f 100644 --- a/mirai.py +++ b/mirai.py @@ -97,6 +97,19 @@ class Mirai: except: return None + def _messageFromId(self, sessionKey: str, id: int): + r = self._get("/messageFromId", {"sessionKey": sessionKey, "id": id}) + if r is None: + return None + return r.json() + + def _peekLatestMessage(self, sessionKey: str, count: int): + r = self._get("/peekLatestMessage", + {"sessionKey": sessionKey, "count": count}) + if r is None: + return None + return r.json() + def _peekMessage(self, sessionKey: str, count: int): r = self._get("/peekMessage", {"sessionKey": sessionKey, "count": count}) @@ -180,7 +193,26 @@ class Mirai: self._logined = True return True + @login_required + def messageFromId(self, id: int): + "获取bot接收到的消息和各类事件" + return self._messageFromId(self._kses.sessionId, id) + + @login_required + def peekLatestMessage(self, count: int = 10): + "获取bot接收到的最新消息和最新各类事件(不会从MiraiApiHttp消息记录中删除)" + return self._peekLatestMessage(self._kses.sessionId, count) + @login_required def peekMessage(self, count: int = 10): "获取bot接收到的最老消息和最老各类事件(不会从MiraiApiHttp消息记录中删除)" return self._peekMessage(self._kses.sessionId, count) + + def release(self): + if self._logined: + r = self._release(self._kses.sessionId, + self._m._setting.miraiApiQQ) + if r is None: + return + self._logined = False + self._db.removeSession(self._kses.sessionId)