mirror of
https://github.com/krau/SaveAny-Bot.git
synced 2026-06-03 06:31:18 +08:00
feat: add msgraw var to filename template and update i18n for fnamest display
This commit is contained in:
@@ -10,6 +10,7 @@ import (
|
|||||||
"github.com/gotd/td/tg"
|
"github.com/gotd/td/tg"
|
||||||
"github.com/krau/SaveAny-Bot/common/i18n"
|
"github.com/krau/SaveAny-Bot/common/i18n"
|
||||||
"github.com/krau/SaveAny-Bot/common/i18n/i18nk"
|
"github.com/krau/SaveAny-Bot/common/i18n/i18nk"
|
||||||
|
"github.com/krau/SaveAny-Bot/config"
|
||||||
"github.com/krau/SaveAny-Bot/database"
|
"github.com/krau/SaveAny-Bot/database"
|
||||||
"github.com/krau/SaveAny-Bot/pkg/enums/fnamest"
|
"github.com/krau/SaveAny-Bot/pkg/enums/fnamest"
|
||||||
"github.com/krau/SaveAny-Bot/pkg/tcbdata"
|
"github.com/krau/SaveAny-Bot/pkg/tcbdata"
|
||||||
@@ -73,9 +74,9 @@ func handleConfigFnameSTCallback(ctx *ext.Context, update *ext.Update) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
ctx.EditMessage(userID, &tg.MessagesEditMessageRequest{
|
ctx.EditMessage(userID, &tg.MessagesEditMessageRequest{
|
||||||
ID: update.CallbackQuery.GetMsgID(),
|
ID: update.CallbackQuery.GetMsgID(),
|
||||||
Message: i18n.T(i18nk.BotMsgConfigInfoFilenameStrategySet, map[string]any{
|
Message: i18n.T(i18nk.BotMsgConfigInfoFilenameStrategySet, map[string]any{
|
||||||
"Strategy": fnamest.FnameSTDisplay[st],
|
"Strategy": fnamest.GetDisplay(st, config.C().Lang),
|
||||||
}),
|
}),
|
||||||
})
|
})
|
||||||
return dispatcher.EndGroups
|
return dispatcher.EndGroups
|
||||||
@@ -84,7 +85,7 @@ func handleConfigFnameSTCallback(ctx *ext.Context, update *ext.Update) error {
|
|||||||
buttons := make([]tg.KeyboardButtonClass, 0, len(opts))
|
buttons := make([]tg.KeyboardButtonClass, 0, len(opts))
|
||||||
for _, opt := range opts {
|
for _, opt := range opts {
|
||||||
buttons = append(buttons, &tg.KeyboardButtonCallback{
|
buttons = append(buttons, &tg.KeyboardButtonCallback{
|
||||||
Text: fnamest.FnameSTDisplay[opt],
|
Text: fnamest.GetDisplay(opt, config.C().Lang),
|
||||||
Data: fmt.Appendf(nil, "%s %s %s", tcbdata.TypeConfig, "fnamest", opt),
|
Data: fmt.Appendf(nil, "%s %s %s", tcbdata.TypeConfig, "fnamest", opt),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -100,9 +101,9 @@ func handleConfigFnameSTCallback(ctx *ext.Context, update *ext.Update) error {
|
|||||||
currentSt = fnamest.Default
|
currentSt = fnamest.Default
|
||||||
}
|
}
|
||||||
ctx.EditMessage(userID, &tg.MessagesEditMessageRequest{
|
ctx.EditMessage(userID, &tg.MessagesEditMessageRequest{
|
||||||
ID: update.CallbackQuery.GetMsgID(),
|
ID: update.CallbackQuery.GetMsgID(),
|
||||||
Message: i18n.T(i18nk.BotMsgConfigPromptSelectFilenameStrategy, map[string]any{
|
Message: i18n.T(i18nk.BotMsgConfigPromptSelectFilenameStrategy, map[string]any{
|
||||||
"Strategy": fnamest.FnameSTDisplay[currentSt],
|
"Strategy": fnamest.GetDisplay(currentSt, config.C().Lang),
|
||||||
}),
|
}),
|
||||||
ReplyMarkup: markup,
|
ReplyMarkup: markup,
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ type FilenameTemplateData struct {
|
|||||||
MsgTags string `json:"msgtags,omitempty"`
|
MsgTags string `json:"msgtags,omitempty"`
|
||||||
MsgGen string `json:"msggen,omitempty"`
|
MsgGen string `json:"msggen,omitempty"`
|
||||||
MsgDate string `json:"msgdate,omitempty"`
|
MsgDate string `json:"msgdate,omitempty"`
|
||||||
|
MsgRaw string `json:"msgraw,omitempty"`
|
||||||
OrigName string `json:"origname,omitempty"`
|
OrigName string `json:"origname,omitempty"`
|
||||||
ChatID string `json:"chatid,omitempty"`
|
ChatID string `json:"chatid,omitempty"`
|
||||||
}
|
}
|
||||||
@@ -39,6 +40,7 @@ func (f FilenameTemplateData) ToMap() map[string]string {
|
|||||||
"msgid": f.MsgID,
|
"msgid": f.MsgID,
|
||||||
"msgtags": f.MsgTags,
|
"msgtags": f.MsgTags,
|
||||||
"msggen": f.MsgGen,
|
"msggen": f.MsgGen,
|
||||||
|
"msgraw": f.MsgRaw,
|
||||||
"msgdate": f.MsgDate,
|
"msgdate": f.MsgDate,
|
||||||
"origname": f.OrigName,
|
"origname": f.OrigName,
|
||||||
"chatid": f.ChatID,
|
"chatid": f.ChatID,
|
||||||
@@ -108,8 +110,10 @@ func BuildFilenameTemplateData(message *tg.Message) map[string]string {
|
|||||||
t := time.Unix(int64(date), 0)
|
t := time.Unix(int64(date), 0)
|
||||||
return t.Format("2006-01-02_15-04-05")
|
return t.Format("2006-01-02_15-04-05")
|
||||||
}(),
|
}(),
|
||||||
|
MsgRaw: message.GetMessage(),
|
||||||
ChatID: func() string {
|
ChatID: func() string {
|
||||||
// 如果消息是频道的(从消息链接中fetch的) 直接使用其chat id, 无论它是否是从其他来源转发的
|
// 如果消息是频道的(从消息链接中fetch的) 直接使用其chat id,
|
||||||
|
// 无论它是否是从其他来源转发的
|
||||||
if message.GetPost() {
|
if message.GetPost() {
|
||||||
peer := message.GetPeerID()
|
peer := message.GetPeerID()
|
||||||
switch p := peer.(type) {
|
switch p := peer.(type) {
|
||||||
|
|||||||
@@ -8,8 +8,17 @@ default, message, template
|
|||||||
) */
|
) */
|
||||||
type FnameST string
|
type FnameST string
|
||||||
|
|
||||||
var FnameSTDisplay = map[FnameST]string{
|
var fnameSTDisplay = map[FnameST]map[string]string{
|
||||||
Default: "默认",
|
Default: {"zh-CN": "默认", "en": "Default"},
|
||||||
Message: "优先从消息生成",
|
Message: {"zh-CN": "优先从消息生成", "en": "Gen From Msg First"},
|
||||||
Template: "自定义模板",
|
Template: {"zh-CN": "自定义模板", "en": "Template"},
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetDisplay(st FnameST, lang string) string {
|
||||||
|
if display, ok := fnameSTDisplay[st]; ok {
|
||||||
|
if str, ok := display[lang]; ok {
|
||||||
|
return str
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return fnameSTDisplay[st]["en"]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user