Un chatbot de WhatsApp para la tienda de bubble tea “CapiBobba”, diseñado para automatizar la toma de pedidos y responder preguntas de los clientes de forma inteligente.
Este proyecto utiliza la API Cloud de WhatsApp y la API de Google Gemini para ofrecer una experiencia de conversación fluida y eficiente.
Para ejecutar este proyecto localmente, sigue estos pasos:
docker run -d -p 6379:6379 redis
)git clone https://github.com/FeyoMx/CapiBobbaBot.git # Reemplaza con la URL de tu repositorio
cd CapiBobbaBot
npm install
Crea el archivo de variables de entorno:
Copia el archivo .env.example
a un nuevo archivo llamado .env
y rellena los valores correspondientes.
# Credenciales de la API de WhatsApp de Meta
VERIFY_TOKEN="tu_token_de_verificacion_secreto"
WHATSAPP_TOKEN="tu_token_de_acceso_permanente_secreto"
PHONE_NUMBER_ID="tu_id_de_numero_de_telefono"
# Clave de API de Google Gemini
GEMINI_API_KEY="tu_api_key_de_gemini_secreta"
# Números de WhatsApp de los administradores (separados por coma, sin espacios)
# Ejemplo: 521XXXXXXXXXX,521YYYYYYYYYY
ADMIN_WHATSAPP_NUMBERS="tu_numero_de_admin1,tu_numero_de_admin2"
# URL del Webhook de n8n para recibir los eventos del bot
N8N_WEBHOOK_URL="https://tu-instancia.n8n.com/webhook/tu-id-de-webhook"
# URL de conexión a tu base de datos Redis
# Ejemplo local (Docker): REDIS_URL="redis://localhost:6379"
REDIS_URL="redis://user:password@host:port"
npm start
El servidor se iniciará, por lo general en el puerto 3000 o el que esté definido en tu entorno.
.
├── chatbot.js # Lógica principal del bot, servidor Express y manejo de webhooks.
├── business_data.js # Centraliza toda la información del negocio (menú, promos, etc.).
├── .env.example # Archivo de ejemplo para las variables de entorno.
├── .env # (Local) Archivo para guardar las claves de API y tokens.
├── PRIVACY_POLICY.md # Política de privacidad para Meta.
├── package.json # Dependencias y scripts del proyecto.
├── .gitignore # Archivos y carpetas a ignorar por Git.
└── README.md # Este archivo.
La política de privacidad que cumple con los requisitos de Meta se puede encontrar aquí.
Este proyecto está bajo la Licencia ISC.