Env documentation, log, last hope handler
Signed-off-by: Terekhin Alexandr <alex@bearns.me>
This commit is contained in:
@@ -1,3 +1,5 @@
|
|||||||
module bearns.me/didinst/tg-bot-example
|
module bearns.me/didinst/tg-bot-example
|
||||||
|
|
||||||
go 1.15
|
go 1.15
|
||||||
|
|
||||||
|
require gopkg.in/tucnak/telebot.v2 v2.3.5
|
||||||
|
|||||||
@@ -8,36 +8,41 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
var (
|
var (
|
||||||
port = os.Getenv("PORT")
|
port = os.Getenv("PORT") // Bot app listening port, same as port in API_URL
|
||||||
publicURL = os.Getenv("PUBLIC_URL")
|
publicURL = os.Getenv("PUBLIC_URL") // http://<telegram-api-server>:<port>
|
||||||
token = os.Getenv("TOKEN")
|
token = os.Getenv("TOKEN") // Token from @BotFather
|
||||||
apiURL = os.Getenv("API_URL")
|
apiURL = os.Getenv("API_URL") // http://<bot-app-host>:<bot-app-port>/<random-name-path>
|
||||||
)
|
)
|
||||||
|
|
||||||
webhook := &tb.Webhook{
|
webhook := &tb.Webhook{
|
||||||
Listen: ":" + port,
|
Listen: ":" + port,
|
||||||
Endpoint: &tb.WebhookEndpoint{PublicURL: publicURL},
|
Endpoint: &tb.WebhookEndpoint{PublicURL: publicURL},
|
||||||
}
|
}
|
||||||
|
|
||||||
pref := tb.Settings{
|
pref := tb.Settings{
|
||||||
Token: token,
|
Token: token,
|
||||||
Poller: webhook,
|
Poller: webhook,
|
||||||
URL: apiURL,
|
URL: apiURL,
|
||||||
}
|
}
|
||||||
|
|
||||||
b, err := tb.NewBot(pref)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
b, err := tb.NewBot(pref)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
return
|
|
||||||
}
|
}
|
||||||
|
|
||||||
b.Handle("/hello", func(m *tb.Message) {
|
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()
|
b.Start()
|
||||||
|
|||||||
Reference in New Issue
Block a user