Various improvement

Signed-off-by: Ettore Dreucci <ettore.dreucci@gmail.com>
This commit is contained in:
2018-08-05 01:29:17 +02:00
parent 6f4653ce34
commit b73cb0b12e
7 changed files with 400 additions and 62 deletions

79
src/telegramHandlers.go Normal file
View File

@@ -0,0 +1,79 @@
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
}