Skip to content

Bot de Telegram desarrollado en Google Apps Script que permite registrar actividades paso a paso y guardarlas automáticamente en Google Sheets en tiempo real.

Notifications You must be signed in to change notification settings

richarddev7/rd-telegram-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

🤖 Telegram Bot to Google Sheets Logger

Este proyecto contiene un script de Google Apps Script que crea un bot de Telegram interactivo. El bot guía al usuario a través de un formulario de 10 pasos y guarda las respuestas automáticamente en una Google Sheet en tiempo real.

Es ideal para registrar actividades, reportes de ventas, tickets de soporte o tareas diarias directamente desde el móvil sin abrir la hoja de cálculo.

🚀 Características

  • Registro Conversacional: Interfaz paso a paso (Wizard) dentro de Telegram.
  • Validación de Datos: Verifica fechas (DD/MM/YYYY) y campos vacíos.
  • Teclados Interactivos: Usa botones de selección rápida para opciones predefinidas.
  • Control de Acceso: Lista blanca (ALLOWED_USERS) para restringir quién puede usar el bot.
  • Integración Directa: No requiere servidores externos, corre 100% en Google Apps Script.
  • Persistencia de Estado: Guarda el progreso del formulario si la conversación se interrumpe.

📋 Requisitos Previos

  1. Una cuenta de Google (para acceder a Sheets y Apps Script).
  2. Una cuenta de Telegram.
  3. Un bot creado con @BotFather (necesitarás el API Token).

⚙️ Configuración e Instalación

📄 Paso 1: Preparar la Google Sheet

Para que el bot guarde la información correctamente, debes preparar la hoja de cálculo con los encabezados exactos:

  1. Crea una nueva hoja de cálculo en Google Sheets.
  2. Copia el ID de la hoja (es la parte larga de la URL, entre /d/ y /edit). Este ID lo usarás en la constante ID_SHEET.
  3. Renombra la pestaña inferior a Actividades (o el nombre que elijas, pero debe coincidir con la constante SHEET_NAME).
  4. Crea los encabezados en la primera fila (Fila 1) en este orden exacto. Solo se requieren 7 columnas:
Columna Celda Encabezado Notas
1 A1 Fecha Creación Se genera automáticamente.
2 B1 Cliente Pregunta del formulario.
3 C1 Asunto Pregunta del formulario.
4 D1 Prioridad Pregunta del formulario.
5 E1 Descripción Pregunta del formulario.
6 F1 Estado Pregunta del formulario.
7 G1 Fuente Se genera automáticamente.

⚠️ Importante: El orden de las columnas es crucial. Si cambias la secuencia o el número de columnas, el bot guardará los datos de forma incorrecta.

Paso 2: Configurar el Script

  1. En tu Google Sheet, ve a Extensiones > Apps Script.
  2. Borra cualquier código que aparezca y pega el contenido del archivo Code.gs (o el código proporcionado en este repo).
  3. Edita la sección de CONFIGURACIÓN al inicio del código con tus datos:
// ======================================================================
// CONFIGURACIÓN
// ======================================================================
const TOKEN = '123456789:ABCdefGHIjklMNOpqRSTuvwXYZ'; // Tu Token de BotFather
const ID_SHEET = '1xY2z3_ID_DE_TU_HOJA_DE_CALCULO_AQUI'; // El ID largo de la URL de tu Sheet
const SHEET_NAME = 'Actividades'; // El nombre exacto de la pestaña
const ALLOWED_USERS = ['12345678', '87654321']; // Tu ID de Telegram (usa IDBot para saber cuál es)

const WEB_APP_URL = 'https://script.google.com/macros/s/TU_URL_LARGA_AQUI/exec';

Paso 3: Desplegar como Aplicación Web

  1. Haz clic en el botón azul Implementar (Deploy) > Nueva implementación.
  2. En "Seleccionar tipo", elige Aplicación web.
  3. Configura lo siguiente:
    • Descripción: Bot Telegram v1
    • Ejecutar como: Yo (tu email).
    • Quién tiene acceso: Cualquier persona (Esto es necesario para que Telegram pueda enviar datos al script, pero la seguridad la manejamos con ALLOWED_USERS dentro del código).
  4. Haz clic en Implementar.
  5. Copia la URL de la aplicación web generada (termina en /exec).
  6. Pega esa URL en la variable WEB_APP_URL dentro de tu código:
const WEB_APP_URL = '[https://script.google.com/macros/s/TU_URL_LARGA_AQUI/exec](https://script.google.com/macros/s/TU_URL_LARGA_AQUI/exec)';

Paso 4: Activar el Webhook

  1. Guarda el código (Ctrl + S).
  2. Dentro del editor de Apps Script, selecciona la función setWebhook en la barra de herramientas superior.
  3. Haz clic en Ejecutar.
  4. Acepta los permisos que solicita Google.
  5. Si ves un log que dice {"ok":true, "result":true...}, ¡tu bot está listo!

🎮 Uso

  1. Abre tu bot en Telegram.
  2. Envía el comando /registro o /start.
  3. El bot te hará 10 preguntas. Responde escribiendo o usando los botones.
  4. Al finalizar, recibirás una confirmación y los datos aparecerán automáticamente en tu Google Sheet.

🛠 Personalización

Puedes editar la constante FIELDS en el código para cambiar las preguntas, las opciones de los menús desplegables o las validaciones.

{ 
  key: 'status', 
  type: 'select', 
  question: 'Paso 6/7: ¿Cuál es el **Estado** actual del registro?', 
  options: ['Pendiente', 'En Progreso', 'Bloqueado', 'Completado'] // ✏️ Edita los elementos de esta lista
},

📄 Licencia

Este proyecto es de código abierto. Siéntete libre de usarlo y modificarlo para tus necesidades personales o empresariales." Richard-Dev 2025

About

Bot de Telegram desarrollado en Google Apps Script que permite registrar actividades paso a paso y guardarlas automáticamente en Google Sheets en tiempo real.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published