Skip to main content

Overview

Vertra Cloud is ideal for hosting Telegram bots, offering continuous uptime with auto-restart and real-time log monitoring.
When creating the application for a bot, select the Bot type (not Website). Bots donโ€™t need exposed HTTP port.

Node.js with node-telegram-bot-api

Structure

package.json

vertracloud.config

Example (Node.js)


Python with python-telegram-bot

Structure

requirements.txt

vertracloud.config

Example (Python)

Deploy

  1. Compress the project into a .zip (folders like node_modules, venv and target are removed automatically) or push it to GitHub.
  2. In the dashboard, click New Project and upload the .zip or paste the repository URL.
  3. In Build, check the runtime (JavaScript or Python), the main file (src/index.js or main.py) and the memory. Start and build commands are under Advanced settings.
  4. Add your environment variables in Environment.
  5. In Network, leave web publishing off: a bot doesnโ€™t receive incoming traffic and runs in the background on any plan.
  6. Review and deploy. Follow the output in the Logs tab.
The full walkthrough is in First deploy.

Environment Variables Configuration

1

Get bot token

Talk to @BotFather on Telegram to create a new bot and get the BOT_TOKEN.
2

Configure in dashboard

After creating the application, add the environment variable:
  • Name: BOT_TOKEN
  • Value: (your @BotFather token)
3

Check logs

Monitor the logs after deployment to confirm the bot is online and connected.

Available Versions

Node.js

Python

Notes

  • Bot Type: Always select Bot when creating the application (not Website)
  • Environment variables: Configure BOT_TOKEN in the applicationโ€™s variables
  • Auto-restart: On by default, keeps the bot online in case of disconnection
  • Memory: 256MB is enough for simple bots, 512MB+ for complex ones
  • Logs: Use console.log() (JS) or logging (Python) to monitor in real-time
  • Polling: Both libraries use polling, which is simpler but uses more resources than webhooks
Last modified on October 31, 2026