Membuat BOT WhatsApp Menggunakan NodeJS
Di era digital seperti sekarang, komunikasi instan menjadi kebutuhan penting, terutama dalam bisnis. WhatsApp menjadi salah satu platform paling populer untuk berkomunikasi dengan pelanggan. Karena itulah, banyak developer mulai membuat BOT WhatsApp untuk mengotomatisasi percakapan, notifikasi, hingga layanan pelanggan. Dalam artikel ini, kita akan membahas cara membuat BOT WhatsApp menggunakan NodeJS, teknologi backend yang ringan dan powerful.

Di era digital seperti sekarang, komunikasi instan menjadi kebutuhan penting, terutama dalam bisnis. WhatsApp menjadi salah satu platform paling populer untuk berkomunikasi dengan pelanggan. Karena itulah, banyak developer mulai membuat BOT WhatsApp untuk mengotomatisasi percakapan, notifikasi, hingga layanan pelanggan. Dalam artikel ini, kita akan membahas cara membuat BOT WhatsApp menggunakan NodeJS, teknologi backend yang ringan dan powerful.
Mengapa Menggunakan NodeJS untuk BOT WhatsApp?
NodeJS merupakan runtime JavaScript yang cepat dan efisien, cocok untuk aplikasi real-time seperti chatbot. Berikut alasan menggunakan NodeJS untuk BOT WhatsApp:
-
Non-blocking I/O: NodeJS sangat baik dalam menangani banyak koneksi secara bersamaan.
-
Ekosistem besar: Banyak library seperti
whatsapp-web.js
,express
, dansocket.io
yang memudahkan pengembangan bot. -
Mudah dipelajari: JavaScript adalah bahasa populer, sehingga mudah dipahami oleh banyak developer.
Tools dan Library yang Digunakan
Untuk membuat BOT WhatsApp menggunakan NodeJS, kamu memerlukan:
-
NodeJS (v14 ke atas)
-
npm (Node Package Manager)
-
whatsapp-web.js: Library populer untuk mengakses WhatsApp Web API
-
qrcode-terminal: Menampilkan QR code di terminal
-
express: (opsional) Untuk membuat REST API
-
MySQL: (opsional) Untuk menyimpan sesi atau data chat
Langkah-Langkah Membuat BOT WhatsApp dengan NodeJS
1. Inisialisasi Project
mkdir whatsapp-bot
cd whatsapp-bot
npm init -y
npm install whatsapp-web.js qrcode-terminal express
2. Buat File Utama index.js
const { Client } = require('whatsapp-web.js');
const qrcode = require('qrcode-terminal');
const fs = require('fs');
const client = new Client();
client.on('qr', (qr) => {
console.log('Scan QR Code di bawah ini untuk login WhatsApp:');
qrcode.generate(qr, { small: true });
});
client.on('ready', () => {
console.log('BOT WhatsApp siap digunakan!');
});
client.on('message', async msg => {
console.log(`Pesan dari ${msg.from}: ${msg.body}`);
if (msg.body.toLowerCase() === 'halo') {
await msg.reply('Hai! Ada yang bisa saya bantu?');
}
});
client.initialize();
3. Jalankan BOT WhatsApp
node index.js
Lalu, scan QR Code menggunakan WhatsApp kamu. Setelah berhasil, BOT akan aktif dan merespons pesan "halo".
Menambahkan Fitur Tambahan
Membuat API untuk Mengirim Pesan
const express = require('express');
const app = express();
app.use(express.json());
app.post('/send-message', async (req, res) => {
const { number, message } = req.body;
try {
const chatId = number + "@c.us";
await client.sendMessage(chatId, message);
res.status(200).json({ status: 'Pesan berhasil dikirim' });
} catch (error) {
res.status(500).json({ status: 'Gagal mengirim pesan', error });
}
});
app.listen(3000, () => {
console.log('REST API aktif di http://localhost:3000');
});
Menyimpan Sesi Login (Opsional)
Agar tidak perlu scan QR ulang setiap restart, kamu bisa menyimpan sesi dengan LocalAuth
atau ke database seperti MySQL.
const { Client, LocalAuth } = require('whatsapp-web.js');
const client = new Client({
authStrategy: new LocalAuth()
});
Kesimpulan
Membuat BOT WhatsApp menggunakan NodeJS sangatlah mudah dan fleksibel. Dengan library seperti whatsapp-web.js
, kamu bisa membuat sistem auto-reply, notifikasi, hingga integrasi dengan sistem backend lainnya. Selain memudahkan pekerjaan, BOT WhatsApp juga bisa meningkatkan kualitas layanan pelanggan secara signifikan.