Baileys WhatsApp API adalah library berbasis Node.js untuk berkomunikasi dengan WhatsApp Web tanpa perlu WebSocket tambahan. Ini adalah hasil modifikasi dari Whiskey Baileys agar lebih stabil dan mendukung lebih banyak tipe pesan.
Dikembangkan dengan performa tinggi untuk kebutuhan bot, otomatisasi pesan, dan integrasi aplikasi WhatsApp lainnya.
Repositori ini dikembangkan dan dikelola oleh kagenou bersama para kontributor open-source lainnya.
Dukungan dan kontribusi dari komunitas sangat diapresiasi! π
β
Autentikasi tanpa QR menggunakan session authentication
β
Dukungan Multi-Device (MD) terbaru dari WhatsApp
β
Kirim & terima pesan dalam berbagai format
β
Mengelola grup (buat grup, tambahkan/kick anggota, atur deskripsi, dll.)
β
Integrasi event seperti masuk/keluar grup, pesan diterima, pesan terbaca
Pastikan Node.js β₯ 14.0++ sudah terpasang, Kemudian jalankan perintah berikut di terminal:
npm install @kagenoureal/baileys
Atau dengan Yarn:
yarn add @kagenoureal/baileys
const { useMultiFileAuthState, makeWASocket } = require('@kagenouReal/baileys');
const readline = require('readline');
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
const question = (q) => new Promise(res => rl.question(q, res));
async function start() {
const { state, saveCreds } = await useMultiFileAuthState('./session');
const usePairingCode = true;
const conn = makeWASocket({
auth: state,
printQRInTerminal: !usePairingCode,
keepAliveIntervalMs: 50000,
});
conn.ev.on('creds.update', saveCreds);
if (usePairingCode && !conn.authState.creds.registered) {
const phone = (await question('Enter Your Number Phone:\n')).replace(/\D/g, '');
rl.close();
try {
const code = await conn.requestPairingCode(phone);
console.log('Code Whatsapp:', code.match(/.{1,4}/g).join('-'));
} catch (e) {
console.log('Failed to get pairing code:', e.message);
}
}
conn.ev.on('connection.update', ({ connection, lastDisconnect }) => {
if (connection === 'close') {
const reason = lastDisconnect?.error?.output?.statusCode || 'Unknown';
console.log('Connection closed:', reason);
if ([401, 405].includes(reason)) {
console.log('Logged out, delete session folder to relogin');
} else if ([515, 428].includes(reason)) {
console.log('Restarting...');
start();
}
} else if (connection === 'open') {
console.log('Whatsapp connected');
}
});
conn.ev.on('messages.upsert', async (m) => {
if (m.type === 'notify') {
const msg = m.messages[0];
if (!msg.key.fromMe && msg.message) {
await conn.sendMessage(msg.key.remoteJid, { text: 'Hello there!' });
}
}
});
}
start();
Fitur | Deskripsi |
---|---|
sendMessage() |
Mengirim pesan teks, gambar, video, dll. |
updateProfile() |
Mengubah foto profil dan nama pengguna |
getChats() |
Mendapatkan daftar chat pengguna |
groupParticipantsUpdate() |
Menambahkan/menghapus anggota grup |
π Dokumentasi lengkap: Baileys API Docs
await sock.sendMessage(m.chat, {
text: "halo",
title: "tes",
footer: "Β© α΄α΄Ι’α΄Ι΄α΄α΄ - 2025",
interactiveButtons: [{
"name": "single_select",
"buttonParamsJson": "{\"title\":\"title\",\"sections\":[{\".menu\":\".play dj webito\",\"highlight_label\":\"label\",\"rows\":[{\"header\":\"header\",\"title\":\"title\",\"description\":\"description\",\"id\":\"id\"},{\"header\":\"header\",\"title\":\"title\",\"description\":\"description\",\"id\":\"id\"}]}]}"
},
{
"name": "cta_reply",
"buttonParamsJson": "{\"display_text\":\"quick_reply\",\"id\":\"message\"}"
},
{
"name": "cta_url",
"buttonParamsJson": "{\"display_text\":\"url\",\"url\":\"https://www.google.com\",\"merchant_url\":\"https://www.google.com\"}"
},
{
"name": "cta_call",
"buttonParamsJson": "{\"display_text\":\"call\",\"id\":\"message\"}"
},
{
"name": "cta_copy",
"buttonParamsJson": "{\"display_text\":\"copy\",\"id\":\"123456789\",\"copy_code\":\"message\"}"
},
{
"name": "cta_reminder",
"buttonParamsJson": "{\"display_text\":\"Recordatorio\",\"id\":\"message\"}"
},
{
"name": "cta_cancel_reminder",
"buttonParamsJson": "{\"display_text\":\"cta_cancel_reminder\",\"id\":\"message\"}"
},
{
"name": "address_message",
"buttonParamsJson": "{\"display_text\":\"address_message\",\"id\":\"message\"}"
},
{
"name": "send_location",
"buttonParamsJson": ""
}]
}, { quoted: m });
sock.sendMessage(m.chat, {
text: "Hello World !",
footer: "JustKagenou",
buttons: [
{ buttonId: `.play`,
buttonText: {
displayText: 'ini button'
}, type: 1 }
],
headerType: 1,
viewOnce: true
},{ quoted: null })
sock.sendMessage(msg.key.remoteJid, {
text: "Isi Pesan",
title: "Judul",
subtitle: "Subjudul",
footer: "Footer",
viewOnce: true,
shop: 3,
id: "199872865193",
}, { quoted: m })
await sock.sendMessage(msg.key.remoteJid, {
pollResult: {
name: "Judul Polling",
votes: [
["Opsi 1", 10],
["Opsi 2", 10]
],
}
}, { quoted: m })
await sock.StatusMentions({ text: "Halo!" }, [
"123456789123456789@g.us",
"123456789@s.whatsapp.net",
])
await sock.sendMessage(msg.key.remoteJid, {
text: "Halo!",
footer: "Pesan Footer",
cards: [
{
image: { url: 'https://example.jpg' },
title: 'Judul Kartu',
caption: 'Keterangan Kartu',
footer: 'Footer Kartu',
buttons: [
{ name: "quick_reply", buttonParamsJson: JSON.stringify({ display_text: "Tombol Cepat", id: "ID" }) },
{ name: "cta_url", buttonParamsJson: JSON.stringify({ display_text: "Buka Link", url: "https://www.example.com" }) }
]
}
]
}, { quoted: m })
await sock.sendAlbumMessage(msg.key.remoteJid, [
{ image: { url: "https://example.jpg" }, caption: "Halo Dunia" },
{ video: { url: "https://example.mp4" }, caption: "Halo Dunia" }
], { quoted: m, delay: 2000 })
await sock.sendMessage(msg.key.remoteJid, { keep: message.key, type: 1, time: 86400 })
await sock.sendMessage(msg.key.remoteJid, { pin: message.key, type: 1, time: 86400 })
await sock.sendMessage(msg.key.remoteJid, {
groupInvite: {
subject: "Nama Grup",
jid: "1234@g.us",
text: "Undangan Grup",
inviteCode: "KODE",
inviteExpiration: 86400 * 3,
}
}, { quoted: m })
Kami menyambut kontribusi dari siapa saja! Jika ingin membantu:
- Fork repositori ini
- Buat branch baru
- Buat Pull Request (PR)
π‘ Punya ide keren? Silakan buat Issue di repository ini.
π¬ Kontak
51C3π© Email: kagenoureal@gmail.com
π Website: Baileys API
π Semoga kamu suka & semangat ngoding! οΏ½