all repos — telegram-bot-api @ 025b92519c602a4e98924f4af142f2ddf7941f80

Golang bindings for the Telegram Bot API

Merge branch 'master' of github.com:go-telegram-bot-api/telegram-bot-api
Syfaro syfaro@huefox.com
Mon, 08 Oct 2018 02:25:15 -0500
commit

025b92519c602a4e98924f4af142f2ddf7941f80

parent

b6441c36ee8feca2d3ddd509fe2e339b0b21df1b

1 files changed, 16 insertions(+), 0 deletions(-)

jump to
M bot.gobot.go

@@ -27,6 +27,7 @@ Buffer int `json:"buffer"`

Self User `json:"-"` Client *http.Client `json:"-"` + shutdownChannel chan interface{} } // NewBotAPI creates a new BotAPI instance.

@@ -45,6 +46,7 @@ bot := &BotAPI{

Token: token, Client: client, Buffer: 100, + shutdownChannel: make(chan interface{}), } self, err := bot.GetMe()

@@ -483,6 +485,12 @@ ch := make(chan Update, bot.Buffer)

go func() { for { + select { + case <-bot.shutdownChannel: + return + default: + } + updates, err := bot.GetUpdates(config) if err != nil { log.Println(err)

@@ -499,6 +507,14 @@ }

}() return ch, nil +} + +// StopReceivingUpdates stops the go routine which receives updates +func (bot *BotAPI) StopReceivingUpdates() { + if bot.Debug { + log.Println("Stopping the update receiver routine...") + } + close(bot.shutdownChannel) } // ListenForWebhook registers a http handler for a webhook.