NUEVO 📢 Oferta de lanzamiento limitada: ¡hasta un 70% de descuento en tu primer mes, en todos los juegos!Ver planes

Cómo alojar un bot de Telegram

Hosting de bots de DiscordUpdated Oct 29, 20269 min read

Para alojar un bot de Telegram 24/7, ejecútalo en un servidor que siempre está encendido en lugar de en tu PC: crea el bot con @BotFather, pide un plan de bots para Telegram, pega el token en la página Bot e inicia tu código. En un plan de bots de PlayNHost (desde US$1.99 al mes) el panel comprueba el token con Telegram, le da a tu código el token con los nombres que usan la mayoría de las librerías y ofrece un bot inicial listo en Python o Node.js si todavía no tienes código. Los pasos:

  1. En Telegram, abre @BotFather, envía /newbot, elige un nombre y un nombre de usuario que termine en bot, y copia el token que te da.
  2. En la página de alojamiento de bots de Telegram, haz clic en Crear servidor en un plan. En la ventana de pedido, responde ¿Para qué plataforma es tu bot? con Telegram y elige el lenguaje en el que está escrito tu bot.
  3. Abre tu servidor en el panel. En la tarjeta Configura tu bot del Resumen, comprueba Qué se ejecuta y haz clic en Continuar.
  4. En Conectar con Telegram, pega el token y haz clic en Conectar. Comprueba el nombre del bot que aparece y haz clic en Sí, continuar.
  5. En Tu código, haz clic en Crear un bot inicial, o sube tus propios archivos o conecta Git.
  6. Haz clic en Iniciar bot y espera a Tu bot está en línea en Telegram. Envíale /start para probarlo.
  7. En la página Bot, sección Telegram, haz clic en Abrir en Telegram y envía /start a tu bot.

Cada paso se explica más abajo.

1. Crea el bot con @BotFather

  1. En Telegram, busca @BotFather y abre el chat.
  2. Envía /newbot. @BotFather te pide un nombre, que la gente ve en los chats, y después un nombre de usuario. El nombre de usuario debe terminar en bot, por ejemplo tetris_bot o TetrisBot.
  3. @BotFather responde con el token, una línea como 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw. Cópiala. Quien la tenga controla tu bot, así que no la compartas ni la pongas en tu código.

¿Has perdido el token? En @BotFather envía /mybots, elige tu bot y después API Token.

2. Pide un plan para Telegram

Todos los planes ejecutan un bot de Telegram, desde STARTER (0.5 GB). Haz clic en Crear servidor en el plan que quieras. La ventana de pedido pregunta ¿Para qué plataforma es tu bot?: elige Telegram. Después eliges el lenguaje de tu bot: Node.js, Python, Java, C# (.NET), Bun, Deno, Go o Rust. ¿No sabes qué plan elegir? python-telegram-bot vs aiogram en PlayNHost tiene la memoria que medimos para cada librería.

La ventana de pedido del plan STARTER, paso 1 de 2: ¿Para qué plataforma es tu bot? con Telegram seleccionado y las ocho opciones de lenguaje Node.js, Python, Java, C# (.NET), Bun, Deno, Go y Rust.

¿Ya tienes un plan de bots configurado para Discord? No necesitas uno nuevo. En la página Bot, sección Discord, busca la tarjeta ¿Para qué es este bot?, elige Telegram y confirma con Cambiar. No se borra nada: el token de Discord sigue guardado y vuelve si cambias de nuevo. Si ya habías guardado tu token en Entorno como TELEGRAM_BOT_TOKEN, pasa a ser el token de Telegram, sin nada que pegar otra vez.

3. Pega el token

Abre tu servidor en el panel. La tarjeta Configura tu bot del Resumen te guía en tres pasos: Qué se ejecuta, Conectar con Telegram y Tu código.

  1. Qué se ejecuta indica el lenguaje de tu servidor, por ejemplo Este bot ejecuta Python Bot. Haz clic en Continuar, o en Cambiar lo que se ejecuta si no es el correcto.
  2. Conectar con Telegram: pega el token bajo Pega el token de tu bot y haz clic en Conectar. El panel muestra Comprobando con Telegram... y después el nombre y el @usuario de tu bot con ¿Es tu bot?. Haz clic en Sí, continuar.

También puedes pegarlo en la página Bot, sección Telegram, bajo Token. Un token que Telegram rechaza no se guarda: ves Telegram no aceptó ese token. Cópialo de nuevo desde @BotFather.

El token se guarda cifrado y el panel no vuelve a mostrarlo. Tu código lo recibe como variable de entorno con cinco nombres, así que la mayoría de los ejemplos funcionan sin cambios:

NombreLo usan
TELEGRAM_BOT_TOKENNuestros bots iniciales
BOT_TOKENLos ejemplos de aiogram, Telegraf y node-telegram-bot-api
TOKENEl marcador de posición de los ejemplos de python-telegram-bot y pyTelegramBotAPI
TELEGRAM_TOKENFrecuente en tutoriales
TELOXIDE_TOKENteloxide (Rust), lo lee Bot::from_env()

