diff --git a/.vscode/bot.code-snippets b/.vscode/bot.code-snippets new file mode 100644 index 0000000..951f52e --- /dev/null +++ b/.vscode/bot.code-snippets @@ -0,0 +1,26 @@ +{ + "Flow Bot (simple)": { + "scope": "javascript", + "prefix": "bot:flow", + "description": "Crear un flujo simple", + "body": [ + "export const ${1:${TM_FILENAME_BASE/(.*)/${1:/capitalize}/}}Flow = addKeyword(['hola', 'buenas'])", + " .addAnswer('Hola! 🚀 Bienvenido a este CHATBOT')", + " .addAnswer('¿Como puedo ayudarte?', {", + " delay: 1500", + "})" + ] + }, + "Flow Bot (completo)": { + "scope": "javascript", + "prefix": "bot:flow completo", + "description": "Crear un flujo completo", + "body": [ + "export const ${1:${TM_FILENAME_BASE/(.*)/${1:/capitalize}/}}Flow = addKeyword(['hola', 'buenas'])", + " .addAnswer('Hola! 🚀 Bienvenido a este CHATBOT')", + " .addAnswer('¿Como puedo ayudarte?', {", + " delay: 1500", + "})" + ] + } +} diff --git a/packages/database/src/mongo/index.js b/packages/database/src/mongo/index.js index 21b7cf1..6af68f0 100644 --- a/packages/database/src/mongo/index.js +++ b/packages/database/src/mongo/index.js @@ -1,23 +1,20 @@ -require('dotenv').config() const { MongoClient } = require('mongodb') -const DB_URI = process.env.DB_URI || 'mongodb://0.0.0.0:27017' -const DB_NAME = process.env.DB_NAME || 'db_bot' - class MongoAdapter { db listHistory = [] - - constructor() { + credentials = { dbUri: null, dbName: null } + constructor(_credentials) { + this.credentials = _credentials this.init().then() } init = async () => { try { - const client = new MongoClient(DB_URI, {}) + const client = new MongoClient(this.credentials.dbUri, {}) await client.connect() console.log('🆗 Conexión Correcta DB') - const db = client.db(DB_NAME) + const db = client.db(this.credentials.dbName) this.db = db return true } catch (e) { diff --git a/packages/database/src/mysql/index.js b/packages/database/src/mysql/index.js index a557f3e..e01b55a 100644 --- a/packages/database/src/mysql/index.js +++ b/packages/database/src/mysql/index.js @@ -3,7 +3,7 @@ const mysql = require('mysql2') class MyslAdapter { db listHistory = [] - credentials = { host: null, user: null, database: null } + credentials = { host: null, user: null, database: null, password: null } constructor(_credentials) { this.credentials = _credentials diff --git a/starters/apps/base-bailey-mongo/app.js b/starters/apps/base-bailey-mongo/app.js index fdc0fdd..698b828 100644 --- a/starters/apps/base-bailey-mongo/app.js +++ b/starters/apps/base-bailey-mongo/app.js @@ -7,12 +7,17 @@ const { } = require('@bot-whatsapp/bot') const BaileysProvider = require('@bot-whatsapp/provider/baileys') -const MockAdapter = require('@bot-whatsapp/database/mock') +const MongoAdapter = require('@bot-whatsapp/database/mock') + +/** + * Declaramos las conexiones de Mongo + */ +const MONGO_DB_URI = 'mongodb://0.0.0.0:27017' +const MONGO_DB_NAME = 'db_bot' /** * Declarando flujo hijo */ - const flowBolsos2 = addKeyword(['bolsos2', '2']) .addAnswer('🤯 *MUCHOS* bolsos ...') .addAnswer('y mas bolsos... bla bla') @@ -69,7 +74,10 @@ const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) ) const main = async () => { - const adapterDB = new MockAdapter() + const adapterDB = new MongoAdapter({ + dbUri: MONGO_DB_URI, + dbName: MONGO_DB_NAME, + }) const adapterFlow = createFlow([flowPrincipal]) const adapterProvider = createProvider(BaileysProvider) createBot({ diff --git a/starters/apps/base-bailey-mongo/package.json b/starters/apps/base-bailey-mongo/package.json index ad14f04..64660e7 100644 --- a/starters/apps/base-bailey-mongo/package.json +++ b/starters/apps/base-bailey-mongo/package.json @@ -9,12 +9,13 @@ }, "keywords": [], "dependencies": { - "@adiwajshing/baileys": "^4.4.0", - "mime-types": "^2.1.35", "@bot-whatsapp/bot": "latest", "@bot-whatsapp/cli": "latest", "@bot-whatsapp/database": "latest", - "@bot-whatsapp/provider": "latest" + "@bot-whatsapp/provider": "latest", + "@adiwajshing/baileys": "^4.4.0", + "mime-types": "^2.1.35", + "mongodb": "^4.12.1" }, "author": "", "license": "ISC" diff --git a/starters/apps/base-bailey-mysql/app.js b/starters/apps/base-bailey-mysql/app.js index fdc0fdd..41c0cd4 100644 --- a/starters/apps/base-bailey-mysql/app.js +++ b/starters/apps/base-bailey-mysql/app.js @@ -7,7 +7,15 @@ const { } = require('@bot-whatsapp/bot') const BaileysProvider = require('@bot-whatsapp/provider/baileys') -const MockAdapter = require('@bot-whatsapp/database/mock') +const MySQLAdapter = require('@bot-whatsapp/database/mysql') + +/** + * Declaramos las conexiones de Mongo + */ +const MYSQL_DB_HOST = 'localhost' +const MYSQL_DB_USER = 'user' +const MYSQL_DB_PASSWORD = 'pass' +const MYSQL_DB_NAME = 'bot' /** * Declarando flujo hijo @@ -69,7 +77,12 @@ const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) ) const main = async () => { - const adapterDB = new MockAdapter() + const adapterDB = new MySQLAdapter({ + host: MYSQL_DB_HOST, + user: MYSQL_DB_USER, + database: MYSQL_DB_NAME, + password: MYSQL_DB_PASSWORD, + }) const adapterFlow = createFlow([flowPrincipal]) const adapterProvider = createProvider(BaileysProvider) createBot({ diff --git a/starters/apps/base-bailey-mysql/package.json b/starters/apps/base-bailey-mysql/package.json index c8c66de..cbf2eb5 100644 --- a/starters/apps/base-bailey-mysql/package.json +++ b/starters/apps/base-bailey-mysql/package.json @@ -9,12 +9,13 @@ }, "keywords": [], "dependencies": { - "@adiwajshing/baileys": "^4.4.0", - "mime-types": "^2.1.35", "@bot-whatsapp/bot": "latest", "@bot-whatsapp/cli": "latest", "@bot-whatsapp/database": "latest", - "@bot-whatsapp/provider": "latest" + "@bot-whatsapp/provider": "latest", + "@adiwajshing/baileys": "^4.4.0", + "mime-types": "^2.1.35", + "mysql2": "^2.3.3" }, "author": "", "license": "ISC"