каналы

14

Каналы — подключить мессенджер за один экран

Telegram, MAX и VK делят один экран подключения (общий ChannelConnectScreen): поле для одного секрета, живая проверка у провайдера до сохранения, и статус, который спрашивает провайдера заново при каждом заходе — а не читает сохранённый флаг (adr/0143). Весь раздел под правом channel:manage: оператору без него пункт просто не виден, а сервер отказывает на всех трёх маршрутах независимо.

9:41
Бот Telegram

Вставьте токен бота, который выдал BotFather при создании бота. AGO проверит его в Telegram, прежде чем сохранить.

123456789:AA…
После сохранения больше нигде не показывается.
Подключить
23-36 · новый экран /channels/telegram · channel:manage

Одно поле, один секрет. Кнопка «Подключить» неактивна, пока поле пусто — тот же disabled, что и в консоли. Токен — поле-пароль: набранное скрыто и никогда не возвращается обратно (в ответе на подключение нет поля, из которого он мог бы прийти).

9:41
Бот Telegram
••••••••••••••
После сохранения больше нигде не показывается.
Подключаем…
AGO проверяет токен в Telegram…
во время запроса на подключение

Между нажатием и ответом кнопка гаснет в «Подключаем…», поле заблокировано. Проверка — это настоящий сетевой вызов к Telegram (getMe), а не локальная валидация формата: экран не рисует успех, пока провайдер не согласился.

9:41
Бот Telegram
ПодключеноПроверено в Telegram
Подключено с12 сентября 2026
Провереносегодня, 9:38
Отключить
status.verified · provider agreed live

«Подключено» здесь значит «провайдер только что согласился», а не «стоит флаг». Значок в стиле check_circle и подпись «Проверено» несут время последнего живого ответа Telegram (checkedAt). Бот, удалённый на стороне Telegram, перестанет быть «Подключено» в тот же момент, когда сюда посмотрят.

9:41
Бот Telegram
Не удалось проверитьПодключено с 12 сентября 2026
AGO не удалось связаться с Telegram прямо сейчас. Это не значит, что токен неверный — попробуйте ещё раз через минуту.
Отключить
status.unreachable · adr/0143 (5-секундная граница)

Третье состояние, отдельное и от «проверено», и от «отказ». Живая проверка не уложилась в срок или провайдер не ответил вовсе — это ничего не говорит о самом токене. Нейтральный тон и совет «подождать и повторить», никогда не красное «получите новый токен»: два факта требуют противоположных действий.

9:41
Бот Telegram
Не отвечаетПодключено с 12 сентября 2026
Telegram ответил:
401 Unauthorized — токен отозван или неверен. Получите новый токен у BotFather и подключите заново.
Отключить
status.connected && !verified · refusalReason

Отказ несёт причину — дословный ответ провайдера. Красный тон (токены danger из 26-183) и прямое действие: получить новый токен и подключить заново. Причина берётся из refusalReason, а не сочиняется приложением.

9:41
Бот Telegram
ПодключеноПроверено в Telegram
Отключить этого бота?

Бот сразу перестанет доставлять сообщения. Вы можете подключить его — или другого бота — снова в любой момент.

Отмена
Отключить
«Отключить» → подтверждение

Отключение — за подтверждением, но не «опасное навсегда». Нижний лист, как у вето записи: подтверждающая кнопка в заливке danger (danger-fill/on-danger из 26-183), потому что доставка прекратится немедленно — но текст прямо говорит, что подключить можно снова.

9:41
Бот MAX

Вставьте токен бота, который выдал @MasterBot при создании бота в MAX. AGO проверит его в MAX, прежде чем сохранить.

Токен @MasterBot
После сохранения больше нигде не показывается.
Подключить
25-09 · тот же каркас /channels/max · channel:manage

Тот же экран, другой провайдер. MAX переиспользует ChannelConnectScreen целиком — меняются только название, текст-подсказка и имя провайдера в сообщениях. Все шесть состояний Telegram выше воспроизводятся здесь один в один, поэтому нарисовано только «не подключён»: доказательство переиспользования, а не копия шести кадров.

9:41
Сообщество VK

Вставьте ключ доступа сообщества (Управление → Работа с API → Ключи доступа, с доступом к сообщениям). AGO проверит его в VK, прежде чем сохранить.

vk1.a.…
После сохранения больше нигде не показывается.
Подключить
25-15 · новый экран /channels/vk · channel:manage

Тот же каркас на одном секрете — ключ доступа сообщества, проверяемый живым вызовом groups.getById до записи строки. Отличие VK — в том, что показывается после подключения (следующий кадр).

9:41
Сообщество VK
ПодключеноПроверено в VK
Завершите настройку в VK Показывается один раз
Вставьте эти значения в настройки Callback API вашего сообщества (Управление → Работа с API → Callback API), чтобы начать получать сообщения.
https://api.example.test/vk/8f2a…Копировать
whs_9c1f…a730Копировать
Значения-примеры. Показаны здесь один раз, сразу после подключения.
25-65 · shown-once панель justConnected · ConnectVkChannelResponseDto

Единственные два секрета в продукте, которые показываются человеку, — и ровно один раз. URL обратного вызова и секретный ключ приходят только в ответе на подключение и нигде не хранятся для повторного показа. Каждый — моноширинным, с действием «Копировать» рядом; плашка «Показывается один раз» предупреждает, что уйти с экрана — значит их потерять. Значения на макете — примеры (example.test), не настоящий адрес и не настоящий ключ.

9:41
Сообщество VK
ПодключеноПроверено в VK
Подключено с12 сентября 2026
URL обратного вызова и секретный ключ были показаны один раз, сразу после подключения. Чтобы увидеть их снова, отключите сообщество и подключите его заново.
Отключить
status.connected && justConnected == null (перезаход)

Честно говорит, что значений больше нет, а не молча прячет панель. При перезаходе или у второго оператора секретов уже нет для показа — экран прямо это заявляет и указывает единственный способ получить новые: отключить и подключить заново. Всё, что можно было утаить (пустая карточка), лгало бы про доступность.