fix issues
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user