package main import ( "encoding/json" "go.wit.com/lib/protobuf/chatpb" "go.wit.com/log" "google.golang.org/protobuf/types/known/timestamppb" ) func doStats() { sessionUuid := argv.Uuid statsString := "todo: set this somehow" // Find the "auto" chat, or create it if it doesn't exist. var autoChat *chatpb.Chat for _, chat := range me.chats.GetChats() { if chat.GetChatName() == "auto" { autoChat = chat break } } if autoChat == nil { autoChat = &chatpb.Chat{ ChatName: "auto", Ctime: timestamppb.Now(), } me.chats.Chats = append(me.chats.Chats, autoChat) } var stats chatpb.SessionStats err := json.Unmarshal([]byte(statsString), &stats) if err != nil { log.Printf("error unmarshalling stats: %w", err) return } // The session UUID from the command line is the UUID of the session. stats.Uuid = sessionUuid autoChat.Session = append(autoChat.Session, &stats) me.chats.ConfigSave() log.Info("stats saved for session", sessionUuid, "in chat", autoChat.GetChatName()) }