refactor
This commit is contained in:
42
tg_bot/screens/login.go
Normal file
42
tg_bot/screens/login.go
Normal file
@@ -0,0 +1,42 @@
|
||||
package screens
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"github.com/NicoNex/echotron/v3"
|
||||
"github.com/TelegramExchange/tgex-backend/tg_bot/bot"
|
||||
)
|
||||
|
||||
type Login struct{}
|
||||
|
||||
const msgHelloLogin = `
|
||||
Привет, %s!
|
||||
Нажми кнопку для входа на сайт. 👇
|
||||
`
|
||||
|
||||
func (s *Login) Enter(b *bot.Bot, mode bot.RenderMode) {
|
||||
token, err := b.Backend.CreateLoginToken(context.Background(), b.ChatID)
|
||||
if err != nil {
|
||||
b.SendNew("❌ Произошла ошибка при создании токена входа. Попробуйте позже.", emptyKeyboard)
|
||||
return
|
||||
}
|
||||
|
||||
loginURL := b.Backend.LoginURL(token)
|
||||
|
||||
usernameDisplay := "аноним"
|
||||
if b.Session.FirstName != "" {
|
||||
usernameDisplay = b.Session.FirstName
|
||||
}
|
||||
|
||||
kb := Keyboard(Row(URLButton("Войти на сайт", loginURL)))
|
||||
|
||||
b.SendNew(fmt.Sprintf(msgHelloLogin, usernameDisplay), kb)
|
||||
}
|
||||
func (s *Login) HandleCallback(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) Exit() {}
|
||||
Reference in New Issue
Block a user