package main import ( "log" "os" tb "gopkg.in/tucnak/telebot.v2" ) func main() { 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) } b.Handle("/hello", func(m *tb.Message) { 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() }