2024-05-07 22:07:53 +03:00
|
|
|
package handler
|
|
|
|
|
|
|
|
import (
|
2024-05-09 17:42:42 +03:00
|
|
|
"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"
|
2024-05-07 22:07:53 +03:00
|
|
|
"github.com/mymmrac/telego"
|
|
|
|
)
|
|
|
|
|
|
|
|
type MessageHandler struct {
|
2024-05-09 17:42:42 +03:00
|
|
|
app fsmcontract.App
|
2024-05-07 22:07:53 +03:00
|
|
|
}
|
|
|
|
|
2024-05-09 17:42:42 +03:00
|
|
|
func NewMessageHandler(app fsmcontract.App) Handler {
|
2024-05-07 22:07:53 +03:00
|
|
|
return &MessageHandler{app: app}
|
|
|
|
}
|
|
|
|
|
2024-05-09 17:42:42 +03:00
|
|
|
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
|
2024-05-07 22:07:53 +03:00
|
|
|
}
|