func (b *TelegramBot) poll(ctx context.Context, l *TurnLoop, whatsapp *WhatsApp) error {
offset, err := telegramLoadOffset(b.offsetPath)
if err != nil {
- return err
+ return fmt.Errorf("load Telegram offset: %w", err)
}
outage := &TelegramOutage{
continue poll
}
- return err
+ if err != nil {
+ return fmt.Errorf("handle Telegram update: %w", err)
+ }
+
+ return nil
}
imageOutage.End()
offset = update.UpdateID + 1
err = telegramSaveOffset(b.offsetPath, offset)
if err != nil {
- return err
+ return fmt.Errorf("save Telegram offset: %w", err)
}
}
}
// typing shows the typing action once. A failure is not logged, because the
// next message or poll logs the state of the network.
func (b *TelegramBot) typing(ctx context.Context) {
- _ = b.api.SendTyping(ctx, b.owner)
+ // The next message or poll reports a network failure.
+ b.api.SendTyping(ctx, b.owner) // nolint: errcheck
}
// post sends event to the chat. A reply goes as rich messages of its Markdown,
default:
_, err := l.Submit(telegramSource, message.Text)
if err != nil {
- return err
+ return fmt.Errorf("submit Telegram text: %w", err)
}
err = l.Flush(context.WithoutCancel(ctx))