From d0fd1c06ec3d771058e35233b334bf6f67b85d96 Mon Sep 17 00:00:00 2001 From: AskaEth Date: Sun, 5 Jul 2026 19:53:04 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=BE=A4=E8=81=8A=E5=A4=9A=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E5=8F=91=E9=80=81=E9=97=B4=E9=9A=94=E6=9C=9F=E9=97=B4?= =?UTF-8?q?=E9=87=8D=E6=96=B0=E6=A3=80=E6=9F=A5=E7=A6=81=E8=A8=80=E7=8A=B6?= =?UTF-8?q?=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 每条消息发送前都检查IsGroupMuted,防止发送间隔期间被禁言 导致后续消息仍然发出。检测到禁言后break跳过所有剩余消息。 Co-Authored-By: Claude --- backend/platform-bridge/cmd/main.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/backend/platform-bridge/cmd/main.go b/backend/platform-bridge/cmd/main.go index 465d445..7320bbe 100644 --- a/backend/platform-bridge/cmd/main.go +++ b/backend/platform-bridge/cmd/main.go @@ -509,6 +509,15 @@ func startOBv11Readers(router *bridge.PlatformRouter) { case <-time.After(interval): } } + // 每条消息发送前重新检查禁言——间隔期间可能被禁 + if messageType == "group" { + if cur, err := router.GetAdapter(adapterKey); err == nil { + if qa, ok := cur.(*qqadapter.Adapter); ok && qa.IsGroupMuted(groupID) { + fmt.Printf("[qq:%s] 群 %d 发送间隔期间被禁言,跳过剩余消息\n", adapterKey, groupID) + break + } + } + } cur, err := router.GetAdapter(adapterKey) if err != nil { continue