@budetzz/baileys

中文文档
2.0.19发布于 2026/05/26MITTypeScriptCommonJS近 30 天下载 2785

WhatsApp API Modification By MazzBudetzz

原始使用文档
文档目录23 节
  1. Main Features and Advantages
  2. Getting Started
  3. Add Function ( Simple code )
  4. Label Group
  5. Check ID Channel
  6. Check banned number
  7. SendMessage Documentation
  8. Status Mention Group & Private Message
  9. Status Group Message V2
  10. Album Message (Multiple Images)
  11. Event Message
  12. Poll Result Message
  13. Simple Interactive Message
  14. Interactive Message with Native Flow
  15. Interactive Message with Thumbnail
  16. Product Message
  17. Interactive Message with Document Buffer
  18. Interactive Message with Document Buffer (Simple)
  19. Request Payment Message
  20. Why Choose WhatsApp Baileys?
  21. Technical Notes
  22. Contact Developer
  23. 🙌 Contributors outside the Baileys code

WhatsApp Baileys

Thumbnail

WhatsApp Baileys is an open-source library designed to help developers build automation solutions and integrations with WhatsApp efficiently and directly. Using websocket technology without the need for a browser, this library supports a wide range of features such as message management, chat handling, group administration, as well as interactive messages and action buttons for a more dynamic user experience.

Actively developed and maintained, baileys continuously receives updates to enhance stability and performance. One of the main focuses is to improve the pairing and authentication processes to be more stable and secure. Pairing features can be customized with your own codes, making the process more reliable and less prone to interruptions.

This library is highly suitable for building business bots, chat automation systems, customer service solutions, and various other communication automation applications that require high stability and comprehensive features. With a lightweight and modular design, baileys is easy to integrate into different systems and platforms.


Main Features and Advantages

  • Supports automatic and custom pairing processes
  • Fixes previous pairing issues that often caused failures or disconnections
  • Supports interactive messages, action buttons, and dynamic menus
  • Efficient automatic session management for reliable operation
  • Compatible with the latest multi-device features from WhatsApp
  • Lightweight, stable, and easy to integrate into various systems
  • Suitable for developing bots, automation, and complete communication solutions
  • Comprehensive documentation and example codes to facilitate development

Getting Started

Begin by installing the library via your preferred package manager, then follow the provided configuration guide. You can also utilize the ready-made example codes to understand how the features work. Use session storage and interactive messaging features to build complete, stable solutions tailored to your business or project needs.


Add Function ( Simple code )

Label Group

Tag/Label Member Grop

await sock.setLabelGroup(jid, string)

Check ID Channel

Get ID Channel From Url

await sock.newsletterFromUrl(url)

Result JSON

{
  "name": "Name Channel",
  "id": "Channel ID",
  "state": "Status Channel",
  "subscribers": "Followers",
  "verification": "UNVERIFIED",
  "creation_time": 1728547155,
  "description": "Description Channel"
}

Check banned number

You can see the status of blocked numbers here

sock.checkWhatsApp(jid)

SendMessage Documentation

Status Mention Group & Private Message

Send Status Mention Group/Private Chat

await sock.sendStatusMention(content, jid);

Status Group Message V2

Send Group Status With Version 2

await sock.sendMessage(jid, {
     groupStatusMessage: {
          text: "Hello World"
     }
});

Album Message (Multiple Images)

Send multiple images in a single album message:

await sock.sendMessage(jid, { 
    albumMessage: [
        { image: cihuy, caption: "Foto pertama" },
        { image: { url: "URL IMAGE" }, caption: "Foto kedua" }
    ] 
}, { quoted: m });

Event Message

Create and send WhatsApp event invitations:

await sock.sendMessage(jid, { 
    eventMessage: { 
        isCanceled: false, 
        name: "Hello World", 
        description: "z4phdev", 
        location: { 
            degreesLatitude: 0, 
            degreesLongitude: 0, 
            name: "rowrrrr" 
        }, 
        joinLink: "https://call.whatsapp.com/video/saweitt", 
        startTime: "1763019000", 
        endTime: "1763026200", 
        extraGuestsAllowed: false 
    } 
}, { quoted: m });

Poll Result Message

Display poll results with vote counts:

