Move your bot off your laptop and onto a small KVM server in Germany. It keeps answering when your computer is off, and you can pay for it with crypto.
Most bot libraries start with long polling: the bot keeps asking Telegram or Discord for new updates. It needs no domain, no certificate and no open ports, so it works on a fresh VPS right away. Discord bots always connect this way, through a gateway connection that the library keeps open for you.
Webhooks are the alternative for Telegram. Telegram sends each update to your server over HTTPS, which saves a constant connection and scales better for busy bots. You need a domain pointing to the server and a reverse proxy such as nginx or Caddy with a free certificate. Payment providers usually require webhooks for callbacks anyway.
Keeping the bot running
Starting a bot from an SSH session is fine for testing, but it stops as soon as you disconnect. For real use, run it as a service. systemd is built into every Linux system we offer and restarts the bot automatically. pm2 is popular for Node.js bots, and Docker keeps dependencies tidy when you run several bots on one server.
Our step by step guide shows how to deploy a Telegram bot with systemd: create a user, copy the code, set the token in an environment file, write a unit file and enable it. The same approach works for Discord bots. Logs are then available through journalctl whenever something goes wrong.
systemd: built in, simple, restarts on failure and at boot.
pm2: handy for Node.js, with logs and process list.
Docker: one container per bot, clean updates.
Choosing a plan for your bot
A typical Python or Node.js bot uses well under a few hundred megabytes of RAM. VPS-1 with 1 vCPU and 1 GB of RAM runs a few such bots easily, and its 1 TB of traffic is far more than text messages need. It is the cheapest way to keep a bot online around the clock.
Choose VPS-2 with 2 GB when you add a database such as PostgreSQL, run bots in Docker or handle media like images and voice messages. VPS-3 with 2 vCPU and 4 GB suits bigger projects: a bot with a web admin panel, background workers, or calls to AI models that need more memory for processing.
Practical notes
Keep bot tokens out of your code and out of Git. Store them in an environment file readable only by the bot user. Allow only SSH and, if you use webhooks, HTTPS in the firewall. If a bot sends email, use an HTTPS API such as Resend, Postmark or Amazon SES, because outgoing mail ports are closed by default.
The server is in a data center in Falkenstein, Germany, with an uplink of up to 1 Gbps, so API calls to Telegram and Discord are quick. Billing is hourly from a prepaid balance. Keep an eye on it: if the balance runs out, the server is paused for 24 hours and then deleted, and a low balance email warns you well before that.
Step by step guides
Written by our team and tested on DataPasa servers.
A small VPS. Our VPS-1 plan with 1 vCPU and 1 GB of RAM costs $1.81 a month, billed by the hour, and can run several small bots under systemd.
Not for long polling, which works out of the box on a fresh server. You need a domain and an HTTPS certificate only if you switch the bot to webhooks.
Yes. Discord and Telegram bots can run side by side on one server, each as its own systemd service, pm2 process or Docker container with separate logs.
Run it as a service with systemd, pm2 or Docker. Our guide shows a systemd unit that starts the bot at boot and restarts it after a crash.
You get a low balance email first. If the balance reaches zero, the server is suspended with its data kept for 24 hours, then deleted. Top up in time and the bot keeps running.
Any language that runs on Linux: Python, Node.js, Go, Java, PHP, Rust and others. You have full root access and install the versions you need.
Yes. Top up from $5 with USDT on TRON, TON or other networks, BTC, ETH, XMR and many more coins, or with a card through Stripe.