Enha: use slices methods
This commit is contained in:
12
bot.go
12
bot.go
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
3
tui.go
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user