This commit is contained in:
2026-01-28 18:01:15 +03:00
parent b37979fe2a
commit 84ff8134d9
4 changed files with 20 additions and 17 deletions

5
go.mod
View File

@@ -3,7 +3,8 @@ module kurumibot
go 1.25.6 go 1.25.6
require ( require (
git.nix13.pw/scuroneko/laniakea v0.2.4 git.nix13.pw/scuroneko/laniakea v0.2.6
git.nix13.pw/scuroneko/slog v1.0.0
github.com/google/uuid v1.6.0 github.com/google/uuid v1.6.0
github.com/joho/godotenv v1.5.1 github.com/joho/godotenv v1.5.1
github.com/lib/pq v1.10.9 github.com/lib/pq v1.10.9
@@ -19,7 +20,7 @@ require (
github.com/fatih/color v1.18.0 // indirect github.com/fatih/color v1.18.0 // indirect
github.com/golang/snappy v1.0.0 // indirect github.com/golang/snappy v1.0.0 // indirect
github.com/klauspost/compress v1.18.2 // indirect github.com/klauspost/compress v1.18.2 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-colorable v0.1.14 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect github.com/mattn/go-isatty v0.0.20 // indirect
github.com/muir/sqltoken v0.1.0 // indirect github.com/muir/sqltoken v0.1.0 // indirect
github.com/stretchr/testify v1.11.1 // indirect github.com/stretchr/testify v1.11.1 // indirect

12
go.sum
View File

@@ -1,7 +1,9 @@
filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA=
filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4=
git.nix13.pw/scuroneko/laniakea v0.2.4 h1:+1rxudD8KSkKo6QTtzJ0G6i4ncYYNfNvUlSXbcobdK4= git.nix13.pw/scuroneko/laniakea v0.2.6 h1:IfI6dR48EWZPEu7r2E/iyMA9Yn+w3SYNEQbZwWJkeAE=
git.nix13.pw/scuroneko/laniakea v0.2.4/go.mod h1:aANHsOZ88i0NAfl7ceP3aPnpretDZsx6LZzOq/QLl14= git.nix13.pw/scuroneko/laniakea v0.2.6/go.mod h1:6PSB7tsSvAVPUFcmEyj8CtpVCVfnscJdsWZylcjCvM4=
git.nix13.pw/scuroneko/slog v1.0.0 h1:PI0YePrmCopjrljUfwCtBIEwNYB+PBgDzPcCXbetpcE=
git.nix13.pw/scuroneko/slog v1.0.0/go.mod h1:3Qm2wzkR5KjwOponMfG7TcGSDjmYaFqRAmLvSPTuWJI=
github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs= github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs=
github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c= github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c=
github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA= github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA=
@@ -28,9 +30,8 @@ github.com/klauspost/compress v1.18.2 h1:iiPHWW0YrcFgpBYhsA6D1+fqHssJscY/Tm/y2Uq
github.com/klauspost/compress v1.18.2/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4= github.com/klauspost/compress v1.18.2/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4=
github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y= github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y=
@@ -75,7 +76,6 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ= golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ=
golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=

View File

@@ -7,6 +7,7 @@ import (
"time" "time"
"git.nix13.pw/scuroneko/laniakea" "git.nix13.pw/scuroneko/laniakea"
"git.nix13.pw/scuroneko/slog"
) )
func InitLogsPlugin() {} func InitLogsPlugin() {}
@@ -34,16 +35,16 @@ func logMiddleware(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
} }
type DatabaseWriter struct { type DatabaseWriter struct {
laniakea.LoggerWriter slog.LoggerWriter
db *laniakea.DatabaseContext db *laniakea.DatabaseContext
} }
func (w *DatabaseWriter) Print(level laniakea.LogLevel, prefix string, traceback []*laniakea.MethodTraceback, messages ...any) error { func (w *DatabaseWriter) Print(level slog.LogLevel, prefix string, traceback []*slog.MethodTraceback, messages ...any) error {
t := time.Now() t := time.Now()
entry := &mdb.ConsoleLogEntry{ entry := &mdb.ConsoleLogEntry{
Level: level.GetName(), Level: level.GetName(),
Prefix: prefix, Prefix: prefix,
Traceback: laniakea.FormatFullTraceback(traceback), Traceback: slog.FormatFullTraceback(traceback),
Message: strings.Join(laniakea.Map(messages, func(el any) string { Message: strings.Join(laniakea.Map(messages, func(el any) string {
return fmt.Sprintf("%v", el) return fmt.Sprintf("%v", el)
}), "\n"), }), "\n"),
@@ -53,7 +54,7 @@ func (w *DatabaseWriter) Print(level laniakea.LogLevel, prefix string, traceback
err := mdb.WriteConsoleLog(w.db, entry) err := mdb.WriteConsoleLog(w.db, entry)
return err return err
} }
func DatabaseLogger(db *laniakea.DatabaseContext) laniakea.LoggerWriter { func DatabaseLogger(db *laniakea.DatabaseContext) slog.LoggerWriter {
w := &DatabaseWriter{db: db} w := &DatabaseWriter{db: db}
return w return w
} }

View File

@@ -5,12 +5,13 @@ import (
"encoding/json" "encoding/json"
"errors" "errors"
"fmt" "fmt"
"git.nix13.pw/scuroneko/laniakea"
"io" "io"
"net/http" "net/http"
"net/url" "net/url"
"os" "os"
"time" "time"
"git.nix13.pw/scuroneko/slog"
) )
type OpenAIResponse struct { type OpenAIResponse struct {
@@ -55,15 +56,15 @@ type OpenAIAPI struct {
Token string Token string
Model string Model string
BaseURL string BaseURL string
Logger *laniakea.Logger Logger *slog.Logger
client *http.Client client *http.Client
} }
func NewOpenAIAPI(baseURL, token, model string) *OpenAIAPI { func NewOpenAIAPI(baseURL, token, model string) *OpenAIAPI {
logger := laniakea.CreateLogger() logger := slog.CreateLogger()
level := laniakea.FATAL level := slog.FATAL
if os.Getenv("DEBUG") == "true" { if os.Getenv("DEBUG") == "true" {
level = laniakea.DEBUG level = slog.DEBUG
} }
logger = logger.Prefix("AI").Level(level) logger = logger.Prefix("AI").Level(level)
proxy, err := url.Parse(os.Getenv("HTTPS_PROXY")) proxy, err := url.Parse(os.Getenv("HTTPS_PROXY"))