This section is for bots that host or run your own Telegram bot. So far every hosting option we checked works from a website rather than inside Telegram.
We are still testing bots for this page. Check back soon or suggest one.
We searched bot-hosting platforms, VPS providers and free-hosting lists for a bot on Telegram that deploys, runs or manages your bot, and checked every candidate on t.me and against its own site. The bot-hosting platforms we found run from a web dashboard and link only a news channel or a community chat. The one bot that deploys servers from Telegram belongs to a provider that also sells «warez» VPS, virtual numbers and residential proxies, so it does not meet our rules. We will add a bot here when one passes the same checks as the rest of the catalog.
A Telegram bot is an ordinary program that talks to the Bot API at api.telegram.org, so any host can run it if it gives you three things: a process that stays up, outgoing internet access and somewhere to keep data that survives a restart. For a webhook you also need a public HTTPS address on one of the ports Telegram accepts: 443, 80, 88 or 8443. A self-signed certificate works too, as long as you upload its public part when you call setWebhook. A database on the same disk as the code is lost if the host rebuilds the container, so check where your users' settings and reminders actually live.
Long polling suits a small VPS or a home machine: the bot asks Telegram for new messages itself and needs no domain or certificate. A webhook fits platforms that start your code on each request, such as cloud functions, and on pay-per-request plans an idle bot costs nothing. The catch is anything the bot must do on its own, like a reminder at 9:00: a function that wakes only on incoming messages needs a separate scheduler. You cannot mix the two modes: while a webhook is set, getUpdates returns an error until you call deleteWebhook.
A service that runs your bot needs its token, and the token is full control: whoever holds it receives every message sent to the bot and can post as it. Give it only to a host with an identifiable company behind it, check that the provider's own site links to the bot or panel you are using, and revoke the token in BotFather after a trial you do not continue. That is the check no hosting bot has passed for this section yet.
For long polling (getUpdates), any computer online will do, even one at home, but the bot only answers while it is switched on. A webhook needs a public HTTPS address: a VPS, a hosting plan or a cloud function that runs on each request.
The bot stays on Telegram but goes silent: commands get no reply, and reminders or broadcasts it should send do not go out. Telegram keeps incoming updates for up to 24 hours, so after a quick restart the bot catches up; anything older is lost.
Keep it in an environment variable or a secrets store on the server, never in the code or a repository. If it leaks, revoke it in @BotFather: the old token stops working at once, and you put the new one on the server.
The token and username stay the same: move the code and the database, and stop the old copy before starting the new one. Two processes polling getUpdates with one token collide with a 409 Conflict error, and a webhook only goes to the address set last.