Membuat BOT Whatsapp Menggunakan NodeJS

1 min read

Membuat BOT Whatsapp dengan NodeJS Part #1 Making Session

Ok kali ini admin akan memberikan sedikit tutorial tentang cara membuat BOT whatsapp menggunakan NodeJS, seperti pada contoh diatas yaitu BOT untuk mengecek detail kasus corona diseluruh dunia.

Ditutorial ini saya anggap kalian sudah paham tentang apa itu NodeJS, jadi kalau belum tau kalian bisa cari tau dan belajar terlebih dahulu tentang NodeJS itu apa. Kalian bisa baca baca sedikit tentang NodeJS disini

Untuk tutorial ini kalian membutuhkan setidaknya NodeJS v8+ yang masih dibawah itu silahkan bisa untuk di update terlebih dahulu versi nodejsnya dan bagi yang sudah diatas versi itu silahkan lanjut bacanya.

Pertama kalian buat project baru terlebih dahulu.

Setelah menginisiasi sebuah project baru lalu kalian bisa install modules whatsapp-web.js kalian bisa cek disini whatsapp-web.js, untuk sekarang modulesnya sudah tersedia di npm jadi kalian bisa install dengan cara :

npm i whatsapp-web.js

whatsapp-web.js adalah Whatsapp Client API yang terhubung ke whatsapp web, whatsapp-web.js menggunakan puppeter untuk menjalankan real instance dari whatsapp web untuk mencegah pemblokiran.

saat menginstall modules whatsapp-web.js ini otomatis dia menginstall chromium yang terdapat pada puppeter jadi pastikan koneksi cepat ya, ukurannya kira kira 116mb kalau kaya saya yang sedang dikampung ini mabok dengan ukuran segitu haha 🤣

Setelah selesai menginstall whatsapp-web.js nya kalian buat file bot.js lalu buat code seperti ini :

const { Client } = require('whatsapp-web.js');
const fs = require('fs');

const SESSION_FILE_PATH = './session.json';
let sessionCfg;
if (fs.existsSync(SESSION_FILE_PATH)) { //mengecek apakah udah ada session yang tersimpan
    sessionCfg = require(SESSION_FILE_PATH);
}

const client = new Client({ puppeteer: { headless: false }, session: sessionCfg });
client.initialize();

client.on('qr', (qr) => { //menampilkan qr code dan menerima qr code
    console.log('QR RECEIVED', qr);
});

client.on('authenticated', (session) => {
    console.log('AUTHENTICATED', session);
    sessionCfg=session;
    fs.writeFile(SESSION_FILE_PATH, JSON.stringify(session), function (err) {  //jika session belum tersimpan maka akan membuat session baru 
        if (err) {
            console.error(err);
        }
    });
});

client.on('auth_failure', msg => {
    console.error('AUTHENTICATION FAILURE', msg);
});

client.on('ready', () => {
    console.log('READY');
});

client.on('message', async msg => {
    console.log('MESSAGE RECEIVED', msg);
});

client.on('disconnected', (reason) => {
    console.log('Client was logged out', reason);
});

lalu jalankan dengan command :

node bot.js

Maka akan tampil popup dan menampilkan whatsapp web setelah itu scan pakai nomer yang akan dijadikan bot

popup chromium
Scan barcode menggunakan nomer yang akan digunakan untuk BOT

Setelah di scan session akan disimpan ke file session.json dan di console akan terdapat result berikut :

Session Whatsapp

Berarti sekarang sessionnya sudah tersimpan di file session.json dan sudah bisa dipakai untuk membuat bot dengan session tersebut.

Selanjutnya kita akan membahas cara membuat botnya/menggunakan botnya di part 2, See U!!!!

Part #2 Making A Bot

2

One Reply to “Membuat BOT Whatsapp Menggunakan NodeJS”

Leave a Reply

Your email address will not be published. Required fields are marked *