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