should not panic in production env
parent
7b9b7856fc
commit
f6cf1bb782
26
updates.go
26
updates.go
|
@ -1,5 +1,10 @@
|
|||
package tgbotapi
|
||||
|
||||
import (
|
||||
"log"
|
||||
"time"
|
||||
)
|
||||
|
||||
// UpdatesChan returns a chan that is called whenever a new message is gotten.
|
||||
func (bot *BotAPI) UpdatesChan(config UpdateConfig) (chan Update, error) {
|
||||
bot.Updates = make(chan Update, 100)
|
||||
|
@ -8,15 +13,22 @@ func (bot *BotAPI) UpdatesChan(config UpdateConfig) (chan Update, error) {
|
|||
for {
|
||||
updates, err := bot.GetUpdates(config)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
for _, update := range updates {
|
||||
if update.UpdateID >= config.Offset {
|
||||
config.Offset = update.UpdateID + 1
|
||||
bot.Updates <- update
|
||||
if bot.Debug == true {
|
||||
panic(err)
|
||||
} else {
|
||||
log.Println(err)
|
||||
log.Println("Retry in 3 Seconds")
|
||||
time.Sleep(time.Second * 3)
|
||||
}
|
||||
} else {
|
||||
for _, update := range updates {
|
||||
if update.UpdateID >= config.Offset {
|
||||
config.Offset = update.UpdateID + 1
|
||||
bot.Updates <- update
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}()
|
||||
|
||||
|
|
Loading…
Reference in New Issue