Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Cloud Apps
    • Demo Telegram Bot
    • Django Container
    • Image Resizer
    • Metrics Collector
    • VM Watchdog
    • VM Folder Watchdog
    • Instance Group Scheduled Scaler
  • Аудитные логи Audit Trails

В этой статье:

  • Необходимые платные ресурсы
  • Перед началом работы
  • Разверните приложение
  • Проверьте работу
  1. Приложения
  2. Demo Telegram Bot

Demo Telegram Bot

Статья создана
Yandex Cloud
Улучшена
Обновлена 13 января 2025 г.
  • Необходимые платные ресурсы
  • Перед началом работы
  • Разверните приложение
  • Проверьте работу

Telegram-бот на serverless-стеке Yandex Cloud, который возвращает пользователю отправленное сообщение. Реализован с помощью библиотеки Telegraf.js на Node.js.

Навыки Telegram-бота можно менять по своему усмотрению.

Необходимые платные ресурсыНеобходимые платные ресурсы

В стоимость ресурсов для приложения входят:

  • Плата за количество вызовов функции, вычислительные ресурсы, выделенные для выполнения функции, и исходящий трафик (см. тарифы Yandex Cloud Functions).
  • Плата за количество запросов к API-шлюзу и исходящий трафик (см. тарифы Yandex API Gateway).
  • Плата за количество запросов к стандартной очереди (см. тарифы Yandex Message Queue).
  • Плата за хранение и запрос секретов (см. тарифы Yandex Lockbox).

Перед началом работыПеред началом работы

Зарегистрируйте вашего бота в Telegram и получите токен:

  1. Запустите бота BotFather и отправьте ему команду /newbot.
  2. Укажите имя вашего бота, например Serverless Echo Telegram Bot. Это имя будут видеть пользователи при общении с ботом.
  3. Укажите имя пользователя вашего бота, например ServerlessHelloTelegramBot. По имени пользователя можно будет найти бота в Telegram. Имя пользователя должно оканчиваться на ...Bot или ..._bot.

На экране появится токен Telegram-бота.

Создайте секрет Yandex Lockbox. В поле Ключ укажите TG_TOKEN, в поле Значение — полученный токен Telegram-бота.

Разверните приложениеРазверните приложение

  1. В консоли управления выберите каталог, в котором хотите развернуть приложение.

  2. Выберите сервис Cloud Apps.

  3. На панели слева выберите Магазин приложений.

  4. Выберите Demo Telegram Bot и нажмите кнопку Использовать.

  5. Укажите:

    • Имя приложения.
    • (Опционально) Описание приложения.
    • Сервисный аккаунт с ролью admin на каталог или выберите Автоматически, чтобы нужный сервисный аккаунт создался при установке приложения. От имени этого сервисного аккаунта будут создаваться ресурсы приложения.
    • Идентификатор секрета Yandex Lockbox, который создали ранее.
  6. Нажмите кнопку Установить и дождитесь, пока приложение установится.

  7. На странице Обзор, в разделе Ресурсы приложения, найдите API-шлюз, перейдите на его страницу и скопируйте ссылку на служебный домен.

  8. Чтобы настроить связь между функцией и Telegram-ботом, выполните запрос. Вместо <токен_бота> укажите токен Telegram-бота, вместо <домен_API-шлюза> — ссылку на служебный домен API-шлюза.

    Linux/macOS
    Windows (cmd)
    Windows (PowerShell)
    curl \
      --request POST \
      --url "https://api.telegram.org/bot<токен_бота>/setWebhook?url=<домен_API-шлюза>/echo"
    
    curl ^
      --request POST ^
      --url "https://api.telegram.org/bot<токен_бота>/setWebhook?url=<домен_API-шлюза>/echo"
    
    curl.exe `
      --request POST `
      --url "https://api.telegram.org/bot<токен_бота>/setWebhook?url=<домен_API-шлюза>/echo"
    

    Результат:

    {"ok":true,"result":true,"description":"Webhook was set"}
    

Проверьте работуПроверьте работу

Напишите боту в Telegram.

Была ли статья полезна?

Следующая
Django Container
Проект Яндекса
© 2025 ООО «Яндекс.Облако»