修复(service/link_filter.go): 优化链接过滤器,增强链接匹配准确性。修复(service/prompt_reply.go): 优化提示词服务,增强功能稳定性。

This commit is contained in:
wood chen 2024-09-18 15:44:17 +08:00
parent b12915ef4f
commit 98d39b6b51
2 changed files with 14 additions and 18 deletions

View File

@ -21,8 +21,8 @@ type LinkFilter struct {
linkPattern *regexp.Regexp linkPattern *regexp.Regexp
} }
func NewLinkFilter(dbFile string) (*LinkFilter, error) { func NewLinkFilter() (*LinkFilter, error) {
db, err := core.NewDatabase(dbFile) db, err := core.NewDatabase()
if err != nil { if err != nil {
return nil, err return nil, err
} }

View File

@ -4,28 +4,21 @@ import (
"fmt" "fmt"
"log" "log"
"strings" "strings"
"sync"
"github.com/woodchen-ink/Q58Bot/core" "github.com/woodchen-ink/Q58Bot/core"
tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5" tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5"
) )
var ( var db *core.Database
promptReplies = make(map[string]string)
promptMutex sync.RWMutex
db *core.Database
)
func InitPromptService(database *core.Database) error { func InitPromptService() error {
db = database
return loadPromptRepliesFromDB()
}
func loadPromptRepliesFromDB() error {
var err error var err error
promptReplies, err = db.GetAllPromptReplies() db, err = core.NewDatabase()
return err if err != nil {
return fmt.Errorf("failed to initialize database: %v", err)
}
return nil
} }
func SetPromptReply(prompt, reply string) error { func SetPromptReply(prompt, reply string) error {
@ -52,8 +45,11 @@ func GetPromptReply(message string) (string, bool) {
} }
func ListPromptReplies() string { func ListPromptReplies() string {
promptMutex.RLock() promptReplies, err := db.GetAllPromptReplies()
defer promptMutex.RUnlock() if err != nil {
log.Printf("Error getting prompt replies: %v", err)
return "获取提示词回复时发生错误。"
}
if len(promptReplies) == 0 { if len(promptReplies) == 0 {
return "目前没有设置任何提示词回复。" return "目前没有设置任何提示词回复。"