Files
tgex-backend/tg_bot/screens/accept_workspace_invite.go
T
root a33fa24e99
Build & Push / build (push) Canceled after 0s
Initial commit
2026-08-05 19:31:35 +03:00

46 lines
1.4 KiB
Go

package screens
import (
"context"
"github.com/NicoNex/echotron/v3"
"github.com/TelegramExchange/tgex-backend/tg_bot/bot"
)
type AcceptWorkspaceInvite struct {
InviteID string
}
const msgAcceptWorkspaceInviteSuccessfully = `
✅ Вы присоединились к рабочему пространству!
Администратор сможет выдать вам необходимые права в веб-интерфейсе.
`
func (s *AcceptWorkspaceInvite) Enter(b *bot.Bot, mode bot.RenderMode) {
jwt := b.Session.JWT
if jwt == "" {
b.SendNew("<b>❌ Ошибка авторизации</b>\n\nПопробуйте /start", emptyKeyboard)
return
}
err := b.Backend.AcceptWorkspaceInvite(context.Background(), jwt, s.InviteID)
if err != nil {
b.SendNew("❌ Не удалось принять приглашение. Возможно, оно уже было использовано.", emptyKeyboard)
return
}
kb := Keyboard(Row(Button("Главное меню", "main_menu")))
b.SendNew(msgAcceptWorkspaceInviteSuccessfully, kb)
}
func (s *AcceptWorkspaceInvite) HandleCallback(b *bot.Bot, u *echotron.Update) {}
func (s *AcceptWorkspaceInvite) HandleMessage(_ *bot.Bot, _ *echotron.Update) {}
func (s *AcceptWorkspaceInvite) Handle(b *bot.Bot, _ *echotron.Update) {
b.SetState(&MainMenu{}, bot.EditMessage)
}
func (s *AcceptWorkspaceInvite) Exit() {}