const { Client } = require('whatsapp-web.js'); const qrcode = require('qrcode-terminal'); const fs = require('fs'); const SESSION_FILE_PATH = './whatsapp-session.json'; let sessionCfg; if (fs.existsSync(SESSION_FILE_PATH)) { sessionCfg = require(SESSION_FILE_PATH); } const client = new Client({ puppeteer: { headless: true }, session: sessionCfg }); client.on('qr', (qr) => { console.log('QR RECEIVED', qr); qrcode.generate(qr); }); client.on('authenticated', (session) => { console.log('AUTHENTICATED', session); sessionCfg=session; fs.writeFile(SESSION_FILE_PATH, JSON.stringify(session), function (err) { if (err) { console.error(err); } }); }); client.on('ready', () => { console.log('Client is ready!'); }); client.on('message', msg => { if (msg.body == '!ping') { msg.reply('pong'); } else if (msg.body == 'good morning') { msg.reply('selamat pagi'); } }); client.initialize();