Inicio rápido: de cero a funcionando, sin saltarte ningún paso

La ruta por defecto es alojada en la nube: solo un teléfono y ~10 minutos — sin servidor, sin código. Cada paso te dice qué pantalla abrir y qué tocar, además de las trampas que la gente realmente encuentra.

Contenidos Lista de verificación Paso 1 · Crea tu bot en BotFather (dos interruptores críticos) Paso 2 · Vincula el bot en Telegram Business Paso 3 · Crea tu grupo foro de consola Paso 4 · Elige una: ☁️ Alojado en la nube (recomendado) / 💻 Auto-alojado Paso 5 · Chat de prueba Solución de problemas

🧾 Lista de verificación

1Crea tu bot en BotFather

En Telegram, busca @BotFather (fíjate en la insignia azul de verificación) y ten esta conversación:

🤖 BotFather
/newbot
BotFatherAlright, a new bot. How are we going to call it? Please choose a name for your bot.
LingoDesk Assistant
BotFatherGood. Now let's choose a username for your bot. It must end in bot.
my_lingodesk_bot
BotFatherDone! Use this token to access the HTTP API:
8123456789:AAHfK3xxxxxxxxxxxxxxxxxxxxxxxxx
Keep your token secure and store it safely…

1a. Activa el Secretary Mode (obligatorio; antes «Business Mode»)

⚠️ En mayo de 2026 Telegram renombró este interruptor a Secretary Mode; los clientes antiguos pueden seguir etiquetándolo como Business Mode — es lo mismo. Haz esto dentro del chat de @BotFather (no en la página de perfil de tu bot, ni en los ajustes de Telegram de tu teléfono). Dos interfaces — cualquiera sirve:

Interfaz ① Comandos clásicos — simplemente envía mensajes:

/mybots @my_lingodesk_bot Bot Settings Secretary Mode Turn on

Interfaz ② Nuevo panel de gestión — toca el botón azul Open junto al cuadro de mensajes de BotFather:

Open (panel) elige tu bot Settings Mode Settings activa el Secretary Mode
¿No lo encuentras? ① Tiene dos nombres: Secretary Mode en clientes nuevos, Business Mode en los antiguos — busca cualquiera de los dos; ② asegúrate de estar dentro de @BotFather, no en los ajustes de tu propio bot; ③ este interruptor no tiene nada que ver con Telegram Premium — Premium solo importa para la vinculación del lado de tu cuenta en el Paso 2; cualquiera puede activar este interruptor.
Sin el Secretary Mode, Telegram muestra un aviso emergente — «This bot doesn't support Telegram Business yet» — cuando intentas añadirlo en el Paso 2. Es el bloqueo más común de todos. Activa el interruptor: surte efecto al instante, no hace falta recrear el bot; simplemente vuelve a intentar añadirlo.

1b. Desactiva la Privacidad de grupo (obligatorio)

/mybots @my_lingodesk_bot Bot Settings Group Privacy Turn off
La privacidad está activada por defecto, y mientras lo está el bot no puede ver las respuestas que escribes en tu grupo de consola — el síntoma es «escribo en el tema y no pasa nada». Desactívala (BotFather debe decir Privacy mode is disabled).

2Vincula el bot en Telegram Business

En la app móvil de Telegram (este ajuste actualmente solo existe en móvil):

⚙️ Ajustes 💼 Telegram Business 🤖 Chatbots

En los clientes más nuevos este elemento se llama «Chat Automation» — etiqueta diferente, mismo acceso.

  1. Escribe el username de tu bot (p. ej. my_lingodesk_bot) en el cuadro de búsqueda y selecciónalo.
  2. Permisos: activa «Reply to messages» — sin ello el bot puede leer pero nunca enviar en tu nombre.
  3. Para «qué chats», elige All 1:1 Chats; añade a la lista de Excluded Chats cualquier contacto privado que quieras mantener fuera del relé.
Una vez vinculado, cada mensaje privado que recibes se «reenvía en copia» silenciosamente al bot — el otro lado no nota nada, y tu propia experiencia de chat no cambia en absoluto.

3Crea tu grupo foro de consola

Este grupo es tu mesa de trabajo: un tema por contacto, con tarjetas de mensaje bilingües apareciendo dentro.

  1. Crea un grupo: Nuevo → Nuevo grupo, añade tu bot como único miembro (busca su username). Ponle el nombre que quieras, p. ej. «LingoDesk Console».
  2. Activa los temas (Topics): abre el grupo → toca el nombre para su perfil → Editar → activa Topics. El grupo se convierte en supergrupo y obtiene una lista de temas.
  3. Asciende el bot a administrador: perfil → Administradores → Añadir admin → tu bot → marca «Manage Topics» (deja el resto por defecto) → guardar.
