From f4ea75fa682c0598aea8500902a9231d0da31b4d Mon Sep 17 00:00:00 2001 From: Nulo Date: Sun, 18 Sep 2022 09:41:32 -0300 Subject: [PATCH] Reintentar varias veces --- main.go | 36 ++++++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/main.go b/main.go index b9b299d..c990ef6 100644 --- a/main.go +++ b/main.go @@ -1,9 +1,11 @@ package main import ( + "fmt" "log" "os" "strconv" + "time" tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5" ) @@ -27,27 +29,49 @@ func readConfig() (Config, error) { return config, nil } +const DEADLINE = 6000 + func main() { config, err := readConfig() if err != nil { panic(err) } - bot, err := tgbotapi.NewBotAPI(config.Token) - if err != nil { - panic(err) - } - text := "No se especificó un mensaje." if len(os.Args) > 1 { text = os.Args[1] } + delay := 1 + original_time := time.Now() + for true { - msg := tgbotapi.NewMessage(config.ChatId, text) + bot, err := tgbotapi.NewBotAPI(config.Token) + if err != nil { + log.Println(err) + delay = delay * 2 + if delay > DEADLINE { + break + } + time.Sleep(time.Second * time.Duration(delay)) + continue + } + + timestamp := "" + if delay > 1 { + timestamp = fmt.Sprintf("[%s] ", original_time) + } + + msg := tgbotapi.NewMessage(config.ChatId, timestamp+text) if _, err := bot.Send(msg); err != nil { log.Println(err) + delay = delay * 2 + if delay > DEADLINE { + break + } + time.Sleep(time.Second * time.Duration(delay)) + continue } else { break }