brainax

Tu propio bot de Telegram

Lección 14 de 22 del curso «Agentes para la vida». Gratis, con animaciones y un test.

Un agente en tu mensajería

El mejor agente es el que tienes a mano. Un chat en una web hay que abrirlo, buscarlo y recordarle cada vez quién es. Un bot de Telegram vive donde ya pasas el día. El encargo va dentro, así que escribes corto: «+ comprar pienso para el gato» o «¿cuánto gasté en taxis este mes?». Por cierto, el bot es gratis: Telegram no cobra por crear bots. Solo pagas el paso de IA en Zapier o n8n, y los dos permiten empezar gratis.

BotFather: un bot en 2 minutos

Todos los bots de Telegram nacen en un bot: @BotFather. Búscalo y comprueba el check azul, que hay muchas copias falsas. Envía /newbot. Primero te pide un nombre que verá todo el mundo, por ejemplo «Ayudante de Liza». Luego un username, que es como encuentran al bot. Regla de Telegram: el username tiene que acabar en «bot», por ejemplo liza_helper_bot. Si está cogido, añade números. BotFather responde con una cadena larga de números y letras. Es el token, y va en la siguiente diapositiva.

El token: nunca a nadie

El token no es la contraseña de tu cuenta, es la llave del bot entero. Con él se puede leer lo que le escriben al bot y responder en su nombre. Telegram lo dice claro: guarda el token en un lugar seguro. Dónde no puede estar nunca: en una captura, en un chat con amigos, en un repositorio público de GitHub, ni siquiera en el texto del encargo para la IA. Dónde sí: en los ajustes de conexión de Zapier o n8n, que lo ocultan. Si aun así se filtra, sin pánico: en BotFather, con /token sacas uno nuevo y el viejo deja de funcionar.

Responder solo a ti

El username del bot es público: cualquiera puede encontrarlo y escribirle. Sin protección, tu bot responde a todo el mundo y el paso de IA gasta tu límite en ensayos ajenos. La solución es el chat ID. Es un número que llega con cada mensaje, y el tuyo es siempre el mismo. Saberlo es fácil: escribe al bot, abre una ejecución de prueba en Zapier o n8n y busca el campo chat id. Luego pones un filtro justo después del disparador: si el chat ID no es el tuyo, stop. En n8n hay una opción lista para eso: Restrict to Chat IDs. Es el mismo mínimo privilegio de la lección de conectores, pero para un bot.

Montamos la cadena

La cadena es la de la lección anterior; solo cambia la entrada. Paso 1: el disparador «mensaje nuevo en Telegram». En n8n se llama Telegram Trigger; en Zapier busca la app Telegram Bot. Ahí pegas el token. Paso 2: un filtro por tu chat ID. Paso 3: el paso de IA con el encargo de la siguiente diapositiva. Paso 4: respuesta en el mismo chat y, si es una tarea o un gasto, también una fila en Google Sheets. Consejo: prueba antes el encargo en un chat normal con diez mensajes tuyos y solo después conecta el bot.

Hazlo tú: el ayudante de bolsillo

Crea un bot en BotFather y guarda el token solo en los ajustes de Zapier o n8n. Monta los cuatro pasos de la diapositiva anterior y pega el encargo de abajo en el paso de IA. Comprueba tres cosas: el bot responde a «+ comprar pan», contesta una pregunta y se calla si le escribes desde otra cuenta. ¿Aún no quieres conectar nada? Copia el encargo en un chat normal y escríbele como si fuera el bot: verás cómo funciona.

Ponte a prueba

  1. ¿Qué hacer primero?
    Respuesta correcta: Sacar un token nuevo en BotFather. Un token nuevo deja inútil el viejo al instante. Lo haya visto quien lo haya visto, la llave ya no sirve.
  2. ¿Cómo pararlo?
    Respuesta correcta: Un filtro tras el disparador: responder solo a su chat ID. El filtro por chat ID actúa antes del paso de IA, así que los mensajes ajenos no gastan ni límite ni dinero.
  3. ¿Por qué BotFather no acepta el nombre?
    Respuesta correcta: El username de un bot debe acabar en «bot». Es la regla de Telegram para todos los bots: liza_helper_bot vale, liza_helper no.
  4. ¿Dónde debe estar el token?
    Respuesta correcta: En los ajustes de conexión de Telegram en n8n. Los ajustes de conexión ocultan el token, y es justo donde hace falta: n8n lo usa para recibir mensajes y responder.

← «Si → entonces»: piloto automático sin código Un equipo de agentes: el cuartel del viaje →