dont reinit openai client every time

This commit is contained in:
unintendedfraud
2024-03-25 00:59:23 +01:00
parent 5612f53813
commit 4f9e06d4c1
2 changed files with 15 additions and 6 deletions
+12 -5
View File
@@ -2,7 +2,6 @@ package handlers
import (
"fmt"
"hal/env"
"hal/openai"
"log"
"regexp"
@@ -14,7 +13,17 @@ const MAX_HISTORY = 50
var messagesHistory = []*openai.ChatMessage{}
func OnMessageCreated(s *discordgo.Session, m *discordgo.MessageCreate) {
type Handler struct {
client *openai.Client
}
func Init(token string) Handler {
return Handler{
client: openai.NewClient(token),
}
}
func (h Handler) OnMessageCreated(s *discordgo.Session, m *discordgo.MessageCreate) {
isHal := m.Author.ID == s.State.User.ID
addMessageToHistory(m.Message, isHal)
@@ -24,9 +33,7 @@ func OnMessageCreated(s *discordgo.Session, m *discordgo.MessageCreate) {
}
if containUser(m.Mentions, s.State.User.ID) {
aiclient := openai.NewClient(env.GetEnvVariables().OpenaiHalToken)
res, err := aiclient.Chat(messagesHistory)
res, err := h.client.Chat(messagesHistory)
if err != nil {
sendResponse(
s,
+3 -1
View File
@@ -17,13 +17,15 @@ func main() {
var err error
handler := handlers.Init(env.OpenaiHalToken)
discordToken := fmt.Sprintf("Bot %s", env.Token)
dgclient, err := discordbot.New(discordToken)
if err != nil {
panic(fmt.Errorf("failed to create discord client: %s", err.Error()))
}
dgclient.AddHandler(handlers.OnMessageCreated)
dgclient.AddHandler(handler.OnMessageCreated)
err = dgclient.Open()
if err != nil {