From 79861e7c2bc6f2ed95309ca6e83577ddc4e2c63a Mon Sep 17 00:00:00 2001 From: Grail Finder Date: Wed, 4 Feb 2026 11:22:17 +0300 Subject: Enha: privateMessageResp with resume --- bot.go | 36 ++++++++++++++---------------------- 1 file changed, 14 insertions(+), 22 deletions(-) (limited to 'bot.go') diff --git a/bot.go b/bot.go index a28097f..d195431 100644 --- a/bot.go +++ b/bot.go @@ -96,8 +96,10 @@ func parseKnownToTag(content string) []string { if list == "" { continue } - parts := strings.Split(list, ",") - for _, p := range parts { + strings.SplitSeq(list, ",") + // parts := strings.Split(list, ",") + // for _, p := range parts { + for p := range strings.SplitSeq(list, ",") { p = strings.TrimSpace(p) if p != "" { knownTo = append(knownTo, p) @@ -118,25 +120,17 @@ func processMessageTag(msg models.RoleMsg) models.RoleMsg { // If KnownTo already set, assume tag already processed (content cleaned). // However, we still check for new tags (maybe added later). knownTo := parseKnownToTag(msg.Content) - // logger.Info("processing tags", "msg", msg.Content, "known_to", knownTo) // If tag found, replace KnownTo with new list (merge with existing?) // For simplicity, if knownTo is not nil, replace. - if knownTo != nil { - msg.KnownTo = knownTo - // Only ensure sender role is in KnownTo if there was a tag - // This means the message is intended for specific characters - if msg.Role != "" { - senderAdded := false - for _, k := range msg.KnownTo { - if k == msg.Role { - senderAdded = true - break - } - } - if !senderAdded { - msg.KnownTo = append(msg.KnownTo, msg.Role) - } - } + if knownTo == nil { + return msg + } + msg.KnownTo = knownTo + if msg.Role == "" { + return msg + } + if !slices.Contains(msg.KnownTo, msg.Role) { + msg.KnownTo = append(msg.KnownTo, msg.Role) } return msg } @@ -781,9 +775,6 @@ func chatWatcher(ctx context.Context) { } func chatRound(r *models.ChatRoundReq) error { - // chunkChan := make(chan string, 10) - // openAIToolChan := make(chan string, 10) - // streamDone := make(chan bool, 1) botRespMode = true botPersona := cfg.AssistantRole if cfg.WriteNextMsgAsCompletionAgent != "" { @@ -1350,6 +1341,7 @@ func triggerPrivateMessageResponses(msg models.RoleMsg) { crr := &models.ChatRoundReq{ UserMsg: triggerMsg, Role: recipient, + Resume: true, } chatRoundChan <- crr } -- cgit v1.2.3