fix issues

This commit is contained in:
Rogee
2024-09-02 16:35:10 +08:00
parent 07b700b158
commit 472fe2ffaf
2 changed files with 23 additions and 6 deletions

View File

@@ -28,19 +28,32 @@ func (t *TClient) Channel(ctx context.Context, channel *tg.Channel, cfg *Channel
if err != nil {
return errors.Wrap(err, "messages.getHistory")
}
if len(messages.(*tg.MessagesChannelMessages).GetMessages()) == 0 {
t.logger.Info("no new message")
return nil
}
downloader := downloader.NewDownloader()
lo.ForEach(messages.(*tg.MessagesChannelMessages).GetMessages(), func(item tg.MessageClass, index int) {
defer func() {
t.logger.Info("update config", zap.Int("offset", cfg.Offset))
if err := cfg.Update(ctx, item.GetID()); err != nil {
t.logger.Error("update config failed", zap.Error(err))
}
}()
switch item.(type) {
case *tg.MessageEmpty:
return
case *tg.MessageService:
return
}
msg, ok := item.(*tg.Message)
if !ok {
t.logger.Error("convert msg to *tg.Message failed")
return
}
defer func() {
if err := cfg.Update(ctx, msg.ID); err != nil {
t.logger.Error("update config failed", zap.Error(err))
}
}()
channelMessage := NewChannelMessage(msg.ID)
defer cfg.SaveMessage(channelMessage)

View File

@@ -57,5 +57,9 @@ func exportCmd(ctx context.Context) error {
}
// https://t.me/yunpanshare/37426
return client.Channel(ctx, channel, cfg, modeHistory)
for {
if err := client.Channel(ctx, channel, cfg, modeHistory); err != nil {
return err
}
}
}