await sock.sendMessage(jid, { 
    pollResultMessage: { 
        name: "Hello World", 
        pollVotes: [
            {
                optionName: "TEST 1",
                optionVoteCount: "112233"
            },
            {
                optionName: "TEST 2",
                optionVoteCount: "1"
            }
        ] 
    } 
}, { quoted: m });

Simple Interactive Message

Send basic interactive messages with copy button functionality:

await sock.sendMessage(jid, {
    interactiveMessage: {
        header: "Hello World",
        title: "Hello World",
        footer: "telegram: @saweitt ",
        buttons: [
            {
                name: "cta_copy",
                buttonParamsJson: JSON.stringify({
                    display_text: "copy code",
                    id: "123456789",              
                    copy_code: "ABC123XYZ"
                })
            }
        ]
    }
}, { quoted: m });

Interactive Message with Native Flow

Send interactive messages with buttons, copy actions, and native flow features:

await sock.sendMessage(jid, {    
    interactiveMessage: {      
        header: "Hello World",
        title: "Hello World",      
        footer: "telegram: @saweitt",      
        image: { url: "https://example.com/image.jpg" },      
        nativeFlowMessage: {        
            messageParamsJson: JSON.stringify({          
                limited_time_offer: {            
                    text: "idk hummmm?",            
                    url: "https://t.me/saweitt",            
                    copy_code: "z4phdev",            
                    expiration_time: Date.now() * 999          
                },          
                bottom_sheet: {            
                    in_thread_buttons_limit: 2,            
                    divider_indices: [1, 2, 3, 4, 5, 999],            
                    list_title: "z4phdev",            
                    button_title: "z4phdev"          
                },          
                tap_target_configuration: {            
                    title: " X ",            
                    description: "bomboclard",            
                    canonical_url: "https://t.me/saweitt",            
                    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: "Hello World",              
                        sections: [                
                            {                  
                                title: "title",                  
                                highlight_label: "label",                  
                                rows: [                    
                                    {                      
                                        title: "@saweitt",                      
                                        description: "love you",                      
                                        id: "row_2"                    
                                    }                  
                                ]                
                            }              
                        ],              
                        has_multiple_buttons: true            
                    })          
                },          
                {            
                    name: "cta_copy",            
                    buttonParamsJson: JSON.stringify({              
                        display_text: "copy code",              
                        id: "123456789",              
                        copy_code: "ABC123XYZ"            
                    })          
                }        
            ]      
        }    
    }  
}, { quoted: m });

Interactive Message with Thumbnail

Send interactive messages with thumbnail image and copy button:

