#инструменты
Коллеги, делюсь важным аналитическим инсайтом по разработке Telegram-ботов. По словам специалистов, Telegram внедряет полноценный Serverless-бэкенд прямо в свою экосистему.
Для тех, кто, как и я, например, работает с облачными функциями, базами данных и настройкой вебхуков, это звучит как музыка. Для классических ботов (команды, кнопки, бизнес-логика) теперь можно полностью отказаться от внешних хостингов вроде Yandex Cloud или Beget. Telegram задумывает это как решение «всё-в-одном».
Что получаем «из коробки»:✅
Исполнение кода: логика пишется на JavaScript/TypeScript и запускается в V8-песочнице Телеграма.
✅
База данных: встроенная SQLite. Не нужно поднимать отдельный сервер: описываем таблицы в schema.js, и Telegram создаёт их самостоятельно.
✅
HTTP-запросы: встроенный fetch для взаимодействия со сторонними API (погода, AI-модели, курсы валют).
✅
Безопасность и простота: никаких настроек вебхуков, API-шлюзов, секретных ключей или SSL-сертификатов. Telegram сам безопасно передаёт апдейты в код.
🛡
А как же блокировки РКН?Закономерный вопрос: если Telegram в России блокируется, а ссылки вида /t.me без VPN не работают, не сломает ли это перенос логики в Serverless? Экспертная оценка однозначна:
нет, это не помешает. Более того, инфраструктура проекта станет даже более устойчивой к блокировкам.Разберем потоки трафика в новой гибридной архитектуре:
1.
Входящий трафик (Пользователь ↔️ Бот): Сейчас Telegram доставляет вебхук на публичный URL вашего сервера (например, Yandex API Gateway). В Serverless-модели вебхук вообще не покидает пределы инфраструктуры Telegram, обрабатываясь внутри их V8-изолята. РКН физически не может это заблокировать, так как трафик не проходит через российских провайдеров к внешнему серверу. Связь становится надежнее.
2.
Исходящий трафик (Serverless ↔️ ваш бэкенд): Если серверлесс-коду нужно сделать fetch-запрос к вашему PHP-бэкенду, трафик идет *из* сети Telegram (Европа/Азия) *в* сеть российского хостинга. РКН блокирует трафик *из России в Telegram*, но не запрещает серверам Telegram обращаться к российским серверам. Ведь они публично доступны, и Telegram спокойно «достучится» до них из любой точки мира без VPN.
В итоге с Serverless архитектура тг-ботов становится максимально лаконичной:Вся инфраструктура умещается в одной папке: handlers/ (для сообщений и кнопок), schema.js и package.json.
Развёртывание в продукт сводится к одной команде в терминале: npx tgcloud push && npx tgcloud migrate.
⚠️
Важные технические нюансы (ограничения платформы):1.
Только JS/TS: Python, PHP или Go здесь не подойдут.
2.
Нет npm-пакетов: Нельзя сделать npm install. Доступен только встроенный SDK и ваш собственный код в папке lib/. Весь функционал придется писать чистыми средствами языка.
3.
Специфика SQLite: нет внешних ключей (Foreign Keys). Связи между таблицами (например, user_id в заказах) придётся контролировать вручную в коде. Для гигантских объёмов данных или сложной аналитики это решение не подойдёт.
4.
Нет фоновых задач (Cron): код выполняется только по действию пользователя. Для отложенных задач (например, ежедневная рассылка) понадобятся внешние триггеры (вроде
cron-job.org), которые будут «пинговать» бота.
5.
Ограничения работы с файлами: пересылка по file_id работает отлично, но генерация и отправка сырых байтов (например, создание PDF на лету) пока проблематична.
6.
Тарификация: точных цифр пока нет, но по аналогии с AWS Lambda или Yandex Functions ожидается щедрый бесплатный лимит, которого за глаза хватит для небольших и средних проектов.
💡
Что в итоге мы получили от Дурова: Для стандартных ботов с базой данных и кнопками это возможность закрыть вопрос с серверами, инфраструктурой и устойчивостью к блокировкам раз и навсегда. Разрабатываем локально, делаем push и сразу получаем рабочий продукт.
Как вам такое упрощение и укрепление архитектуры?