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": 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) }