Skip to content

Commit

Permalink
feat(provider): ⚡ baileysProvider
Browse files Browse the repository at this point in the history
Baileys WebSocket - Fast
  • Loading branch information
Joseph VTX committed Dec 13, 2022
1 parent f799498 commit 23b2e8e
Showing 1 changed file with 79 additions and 0 deletions.
79 changes: 79 additions & 0 deletions packages/provider/src/baileys/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
const { ProviderClass } = require('@bot-whatsapp/bot')
const PINO = require('pino')
const makeWASocket = require('@adiwajshing/baileys').default
const { useMultiFileAuthState } = require('@adiwajshing/baileys')

class Baileys extends ProviderClass {
constructor() {
super()
this.sock
}

async baileys() {
const { state, saveCreds } = await useMultiFileAuthState(
'baileys_auth_whatsapp'
)

this.sock = await makeWASocket({
printQRInTerminal: true,
auth: state,
logger: PINO({ level: 'error' }),
})

this.sock.ev.on(
'connection.update',
({ connection, lastDisconnect }) => {
if (lastDisconnect?.error) {
saveCreds()

this.baileys()
}

if (connection === 'open') {
console.log('Baileys is connected')
}
}
)
}

/**
*
* @param {string} number
* @param {string} message
* @example await sendMessage('+51925465621', 'Hello World')
*/
async sendMessage(number, message) {
const numberClean = number.replace('+', '')
await this.sock.sendMessage(`${numberClean}@c.us`, { text: message })
}

/**
*
* @param {string} number
* @param {string} message
* @example await sendMessage('+51925465621', 'https://dominio.com/imagen.jpg' | 'img/imagen.jpg')
*/

async sendImage(number, imageUrl) {
const numberClean = number.replace('+', '')
await this.sock.sendMessage(`${numberClean}@c.us`, {
image: { url: imageUrl },
})
}

/**
*
* @param {string} number
* @param {string} message
* @param {boolean} voiceNote optional
* @example await sendMessage('+51925465621', 'audio.mp3')
*/

async sendAudio(number, audioUrl, voiceNote = false) {
const numberClean = number.replace('+', '')
await this.sock.sendMessage(`${numberClean}@c.us`, {
audio: { url: audioUrl },
ptt: voiceNote,
})
}
}

0 comments on commit 23b2e8e

Please # to comment.