Skip to content

Commit 3e20dc2

Browse files
Copilotkrau
andauthored
feat: add custom parameter support to /ytdlp command (#185), close #184
* Initial plan * Implement parameter support for /ytdlp command Co-authored-by: krau <[email protected]> * Add comprehensive tests for ytdlp parameter parsing Co-authored-by: krau <[email protected]> * Improve flag parsing logic and clarify argument order Co-authored-by: krau <[email protected]> * Preserve critical defaults and improve comments Co-authored-by: krau <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: krau <[email protected]>
1 parent 3ce0088 commit 3e20dc2

File tree

24 files changed

+350
-58
lines changed

24 files changed

+350
-58
lines changed

client/bot/handlers/add_task.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ func handleAddCallback(ctx *ext.Context, update *ext.Update) error {
100100
}
101101
shortcut.CreateAndAddAria2TaskWithEdit(ctx, selectedStorage, dirPath, data.Aria2URIs, client, msgID, userID)
102102
case tasktype.TaskTypeYtdlp:
103-
shortcut.CreateAndAddYtdlpTaskWithEdit(ctx, selectedStorage, dirPath, data.YtdlpURLs, msgID, userID)
103+
shortcut.CreateAndAddYtdlpTaskWithEdit(ctx, selectedStorage, dirPath, data.YtdlpURLs, data.YtdlpFlags, msgID, userID)
104104
default:
105105
return fmt.Errorf("unexcept task type: %s", data.TaskType)
106106
}

