Files
barandaBot/src/telegramHandlers.go
2018-08-05 01:29:17 +02:00

80 lines
1.7 KiB
Go

package main
import (
"log"
"strconv"
tb "gopkg.in/tucnak/telebot.v2"
)
func startHandler(m *tb.Message) {
var msg string
isUser, err := isUser(m.Sender.ID)
if err != nil {
log.Printf("Error checking if ID is bot user: %v", err)
}
started, err := isStartedUser(m.Sender.ID)
if err != nil {
log.Printf("Error checking if user is started: %v", err)
}
if !started {
err = startUser(m.Sender.ID, true)
if err != nil {
log.Printf("Error starting user: %v", err)
}
if isUser {
msg = restartMsg
} else {
msg = startMsg
}
} else {
msg = alreadyStartedMsg
}
err = sendMsgWithMenu(m.Sender, msg)
if err != nil {
log.Printf("Error sending message to started user: %v", err)
}
}
func stopHandler(m *tb.Message) {
admin, err := isBotAdmin(m.Sender.ID)
if err != nil {
log.Printf("Error checking if user is admin: %v", err)
}
if admin {
msg := "Non ci siamo... Io l'ho nominata AMMINISTRATORE, cosa crede?! Questo ruolo esige impegno! Non può certo bloccarmi!"
err := sendMsg(m.Sender, msg)
if err != nil {
log.Printf("Error sending message to unstoppable user: %v", err)
}
} else {
err = startUser(m.Sender.ID, false)
if err != nil {
log.Printf("Error starting user: %v", err)
}
err := sendMsgWithSpecificMenu(m.Sender, stopMsg, startMenu)
if err != nil {
log.Printf("Error sending message to stopped user: %v", err)
}
}
}
func setBotHandlers() error {
if bot == nil {
return ErrNilPointer
}
bot.Handle("/start", startHandler)
bot.Handle("/stop", stopHandler)
bot.Handle("/menu", func(m *tb.Message) {
bot.Send(m.Sender, "hello world")
})
bot.Handle("/userID", func(m *tb.Message) {
bot.Send(m.Sender, strconv.Itoa(m.Sender.ID))
})
return nil
}