telegram: недоступность api.telegram.org больше не роняет старт
- авторизация бота ушла из NewBot в Run: повторяется в фоне с backoff от 30 секунд до 15 минут, пока не появится связь - отказ по токену (401/404) повторами не лечится — бот просто выключается, веб-часть продолжает работать - у клиента Telegram ограничен только dial (15 c): long polling и заливка вложений должны оставаться без общего таймаута
This commit is contained in:
@@ -71,16 +71,11 @@ func main() {
|
||||
// Web handler
|
||||
handler := web.NewHandler(memorySvc, cfg.Memos.URL, cfg.Memos.PublicURL, cfg.General.AllowLoadMore, logger)
|
||||
|
||||
// Telegram bot
|
||||
// Telegram bot. Авторизация в Telegram идёт в фоне (Bot.Run) с повторами:
|
||||
// недоступный api.telegram.org не должен мешать старту веб-части.
|
||||
var tgBot *telegram.Bot
|
||||
if cfg.Telegram.Enabled {
|
||||
var err error
|
||||
tgBot, err = telegram.NewBot(cfg.Telegram, memorySvc, client, cfg.Memos.URL, cfg.Memos.PublicURL, cfg.General.AllowLoadMore, loc, logger)
|
||||
if err != nil {
|
||||
logger.Error("failed to create telegram bot", "error", err)
|
||||
store.Close()
|
||||
os.Exit(1) //nolint:gocritic // store.Close() called above; linter doesn't track manual cleanup
|
||||
}
|
||||
tgBot = telegram.NewBot(cfg.Telegram, memorySvc, client, cfg.Memos.URL, cfg.Memos.PublicURL, cfg.General.AllowLoadMore, loc, logger)
|
||||
}
|
||||
|
||||
// HTTP server
|
||||
|
||||
Reference in New Issue
Block a user