не выкидываем в главное меню
This commit is contained in:
@@ -338,7 +338,19 @@ func (b *Bot) Update(u *echotron.Update) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4. Fallback - сброс в начальное состояние
|
// 4. Fallback - ререндер текущего экрана, чтобы не терять прогресс
|
||||||
|
if b.CurrentState != nil {
|
||||||
|
mode := NewMessage
|
||||||
|
if u.CallbackQuery != nil {
|
||||||
|
mode = EditMessage
|
||||||
|
}
|
||||||
|
b.CurrentState.Enter(b, mode)
|
||||||
|
if exec.handled || exec.transitioned {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 5. Крайний fallback - сброс в начальное состояние
|
||||||
b.SetState(b.commandRouter("/start"), NewMessage)
|
b.SetState(b.commandRouter("/start"), NewMessage)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import (
|
|||||||
|
|
||||||
"github.com/NicoNex/echotron/v3"
|
"github.com/NicoNex/echotron/v3"
|
||||||
"github.com/TelegramExchange/tgex-backend/tg_bot/bot"
|
"github.com/TelegramExchange/tgex-backend/tg_bot/bot"
|
||||||
|
"github.com/rs/zerolog/log"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Login struct{}
|
type Login struct{}
|
||||||
@@ -31,12 +32,21 @@ func (s *Login) Enter(b *bot.Bot, mode bot.RenderMode) {
|
|||||||
|
|
||||||
kb := Keyboard(Row(URLButton("Войти на сайт", loginURL)))
|
kb := Keyboard(Row(URLButton("Войти на сайт", loginURL)))
|
||||||
|
|
||||||
b.SendNew(fmt.Sprintf(msgHelloLogin, usernameDisplay), kb)
|
_, err = b.SendMessage(fmt.Sprintf(msgHelloLogin, usernameDisplay), b.ChatID, &echotron.MessageOptions{
|
||||||
|
ReplyMarkup: kb,
|
||||||
|
ParseMode: echotron.HTML,
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
log.Err(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
b.SetState(&MainMenu{}, bot.NewMessage)
|
||||||
}
|
}
|
||||||
func (s *Login) HandleCallback(b *bot.Bot, u *echotron.Update) {}
|
func (s *Login) HandleCallback(b *bot.Bot, u *echotron.Update) {}
|
||||||
|
|
||||||
func (s *Login) HandleMessage(b *bot.Bot, u *echotron.Update) {}
|
func (s *Login) HandleMessage(b *bot.Bot, u *echotron.Update) {}
|
||||||
|
|
||||||
func (s *Login) Handle(b *bot.Bot, u *echotron.Update) { b.SetState(&MainMenu{}, bot.NewMessage) }
|
func (s *Login) Handle(b *bot.Bot, u *echotron.Update) {}
|
||||||
|
|
||||||
func (s *Login) Exit() {}
|
func (s *Login) Exit() {}
|
||||||
|
|||||||
Reference in New Issue
Block a user