Build amazing Telegram bots in minutes.
Paste a BotFather token, write commands in the console, hit Launch — and your bot is live. No server to keep alive.
Get Started
Welcome to TeleHost — Let's get started
From token to live bot in minutes
Three clear steps. No server to rent, no webhook server to configure, and no always-on process to maintain.
Token in. Bot online. If you can paste a BotFather token, you can host a bot here.
Create a bot with BotFather
Open Telegram, talk to @BotFather, run /newbot, and copy the API token they give you.
Add it in the console
Paste the token under Add Bot. Write a /start command, pick a starter template, and save.
Hit Launch Bot
Your bot goes live on TeleHost. Message it on Telegram and check the reply.
Built for Telegram bot hosting
Fast replies, a safe no-code runtime, and room to grow. You focus on the bot. TeleHost handles the rest.
Create → Launch
Add Bot, pick a template, hit Launch. TeleHost handles token verification, webhook registration and the secret header for you.
Commands + buttons
/start, /help and any custom command, with inline buttons, Markdown/HTML and variables like {first_name} and {username}.
Live logs + stats
Every command, button tap, error and deploy, plus per-bot counts of chats, commands and failures.
Broadcast
Send one announcement to every chat that has messaged your bot — with a sent/failed count in the log.
Templates
Welcome, Support and Info starters so a new bot is useful in one click, not a blank page.
Token safety
Tokens are encrypted server-side, never shown in the dashboard, and never written to logs.
Write the bot. Skip the server work.
With a traditional setup you import a library, load a token, register a listener, then keep a process alive. TeleHost skips that stack — one matching command runs per update, then stops.
Traditional · Node + Telegraf · 6 lines
const { Telegraf } = require('telegraf');
const bot = new Telegraf(process.env.BOT_TOKEN);
bot.command('start', (ctx) => {
ctx.reply('Welcome! How can I help?');
});
bot.launch();
TeleHost · /start · 1 reply
/start
Hi {first_name}! Welcome to {bot_name}.
Put it on /start. It replies. No imports, no process to keep alive.
Built-in storage for bot state
Handlers, endpoints, library modules and database tables live with each bot. Declare a table in the Database tab and it is created for that bot — no database of your own to run.
Clear logs when something breaks
When a command fails, you see the error in the activity log instead of guessing. Broadcast to your users from the same console, without building a sender from scratch.
Simple pricing that scales with you
Every plan includes unlimited bots. Stay on Free while you learn. No card required to begin.
Free
$0 / month
Unlimited bots · Fixed commands · Buttons · Logs · Broadcast
Pro — coming soon
Coming soon
Higher limits · Priority handling · Export history
FAQ
Your Questions Answered
Need help with something? Here are some of the most common questions we get.
No. Add the bot, hit Launch, and TeleHost registers the webhook with a secret token automatically.
No. Everything runs on TeleHost's own backend. Nothing for you to keep alive.
Not in this version — deliberately. Commands are fixed replies, buttons and variables, so a bad command can never run away with your bot or server.
It is encrypted on the server, never returned to the browser, and never written to logs. Still, treat it like a password: if it leaks, revoke it in @BotFather with /revoke.
Yes. The token is yours from BotFather. Stop the bot here, then point the same token at another host.
On the Docs page — quickstart, variables, buttons, deploy, API reference and troubleshooting.
Check the Docs page for quickstart, variables, buttons, deploy, API reference and troubleshooting.
Token in. Bot online.
Start hosting your Telegram bot
Open the console, paste a BotFather token, and write a command. Free to start. No credit card required.
Your bots
Serverless project
Like Telegram Serverless (tgcloud): one handler per update type, endpoints for a Mini App, shared library modules, and a database schema. No arbitrary code runs here — handlers, endpoints and lib are safe templates, and schema tables are created only from validated names and types.
A handler runs for one Telegram update type. Message and callback_query handle commands and buttons. Turn a handler off and that update type is ignored, exactly like a missing handler file in tgcloud.
// tgcloud/handlers/message.js
import { api } from 'sdk';
export default async function (message) {
await api.sendMessage({ chat_id: message.chat.id, text: 'Hello!' });
}
An endpoint is a function your Mini App calls. The public URL is shown per endpoint. Calls must carry verified Telegram initData, like tgcloud endpoints — the dashboard Test button bypasses that check for owners only.
Library modules are shared text blocks. Use {lib:name} inside any command, handler or endpoint reply and it is replaced with the module content.
Database schema, like tgcloud schema.js: declare a table and its columns (name:type, one per line). TeleHost creates a real bot-scoped table from validated names only — no raw SQL from the browser.
/start reply
Variables: {first_name} {last_name} {username} {full_name} {bot_name} {chat_id}
Fallback reply (unknown messages)
Add a command
Webhook
TeleHost