Anda di halaman 1dari 8

# Persiapan

Laptop yang sudah terinstall nodejs.


Untuk mendownload dan menginstall nodejs dapat dilihat dalam website-nya di nodejs.org dan juga Kopi
.

# Coding Time

Setelah Perisapan dan nodejs telah terinstall, langkah pertama adalah membuat project baru dengan perintah
di bawah.

mkdir [nama project] && cd [nama project] && npm init --y

Setelah membuat project selanjutnya menginstall package whatsapp-web.js dengan perintah berikut.

npm i whatsapp-web.js atau yarn add whatsapp-web.js

Setelah itu buatlah file index.js pada project yang tadi di buat dan masukkan script di bawah.
JavaScript
const { Client } = require('whatsapp-web.js');
const client = new Client();

//Proses Masuk whatsappjs menggunakan qrcode yang akan di kirim oleh


whatsapp-web.js
client.on('qr', (qr) => {
console.log('QR Code', qr);
});

//Proses Dimana Whatsapp-web.js Siap digunakan


client.on('ready', () => {
console.log('Udah Siap!');
});

//Proses Dimana klient disconnect dari Whatsapp-web


client.on('disconnected', (reason) => {
console.log('disconnect Whatsapp-bot', reason);
});

client.initialize();

Package whatsapp-web.js disini menggunakan selenium untuk mengakses web.whatsapp.com


di background, karena itu disini kita diharuskan login terlebih dahulu menggunakan akun whatsapp yang
sudah ada. jalankan dengan perintah.

node index.js

Disini hasil yang kita dapatkan yaitu qrcode masih dalam bentuk encyrpt teks, untuk
mengubahnya menjadi qrcode bisa dengan menginstall package qrcode-terminal dengan
perintah.

npm i qrcode-terminal atau yarn add qrcode-terminal

Setelah menginstall package qrcode-terminal, ubah codingan pada file index.js menjadi.
// Package yang di gunakan
const {Client} = require('whatsapp-web.js');
const qrcode = require('qrcode-terminal');

// Membuat Client Baru


const client = new Client();
//Proses Masuk whatsappjs menggunakan qrcode yang akan di kirim oleh
whatsapp-web.js
client.on('qr', (qr) => {
qrcode.generate(qr, {
small: true
});
});

//Proses Dimana Whatsapp-web.js Siap digunakan


client.on('ready', () => {
console.log('Udah Siap!');
});
//Proses Dimana klient disconnect dari Whatsapp-web
client.on('disconnected', (reason) => {
console.log('disconnect Whatsapp-bot', reason);
});
client.initialize();

Ketika program di atas dijalankan hasil yang keluar sudah berupa qrcode yang dapat kita scan.
// Package yang di gunakan
const { Client } = require('whatsapp-web.js');
const qrcode = require('qrcode-terminal');

// Membuat Client Baru


const client = new Client();
//Proses Masuk whatsappjs menggunakan qrcode yang akan di kirim oleh whatsapp-web.js
client.on('qr', (qr) => {
qrcode.generate(qr, {
small: true
});
});
//Proses Dimana Whatsapp-web.js Siap digunakan
client.on('ready', () => {
console.log('Udah Siap!');
const number = "+628XXXXXXXX"; // Ubah menjad Nomor hp yang akan dikirim pesan
const text = "Whatsapp Sudah siap!"; // Pesan Yang akan dikirim
const chatId = number.substring(1) + "@c.us";
// Kirim Pesan.
client.sendMessage(chatId, text);
});
// Proses Dimana Ketika Pesan masuk ke bot
client.on('message', async message => {
//Mengecek Pesan yang masuk sama dengan halo jika benar balas dengan Haii!!
if (message.body === 'halo') {
// Membalas Pesan
message.reply('Haii!!')
}
})
//Proses Dimana klient disconnect dari Whatsapp-web
client.on('disconnected', (reason) => {
console.log('disconnect Whatsapp, reason);
});
client.initialize();

Untuk Contoh lainnya bisa dilihat Disini

https://github.com/pedroslopez/whatsapp-web.js/blob/master/example.js
# SESSION

tambahan

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


const qrcode = require('qrcode-terminal');
const fs = require('fs');

// Membuat Client Baru dengan SESSION


const client = new Client({
puppeteer: {
headless: true,
args: [
'--no-sandbox',
'--disable-setuid-sandbox',
'--disable-dev-shm-usage',
'--disable-accelerated-2d-canvas',
'--no-first-run',
'--no-zygote',
'--disable-gpu'
],
},
authStrategy: new LocalAuth({
clientId: "whatsapp-1"
})
});

# server

tambahkan
const { Client, LocalAuth } = require('whatsapp-web.js');
const qrcode = require('qrcode-terminal');
const fs = require('fs');
const express = require('express');

const app = express();

//untuk parsing data


app.use(express.json());
app.use(express.urlencoded({ extended: true }));

Coba jalankan http://localhost:8000/ di browser


# Mengirim pesan

tambahan

// Send Message
app.post('/send-message', async (req, res) => {

const number = req.body.number;


const message = req.body.message;

const isRegisteredNumber = await checkRegisteredNumber(number);

if (!isRegisteredNumber) {
console.log('kirim gagal ', number, 'The number not registered');
return res.status(422).json({
status: 'false',
message: 'The number not registered', number
});
}

client.sendMessage(number, message).then(response => {


res.status(200).json({
status: 'true',
response: response
});
}).catch(err => {
res.status(500).json({
status: 'false',
response: err
});
});
})

const checkRegisteredNumber = async function (number) {


const isRegistered = await client.isRegisteredUser(number);
return isRegistered;
}

Test dengan POSTMAN

Anda mungkin juga menyukai