50 lines
1.3 KiB
Go
50 lines
1.3 KiB
Go
package handler
|
|
|
|
import (
|
|
"gitea.neur0tx.site/Neur0toxine/vegapokerbot/internal/handler/fsmwizard"
|
|
"gitea.neur0tx.site/Neur0toxine/vegapokerbot/internal/handler/iface"
|
|
"github.com/mymmrac/telego"
|
|
)
|
|
|
|
type MessageHandler struct {
|
|
iface.Base
|
|
}
|
|
|
|
func NewMessageHandler(app iface.App) Handler {
|
|
return &MessageHandler{iface.NewBase(app, 0, 0)}
|
|
}
|
|
|
|
func (h *MessageHandler) Handle(wh telego.Update) error {
|
|
if wh.Message.From == nil {
|
|
return nil
|
|
}
|
|
|
|
fsmwizard.Get(wh.Message.From.ID).Enqueue(func(w *fsmwizard.Wizard) *fsmwizard.Wizard {
|
|
if w == nil {
|
|
return &fsmwizard.Wizard{Data: wh}
|
|
}
|
|
w.Data = wh
|
|
return w
|
|
})
|
|
return nil
|
|
|
|
// if util.MatchCommand("start", wh.Message) {
|
|
// return wizard.NewRegister(h.App, wh.Message.From.ID, wh.Message.Chat.ID).Handle(wh)
|
|
// }
|
|
//
|
|
// if util.MatchCommand("poll", wh.Message) {
|
|
// return group.NewPoll(h.App, wh.Message.From.ID, wh.Message.Chat.ID).Handle(wh)
|
|
// }
|
|
//
|
|
// setup, found := store.RedmineSetups.Get(wh.Message.Chat.ID)
|
|
// if found {
|
|
// return wizard.NewRedmineSetup(h.App, wh.Message.From.ID, wh.Message.Chat.ID, setup).Handle(wh)
|
|
// }
|
|
//
|
|
// if util.MatchCommand("help", wh.Message) {
|
|
// return wizard.NewHelpCommand(h.App, wh.Message.From.ID, wh.Message.Chat.ID).Handle(wh)
|
|
// }
|
|
//
|
|
// return wizard.NewUnknownCommand(h.App, wh.Message.From.ID, wh.Message.Chat.ID).Handle(wh)
|
|
}
|