El bot crea un tema automáticamente para cada contacto. Sin derechos de administrador + «Manage Topics» eso falla — el síntoma es «un cliente me escribió pero no aparece nada en el grupo».
El grupo solo os necesita a ti y al bot — ningún otro humano. Si añades a un colaborador, sus respuestas en un tema activan la traducción y el envío igual que las tuyas.

4Elige una: ☁️ Alojado en la nube o 💻 Auto-alojado

Todo lo del lado del teléfono está hecho. Ahora elige tu ruta — ¿sin servidor? Elige la A: nada que instalar.

☁️ Opción A · Alojado en la nube (recomendado: sin servidor, sin código, instantáneo)

  1. Envía un mensaje directo al bot oficial de activación @LingoDeskbot, manda /start y luego pega el BOT_TOKEN del Paso 1 directamente en el chat.
  2. Activación automática instantánea: en cuanto el token se valida responde «🎉 Activado» (y borra el mensaje con tu token). El plan Gratis cubre 300 respuestas traducidas/mes; pásate a Pro (500 ⭐/mes) cuando quieras para ilimitado. El motor de traducción corre por nuestra cuenta — sin API keys que registrar.
  3. Sigue su respuesta para terminar la vinculación, luego envía /bind en tu grupo de consola — el bot responde «✅ vinculado» y ya está. Salta al Paso 5 para probar. Envíale /status por mensaje directo cuando quieras, o /native en para fijar tu propio idioma.
¿Te preocupa entregar el token? Se almacena cifrado y solo se usa para retransmitir los chats que autorizaste en Telegram Business — y tú mantienes el control: revócalo cuando quieras en BotFather (/mybots → API Token → Revoke) y el token antiguo muere al instante.

💻 Opción B · Auto-alojado (tu propia máquina, tus propios datos)

Primero consigue una clave de traducción en console.anthropic.comAPI KeysCreate Key (sk-ant-…; unos pocos dólares de crédito duran mucho tiempo a ~$0.001 por mensaje). Luego:

git clone https://github.com/sanxiaozi/lingodesk.git cd lingodesk npm install cp .env.example .env # open .env — only BOT_TOKEN and ANTHROPIC_API_KEY are required npm run db:push # initialize the database (first run only) npm run dev 🚀 LingoDesk is up, bot = @my_lingodesk_bot

Una vez que veas el banner, envía /bind en tu grupo de consola para vincularlo (el ID del grupo y tu ID de usuario se detectan automáticamente — sin números que buscar). En un servidor, Docker es un solo comando: docker compose up -d — consulta el README de GitHub.

Un token de bot = una instancia en ejecución, a nivel global (409 Conflict = un proceso antiguo aún lo está reteniendo). Si te alojamos nosotros, no ejecutes además una instancia local.

5Chat de prueba

Desde una cuenta de Telegram distinta (una segunda cuenta o un amigo), envía un mensaje directo en un idioma extranjero a tu cuenta personal (¡no al bot!) — di, por ejemplo, «Hola, ¿cuánto cuesta?» en español. En segundos, en tu grupo de consola debería aparecer un tema nuevo con el nombre del remitente:

📋 Consola de LingoDesk · tema: @amigo_es
my_lingodesk_bot🆕 Contacto nuevo @amigo_es (es)
Original: Hola, ¿cuánto cuesta?
🌐 Hola, ¿cuánto cuesta?
─────
↳ Escribe aquí en tu idioma — sale en es, enviado como tú
El paquete A cuesta $100 e incluye todas las funciones.
my_lingodesk_bot📤 Vista previa de traducción (→es), enviada solo después de que confirmes:

El paquete A cuesta 100 dólares e incluye todas las funciones.

(Tu mensaje: El paquete A cuesta $100…)

[ ✅ Enviar al cliente ] [ ✏️ Cancelar ]

Toca «✅ Enviar al cliente» — el otro lado ve tu cuenta personal respondiendo en español fluido. Todo el ciclo ya está en marcha 🎉

🔧 Solución de problemas

Un cliente me escribió pero no aparece nada en el grupo de consola

