Files
Hubert Chen a09d6e40df separate user and channel saved message
edit sticker download callback data prefix
2025-09-01 09:01:24 +08:00

76 lines
1.8 KiB
Go

package common
import (
"context"
"fmt"
"os"
"trbot/utils"
"trbot/utils/configs"
"trbot/utils/yaml"
"github.com/rs/zerolog"
)
func SaveSavedMessageList(ctx context.Context) error {
logger := zerolog.Ctx(ctx).
With().
Str("pluginName", "Saved Message").
Str(utils.GetCurrentFuncName()).
Logger()
err := yaml.SaveYAML(SavedMessagePath, &SavedMessageList)
if err != nil {
logger.Error().
Err(err).
Str("path", SavedMessagePath).
Msg("Failed to save savedmessage list")
SavedMessageErr = fmt.Errorf("failed to save savedmessage list: %w", err)
} else {
SavedMessageErr = nil
}
return SavedMessageErr
}
func ReadSavedMessageList(ctx context.Context) error {
logger := zerolog.Ctx(ctx).
With().
Str("pluginName", "Saved Message").
Str(utils.GetCurrentFuncName()).
Logger()
err := yaml.LoadYAML(SavedMessagePath, &SavedMessageList)
if err != nil {
if os.IsNotExist(err) {
logger.Warn().
Err(err).
Str("path", SavedMessagePath).
Msg("Not found savedmessage list file. Created new one")
// 如果是找不到文件,新建一个
err = yaml.SaveYAML(SavedMessagePath, &SavedMessageList)
if err != nil {
logger.Error().
Err(err).
Str("path", SavedMessagePath).
Msg("Failed to create empty savedmessage list file")
SavedMessageErr = fmt.Errorf("failed to create empty savedmessage list file: %w", err)
}
} else {
logger.Error().
Err(err).
Str("path", SavedMessagePath).
Msg("Failed to load savedmessage list file")
SavedMessageErr = fmt.Errorf("failed to load savedmessage list file: %w", err)
}
} else {
SavedMessageErr = nil
}
if SavedMessageList.NoticeChatID == 0 && len(configs.BotConfig.AdminIDs) > 0 {
SavedMessageList.NoticeChatID = configs.BotConfig.AdminIDs[0]
}
// buildSavedMessageByMessageHandlers()
return SavedMessageErr
}