📌 GastoBot 🤖💰
GastoBot es un bot de Telegram pensado para simplificar el registro de gastos personales. Su objetivo es permitir que el usuario anote gastos de forma rápida y flexible, usando texto, voz o incluso fotos de tickets. Para ello, integra la IA Generativa de Google (Gemini) y guarda la información en Google Sheets, organizada automáticamente por meses.
🔑 Propósito
El bot ofrece una manera inteligente y centralizada de registrar gastos sin necesidad de introducirlos manualmente en una hoja de cálculo. Además, permite validar, corregir y organizar cada entrada antes de guardarla, garantizando precisión y control.
✨ Funcionalidades principales
-
Registro inteligente:
- Mensajes de texto como “he pagado 15€ en el super”.
- Notas de voz.
- Fotos de tickets o recibos.
- El bot extrae automáticamente establecimiento, importe, descripción y categoría.
-
Validación antes de guardar: El usuario revisa los datos y puede:
- Aceptar el gasto.
- Editar cualquier campo.
- Cancelar la operación.
-
Organización automática: Los gastos se almacenan en Google Sheets, con cada mes en una pestaña independiente (ejemplo: “Agosto 2025”).
-
Resúmenes mensuales: Con el comando /summary, el bot genera un desglose de los gastos del mes actual por categorías.
-
Seguridad: Solo responde al usuario autorizado en Telegram, ignorando mensajes de otras personas.
⚙️ Flujo de uso
-
Entrada: El usuario envía un mensaje de texto, voz o imagen al bot.
-
Procesamiento con IA: El bot envía el contenido a Gemini, que extrae los detalles (establecimiento, importe, descripción, categoría) en formato JSON.
-
Revisión: El bot muestra los datos al usuario en un menú interactivo.
-
Confirmación o edición: El usuario puede aprobar, modificar o cancelar el gasto.
-
Almacenamiento: Una vez confirmado, el gasto se añade como nueva fila en la pestaña del mes correspondiente en Google Sheets.
🛠️ Tecnologías utilizadas
-
Python – lenguaje principal.
-
python-telegram-bot – integración con la API de Telegram.
-
Google Generative AI (Gemini) – procesamiento de texto e imágenes.
-
gspread – conexión con Google Sheets.
-
python-dotenv – gestión de variables de entorno.
💬 Uso
-
Registrar un gasto: Enviar un texto (ejemplo: “25,50€ cena con amigos”), una nota de voz o una foto de un ticket.
-
/start: Muestra el mensaje de bienvenida.
-
/help: Muestra instrucciones de ayuda.
-
/summary: Proporciona un resumen de gastos del mes en curso, organizado por categorías.
-
/myid: Muestra tu ID de usuario de Telegram (solo útil en la configuración inicial).