Nos alegra que estés interesado en colaborar en nuestro proyecto. Para hacerlo, puedes contribuir de diversas maneras, la principal es aportando tu conocimiento y habilidades para mejorar el repositorio, ya sea actualizando la documentación, mejorando el código o revisando problemas pendientes en los issues.
También agradecemos los aportes económicos, que utilizaremos para diversos fines relacionados con el desarrollo y mantenimiento del proyecto. Puedes ver más detalles aquí: ver más
El lenguaje principal que usamos en este proyecto es JavaScript, para que las personas que están comenzando a programar puedan entenderlo más fácilmente.
- ¿Cómo puedo hacer aportaciones de código en el proyecto?: Ver Video
- ¿Cómo ejecutar el entorno de pruebas?: Ver Video
- ¿Cómo crear un nuevo proveedor?: Ver Video
- ¿Qué son los GithubActions?: Ver Video
- ¿Canales de comunicación?: Discord
Requisitos: Para poder aportar al proyecto necesitarás tener:
- Node v18 o superior. Puedes descargar Node aquí: descargar node
- pnpm como administrador de paquetes. Puedes seguir el enlace para saber cómo instalarlo.
- VSCode es el editor de código que recomendamos, ya que cuenta con plugins útiles.
- Conventional Commits es un plugin de VSCode que te ayudará a crear commits semánticos, siguiendo buenas prácticas.
Hacer Fork del Proyecto
Antes de comenzar, es necesario que hagas un fork del proyecto en tu propia cuenta de GitHub. Esto te permitirá trabajar en tu propia copia del repositorio. Haz clic en el siguiente enlace para realizar el fork: aquí
Clona repositorio (desde tu fork)
git clone https://github.com/TU_USERNAME/bot-whatsapp
Instalar dependencias Entra a la carpeta del proyecto y ejecuta el siguiente comando para instalar las dependencias necesarias.
cd bot-whatsapp
pnpm install
Compilar (build)
Para compilar la aplicación, debes ejecutar el siguiente comando, el cual generará un directorio lib
dentro de los paquetes del monorepo.
pnpm run build
Aplicación de ejemplo Se ejecuta el CLI (Command Line Interface) para ayudarte a crear un bot de ejemplo.
pnpm run cli
Test e2e Todos los cambios realizados deben de pasar las pruebas end-to-end
pnpm run test.e2e
Selecciona el proveedor y la base de datos que quieras usar usando las flechas arriba y abajo de tu teclado y marcándolas con la barra de espacio.
Este proceso creará un subdirectorio con el nombre del proveedor y la base de datos que seleccionaste, por ejemplo: base-bailey-mysql
Dentro de ese directorio, tendrás que editar el archivo package.json y borrar las siguientes líneas:
"@bot-whatsapp/bot": "latest",
"@bot-whatsapp/cli": "latest",
"@bot-whatsapp/database": "latest",
"@bot-whatsapp/provider": "latest",
A continuación, debes desplazarte al directorio que acabas de crear, por ejemplo: base-baileys-mysql
cd base-baileys-mysql
Y ejecuta los siguientes comandos:
npm install
npm run pre-copy
npm start
En el caso de MySql y Mongo, necesitarás especificar en el archivo app.js los datos de la conexión, por ejemplo, para MySql:
const BaileysProvider = require('@bot-whatsapp/provider/baileys')
const MySQLAdapter = require('@bot-whatsapp/database/mysql')
/**
* Declaramos las conexiones de MySQL
*/
const MYSQL_DB_HOST = 'localhost'
const MYSQL_DB_USER = 'usr'
const MYSQL_DB_PASSWORD = 'pass'
const MYSQL_DB_NAME = 'bot'
NOTA: Si encuentras información que podría mejorarse en este documento o algún error ortográfico que dificulte la comprensión, eres libre de corregirlo.(edita aqui)