Files
YaeMikoBot/database/mdb/rp_chats.go
2026-01-19 21:56:41 +03:00

41 lines
1017 B
Go

package mdb
import (
"context"
"kurumibot/database"
"kurumibot/laniakea"
"time"
"go.mongodb.org/mongo-driver/v2/bson"
)
type RPChatMessage struct {
ChatID string `bson:"chat_id"`
Role string `bson:"role"`
Message string `bson:"message"`
}
func GetChatHistory(db *laniakea.DatabaseContext, chatId string) ([]*RPChatMessage, error) {
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
defer cancel()
col := database.GetMongoCollection(db, "rp_chat_messages")
cursor, err := col.Find(ctx, bson.M{"chat_id": chatId})
if err != nil {
return nil, err
}
result := make([]*RPChatMessage, 0)
err = cursor.All(ctx, &result)
return result, err
}
func UpdateChatHistory(db *laniakea.DatabaseContext, chatId, role, message string) error {
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
defer cancel()
col := database.GetMongoCollection(db, "rp_chat_messages")
_, err := col.InsertOne(ctx, RPChatMessage{
chatId,
role,
message,
})
return err
}