1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- package main
- import (
- "strings"
- tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api"
- )
- func HandleMessage(reqMsg *tgbotapi.Message, botClient *tgbotapi.BotAPI) {
- LogInfo.Printf("Received a text message in chat %d [%s]:%s", reqMsg.Chat.ID, reqMsg.From.UserName, reqMsg.Text)
- msg := tgbotapi.NewMessage(reqMsg.Chat.ID, "")
- switch strings.Split(reqMsg.Text, " ")[0] {
- case "/start":
- text, err := dBConnector.AddUser(reqMsg.Chat)
- if err != nil {
- LogError.Println(err)
- text = "Internal error, please contact bot developer"
- }
- msg.Text = text
- break
- case "/stop":
- text, err := dBConnector.DeleteUser(reqMsg.Chat)
- if err != nil {
- LogError.Println(err)
- text = "Internal error, please contact bot developer"
- }
- msg.Text = text
- break
- case "/forceupdate":
- dBConnector.UpdateData()
- msg.Text = "Done!"
- break
- case "/actual":
- if len(strings.Split(reqMsg.Text, " ")) > 1 {
- msg.Text = GetActualData(strings.Split(reqMsg.Text, " ")[1])
- } else {
- result := dBConnector.GetActualDataFromDatabase(reqMsg.Chat.ID)
- if (result == "nice"){
- return //TODO better somehow different
- }
- }
- break
- case "/setwallet":
- if len(strings.Split(reqMsg.Text, " ")) > 1 {
- text, err := dBConnector.SetWallet(reqMsg)
- if err != nil {
- LogError.Println(err)
- text = "An exception occurred while executing this command."
- }
- msg.Text = text
- } else {
- // LOL
- msg.Text = "An exception occurred while executing this command."
- }
- break
- case "/rate":
- msg.Text = GetActualRate()
- break
- case "/help":
- msg.Text = GetHelp()
- break
- case "/lastpayout":
- msg.Text = dBConnector.GetLastPayout(reqMsg.Chat.ID)
- break
- default:
- msg.Text = "Incorrect message"
- break
- }
- LogInfo.Printf("Replied with: %s", strings.ReplaceAll(msg.Text, "\n", "\\n"))
- botClient.Send(msg)
- }
|