npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@selfrwrd/baileys

v1.0.5

Published

Super WhatsApp Web API

Readme

Baileys (Mod)

npm lisensi GitHub issues

Baileys adalah library WhatsApp Web API non-resmi yang ringan, lengkap, dan canggih, ditulis dalam JavaScript/TypeScript.

🚀 Tentang Proyek Ini

Library ini berkomunikasi langsung dengan WebSocket WhatsApp, sehingga tidak memerlukan browser otomatis seperti Selenium. Ini membuatnya sangat cepat, efisien, dan ideal untuk bot atau otomatisasi.

Berdasarkan file yang ada, versi ini tampaknya mendukung fitur-fitur modern WhatsApp, termasuk:

  • Pesan: Mengirim dan menerima semua jenis pesan (teks, gambar, video, audio, stiker, dokumen, lokasi).
  • Manajemen Grup: Membuat grup, menambah/mengeluarkan anggota, mengubah admin, memperbarui info grup.
  • Manajemen Komunitas: Dukungan untuk fitur Komunitas WhatsApp.
  • Manajemen Newsletter: Kemampuan untuk berinteraksi dengan Saluran (Newsletter).
  • Fitur Bisnis: Interaksi dengan katalog produk dan fitur WhatsApp Business lainnya.
  • Multi-Device: Mendukung mode Multi-Device secara penuh.
  • Event Listener: Mendengarkan berbagai pembaruan real-time (status koneksi, pesan masuk, pembaruan grup, status dibaca, dll.).

⚠️ Peringatan Wajib (Disclaimer)

PENTING: Ini adalah API non-resmi dan penggunaannya melanggar Ketentuan Layanan WhatsApp. Akun Anda memiliki risiko untuk diblokir (di-banned) secara sementara atau permanen oleh WhatsApp.

Gunakan dengan risiko Anda sendiri. Developer tidak bertanggung jawab atas segala konsekuensi yang timbul dari penggunaan library ini.

💾 Instalasi

Anda dapat menginstal library ini menggunakan npm atau yarn:

npm install @selfrwrd/baileys

Atau jika Anda menggunakan yarn:
yarn add @selfrwrd/baileys

⚡ Contoh Penggunaan
Berikut adalah contoh dasar untuk terhubung ke WhatsApp, mencetak QR code di terminal, menyimpan sesi, dan membalas pesan "ping" dengan "pong".
const { default: makeWASocket, useMultiFileAuthState, DisconnectReason } = require('@selfrwrd/baileys');
const { Boom } = require('@hapi/boom');
const pino = require('pino');

// Fungsi utama untuk menjalankan bot
async function connectToWhatsApp() {
    // Siapkan penyimpanan otentikasi multi-file
    const { state, saveCreds } = await useMultiFileAuthState('baileys_auth_info');
    
    // Buat koneksi socket
    const himmel = makeWASocket({
        // Gunakan logger pino (level 'silent' agar tidak terlalu berisik)
        logger: pino({ level: 'silent' }),
        printQRInTerminal: true,
        auth: state
    });

    // Menyimpan kredensial setiap kali ada pembaruan
    himmel.ev.on('creds.update', saveCreds);

    // Menangani pembaruan koneksi
    himmel.ev.on('connection.update', (update) => {
        const { connection, lastDisconnect } = update;
        if (connection === 'close') {
            // Cek apakah perlu menyambung ulang
            const shouldReconnect = (lastDisconnect.error instanceof Boom)
                ? lastDisconnect.error.output.statusCode !== DisconnectReason.loggedOut
                : true;
            
            console.log('Koneksi terputus:', lastDisconnect.error, ', menyambung ulang:', shouldReconnect);
            
            if (shouldReconnect) {
                connectToWhatsApp();
            }
        } else if (connection === 'open') {
            console.log('Koneksi berhasil tersambung! ✨');
        }
    });

    // Menangani pesan yang masuk
    himmel.ev.on('messages.upsert', async (m) => {
        console.log('Pesan baru:', JSON.stringify(m, undefined, 2));

        // Ambil pesan pertama (selalu dalam bentuk array)
        const msg = m.messages[0];
        if (!msg.key.fromMe && m.type === 'notify') {
            
            // Cek jika pesan adalah "ping"
            if (msg.message?.conversation === 'ping') {
                await himmel.sendMessage(msg.key.remoteJid, { text: 'pong!' }, { quote: msg });
            }
        }
    });
}

// Jalankan bot
connectToWhatsApp();

📄 Lisensi
Proyek ini (Baileys) dilisensikan di bawah Lisensi MIT.