Как мы прокачали Telegram-бота XServer Cloud

Наш бот в Telegram долгое время представлял собой в основном канал уведомлений и средство общения с технической поддержкой. За последние недели он стал кабинетом в кармане: баланс и счета, карточка каждого сервера, скриншот консоли и график трафика, перезагрузка и сеть, снапшоты, уведомления с кнопками и вопрос в поддержку одним нажатием прямо под скриншотом. Ниже — что именно появилось и как это включить.
Меню и баланс


Команда /menu показывает вашу учетную запись одним экраном: баланс и бонусы, сколько серверов активно, открытые запросы, ближайшее продление и хватает ли на него денег. Если не хватает, кнопка ведёт на пополнение ровно на недостающую сумму.
Экран «Баланс и счета» добавляет скидку за объём, бонусы за лояльность и неоплаченные счета со ссылками на оплату. Сами платежи и продления проходят в панели: бот открывает нужную страницу, а не просит данные карты в чате.
Серверы: список и карточка


Список серверов показывает живой статус питания, IP и дату оплаты, по 20 на страницу. Имя сервера открывает карточку.
В карточке — то же, что на странице сервера в панели: ОС, конфигурация, локация, адреса, загрузка процессора, памяти и диска, состояние мониторинга, до какой даты оплачен, автопродление, ход установки ОС, если она идёт, и ваша заметка. Если сервер заблокирован или приостановлен, карточка говорит почему.
Кнопки под карточкой ведут к скриншоту консоли, графику трафика, управлению, продлению и в панель. Навигация идёт в одном сообщении: бот не засыпает чат новыми экранами при каждом нажатии.
Скриншот консоли и график трафика


Кнопка «Консоль» присылает живой кадр с экрана сервера: у виртуальной машины — из гипервизора, у выделенного — через его BMC. Если экрана сейчас нет, бот отдаёт последний сохранённый кадр и пишет, когда он снят. Некоторые старые BMC скриншоты не отдают — тогда бот так и скажет и предложит консоль в панели.
Под кадром — кнопка «Обновить» и, если включено управление из Telegram (о нём ниже), ссылка, которая на 15 минут открывает полноценную консоль в браузере — без входа в панель, прямо с телефона.
Кнопка «Трафик» рисует график за час, сутки, неделю или месяц. В подписи — текущая, средняя и пиковая скорость в обе стороны, 95-й перцентиль и объём за период. Время на оси — в вашем часовом поясе. У выделенного сервера с несколькими портами можно выбрать порт.
Управление — только если вы сами его включили

По умолчанию бот только показывает. Перезагрузка, выключение, интернет, PTR-записи, hostname и автопродление появляются после того, как вы включите «Управление из Telegram» в панели: Настройки → Уведомления, карточка Telegram. Выключить можно и в панели, и в самом боте.
Всё, что останавливает сервер или отключает его от сети, бот переспрашивает одноразовой кнопкой, которая живёт две минуты и срабатывает только для того, кто её запросил. Включить сервер или интернет можно сразу. Для PTR и hostname бот задаёт вопрос, а вы отвечаете на него ответом-цитатой; обычное сообщение между делом уйдёт в поддержку, а не в настройки сервера.
Переустановка ОС, восстановление из бэкапа, откат к снапшоту и отмена сервера остаются в панели — бот даёт ссылку на нужную страницу.
Снапшоты и бэкапы

Экран «Снапшоты» показывает снимки виртуальной машины напрямую из гипервизора: текущий отмечен, идущая задача видна, служебные снимки системы резервного копирования помечены замком. С включённым управлением можно создать снапшот — до пяти, с своим именем или по дате — и удалить ненужный, с подтверждением. Откат к снапшоту — в панели.
Экран «Бэкапы» перечисляет точки восстановления, самые свежие сверху. Само восстановление, как и всё, что меняет данные на диске, запускается в панели с подтверждением вторым фактором.
Уведомления с кнопками

Уведомления бота теперь не только сообщают, но и предлагают действие. Сервер перестал отвечать — под сообщением сразу «Консоль» и «Питание» (вторая — если включено управление), карточка сервера и его мониторинг. Подходит срок оплаты — «Оплатить счёт» или «Пополнить» на нужную сумму и «Продлить». Сервер готов или ОС установлена — карточка, консоль и панель. Доступы в Telegram не приходят никогда — они остаются в письме.
Ответы поддержки приходят в чат, пока Telegram включён в каналах уведомлений поддержки. Отвечать можно прямо в боте — сообщение попадёт в тот же запрос, без вопросов «в какой из них».
Новое: спросить поддержку прямо под скриншотом

Самый частый сценарий: вы смотрите на экран сервера и не понимаете, что с ним. Теперь под скриншотом есть кнопка «Спросить поддержку». Бот задаёт один вопрос — что случилось, — и ваш ответ открывает новый запрос, к которому уже приложены тот самый кадр, имя сервера и время снимка. Поддержка видит то же, что видели вы, без «пришлите, пожалуйста, скриншот».
Можно ответить «-», и запрос уйдёт без описания, или прислать в ответ своё фото — оно тоже приложится. Дальше переписка идёт как обычно: в боте или в панели.
Быстрый доступ

В меню команд бота — своя команда для каждого сервера, например /vs_12345 с подсказкой hostname и IP: начните вводить /vs, и Telegram покажет ваши серверы. Строка @XServerCloudBot и часть имени, hostname, IP или заметки в чате с ботом находит сервер и открывает его карточку. Имена в списке серверов — ссылки, одно нажатие ведёт в карточку. Команды /servers, /billing, /requests, /settings и /help открывают свои экраны.
Бот говорит на языке аккаунта — английском, украинском или русском; язык меняется в настройках бота и действует для панели и писем тоже.
Кто и что может
Бот работает только в личном чате. В группе команды с данными аккаунта не отвечают, а кнопка в пересланном сообщении ничего не делает.
Права — те же, что в панели. Участник команды видит и может ровно то, что разрешила его роль: без права на серверы не будет списка, без права на поддержку — запросов. Если вы состоите в нескольких командах, /team переключает аккаунт, в котором работает бот. Каждое нажатие заново проверяет аккаунт, права и выключатель управления, так что старая кнопка в истории чата не откроет лишнего.
Как подключить
- В панели откройте Настройки → Уведомления и нажмите «Привязать Telegram» — откроется чат с ботом, нажмите Start.
- Там же отметьте, какие уведомления получать в Telegram: мониторинг, оплата, поддержка.
- Если хотите управлять серверами из чата, включите «Управление из Telegram» в карточке Telegram. Для просмотра это не нужно.
Отвязать можно в любой момент — в панели или командой /unlink в боте. Если Telegram служит вторым фактором для входа, бот сначала попросит сменить способ.
Что дальше
Думаем о мини-приложении внутри Telegram. Если вам чего-то не хватает — напишите об этом боту: сообщение попадёт в поддержку, как любое другое.
