add a http listener for webhooks that uses the normal updates chan
Syfaro syfaro@foxpaw.in
Mon, 07 Sep 2015 13:09:08 -0500
1 files changed,
23 insertions(+),
0 deletions(-)
jump to
A
webhook.go
@@ -0,0 +1,23 @@
+package tgbotapi + +import ( + "encoding/json" + "io/ioutil" + "net/http" +) + +// ListenForWebhook registers a http handler for a webhook. +// Useful for Google App Engine or other places where you cannot +// use a normal update chan. +func (bot *BotAPI) ListenForWebhook() { + bot.Updates = make(chan Update, 100) + + http.HandleFunc("/"+bot.Token, func(w http.ResponseWriter, r *http.Request) { + bytes, _ := ioutil.ReadAll(r.Body) + + var update Update + json.Unmarshal(bytes, &update) + + bot.Updates <- update + }) +}