Com allotjar un bot de Telegram
En aquesta pàgina
Un bot de Telegram només respon mentre el seu codi s'executa. Si el crees al portàtil, callarà en el moment que el portàtil entri en repòs — així que tard o d'hora tot bot necessita una llar que es mantingui encesa.
Aquesta guia cobreix tot el camí: crear el bot amb BotFather, triar entre polling i webhooks, un exemple funcional en Python i en JavaScript, els límits i les normes que fixa Telegram i com mantenir el bot en línia 24/7.
Pas 1: Crea el bot amb BotFather
- A Telegram, obre @BotFather i envia
/newbot. - Dona al bot un nom visible i després un nom d'usuari: de 5 a 32 caràcters, lletres llatines, dígits i guions baixos, acabat en
bot— per exemplemy_shop_helper_bot. - BotFather respon amb el token, que té aquest aspecte:
123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11. Qui el tingui controla el teu bot, així que mantén-lo fora del codi i no el comparteixis mai. Si es filtra, envia/tokena BotFather per obtenir-ne un de nou.
Dues ordres més de BotFather que val la pena conèixer: /setcommands afegeix la llista d'ordres que els usuaris veuen quan escriuen /, i /setprivacy controla què veu el bot als grups. Per defecte el mode de privadesa està activat, de manera que en un grup el bot només rep les ordres adreçades a ell i les respostes als seus propis missatges — tret que el facis administrador.
Polling o webhooks?
Un bot rep els missatges de Telegram d'una de dues maneres — mai totes dues alhora:
| Long polling | Webhook | |
|---|---|---|
| Com funciona | El bot pregunta contínuament a Telegram si hi ha missatges nous a través d'una única connexió oberta | Telegram envia cada actualització a la teva adreça HTTPS |
| Requereix | Només accés sortint a internet | Un domini, un certificat vàlid i el port 443, 80, 88 o 8443 |
| Ideal per a | Gairebé qualsevol bot, i el més fàcil d'allotjar | Bots molt concorreguts o plataformes serverless |
Comença amb polling. No necessita domini, certificat ni port obert, i totes les biblioteques el suporten. Si algun cop s'ha configurat un webhook al token, crida primer deleteWebhook — el polling no funciona mentre hi hagi un webhook actiu.
Els bots amb polling funcionen a l'allotjament de bots d'HytHost sense haver de configurar cap domini ni port obert — Python o Node.js des de €0.89/mes.
Veure els plans d'allotjament de botsPas 2a: Un bot en Python (python-telegram-bot)
python-telegram-bot 22 necessita Python 3.10 o posterior. Instal·la'l amb pip install python-telegram-bot i crea 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 és l'altra opció popular en Python, també amb Python 3.10 o posterior.
Pas 2b: Un bot en JavaScript (grammY)
grammY és el framework de Telegram per a Node.js que es manté activament. Executa npm install grammy i crea 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();
Els tutorials més antics fan servir Telegraf, que no ha tingut cap versió nova des del febrer del 2024; per a un bot nou, grammY és l'opció més segura.
Límits i normes de Telegram per als bots
Límits segons les preguntes freqüents sobre bots de Telegram:
- Aproximadament un missatge per segon en un mateix xat, 20 missatges per minut en un grup i aproximadament 30 missatges per segon en total.
- Fitxers: el bot pot enviar fins a 50 MB i descarregar-ne fins a 20 MB.
- Només una còpia del bot pot fer polling alhora. Una segona rep Conflict: terminated by other getUpdates request — fes servir un token separat per a les proves.
Normes: les condicions de Telegram per a desenvolupadors de bots prohibeixen l'spam, els missatges no sol·licitats i eludir els límits de freqüència. Un bot necessita una política de privadesa (s'aplica l'estàndard de Telegram si no n'escrius una de pròpia) i ha d'esborrar les dades d'un usuari quan ho demani. Automatitzar un compte personal en lloc d'un bot — l'anomenat userbot — és una cosa completament diferent, i Telegram bloqueja els comptes que s'utilitzen per a flooding o spam.
Allotjament de bots de Telegram a HytHost
Els nostres plans d'allotjament de bots executen bots de Telegram a més de bots de Discord:
- Tria un pla i l'entorn d'execució — Python per a python-telegram-bot o aiogram, Node.js per a grammY. Tria Python 3.10 o posterior, o una versió actual de Node.js, a la pestanya Startup.
- Puja el teu codi amb el gestor de fitxers o per SFTP, juntament amb
requirements.txtopackage.json. - Posa el token en un fitxer
.envo en una variable d'entorn, no al codi. - Engega'l. Amb polling el bot no necessita domini ni port obert; el panell el reinicia si es penja.
Què permeten les nostres normes: bots creats sobre la Bot API oficial amb un token de BotFather. No es permeten: userbots que automatitzin un compte personal, missatges massius no sol·licitats, extreure dades (scraping) d'usuaris o grups, ni bots que descarreguin i redistribueixin contingut multimèdia sense tenir-ne els drets. Un bot que incompleixi aquestes normes queda suspès.
Els plans inclouen una base de dades MySQL i còpies de seguretat. També estàs fent un bot de Discord? Consulta com crear un bot de Discord.
Mantén el teu bot de Telegram en línia 24/7 sense el teu PC: allotjament de bots en Python o Node.js des de €0.89/mes, reinicis inclosos.
Veure els plans d'allotjament de botsPreguntes freqüents
Pots executar-lo gratis al teu ordinador, però es desconnecta cada cop que l'ordinador entra en repòs o es reinicia. Els plans gratuïts al núvol sovint pausen les aplicacions inactives o en limiten l'ús. Per a un bot que es mantingui en línia, un allotjament petit de pagament és l'opció fiable.
Polling per a gairebé qualsevol bot: no necessita domini, certificat ni port obert. Els webhooks són adequats per a bots molt concorreguts o plataformes serverless, i requereixen HTTPS al port 443, 80, 88 o 8443. Un token no pot fer servir tots dos alhora.
Envia /token a @BotFather i tria el bot per obtenir un token nou; després actualitza'l a tot arreu on s'executi el bot. Guarda el token en una variable d'entorn o en un fitxer .env, mai en codi que comparteixis.
Dues còpies del bot fan polling amb el mateix token, per exemple una al teu PC i una altra al servidor. Atura'n una, i fes servir un bot i un token separats per a les proves.
Molt poca. Un bot típic en Python o Node.js que respon ordres normalment funciona bé amb 512 MB; els bots que processen imatges o mantenen moltes dades a la memòria en necessiten més.
El teu bot de Telegram, en línia 24/7
L'allotjament de bots d'HytHost executa el teu bot de Telegram en Python o Node.js amb reinicis automàtics, una base de dades MySQL i còpies de seguretat — des de €0.89/mes.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hoursT'ha estat útil aquesta guia?