miaw-core 0.9.0 → 1.1.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.
@@ -0,0 +1,522 @@
1
+ # Baileys vs Miaw Core - Comprehensive Feature Comparison
2
+
3
+ **Last Updated:** January 2, 2026
4
+ **Baileys Version:** 7.0.0-rc.9
5
+ **Miaw Core Version:** 1.1.0
6
+
7
+ ## Overview
8
+
9
+ This document provides a comprehensive comparison between [Baileys](https://github.com/WhiskeySockets/Baileys) (the underlying WhatsApp Web API library) and Miaw Core (the simplified wrapper). The analysis covers all capabilities found in both libraries.
10
+
11
+ ### Key Differences
12
+
13
+ | Aspect | Baileys | Miaw Core |
14
+ | ---------------------- | -------------------------------- | ------------------------------------- |
15
+ | **Complexity** | Low-level, complex API | Simplified, high-level API |
16
+ | **Learning Curve** | Steep | Gentle |
17
+ | **Message Format** | Raw WhatsApp protobuf structures | Normalized `MiawMessage` format |
18
+ | **Session Management** | Manual setup required | Automatic with `AuthHandler` |
19
+ | **Reconnection** | Manual implementation | Built-in auto-reconnect |
20
+ | **TypeScript** | Partial types | Full type safety |
21
+ | **Events** | Many granular events | Consolidated, simplified events |
22
+ | **Error Handling** | Exceptions, Boom errors | Structured `{success, error}` results |
23
+
24
+ ---
25
+
26
+ ## Feature Comparison Tables
27
+
28
+ ### Legend
29
+
30
+ | Symbol | Meaning |
31
+ | ------ | --------------------- |
32
+ | ✅ | Fully implemented |
33
+ | 🔶 | Partially implemented |
34
+ | ❌ | Not implemented |
35
+ | 🏗️ | Planned for future |
36
+ | N/A | Not applicable |
37
+
38
+ ---
39
+
40
+ ## 1. Connection & Authentication
41
+
42
+ | Feature | Baileys | Miaw Core | Notes |
43
+ | ---------------------------------------- | ------- | --------- | ------------------------------------- |
44
+ | **QR Code Authentication** | ✅ | ✅ | Miaw emits `qr` event |
45
+ | **Pairing Code (Phone Number)** | ✅ | ❌ | Request pairing code via phone number |
46
+ | **Session Persistence (Multi-file)** | ✅ | ✅ | `AuthHandler` manages automatically |
47
+ | **Session Persistence (Single-file)** | ✅ | ❌ | Multi-file only in Miaw |
48
+ | **Session Persistence (External Store)** | ✅ | ❌ | Redis, MongoDB, etc. |
49
+ | **Auto-Reconnection** | ❌ | ✅ | Manual in Baileys, built-in in Miaw |
50
+ | **Connection State Events** | ✅ | ✅ | Simplified in Miaw |
51
+ | **Logout/Disconnect** | ✅ | ✅ | `disconnect()` method |
52
+ | **Clear Session** | ✅ | ✅ | `clearSession()` method |
53
+ | **Multiple Instances** | ✅ | ✅ | Full support in both |
54
+ | **Browser Config** | ✅ | 🔶 | Fixed browser config in Miaw |
55
+ | **Custom Logger** | ✅ | ✅ | Pino-based in both |
56
+ | **Proxy Support** | ✅ | ❌ | HTTP/SOCKS proxy |
57
+ | **WebSocket Options** | ✅ | ❌ | Custom WS configuration |
58
+
59
+ ---
60
+
61
+ ## 2. Sending Messages
62
+
63
+ ### 2.1 Text Messages
64
+
65
+ | Feature | Baileys | Miaw Core | Notes |
66
+ | -------------------------- | ------- | --------- | -------------------------------------- |
67
+ | **Send Text** | ✅ | ✅ | `sendText()` |
68
+ | **Send with Quote/Reply** | ✅ | ✅ | `options.quoted` |
69
+ | **Send with Mentions** | ✅ | ❌ | `@mentions` in text |
70
+ | **Send with Link Preview** | ✅ | 🔶 | Auto-generated in Baileys |
71
+ | **Send Extended Text** | ✅ | ❌ | Bold, italic, strikethrough, monospace |
72
+
73
+ ### 2.2 Media Messages
74
+
75
+ | Feature | Baileys | Miaw Core | Notes |
76
+ | --------------------------- | ------- | --------- | --------------------------- |
77
+ | **Send Image** | ✅ | ✅ | `sendImage()` with caption |
78
+ | **Send Video** | ✅ | ✅ | `sendVideo()` with caption |
79
+ | **Send Audio** | ✅ | ✅ | `sendAudio()` |
80
+ | **Send Voice Note (PTT)** | ✅ | ✅ | `options.ptt: true` |
81
+ | **Send Video Note (PTV)** | ✅ | ✅ | `options.ptv: true` |
82
+ | **Send Document** | ✅ | ✅ | `sendDocument()` |
83
+ | **Send Sticker** | ✅ | ❌ | WebP sticker messages |
84
+ | **Send GIF** | ✅ | ✅ | `options.gifPlayback: true` |
85
+ | **View Once (Image/Video)** | ✅ | ✅ | `options.viewOnce: true` |
86
+ | **Media from URL** | ✅ | ✅ | Pass URL string |
87
+ | **Media from Buffer** | ✅ | ✅ | Pass Buffer |
88
+ | **Media from Stream** | ✅ | ❌ | Readable stream |
89
+ | **Custom Thumbnail** | ✅ | ❌ | `jpegThumbnail` option |
90
+
91
+ ### 2.3 Special Messages
92
+
93
+ | Feature | Baileys | Miaw Core | Notes |
94
+ | -------------------------- | ------- | --------- | -------------------------------------- |
95
+ | **Send Location** | ✅ | ❌ | Latitude/longitude |
96
+ | **Send Live Location** | ✅ | ❌ | Live location sharing |
97
+ | **Send Contact (vCard)** | ✅ | ❌ | Contact cards |
98
+ | **Send Multiple Contacts** | ✅ | ❌ | Multiple vCards |
99
+ | **Send Poll** | ✅ | ❌ | Poll messages |
100
+ | **Send Product** | ✅ | ❌ | Product message |
101
+ | **Send Event** | ✅ | ❌ | Event/calendar messages |
102
+ | **Send Group Invite** | ✅ | ❌ | Group invite message |
103
+ | **Send Buttons** | ✅ | ❌ | Interactive buttons (deprecated by WA) |
104
+ | **Send List** | ✅ | ❌ | List messages (deprecated by WA) |
105
+ | **Send Template** | ✅ | ❌ | Template messages (deprecated by WA) |
106
+
107
+ ### 2.4 Message Operations
108
+
109
+ | Feature | Baileys | Miaw Core | Notes |
110
+ | ----------------------- | ------- | --------- | ------------------------------------- |
111
+ | **Forward Message** | ✅ | ✅ | `forwardMessage()` |
112
+ | **Edit Message** | ✅ | ✅ | `editMessage()` (own messages, 15min) |
113
+ | **Delete for Everyone** | ✅ | ✅ | `deleteMessage()` |
114
+ | **Delete for Me** | ✅ | ✅ | `deleteMessageForMe()` |
115
+ | **Send Reaction** | ✅ | ✅ | `sendReaction()` |
116
+ | **Remove Reaction** | ✅ | ✅ | `removeReaction()` |
117
+ | **Pin Message** | ✅ | ❌ | Pin to chat/group |
118
+ | **Star Message** | ✅ | ❌ | Star/favorite message |
119
+
120
+ ---
121
+
122
+ ## 3. Receiving & Events
123
+
124
+ ### 3.1 Message Events
125
+
126
+ | Feature | Baileys | Miaw Core | Notes |
127
+ | ---------------------------- | ------- | --------- | ---------------------------------- |
128
+ | **Receive Messages** | ✅ | ✅ | `message` event with `MiawMessage` |
129
+ | **Message Edit Event** | ✅ | ✅ | `message_edit` event |
130
+ | **Message Delete Event** | ✅ | ✅ | `message_delete` event |
131
+ | **Message Reaction Event** | ✅ | ✅ | `message_reaction` event |
132
+ | **History Sync** | ✅ | 🔶 | Chats/contacts synced to stores |
133
+ | **Poll Updates** | ✅ | ❌ | Poll vote events |
134
+ | **Receipt Events** | ✅ | ❌ | Delivery/read receipts |
135
+ | **Call Events** | ✅ | ❌ | Incoming/outgoing calls |
136
+ | **Label Association Events** | ✅ | ❌ | Label add/remove events |
137
+
138
+ ### 3.2 Connection Events
139
+
140
+ | Feature | Baileys | Miaw Core | Notes |
141
+ | ---------------------- | ------- | --------- | --------------------- |
142
+ | **Connection Update** | ✅ | ✅ | `connection` event |
143
+ | **QR Event** | ✅ | ✅ | `qr` event |
144
+ | **Ready Event** | ✅ | ✅ | `ready` event |
145
+ | **Disconnected Event** | ✅ | ✅ | `disconnected` event |
146
+ | **Reconnecting Event** | N/A | ✅ | Miaw-specific |
147
+ | **Credentials Update** | ✅ | ✅ | `session_saved` event |
148
+ | **Error Event** | ✅ | ✅ | `error` event |
149
+
150
+ ### 3.3 Presence Events
151
+
152
+ | Feature | Baileys | Miaw Core | Notes |
153
+ | ---------------------- | ------- | --------- | ---------------------------------------------------- |
154
+ | **Presence Update** | ✅ | ✅ | `presence` event |
155
+ | **Subscribe Presence** | ✅ | ✅ | `subscribePresence()` |
156
+ | **Presence Types** | ✅ | ✅ | available, unavailable, composing, recording, paused |
157
+
158
+ ---
159
+
160
+ ## 4. Media Download & Processing
161
+
162
+ | Feature | Baileys | Miaw Core | Notes |
163
+ | --------------------------- | ------- | --------- | --------------------------------- |
164
+ | **Download Media** | ✅ | ✅ | `downloadMedia()` |
165
+ | **Re-upload Expired Media** | ✅ | ✅ | Auto-handled in `downloadMedia()` |
166
+ | **Generate Thumbnail** | ✅ | ❌ | Auto-generate thumbnails |
167
+ | **Get Media Stream** | ✅ | ❌ | Stream instead of buffer |
168
+
169
+ ---
170
+
171
+ ## 5. Chat Management
172
+
173
+ | Feature | Baileys | Miaw Core | Notes |
174
+ | ------------------------- | ------- | --------- | ------------------------- |
175
+ | **Mark as Read** | ✅ | ✅ | `markAsRead()` |
176
+ | **Send Typing** | ✅ | ✅ | `sendTyping()` |
177
+ | **Send Recording** | ✅ | ✅ | `sendRecording()` |
178
+ | **Stop Typing** | ✅ | ✅ | `stopTyping()` |
179
+ | **Set Presence** | ✅ | ✅ | `setPresence()` |
180
+ | **Archive Chat** | ✅ | ❌ | Archive/unarchive |
181
+ | **Mute Chat** | ✅ | ❌ | Mute/unmute notifications |
182
+ | **Pin Chat** | ✅ | ❌ | Pin chat to top |
183
+ | **Delete Chat** | ✅ | ❌ | Delete entire chat |
184
+ | **Clear Chat** | ✅ | ❌ | Clear all messages |
185
+ | **Disappearing Messages** | ✅ | ❌ | Set ephemeral timer |
186
+ | **Fetch Message History** | ✅ | ❌ | Load older messages |
187
+ | **Chat Modify** | ✅ | 🔶 | Used internally |
188
+
189
+ ---
190
+
191
+ ## 6. User & Contact Operations
192
+
193
+ | Feature | Baileys | Miaw Core | Notes |
194
+ | ---------------------------- | ------- | --------- | --------------------------------- |
195
+ | **Check Number on WhatsApp** | ✅ | ✅ | `checkNumber()`, `checkNumbers()` |
196
+ | **Get Contact Info** | ✅ | ✅ | `getContactInfo()` |
197
+ | **Get Profile Picture** | ✅ | ✅ | `getProfilePicture()` |
198
+ | **Fetch Status/About** | ✅ | ✅ | In `getContactInfo()` |
199
+ | **Get Business Profile** | ✅ | ✅ | `getBusinessProfile()` |
200
+ | **Add/Edit Contact** | ✅ | ✅ | `addOrEditContact()` |
201
+ | **Remove Contact** | ✅ | ✅ | `removeContact()` |
202
+ | **Block User** | ✅ | ❌ | Block/unblock contacts |
203
+ | **Get Blocklist** | ✅ | ❌ | List blocked contacts |
204
+ | **Fetch All Contacts** | ✅ | ✅ | `fetchAllContacts()` |
205
+
206
+ ---
207
+
208
+ ## 7. Profile Management
209
+
210
+ | Feature | Baileys | Miaw Core | Notes |
211
+ | -------------------------- | ------- | --------- | ------------------------ |
212
+ | **Update Profile Picture** | ✅ | ✅ | `updateProfilePicture()` |
213
+ | **Remove Profile Picture** | ✅ | ✅ | `removeProfilePicture()` |
214
+ | **Update Profile Name** | ✅ | ✅ | `updateProfileName()` |
215
+ | **Update Profile Status** | ✅ | ✅ | `updateProfileStatus()` |
216
+ | **Get Own Profile** | ✅ | ✅ | `getOwnProfile()` |
217
+
218
+ ---
219
+
220
+ ## 8. Group Management
221
+
222
+ ### 8.1 Group Operations
223
+
224
+ | Feature | Baileys | Miaw Core | Notes |
225
+ | -------------------------- | ------- | --------- | ------------------------ |
226
+ | **Create Group** | ✅ | ✅ | `createGroup()` |
227
+ | **Leave Group** | ✅ | ✅ | `leaveGroup()` |
228
+ | **Get Group Info** | ✅ | ✅ | `getGroupInfo()` |
229
+ | **Get Group Participants** | ✅ | ✅ | `getGroupParticipants()` |
230
+ | **Fetch All Groups** | ✅ | ✅ | `fetchAllGroups()` |
231
+
232
+ ### 8.2 Group Participants
233
+
234
+ | Feature | Baileys | Miaw Core | Notes |
235
+ | ----------------------- | ------- | --------- | ---------------------- |
236
+ | **Add Participants** | ✅ | ✅ | `addParticipants()` |
237
+ | **Remove Participants** | ✅ | ✅ | `removeParticipants()` |
238
+ | **Promote to Admin** | ✅ | ✅ | `promoteToAdmin()` |
239
+ | **Demote from Admin** | ✅ | ✅ | `demoteFromAdmin()` |
240
+ | **Get Join Requests** | ✅ | ❌ | Pending join requests |
241
+ | **Approve/Reject Join** | ✅ | ❌ | Handle join requests |
242
+
243
+ ### 8.3 Group Settings
244
+
245
+ | Feature | Baileys | Miaw Core | Notes |
246
+ | ---------------------------- | ------- | --------- | -------------------------- |
247
+ | **Update Group Name** | ✅ | ✅ | `updateGroupName()` |
248
+ | **Update Group Description** | ✅ | ✅ | `updateGroupDescription()` |
249
+ | **Update Group Picture** | ✅ | ✅ | `updateGroupPicture()` |
250
+ | **Announcement Mode** | ✅ | ❌ | Only admins can send |
251
+ | **Restrict Mode** | ✅ | ❌ | Only admins can edit info |
252
+ | **Member Add Mode** | ✅ | ❌ | Who can add members |
253
+ | **Ephemeral Mode** | ✅ | ❌ | Disappearing messages |
254
+
255
+ ### 8.4 Group Invites
256
+
257
+ | Feature | Baileys | Miaw Core | Notes |
258
+ | --------------------------- | ------- | --------- | -------------------------- |
259
+ | **Get Invite Link** | ✅ | ✅ | `getGroupInviteLink()` |
260
+ | **Revoke Invite Link** | ✅ | ✅ | `revokeGroupInvite()` |
261
+ | **Accept Invite** | ✅ | ✅ | `acceptGroupInvite()` |
262
+ | **Get Invite Info** | ✅ | ✅ | `getGroupInviteInfo()` |
263
+ | **Join via Invite Message** | ✅ | ❌ | Join from received message |
264
+
265
+ ---
266
+
267
+ ## 9. Business Features (WhatsApp Business)
268
+
269
+ ### 9.1 Labels
270
+
271
+ | Feature | Baileys | Miaw Core | Notes |
272
+ | ----------------------------- | ------- | --------- | ---------------------- |
273
+ | **Add/Edit Label** | ✅ | ✅ | `addLabel()` |
274
+ | **Fetch All Labels** | ✅ | ✅ | `fetchAllLabels()` |
275
+ | **Add Label to Chat** | ✅ | ✅ | `addChatLabel()` |
276
+ | **Remove Label from Chat** | ✅ | ✅ | `removeChatLabel()` |
277
+ | **Add Label to Message** | ✅ | ✅ | `addMessageLabel()` |
278
+ | **Remove Label from Message** | ✅ | ✅ | `removeMessageLabel()` |
279
+
280
+ ### 9.2 Catalog & Products
281
+
282
+ | Feature | Baileys | Miaw Core | Notes |
283
+ | --------------------- | ------- | --------- | ------------------ |
284
+ | **Get Catalog** | ✅ | ✅ | `getCatalog()` |
285
+ | **Get Collections** | ✅ | ✅ | `getCollections()` |
286
+ | **Create Product** | ✅ | ✅ | `createProduct()` |
287
+ | **Update Product** | ✅ | ✅ | `updateProduct()` |
288
+ | **Delete Products** | ✅ | ✅ | `deleteProducts()` |
289
+ | **Get Order Details** | ✅ | ❌ | Order information |
290
+
291
+ ### 9.3 Business Profile
292
+
293
+ | Feature | Baileys | Miaw Core | Notes |
294
+ | --------------------------- | ------- | --------- | --------------------------- |
295
+ | **Get Business Profile** | ✅ | ✅ | `getBusinessProfile()` |
296
+ | **Update Business Profile** | ✅ | ❌ | Update address, hours, etc. |
297
+ | **Update Cover Photo** | ✅ | ❌ | Business cover image |
298
+ | **Remove Cover Photo** | ✅ | ❌ | Remove business cover |
299
+
300
+ ### 9.4 Quick Replies (Business)
301
+
302
+ | Feature | Baileys | Miaw Core | Notes |
303
+ | ---------------------- | ------- | --------- | ------------------ |
304
+ | **Add Quick Reply** | ✅ | ❌ | Create quick reply |
305
+ | **Remove Quick Reply** | ✅ | ❌ | Delete quick reply |
306
+
307
+ ---
308
+
309
+ ## 10. Newsletter/Channel Features
310
+
311
+ | Feature | Baileys | Miaw Core | Notes |
312
+ | --------------------------------- | ------- | --------- | ------------------------------- |
313
+ | **Create Newsletter** | ✅ | ✅ | `createNewsletter()` |
314
+ | **Delete Newsletter** | ✅ | ✅ | `deleteNewsletter()` |
315
+ | **Get Newsletter Metadata** | ✅ | ✅ | `getNewsletterMetadata()` |
316
+ | **Follow Newsletter** | ✅ | ✅ | `followNewsletter()` |
317
+ | **Unfollow Newsletter** | ✅ | ✅ | `unfollowNewsletter()` |
318
+ | **Mute Newsletter** | ✅ | ✅ | `muteNewsletter()` |
319
+ | **Unmute Newsletter** | ✅ | ✅ | `unmuteNewsletter()` |
320
+ | **Update Newsletter Name** | ✅ | ✅ | `updateNewsletterName()` |
321
+ | **Update Newsletter Description** | ✅ | ✅ | `updateNewsletterDescription()` |
322
+ | **Update Newsletter Picture** | ✅ | ✅ | `updateNewsletterPicture()` |
323
+ | **Remove Newsletter Picture** | ✅ | ✅ | `removeNewsletterPicture()` |
324
+ | **Send Newsletter Message** | ✅ | ✅ | `sendNewsletterMessage()` |
325
+ | **Send Newsletter Image** | ✅ | ✅ | `sendNewsletterImage()` |
326
+ | **Send Newsletter Video** | ✅ | ✅ | `sendNewsletterVideo()` |
327
+ | **React to Newsletter Message** | ✅ | ✅ | `reactToNewsletterMessage()` |
328
+ | **Fetch Newsletter Messages** | ✅ | ✅ | `fetchNewsletterMessages()` |
329
+ | **Subscribe Newsletter Updates** | ✅ | ✅ | `subscribeNewsletterUpdates()` |
330
+ | **Get Newsletter Subscribers** | ✅ | ✅ | `getNewsletterSubscribers()` |
331
+ | **Get Newsletter Admin Count** | ✅ | ✅ | `getNewsletterAdminCount()` |
332
+ | **Change Newsletter Owner** | ✅ | ✅ | `changeNewsletterOwner()` |
333
+ | **Demote Newsletter Admin** | ✅ | ✅ | `demoteNewsletterAdmin()` |
334
+
335
+ ---
336
+
337
+ ## 11. Privacy Settings
338
+
339
+ | Feature | Baileys | Miaw Core | Notes |
340
+ | ------------------------------------ | ------- | --------- | -------------------- |
341
+ | **Get Privacy Settings** | ✅ | ❌ | All privacy settings |
342
+ | **Update Last Seen Privacy** | ✅ | ❌ | all/contacts/none |
343
+ | **Update Online Privacy** | ✅ | ❌ | all/match_last_seen |
344
+ | **Update Profile Picture Privacy** | ✅ | ❌ | all/contacts/none |
345
+ | **Update Status Privacy** | ✅ | ❌ | all/contacts/none |
346
+ | **Update Read Receipts Privacy** | ✅ | ❌ | all/none |
347
+ | **Update Groups Add Privacy** | ✅ | ❌ | all/contacts/none |
348
+ | **Update Messages Privacy** | ✅ | ❌ | all/contacts |
349
+ | **Update Call Privacy** | ✅ | ❌ | all/known |
350
+ | **Update Default Disappearing Mode** | ✅ | ❌ | Default ephemeral |
351
+
352
+ ---
353
+
354
+ ## 12. Status/Stories & Broadcasts
355
+
356
+ | Feature | Baileys | Miaw Core | Notes |
357
+ | ------------------------------ | ------- | --------- | ------------------------- |
358
+ | **Send Status/Story** | ✅ | ❌ | Post to status |
359
+ | **Delete Status** | ✅ | ❌ | Delete status post |
360
+ | **Send Broadcast** | ✅ | ❌ | Send to broadcast list |
361
+ | **Query Broadcast Recipients** | ✅ | ❌ | List broadcast recipients |
362
+
363
+ ---
364
+
365
+ ## 13. Communities
366
+
367
+ | Feature | Baileys | Miaw Core | Notes |
368
+ | ------------------------------ | ------- | --------- | ----------------------- |
369
+ | **Get Community Metadata** | ✅ | ❌ | Community information |
370
+ | **Get Community Sub-groups** | ✅ | ❌ | List linked groups |
371
+ | **Create Community** | ✅ | ❌ | Create new community |
372
+ | **Add Community Sub-group** | ✅ | ❌ | Link group to community |
373
+ | **Remove Community Sub-group** | ✅ | ❌ | Unlink group |
374
+ | **Deactivate Community** | ✅ | ❌ | Deactivate community |
375
+
376
+ ---
377
+
378
+ ## 14. Calls
379
+
380
+ | Feature | Baileys | Miaw Core | Notes |
381
+ | -------------------- | ------- | --------- | -------------------------- |
382
+ | **Call Events** | ✅ | ❌ | Receive call notifications |
383
+ | **Reject Call** | ✅ | ❌ | Reject incoming call |
384
+ | **Offer Call** | ✅ | ❌ | Start audio/video call |
385
+ | **Terminate Call** | ✅ | ❌ | End active call |
386
+ | **Group Video Call** | ✅ | ❌ | Group video calls |
387
+
388
+ ---
389
+
390
+ ## 15. Utility Functions
391
+
392
+ | Feature | Baileys | Miaw Core | Notes |
393
+ | --------------------------------- | ------- | --------- | ----------------------------------- |
394
+ | **JID Encoding/Decoding** | ✅ | 🔶 | `MessageHandler.formatPhoneToJid()` |
395
+ | **Check JID Type** | ✅ | 🔶 | Group/user/newsletter/etc. |
396
+ | **LID to JID Resolution** | ✅ | ✅ | `resolveLidToJid()` |
397
+ | **Get Phone from JID** | ✅ | ✅ | `getPhoneFromJid()` |
398
+ | **Generate Message ID** | ✅ | ❌ | Custom message IDs |
399
+ | **Download Content from Message** | ✅ | ✅ | `downloadMedia()` |
400
+ | **Profile Picture Generation** | ✅ | ❌ | Crop/resize for profile |
401
+ | **App State Sync** | ✅ | 🔶 | For labels, used internally |
402
+
403
+ ---
404
+
405
+ ## 16. Low-Level / Advanced
406
+
407
+ | Feature | Baileys | Miaw Core | Notes |
408
+ | ---------------------------- | ------- | --------- | ---------------------- |
409
+ | **Raw Query** | ✅ | ❌ | Send raw IQ queries |
410
+ | **Custom Binary Node** | ✅ | ❌ | Build custom nodes |
411
+ | **Event Buffering** | ✅ | ❌ | Batch event processing |
412
+ | **Signal Repository** | ✅ | ❌ | Low-level encryption |
413
+ | **USyncQuery** | ✅ | ❌ | User sync queries |
414
+ | **Custom WebSocket Handler** | ✅ | ❌ | WS event handling |
415
+
416
+ ---
417
+
418
+ ## Summary Statistics
419
+
420
+ ### Implementation Coverage
421
+
422
+ | Category | Baileys Features | Miaw Core Implemented | Coverage |
423
+ | ------------------------- | ---------------- | --------------------- | -------- |
424
+ | **Connection & Auth** | 14 | 10 | 71% |
425
+ | **Sending Messages** | 33 | 19 | 58% |
426
+ | **Receiving & Events** | 17 | 12 | 71% |
427
+ | **Media** | 4 | 2 | 50% |
428
+ | **Chat Management** | 11 | 5 | 45% |
429
+ | **User & Contacts** | 10 | 8 | 80% |
430
+ | **Profile Management** | 5 | 5 | 100% |
431
+ | **Group Management** | 18 | 14 | 78% |
432
+ | **Business (Labels)** | 6 | 6 | 100% |
433
+ | **Business (Catalog)** | 6 | 5 | 83% |
434
+ | **Business (Profile/QR)** | 4 | 1 | 25% |
435
+ | **Newsletter/Channels** | 19 | 19 | 100% |
436
+ | **Privacy** | 10 | 0 | 0% |
437
+ | **Status/Broadcasts** | 4 | 0 | 0% |
438
+ | **Communities** | 5 | 0 | 0% |
439
+ | **Calls** | 5 | 0 | 0% |
440
+ | **Utilities** | 7 | 4 | 57% |
441
+ | **Low-Level** | 6 | 0 | 0% |
442
+ | **TOTAL** | ~175 | ~110 | ~63% |
443
+
444
+ ### What Miaw Core Focuses On
445
+
446
+ Miaw Core prioritizes the features that **90% of WhatsApp bots actually need**:
447
+
448
+ 1. ✅ **Core Messaging** - Text, media, reactions, editing, deletion
449
+ 2. ✅ **Group Management** - Full admin capabilities
450
+ 3. ✅ **Profile Management** - Complete profile control
451
+ 4. ✅ **Business Features** - Labels, products, catalogs
452
+ 5. ✅ **Newsletter/Channels** - Full channel support
453
+ 6. ✅ **Contact Management** - Add/edit/remove contacts
454
+ 7. ✅ **UX Features** - Typing indicators, read receipts, presence
455
+
456
+ ### What Miaw Core Doesn't Implement (Yet)
457
+
458
+ These are deliberately excluded or planned for future:
459
+
460
+ 1. ❌ **Privacy Settings** - Rarely needed by bots
461
+ 2. ❌ **Status/Stories** - Not common for automation
462
+ 3. ❌ **Communities** - Newer feature, less used
463
+ 4. ❌ **Calls** - WhatsApp calls via bots are rare
464
+ 5. ❌ **Polls** - Can be added if demand exists
465
+ 6. ❌ **Location Messages** - Can be added
466
+ 7. ❌ **Stickers** - Can be added
467
+ 8. ❌ **Interactive Messages** - Buttons/lists deprecated by WhatsApp
468
+
469
+ ---
470
+
471
+ ## Design Philosophy Comparison
472
+
473
+ ### Baileys Approach
474
+
475
+ - **Comprehensive** - Exposes nearly every WhatsApp Web feature
476
+ - **Low-level** - Direct access to protocol
477
+ - **Complex** - Requires understanding of WhatsApp internals
478
+ - **Flexible** - Can do anything WhatsApp Web can do
479
+ - **Events** - Many granular events to handle
480
+
481
+ ### Miaw Core Approach
482
+
483
+ - **Focused** - Essential bot features only
484
+ - **High-level** - Simplified abstractions
485
+ - **Simple** - Easy to learn and use
486
+ - **Opinionated** - Best practices built-in
487
+ - **Events** - Consolidated, meaningful events
488
+
489
+ ---
490
+
491
+ ## Migration Considerations
492
+
493
+ ### When to Use Baileys Directly
494
+
495
+ - Need low-level protocol access
496
+ - Implementing features Miaw doesn't have
497
+ - Custom session storage backends
498
+ - Need maximum control over behavior
499
+ - Building a full WhatsApp client
500
+
501
+ ### When to Use Miaw Core
502
+
503
+ - Building WhatsApp bots
504
+ - Quick prototyping
505
+ - Don't want to handle reconnection logic
506
+ - Want simplified message handling
507
+ - Need normalized message format
508
+ - TypeScript with full type safety
509
+ - Multiple bot instances
510
+
511
+ ---
512
+
513
+ ## References
514
+
515
+ - **Baileys Repository:** https://github.com/WhiskeySockets/Baileys
516
+ - **Baileys Documentation:** https://baileys.whiskeysockets.io/
517
+ - **Miaw Core Documentation:** [docs/USAGE.md](./USAGE.md)
518
+ - **Miaw Core Roadmap:** [docs/ROADMAP.md](./ROADMAP.md)
519
+
520
+ ---
521
+
522
+ _This analysis was generated on January 2, 2026, based on Baileys v7.0.0-rc.9 and Miaw Core v1.1.0_