15 Commits

2 changed files with 39 additions and 7 deletions

7
.vscode/launch.json vendored Normal file
View File

@@ -0,0 +1,7 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": []
}

View File

@@ -1,5 +1,5 @@
## Chatbot Whatsapp (OpenSource) ## Chatbot Whatsapp (OpenSource)
#### Actualizado Diciembre 2022 #### Actualizado Febrero 2023
Este proyecto es un clon de la **version 1** (legacy) de [Leifer Mendez](https://github.com/leifermendez/bot-whatsapp) y tiene las siguientes modificaciones: Este proyecto es un clon de la **version 1** (legacy) de [Leifer Mendez](https://github.com/leifermendez/bot-whatsapp) y tiene las siguientes modificaciones:
@@ -33,7 +33,7 @@ Este proyecto es un clon de la **version 1** (legacy) de [Leifer Mendez](https:/
"pasoRequerido":"menu" "pasoRequerido":"menu"
} }
``` ```
- Permite **expresiones regulares** en las palabras predefinidas en el initial.json. - Permite **expresiones regulares** en las palabras predefinidas en el **initial.json**.
- Si queremos usar RegExp, en los "keywords" de **inital.json**, en lugar de un arreglo, debemos usar un string ( quitamos los [] ) - Si queremos usar RegExp, en los "keywords" de **inital.json**, en lugar de un arreglo, debemos usar un string ( quitamos los [] )
y en él usamos "*" para significar cualquier texto y "|" para significar "OR", esto nos permite ser mas flexibles y en él usamos "*" para significar cualquier texto y "|" para significar "OR", esto nos permite ser mas flexibles
con los "keywords", por ejemplo, si queremos que el mensaje pueda decir: con los "keywords", por ejemplo, si queremos que el mensaje pueda decir:
@@ -62,7 +62,7 @@ Este proyecto es un clon de la **version 1** (legacy) de [Leifer Mendez](https:/
- Ponemos __%dia_semana%__ para que aparezca "lunes, martes, miercoles, etc" dependiendo del día de la semana. - Ponemos __%dia_semana%__ para que aparezca "lunes, martes, miercoles, etc" dependiendo del día de la semana.
- Ponemos __%msjant_XX%__ para que aparezca el mensaje xx anterior, es decir, si quieres mostrar el texto de 2 mensajes anteriores se pone %msjant_2%. - Ponemos __%msjant_XX%__ para que aparezca el mensaje xx anterior, es decir, si quieres mostrar el texto de 2 mensajes anteriores se pone %msjant_2%.
- etc, etc, se pueden agregar mas remplazos en la funcion "remplazos" en el archivo "adapter\index.js". - etc, etc, se pueden agregar mas remplazos en la funcion "remplazos" en el archivo "adapter\index.js".
- Permite el envío de **multiples mensajes** definidos en la **misma respuesta** del **response.json**. (Esta modificación se la robe por completo a [KJoaquin](https://github.com/KJoaquin), el lo solucionó [aquí](https://github.com/codigoencasa/bot-whatsapp/issues/111#issuecomment-1353504575) 🙌🏽 y yo solo lo adapté a mi repo!) - Permite el envío de **multiples mensajes** definidos en la **misma respuesta** del **response.json**. (Esta modificación se la robe por completo a [KJoaquin](https://github.com/KJoaquin), el lo solucionó [aquí](https://github.com/codigoencasa/bot-whatsapp/issues/111#issuecomment-1353504575) 🙌🏽 y yo solo lo adapté a mi repositorio!.)
Antes: Antes:
```json ```json
@@ -74,7 +74,7 @@ Este proyecto es un clon de la **version 1** (legacy) de [Leifer Mendez](https:/
} }
} }
``` ```
Ahora **replyMessage** debe de contener un arreglo con los mensajes que se van a enviar: Ahora "```replyMessage```" debe de contener un arreglo con los mensajes que se van a enviar:
```json ```json
{ {
"ejemploNuevo":{ "ejemploNuevo":{
@@ -88,9 +88,34 @@ Este proyecto es un clon de la **version 1** (legacy) de [Leifer Mendez](https:/
} }
} }
``` ```
- Permite conectarse a **APIs**, por ejemplo: Google Sheets, Excel y cualquier otra API que se pueda llamar desde una función, esto se hace agregando el parametro "```funcion```" al **response.json**.
```
"Desbloqueo":{
"keywords": "desbloqueo",
"replyMessage":[
"Mensaje de desbloqueo de usuarios."
],
"funcion":"getFakeHTTP", //esta linea ejecuta la funcion.
"media":null,
"trigger":null,
"pasoRequerido":"soporte"
}
```
- Los archivos **initial.json** y **response.json** se unificaron y ya solo se usa el **response.json**, para esto solo se agrega el parametro "```keywords```" del **initial.json** al **response.json**
- Se puede especificar que al terminar un paso, el flujo se **vaya automaticamente** a otro, por ejemplo, si tenemos un flujo de tres pasos, y queremos que al terminar el tercer paso se regrese automaticamente al primero, agregamos el parametro "```goto```" al **response.json** del tercer paso y ponemos el nombre del paso 1.
```
"paso3":{
"keywords": ["zapatos"],
"replyMessage":["Gracias por tu compra"],
"media":null,
"trigger":null,
"goto":"paso1"
},
```
- Las modificaciones están enfocadas al uso de los archivos __initial.json__ y __response.json__, yo no uso MySQL o DialogFlow, así que no sé si las modificaciones funcionen con esos modulos, en particular el __remplazo %msjant_XX%__ depende de los archivos __JSON__ que se crean en el directorio "chats". - Las modificaciones están enfocadas al uso de los archivos __initial.json__ y __response.json__, yo no uso MySQL o DialogFlow, así que no sé si las modificaciones funcionen con esos modulos, en particular el __remplazo %msjant_XX%__ depende de los archivos __JSON__ que se crean en el directorio "chats".
- Tiene agregado el parche de **botones y listas**, así que funcionan sin problema (las listas no funcionan si el bot esta ligado a un número que use **Whatsapp Business**). - Tiene agregado el parche de **botones y listas**, así que funcionan sin problema (las listas no funcionan si el bot esta **ligado** a un número que use **Whatsapp Business**).
- Tiene los ultimos parches de **DialogFlow** (27-dic-2022) (When Dialogflow asks for an Image, then **Upload it to Google Drive** and then generate Shared Link) - Tiene los ultimos parches de **DialogFlow** (27-dic-2022) (When Dialogflow asks for an Image, then **Upload it to Google Drive** and then generate Shared Link)
## INICIA DOCUMENTACION DEL PROYECTO ORIGINAL ## INICIA DOCUMENTACION DEL PROYECTO ORIGINAL
@@ -106,7 +131,7 @@ El siguiente proyecto se realizó con fines educativos para el canal de [Youtube
> [VER](https://github.com/leifermendez/bot-whatsapp/commits/main) > [VER](https://github.com/leifermendez/bot-whatsapp/commits/main)
### Busco colaboradores ⭐ ### Busco colaboradores ⭐
Hola amigos me gusta mucho este proyecto pero por cuestiones de tiempo se me dificulta mantener las actualizaciones si alguno quieres participar en el proyecto escribeme a leifer.contacto@gmail.com Hola amigos me gusta mucho este proyecto pero por cuestiones de tiempo se me dificulta mantener las actualizaciones si alguno quiere participar en el proyecto escribanme a leifer.contacto@gmail.com
#### Acceso rápido #### Acceso rápido
> Si tienes una cuenta en __heroku__ puedes desplegar este proyecto con (1 click) > Si tienes una cuenta en __heroku__ puedes desplegar este proyecto con (1 click)
@@ -237,7 +262,7 @@ __Listo 😎__
![](https://i.imgur.com/OSUgljQ.png) ![](https://i.imgur.com/OSUgljQ.png)
> Ahora deberías obtener un arespuesta por parte del BOT como la siguiente, ademas de esto tambien se crea un archivo excel > Ahora deberías obtener una respuesta por parte del BOT como la siguiente, ademas de esto tambien se crea un archivo excel
con el historial de conversación con el número de tu cliente con el historial de conversación con el número de tu cliente
![](https://i.imgur.com/lrMLgR8.png) ![](https://i.imgur.com/lrMLgR8.png)