Javascript Node.js Pemrograman

Tutorial Whatsapp APi Multi Device – Baileys Adiwajshing

Whatsapp APi Gateway Multi Device – Baileys Adiwajshing – Hi bret kali ini saya akan share ka kalian artikel mengenai cara membuat whatsapp API Gateway Multi Device menggunakan Library Baileys.

Sebelum memulai tutorial nya kalian harus tau apa itu WhatsApp API, whatspp API adalah sebuah aplikasi yang dapat membuat interaksi antara customer dan perusahaan berjalan dengan lebih efisien. Kata API sendiri memiliki artian Application Programming Interface yang berisi serangkaian kode yang nantinya akan terkoneksi dengan software perusahaan. Software tersebut nantinya juga akan kembali dikoneksikan pada akun WhatsApp.

WhatsApp API sendiri hadir dengan berbagai macam fitur canggih. Di mana fitur-fitur canggih tersebut tidak akan kamu temukan pada aplikasi WhatsApp biasa. Salah satu fitur yang wajib kamu gunakan yakni chatbot. Melalui fitur satu ini, kamu bisa mengatur jawaban dari pertanyaan umum yang seringkali di tanyakan oleh customer melalui WhatsApp Business. Pengaktifan fitur ini akan memberikan balasan secara otomatis untuk setiap pertanyaan yang bersifat umum. Sehingga bisa di katakan bahwa karyawan yang bertugas sebagai operator akan diringankan tugasnya berkat fitur ini. Meski telah menggunakan fitur chatbot, operator tetap bisa mengambil alih percakapan yang memang harus dijawab langsung oleh operator itu sendiri.

Oke sudah paham kita lanjut.. Hal pertama yang harus kalian lakukan adalah siapin kopi nya 😀 ga ding canda baileys.

Nah hal pertama kalian harus pelajari library Whatsapp APi Gateway Multi Device – Baileys Adiwajshing nya dulu, karena ada beberapa configurasi koneksi yang harus kalian pahami, berikut link ke github nya. klik ini -> Library.

Langkah berikutnya. buka visual studio kalian atau tools coding kesayangan kalian, kalau belum punya boleh download dulu disini -> Download

Oke sudah siap semua ya perlengkapan alat tempur coding, sekarang langsung aja ke tahap copy paste code hahahahaha.

whatsapp api
whatsapp api

Cara Buat Whatsapp API Gateway

  1. Buat file dengan nama index.js
"use strict";
const {
	default: makeWASocket,
	BufferJSON,
	initInMemoryKeyStore,
	DisconnectReason,
	AnyMessageContent,
        makeInMemoryStore,
	useSingleFileAuthState,
	delay
} = require("@adiwajshing/baileys")
const figlet = require("figlet");
const fs = require("fs");
const moment = require('moment')
const chalk = require('chalk')
const logg = require('pino')
const clui = require('clui')
const { Spinner } = clui
const { serialize } = require("./lib/myfunc");
const { color, mylog, infolog } = require("./lib/color");
const time = moment(new Date()).format('HH:mm:ss DD/MM/YYYY')
let setting = JSON.parse(fs.readFileSync('./config.json'));
let session = `./${setting.sessionName}.json`
const { state, saveState } = useSingleFileAuthState(session)
let welcome = JSON.parse(fs.readFileSync('./database/welcome.json'));

// judul console
function title() {
      console.clear()
	  console.log(chalk.bold.green(figlet.textSync('WhatsRice MD', {
		font: 'Standard',
		horizontalLayout: 'default',
		verticalLayout: 'default',
		width: 100,
		whitespaceBreak: false
	})))
}

// cek module perubahan
function nocache(module, cb = () => { }) {
	console.log(`Module ${module} sedang diperhatikan terhadap perubahan`) 
	fs.watchFile(require.resolve(module), async () => {
		await uncache(require.resolve(module))
		cb(module)
	})
}
// module uncache
function uncache(module = '.') {
	return new Promise((resolve, reject) => {
		try {
			delete require.cache[require.resolve(module)]
			resolve()
		} catch (e) {
			reject(e)
		}
	})
}

const status = new Spinner(chalk.cyan(` Booting WhatsApp Bot`))
const starting = new Spinner(chalk.cyan(` Preparing After Connect`))
const reconnect = new Spinner(chalk.redBright(` Reconnecting WhatsApp Bot`))

const store = makeInMemoryStore({ logger: logg().child({ level: 'fatal', stream: 'store' }) })

