From 8045fdacec27a28eb0dae356311994e5d8e6a391 Mon Sep 17 00:00:00 2001 From: Last2014 Date: Sat, 2 May 2026 18:56:07 +0900 Subject: [PATCH] =?UTF-8?q?Fix:=20=E3=82=B3=E3=83=9E=E3=83=B3=E3=83=89?= =?UTF-8?q?=E5=87=A6=E7=90=86=E6=B8=88=E3=81=BF=E3=81=AE=E3=83=A6=E3=83=BC?= =?UTF-8?q?=E3=82=BA=E3=81=AEid=E9=99=A4=E5=A4=96=E3=81=8C=E6=AD=A3?= =?UTF-8?q?=E3=81=97=E3=81=8F=E5=8B=95=E4=BD=9C=E3=81=97=E3=81=AA=E3=81=84?= =?UTF-8?q?=E5=95=8F=E9=A1=8C=20/=20Fix:=20miq=E3=82=B3=E3=83=9E=E3=83=B3?= =?UTF-8?q?=E3=83=89=E3=81=AE=E3=82=B3=E3=83=B3=E3=82=BD=E3=83=BC=E3=83=AB?= =?UTF-8?q?=E5=87=BA=E5=8A=9B=E3=81=AB=E5=80=A4=E3=81=8C=E5=AD=98=E5=9C=A8?= =?UTF-8?q?=E3=81=97=E3=81=AA=E3=81=84=E5=95=8F=E9=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/feature/command/index.ts | 36 ++++++++++++++++++------------------ src/feature/command/miq.ts | 3 ++- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/src/feature/command/index.ts b/src/feature/command/index.ts index 0d04155..ec2d3c2 100644 --- a/src/feature/command/index.ts +++ b/src/feature/command/index.ts @@ -22,19 +22,17 @@ try { }); if (response.success) { - for (const [index, notification] of response.data.entries()) { - if (notification.category !== "reply") + const notifications = response.data.filter(notification => notification.category === "reply" && typeof notification.valueid === "string"); + + const mem = Memory.memory; + const lastReadReply = mem.lastReadReply; + + for (const [index, notification] of notifications.entries()) { + if (notification.category !== "reply" || typeof notification.valueid !== "string") continue; - if (!notification.valueid) { - console.warn("返信通知にvalueidが存在しないため、スキップします"); - continue; - } - - const mem = Memory.memory; - if (mem.lastReadReply === notification.valueid) { + if (lastReadReply === notification.valueid) break; - } const ueuseResponse = await client.request("ueuse/get", { uniqid: notification.valueid, @@ -48,6 +46,7 @@ try { if (index === 0) { const mem = Memory.memory; mem.lastReadReply = ueuseResponse.data[0].uniqid; + Memory.memory = mem; } ueuses.push(ueuseResponse.data[0]); @@ -64,15 +63,16 @@ try { }); if (response.success) { - for (const [index, mention] of response.data.entries()) { - const mem = Memory.memory; - if (mem.lastReadMention === mention.uniqid) { - break; - } + const mentions = response.data; - if (index === 0) { - const mem = Memory.memory; - mem.lastReadMention = mention.uniqid; + const mem = Memory.memory; + const lastReadMention = mem.lastReadMention; + mem.lastReadMention = mentions[0]?.uniqid ?? lastReadMention; + Memory.memory = mem; + + for (const mention of mentions) { + if (lastReadMention === mention.uniqid) { + break; } ueuses.push(mention); diff --git a/src/feature/command/miq.ts b/src/feature/command/miq.ts index eb19602..d02eff3 100644 --- a/src/feature/command/miq.ts +++ b/src/feature/command/miq.ts @@ -325,9 +325,10 @@ export default async function miqCommand(ueuse: ueuseModule, args: string[]) { if (!response.success) { console.log("返信に失敗:", response.error_code); + return; } - console.warn("ソースのユーズと/miq allowのユーザーが一致しない:", ); + console.warn("ソースのユーズと/miq allowのユーザーが一致しない:", response.uniqid); return; }