summaryrefslogtreecommitdiff
path: root/bot.go
diff options
context:
space:
mode:
authorGrail Finder <wohilas@gmail.com>2026-03-07 19:11:13 +0300
committerGrail Finder <wohilas@gmail.com>2026-03-07 19:11:13 +0300
commit4f0bce50c53267a9f53938ad1b264d5094a08ce4 (patch)
tree9064a4ab75961db8162cc2e30d3d9cb7e5af5c67 /bot.go
parentbf655a10875630a6fe5f283340b6d390a1920b58 (diff)
Chore: one init for clear call order
Diffstat (limited to 'bot.go')
-rw-r--r--bot.go52
1 files changed, 2 insertions, 50 deletions
diff --git a/bot.go b/bot.go
index 663dd0b..0b4328f 100644
--- a/bot.go
+++ b/bot.go
@@ -1548,55 +1548,7 @@ func init() {
}
// Initialize scrollToEndEnabled based on config
scrollToEndEnabled = cfg.AutoScrollEnabled
- go updateModelLists()
go chatWatcher(ctx)
-}
-
-func getValidKnowToRecipient(msg *models.RoleMsg) (string, bool) {
- if cfg == nil || !cfg.CharSpecificContextEnabled {
- return "", false
- }
- // case where all roles are in the tag => public message
- cr := listChatRoles()
- slices.Sort(cr)
- slices.Sort(msg.KnownTo)
- if slices.Equal(cr, msg.KnownTo) {
- logger.Info("got msg with tag mentioning every role")
- return "", false
- }
- // Check each character in the KnownTo list
- for _, recipient := range msg.KnownTo {
- if recipient == msg.Role || recipient == cfg.ToolRole {
- // weird cases, skip
- continue
- }
- // Skip if this is the user character (user handles their own turn)
- // If user is in KnownTo, stop processing - it's the user's turn
- if recipient == cfg.UserRole || recipient == cfg.WriteNextMsgAs {
- return "", false
- }
- return recipient, true
- }
- return "", false
-}
-
-// triggerPrivateMessageResponses checks if a message was sent privately to specific characters
-// and triggers those non-user characters to respond
-func triggerPrivateMessageResponses(msg *models.RoleMsg) {
- recipient, ok := getValidKnowToRecipient(msg)
- if !ok || recipient == "" {
- return
- }
- // Trigger the recipient character to respond
- triggerMsg := recipient + ":\n"
- // Send empty message so LLM continues naturally from the conversation
- crr := &models.ChatRoundReq{
- UserMsg: triggerMsg,
- Role: recipient,
- Resume: true,
- }
- fmt.Fprintf(textView, "\n[-:-:b](%d) ", len(chatBody.Messages))
- fmt.Fprint(textView, roleToIcon(recipient))
- fmt.Fprint(textView, "[-:-:-]\n")
- chatRoundChan <- crr
+ initTUI()
+ initTools()
}