Enha: use slices methods

This commit is contained in:
Grail Finder
2026-02-04 08:26:30 +03:00
parent 654d6a47ec
commit e3965db3c7
3 changed files with 5 additions and 12 deletions

12
bot.go
View File

@@ -19,6 +19,7 @@ import (
"os"
"path"
"regexp"
"slices"
"strconv"
"strings"
"sync"
@@ -154,15 +155,8 @@ func filterMessagesForCharacter(messages []models.RoleMsg, character string) []m
filtered = append(filtered, msg)
continue
}
// Check if character is in KnownTo list
found := false
for _, k := range msg.KnownTo {
if k == character {
found = true
break
}
}
if found {
if slices.Contains(msg.KnownTo, character) {
// Check if character is in KnownTo lis
filtered = append(filtered, msg)
}
}

View File

@@ -7,6 +7,7 @@ import (
"image"
"os"
"path"
"slices"
"strings"
"unicode"
@@ -198,6 +199,7 @@ func listRolesWithUser() []string {
}
// Prepend user role to the beginning of the list
result := append([]string{cfg.UserRole}, filteredRoles...)
slices.Sort(result)
return result
}

3
tui.go
View File

@@ -1187,7 +1187,6 @@ func init() {
persona = cfg.WriteNextMsgAs
}
roles := listRolesWithUser()
logger.Info("list roles", "roles", roles)
for i, role := range roles {
if strings.EqualFold(role, persona) {
if i == len(roles)-1 {
@@ -1197,7 +1196,6 @@ func init() {
}
cfg.WriteNextMsgAs = roles[i+1] // get next role
persona = cfg.WriteNextMsgAs
// logger.Info("picked role", "roles", roles, "index", i+1)
break
}
}
@@ -1228,7 +1226,6 @@ func init() {
break
}
cfg.WriteNextMsgAsCompletionAgent = roles[i+1] // get next role
// logger.Info("picked role", "roles", roles, "index", i+1)
break
}
}