Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 Bot ERP PuntoNigth

Bot de Telegram para la gestión financiera de la licorera PuntoNigth. Permite registrar ventas y gastos mediante texto o nota de voz, generar gráficos de balance y realizar consultas contables con inteligencia artificial.


✨ Funcionalidades

Función Descripción
🟢 Registrar Ventas Ingresa ventas con detalle, monto y método de pago
🔴 Registrar Gastos/Pagos Ingresa pagos y gastos operativos
🎤 Entrada por Voz Envía una nota de voz y el bot la transcribe automáticamente con Groq Whisper
📊 Gráficos de Balance Genera gráficos de barras por mes, año o rango de fechas personalizado
🧠 Consulta IA Pregunta en lenguaje natural sobre tus finanzas y Gemini responde con análisis preciso
👥 Multi-usuario Cada usuario tiene su propia hoja privada en Google Sheets (modelo multi-tenant)

🏗️ Arquitectura

PuntoNigthERP (Controlador)
├── GoogleSheetsDB   → Capa de datos (Google Sheets por usuario)
└── CerebroIA        → Capa de inteligencia artificial
    ├── Groq Whisper → Transcripción de audio en español
    └── Gemini 2.5 Flash → Extracción de datos y análisis contable

Flujo principal:

  1. El usuario selecciona una acción en el menú interactivo de Telegram.
  2. Envía el detalle por texto (Ron 35) o nota de voz.
  3. Si es voz: Groq lo transcribe → Gemini extrae producto y monto.
  4. El usuario selecciona el método de pago (Yape, Plin, Efectivo, Tarjeta).
  5. El registro se guarda en la hoja privada del usuario en Google Sheets.
  6. Para consultas IA, Gemini lee el CSV completo del usuario y responde en español.

🛠️ Tecnologías

  • Python 3.10
  • pyTelegramBotAPI — Bot de Telegram
  • gspread + oauth2client — Google Sheets como base de datos
  • Groq (Whisper Large v3) — Transcripción de audio
  • Google Gemini 2.5 Flash — Extracción de datos y análisis contable
  • pandas + matplotlib — Procesamiento y visualización de datos
  • pytz — Manejo de zona horaria (America/Lima)
  • python-dotenv — Gestión de variables de entorno
  • Docker — Despliegue en contenedor

⚙️ Instalación y Configuración

1. Clonar el repositorio

git clone https://github.com/tu-usuario/Bot_PuntoNigth.git
cd Bot_PuntoNigth

2. Configurar las credenciales

Copia los archivos de ejemplo y rellena con tus propios datos:

cp .env.example .env
cp creds.example.json creds.json

Edita .env con tus claves reales:

TELEGRAM_TOKEN=tu_token_de_botfather
NOMBRE_EXCEL=Nombre de tu hoja en Google Sheets
GROQ_API_KEY=tu_api_key_de_groq
GEMINI_API_KEY=tu_api_key_de_gemini

Edita creds.json con las credenciales de tu cuenta de servicio de Google.

3. Configurar Google Sheets

  1. Ve a Google Cloud Console.
  2. Crea un proyecto y habilita la Google Sheets API y la Google Drive API.
  3. Crea una Cuenta de Servicio y descarga el archivo JSON de credenciales.
  4. Renombra ese archivo como creds.json y colócalo en la raíz del proyecto.
  5. Crea una hoja de cálculo en Google Sheets con el nombre que pusiste en NOMBRE_EXCEL.
  6. Comparte esa hoja con el email de la cuenta de servicio (client_email del creds.json).

4. Ejecutar con Docker (recomendado)

docker build -t bot-puntonigth .
docker run -d --name puntonigth bot-puntonigth

5. Ejecutar localmente

pip install -r requirements.txt
python bot.py

📁 Estructura del proyecto

Bot_PuntoNigth/
├── bot.py              # Código principal del bot
├── requirements.txt    # Dependencias de Python
├── Dockerfile          # Configuración para despliegue con Docker
├── .env.example        # Ejemplo de variables de entorno (sin datos reales)
├── creds.example.json  # Ejemplo de estructura del archivo de credenciales
├── .gitignore          # Archivos excluidos del repositorio
└── README.md           # Este archivo

💬 Uso del bot en Telegram

  1. Busca tu bot en Telegram y envía /start o /menu.
  2. Selecciona una operación en el menú interactivo.
  3. Para registrar, escribe en formato Producto Precio (ej: Cerveza 15) o envía una nota de voz.
  4. Confirma el método de pago.
  5. Para gráficos, elige el filtro de tiempo (mes, año o rango personalizado).
  6. Para consultas IA, escribe libremente, por ejemplo: ¿Cuánto sumaron las ventas por Yape este mes?

🔐 Seguridad

Los archivos .env y creds.json contienen credenciales sensibles y están excluidos del repositorio mediante .gitignore. Nunca los subas a GitHub. Usa los archivos .env.example y creds.example.json como plantilla.


📄 Licencia

Proyecto privado de uso interno para PuntoNigth.

About

Bot de Telegram ERP para gestión financiera con IA

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages