From 342cbccff1d09f9aabe5423ad6d686d590a2448f Mon Sep 17 00:00:00 2001 From: Joseph VTX <1395609@senati.pe> Date: Wed, 14 Dec 2022 14:52:09 -0500 Subject: [PATCH 1/2] feat(provider): :zap: add sendfile and sendButtons SendFile and SendButtons --- packages/provider/src/baileys/index.js | 45 ++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/packages/provider/src/baileys/index.js b/packages/provider/src/baileys/index.js index e985e4a..8bd860e 100644 --- a/packages/provider/src/baileys/index.js +++ b/packages/provider/src/baileys/index.js @@ -1,5 +1,7 @@ const { ProviderClass } = require('@bot-whatsapp/bot') const pino = require('pino') +const mime = require('mime-types') +const fs = require('fs') const { default: makeWASocket, useMultiFileAuthState, @@ -166,6 +168,49 @@ class BaileysProvider extends ProviderClass { if (options?.media) return this.sendMedia(number, options.media) return this.sendText(number, message) } + + /** + * + * @param {string} number + * @param {string} filePath + * @example await sendMessage('+XXXXXXXXXXX', './document/file.pdf') + */ + + sendFile = async (number, filePath) => { + if (fs.existsSync(filePath)) { + const mimeType = mime.lookup(filePath) + const numberClean = number.replace('+', '') + const fileName = filePath.split('/').pop() + + await this.vendor.sendMessage(`${numberClean}@c.us`, { + document: { url: filePath }, + mimetype: mimeType, + fileName: fileName, + }) + } + } + + /** + * + * @param {string} number + * @param {string} text + * @param {string} footer + * @param {Array} buttons + * @example await sendMessage("+XXXXXXXXXXX", "Your Text", "Your Footer", [{"buttonId": "id", "buttonText": {"displayText": "Button"}, "type": 1}]) + */ + + sendButtons = async (number, text, footer, buttons) => { + const numberClean = number.replace('+', '') + + const buttonMessage = { + text: text, + footer: footer, + buttons: buttons, + headerType: 1, + } + + await this.vendor.sendMessage(`${numberClean}@c.us`, buttonMessage) + } } module.exports = BaileysProvider From a42b6f4af869f0f4ecf48ac042323913b13d6094 Mon Sep 17 00:00:00 2001 From: Joseph VTX <1395609@senati.pe> Date: Wed, 14 Dec 2022 16:51:52 -0500 Subject: [PATCH 2/2] ci(provider): :package: mime-types package.json mime-types --- starters/apps/base-bailey-memory/package.json | 1 + starters/apps/base-bailey-mongo/package.json | 1 + starters/apps/base-bailey-mysql/package.json | 1 + 3 files changed, 3 insertions(+) diff --git a/starters/apps/base-bailey-memory/package.json b/starters/apps/base-bailey-memory/package.json index 1efeb95..ef0e2b3 100644 --- a/starters/apps/base-bailey-memory/package.json +++ b/starters/apps/base-bailey-memory/package.json @@ -10,6 +10,7 @@ "keywords": [], "dependencies": { "@adiwajshing/baileys": "^4.4.0", + "mime-types": "^2.1.35", "@bot-whatsapp/bot": "latest", "@bot-whatsapp/cli": "latest", "@bot-whatsapp/database": "latest", diff --git a/starters/apps/base-bailey-mongo/package.json b/starters/apps/base-bailey-mongo/package.json index d2ffa4a..ad14f04 100644 --- a/starters/apps/base-bailey-mongo/package.json +++ b/starters/apps/base-bailey-mongo/package.json @@ -10,6 +10,7 @@ "keywords": [], "dependencies": { "@adiwajshing/baileys": "^4.4.0", + "mime-types": "^2.1.35", "@bot-whatsapp/bot": "latest", "@bot-whatsapp/cli": "latest", "@bot-whatsapp/database": "latest", diff --git a/starters/apps/base-bailey-mysql/package.json b/starters/apps/base-bailey-mysql/package.json index a52fd19..c8c66de 100644 --- a/starters/apps/base-bailey-mysql/package.json +++ b/starters/apps/base-bailey-mysql/package.json @@ -10,6 +10,7 @@ "keywords": [], "dependencies": { "@adiwajshing/baileys": "^4.4.0", + "mime-types": "^2.1.35", "@bot-whatsapp/bot": "latest", "@bot-whatsapp/cli": "latest", "@bot-whatsapp/database": "latest",