client/bot/handlers/dl.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ func handleAria2DlCmd(ctx *ext.Context, update *ext.Update) error {
8484
return nil
8585
}
8686
logger.Debug("Preparing aria2 download", "links", links)
87-
87+
8888
// Initialize aria2 client to check connection
8989
aria2ClientInitOnce.Do(func() {
9090
aria2Client, aria2ClientInitErr = aria2.NewClient(config.C().Aria2.Url, config.C().Aria2.Secret)

client/bot/handlers/media_group.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ func processMediaGroup(ctx *ext.Context, update *ext.Update, groupID int64) {
114114
if err != nil {
115115
logger.Errorf("Failed to build storage selection keyboard: %s", err)
116116
ctx.EditMessage(userId, &tg.MessagesEditMessageRequest{
117-
ID: msg.ID,
117+
ID: msg.ID,
118118
Message: i18n.T(i18nk.BotMsgMediaGroupErrorBuildStorageSelectKeyboardFailed, map[string]any{
119119
"Error": err.Error(),
120120
}),

client/bot/handlers/tasks.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ func handleTaskCmd(ctx *ext.Context, update *ext.Update) error {
3838
return dispatcher.EndGroups
3939
}
4040
ctx.Reply(update, ext.ReplyTextStyledTextArray([]styling.StyledTextOption{
41-
styling.Plain(i18n.T(i18nk.BotMsgTasksCancelRequestedPrefix)),
41+
styling.Plain(i18n.T(i18nk.BotMsgTasksCancelRequestedPrefix)),
4242
styling.Code(taskID),
4343
}), nil)
4444
default:

client/bot/handlers/update.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,23 +103,23 @@ func handleUpdateCallback(ctx *ext.Context, u *ext.Update) error {
103103
return err
104104
}
105105
ctx.EditMessage(u.GetUserChat().GetID(), &tg.MessagesEditMessageRequest{
106-
ID: u.CallbackQuery.GetMsgID(),
106+
ID: u.CallbackQuery.GetMsgID(),
107107
Message: i18n.T(i18nk.BotMsgUpdateInfoUpgradingWithVersion, map[string]any{
108108
"Current": config.Version,
109109
}),
110110
})
111111
latest, err := ghselfupdate.UpdateSelf(currentV, config.GitRepo)
112112
if err != nil {
113113
ctx.EditMessage(u.GetUserChat().GetID(), &tg.MessagesEditMessageRequest{
114-
ID: u.CallbackQuery.GetMsgID(),
114+
ID: u.CallbackQuery.GetMsgID(),
115115
Message: i18n.T(i18nk.BotMsgUpdateErrorUpgradeFailed, map[string]any{
116116
"Error": err.Error(),
117117
}),
118118
})
119119
return dispatcher.EndGroups
120120
}
121121
ctx.EditMessage(u.GetUserChat().GetID(), &tg.MessagesEditMessageRequest{
122-
ID: u.CallbackQuery.GetMsgID(),
122+
ID: u.CallbackQuery.GetMsgID(),
123123
Message: i18n.T(i18nk.BotMsgUpdateInfoUpgradeSuccess, map[string]any{
124124
"Version": latest.Version.String(),
125125
}),

client/bot/handlers/utils/mediautil/media.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ func BuildFilenameTemplateData(message *tg.Message) map[string]string {
112112
}(),
113113
MsgRaw: message.GetMessage(),
114114
ChatID: func() string {
115-
// 如果消息是频道的(从消息链接中fetch的) 直接使用其chat id,
115+
// 如果消息是频道的(从消息链接中fetch的) 直接使用其chat id,
116116
// 无论它是否是从其他来源转发的
117117
if message.GetPost() {
118118
peer := message.GetPeerID()

client/bot/handlers/utils/msgelem/storage.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,9 @@ func BuildAddSelectStorageKeyboard(stors []storage.Storage, adddata tcbdata.Add)
5050

5151
DirectLinks: adddata.DirectLinks,
5252

53-
Aria2URIs: adddata.Aria2URIs,
54-
YtdlpURLs: adddata.YtdlpURLs,
53+
Aria2URIs: adddata.Aria2URIs,
54+
YtdlpURLs: adddata.YtdlpURLs,
55+
YtdlpFlags: adddata.YtdlpFlags,
5556
}
5657
dataid := xid.New().String()
5758
err := cache.Set(dataid, data)

client/bot/handlers/utils/shortcut/parsed.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ func CreateAndAddParsedTaskWithEdit(ctx *ext.Context, stor storage.Storage, dirP
2222
if err := core.AddTask(injectCtx, task); err != nil {
2323
log.FromContext(ctx).Errorf("Failed to add task: %s", err)
2424
ctx.EditMessage(userID, &tg.MessagesEditMessageRequest{
25-
ID: msgID,
25+
ID: msgID,
2626
Message: i18n.T(i18nk.BotMsgCommonErrorTaskAddFailed, map[string]any{
2727
"Error": err.Error(),
2828
}),

client/bot/handlers/utils/shortcut/tftask.go

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ func CreateAndAddTGFileTaskWithEdit(ctx *ext.Context, userID int64, stor storage
2929
if err != nil {
3030
logger.Errorf("Failed to get user by chat ID: %s", err)
3131
ctx.EditMessage(userID, &tg.MessagesEditMessageRequest{
32-
ID: trackMsgID,
32+
ID: trackMsgID,
3333
Message: i18n.T(i18nk.BotMsgCommonErrorGetUserWithErrFailed, map[string]any{
3434
"Error": err.Error(),
3535
}),
@@ -49,7 +49,7 @@ func CreateAndAddTGFileTaskWithEdit(ctx *ext.Context, userID int64, stor storage
4949
if err != nil {
5050
logger.Errorf("Failed to get storage by user ID and name: %s", err)
5151
ctx.EditMessage(userID, &tg.MessagesEditMessageRequest{
52-
ID: trackMsgID,
52+
ID: trackMsgID,
5353
Message: i18n.T(i18nk.BotMsgCommonErrorGetStorageFailed, map[string]any{
5454
"Error": err.Error(),
5555
}),
@@ -69,7 +69,7 @@ startCreateTask:
6969
if err != nil {
7070
logger.Errorf("create task failed: %s", err)
7171
ctx.EditMessage(userID, &tg.MessagesEditMessageRequest{
72-
ID: trackMsgID,
72+
ID: trackMsgID,
7373
Message: i18n.T(i18nk.BotMsgCommonErrorTaskCreateFailed, map[string]any{
7474
"Error": err.Error(),
7575
}),
@@ -79,7 +79,7 @@ startCreateTask:
7979
if err := core.AddTask(injectCtx, task); err != nil {
8080
logger.Errorf("add task failed: %s", err)
8181
ctx.EditMessage(userID, &tg.MessagesEditMessageRequest{
82-
ID: trackMsgID,
82+
ID: trackMsgID,
8383
Message: i18n.T(i18nk.BotMsgCommonErrorTaskAddFailed, map[string]any{
8484
"Error": err.Error(),
8585
}),
@@ -103,7 +103,7 @@ func CreateAndAddBatchTGFileTaskWithEdit(ctx *ext.Context, userID int64, stor st
103103
if err != nil {
104104
logger.Errorf("Failed to get user by chat ID: %s", err)
105105
ctx.EditMessage(userID, &tg.MessagesEditMessageRequest{
106-
ID: trackMsgID,
106+
ID: trackMsgID,
107107
Message: i18n.T(i18nk.BotMsgCommonErrorGetUserWithErrFailed, map[string]any{
108108
"Error": err.Error(),
109109
}),
@@ -142,7 +142,7 @@ func CreateAndAddBatchTGFileTaskWithEdit(ctx *ext.Context, userID int64, stor st
142142
if err != nil {
143143
logger.Errorf("Failed to get storage by user ID and name: %s", err)
144144
ctx.EditMessage(userID, &tg.MessagesEditMessageRequest{
145-
ID: trackMsgID,
145+
ID: trackMsgID,
146146
Message: i18n.T(i18nk.BotMsgCommonErrorGetStorageFailed, map[string]any{
147147
"Error": err.Error(),
148148
}),
@@ -156,10 +156,10 @@ func CreateAndAddBatchTGFileTaskWithEdit(ctx *ext.Context, userID int64, stor st
156156
if err != nil {
157157
logger.Errorf("Failed to create task element: %s", err)
158158
ctx.EditMessage(userID, &tg.MessagesEditMessageRequest{
159-
ID: trackMsgID,
160-
Message: i18n.T(i18nk.BotMsgCommonErrorTaskCreateFailed, map[string]any{
161-
"Error": err.Error(),
162-
}),
159+
ID: trackMsgID,
160+
Message: i18n.T(i18nk.BotMsgCommonErrorTaskCreateFailed, map[string]any{
161+
"Error": err.Error(),
162+
}),
163163
})
164164
return dispatcher.EndGroups
165165
}
@@ -193,7 +193,7 @@ func CreateAndAddBatchTGFileTaskWithEdit(ctx *ext.Context, userID int64, stor st
193193
if err != nil {
194194
logger.Errorf("Failed to create task element for album file: %s", err)
195195
ctx.EditMessage(userID, &tg.MessagesEditMessageRequest{
196-
ID: trackMsgID,
196+
ID: trackMsgID,
197197
Message: i18n.T(i18nk.BotMsgCommonErrorTaskCreateFailed, map[string]any{
198198
"Error": err.Error(),
199199
}),
@@ -210,16 +210,16 @@ func CreateAndAddBatchTGFileTaskWithEdit(ctx *ext.Context, userID int64, stor st
210210
if err := core.AddTask(injectCtx, task); err != nil {
211211
logger.Errorf("Failed to add batch task: %s", err)
212212
ctx.EditMessage(userID, &tg.MessagesEditMessageRequest{
213-
ID: trackMsgID,
213+
ID: trackMsgID,
214214
Message: i18n.T(i18nk.BotMsgCommonErrorTaskAddFailed, map[string]any{
215215
"Error": err.Error(),
216216
}),
217217
})
218218
return dispatcher.EndGroups
219219
}
220220
ctx.EditMessage(userID, &tg.MessagesEditMessageRequest{
221-
ID: trackMsgID,
222-
Message: i18n.T(i18nk.BotMsgCommonInfoBatchTasksAdded, map[string]any{
221+
ID: trackMsgID,
222+
Message: i18n.T(i18nk.BotMsgCommonInfoBatchTasksAdded, map[string]any{
223223
"Count": len(files),
224224
}),
225225
ReplyMarkup: nil,

client/bot/handlers/utils/shortcut/tphtask.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ func CreateAndAddtelegraphWithEdit(
2525
pics []string,
2626
stor storage.Storage,
2727
trackMsgID int) error {
28-
28+
2929
injectCtx := tgutil.ExtWithContext(ctx.Context, ctx)
3030
task := tphtask.NewTask(xid.New().String(),
3131
injectCtx,
@@ -39,7 +39,7 @@ func CreateAndAddtelegraphWithEdit(
3939
if err := core.AddTask(injectCtx, task); err != nil {
4040
log.FromContext(ctx).Errorf("Failed to add task: %s", err)
4141
ctx.EditMessage(userID, &tg.MessagesEditMessageRequest{
42-
ID: trackMsgID,
42+
ID: trackMsgID,
4343
Message: i18n.T(i18nk.BotMsgCommonErrorTaskAddFailed, map[string]any{
4444
"Error": err.Error(),
4545
}),

0 commit comments

Comments
 (0)