{"id":28715180,"url":"https://github.com/owensdev1/baileys","last_synced_at":"2025-08-18T11:05:45.790Z","repository":{"id":293595113,"uuid":"984549789","full_name":"owensdev1/baileys","owner":"owensdev1","description":"Lightweight full-featured typescript/javascript WhatsApp Web API","archived":false,"fork":false,"pushed_at":"2025-08-12T03:00:32.000Z","size":1065,"stargazers_count":3,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-12T04:20:15.075Z","etag":null,"topics":["baileys","baileys-api","baileys-bot","baileys-md","bot","modification","whatsapp","whatsapp-api","whatsapp-bot"],"latest_commit_sha":null,"homepage":"https://latribu.ci/ows/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/owensdev1.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-16T05:45:15.000Z","updated_at":"2025-08-12T03:00:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"8311aa30-b874-4b2d-ab51-d83cdd445dcd","html_url":"https://github.com/owensdev1/baileys","commit_stats":null,"previous_names":["owensdev1/baileys"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/owensdev1/baileys","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owensdev1%2Fbaileys","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owensdev1%2Fbaileys/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owensdev1%2Fbaileys/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owensdev1%2Fbaileys/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/owensdev1","download_url":"https://codeload.github.com/owensdev1/baileys/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owensdev1%2Fbaileys/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270982194,"owners_count":24679447,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-18T02:00:08.743Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["baileys","baileys-api","baileys-bot","baileys-md","bot","modification","whatsapp","whatsapp-api","whatsapp-bot"],"created_at":"2025-06-15T02:01:01.862Z","updated_at":"2025-08-18T11:05:45.767Z","avatar_url":"https://github.com/owensdev1.png","language":"JavaScript","readme":"# 🚀 WhatsApp Web API\n\n\u003cdiv align=\"center\"\u003e\n\n![WhatsApp API Banner](https://camo.githubusercontent.com/8c1cc888a216088f8515ca5eb0dc7131bb190d6059af8d02c4616e39b6639114/68747470733a2f2f69696c692e696f2f325a706a746c702e6a7067)\n\n[![npm version](https://img.shields.io/npm/v/@owensdev1/baileys?style=for-the-badge\u0026color=00d26a\u0026logo=npm\u0026logoColor=white)](https://www.npmjs.com/package/@owensdev1/baileys)\n[![Downloads](https://img.shields.io/npm/dm/@owensdev1/baileys?style=for-the-badge\u0026color=4285f4\u0026logo=download\u0026logoColor=white)](https://www.npmjs.com/package/@owensdev1/baileys)\n[![GitHub stars](https://img.shields.io/github/stars/owensdev1/baileys?style=for-the-badge\u0026color=ffb400\u0026logo=github\u0026logoColor=white)](https://github.com/owensdev1/baileys/stargazers)\n[![License](https://img.shields.io/badge/License-GPL%20v3-e74c3c?style=for-the-badge\u0026logo=gnu\u0026logoColor=white)](https://www.gnu.org/licenses/gpl-3.0)\n\n**A powerful WebSockets-based TypeScript library for interacting with the WhatsApp Web API**\n\n[📖 Documentation](#-table-of-contents) • [🚀 Quick Start](#-quick-start) • [💬 Support](#-support) • [🤝 Contributing](#-contributing)\n\n\u003c/div\u003e\n\n---\n\n## ⚠️ Important Disclaimer\n\n\u003e [!WARNING]\n\u003e This project is **not affiliated** with WhatsApp Inc. Use responsibly and comply with WhatsApp's Terms of Service. \n\u003e \n\u003e **We strongly discourage:**\n\u003e - Spam messaging\n\u003e - Bulk messaging\n\u003e - Stalkerware usage\n\u003e - Any automated abuse\n\n---\n\n## ✨ Features\n\n\u003cdiv align=\"center\"\u003e\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\" width=\"200px\"\u003e\n\n### 🔐 Multi-Device\n**Connect as secondary device**\n\nAdvanced multi-device support with seamless synchronization across platforms\n\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"200px\"\u003e\n\n### 📱 QR \u0026 Pairing\n**Multiple connection methods**\n\nSupport for both QR code scanning and pairing code authentication\n\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"200px\"\u003e\n\n### 🎨 Rich Messages\n**Buttons, polls, media, etc.**\n\nInteractive messages with buttons, polls, location sharing, and media attachments\n\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"200px\"\u003e\n\n### 🔄 Real-time Events\n**Live message updates**\n\nWebSocket-based real-time messaging with instant delivery notifications\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\" width=\"200px\"\u003e\n\n### 👥 Group Management\n**Full admin capabilities**\n\nComplete group administration including member management and settings control\n\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"200px\"\u003e\n\n### 🔒 Privacy Controls\n**Block, privacy settings**\n\nComprehensive privacy management and user blocking functionality\n\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"200px\"\u003e\n\n### 📊 Message History\n**Fetch chat history**\n\nAccess and manage complete conversation history with powerful search capabilities\n\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"200px\"\u003e\n\n### 🎯 Custom Functions\n**Extensible architecture**\n\nHighly customizable with plugin support and custom event handlers\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c/div\u003e\n\n---\n\n## 🚀 Quick Start\n\n### 📦 Installation\n\n\u003cdiv align=\"center\"\u003e\n\n```bash\n# 📦 Using npm (stable version) **not available**\nnpm install @owensdev1/baileys\n\n# 🧶 Using yarn (edge version)\nyarn add @owensdev1/baileys\n```\n\n\u003c/div\u003e\n\n### 🔌 Basic Usage\n\n```javascript\nconst { default: makeWASocket, DisconnectReason, useMultiFileAuthState } = require(\"@owensdev1/baileys\");\nconst { Boom } = require('@hapi/boom');\n\nasync function connectToWhatsApp() {\n    const { state, saveCreds } = await useMultiFileAuthState('auth_info_baileys');\n    \n    const sock = makeWASocket({\n        auth: state,\n        printQRInTerminal: true\n    });\n\n    sock.ev.on('connection.update', (update) =\u003e {\n        const { connection, lastDisconnect } = update;\n        \n        if(connection === 'close') {\n            const shouldReconnect = (lastDisconnect.error as Boom)?.output?.statusCode !== DisconnectReason.loggedOut;\n            console.log('Connection closed, reconnecting...', shouldReconnect);\n            \n            if(shouldReconnect) {\n                connectToWhatsApp();\n            }\n        } else if(connection === 'open') {\n            console.log('✅ Connected to WhatsApp!');\n        }\n    });\n\n    sock.ev.on('messages.upsert', async (m) =\u003e {\n        console.log('📩 New message:', JSON.stringify(m, undefined, 2));\n        \n        // Echo received messages\n        const msg = m.messages[0];\n        if (!msg.key.fromMe \u0026\u0026 msg.message) {\n            await sock.sendMessage(msg.key.remoteJid, { text: 'Hello! 👋' });\n        }\n    });\n\n    sock.ev.on('creds.update', saveCreds);\n}\n\nconnectToWhatsApp();\n```\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n## 📚 Table of Contents\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\" width=\"33%\"\u003e\n\n### 🏗️ Setup \u0026 Connection\n- [🔌 Connecting Account](#connecting-account)\n- [📱 QR Code Connection](#starting-socket-with-qr-code)\n- [🔢 Pairing Code Connection](#starting-socket-with-pairing-code)\n- [📜 Receive Full History](#receive-full-history)\n- [⚙️ Socket Configuration](#important-notes-about-socket-config)\n- [💾 Save Auth Info](#saving--restoring-sessions)\n\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"33%\"\u003e\n\n### 📨 Messaging\n- [📤 Sending Messages](#sending-messages)\n- [📝 Text Messages](#text-message)\n- [🔘 Button Messages](#buttons-message)\n- [🎯 Interactive Messages](#interactive-message)\n- [📋 Poll Messages](#poll-message)\n- [📍 Location Messages](#location-message)\n- [👤 Contact Messages](#contact-message)\n- [🎬 Media Messages](#media-messages)\n- [✏️ Modify Messages](#modify-messages)\n\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"33%\"\u003e\n\n### 🔧 Advanced Features\n- [👥 Groups Management](#groups)\n- [🔒 Privacy Settings](#privacy)\n- [📢 Broadcast \u0026 Stories](#broadcast-lists--stories)\n- [📊 Data Store Implementation](#implementing-a-data-store)\n- [🎯 Custom Functionality](#writing-custom-functionality)\n- [🐛 Debug Mode](#enabling-debug-level-in-baileys-logs)\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c/div\u003e\n\n---\n\n## 🔌 Connecting Account\n\n### 📱 Starting socket with **QR-CODE**\n\n\u003cdiv align=\"center\"\u003e\n\n\u003e [!TIP]\n\u003e **Pro Tip:** Customize browser name using the `Browser` constant. See [available browsers](https://baileys.whiskeysockets.io/types/BrowsersMap.html).\n\n\u003c/div\u003e\n\n```javascript\nconst { default: makeWASocket, Browsers } = require(\"@owensdev1/baileys\");\n\nconst sock = makeWASocket({\n    browser: Browsers.ubuntu('My App'),\n    printQRInTerminal: true\n});\n```\n\n### 🔢 Starting socket with **Pairing Code**\n\n\u003cdiv align=\"center\"\u003e\n\n\u003e [!IMPORTANT]\n\u003e **Pairing Code connects WhatsApp Web without QR-CODE.**  \n\u003e Phone number format: country code + number (no +, (), or -)\n\n\u003c/div\u003e\n\n```javascript\nconst sock = makeWASocket({\n    printQRInTerminal: false // Must be false for pairing code\n});\n\n// Standard pairing\nif (!sock.authState.creds.registered) {\n    const number = '1234567890'; // Your phone number\n    const code = await sock.requestPairingCode(number);\n    console.log('🔑 Pairing Code:', code);\n}\n\n// Custom pairing (8 digits/letters)\nif (!sock.authState.creds.registered) {\n    const customPair = \"12345678\";\n    const number = '1234567890';\n    const code = await sock.requestPairingCode(number, customPair);\n    console.log('🔑 Custom Pairing Code:', code);\n}\n```\n\n---\n\n## 💾 Saving \u0026 Restoring Sessions\n\n\u003cdiv align=\"center\"\u003e\n\n**🎯 Never scan QR codes again! Save your session:**\n\n\u003c/div\u003e\n\n```javascript\nconst { useMultiFileAuthState } = require(\"@owensdev1/baileys\");\n\nconst { state, saveCreds } = await useMultiFileAuthState('auth_info_baileys');\n\nconst sock = makeWASocket({ auth: state });\n\n// Auto-save credentials when they update\nsock.ev.on('creds.update', saveCreds);\n```\n\n\u003cdiv align=\"center\"\u003e\n\n\u003e [!WARNING]\n\u003e **Critical:** Always save auth keys when they update (`authState.keys.set()` is called) to ensure message delivery!\n\n\u003c/div\u003e\n\n---\n\n## 📤 Sending Messages\n\n\u003cdiv align=\"center\"\u003e\n\n### 🎨 Message Types Gallery\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\" width=\"25%\"\u003e\n\n**📝 Text**\nSimple text messages\n\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"25%\"\u003e\n\n**🔘 Buttons**\nInteractive buttons\n\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"25%\"\u003e\n\n**📋 Polls**\nSurvey \u0026 voting\n\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"25%\"\u003e\n\n**🎬 Media**\nImages, videos, audio\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c/div\u003e\n\n### 📝 Text Message\n```javascript\nawait sock.sendMessage(jid, { text: 'Hello World! 🌍' });\n```\n\n### 🔘 Button Message\n```javascript\nawait sock.sendMessage(jid, {\n    text: \"Choose an option:\",\n    footer: \"© 2025 Your Bot\",\n    buttons: [\n        {\n            buttonId: 'btn1',\n            buttonText: { displayText: '✅ Option 1' },\n            type: 1\n        },\n        {\n            buttonId: 'btn2',\n            buttonText: { displayText: '❌ Option 2' },\n            type: 1\n        }\n    ],\n    headerType: 1\n});\n```\n\n### 🎯 Interactive Message with Flow\n```javascript\nawait sock.sendMessage(jid, {\n    text: \"Interactive Menu\",\n    footer: \"© 2025 Bot\",\n    buttons: [\n        {\n            buttonId: 'menu',\n            buttonText: { displayText: '📋 Show Menu' },\n            type: 4,\n            nativeFlowInfo: {\n                name: 'single_select',\n                paramsJson: JSON.stringify({\n                    title: 'Select Option',\n                    sections: [{\n                        title: 'Available Options',\n                        highlight_label: '⭐',\n                        rows: [\n                            {\n                                header: 'OPTION 1',\n                                title: 'First Choice',\n                                description: 'Description for option 1',\n                                id: 'opt1'\n                            },\n                            {\n                                header: 'OPTION 2', \n                                title: 'Second Choice',\n                                description: 'Description for option 2',\n                                id: 'opt2'\n                            }\n                        ]\n                    }]\n                })\n            }\n        }\n    ]\n});\n```\n\n### 📋 Poll Message\n```javascript\nawait sock.sendMessage(jid, {\n    poll: {\n        name: 'What\\'s your favorite color? 🎨',\n        values: ['🔴 Red', '🔵 Blue', '🟢 Green', '🟡 Yellow'],\n        selectableCount: 1\n    }\n});\n```\n\n\u003cdiv align=\"center\"\u003e\n\n### 🎬 Media Messages\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\" width=\"33%\"\u003e\n\n**🖼️ Images**\nJPG, PNG, WebP support\n\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"33%\"\u003e\n\n**🎥 Videos**\nMP4, AVI with captions\n\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"33%\"\u003e\n\n**🎵 Audio**\nVoice notes \u0026 music\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c/div\u003e\n\n### 🖼️ Image Message\n```javascript\nawait sock.sendMessage(jid, {\n    image: { url: './path/to/image.jpg' },\n    caption: 'Beautiful image! 📸'\n});\n```\n\n### 🎥 Video Message\n```javascript\nawait sock.sendMessage(jid, {\n    video: { url: './path/to/video.mp4' },\n    caption: 'Check this out! 🎬',\n    ptv: false // Set to true for video note\n});\n```\n\n### 🎵 Audio Message\n```javascript\nawait sock.sendMessage(jid, {\n    audio: { url: './path/to/audio.mp3' },\n    mimetype: 'audio/mp4'\n});\n```\n\n---\n\n## 📊 Implementing a Data Store\n\n\u003cdiv align=\"center\"\u003e\n\n\u003e [!IMPORTANT]\n\u003e **Production Ready:** Build your own data store for production. The in-memory store is just for testing!\n\n\u003c/div\u003e\n\n```javascript\nconst { makeInMemoryStore } = require(\"@owensdev1/baileys\");\n\nconst store = makeInMemoryStore({});\n\n// Load from file\nstore.readFromFile('./baileys_store.json');\n\n// Auto-save every 10 seconds\nsetInterval(() =\u003e {\n    store.writeToFile('./baileys_store.json');\n}, 10_000);\n\n// Bind to socket\nconst sock = makeWASocket({});\nstore.bind(sock.ev);\n\n// Access stored data\nsock.ev.on('chats.upsert', () =\u003e {\n    console.log('💬 Chats:', store.chats.all());\n});\n```\n\n---\n\n## 👥 Groups\n\n\u003cdiv align=\"center\"\u003e\n\n### 🎯 Group Management Features\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\" width=\"25%\"\u003e\n\n**🆕 Create**  \nNew groups\n\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"25%\"\u003e\n\n**👤 Members**  \nAdd/Remove users\n\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"25%\"\u003e\n\n**⚙️ Settings**  \nName, description\n\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"25%\"\u003e\n\n**🛡️ Admin**  \nPromote/Demote\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c/div\u003e\n\n### 🆕 Create a Group\n```javascript\nconst group = await sock.groupCreate('🎉 My Awesome Group', [\n    '1234567890@s.whatsapp.net',\n    '0987654321@s.whatsapp.net'\n]);\n\nconsole.log('✅ Group created:', group.id);\nawait sock.sendMessage(group.id, { text: 'Welcome everyone! 👋' });\n```\n\n### 👤 Add/Remove Participants\n```javascript\nawait sock.groupParticipantsUpdate(\n    groupJid,\n    ['1234567890@s.whatsapp.net'],\n    'add' // 'remove', 'promote', 'demote'\n);\n```\n\n### ⚙️ Change Group Settings\n```javascript\n// Update group name\nawait sock.groupUpdateSubject(groupJid, '🚀 New Group Name');\n\n// Update description\nawait sock.groupUpdateDescription(groupJid, '📝 New group description');\n\n// Admin-only messages\nawait sock.groupSettingUpdate(groupJid, 'announcement');\n\n// Everyone can send messages\nawait sock.groupSettingUpdate(groupJid, 'not_announcement');\n```\n\n---\n\n## 🔒 Privacy\n\n\u003cdiv align=\"center\"\u003e\n\n### 🛡️ Privacy Controls\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\" width=\"50%\"\u003e\n\n**🚫 Block Management**  \nBlock/Unblock users\n\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"50%\"\u003e\n\n**⚙️ Privacy Settings**  \nVisibility controls\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c/div\u003e\n\n### 🚫 Block/Unblock Users\n```javascript\n// Block user\nawait sock.updateBlockStatus(jid, 'block');\n\n// Unblock user  \nawait sock.updateBlockStatus(jid, 'unblock');\n```\n\n### ⚙️ Privacy Settings\n```javascript\n// Update various privacy settings\nawait sock.updateLastSeenPrivacy('contacts'); // 'all', 'contacts', 'none'\nawait sock.updateOnlinePrivacy('all'); // 'all', 'match_last_seen'\nawait sock.updateProfilePicturePrivacy('contacts');\nawait sock.updateStatusPrivacy('contacts');\nawait sock.updateReadReceiptsPrivacy('all'); // 'all', 'none'\n```\n\n---\n\n## 🐛 Debugging\n\n\u003cdiv align=\"center\"\u003e\n\n**🔍 Enable debug mode to see all WhatsApp communications:**\n\n\u003c/div\u003e\n\n```javascript\nconst sock = makeWASocket({\n    logger: P({ level: 'debug' }),\n});\n```\n\n### 🎯 Custom Event Handlers\n```javascript\n// Listen for specific WebSocket events\nsock.ws.on('CB:edge_routing', (node) =\u003e {\n    console.log('📡 Edge routing message:', node);\n});\n\n// Listen with specific attributes\nsock.ws.on('CB:edge_routing,id:abcd', (node) =\u003e {\n    console.log('🎯 Specific edge routing message:', node);\n});\n```\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n## 💬 Support\n\n### 🆘 Need Help?\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\" width=\"33%\"\u003e\n\n### 📞 Direct Contact\n**6285358977442**  \nWhatsApp Support\n\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"33%\"\u003e\n\n### 💬 Community\n**WhatsApp Group**  \nJoin our community\n\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"33%\"\u003e\n\n### 🐛 Bug Reports\n**GitHub Issues**  \n[Report Issues](https://github.com/owensdev1/baileys/issues)\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c/div\u003e\n\n---\n\n## 🤝 Contributing\n\n\u003cdiv align=\"center\"\u003e\n\n**We welcome contributions! Here's how you can help:**\n\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n```mermaid\ngraph LR\n    A[🍴 Fork] --\u003e B[🌟 Branch] \n    B --\u003e C[💻 Code] \n    C --\u003e D[📤 Push] \n    D --\u003e E[🔄 PR]\n    \n    style A fill:#e1f5fe\n    style B fill:#f3e5f5\n    style C fill:#e8f5e8\n    style D fill:#fff3e0\n    style E fill:#fce4ec\n```\n\n\u003c/div\u003e\n\n1. **🍴 Fork** the repository\n2. **🌟 Create** your feature branch (`git checkout -b feature/AmazingFeature`)\n3. **💻 Commit** your changes (`git commit -m 'Add some AmazingFeature'`)\n4. **📤 Push** to the branch (`git push origin feature/AmazingFeature`)\n5. **🔄 Open** a Pull Request\n\n---\n\n## 📄 License\n\n\u003cdiv align=\"center\"\u003e\n\nThis project is licensed under the **GPL v3 License** - see the [LICENSE](LICENSE) file for details.\n\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg?style=for-the-badge\u0026logo=gnu\u0026logoColor=white)](https://www.gnu.org/licenses/gpl-3.0)\n\n\u003c/div\u003e\n\n---\n\n## 🙏 Acknowledgments\n\n\u003cdiv align=\"center\"\u003e\n\n**Special thanks to our amazing team and contributors who made this project possible:**\n\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\" width=\"25%\"\u003e\n\n### 👑 Owens\n**Project Owner**  \n*Lead Developer*\n\n[![GitHub](https://img.shields.io/badge/GitHub-100000?style=for-the-badge\u0026logo=github\u0026logoColor=white)](https://github.com/owensdev1)\n\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"25%\"\u003e\n\n### 🛠️ KyzRyzz\n**Technical Support**  \n*Community Management*\n\n[![Support](https://img.shields.io/badge/Support-FF6B6B?style=for-the-badge\u0026logo=handshake\u0026logoColor=white)](#)\n\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"25%\"\u003e\n\n### 🧪 Yousoo\n**Development Support**  \n*Testing \u0026 QA*\n\n[![Testing](https://img.shields.io/badge/Testing-4ECDC4?style=for-the-badge\u0026logo=checkmark\u0026logoColor=white)](#)\n\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"25%\"\u003e\n\n### 💻 Valzy\n**Development**  \n*Base Source*\n\n[![Development](https://img.shields.io/badge/Development-45B7D1?style=for-the-badge\u0026logo=code\u0026logoColor=white)](#)\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c/div\u003e\n\n### 🔧 Technical Credits\n- Built with ❤️ using [libsignal-node](https://git.questbook.io/backend/service-coderunner/-/merge_requests/1)\n- Special thanks to the WhatsApp Web reverse engineering community\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n### ⭐ Star this repo if it helped you!\n\n[![GitHub stars](https://img.shields.io/github/stars/owensdev1/baileys?style=social)](https://github.com/owensdev1/baileys/stargazers)\n[![GitHub forks](https://img.shields.io/github/forks/owensdev1/baileys?style=social)](https://github.com/owensdev1/baileys/network)\n[![GitHub watchers](https://img.shields.io/github/watchers/owensdev1/baileys?style=social)](https://github.com/owensdev1/baileys/watchers)\n\n---\n\n### 📊 Project Stats\n\n![GitHub repo size](https://img.shields.io/github/repo-size/owensdev1/baileys?style=for-the-badge\u0026color=orange)\n![GitHub language count](https://img.shields.io/github/languages/count/owensdev1/baileys?style=for-the-badge\u0026color=purple)\n![GitHub top language](https://img.shields.io/github/languages/top/owensdev1/baileys?style=for-the-badge\u0026color=red)\n\n---\n\n**Made with 💻 and ☕ by the community**\n\n*© 2025 Baileys WhatsApp API - Building the future of WhatsApp automation*\n\n\u003c/div\u003e","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fowensdev1%2Fbaileys","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fowensdev1%2Fbaileys","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fowensdev1%2Fbaileys/lists"}