diff --git a/go.mod b/go.mod index 626697a..3f5278d 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,5 @@ module bearns.me/didinst/tg-bot-example go 1.15 + +require gopkg.in/tucnak/telebot.v2 v2.3.5 diff --git a/main.go b/main.go index e3652a8..814c498 100644 --- a/main.go +++ b/main.go @@ -8,37 +8,42 @@ import ( ) func main() { - var ( - port = os.Getenv("PORT") - publicURL = os.Getenv("PUBLIC_URL") - token = os.Getenv("TOKEN") - apiURL = os.Getenv("API_URL") - ) - - webhook := &tb.Webhook{ - Listen: ":" + port, - Endpoint: &tb.WebhookEndpoint{PublicURL: publicURL}, - } - - pref := tb.Settings{ - Token: token, - Poller: webhook, - URL: apiURL, - } - - b, err := tb.NewBot(pref) - if err != nil { - log.Fatal(err) - } + var ( + port = os.Getenv("PORT") // Bot app listening port, same as port in API_URL + publicURL = os.Getenv("PUBLIC_URL") // http://: + token = os.Getenv("TOKEN") // Token from @BotFather + apiURL = os.Getenv("API_URL") // http://:/ + ) + + webhook := &tb.Webhook{ + Listen: ":" + port, + Endpoint: &tb.WebhookEndpoint{PublicURL: publicURL}, + } + + pref := tb.Settings{ + Token: token, + Poller: webhook, + URL: apiURL, + } + b, err := tb.NewBot(pref) if err != nil { log.Fatal(err) - return } b.Handle("/hello", func(m *tb.Message) { - b.Send(m.Sender, "Hello World!") + log.Print(m) + _, err := b.Send(m.Sender, "Hello World!") + if err != nil { + log.Print(err) + } + }) + + b.Handle(tb.OnText, func(m *tb.Message) { + log.Print(m) + // all the text messages that weren't + // captured by existing handlers }) b.Start() -} \ No newline at end of file +}