const connectToWhatsApp = async () => {

	const conn = makeWASocket({
            printQRInTerminal: true,
            logger: logg({ level: 'fatal' }),
            auth: state,
            browser: ["WhatsRice Multi Device", "MacOS", "3.0"]
        })
	title()
        store.bind(conn.ev)
	
	/* Auto Update */
	require('./message/help')
	require('./lib/myfunc')
	require('./message/msg')
	nocache('./message/help', module => console.log(chalk.greenBright('[ WHATSAPP BOT ]  ') + time + chalk.cyanBright(` "${module}" Telah diupdate!`)))
	nocache('./lib/myfunc', module => console.log(chalk.greenBright('[ WHATSAPP BOT ]  ') + time + chalk.cyanBright(` "${module}" Telah diupdate!`)))
	nocache('./message/msg', module => console.log(chalk.greenBright('[ WHATSAPP BOT ]  ') + time + chalk.cyanBright(` "${module}" Telah diupdate!`)))
	
	conn.multi = true
	// conn.nopref = false
	// conn.prefa = 'anjing'
	conn.ev.on('messages.upsert', async m => {
		if (!m.messages) return;
		var msg = m.messages[0]
		msg = serialize(conn, msg)
		msg.isBaileys = msg.key.id.startsWith('BAE5') || msg.key.id.startsWith('3EB0')
		require('./message/msg')(conn, msg, m, setting, store, welcome)
	})

	//jika close atau logout
	conn.ev.on('connection.update', (update) => {
		const { connection, lastDisconnect } = update
		if (connection === 'close') {
			status.stop()
			reconnect.stop()
			starting.stop()
			console.log(mylog('Server Ready ✓'))
			lastDisconnect.error?.output?.statusCode !== DisconnectReason.loggedOut 
			? connectToWhatsApp()
			: console.log(mylog('Wa web terlogout...'))
		}
	})
	conn.ev.on('creds.update', () => saveState)
	
        // conn.ev.on('group-participants.update', async (data) => {
        //   const isWelcome = welcome.includes(data.id) ? true : false
        //   if (isWelcome) {
        //     try {
        //       for (let i of data.participants) {
        //         try {
        //           var pp_user = await conn.profilePictureUrl(i, 'image')
        //         } catch {
        //           var pp_user = 'https://i0.wp.com/www.gambarunik.id/wp-content/uploads/2019/06/Top-Gambar-Foto-Profil-Kosong-Lucu-Tergokil-.jpg'
        //         }
        //         if (data.action == "add") {
        //           conn.sendMessage(data.id, { image: { url: pp_user }, caption: `Welcome @${i.split("@")[0]}`, mentions: [i] })
        //         } else if (data.action == "remove") {
        //           conn.sendMessage(data.id, { image: { url: pp_user }, caption: `Sayonara @${i.split("@")[0]}`, mentions: [i] })
        //         }
        //       }
        //     } catch (e) {
        //       console.log(e)
        //     }
        //   }
        // })

	conn.reply = (from, content, msg) => conn.sendMessage(from, { text: content }, { quoted: msg })

	return conn
}

connectToWhatsApp()
.catch(err => console.log(err))

2. buat file config.json

{
  "ownerNumber": ["[email protected]"],
  "ownerName": ["Riceknow"],
  "botName": "WhatsRice Bot",
  "sessionName": "haha-md",
  "gamewaktu": 90,
  "limitCount": 25,
  "gcount": {
	"prem": 35,
	"user": 15
  }
}

3. wah keliatan nya lama sekali yaa Tutorial Whatsapp APi Gateway Multi Device – Baileys Adiwajshing oke aku kasih file download nya aja ya 😀

Clone Whatsapp API Gateway : https://github.com/adinyahya/whatsrice

Kita juga ada layanan Whatsapp API Gateway Tools, dengan Fitur :

  1. Auto Responder
  2. Schedule Blast Message
  3. Message Text, Media JPEG PNG PDF, Message BUTTON, MESSAGE LIST
  4. Performa CHAT
  5. Webhook
  6. API send text, image, button, list
  7. Chatbot

whatsapp marketing tool

Beli Hosting Murah di Domainesia

Demikian Tutorial Whatsapp APi Gateway Multi Device – Baileys Adiwajshing, Semoga artikel ini bisa membantu anda :D.

Baca Juga :

Avatar

Adin Yahya

About Author

5 Comments

  1. Avatar

    syaiful

    June 15, 2022

    Gimana cara untuk send messagenya bang?

  2. Avatar

    Galih

    June 15, 2022

    permisi, mau tanya mas.
    1) setelah berhasil masuk dg scan-qr, kenapa gak bisa kirim dan terima pesan (kasus pada layar monitor pc) tapi pada hp masih aman.
    2) setelah re-connect barulah bisa kirim-terima pesan. ada tankapan aktifitas pada layar monitor.
    3) saya dapat mengetahui ini setelah saya tambahkan satu baris script console.log.
    conn.ev.on(‘messages.upsert’, async m => {
    ….
    var msg = m.messages[0]
    console.log(‘logchat : ‘,msg);
    ….
    ….
    ….
    })
    4) kira-kira apakah ada script yg kurang ?
    terima kasih.

  3. Avatar

    zenn

    June 15, 2022

    good gan

  4. Avatar

    fwthru

    June 15, 2022

    om kok pas di runn bot nya di test malah ngirim ke wa bot nya juga ?

Leave a comment

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

You may also like

Pemrograman Node.js

Cara Membuat Telegram Bot API

Cara Membuat Telegram Bot API – Halo bret kali ini saya akan share cara membuat bot telegram, Telegram merupakan alat
Pemrograman PHP

Cara Membuat Database MySQL di Phpmyadmin

Membuat Database MySQL di Phpmyadmin – Halo bret !! Kali ini saya akan share cara membuat database MySQL di Phpmyadmin,