En Python léelo con os.environ["TELEGRAM_BOT_TOKEN"], en Node.js con process.env.TELEGRAM_BOT_TOKEN.

4. Añade tu código

En Tu código, la tarjeta ofrece lo que encaja con tu servidor:

  • Crear un bot inicial (servidores Node.js y Python sin código todavía): un bot pequeño que ya funciona y responde a /start. En Python escribe bot.py y requirements.txt con python-telegram-bot 22; en Node.js escribe index.js y package.json con grammY. Define el archivo de entrada por ti. Cámbialo como quieras y reinicia.
  • Subir archivos: tu propio bot, con requirements.txt o package.json. No incluyas venv, .venv, __pycache__ ni node_modules. Mira Cómo subir el código de tu bot.
  • Conectar Git: tu código desde un repositorio Git. Mira Cómo desplegar y actualizar tu bot desde GitHub.

Tu propio código debe usar long polling: run_polling() en python-telegram-bot, start_polling() en aiogram, bot.start() en grammY o launch() en Telegraf. Los webhooks necesitan una dirección HTTPS pública, que estos planes todavía no incluyen. Si mueves un bot que usaba un webhook: Cómo mover un bot de Telegram a PlayNHost.

5. Inícialo

Haz clic en Iniciar bot en la tarjeta, o pulsa Iniciar, y abre la Console. En Python, Node.js y Bun el servidor instala primero tus paquetes; el primer inicio tarda más mientras se descargan. Después se instalan de nuevo solo cuando los cambias (la lista de paquetes, el archivo de paquetes o la versión del entorno de ejecución), cuando falta node_modules, o una vez al día. Si no, ves:

[PlayNHost] Packages are up to date. They install again when you change them, or after a day.
[PlayNHost] Starting your bot

Entonces el bot inicial imprime Logged in as @your_bot. El panel lee esa línea: la etiqueta del Resumen pasa a En línea en Telegram. En tu propio código, imprime una línea parecida cuando el bot esté listo.

6. Ábrelo en Telegram

En la página Bot, sección Telegram, haz clic en Abrir en Telegram. Se abre el enlace t.me de tu bot. Envía /start: el bot inicial responde Hello con tu nombre y Your bot is running on PlayNHost.

La misma sección muestra el @usuario y el id de tu bot, y una tarjeta En grupos con lo que Telegram le permite hacer en los chats de grupo.

La sección Telegram de la página Bot: token comprobado y Válido, el nombre del bot y @playnhost_demo_bot, un enlace Abrir en Telegram y la tarjeta En grupos con Privacidad activada.

Si no responde

El panel lee la consola y pone encima un aviso con la causa y un botón para solucionarla:

  • Telegram no aceptó el token de tu bot: el token se revocó en @BotFather o se copió mal. Haz clic en Reemplazar el token.
  • Tu bot también se está ejecutando en otro sitio: otra copia usa el mismo token, a menudo en tu PC o en tu hosting anterior.
  • Hay un webhook configurado en tu bot: haz clic en Quitar el webhook.

Algunas librerías siguen reintentando en estos casos, así que el bot parece estar en marcha mientras nada responde: el aviso es la forma de enterarte. Detalles: Solucionar el error 409 Conflict de un bot de Telegram.

Preguntas frecuentes

¿Mi bot sigue en línea cuando apago mi PC?

Sí. Se ejecuta en el servidor, no en tu PC ni en tu navegador. Si falla, se vuelve a iniciar en aproximadamente un minuto; si vuelve a fallar en el minuto siguiente, se queda detenido y la Console dice por qué.

¿Puedo usar un webhook en lugar de polling?

Todavía no. Un webhook necesita una dirección HTTPS pública, que estos planes todavía no incluyen. El polling no necesita ninguna dirección: tu bot le pide a Telegram los mensajes nuevos. Si hay un webhook configurado en tu bot, la sección Telegram lo muestra con Quitar webhook, que conserva los mensajes en espera.

¿Puedo ejecutar el mismo bot en mi PC mientras pruebo?

No con el mismo token al mismo tiempo. Telegram deja que solo una copia de un bot pida mensajes, así que la otra recibe 409 Conflict. Detén la copia de tu PC, o crea un segundo bot en @BotFather para las pruebas.

¿Por qué mi bot no ve los mensajes en un grupo?

El modo de privacidad de Telegram viene activado por defecto: en grupos tu bot ve los comandos dirigidos a él y las respuestas a él, no todos los mensajes, salvo que sea administrador del grupo. La tarjeta En grupos muestra Privacidad activada o Privacidad desactivada. Para leer todos los mensajes, envía /setprivacy a @BotFather, desactívalo, quita el bot del grupo y vuelve a añadirlo.

¿Qué plan necesito?

STARTER (0.5 GB) ejecuta un bot de python-telegram-bot, aiogram, grammY o Telegraf con margen para tu propio código. Elige 1 GB o más cuando el bot guarde datos en memoria, maneje archivos o imágenes, o ejecute varios bots en un mismo proceso. Mira los planes en alojamiento de bots de Telegram.

¿Ya tienes tu bot en otro proveedor? Tráelo con nosotros

NUESTROS ÚLTIMOS BLOGS