Comprueba en orden: ① BotFather → Business Mode está activado (Paso 1a); ② Telegram Business → Chatbots tiene tu bot vinculado y ese chat está dentro del alcance (Paso 2); ③ el bot es administrador del grupo con «Manage Topics» (Paso 3); ④ el grupo de consola está vinculado — envía /bind en él; ⑤ auto-alojados: el proceso del bot sigue funcionando sin errores.

Aviso emergente al añadir el bot: «This bot doesn't support Telegram Business yet»

El Business Mode no está activado en BotFather (Paso 1a). Ve a @BotFather → /mybots → tu bot → Bot Settings → Business Mode → Turn on. Surte efecto al instante — no hace falta recrear el bot ni reenviar el token; simplemente vuelve a Telegram Business → Chatbots y añádelo de nuevo. Los usuarios alojados en la nube pueden enviar por mensaje directo /status a @LingoDeskbot para verificar este punto.

Envío /bind en el grupo y no pasa nada

① La Privacidad de grupo sigue activada (Paso 1b) — desactívala, luego quita y vuelve a añadir el bot; ② los temas (Topics) no están activados en el grupo; ③ usuarios alojados en la nube: asegúrate de que @LingoDeskbot respondió «Activado» (envíale /status para comprobarlo); ④ auto-alojados: asegúrate de que el proceso esté en ejecución.

¿Es seguro entregar mi BOT_TOKEN para el alojamiento en la nube?

El token se almacena cifrado y solo se usa para retransmitir los chats dentro del alcance que autorizaste en Telegram Business — y puedes excluir contactos privados (Paso 2). Tú mantienes el control: revócalo cuando quieras vía BotFather → /mybots → API Token → Revoke; el token antiguo muere al instante y el servicio se detiene. Para reanudar, simplemente envía el nuevo token a @LingoDeskbot.

Escribo en un tema y el bot no hace nada

Nueve de cada diez veces es la Privacidad de grupo, que sigue activada (Paso 1b). BotFather → Bot Settings → Group Privacy → Turn off, luego quita el bot del grupo y vuelve a añadirlo (el cambio solo se aplica tras volver a unirse), y ascién­delo a administrador de nuevo.

El arranque falla con 409 Conflict

Hay dos instancias funcionando con el mismo token. Encuentra y detén el proceso antiguo (Ctrl+C o pkill -f "tsx.*main.ts"), espera diez segundos y arranca de nuevo.

«Enviar al cliente» falla con un error genérico

Comprueba en orden de probabilidad: ① el permiso «Reply to messages» está desactivado (lo más común) — Ajustes → Telegram Business → Chat Automation (Chatbots) → tu bot → activa «Reply to messages»; sin ello el bot puede leer pero nunca enviar; ② el chat del cliente no está dentro del alcance de chats accesibles del bot (misma página); ③ el contacto no te ha escrito en más de 24 horas — Telegram bloquea los envíos iniciados por el bot; pídele que envíe cualquier cosa primero. Usuarios alojados en la nube: envía por mensaje directo /status a @LingoDeskbot — la línea del «permiso de respuesta» te da la respuesta directamente.

«Enviar al cliente» falla: contacto inactivo demasiado tiempo

Una restricción de Telegram: si una conversación ha estado inactiva demasiado tiempo, el bot no puede iniciar en tu nombre (BUSINESS_PEER_USAGE_MISSING). Pídele que envíe cualquier cosa para reactivarla, o responde manualmente desde tu teléfono esta vez.

El envío falla: conexión de negocio inválida

Ve a Ajustes → Telegram Business → Chatbots, quita y vuelve a añadir el bot — o simplemente espera el siguiente mensaje del cliente, que permite al bot capturar una conexión fresca automáticamente.

Idioma detectado incorrecto / quiero un idioma de destino diferente

El idioma se fija con el primer mensaje del contacto (para evitar oscilaciones con textos cortos). Envía /lang code en el tema de ese contacto para corregirlo, p. ej. /lang pt (portugués) o /lang ar (árabe).

Tras un reinicio, los botones antiguos de «Enviar / Cancelar» dejaron de funcionar

Las vistas previas pendientes viven en memoria y expiran al reiniciar (el botón te lo dirá). Simplemente vuelve a escribir tu respuesta en el tema. Los contactos y el historial de chat viven en la base de datos — no se pierde nada.

🎉 ¿Todo funcionando?

De ahora en adelante, los clientes escriben en el idioma que quieran — tú solo escribes en el tuyo. Si algo se rompe, repasa primero la lista de solución de problemas de arriba; si sigues atascado, escríbenos un correo con una captura del error del terminal.

✉️ [email protected]