vegapokerbot/internal/handler/new_message_handler.go

36 lines
947 B
Go

package handler
import (
"encoding/json"
"gitea.neur0tx.site/Neur0toxine/vegapokerbot/internal/handler/fsm/fsmcontract"
"gitea.neur0tx.site/Neur0toxine/vegapokerbot/internal/handler/util"
"gitea.neur0tx.site/Neur0toxine/vegapokerbot/internal/handler/wizard"
"github.com/mymmrac/telego"
)
type MessageHandler struct {
app fsmcontract.App
}
func NewMessageHandler(app fsmcontract.App) Handler {
return &MessageHandler{app: app}
}
func (h *MessageHandler) Handle(wh telego.Update) error {
if wh.Message != nil {
if wh.Message.From != nil &&
wh.Message.Chat.Type == telego.ChatTypePrivate &&
util.MatchCommand("start", wh.Message) {
return wizard.NewRegister(h.app, wh.Message.From.ID, wh.Message.Chat.ID).Handle(wh)
}
// TODO: Remove debug statement below.
h.app.Log().Debugf("New Message: %s", func(msg *telego.Message) string {
data, _ := json.Marshal(msg)
return string(data)
}(wh.Message))
}
return nil
}