package handler import ( "strings" "time" tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api" log "gogs.veloe.link/toomanysugar/GoEthemineTelegramBot/internal/logger" ) func (ah ActionHandler )HandleMessage(reqMsg *tgbotapi.Message, botClient *tgbotapi.BotAPI) { log.LogInfo.Printf("Received a text message in chat %d [%s]:%s", reqMsg.Chat.ID, reqMsg.From.UserName, reqMsg.Text) args := strings.Split(reqMsg.Text, " ") prefix := "/" command := args[0] if (!strings.HasPrefix(command, prefix)) { return } command = strings.TrimPrefix(command, prefix) params := args[1:] var msgs []tgbotapi.MessageConfig var commandHandler func(chatId int64, params []string) []tgbotapi.MessageConfig switch command { case "start": commandHandler = ah.StartHandler break case "stop": commandHandler = ah.StopHandler break case "forceupdate": commandHandler = ah.ForceUpdateHandler break case "actual": commandHandler = ah.ActualHandler break case "setwallet": commandHandler = ah.SetWalletHandler break case "rate": commandHandler = ah.GetActualRateHandler break case "help": commandHandler = ah.GetHelpHandler break case "lastpayout": commandHandler = ah.LastPayoutHandler break default: return } msgs = commandHandler(reqMsg.Chat.ID, params) for n, m := range msgs { if n != 0 { time.Sleep(1 * time.Second) } botClient.Send(m) log.LogInfo.Printf("Replied with: %s", strings.ReplaceAll(m.Text, "\n", "\\n")) } }