package wizard import ( "gitea.neur0tx.site/Neur0toxine/vegapokerbot/internal/fsm" "gitea.neur0tx.site/Neur0toxine/vegapokerbot/internal/handler/iface" ) const RemoveChatMemberStateID fsm.StateID = "remove_chat_member" type RemoveChatMemberState struct { State } func NewRemoveChatMemberState(app iface.App) fsm.IState[Wizard] { return &RemoveChatMemberState{newBase(app)} } func (s *RemoveChatMemberState) Enter(pl *Wizard, mc fsm.MachineControls[*Wizard]) error { if pl.Data.MyChatMember == nil { _ = mc.Move(WaitingForMemberWebhookStateID, pl) } return nil } func (s *RemoveChatMemberState) Handle(pl *Wizard, mc fsm.MachineControls[*Wizard]) { // todo: copy implementation from func (h *ChatMemberUpdatedHandler) handleRemoveFromChat(tgChat telego.Chat) error } func (s *RemoveChatMemberState) ID() fsm.StateID { return RemoveChatMemberStateID }