Skip to content

Commit d17176e

Browse files
committed
fix: start index unavailable
1 parent 9f7fd32 commit d17176e

File tree

2 files changed

+32
-15
lines changed

2 files changed

+32
-15
lines changed

bot/handlers_admin.go

+31-14
Original file line numberDiff line numberDiff line change
@@ -477,19 +477,23 @@ func batchPostArtwork(ctx context.Context, bot *telego.Bot, message telego.Messa
477477
callbackMessage = nil
478478
}
479479

480-
failed := 0
481480
reader := bufio.NewReader(bytes.NewReader(file))
482-
for i := startIndex; i < count+startIndex; i++ {
483-
if callbackMessage != nil {
484-
if i-startIndex == 0 || (i-startIndex)%10 == 0 {
485-
bot.EditMessageText(&telego.EditMessageTextParams{
486-
ChatID: message.Chat.ChatID(),
487-
MessageID: callbackMessage.MessageID,
488-
Text: fmt.Sprintf("总数: %d\n起始索引: %d\n间隔时间: %d秒\n已发布: %d\n失败: %d", count, startIndex, sleepTime, i, failed),
489-
})
490-
}
481+
sourceURLs := make([]string, 0)
482+
483+
for i := 0; i < startIndex; i++ {
484+
_, err := reader.ReadString('\n')
485+
if err == io.EOF {
486+
telegram.ReplyMessage(bot, message, "起始索引超出文件行数")
487+
return
488+
}
489+
if err != nil {
490+
telegram.ReplyMessage(bot, message, "读取文件失败: "+err.Error())
491+
return
491492
}
492-
line, _, err := reader.ReadLine()
493+
}
494+
495+
for i := startIndex; i < count+startIndex; i++ {
496+
text, err := reader.ReadString('\n')
493497
if err == io.EOF {
494498
telegram.ReplyMessage(bot, message, "文件已读取完毕")
495499
break
@@ -498,12 +502,25 @@ func batchPostArtwork(ctx context.Context, bot *telego.Bot, message telego.Messa
498502
telegram.ReplyMessage(bot, message, "读取文件失败: "+err.Error())
499503
return
500504
}
501-
sourceURL := sources.FindSourceURL(string(line))
505+
sourceURL := sources.FindSourceURL(text)
502506
if sourceURL == "" {
503-
Logger.Warnf("不支持的链接: %s", string(line))
504-
failed++
507+
Logger.Warnf("不支持的链接: %s", text)
505508
continue
506509
}
510+
sourceURLs = append(sourceURLs, sourceURL)
511+
}
512+
513+
failed := 0
514+
for i, sourceURL := range sourceURLs {
515+
if callbackMessage != nil {
516+
if i == 0 || i%10 == 0 {
517+
bot.EditMessageText(&telego.EditMessageTextParams{
518+
ChatID: message.Chat.ChatID(),
519+
MessageID: callbackMessage.MessageID,
520+
Text: fmt.Sprintf("总数: %d\n起始索引: %d\n间隔时间: %d秒\n已发布: %d\n失败: %d", count, startIndex, sleepTime, i, failed),
521+
})
522+
}
523+
}
507524
Logger.Infof("posting artwork: %s", sourceURL)
508525

509526
artwork, _ := service.GetArtworkByURL(ctx, sourceURL)

cmd/version.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
)
88

99
const (
10-
Version string = "0.7.11"
10+
Version string = "0.7.12"
1111
)
1212

1313
var VersionCmd = &cobra.Command{

0 commit comments

Comments
 (0)