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("❌ Ошибка авторизации\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() {}