@@ -156,12 +156,12 @@ func deletePicture(ctx context.Context, bot *telego.Bot, message telego.Message)
156
156
telegram .ReplyMessage (bot , message , "从数据库中删除失败: " + err .Error ())
157
157
return
158
158
}
159
- go telegram .ReplyMessage (bot , message , fmt .Sprintf ("删除成功: %d" , channelMessageID ))
160
- go bot .DeleteMessage (telegoutil .Delete (telegram .ChannelChatID , channelMessageID ))
159
+ telegram .ReplyMessage (bot , message , fmt .Sprintf ("在数据库中已删除消息id为 %d 的图片 " , channelMessageID ))
160
+ bot .DeleteMessage (telegoutil .Delete (telegram .ChannelChatID , channelMessageID ))
161
161
162
162
if err := storage .GetStorage ().DeletePicture (picture .StorageInfo ); err != nil {
163
163
Logger .Warnf ("删除图片失败: %s" , err )
164
- bot .SendMessage (telegoutil .Message (telegoutil .ID (message .From .ID ), "删除图片失败 : " + err .Error ()))
164
+ bot .SendMessage (telegoutil .Message (telegoutil .ID (message .From .ID ), "在存储中删除图片文件失败 : " + err .Error ()))
165
165
}
166
166
return
167
167
}
@@ -178,12 +178,12 @@ func deletePicture(ctx context.Context, bot *telego.Bot, message telego.Message)
178
178
telegram .ReplyMessage (bot , message , "从数据库中删除失败: " + err .Error ())
179
179
return
180
180
}
181
- go telegram .ReplyMessage (bot , message , fmt .Sprintf ("删除成功: %d" , channelMessageID ))
181
+ telegram .ReplyMessage (bot , message , fmt .Sprintf ("在数据库中已删除消息id为 %d 的作品 " , channelMessageID ))
182
182
artworkMessageIDs := make ([]int , len (artwork .Pictures ))
183
183
for i , picture := range artwork .Pictures {
184
184
artworkMessageIDs [i ] = picture .TelegramInfo .MessageID
185
185
}
186
- go bot .DeleteMessages (& telego.DeleteMessagesParams {
186
+ bot .DeleteMessages (& telego.DeleteMessagesParams {
187
187
ChatID : telegram .ChannelChatID ,
188
188
MessageIDs : artworkMessageIDs ,
189
189
})
@@ -273,7 +273,7 @@ func postArtwork(ctx context.Context, bot *telego.Bot, query telego.CallbackQuer
273
273
if service .CheckDeletedByURL (ctx , sourceURL ) {
274
274
if err := service .DeleteDeletedByURL (ctx , sourceURL ); err != nil {
275
275
Logger .Errorf ("取消删除记录失败: %s" , err )
276
- go bot .EditMessageCaption (& telego.EditMessageCaptionParams {
276
+ bot .EditMessageCaption (& telego.EditMessageCaptionParams {
277
277
ChatID : telegoutil .ID (query .Message .GetChat ().ID ),
278
278
MessageID : query .Message .GetMessageID (),
279
279
Caption : "取消删除记录失败: " + err .Error (),
@@ -286,7 +286,7 @@ func postArtwork(ctx context.Context, bot *telego.Bot, query telego.CallbackQuer
286
286
}
287
287
if err := fetcher .PostAndCreateArtwork (ctx , artwork , bot , storage .GetStorage (), query .From .ID ); err != nil {
288
288
Logger .Errorf ("发布失败: %s" , err )
289
- go bot .EditMessageCaption (& telego.EditMessageCaptionParams {
289
+ bot .EditMessageCaption (& telego.EditMessageCaptionParams {
290
290
ChatID : telegoutil .ID (query .Message .GetChat ().ID ),
291
291
MessageID : query .Message .GetMessageID (),
292
292
Caption : "发布失败: " + err .Error () + "\n \n " + time .Now ().Format ("2006-01-02 15:04:05" ),
@@ -296,15 +296,15 @@ func postArtwork(ctx context.Context, bot *telego.Bot, query telego.CallbackQuer
296
296
artwork , err = service .GetArtworkByURL (ctx , sourceURL )
297
297
if err != nil {
298
298
Logger .Errorf ("获取发布后的作品信息失败: %s" , err )
299
- go bot .EditMessageCaption (& telego.EditMessageCaptionParams {
299
+ bot .EditMessageCaption (& telego.EditMessageCaptionParams {
300
300
ChatID : telegoutil .ID (query .Message .GetChat ().ID ),
301
301
MessageID : query .Message .GetMessageID (),
302
302
Caption : "发布成功, 但获取作品信息失败: " + err .Error (),
303
303
ReplyMarkup : nil ,
304
304
})
305
305
return
306
306
}
307
- go bot .EditMessageCaption (& telego.EditMessageCaptionParams {
307
+ bot .EditMessageCaption (& telego.EditMessageCaptionParams {
308
308
ChatID : telegoutil .ID (query .Message .GetChat ().ID ),
309
309
MessageID : query .Message .GetMessageID (),
310
310
Caption : "发布成功: " + artwork .Title + "\n \n 发布时间: " + artwork .CreatedAt .Format ("2006-01-02 15:04:05" ),
@@ -331,7 +331,7 @@ func processPictures(ctx context.Context, bot *telego.Bot, message telego.Messag
331
331
telegram .ReplyMessage (bot , message , "开始处理了" )
332
332
}
333
333
334
- func setR18 (ctx context.Context , bot * telego.Bot , message telego.Message ) {
334
+ func setArtworkR18 (ctx context.Context , bot * telego.Bot , message telego.Message ) {
335
335
if ! service .CheckAdminPermission (ctx , message .From .ID , types .PermissionEditArtwork ) {
336
336
telegram .ReplyMessage (bot , message , "你没有编辑作品的权限" )
337
337
return
@@ -355,3 +355,61 @@ func setR18(ctx context.Context, bot *telego.Bot, message telego.Message) {
355
355
}
356
356
telegram .ReplyMessage (bot , message , "该作品 R18 已标记为 " + strconv .FormatBool (! artwork .R18 ))
357
357
}
358
+
359
+ func setArtworkTags (ctx context.Context , bot * telego.Bot , message telego.Message ) {
360
+ if ! service .CheckAdminPermission (ctx , message .From .ID , types .PermissionEditArtwork ) {
361
+ telegram .ReplyMessage (bot , message , "你没有编辑作品的权限" )
362
+ return
363
+ }
364
+
365
+ messageOrigin , ok := telegram .GetMessageOriginChannelArtworkPost (ctx , bot , message )
366
+ if ! ok {
367
+ telegram .ReplyMessage (bot , message , "请回复一条频道的图片消息" )
368
+ return
369
+ }
370
+
371
+ artwork , err := service .GetArtworkByMessageID (ctx , messageOrigin .MessageID )
372
+ if err != nil {
373
+ telegram .ReplyMessage (bot , message , "获取作品信息失败: " + err .Error ())
374
+ return
375
+ }
376
+
377
+ cmd , _ , args := telegoutil .ParseCommand (message .Text )
378
+ if len (args ) == 0 {
379
+ telegram .ReplyMessage (bot , message , "请提供标签, 以空格分隔.\n 不存在的标签将自动创建" )
380
+ return
381
+ }
382
+ tags := make ([]string , 0 )
383
+ switch cmd {
384
+ case "tags" :
385
+ tags = args
386
+ case "addtags" :
387
+ tags = append (artwork .Tags , args ... )
388
+ case "deltags" :
389
+ tags = artwork .Tags [:]
390
+ for _ , arg := range args {
391
+ for i , tag := range tags {
392
+ if tag == arg {
393
+ tags = append (tags [:i ], tags [i + 1 :]... )
394
+ break
395
+ }
396
+ }
397
+ }
398
+ }
399
+ if err := service .UpdateArtworkTagsByURL (ctx , artwork .SourceURL , tags ); err != nil {
400
+ telegram .ReplyMessage (bot , message , "更新作品标签失败: " + err .Error ())
401
+ return
402
+ }
403
+ artwork , err = service .GetArtworkByURL (ctx , artwork .SourceURL )
404
+ if err != nil {
405
+ telegram .ReplyMessage (bot , message , "获取更新后的作品信息失败: " + err .Error ())
406
+ return
407
+ }
408
+ bot .EditMessageCaption (& telego.EditMessageCaptionParams {
409
+ ChatID : telegram .ChannelChatID ,
410
+ MessageID : artwork .Pictures [0 ].TelegramInfo .MessageID ,
411
+ Caption : telegram .GetArtworkMarkdownCaption (artwork ),
412
+ ParseMode : telego .ModeMarkdownV2 ,
413
+ })
414
+ telegram .ReplyMessage (bot , message , "更新作品标签成功" )
415
+ }
0 commit comments