await sock.sendMessage(jid, {
    interactiveMessage: {
        header: "Hello World",
        title: "Hello World",
        footer: "telegram: @saweitt",
        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 });

Product Message

Send product catalog messages with buttons and merchant information:

await sock.sendMessage(jid, {
    productMessage: {
        title: "Produk Contoh",
        description: "Ini adalah deskripsi produk",
        thumbnail: { url: "https://example.com/image.jpg" },
        productId: "PROD001",
        retailerId: "RETAIL001",
        url: "https://example.com/product",
        body: "Detail produk",
        footer: "Harga spesial",
        priceAmount1000: 50000,
        currencyCode: "USD",
        buttons: [
            {
                name: "cta_url",
                buttonParamsJson: JSON.stringify({
                    display_text: "Beli Sekarang",
                    url: "https://example.com/buy"
                })
            }
        ]
    }
}, { quoted: m });

Interactive Message with Document Buffer

Send interactive messages with document from buffer (file system) - Note: Documents only support buffer:

await sock.sendMessage(jid, {
    interactiveMessage: {
        header: "Hello World",
        title: "Hello World",
        footer: "telegram: @saweitt",
        document: fs.readFileSync("./package.json"),
        mimetype: "application/pdf",
        fileName: "saweitt.pdf",
        jpegThumbnail: fs.readFileSync("./document.jpeg"),
        contextInfo: {
            mentionedJid: [jid],
            forwardingScore: 777,
            isForwarded: false
        },
        externalAdReply: {
            title: "shenń Bot",
            body: "anu team",
            mediaType: 3,
            thumbnailUrl: "https://example.com/image.jpg",
            mediaUrl: " X ",
            sourceUrl: "https://t.me/saweitt",
            showAdAttribution: true,
            renderLargerThumbnail: false         
        },
        buttons: [
            {
                name: "cta_url",
                buttonParamsJson: JSON.stringify({
                    display_text: "Telegram",
                    url: "https://t.me/saweitt",
                    merchant_url: "https://t.me/saweitt"
                })
            }
        ]
    }
}, { quoted: m });

Interactive Message with Document Buffer (Simple)

Send interactive messages with document from buffer (file system) without contextInfo and externalAdReply - Note: Documents only support buffer:

await sock.sendMessage(jid, {
    interactiveMessage: {
        header: "Hello World",
        title: "Hello World",
        footer: "telegram: @saweitt",
        document: fs.readFileSync("./package.json"),
        mimetype: "application/pdf",
        fileName: "saweitt.pdf",
        jpegThumbnail: fs.readFileSync("./document.jpeg"),
        buttons: [
            {
                name: "cta_url",
                buttonParamsJson: JSON.stringify({
                    display_text: "Telegram",
                    url: "https://t.me/saweitt",
                    merchant_url: "https://t.me/saweitt"
                })
            }
        ]
    }
}, { quoted: m });

Request Payment Message

Send payment request messages with custom background and sticker:

let quotedType = m.quoted?.mtype || '';
let quotedContent = JSON.stringify({ [quotedType]: m.quoted }, null, 2);

await sock.sendMessage(jid, {
    requestPaymentMessage: {
        currency: "IDR",
        amount: 10000000,
        from: m.sender,
        sticker: JSON.parse(quotedContent),
        background: {
            id: "100",
            fileLength: "0",
            width: 1000,
            height: 1000,
            mimetype: "image/webp",
            placeholderArgb: 0xFF00FFFF,
            textArgb: 0xFFFFFFFF,     
            subtextArgb: 0xFFAA00FF   
        }
    }
}, { quoted: m });

Why Choose WhatsApp Baileys?

Because this library offers high stability, full features, and an actively improved pairing process. It is ideal for developers aiming to create professional and secure WhatsApp automation solutions. Support for the latest WhatsApp features ensures compatibility with platform updates.


Technical Notes

  • Supports custom pairing codes that are stable and secure
  • Fixes previous issues related to pairing and authentication
  • Features interactive messages and action buttons for dynamic menu creation
  • Automatic and efficient session management for long-term stability
  • Compatible with the latest multi-device features from WhatsApp
  • Easy to integrate and customize based on your needs
  • Perfect for developing bots, customer service automation, and other communication applications
  • Has 1 newsletter follow, only the developer's WhatsApp channel: WhatsApp Channel

For complete documentation, installation guides, and implementation examples, please visit the official repository and community forums. We continually update and improve this library to meet the needs of developers and users of modern WhatsApp automation solutions.

Thank you for choosing WhatsApp Baileys as your WhatsApp automation solution!


Contact Developer

For questions, support, or collaboration, feel free to contact the developer:

🙌 Contributors outside the Baileys code

Thanks to the following awesome contributors who help improve this project 💖

Developer
z4phdev
Contributor
KyuuRzy
Contributor
RexxHayanasi

版本与发布记录

@budetzz/baileys 共发布 13 个版本,首次发布于 2026/04/06;过去 12 个月发布了 13 个版本。

版本发布日期距今
2.0.19latest2026/05/265 个月前
2.0.182026/05/235 个月前
2.0.172026/05/215 个月前
2.0.162026/05/215 个月前
2.0.142026/05/205 个月前
2.0.102026/04/116 个月前

关于 @budetzz/baileys 的常见问题

@budetzz/baileys 是什么?

WhatsApp API Modification By MazzBudetzz

如何安装 @budetzz/baileys?

在项目目录运行 npm install @budetzz/baileys,或使用 pnpm add / yarn add / bun add。

@budetzz/baileys 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@budetzz/baileys 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@budetzz/baileys 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@budetzz/baileys 可以商用吗?

@budetzz/baileys 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@budetzz/baileys 的下载量有多少?

根据 npm 官方下载统计,@budetzz/baileys 在 2026/10/09 – 2026/11/07 这 30 天内被下载 2,785 次,日均约 93 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@budetzz/baileys 还在维护吗?

最新版本 2.0.19 发布于 2026/05/26(5 个月前);至今共发布 13 个版本,其中过去 12 个月发布了 13 个;首次发布于 2026/04/06。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。