Ir al contenido

Avisos y chat por Telegram

Un aviso en el móvil con cada pedido, y poder preguntarle a la tienda desde el mismo sitio.

Es opcional: sin configurar, no existe.

1 · Crea el bot. Escribe a @BotFather, /newbot, y guarda el token que te da.

2 · Saca tu chat_id. Escribe cualquier cosa a tu bot y abre https://api.telegram.org/bot<TOKEN>/getUpdates. Sale en message.chat.id.

3 · Ponlo en el .env:

TELEGRAM_BOT_TOKEN=...
TELEGRAM_CHAT_IDS=111111,222222
TELEGRAM_WEBHOOK_SECRET=<algo largo y aleatorio>
TELEGRAM_WEBHOOK_URL=https://tu-tienda/telegram/webhook

4 · Da de alta el webhook:

Terminal window
npm run pcc -- ejecutar ./src/scripts/telegram-alta.ts

Te manda un mensaje de prueba si ha ido bien.

En cuanto entra un pedido:

🛒 Pedido #124 · 47,90 EUR
Ana García · Terrassa 08221
transfer · sin cobrar
· Fertilizante de floración 1 L ×2
· Maceta textil 25 L ×1

«Sin cobrar» va en negrita a propósito. Con transferencia, contrareembolso o Bizum el dinero no llega solo: si nadie lo mira, se sirve mercancía que nadie ha pagado.

Escríbele al bot en castellano y responde con datos reales: ventas, stock, pedidos, clientes. Es el mismo copiloto del panel.

Por Telegram solo consulta, no toca nada. En el panel una propuesta de cambio se revisa con sus valores delante y se aprueba con el ratón; en el móvil se confirma con el pulgar, andando por la calle y sin leerla.

Telegram no permite hacer un bot privado. No es una limitación de esto: los bots son públicos por diseño y no hay ningún ajuste en BotFather para ocultarlos ni para restringirlos. Cuidado con /setprivacy, que confunde por el nombre — solo decide si el bot ve todos los mensajes dentro de un grupo.

Por eso el control está aquí: solo se atiende a los chat_id de la lista. A cualquier otro no se le contesta nada, ni siquiera «no tienes permiso», porque eso ya le confirma que el bot existe y que hay una tienda detrás. Se queda mirando un chat mudo.

Sin esa lista, un desconocido que encuentre el bot podría preguntarle por tus pedidos y llevarse nombres, direcciones y teléfonos de tus clientes.

Con el webhook activo, getUpdates deja de funcionar — los mensajes van a un sitio o al otro, nunca a los dos. Así que para dar de alta a una segunda persona:

  1. Que escriba al bot. No le contestará: todavía no está autorizada.
  2. Su chat_id queda en el registro del servidor: telegram: mensaje de un chat NO autorizado — chat_id=… (@usuario)
  3. Añádelo a TELEGRAM_CHAT_IDS y reinicia.

La ruta es pública: la puede llamar cualquiera que adivine la URL. Telegram devuelve TELEGRAM_WEBHOOK_SECRET en una cabecera y lo que no la traiga se descarta.

Sin secreto configurado, la ruta rechaza todo. Es deliberado: una ruta abierta que ejecuta la IA con los datos de tu tienda no puede quedarse viva por un olvido en el .env.

@mitienda_bot lo encuentra cualquiera que busque tu marca. Un nombre sin relación con la tienda evita que den con él por casualidad — pero eso suma a la lista blanca, no la sustituye. La lista es lo que de verdad protege.

Un aviso que no sale no impide que el pedido siga su curso: se apunta en el registro y ya está. Vender es lo importante; avisar, lo cómodo.

Para ver cómo está el webhook: https://api.telegram.org/bot<TOKEN>/getWebhookInfo — trae el último error, si lo hubo.