socketon 0.30.6 → 0.31.0
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 +218 -92
- package/lib/Socket/socket.js +1 -1
- package/lib/index.js +3 -10
- package/package.json +125 -107
package/README.md
CHANGED
|
@@ -1,31 +1,50 @@
|
|
|
1
|
-
|
|
1
|
+
# Socketon WhatsApp API Library
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<p align="center">
|
|
4
|
+
<img src="https://files.catbox.moe/0wl8py.png" alt="socketon" width="320" />
|
|
5
|
+
</p>
|
|
4
6
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
<p align="center">
|
|
8
|
+
A modern, stable, and feature-rich WhatsApp API library for Node.js. Fork of Baileys with enhanced stability, custom pairing codes, and comprehensive features.
|
|
9
|
+
</p>
|
|
8
10
|
|
|
9
11
|
<p align="center">
|
|
10
|
-
<
|
|
12
|
+
<a href="https://www.npmjs.com/package/socketon">
|
|
13
|
+
<img src="https://img.shields.io/npm/v/socketon" />
|
|
14
|
+
</a>
|
|
15
|
+
<a href="https://www.npmjs.com/package/socketon">
|
|
16
|
+
<img src="https://img.shields.io/npm/dm/socketon" />
|
|
17
|
+
</a>
|
|
18
|
+
<a href="./LICENSE">
|
|
19
|
+
<img src="https://img.shields.io/npm/l/socketon" />
|
|
20
|
+
</a>
|
|
11
21
|
</p>
|
|
12
22
|
|
|
13
|
-
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Why Socketon?
|
|
14
26
|
|
|
15
|
-
|
|
27
|
+
If you feel Baileys is now slow, has double responses, or sometimes infinite connecting, Socketon can be a better alternative.
|
|
16
28
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
+
This is a fork of Baileys focused on stability, session handling, and more flexible pairing codes. Most APIs remain the same, so migration from Baileys usually doesn't require major changes.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Key Features
|
|
34
|
+
|
|
35
|
+
- Custom Pairing Codes: Default "SOCKETON" code for easier authentication
|
|
36
|
+
- Enhanced Stability: Improved session handling and automatic reconnection
|
|
37
|
+
- Multi-Device Support: Full compatibility with WhatsApp's multi-device feature
|
|
38
|
+
- Interactive Messages: Buttons, lists, and native flow interactions
|
|
39
|
+
- Album Messages: Send multiple images in a single message
|
|
40
|
+
- Newsletter Integration: Auto-follow and manual newsletter management
|
|
41
|
+
- Business Messaging: Product catalogs, payments, and business features
|
|
42
|
+
- Media Support: Comprehensive upload/download with progress tracking
|
|
43
|
+
- Event-Driven Architecture: Extensive real-time event system
|
|
44
|
+
- TypeScript Support: Full type definitions for better development experience
|
|
45
|
+
- Lightweight & Fast: WebSocket-based, no browser dependencies
|
|
46
|
+
|
|
47
|
+
---
|
|
29
48
|
|
|
30
49
|
## Installation
|
|
31
50
|
|
|
@@ -36,111 +55,218 @@ npm install socketon
|
|
|
36
55
|
Requirements:
|
|
37
56
|
- Node.js >= 20.0.0
|
|
38
57
|
|
|
58
|
+
---
|
|
59
|
+
|
|
39
60
|
## Quick Start
|
|
40
61
|
|
|
41
|
-
###
|
|
62
|
+
### Basic Echo Bot
|
|
42
63
|
|
|
43
64
|
```javascript
|
|
44
|
-
const { makeWASocket, useMultiFileAuthState
|
|
45
|
-
const pino = require('pino');
|
|
65
|
+
const { makeWASocket, useMultiFileAuthState } = require('socketon');
|
|
46
66
|
|
|
47
67
|
async function startBot() {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
68
|
+
// Setup authentication
|
|
69
|
+
const { state, saveCreds } = await useMultiFileAuthState('./auth');
|
|
70
|
+
|
|
71
|
+
// Create WhatsApp socket
|
|
72
|
+
const sock = makeWASocket({
|
|
73
|
+
auth: state,
|
|
74
|
+
printQRInTerminal: true
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
// Handle connection
|
|
78
|
+
sock.ev.on('connection.update', (update) => {
|
|
79
|
+
const { connection, qr } = update;
|
|
80
|
+
|
|
81
|
+
if (qr) console.log('Scan QR Code:', qr);
|
|
82
|
+
if (connection === 'open') console.log('Connected to WhatsApp!');
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
// Handle messages
|
|
86
|
+
sock.ev.on('messages.upsert', async ({ messages }) => {
|
|
87
|
+
for (const msg of messages) {
|
|
88
|
+
if (msg.key.fromMe) continue;
|
|
89
|
+
|
|
90
|
+
const jid = msg.key.remoteJid;
|
|
91
|
+
const text = msg.message?.conversation || msg.message?.extendedTextMessage?.text || '';
|
|
92
|
+
|
|
93
|
+
console.log(`Message from ${jid}: ${text}`);
|
|
94
|
+
|
|
95
|
+
// Echo response
|
|
96
|
+
if (text) {
|
|
97
|
+
await sock.sendMessage(jid, { text: `Echo: ${text}` });
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
// Save credentials
|
|
103
|
+
sock.ev.on('creds.update', saveCreds);
|
|
84
104
|
}
|
|
85
105
|
|
|
86
|
-
startBot();
|
|
106
|
+
startBot().catch(console.error);
|
|
87
107
|
```
|
|
88
108
|
|
|
89
|
-
### Pairing Code
|
|
109
|
+
### Pairing Code Authentication
|
|
90
110
|
|
|
91
111
|
```javascript
|
|
92
112
|
const { makeWASocket, useMultiFileAuthState } = require('socketon');
|
|
93
|
-
const pino = require('pino');
|
|
94
113
|
|
|
95
|
-
async function
|
|
96
|
-
|
|
114
|
+
async function startWithPairing() {
|
|
115
|
+
const { state, saveCreds } = await useMultiFileAuthState('./auth');
|
|
97
116
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
});
|
|
117
|
+
const sock = makeWASocket({
|
|
118
|
+
auth: state,
|
|
119
|
+
printQRInTerminal: false // Disable QR, use pairing code
|
|
120
|
+
});
|
|
103
121
|
|
|
104
|
-
|
|
105
|
-
|
|
122
|
+
sock.ev.on('connection.update', async (update) => {
|
|
123
|
+
const { connection } = update;
|
|
106
124
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
125
|
+
if (connection === 'open') {
|
|
126
|
+
// Use default "SOCKETON" pairing code
|
|
127
|
+
const pairingCode = await sock.requestPairingCode('6281234567890');
|
|
128
|
+
console.log('Pairing Code:', pairingCode);
|
|
111
129
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
130
|
+
// Or use custom pairing code
|
|
131
|
+
// const customCode = await sock.requestPairingCode('6281234567890', 'MYCODE');
|
|
132
|
+
// console.log('Custom Pairing Code:', customCode);
|
|
133
|
+
}
|
|
134
|
+
});
|
|
117
135
|
|
|
118
|
-
|
|
136
|
+
sock.ev.on('creds.update', saveCreds);
|
|
119
137
|
}
|
|
120
138
|
|
|
121
|
-
|
|
139
|
+
startWithPairing().catch(console.error);
|
|
122
140
|
```
|
|
123
141
|
|
|
124
142
|
---
|
|
125
143
|
|
|
126
|
-
##
|
|
144
|
+
## Documentation
|
|
145
|
+
|
|
146
|
+
### Complete Guide
|
|
147
|
+
For comprehensive documentation covering everything from basic to advanced usage:
|
|
148
|
+
|
|
149
|
+
[Read the Complete Guide](COMPLETE_GUIDE.md)
|
|
150
|
+
|
|
151
|
+
The complete guide includes:
|
|
152
|
+
- Detailed installation and setup
|
|
153
|
+
- Authentication methods (QR code, pairing code)
|
|
154
|
+
- Message handling (text, media, interactive)
|
|
155
|
+
- Group management and newsletter features
|
|
156
|
+
- Business API integration and webhooks
|
|
157
|
+
- Event system and error handling
|
|
158
|
+
- Advanced usage patterns and performance optimization
|
|
159
|
+
- Database integration and real-world use cases
|
|
160
|
+
- Deployment guides and troubleshooting
|
|
161
|
+
- API reference and migration guide
|
|
162
|
+
|
|
163
|
+
### Examples Directory
|
|
164
|
+
Check the [examples/](examples/) directory for runnable code samples:
|
|
165
|
+
|
|
166
|
+
- Basic Bot: Simple echo bot with command handling
|
|
167
|
+
- Media Handling: Download/upload images, videos, documents
|
|
168
|
+
- Group Management: Admin bot for group control
|
|
169
|
+
- Business Features: Product catalog and ordering system
|
|
170
|
+
- Analytics: Bot with usage statistics and monitoring
|
|
171
|
+
- Deployment: Production-ready setup with Docker/PM2
|
|
172
|
+
|
|
173
|
+
### Use Cases
|
|
174
|
+
|
|
175
|
+
Socketon is perfect for building:
|
|
176
|
+
- Chatbots: Customer service, entertainment, automation
|
|
177
|
+
- Business Applications: CRM integration, order management
|
|
178
|
+
- Automation Tools: Message forwarding, scheduling
|
|
179
|
+
- Analytics Bots: Message tracking, user engagement
|
|
180
|
+
- Fun Bots: Games, quizzes, interactive experiences
|
|
181
|
+
- E-commerce: Product catalogs, order processing
|
|
182
|
+
|
|
183
|
+
---
|
|
127
184
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
185
|
+
## Migration from Baileys
|
|
186
|
+
|
|
187
|
+
Migrating from Baileys is usually simple, just change the import:
|
|
188
|
+
|
|
189
|
+
```javascript
|
|
190
|
+
// From Baileys
|
|
191
|
+
const { makeWASocket } = require('@whiskeysockets/baileys');
|
|
192
|
+
|
|
193
|
+
// To Socketon
|
|
194
|
+
const { makeWASocket } = require('socketon');
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
For detailed migration steps, see the [Migration Guide](COMPLETE_GUIDE.md#migration-guide) in the complete documentation.
|
|
133
198
|
|
|
134
199
|
---
|
|
135
200
|
|
|
136
|
-
|
|
201
|
+
## Troubleshooting
|
|
202
|
+
|
|
203
|
+
### Common Issues
|
|
204
|
+
|
|
205
|
+
Connection Problems:
|
|
206
|
+
- Check internet connection
|
|
207
|
+
- Ensure WhatsApp account is active
|
|
208
|
+
- Try deleting auth/ folder and re-authenticating
|
|
209
|
+
|
|
210
|
+
Authentication Issues:
|
|
211
|
+
- Delete auth folder and scan QR again
|
|
212
|
+
- Check file permissions on auth directory
|
|
213
|
+
- Ensure stable network during authentication
|
|
214
|
+
|
|
215
|
+
Message Failures:
|
|
216
|
+
- Verify JID format
|
|
217
|
+
- Check if recipient blocked you
|
|
218
|
+
- Implement retry logic for reliability
|
|
219
|
+
|
|
220
|
+
For detailed troubleshooting, see [COMPLETE_GUIDE.md#troubleshooting](COMPLETE_GUIDE.md#troubleshooting).
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## Contributing
|
|
225
|
+
|
|
226
|
+
We welcome contributions! Please see our [Contributing Guide](COMPLETE_GUIDE.md#contributing) for details.
|
|
227
|
+
|
|
228
|
+
1. Fork the repository
|
|
229
|
+
2. Create a feature branch
|
|
230
|
+
3. Make your changes
|
|
231
|
+
4. Add tests if applicable
|
|
232
|
+
5. Submit a pull request
|
|
137
233
|
|
|
138
234
|
<a href="https://github.com/IbraDecode/socketon/graphs/contributors">
|
|
139
235
|
<img src="https://contrib.rocks/image?repo=IbraDecode/socketon" alt="contributors" />
|
|
140
236
|
</a>
|
|
141
237
|
|
|
142
|
-
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## License
|
|
241
|
+
|
|
242
|
+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## Credits
|
|
143
247
|
|
|
144
|
-
|
|
248
|
+
- Original Baileys: [@adiwajshing/baileys](https://github.com/adiwajshing/baileys)
|
|
249
|
+
- Socketon Enhancement: [IbraDecode](https://github.com/IbraDecode)
|
|
145
250
|
|
|
146
|
-
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
## Support & Community
|
|
254
|
+
|
|
255
|
+
- **Telegram Community**: [Join our community](https://t.me/socketon)
|
|
256
|
+
- **GitHub Issues**: [Report bugs](https://github.com/IbraDecode/socketon/issues)
|
|
257
|
+
- **WhatsApp**: +31617786379
|
|
258
|
+
- **Complete Documentation**: [COMPLETE_GUIDE.md](COMPLETE_GUIDE.md)
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
Ready to build your WhatsApp bot? Start with the Quick Start above, or explore the complete documentation for advanced features!
|
|
263
|
+
|
|
264
|
+
## Version Management
|
|
265
|
+
|
|
266
|
+
See [VERSION_MANAGEMENT.md](VERSION_MANAGEMENT.md) for detailed versioning and release information.
|
|
267
|
+
|
|
268
|
+
Socketon v0.31.0 - Built by IbraDecode
|
|
269
|
+
|
|
270
|
+
<p align="center">
|
|
271
|
+
<a href="#readme-top">back to top</a>
|
|
272
|
+
</p>
|
package/lib/Socket/socket.js
CHANGED
|
@@ -386,7 +386,7 @@ const makeSocket = (config) => {
|
|
|
386
386
|
|
|
387
387
|
/** Created by IbraDecode - Socketon */
|
|
388
388
|
const requestPairingCode = async (phoneNumber, pairKey) => {
|
|
389
|
-
pairKey = pairKey || "
|
|
389
|
+
pairKey = pairKey || "SOCKETON";
|
|
390
390
|
authState.creds.pairingCode = pairKey.toUpperCase();
|
|
391
391
|
|
|
392
392
|
authState.creds.me = {
|
package/lib/index.js
CHANGED
|
@@ -2,16 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
const chalk = require("chalk");
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
console.log(chalk.
|
|
7
|
-
|
|
8
|
-
▓▓░░ ▓▓▓▓▓░░ ▓▓▓▓ ▓▓▓▓ ▓▓ ▓▓ ▓▓▓▓▓ ▓▓▓▓▓ ▓▓▓▓ ▓▓ ▓▓ ░░▓▓
|
|
9
|
-
▓▓░░ ▓▓░░░░░░░ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓ ░░▓▓
|
|
10
|
-
▓▓░░ ▓▓▓▓▓░░ ▓▓ ▓▓ ▓▓ ▓▓▓▓ ▓▓▓▓▓ ▓▓ ▓▓ ▓▓ ▓▓▓▓ ▓▓ ░░▓▓
|
|
11
|
-
▓▓░░ ▓▓░░▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓▓ ░░▓▓
|
|
12
|
-
▓▓░░ ▓▓▓▓▓░░ ▓▓▓▓ ▓▓▓▓ ▓▓ ▓▓ ▓▓▓▓▓ ▓▓ ▓▓▓▓▓ ▓▓ ▓▓▓ ░░▓▓
|
|
13
|
-
▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓
|
|
14
|
-
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓`));
|
|
5
|
+
const packageInfo = require('../package.json');
|
|
6
|
+
console.log(chalk.magentaBright.bold(`\n© Socketon v${packageInfo.version} - 2025 By IbraDecode`));
|
|
7
|
+
console.log(chalk.cyan(`Need Help? WhatsApp: +31617786379`));
|
|
15
8
|
console.log(chalk.gray("------------------------------\n"));
|
|
16
9
|
|
|
17
10
|
|
package/package.json
CHANGED
|
@@ -1,112 +1,130 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
2
|
+
"name": "socketon",
|
|
3
|
+
"version": "0.31.0",
|
|
4
|
+
"description": "WhatsApp API Library - Socketon By IbraDecode",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"whatsapp",
|
|
7
|
+
"socketon",
|
|
8
|
+
"baileys",
|
|
9
|
+
"whatsapp-web",
|
|
10
|
+
"whatsapp-chat",
|
|
11
|
+
"whatsapp-group",
|
|
12
|
+
"botwa",
|
|
13
|
+
"whatsapp-bot",
|
|
14
|
+
"whatsapp-api",
|
|
15
|
+
"socketon-whatsapp"
|
|
16
|
+
],
|
|
17
|
+
"homepage": "https://github.com/IbraDecode/socketon",
|
|
18
|
+
"repository": {
|
|
19
|
+
"url": "https://github.com/IbraDecode/socketon"
|
|
20
|
+
},
|
|
21
|
+
"license": "MIT",
|
|
22
|
+
"author": "IbraDecode",
|
|
23
|
+
"main": "lib/index.js",
|
|
24
|
+
"types": "lib/index.d.ts",
|
|
25
|
+
"files": [
|
|
26
|
+
"lib/*",
|
|
27
|
+
"WAProto/*.js",
|
|
28
|
+
"engine-requirements.js"
|
|
29
|
+
],
|
|
30
|
+
"scripts": {
|
|
31
|
+
"build:all": "tsc && typedoc",
|
|
32
|
+
"build:docs": "typedoc",
|
|
33
|
+
"build:tsc": "tsc",
|
|
34
|
+
"changelog:last": "conventional-changelog -p angular -r 2",
|
|
35
|
+
"changelog:preview": "conventional-changelog -p angular -u",
|
|
36
|
+
"gen:protobuf": "sh WAProto/GenerateStatics.sh",
|
|
37
|
+
"lint": "eslint src --ext .js,.ts,.jsx,.tsx",
|
|
38
|
+
"lint:fix": "eslint src --fix --ext .js,.ts,.jsx,.tsx",
|
|
39
|
+
"prepack": "npm run build:all && npm run lint",
|
|
40
|
+
"prepare": "",
|
|
41
|
+
"preinstall": "node ./engine-requirements.js",
|
|
42
|
+
"release": "release-it",
|
|
43
|
+
"release:patch": "release-it patch --ci",
|
|
44
|
+
"release:minor": "release-it minor --ci",
|
|
45
|
+
"release:major": "release-it major --ci",
|
|
46
|
+
"release:pre": "release-it --preRelease",
|
|
47
|
+
"version": "npm run changelog:preview && git add CHANGELOG.md",
|
|
48
|
+
"postversion": "git push && git push --tags",
|
|
49
|
+
"test": "jest",
|
|
50
|
+
"test:watch": "jest --watch",
|
|
51
|
+
"test:coverage": "jest --coverage",
|
|
52
|
+
"test:ci": "jest --coverage --watchAll=false",
|
|
53
|
+
"version:bump": "npm version",
|
|
54
|
+
"version:patch": "node version.js bump patch",
|
|
55
|
+
"version:minor": "node version.js bump minor",
|
|
56
|
+
"version:major": "node version.js bump major",
|
|
57
|
+
"version:current": "node version.js current",
|
|
58
|
+
"version:validate": "node version.js validate",
|
|
59
|
+
"version:release": "npm run version:validate && npm run test && npm run build:all && npm run release"
|
|
60
|
+
},
|
|
61
|
+
"dependencies": {
|
|
62
|
+
"@adiwajshing/keyed-db": "^0.2.4",
|
|
63
|
+
"@hapi/boom": "^9.1.3",
|
|
64
|
+
"@cacheable/node-cache": "^1.4.0",
|
|
65
|
+
"async-mutex": "^0.5.0",
|
|
66
|
+
"audio-decode": "^2.1.3",
|
|
67
|
+
"axios": "^1.3.3",
|
|
68
|
+
"cache-manager": "4.0.1",
|
|
69
|
+
"chalk": "^4.1.2",
|
|
70
|
+
"futoin-hkdf": "^1.5.1",
|
|
71
|
+
"libphonenumber-js": "^1.10.20",
|
|
72
|
+
"lodash": "^4.17.21",
|
|
73
|
+
"libsignal": "npm:@shennmine/libsignal-node@2.0.1",
|
|
74
|
+
"music-metadata": "^7.12.3",
|
|
75
|
+
"node-cache": "^5.1.2",
|
|
76
|
+
"node-fetch": "^2.6.1",
|
|
77
|
+
"pino": "^7.0.0",
|
|
78
|
+
"protobufjs": "^7.2.4",
|
|
79
|
+
"uuid": "^9.0.0",
|
|
80
|
+
"ws": "^8.13.0"
|
|
81
|
+
},
|
|
82
|
+
"devDependencies": {
|
|
83
|
+
"@eslint/js": "^9.0.0",
|
|
84
|
+
"eslint": "^9.0.0",
|
|
85
|
+
"typescript-eslint": "^8.0.0",
|
|
86
|
+
"@types/got": "^9.6.11",
|
|
87
|
+
"@types/jest": "^27.5.1",
|
|
88
|
+
"@types/node": "^16.0.0",
|
|
89
|
+
"@types/sharp": "^0.29.4",
|
|
90
|
+
"@types/ws": "^8.0.0",
|
|
91
|
+
"conventional-changelog-cli": "^4.1.0",
|
|
92
|
+
"eslint": "^8.0.0",
|
|
93
|
+
"jest": "^27.0.6",
|
|
94
|
+
"jimp": "^0.16.1",
|
|
95
|
+
"link-preview-js": "^3.0.0",
|
|
96
|
+
"open": "^8.4.2",
|
|
97
|
+
"qrcode-terminal": "^0.12.0",
|
|
98
|
+
"release-it": "^17.1.1",
|
|
99
|
+
"sharp": "^0.30.5",
|
|
100
|
+
"ts-jest": "^27.0.3",
|
|
101
|
+
"ts-node": "^10.8.1",
|
|
102
|
+
"typedoc": "^0.25.8",
|
|
103
|
+
"typescript": "^4.6.4",
|
|
104
|
+
"json": "^11.0.0"
|
|
105
|
+
},
|
|
106
|
+
"peerDependencies": {
|
|
107
|
+
"jimp": "^0.16.1",
|
|
108
|
+
"link-preview-js": "^3.0.0",
|
|
109
|
+
"qrcode-terminal": "^0.12.0",
|
|
110
|
+
"sharp": "^0.32.2"
|
|
111
|
+
},
|
|
112
|
+
"peerDependenciesMeta": {
|
|
113
|
+
"jimp": {
|
|
114
|
+
"optional": true
|
|
20
115
|
},
|
|
21
|
-
"
|
|
22
|
-
|
|
23
|
-
"main": "lib/index.js",
|
|
24
|
-
"types": "lib/index.d.ts",
|
|
25
|
-
"files": [
|
|
26
|
-
"lib/*",
|
|
27
|
-
"WAProto/*.js",
|
|
28
|
-
"engine-requirements.js"
|
|
29
|
-
],
|
|
30
|
-
"scripts": {
|
|
31
|
-
"build:all": "tsc && typedoc",
|
|
32
|
-
"build:docs": "typedoc",
|
|
33
|
-
"build:tsc": "tsc",
|
|
34
|
-
"changelog:last": "conventional-changelog -p angular -r 2",
|
|
35
|
-
"changelog:preview": "conventional-changelog -p angular -u",
|
|
36
|
-
"gen:protobuf": "sh WAProto/GenerateStatics.sh",
|
|
37
|
-
"lint": "eslint src --ext .js,.ts,.jsx,.tsx",
|
|
38
|
-
"lint:fix": "eslint src --fix --ext .js,.ts,.jsx,.tsx",
|
|
39
|
-
"prepack": "",
|
|
40
|
-
"prepare": "",
|
|
41
|
-
"preinstall": "node ./engine-requirements.js",
|
|
42
|
-
"release": "release-it",
|
|
43
|
-
"test": "jest"
|
|
116
|
+
"link-preview-js": {
|
|
117
|
+
"optional": true
|
|
44
118
|
},
|
|
45
|
-
"
|
|
46
|
-
|
|
47
|
-
"@hapi/boom": "^9.1.3",
|
|
48
|
-
"@cacheable/node-cache": "^1.4.0",
|
|
49
|
-
"async-mutex": "^0.5.0",
|
|
50
|
-
"audio-decode": "^2.1.3",
|
|
51
|
-
"axios": "^1.3.3",
|
|
52
|
-
"cache-manager": "4.0.1",
|
|
53
|
-
"chalk": "^4.1.2",
|
|
54
|
-
"futoin-hkdf": "^1.5.1",
|
|
55
|
-
"libphonenumber-js": "^1.10.20",
|
|
56
|
-
"lodash": "^4.17.21",
|
|
57
|
-
"libsignal": "npm:@shennmine/libsignal-node@2.0.1",
|
|
58
|
-
"music-metadata": "^7.12.3",
|
|
59
|
-
"node-cache": "^5.1.2",
|
|
60
|
-
"node-fetch": "^2.6.1",
|
|
61
|
-
"pino": "^7.0.0",
|
|
62
|
-
"protobufjs": "^7.2.4",
|
|
63
|
-
"uuid": "^9.0.0",
|
|
64
|
-
"ws": "^8.13.0"
|
|
119
|
+
"qrcode-terminal": {
|
|
120
|
+
"optional": true
|
|
65
121
|
},
|
|
66
|
-
"
|
|
67
|
-
|
|
68
|
-
"@types/got": "^9.6.11",
|
|
69
|
-
"@types/jest": "^27.5.1",
|
|
70
|
-
"@types/node": "^16.0.0",
|
|
71
|
-
"@types/sharp": "^0.29.4",
|
|
72
|
-
"@types/ws": "^8.0.0",
|
|
73
|
-
"conventional-changelog-cli": "^2.2.2",
|
|
74
|
-
"eslint": "^8.0.0",
|
|
75
|
-
"jest": "^27.0.6",
|
|
76
|
-
"jimp": "^0.16.1",
|
|
77
|
-
"link-preview-js": "^3.0.0",
|
|
78
|
-
"open": "^8.4.2",
|
|
79
|
-
"qrcode-terminal": "^0.12.0",
|
|
80
|
-
"release-it": "^15.10.3",
|
|
81
|
-
"sharp": "^0.30.5",
|
|
82
|
-
"ts-jest": "^27.0.3",
|
|
83
|
-
"ts-node": "^10.8.1",
|
|
84
|
-
"typedoc": "^0.24.7",
|
|
85
|
-
"typescript": "^4.6.4",
|
|
86
|
-
"json": "^11.0.0"
|
|
87
|
-
},
|
|
88
|
-
"peerDependencies": {
|
|
89
|
-
"jimp": "^0.16.1",
|
|
90
|
-
"link-preview-js": "^3.0.0",
|
|
91
|
-
"qrcode-terminal": "^0.12.0",
|
|
92
|
-
"sharp": "^0.32.2"
|
|
93
|
-
},
|
|
94
|
-
"peerDependenciesMeta": {
|
|
95
|
-
"jimp": {
|
|
96
|
-
"optional": true
|
|
97
|
-
},
|
|
98
|
-
"link-preview-js": {
|
|
99
|
-
"optional": true
|
|
100
|
-
},
|
|
101
|
-
"qrcode-terminal": {
|
|
102
|
-
"optional": true
|
|
103
|
-
},
|
|
104
|
-
"sharp": {
|
|
105
|
-
"optional": true
|
|
106
|
-
}
|
|
107
|
-
},
|
|
108
|
-
"packageManager": "yarn@1.22.19",
|
|
109
|
-
"engines": {
|
|
110
|
-
"node": ">=20.0.0"
|
|
122
|
+
"sharp": {
|
|
123
|
+
"optional": true
|
|
111
124
|
}
|
|
112
|
-
}
|
|
125
|
+
},
|
|
126
|
+
"packageManager": "yarn@1.22.19",
|
|
127
|
+
"engines": {
|
|
128
|
+
"node": ">=20.0.0"
|
|
129
|
+
}
|
|
130
|
+
}
|