package screens import ( "example.com/m/bot" "github.com/NicoNex/echotron/v3" ) const addProjectInstructionText = ` Как добавить канал в проект Инструкция: 1. Добавьте бота в ваш канал как администратора 2. Дайте боту следующие права: • Удаление сообщений • Приглашение пользователей • Блокировка пользователей 3. После добавления бота: • Если у вас 1 рабочее пространство — канал добавится автоматически • Если у вас несколько рабочих пространств — вы получите уведомление с кнопкой выбора 4. Готово! Канал появится в списке проектов ` type AddProject struct { BackState bot.State } func (s *AddProject) Enter(b *bot.Bot, mode bot.RenderMode) { buttons := [][]echotron.InlineKeyboardButton{ Row(Button("← Назад", "back")), Row(URLButton("Добавить", "tg://resolve?domain=chat_cruiser_bot&startchannel&admin=invite_users+post_messages+edit_messages+delete_messages")), } 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) } default: s.Enter(b, bot.NewMessage) } return } func (s *AddProject) HandleMessage(_ *bot.Bot, _ *echotron.Update) { return } func (s *AddProject) Handle(_ *bot.Bot, _ *echotron.Update) { return }