8000 GitHub - kagenouReal/Baileys
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

kagenouReal/Baileys

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Baileys WhatsApp API - By kagenouReal

GitHub stars GitHub license Node.js Contributors

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.

πŸ“Œ Tentang Proyek Ini

Repositori ini dikembangkan dan dikelola oleh kagenou bersama para kontributor open-source lainnya.
Dukungan dan kontribusi dari komunitas sangat diapresiasi! πŸ’–


✨ Fitur Utama

βœ… 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

πŸ“¦ Instalasi

Pastikan Node.js β‰₯ 14.0++ sudah terpasang, Kemudian jalankan perintah berikut di terminal:

npm install @kagenoureal/baileys

Atau dengan Yarn:

yarn add @kagenoureal/baileys

πŸš€ Penggunaan Dasar pairing code

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();

πŸ“œ Dokumentasi API

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


πŸ“© Contoh Kode Tambahan

πŸͺ€ Mengirim Semua Interaktif Msg

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 });

πŸ“ Mengirim Pesan Button

sock.sendMessage(m.chat, {
     text: "Hello World !",
     footer: "JustKagenou",
     buttons: [ 
         { buttonId: `.play`,
          buttonText: {
              displayText: 'ini button'
          }, type: 1 }
     ],
     headerType: 1,
     viewOnce: true
 },{ quoted: null })

πŸ“’ Mengirim Pesan Toko

sock.sendMessage(msg.key.remoteJid, {
    text: "Isi Pesan",
    title: "Judul",
    subtitle: "Subjudul",
    footer: "Footer",
    viewOnce: true,
    shop: 3,
    id: "199872865193",
}, { quoted: m })

πŸ“Š Hasil Polling dari Newsletter

await sock.sendMessage(msg.key.remoteJid, {
    pollResult: {
        name: "Judul Polling",
        votes: [
            ["Opsi 1", 10], 
            ["Opsi 2", 10]
        ],
    }
}, { quoted: m })

🏷️ Mention di Status

await sock.StatusMentions({ text: "Halo!" }, [
    "123456789123456789@g.us",
    "123456789@s.whatsapp.net",
])

πŸƒ Pesan dengan Kartu

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 })

πŸ“· Pesan Album

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 })

πŸ“Œ Menyimpan & Menyematkan Pesan

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 })

πŸ“¨ Pesan Undangan Grup

await sock.sendMessage(msg.key.remoteJid, { 
    groupInvite: { 
        subject: "Nama Grup",
        jid: "1234@g.us",
        text: "Undangan Grup",
        inviteCode: "KODE",
        inviteExpiration: 86400 * 3,
    } 
}, { quoted: m })

Dan Banyak Lagi Kode Pesan Baharu⚑

🀝 Kontribusi

Kami menyambut kontribusi dari siapa saja! Jika ingin membantu:

  1. Fork repositori ini
  2. Buat branch baru
  3. 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! οΏ½

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0