Compare commits

...

2 Commits

Author SHA1 Message Date
krau
a9c56892c3 refactor: move log for pub copy media req and provide a tip 2025-05-29 22:00:12 +08:00
krau
015539c009 fix: set filedbid for silent mode task, close #67 2025-05-29 21:55:04 +08:00
7 changed files with 23 additions and 10 deletions

View File

@@ -115,7 +115,7 @@ func AddToQueue(ctx *ext.Context, update *ext.Update) error {
}
if update.CallbackQuery.MsgID != record.ReplyMessageID {
record.ReplyMessageID = update.CallbackQuery.MsgID
if err := dao.SaveReceivedFile(record); err != nil {
if _, err := dao.SaveReceivedFile(record); err != nil {
common.Log.Errorf("更新记录失败: %s", err)
}
}

View File

@@ -49,14 +49,15 @@ func handleFileMessage(ctx *ext.Context, update *ext.Update) error {
file.FileName = GenFileNameFromMessage(*update.EffectiveMessage.Message, file)
}
if err := dao.SaveReceivedFile(&dao.ReceivedFile{
record, err := dao.SaveReceivedFile(&dao.ReceivedFile{
Processing: false,
FileName: file.FileName,
ChatID: update.EffectiveChat().GetID(),
MessageID: update.EffectiveMessage.ID,
ReplyMessageID: msg.ID,
ReplyChatID: update.GetUserChat().GetID(),
}); err != nil {
})
if err != nil {
common.Log.Errorf("添加接收的文件失败: %s", err)
if _, err := ctx.EditMessage(update.EffectiveChat().GetID(), &tg.MessagesEditMessageRequest{
Message: fmt.Sprintf("添加接收的文件失败: %s", err),
@@ -73,6 +74,7 @@ func handleFileMessage(ctx *ext.Context, update *ext.Update) error {
return HandleSilentAddTask(ctx, update, user, &types.Task{
Ctx: ctx,
Status: types.Pending,
FileDBID: record.ID,
File: file,
StorageName: user.DefaultStorage,
FileChatID: update.EffectiveChat().GetID(),

View File

@@ -100,7 +100,8 @@ func handleLinkMessage(ctx *ext.Context, update *ext.Update) error {
ReplyMessageID: replied.ID,
ReplyChatID: update.GetUserChat().GetID(),
}
if err := dao.SaveReceivedFile(receivedFile); err != nil {
record, err := dao.SaveReceivedFile(receivedFile)
if err != nil {
common.Log.Errorf("保存接收的文件失败: %s", err)
ctx.EditMessage(update.EffectiveChat().GetID(), &tg.MessagesEditMessageRequest{
Message: "无法保存文件: " + err.Error(),
@@ -114,6 +115,7 @@ func handleLinkMessage(ctx *ext.Context, update *ext.Update) error {
return HandleSilentAddTask(ctx, update, user, &types.Task{
Ctx: ctx,
Status: types.Pending,
FileDBID: record.ID,
File: file,
StorageName: user.DefaultStorage,
UserID: user.ChatID,

View File

@@ -113,7 +113,8 @@ func saveCmd(ctx *ext.Context, update *ext.Update) error {
ReplyChatID: update.GetUserChat().GetID(),
}
if err := dao.SaveReceivedFile(receivedFile); err != nil {
record, err := dao.SaveReceivedFile(receivedFile)
if err != nil {
common.Log.Errorf("保存接收的文件失败: %s", err)
if _, err := ctx.EditMessage(update.EffectiveChat().GetID(), &tg.MessagesEditMessageRequest{
Message: fmt.Sprintf("保存接收的文件失败: %s", err),
@@ -129,6 +130,7 @@ func saveCmd(ctx *ext.Context, update *ext.Update) error {
return HandleSilentAddTask(ctx, update, user, &types.Task{
Ctx: ctx,
Status: types.Pending,
FileDBID: record.ID,
File: file,
StorageName: user.DefaultStorage,
FileChatID: update.EffectiveChat().GetID(),
@@ -235,7 +237,8 @@ func handleBatchSave(ctx *ext.Context, update *ext.Update, args []string) error
ReplyChatID: update.GetUserChat().GetID(),
ReplyMessageID: 0,
}
if err := dao.SaveReceivedFile(receivedFile); err != nil {
record, err := dao.SaveReceivedFile(receivedFile)
if err != nil {
common.Log.Errorf("保存接收的文件失败: %s", err)
failedSaveDB++
continue
@@ -243,6 +246,7 @@ func handleBatchSave(ctx *ext.Context, update *ext.Update, args []string) error
task := &types.Task{
Ctx: ctx,
Status: types.Pending,
FileDBID: record.ID,
File: file,
StorageName: user.DefaultStorage,
FileChatID: chatID,

View File

@@ -89,7 +89,7 @@ func handleTelegraph(ctx *ext.Context, update *ext.Update) error {
IsTelegraph: true,
TelegraphURL: tgphUrl,
}
if err := dao.SaveReceivedFile(record); err != nil {
if _, err := dao.SaveReceivedFile(record); err != nil {
common.Log.Errorf("保存接收的文件失败: %s", err)
ctx.EditMessage(update.EffectiveChat().GetID(), &tg.MessagesEditMessageRequest{
Message: "无法保存文件: " + err.Error(),

View File

@@ -48,7 +48,6 @@ func tryCopyMedia(ctx *ext.Context, update *ext.Update) {
if update.EffectiveMessage == nil || update.EffectiveMessage.Message == nil {
return
}
common.Log.Tracef("Got copy media request from %d", update.EffectiveChat().GetID())
msg := update.EffectiveMessage.Message
if link := linkRegex.FindString(update.EffectiveMessage.Text); link != "" {
linkChatID, messageID, err := parseLink(ctx, link)
@@ -64,6 +63,11 @@ func tryCopyMedia(ctx *ext.Context, update *ext.Update) {
}
msg = fileMessage
}
if _, ok := msg.GetMedia(); !ok || msg.Media == nil {
ctx.Reply(update, ext.ReplyTextString("消息中没有文件或媒体"), nil)
return
}
common.Log.Tracef("Got copy media request from %d", update.EffectiveChat().GetID())
if _, err := copyMediaToChat(ctx, msg, update.EffectiveChat().GetID()); err != nil {
common.Log.Errorf("Failed to copy media: %v", err)
}

View File

@@ -1,11 +1,12 @@
package dao
func SaveReceivedFile(receivedFile *ReceivedFile) error {
func SaveReceivedFile(receivedFile *ReceivedFile) (*ReceivedFile, error) {
record, err := GetReceivedFileByChatAndMessageID(receivedFile.ChatID, receivedFile.MessageID)
if err == nil {
receivedFile.ID = record.ID
}
return db.Save(receivedFile).Error
db.Save(receivedFile)
return receivedFile, db.Error
}
func GetReceivedFileByChatAndMessageID(chatID int64, messageID int) (*ReceivedFile, error) {