summaryrefslogtreecommitdiff
path: root/bot.go
diff options
context:
space:
mode:
authorGrail Finder <wohilas@gmail.com>2025-03-21 18:58:05 +0300
committerGrail Finder (aider) <wohilas@gmail.com>2025-03-21 18:58:05 +0300
commitd05cea050ca8a2028ee0aec0e4def3802c3d56b6 (patch)
tree792d6de26b058a09c69739e24954ae5c73caf4b9 /bot.go
parent954de708c51c52b810359854c68ff00d3ce956ab (diff)
refactor: reorder cluedo logic and improve player card display in chatRound
Diffstat (limited to 'bot.go')
-rw-r--r--bot.go26
1 files changed, 14 insertions, 12 deletions
diff --git a/bot.go b/bot.go
index 767e640..24c2bcf 100644
--- a/bot.go
+++ b/bot.go
@@ -285,22 +285,17 @@ func chatRound(userMsg, role string, tv *tview.TextView, regen, resume bool) {
return
}
}
- choseChunkParser()
- reader, err := chunkParser.FormMsg(userMsg, role, resume)
- if reader == nil || err != nil {
- logger.Error("empty reader from msgs", "role", role, "error", err)
- return
- }
- go sendMsgToLLM(reader)
- logger.Debug("looking at vars in chatRound", "msg", userMsg, "regen", regen, "resume", resume)
-
// Handle Cluedo game flow
+ // should go before form msg, since formmsg takes chatBody and makes ioreader out of it
+ // role is almost always user, unless it's regen or resume
+ // cannot get in this block, since cluedoState is nil;
+ // check if cfg.EnableCluedo is true and init the cluedo state; ai!
if cfg.EnableCluedo && cluedoState != nil && !resume {
+ notifyUser("got in cluedo", "yay")
currentPlayer := playerOrder[0]
playerOrder = append(playerOrder[1:], currentPlayer) // Rotate turns
if role == cfg.UserRole {
- userMsg = fmt.Sprintf("Your cards: %s\n%s",
- cluedoState.GetPlayerCards(currentPlayer), userMsg)
+ fmt.Fprintf(tv, "Your (%s) cards: %s\n", currentPlayer, cluedoState.GetPlayerCards(currentPlayer))
} else {
chatBody.Messages = append(chatBody.Messages, models.RoleMsg{
Role: cfg.ToolRole,
@@ -308,7 +303,14 @@ func chatRound(userMsg, role string, tv *tview.TextView, regen, resume bool) {
})
}
}
-
+ choseChunkParser()
+ reader, err := chunkParser.FormMsg(userMsg, role, resume)
+ if reader == nil || err != nil {
+ logger.Error("empty reader from msgs", "role", role, "error", err)
+ return
+ }
+ go sendMsgToLLM(reader)
+ logger.Debug("looking at vars in chatRound", "msg", userMsg, "regen", regen, "resume", resume)
if !resume {
fmt.Fprintf(tv, "[-:-:b](%d) ", len(chatBody.Messages))
fmt.Fprint(tv, roleToIcon(cfg.AssistantRole))