all repos — telegram-bot-api @ 618a0193889064210f71e13fa0024afcf8cd196b

Golang bindings for the Telegram Bot API

updates.go (view raw)

 1package tgbotapi
 2
 3// UpdatesChan returns a chan that is called whenever a new message is gotten.
 4func (bot *BotAPI) UpdatesChan(config UpdateConfig) (chan Update, error) {
 5	bot.Updates = make(chan Update, 100)
 6
 7	go func() {
 8		for {
 9			updates, err := bot.GetUpdates(config)
10			if err != nil {
11				panic(err)
12			}
13
14			for _, update := range updates {
15				if update.UpdateID > config.Offset {
16					config.Offset = update.UpdateID + 1
17				}
18
19				bot.Updates <- update
20			}
21		}
22	}()
23
24	return bot.Updates, nil
25}