From 42e44caf0dd035005cbb0d353f6050004b95e128 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B6=B5=E6=9B=A6?= Date: Sun, 13 Oct 2024 12:31:25 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=9E=8B=E5=8F=B7M01?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=AF=B9=E8=AF=9D=E8=AE=B0=E5=BD=95=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E6=88=B3=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xiaomusic/xiaomusic.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/xiaomusic/xiaomusic.py b/xiaomusic/xiaomusic.py index 01c64e3..1b16dcc 100644 --- a/xiaomusic/xiaomusic.py +++ b/xiaomusic/xiaomusic.py @@ -178,6 +178,11 @@ class XiaoMusic: # 拉取所有音箱的对话记录 tasks = [] for device_id in self.device_id_did: + # 首次用当前时间初始化 + did = self.get_did(device_id) + if did not in self.last_timestamp: + self.last_timestamp[did] = int(time.time() * 1000) + hardware = self.get_hardward(device_id) if hardware in GET_ASK_BY_MINA or self.config.get_ask_by_mina: tasks.append(self.get_latest_ask_by_mina(device_id)) @@ -331,8 +336,8 @@ class XiaoMusic: f"get_latest_ask_by_mina device_id:{device_id} did:{did} response:{response}" ) if d := response.get("data", {}).get("info", {}): - result = json.loads(d).get("result", []) - if result and len(result) > 0: + result = json.loads(d).get("result", [{}]) + if result and len(result) > 0 and result[0].get("nlp"): answers = ( json.loads(result[0]["nlp"]) .get("response", {}) @@ -340,7 +345,7 @@ class XiaoMusic: ) if answers: query = answers[0].get("intention", {}).get("query", "").strip() - timestamp = result[0]["timestamp"] + timestamp = result[0]["timestamp"] * 1000 answer = answers[0].get("content", {}).get("to_speak") last_record = { "time": timestamp, @@ -374,9 +379,6 @@ class XiaoMusic: query = last_record.get("query", "").strip() self.log.debug(f"获取到最后一条对话记录:{query} {timestamp}") - # 首次用当前时间初始化 - if did not in self.last_timestamp: - self.last_timestamp[did] = int(time.time() * 1000) if timestamp > self.last_timestamp[did]: self.last_timestamp[did] = timestamp self.last_record = last_record