Powered by opino.tech
Networker Bot es un bot de Telegram que automatiza el proceso de networking en hackathons y eventos. Los usuarios envían voice notes presentándose y el bot extrae automáticamente información estructurada guardándola en Google Sheets para facilitar el networking posterior.
Hackathon: Release Before Ready | Organización: opino.tech
- 🎤 Recibe voice notes de presentaciones personales
- 🔤 Transcribe audio a texto usando Deepgram API
- 🧠 Extrae información estructurada con Google Gemini Flash 1.5
- 📊 Guarda automáticamente en Google Sheets
- 🔄 Procesa en tiempo real con feedback al usuario
- Language: Python 3.11+
- Package Manager: UV 0.7.2
- Bot Framework:
python-telegram-bot(async) - Transcripción: Deepgram API (modelo nova-2)
- AI Processing: Google Gemini Flash 1.5
- Database: Google Sheets API
- Logging: Python logging con niveles detallados
- Nombre
- Edad
- Ocupación
- Proyecto actual
- Stack/Área de expertise
- Hobby/Dato curioso
- Información adicional
- Lugar donde nos conocimos (extraído del audio)
- Fecha/Hora de registro
- Username de Telegram
- User ID
networker/
├── src/networker_bot/
│ ├── handlers/
│ │ ├── start.py # Comando /start
│ │ ├── callback.py # Botones interactivos
│ │ └── voice.py # Procesamiento de voice notes
│ ├── services/
│ │ ├── deepgram.py # Transcripción de audio
│ │ ├── gemini.py # Extracción de información
│ │ └── sheets.py # Almacenamiento en Google Sheets
│ ├── config.py # Configuración y variables de entorno
│ └── main.py # Punto de entrada principal
├── .env # Variables de entorno (no incluido en repo)
├── credentials.json # Credenciales de Google (no incluido en repo)
├── pyproject.toml # Configuración del proyecto UV
└── run_bot.py # Script de ejecución
git clone <repository-url>
cd networkeruv syncCrear archivo .env con:
TELEGRAM_BOT_TOKEN=tu_token_de_telegram
DEEPGRAM_API_KEY=tu_api_key_de_deepgram
GEMINI_API_KEY=tu_api_key_de_gemini
GOOGLE_SHEETS_ID=tu_id_de_google_sheet- Descargar
credentials.jsondesde Google Cloud Console - Colocar en la raíz del proyecto
uv run python run_bot.py- Creación del bot con BotFather
- Handlers para comandos y mensajes
- Botones interactivos y callbacks
- Transcripción de audio con modelo nova-2
- Optimizado para español
- Procesamiento en tiempo real
- Extracción de información estructurada
- Prompts optimizados para presentaciones
- Manejo de diferentes estilos de presentación
- Almacenamiento automático de datos
- Service account authentication
- Headers pre-configurados
- Usuario envía
/start→ Bot muestra botón "🎤 Grabar Presentación" - Usuario presiona botón → Bot muestra instrucciones
- Usuario envía voice note → Bot procesa:
- ✅ Descarga audio
- ✅ Transcribe con Deepgram
- ✅ Extrae información con Gemini
- ✅ Guarda en Google Sheets
- Usuario recibe confirmación con resumen
Voice Note: "Hola, soy María, tengo 25 años, soy desarrolladora Full Stack. Actualmente trabajo en un proyecto de e-commerce usando React y Node.js. Me gusta mucho el rock y tocar guitarra en mi tiempo libre."
Resultado en Google Sheets:
| Nombre | Edad | Ocupación | Proyecto | Stack | Hobby | Lugar | Fecha |
|---|---|---|---|---|---|---|---|
| María | 25 | Desarrolladora Full Stack | E-commerce | React, Node.js | Rock, guitarra | Release Before Ready | 2024-07-11 23:30:00 |
✅ Completado y Funcional
- Todos los servicios integrados
- Manejo de errores robusto
- Logging detallado
- Pruebas exitosas
⚠️ No incluir archivos.envocredentials.jsonen el repositorio- 🔐 Usar variables de entorno para todas las API keys
- 🔧 Service account para Google Sheets con permisos mínimos
- Arquitectura asíncrona para mejor rendimiento
- Separación de responsabilidades por servicios
- Logging detallado para debugging
- Manejo de errores con feedback al usuario
- Configuración flexible mediante variables de entorno
¡Automatiza tu networking con IA! 🚀
Proyecto desarrollado en el hackathon "Release Before Ready" - opino.tech