package screens import ( "fmt" "github.com/NicoNex/echotron/v3" "github.com/TelegramExchange/tgex-backend/tg_bot/bot" ) const addProjectInstructionText = ` Как добавить канал в проект Инструкция: 1. Добавьте бота в ваш канал как администратора 2. Дайте боту следующие права: • Удаление сообщений • Приглашение пользователей 3. После добавления бота: • Если у вас 1 рабочее пространство — канал добавится автоматически • Если у вас несколько рабочих пространств — вы получите уведомление с кнопкой выбора 4. Готово! Канал появится в списке проектов ` type AddProject struct { BackState bot.State } func (s *AddProject) Enter(b *bot.Bot, mode bot.RenderMode) { botUsername := bot.BotUsername() if botUsername == "" { botUsername = "chat_cruiser_bot" } addBotURL := fmt.Sprintf("https://t.me/%s?startchannel&admin=invite_users+post_messages+edit_messages+delete_messages", botUsername) buttons := [][]echotron.InlineKeyboardButton{ Row(URLButton("Добавить", addBotURL)), Row(Button("← Назад", "back")), } keyboard := Keyboard(buttons...) b.Render(addProjectInstructionText, keyboard, mode) } func (s *AddProject) HandleCallback(b *bot.Bot, u *echotron.Update) { if u.CallbackQuery == nil || u.CallbackQuery.Data == "" { return } switch u.CallbackQuery.Data { case "back": if s.BackState != nil { b.SetState(s.BackState, bot.EditMessage) } } } func (s *AddProject) HandleMessage(_ *bot.Bot, _ *echotron.Update) { return } func (s *AddProject) Handle(_ *bot.Bot, _ *echotron.Update) { return } func (s *AddProject) Exit() {}