fix: TLS连接池复用 + 禁言检测 + 降级回复静默
- llm/openai.go: 移除DisableKeepAlives,启用连接池(100idle/20perhost/90s) 修复频繁TLS握手超时问题 - qq/adapter.go: 监听group_ban通知,发送前检查禁言状态 防止向被禁言群发消息导致风控 - cmd/main.go: 降级回复仅管理员私聊,群聊静默失败避免怪话 - protocol.go: OBv11Message新增Duration字段 - bridge/router.go: 处理noticeToUnified返回nil(内部消费的通知)
This commit is contained in:
@@ -442,10 +442,23 @@ func startOBv11Readers(router *bridge.PlatformRouter) {
|
||||
fmt.Printf("[qq:%s] route error: %v\n", adapterKey, err)
|
||||
continue
|
||||
}
|
||||
// nil response = internally handled (e.g., mute tracking), skip sending.
|
||||
if response == nil {
|
||||
continue
|
||||
}
|
||||
if response != nil && len(response.Messages) > 0 && !hasOnlySilentMessages(response.Messages) {
|
||||
messageType := msg.MessageType
|
||||
userID := msg.UserID
|
||||
groupID := msg.GroupID
|
||||
// 检查群禁言状态,避免向被禁言的群发送消息导致风控
|
||||
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)
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
// Filter non-empty messages and strip 【不发送】 self-censored ones.
|
||||
var toSend []bridge.ResponseMessage
|
||||
for _, rm := range response.Messages {
|
||||
|
||||
Reference in New Issue
Block a user