Cum să găzduiești un bot Telegram
Pe această pagină
Un bot Telegram răspunde doar cât timp îi rulează codul. Dacă îl faci pe laptop, tace în clipa în care laptopul intră în repaus — așa că, mai devreme sau mai târziu, orice bot are nevoie de un loc care rămâne pornit.
Ghidul acoperă tot drumul: crearea botului cu BotFather, alegerea între polling și webhook, un exemplu funcțional în Python și în JavaScript, limitele și regulile impuse de Telegram și cum ții botul online 24/7.
Pasul 1: Creează botul cu BotFather
- În Telegram, deschide @BotFather și trimite
/newbot. - Dă-i botului un nume afișat, apoi un username: între 5 și 32 de caractere, litere latine, cifre și underscore, terminat în
bot— de exemplumy_shop_helper_bot. - BotFather îți răspunde cu tokenul, care arată așa:
123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11. Oricine îl are îți controlează botul, așa că ține-l în afara codului și nu-l da nimănui. Dacă s-a scurs, trimite/tokencătre BotFather ca să primești unul nou.
Încă două comenzi BotFather utile: /setcommands adaugă lista de comenzi pe care utilizatorii o văd când tastează /, iar /setprivacy controlează ce vede botul în grupuri. Implicit, modul de confidențialitate este activ, deci într-un grup botul primește doar comenzile destinate lui și răspunsurile la propriile mesaje — dacă nu îl faci administrator.
Polling sau webhook?
Un bot primește mesajele de la Telegram în unul din două moduri — niciodată în ambele simultan:
| Long polling | Webhook | |
|---|---|---|
| Cum funcționează | Botul tot întreabă Telegram dacă are mesaje noi, printr-o singură conexiune deschisă | Telegram trimite fiecare actualizare la adresa ta HTTPS |
| De ce ai nevoie | Doar de acces la internet spre exterior | Un domeniu, un certificat valid și portul 443, 80, 88 sau 8443 |
| Potrivit pentru | Aproape orice bot, și cel mai ușor de găzduit | Boți foarte solicitați sau platforme serverless |
Începe cu polling. Nu are nevoie de domeniu, certificat sau port deschis și îl suportă toate bibliotecile. Dacă pe token a fost setat vreodată un webhook, apelează mai întâi deleteWebhook — polling-ul nu merge cât timp un webhook este activ.
Boții cu polling rulează pe hostingul de boți HytHost fără domeniu sau port deschis de configurat — Python sau Node.js de la €0.89/lună.
Vezi planurile de hosting pentru boțiPasul 2a: Un bot în Python (python-telegram-bot)
python-telegram-bot 22 necesită Python 3.10 sau mai nou. Instalează-l cu pip install python-telegram-bot și creează bot.py:
import os
from telegram import Update
from telegram.ext import Application, CommandHandler, ContextTypes, MessageHandler, filters
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
await update.message.reply_text("Hi! Send me a message and I will echo it.")
async def echo(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
await update.message.reply_text(update.message.text)
def main() -> None:
application = Application.builder().token(os.environ["TELEGRAM_TOKEN"]).build()
application.add_handler(CommandHandler("start", start))
application.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, echo))
application.run_polling(allowed_updates=Update.ALL_TYPES)
if __name__ == "__main__":
main()
aiogram 3 este cealaltă alegere populară în Python, tot pe Python 3.10 sau mai nou.
Pasul 2b: Un bot în JavaScript (grammY)
grammY este framework-ul Telegram pentru Node.js întreținut activ. Rulează npm install grammy și creează bot.js:
const { Bot } = require("grammy");
const bot = new Bot(process.env.TELEGRAM_TOKEN);
bot.command("start", (ctx) => ctx.reply("Welcome! Up and running."));
bot.on("message:text", (ctx) => ctx.reply(ctx.message.text));
process.once("SIGINT", () => bot.stop());
process.once("SIGTERM", () => bot.stop());
bot.start();
Tutorialele mai vechi folosesc Telegraf, care nu a mai avut nicio versiune din februarie 2024; pentru un bot nou, grammY este alegerea mai sigură.
Limitele și regulile Telegram pentru boți
Limitele din FAQ-ul Telegram pentru boți:
- Cam un mesaj pe secundă într-un singur chat, 20 de mesaje pe minut într-un grup și cam 30 de mesaje pe secundă în total.
- Fișiere: botul poate trimite până la 50 MB și descărca până la 20 MB.
- O singură copie a botului poate face polling la un moment dat. A doua primește Conflict: terminated by other getUpdates request — folosește un token separat pentru teste.
Reguli: termenii Telegram pentru dezvoltatorii de boți interzic spamul, mesajele nesolicitate și ocolirea limitelor de trafic. Un bot are nevoie de o politică de confidențialitate (se aplică cea standard a Telegram dacă nu o scrii pe a ta) și trebuie să șteargă datele unui utilizator la cerere. Automatizarea unui cont personal în locul unui bot — așa-numitul userbot — este cu totul altceva, iar Telegram blochează conturile folosite pentru flood sau spam.
Hosting pentru boți Telegram la HytHost
Planurile noastre de hosting pentru boți rulează atât boți Telegram, cât și boți Discord:
- Alege un plan și runtime-ul — Python pentru python-telegram-bot sau aiogram, Node.js pentru grammY. Alege Python 3.10 sau mai nou, ori un Node.js actual, în tab-ul Startup.
- Încarcă-ți codul cu managerul de fișiere sau prin SFTP, împreună cu
requirements.txtsaupackage.json. - Pune tokenul într-un fișier
.envsau într-o variabilă de mediu, nu în cod. - Pornește-l. Cu polling, botul nu are nevoie de domeniu sau port deschis; panoul îl repornește dacă se blochează.
Ce permit regulile noastre: boți construiți pe Bot API oficial, cu un token de la BotFather. Nu sunt permise: userboții care automatizează un cont personal, mesajele în masă nesolicitate, colectarea de date despre utilizatori sau grupuri și boții care descarcă și redistribuie conținut media fără a avea drepturile asupra lui. Un bot care încalcă aceste reguli este suspendat.
Planurile includ o bază de date MySQL și backupuri. Faci și un bot Discord? Vezi cum să faci un bot Discord.
Ține-ți botul Telegram online 24/7 fără PC-ul tău: hosting pentru boți Python sau Node.js de la €0.89/lună, cu reporniri incluse.
Vezi planurile de hosting pentru boțiÎntrebări frecvente
Îl poți rula gratuit pe propriul calculator, dar iese offline de fiecare dată când calculatorul intră în repaus sau repornește. Planurile cloud gratuite adesea pun pe pauză aplicațiile inactive sau le limitează utilizarea. Pentru un bot care rămâne online, un host mic, plătit, este varianta de încredere.
Polling pentru aproape orice bot: nu are nevoie de domeniu, certificat sau port deschis. Webhook-urile se potrivesc boților foarte solicitați sau platformelor serverless și necesită HTTPS pe portul 443, 80, 88 sau 8443. Un token nu le poate folosi pe amândouă deodată.
Trimite /token către @BotFather și alege botul ca să primești un token nou, apoi actualizează-l peste tot unde rulează botul. Ține tokenul într-o variabilă de mediu sau într-un fișier .env, niciodată în cod pe care îl partajezi.
Două copii ale botului fac polling cu același token, de exemplu una pe PC-ul tău și una pe server. Oprește una dintre ele și folosește un bot și un token separate pentru teste.
De foarte puțină. Un bot tipic în Python sau Node.js care răspunde la comenzi merge de obicei bine cu 512 MB; boții care procesează imagini sau țin multe date în memorie au nevoie de mai mult.
Botul tău Telegram, online 24/7
Hostingul pentru boți HytHost îți rulează botul Telegram în Python sau Node.js cu reporniri automate, o bază de date MySQL și backupuri — de la €0.89/lună.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hoursȚi-a fost util acest ghid?