aboutsummaryrefslogtreecommitdiff
path: root/cmd/mimi/modules
diff options
context:
space:
mode:
authorXe Iaso <me@xeiaso.net>2024-07-27 12:28:34 -0400
committerXe Iaso <me@xeiaso.net>2024-07-27 12:28:34 -0400
commit0a2c7625cb8951f2d269dac2f2f8e4254922ca11 (patch)
tree4f7548feccea5c9ae1fdba976c92d49fd54605db /cmd/mimi/modules
parent45b48a01178e8501ca9b534f8e02a3192a1d2d7d (diff)
downloadx-0a2c7625cb8951f2d269dac2f2f8e4254922ca11.tar.xz
x-0a2c7625cb8951f2d269dac2f2f8e4254922ca11.zip
unfuck mimi
Signed-off-by: Xe Iaso <me@xeiaso.net>
Diffstat (limited to 'cmd/mimi/modules')
-rw-r--r--cmd/mimi/modules/discord/discord.go2
-rw-r--r--cmd/mimi/modules/discord/jufra/jufra.go29
2 files changed, 29 insertions, 2 deletions
diff --git a/cmd/mimi/modules/discord/discord.go b/cmd/mimi/modules/discord/discord.go
index 10f44f6..351c4a5 100644
--- a/cmd/mimi/modules/discord/discord.go
+++ b/cmd/mimi/modules/discord/discord.go
@@ -28,6 +28,8 @@ func New(ctx context.Context) (*Module, error) {
dg.Close()
}()
+ dg.StateEnabled = true
+
return &Module{
dg: dg,
}, nil
diff --git a/cmd/mimi/modules/discord/jufra/jufra.go b/cmd/mimi/modules/discord/jufra/jufra.go
index a5bef0a..745be3c 100644
--- a/cmd/mimi/modules/discord/jufra/jufra.go
+++ b/cmd/mimi/modules/discord/jufra/jufra.go
@@ -4,7 +4,9 @@
package jufra
import (
+ "bytes"
"context"
+ "encoding/json"
"flag"
"log/slog"
"strings"
@@ -92,9 +94,21 @@ func (m *Module) messageCreate(s *discordgo.Session, mc *discordgo.MessageCreate
conv := m.convHistory[mc.ChannelID]
+ nick := mc.Author.Username
+
+ gu, err := s.State.Member(mc.GuildID, mc.Author.ID)
+ if err != nil {
+ slog.Error("error getting member", "err", err, "message_id", mc.ID, "channel_id", mc.ChannelID)
+ } else {
+ nick = gu.Nick
+ }
+
conv = append(conv, ollama.Message{
- Role: "user",
- Content: mc.Content,
+ Role: "user",
+ Content: jsonString(map[string]any{
+ "content": mc.Content,
+ "user": nick,
+ }),
})
slog.Info("message count", "len", len(conv))
@@ -174,3 +188,14 @@ func (m *Module) llamaGuardComplain(ctx context.Context, from string, lgResp *ll
return sb.String(), nil
}
+
+func jsonString(val any) string {
+ var buf bytes.Buffer
+ enc := json.NewEncoder(&buf)
+ if err := enc.Encode(val); err != nil {
+ slog.Error("error encoding json", "err", err)
+ return ""
+ }
+
+ return buf.String()
+}