修复(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
}
func NewLinkFilter(dbFile string) (*LinkFilter, error) {
db, err := core.NewDatabase(dbFile)
func NewLinkFilter() (*LinkFilter, error) {
db, err := core.NewDatabase()
if err != nil {
return nil, err
}

View File

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