@monze1239/baileys 0.0.0-stage โ 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +477 -2
- package/WAProto/GenerateStatics.sh +3 -0
- package/WAProto/WAProto.proto +6754 -0
- package/WAProto/fix-imports.js +85 -0
- package/WAProto/index.d.ts +79257 -0
- package/WAProto/index.js +242946 -0
- package/engine-requirements.js +10 -0
- package/lib/Defaults/index.js +131 -0
- package/lib/Signal/Group/ciphertext-message.js +12 -0
- package/lib/Signal/Group/group-session-builder.js +30 -0
- package/lib/Signal/Group/group_cipher.js +82 -0
- package/lib/Signal/Group/index.js +12 -0
- package/lib/Signal/Group/keyhelper.js +18 -0
- package/lib/Signal/Group/sender-chain-key.js +26 -0
- package/lib/Signal/Group/sender-key-distribution-message.js +63 -0
- package/lib/Signal/Group/sender-key-message.js +66 -0
- package/lib/Signal/Group/sender-key-name.js +48 -0
- package/lib/Signal/Group/sender-key-record.js +41 -0
- package/lib/Signal/Group/sender-key-state.js +84 -0
- package/lib/Signal/Group/sender-message-key.js +26 -0
- package/lib/Signal/libsignal.js +431 -0
- package/lib/Signal/lid-mapping.js +277 -0
- package/lib/Socket/Client/index.js +3 -0
- package/lib/Socket/Client/types.js +11 -0
- package/lib/Socket/Client/websocket.js +54 -0
- package/lib/Socket/MessageBuilder.js +3729 -0
- package/lib/Socket/business.js +379 -0
- package/lib/Socket/chats.js +1198 -0
- package/lib/Socket/communities.js +431 -0
- package/lib/Socket/graphql.js +716 -0
- package/lib/Socket/groups.js +374 -0
- package/lib/Socket/index.js +29 -0
- package/lib/Socket/interop.js +463 -0
- package/lib/Socket/luxu.js +387 -0
- package/lib/Socket/message-builder.js +556 -0
- package/lib/Socket/messages-recv.js +1916 -0
- package/lib/Socket/messages-send.js +1516 -0
- package/lib/Socket/mex.js +54 -0
- package/lib/Socket/newsletter.js +641 -0
- package/lib/Socket/privacy.js +318 -0
- package/lib/Socket/socket.js +1115 -0
- package/lib/Socket/username.js +236 -0
- package/lib/Store/index.js +10 -0
- package/lib/Store/keyed-db.js +108 -0
- package/lib/Store/make-cache-manager-store.js +85 -0
- package/lib/Store/make-in-memory-store.js +244 -0
- package/lib/Store/make-ordered-dictionary.js +75 -0
- package/lib/Store/object-repository.js +32 -0
- package/lib/Types/Auth.js +2 -0
- package/lib/Types/Bussines.js +2 -0
- package/lib/Types/Call.js +2 -0
- package/lib/Types/Chat.js +8 -0
- package/lib/Types/Contact.js +2 -0
- package/lib/Types/Events.js +2 -0
- package/lib/Types/GroupMetadata.js +2 -0
- package/lib/Types/Label.js +25 -0
- package/lib/Types/LabelAssociation.js +7 -0
- package/lib/Types/Message.js +11 -0
- package/lib/Types/Mex.js +111 -0
- package/lib/Types/Product.js +2 -0
- package/lib/Types/Signal.js +2 -0
- package/lib/Types/Socket.js +3 -0
- package/lib/Types/State.js +56 -0
- package/lib/Types/USync.js +2 -0
- package/lib/Types/index.js +26 -0
- package/lib/Utils/auth-utils.js +302 -0
- package/lib/Utils/browser-utils.js +48 -0
- package/lib/Utils/business.js +231 -0
- package/lib/Utils/chat-utils.js +872 -0
- package/lib/Utils/companion-reg-client-utils.js +35 -0
- package/lib/Utils/crypto.js +118 -0
- package/lib/Utils/decode-wa-message.js +350 -0
- package/lib/Utils/event-buffer.js +622 -0
- package/lib/Utils/generics.js +403 -0
- package/lib/Utils/history.js +134 -0
- package/lib/Utils/identity-change-handler.js +50 -0
- package/lib/Utils/index.js +24 -0
- package/lib/Utils/link-preview.js +85 -0
- package/lib/Utils/logger.js +3 -0
- package/lib/Utils/lt-hash.js +8 -0
- package/lib/Utils/make-mutex.js +33 -0
- package/lib/Utils/message-composer.js +273 -0
- package/lib/Utils/message-retry-manager.js +265 -0
- package/lib/Utils/messages-media.js +870 -0
- package/lib/Utils/messages.js +1394 -0
- package/lib/Utils/noise-handler.js +201 -0
- package/lib/Utils/offline-node-processor.js +40 -0
- package/lib/Utils/pre-key-manager.js +106 -0
- package/lib/Utils/process-message.js +630 -0
- package/lib/Utils/reporting-utils.js +258 -0
- package/lib/Utils/signal.js +201 -0
- package/lib/Utils/stanza-ack.js +38 -0
- package/lib/Utils/sticker.js +133 -0
- package/lib/Utils/sync-action-utils.js +49 -0
- package/lib/Utils/tc-token-utils.js +163 -0
- package/lib/Utils/use-multi-file-auth-state.js +121 -0
- package/lib/Utils/use-sqlite-auth-state.js +162 -0
- package/lib/Utils/validate-connection.js +203 -0
- package/lib/WABinary/constants.js +1301 -0
- package/lib/WABinary/decode.js +262 -0
- package/lib/WABinary/encode.js +220 -0
- package/lib/WABinary/generic-utils.js +204 -0
- package/lib/WABinary/index.js +6 -0
- package/lib/WABinary/jid-utils.js +98 -0
- package/lib/WABinary/types.js +2 -0
- package/lib/WAM/BinaryInfo.js +10 -0
- package/lib/WAM/constants.js +22853 -0
- package/lib/WAM/encode.js +150 -0
- package/lib/WAM/index.js +4 -0
- package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js +53 -0
- package/lib/WAUSync/Protocols/USyncBusinessProtocol.js +43 -0
- package/lib/WAUSync/Protocols/USyncContactProtocol.js +54 -0
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +57 -0
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +30 -0
- package/lib/WAUSync/Protocols/USyncFeatureProtocol.js +58 -0
- package/lib/WAUSync/Protocols/USyncLIDProtocol.js +30 -0
- package/lib/WAUSync/Protocols/USyncPictureProtocol.js +32 -0
- package/lib/WAUSync/Protocols/USyncSidelistProtocol.js +28 -0
- package/lib/WAUSync/Protocols/USyncStatusProtocol.js +39 -0
- package/lib/WAUSync/Protocols/USyncTextStatusProtocol.js +38 -0
- package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +27 -0
- package/lib/WAUSync/Protocols/index.js +12 -0
- package/lib/WAUSync/USyncQuery.js +151 -0
- package/lib/WAUSync/USyncUser.js +56 -0
- package/lib/WAUSync/index.js +3 -0
- package/lib/index.js +31 -0
- package/package.json +136 -5
package/README.md
CHANGED
|
@@ -1,3 +1,478 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="https://img.shields.io/badge/Xenon-Baileys-blueviolet?style=for-the-badge" alt="Xenon Baileys"/>
|
|
3
|
+
</p>
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
<h1 align="center">๐ Xenon Baileys</h1>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<strong>Lightning-fast, rock-solid WhatsApp automation library</strong>
|
|
9
|
+
<br/>
|
|
10
|
+
Build powerful WhatsApp bots & integrations with WebSocketโzero browser overhead
|
|
11
|
+
</p>
|
|
12
|
+
|
|
13
|
+
<p align="center">
|
|
14
|
+
<img src="https://img.shields.io/badge/node-%3E%3D20-brightgreen?style=flat-square" alt="Node 20+"/>
|
|
15
|
+
<img src="https://img.shields.io/badge/license-MIT-blue?style=flat-square" alt="MIT License"/>
|
|
16
|
+
<img src="https://img.shields.io/badge/multi--device-โ-success?style=flat-square" alt="Multi-device Support"/>
|
|
17
|
+
<img src="https://img.shields.io/badge/websocket-native-orange?style=flat-square" alt="WebSocket Native"/>
|
|
18
|
+
</p>
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## โจ Quick Overview
|
|
23
|
+
|
|
24
|
+
Xenon Baileys is a **high-performance** TypeScript/JavaScript library for WhatsApp automation. No browser? No problem. We handle WhatsApp's WebSocket protocol so you can focus on building amazing things.
|
|
25
|
+
|
|
26
|
+
**Perfect for:**
|
|
27
|
+
- ๐ค WhatsApp Bots
|
|
28
|
+
- ๐ฌ Customer Service Automation
|
|
29
|
+
- ๐ Business Integrations
|
|
30
|
+
- ๐ฑ Multi-device WhatsApp Tools
|
|
31
|
+
- โก Real-time Message Processing
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## ๐ Table of Contents
|
|
36
|
+
|
|
37
|
+
- [Features](#features)
|
|
38
|
+
- [Installation](#installation)
|
|
39
|
+
- [Quick Start](#quick-start)
|
|
40
|
+
- [QR Code Authentication](#qr-code-authentication)
|
|
41
|
+
- [Pairing Code Authentication](#pairing-code-authentication)
|
|
42
|
+
- [Usage Examples](#usage-examples)
|
|
43
|
+
- [API Overview](#api-overview)
|
|
44
|
+
- [Configuration](#configuration)
|
|
45
|
+
- [Technical Stack](#technical-stack)
|
|
46
|
+
- [Troubleshooting](#troubleshooting)
|
|
47
|
+
- [Contributing](#contributing)
|
|
48
|
+
- [Official Channels](#official-channels)
|
|
49
|
+
- [License](#license)
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## โจ Features
|
|
54
|
+
|
|
55
|
+
### Core Capabilities
|
|
56
|
+
โ
**WebSocket-based** โ Direct WhatsApp connection, no browser required
|
|
57
|
+
โ
**Multi-device** โ Full support for WhatsApp multi-device mode
|
|
58
|
+
โ
**QR & Pairing Code** โ Multiple authentication methods
|
|
59
|
+
โ
**Message Management** โ Send, receive, edit, delete messages seamlessly
|
|
60
|
+
โ
**Group Administration** โ Create, manage, moderate groups
|
|
61
|
+
โ
**Interactive Features** โ Buttons, lists, templates, and more
|
|
62
|
+
โ
**Session Persistence** โ Automatic reconnection & state management
|
|
63
|
+
โ
**High Performance** โ Lightweight & modular architecture
|
|
64
|
+
|
|
65
|
+
### Advanced Features
|
|
66
|
+
- ๐ End-to-end encryption support
|
|
67
|
+
- ๐ Call handling & notifications
|
|
68
|
+
- ๐ฅ Contact & group management
|
|
69
|
+
- ๐พ Built-in session storage
|
|
70
|
+
- ๐ Business account compatibility
|
|
71
|
+
- ๐ฏ Precise message timestamps
|
|
72
|
+
- ๐ Event-driven architecture
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## ๐ฆ Installation
|
|
77
|
+
|
|
78
|
+
### npm
|
|
79
|
+
```bash
|
|
80
|
+
npm install @denzz221/baileys
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### yarn
|
|
84
|
+
```bash
|
|
85
|
+
yarn add @denzz221/baileys
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### pnpm
|
|
89
|
+
```bash
|
|
90
|
+
pnpm add @denzz221/baileys
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Using Package Alias
|
|
94
|
+
If you need compatibility with existing code using `@whiskeysockets/baileys`:
|
|
95
|
+
|
|
96
|
+
```json
|
|
97
|
+
{
|
|
98
|
+
"dependencies": {
|
|
99
|
+
"@whiskeysockets/baileys": "npm:@denzz221/baileys"
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## ๐ Quick Start
|
|
107
|
+
|
|
108
|
+
### QR Code Authentication
|
|
109
|
+
|
|
110
|
+
The simplest way to get started:
|
|
111
|
+
|
|
112
|
+
```javascript
|
|
113
|
+
const {
|
|
114
|
+
default: makeWASocket,
|
|
115
|
+
DisconnectReason,
|
|
116
|
+
useMultiFileAuthState,
|
|
117
|
+
} = require('@denzz221/baileys');
|
|
118
|
+
const { Boom } = require('@hapi/boom');
|
|
119
|
+
|
|
120
|
+
async function connectWhatsApp() {
|
|
121
|
+
const { state, saveCreds } = await useMultiFileAuthState('auth_info_baileys');
|
|
122
|
+
|
|
123
|
+
const sock = makeWASocket({
|
|
124
|
+
auth: state,
|
|
125
|
+
printQRInTerminal: true,
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
sock.ev.on('connection.update', (update) => {
|
|
129
|
+
const { connection, lastDisconnect } = update;
|
|
130
|
+
|
|
131
|
+
if (connection === 'close') {
|
|
132
|
+
const shouldReconnect =
|
|
133
|
+
(lastDisconnect.error instanceof Boom)?.output?.statusCode !==
|
|
134
|
+
DisconnectReason.loggedOut;
|
|
135
|
+
|
|
136
|
+
console.log('Connection closed. Reconnecting:', shouldReconnect);
|
|
137
|
+
if (shouldReconnect) connectWhatsApp();
|
|
138
|
+
} else if (connection === 'open') {
|
|
139
|
+
console.log('โ
Connected!');
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
|
|
143
|
+
sock.ev.on('messages.upsert', async (m) => {
|
|
144
|
+
const msg = m.messages[0];
|
|
145
|
+
|
|
146
|
+
if (!msg.key.fromMe && msg.message?.conversation) {
|
|
147
|
+
console.log('๐จ New message:', msg.message.conversation);
|
|
148
|
+
|
|
149
|
+
// Echo the message back
|
|
150
|
+
await sock.sendMessage(msg.key.remoteJid, {
|
|
151
|
+
text: 'Echo: ' + msg.message.conversation,
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
sock.ev.on('creds.update', saveCreds);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
connectWhatsApp();
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Pairing Code Authentication
|
|
163
|
+
|
|
164
|
+
For headless environments or deployment:
|
|
165
|
+
|
|
166
|
+
```javascript
|
|
167
|
+
const {
|
|
168
|
+
default: makeWASocket,
|
|
169
|
+
fetchLatestWAWebVersion,
|
|
170
|
+
} = require('@denzz221/baileys');
|
|
171
|
+
|
|
172
|
+
async function connectWithPairingCode() {
|
|
173
|
+
const sock = makeWASocket({
|
|
174
|
+
version: await fetchLatestWAWebVersion(),
|
|
175
|
+
printQRInTerminal: false, // Disable QR
|
|
176
|
+
});
|
|
177
|
+
|
|
178
|
+
sock.ev.on('connection.update', async (update) => {
|
|
179
|
+
const { connection } = update;
|
|
180
|
+
|
|
181
|
+
if (connection === 'open') {
|
|
182
|
+
console.log('โ
Connected!');
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
// Request pairing code
|
|
187
|
+
const phoneNumber = '62812345678'; // Your WhatsApp number
|
|
188
|
+
const code = await sock.requestPairingCode(phoneNumber.trim());
|
|
189
|
+
|
|
190
|
+
console.log(`๐ฑ Pairing Code: ${code}`);
|
|
191
|
+
// Share this code with the user to enter in their WhatsApp
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
connectWithPairingCode();
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## ๐ก Usage Examples
|
|
200
|
+
|
|
201
|
+
### Sending Messages
|
|
202
|
+
|
|
203
|
+
```javascript
|
|
204
|
+
// Simple text message
|
|
205
|
+
await sock.sendMessage('628XXXXXXXXX@s.whatsapp.net', {
|
|
206
|
+
text: 'Hello from Xenon Baileys!',
|
|
207
|
+
});
|
|
208
|
+
|
|
209
|
+
// Message with mentions
|
|
210
|
+
await sock.sendMessage(chatId, {
|
|
211
|
+
text: 'Hey @user check this out!',
|
|
212
|
+
mentions: [userJid],
|
|
213
|
+
});
|
|
214
|
+
|
|
215
|
+
// With participant receipt
|
|
216
|
+
await sock.sendMessage(chatId, {
|
|
217
|
+
text: 'Message sent!',
|
|
218
|
+
}, {
|
|
219
|
+
ptcp: true // Enable participant receipts
|
|
220
|
+
});
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### Handling Group Messages
|
|
224
|
+
|
|
225
|
+
```javascript
|
|
226
|
+
sock.ev.on('messages.upsert', async (m) => {
|
|
227
|
+
const msg = m.messages[0];
|
|
228
|
+
|
|
229
|
+
// Check if group message
|
|
230
|
+
if (msg.key.remoteJid.endsWith('@g.us')) {
|
|
231
|
+
console.log(`๐ข Group: ${msg.key.remoteJid}`);
|
|
232
|
+
console.log(`๐ค From: ${msg.key.participant}`);
|
|
233
|
+
|
|
234
|
+
// Auto-respond to group messages
|
|
235
|
+
if (msg.message?.conversation?.includes('!hello')) {
|
|
236
|
+
await sock.sendMessage(msg.key.remoteJid, {
|
|
237
|
+
text: 'Hello everyone! ๐',
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
### Status Updates
|
|
245
|
+
|
|
246
|
+
```javascript
|
|
247
|
+
sock.ev.on('presence.update', (presenceUpdate) => {
|
|
248
|
+
console.log('Presence update:', presenceUpdate);
|
|
249
|
+
// Monitor online/offline status
|
|
250
|
+
});
|
|
251
|
+
|
|
252
|
+
sock.ev.on('chats.update', (chatUpdates) => {
|
|
253
|
+
chatUpdates.forEach(chat => {
|
|
254
|
+
console.log(`Chat updated: ${chat.id}`);
|
|
255
|
+
});
|
|
256
|
+
});
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## ๐ง API Overview
|
|
262
|
+
|
|
263
|
+
### Connection Methods
|
|
264
|
+
|
|
265
|
+
| Method | Returns | Purpose |
|
|
266
|
+
|--------|---------|---------|
|
|
267
|
+
| `makeWASocket(config)` | `WhatsAppSocket` | Create connection |
|
|
268
|
+
| `requestPairingCode(number)` | `string` | Get pairing code |
|
|
269
|
+
| `fetchLatestWAWebVersion()` | `string` | Get latest WA version |
|
|
270
|
+
|
|
271
|
+
### Message API
|
|
272
|
+
|
|
273
|
+
| Method | Usage |
|
|
274
|
+
|--------|-------|
|
|
275
|
+
| `sendMessage(jid, content)` | Send any message type |
|
|
276
|
+
| `editMessage(jid, msgKey, content)` | Edit existing message |
|
|
277
|
+
| `deleteMessage(jid, msgKey)` | Delete message |
|
|
278
|
+
| `forwardMessage(jid, message)` | Forward message |
|
|
279
|
+
|
|
280
|
+
### Events
|
|
281
|
+
|
|
282
|
+
```javascript
|
|
283
|
+
sock.ev.on('connection.update', handler) // Connection status
|
|
284
|
+
sock.ev.on('messages.upsert', handler) // New messages
|
|
285
|
+
sock.ev.on('message.update', handler) // Message updates
|
|
286
|
+
sock.ev.on('presence.update', handler) // User status
|
|
287
|
+
sock.ev.on('groups.upsert', handler) // New groups
|
|
288
|
+
sock.ev.on('chats.update', handler) // Chat updates
|
|
289
|
+
sock.ev.on('contacts.update', handler) // Contact changes
|
|
290
|
+
sock.ev.on('creds.update', handler) // Credentials update
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
## โ๏ธ Configuration
|
|
296
|
+
|
|
297
|
+
### Basic Socket Configuration
|
|
298
|
+
|
|
299
|
+
```javascript
|
|
300
|
+
const sock = makeWASocket({
|
|
301
|
+
// Auth
|
|
302
|
+
auth: authState,
|
|
303
|
+
|
|
304
|
+
// Browser identification
|
|
305
|
+
browser: Browsers.ubuntu('Chrome'),
|
|
306
|
+
|
|
307
|
+
// QR display
|
|
308
|
+
printQRInTerminal: true,
|
|
309
|
+
|
|
310
|
+
// Logging
|
|
311
|
+
logger: P(2), // 0=verbose, 1=info, 2=warning
|
|
312
|
+
|
|
313
|
+
// Connection
|
|
314
|
+
retryRequestDelayMs: 10_000,
|
|
315
|
+
maxRetries: 5,
|
|
316
|
+
|
|
317
|
+
// Message handling
|
|
318
|
+
markOnlineOnConnect: true,
|
|
319
|
+
syncFullHistory: false,
|
|
320
|
+
|
|
321
|
+
// Advanced
|
|
322
|
+
shouldSyncHistoryMessage: () => false,
|
|
323
|
+
shouldIgnoreJid: (jid) => jid.includes('status@broadcast'),
|
|
324
|
+
});
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
### Browser Options
|
|
328
|
+
|
|
329
|
+
```javascript
|
|
330
|
+
const { Browsers } = require('@denzz221/baileys');
|
|
331
|
+
|
|
332
|
+
// Different browser options
|
|
333
|
+
Browsers.ubuntu('Chrome') // Ubuntu + Chrome
|
|
334
|
+
Browsers.ubuntu('Firefox') // Ubuntu + Firefox
|
|
335
|
+
Browsers.ubuntu('Edge') // Ubuntu + Edge
|
|
336
|
+
Browsers.macOS('Safari') // macOS + Safari
|
|
337
|
+
Browsers.windows('Edge') // Windows + Edge
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
## ๐ ๏ธ Technical Stack
|
|
343
|
+
|
|
344
|
+
- **Runtime**: Node.js 20+
|
|
345
|
+
- **Language**: TypeScript/JavaScript
|
|
346
|
+
- **Protocol**: WebSocket (WhatsApp Web Protocol)
|
|
347
|
+
- **Architecture**: Event-driven
|
|
348
|
+
- **Crypto**: End-to-end encryption compatible
|
|
349
|
+
- **Session**: File-based or custom storage
|
|
350
|
+
|
|
351
|
+
### System Requirements
|
|
352
|
+
|
|
353
|
+
- Node.js โฅ 20.0
|
|
354
|
+
- npm/yarn/pnpm
|
|
355
|
+
- 100+ MB available memory
|
|
356
|
+
- Stable internet connection
|
|
357
|
+
- Active WhatsApp account
|
|
358
|
+
|
|
359
|
+
---
|
|
360
|
+
|
|
361
|
+
## ๐ Troubleshooting
|
|
362
|
+
|
|
363
|
+
### Connection Issues
|
|
364
|
+
|
|
365
|
+
**Problem**: Can't connect to WhatsApp
|
|
366
|
+
**Solution**:
|
|
367
|
+
- Clear `auth_info_baileys` folder
|
|
368
|
+
- Check internet connection
|
|
369
|
+
- Try pairing code instead of QR
|
|
370
|
+
- Verify WhatsApp account is active
|
|
371
|
+
|
|
372
|
+
### QR Code Not Showing
|
|
373
|
+
|
|
374
|
+
**Problem**: QR code not printing in terminal
|
|
375
|
+
**Solution**:
|
|
376
|
+
```javascript
|
|
377
|
+
// Enable QR code
|
|
378
|
+
const sock = makeWASocket({
|
|
379
|
+
printQRInTerminal: true,
|
|
380
|
+
qrTimeout: 60000, // Increase timeout
|
|
381
|
+
});
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
### Session Expires
|
|
385
|
+
|
|
386
|
+
**Problem**: "Unauthorized" error after some time
|
|
387
|
+
**Solution**:
|
|
388
|
+
```javascript
|
|
389
|
+
sock.ev.on('creds.update', async (creds) => {
|
|
390
|
+
// Ensure credentials are saved
|
|
391
|
+
await saveCreds();
|
|
392
|
+
});
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
### High CPU Usage
|
|
396
|
+
|
|
397
|
+
**Problem**: Node.js consuming too much CPU
|
|
398
|
+
**Solution**:
|
|
399
|
+
- Disable `syncFullHistory`
|
|
400
|
+
- Reduce event listeners
|
|
401
|
+
- Implement connection pooling
|
|
402
|
+
- Use production log level
|
|
403
|
+
|
|
404
|
+
---
|
|
405
|
+
|
|
406
|
+
## ๐ค Contributing
|
|
407
|
+
|
|
408
|
+
We welcome contributions! Areas we need help with:
|
|
409
|
+
|
|
410
|
+
- ๐ Bug reports & fixes
|
|
411
|
+
- ๐ Documentation improvements
|
|
412
|
+
- โจ New features
|
|
413
|
+
- ๐งช Test coverage
|
|
414
|
+
- ๐ Translation support
|
|
415
|
+
|
|
416
|
+
### Steps to Contribute
|
|
417
|
+
|
|
418
|
+
1. Fork this repository
|
|
419
|
+
2. Create feature branch (`git checkout -b feature/amazing-feature`)
|
|
420
|
+
3. Commit changes (`git commit -m 'Add amazing feature'`)
|
|
421
|
+
4. Push to branch (`git push origin feature/amazing-feature`)
|
|
422
|
+
5. Open Pull Request
|
|
423
|
+
|
|
424
|
+
---
|
|
425
|
+
|
|
426
|
+
## ๐ฑ Official Channels
|
|
427
|
+
|
|
428
|
+
Stay connected with the Xenon community:
|
|
429
|
+
|
|
430
|
+
### WhatsApp
|
|
431
|
+
๐ [Xenon WhatsApp Channel](https://whatsapp.com/channel/0029Vb96uLb545umjswm9H1w)
|
|
432
|
+
|
|
433
|
+
### Telegram
|
|
434
|
+
๐ [Xenon Telegram](https://t.me/Rawoos)
|
|
435
|
+
|
|
436
|
+
### GitHub
|
|
437
|
+
๐ [GitHub Repository](https://github.com/Xenon-N/N)
|
|
438
|
+
|
|
439
|
+
|
|
440
|
+
|
|
441
|
+
---
|
|
442
|
+
|
|
443
|
+
## ๐ License
|
|
444
|
+
|
|
445
|
+
This project is licensed under the **MIT License** โ feel free to use, modify, and distribute!
|
|
446
|
+
|
|
447
|
+
```
|
|
448
|
+
MIT License
|
|
449
|
+
|
|
450
|
+
Copyright (c) 2026 Xenon
|
|
451
|
+
|
|
452
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
453
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
454
|
+
in the Software without restriction, including without limitation the rights
|
|
455
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
456
|
+
copies of the Software...
|
|
457
|
+
```
|
|
458
|
+
|
|
459
|
+
---
|
|
460
|
+
|
|
461
|
+
## ๐ Credits
|
|
462
|
+
|
|
463
|
+
Xenon Baileys is maintained and developed by the **Xenon Team** with contributions from the amazing open-source community.
|
|
464
|
+
|
|
465
|
+
---
|
|
466
|
+
|
|
467
|
+
<p align="center">
|
|
468
|
+
<br/>
|
|
469
|
+
<strong>Made with โค๏ธ by Xenon</strong>
|
|
470
|
+
<br/>
|
|
471
|
+
<sub>WhatsApp Automation Made Simple</sub>
|
|
472
|
+
<br/><br/>
|
|
473
|
+
<a href="https://github.com/Xonon-N/X/baileys">โญ Star us on GitHub</a>
|
|
474
|
+
โข
|
|
475
|
+
<a href="#contributing">Contribute</a>
|
|
476
|
+
โข
|
|
477
|
+
<a href="https://t.me/denzz221">creator</a>
|
|
478
|
+
</p>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
yarn pbjs -t static-module --no-beautify -w es6 --no-bundle --no-delimited --no-verify --no-comments -o ./index.js ./WAProto.proto;
|
|
2
|
+
yarn pbjs -t static-module --no-beautify -w es6 --no-bundle --no-delimited --no-verify ./WAProto.proto | yarn pbts --no-comments -o ./index.d.ts -;
|
|
3
|
+
node ./fix-imports.js
|