| { executablePath } = require "puppeteer" | |
| { Client, Events, LocalAuth } = require "whatsapp-web.js" | |
| { CHROME_BIN, GROUP_ID, PHONE_NUMBER } = process.env | |
| unless GROUP_ID and PHONE_NUMBER | |
| console.log "Set GROUP_ID and PHONE_NUMBER first (for bot) in env" | |
| process.exit 1 | |
| PHONE_NUMBER = PHONE_NUMBER.replace /\D/g, "" | |
| client = new Client | |
| authStrategy: new LocalAuth | |
| clientId: PHONE_NUMBER | |
| puppeteer: | |
| headless: "new", | |
| args: ["--no-sandbox"], | |
| executablePath: CHROME_BIN or executablePath() | |
| pairingCodeRequested = false | |
| client.on Events.QR_RECEIVED, (qr) -> | |
| if not pairingCodeRequested | |
| pairingCode = await client.requestPairingCode PHONE_NUMBER | |
| console.log "Pairing code:", pairingCode | |
| pairingCodeRequested = true | |
| client.on Events.READY, () -> | |
| debugWWebVersion = await client.getWWebVersion() | |
| console.log "WWebVersion", debugWWebVersion | |
| module.exports = client |