Bot serverless que permite registrar gastos automáticamente en Google Sheets a través de Telegram. Utiliza AWS Lambda y DynamoDB para el procesamiento y almacenamiento de datos.
- 📊 Integración con Google Sheets
- 💬 Interface a través de Telegram
- 🗄️ Almacenamiento en DynamoDB
- 📱 Categorización de gastos
- 🔄 Procesamiento serverless
- ⚡ Respuesta en tiempo real
El bot está construido con una arquitectura serverless utilizando:
- AWS Lambda para el procesamiento de mensajes
- DynamoDB para almacenar sesiones y gastos
- Google Sheets API para el registro de transacciones
- Telegram Bot API para la interfaz de usuario
/start
- Inicia el bot y solicita URL de Google Sheets.
Se debe compartir el Google Sheet con la cuenta de servicio proporcionada.
- Registro de gastos en formato:
DD-MM descripción monto
odescripción monto
- Cuenta de AWS con acceso a Lambda y DynamoDB
- Bot de Telegram registrado (token)
- Proyecto en Google Cloud con Sheets API habilitada
- Google Sheet compartido con la cuenta de servicio
BOT_TOKEN=your_telegram_bot_token
GCP_MAIL_EDITOR=your_google_service_account
- Instalar dependencias:
pip install --target ./package --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib boto3
- Crear archivo ZIP para Lambda:
cd package
zip -r ../deploy.zip .
cd ../src/
zip ../deploy.zip */* lambda_function.py ../credentials.json
- Inicia el bot con
/start
- Comparte tu Google Sheet con la cuenta de servicio proporcionada
- Envía la URL del Google Sheet
- Selecciona una categoría
- Registra gastos en formato:
DD-MM descripción monto
- Tabla
TelegramBotUserSession
: Almacena configuración de usuarios - Tabla
TelegramBotUserExpenses
: Registra historial de gastos
El bot registra automáticamente:
- Fecha
- Descripción
- Categoría
- Monto
Las contribuciones son bienvenidas. Por favor, abre un issue para discutir cambios mayores.