diff options
author | Grail Finder <wohilas@gmail.com> | 2025-03-21 18:58:05 +0300 |
---|---|---|
committer | Grail Finder (aider) <wohilas@gmail.com> | 2025-03-21 18:58:05 +0300 |
commit | d05cea050ca8a2028ee0aec0e4def3802c3d56b6 (patch) | |
tree | 792d6de26b058a09c69739e24954ae5c73caf4b9 /bot.go | |
parent | 954de708c51c52b810359854c68ff00d3ce956ab (diff) |
refactor: reorder cluedo logic and improve player card display in chatRound
Diffstat (limited to 'bot.go')
-rw-r--r-- | bot.go | 26 |
1 files changed, 14 insertions, 12 deletions
@@ -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)) |