@kyynotdevv/baileys
v2.0.6
Published
WhatsApp Baileys Library by KYYNOTDEVV
Maintainers
Readme
WhatsApp Baileys Edgar
Open-source WhatsApp automation library \u2014 no browser required.
Built on WebSocket for speed, stability, and full multi-device support.
Installation \u2022 Documentation \u2022 Features \u2022 Telegram
What is Baileys Edgar?
WhatsApp Baileys Edgar is a powerful, open-source library for developers who need reliable WhatsApp automation without the overhead of a browser. Powered by WebSocket technology, it supports message management, group administration, interactive messages, and action buttons \u2014 all in a lightweight and modular package.
Actively maintained with continuous improvements to pairing stability, session management, and WhatsApp multi-device compatibility.
Perfect for:
- Business bots & chat automation
- Customer service systems
- Broadcast & notification tools
- E-commerce integrations
Main Features
| Feature | Description | |---|---| | Custom Pairing | Stable pairing with your own codes \u2014 no disconnection issues | | Interactive Messages | Buttons, menus, native flows, and more | | Session Management | Automatic, efficient, and long-term stable | | Multi-Device Support | Fully compatible with WhatsApp's latest multi-device API | | Lightweight & Modular | Easy to integrate into any Node.js project | | Rich Documentation | Comprehensive guides and example code included | | Secure Auth | Improved authentication flow with fixed prior vulnerabilities |
Getting Started
Install via npm or yarn:
npm install @whiskeysockets/baileys
# or
yarn add @whiskeysockets/baileysThen import and initialize:
const { makeWASocket, useMultiFileAuthState } = require("@whiskeysockets/baileys");
const { state, saveCreds } = await useMultiFileAuthState("auth_info");
const sock = makeWASocket({ auth: state });
sock.ev.on("creds.update", saveCreds);Additional Functions
Get Channel ID
await sock.newsletterId(url);Check Banned Number
await sock.checkWhatsApp(target);SendMessage Documentation
await sock.sendMessage(target, {
groupStatusMessage: {
text: "Hello World"
}
});await sock.sendMessage(target, {
albumMessage: [
{ image: cihuy, caption: "First photo" },
{ image: { url: "IMAGE_URL" }, caption: "Second photo" }
]
}, { quoted: m });await sock.sendMessage(target, {
eventMessage: {
isCanceled: false,
name: "Event Name",
description: "Event description here",
location: {
degreesLatitude: 0,
degreesLongitude: 0,
name: "Location Name"
},
joinLink: "https://call.whatsapp.com/video/example",
startTime: "1763019000",
endTime: "1763026200",
extraGuestsAllowed: false
}
}, { quoted: m });await sock.sendMessage(target, {
pollResultMessage: {
name: "Poll Title",
pollVotes: [
{ optionName: "Option A", optionVoteCount: "112233" },
{ optionName: "Option B", optionVoteCount: "1" }
]
}
}, { quoted: m });await sock.sendMessage(target, {
interactiveMessage: {
header: "Hello World",
title: "Hello World",
footer: "telegram: @edgar",
buttons: [
{
name: "cta_copy",
buttonParamsJson: JSON.stringify({
display_text: "Copy Code",
id: "123456789",
copy_code: "ABC123XYZ"
})
}
]
}
}, { quoted: m });await sock.sendMessage(target, {
interactiveMessage: {
header: "Hello World",
title: "Hello World",
footer: "telegram: @edgar",
image: { url: "https://example.com/image.jpg" },
nativeFlowMessage: {
messageParamsJson: JSON.stringify({
limited_time_offer: {
text: "Limited offer text",
url: "https://t.me/edgar",
copy_code: "PROMO2024",
expiration_time: Date.now() * 999
},
bottom_sheet: {
in_thread_buttons_limit: 2,
divider_indices: [1, 2, 3, 4, 5, 999],
list_title: "List Title",
button_title: "Button Title"
},
tap_target_configuration: {
title: "Title",
description: "Description text",
canonical_url: "https://t.me/edgar",
domain: "shop.example.com",
button_index: 0
}
}),
buttons: [
{
name: "single_select",
buttonParamsJson: JSON.stringify({ has_multiple_buttons: true })
},
{
name: "call_permission_request",
buttonParamsJson: JSON.stringify({ has_multiple_buttons: true })
},
{
name: "single_select",
buttonParamsJson: JSON.stringify({
title: "Select an Option",
sections: [
{
title: "Section Title",
highlight_label: "Label",
rows: [
{
title: "Row Title",
description: "Row description",
id: "row_1"
}
]
}
],
has_multiple_buttons: true
})
},
{
name: "cta_copy",
buttonParamsJson: JSON.stringify({
display_text: "Copy Code",
id: "123456789",
copy_code: "ABC123XYZ"
})
}
]
}
}
}, { quoted: m });await sock.sendMessage(target, {
interactiveMessage: {
header: "Hello World",
title: "Hello World",
footer: "telegram: @edgar",
image: { url: "https://example.com/image.jpg" },
buttons: [
{
name: "cta_copy",
buttonParamsJson: JSON.stringify({
display_text: "Copy Code",
id: "123456789",
copy_code: "ABC123XYZ"
})
}
]
}
}, { quoted: m });await sock.sendMessage(target, {
productMessage: {
title: "Sample Product",
description: "This is the product description.",
thumbnail: { url: "https://example.com/image.jpg" },
productId: "PROD001",
retailerId: "RETAIL001",
url: "https://example.com/product",
body: "Product details",
footer: "Special price",
pr