@neelegirl/baileys 1.5.0 → 1.5.2

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.
Files changed (204) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +187 -0
  3. package/WAProto/WAProto.proto +1770 -107
  4. package/WAProto/index.d.ts +7495 -166
  5. package/WAProto/index.js +26805 -3529
  6. package/lib/Defaults/baileys-version.json +1 -1
  7. package/lib/Defaults/index.d.ts +64 -49
  8. package/lib/Defaults/index.js +60 -31
  9. package/lib/Defaults/phonenumber-mcc.json +223 -0
  10. package/{WASignalGroup → lib/Signal/WASignalGroup}/GroupProtocol.js +347 -135
  11. package/lib/Signal/WASignalGroup/generate-proto.sh +1 -0
  12. package/lib/Signal/WASignalGroup/group.proto +42 -0
  13. package/{WASignalGroup → lib/Signal/WASignalGroup}/group_cipher.js +1 -1
  14. package/{WASignalGroup → lib/Signal/WASignalGroup}/index.js +2 -1
  15. package/{WASignalGroup → lib/Signal/WASignalGroup}/keyhelper.js +1 -1
  16. package/lib/Signal/WASignalGroup/readme.md +6 -0
  17. package/{WASignalGroup → lib/Signal/WASignalGroup}/sender_chain_key.js +1 -1
  18. package/{WASignalGroup → lib/Signal/WASignalGroup}/sender_key_message.js +1 -1
  19. package/{WASignalGroup → lib/Signal/WASignalGroup}/sender_message_key.js +1 -1
  20. package/lib/Signal/libsignal.d.ts +4 -3
  21. package/lib/Signal/libsignal.js +90 -80
  22. package/lib/Socket/Client/abstract-socket-client.d.ts +0 -2
  23. package/lib/Socket/Client/index.d.ts +2 -3
  24. package/lib/Socket/Client/index.js +17 -14
  25. package/lib/Socket/Client/mobile-socket-client.d.ts +0 -1
  26. package/lib/Socket/Client/types.d.ts +15 -16
  27. package/lib/Socket/Client/types.js +14 -9
  28. package/lib/Socket/Client/websocket.d.ts +12 -11
  29. package/lib/Socket/Client/websocket.js +32 -32
  30. package/lib/Socket/business.d.ts +173 -156
  31. package/lib/Socket/business.js +58 -50
  32. package/lib/Socket/chats.d.ts +91 -74
  33. package/lib/Socket/chats.js +606 -443
  34. package/lib/Socket/communities.d.ts +223 -0
  35. package/lib/Socket/communities.js +433 -0
  36. package/lib/Socket/groups.d.ts +115 -99
  37. package/lib/Socket/groups.js +153 -116
  38. package/lib/Socket/index.d.ts +177 -158
  39. package/lib/Socket/index.js +22 -9
  40. package/lib/Socket/messages-recv.d.ts +165 -146
  41. package/lib/Socket/messages-recv.js +1711 -919
  42. package/lib/Socket/messages-send.d.ts +155 -143
  43. package/lib/Socket/messages-send.js +888 -702
  44. package/lib/Socket/mex.d.ts +2 -0
  45. package/lib/Socket/mex.js +47 -0
  46. package/lib/Socket/newsletter.d.ts +135 -120
  47. package/lib/Socket/newsletter.js +149 -99
  48. package/lib/Socket/registration.d.ts +43 -41
  49. package/lib/Socket/socket.d.ts +35 -34
  50. package/lib/Socket/socket.js +473 -368
  51. package/lib/Socket/usync.d.ts +34 -34
  52. package/lib/Socket/usync.js +36 -23
  53. package/lib/Store/index.d.ts +4 -3
  54. package/lib/Store/index.js +24 -10
  55. package/lib/Store/make-cache-manager-store.d.ts +12 -12
  56. package/lib/Store/make-cache-manager-store.js +48 -41
  57. package/lib/Store/make-in-memory-store.d.ts +90 -85
  58. package/lib/Store/make-in-memory-store.js +206 -208
  59. package/lib/Store/make-ordered-dictionary.d.ts +12 -13
  60. package/lib/Store/make-ordered-dictionary.js +44 -39
  61. package/lib/Store/object-repository.d.ts +9 -9
  62. package/lib/Store/object-repository.js +15 -11
  63. package/lib/Types/Auth.d.ts +96 -85
  64. package/lib/Types/Auth.js +3 -2
  65. package/lib/Types/Call.d.ts +13 -12
  66. package/lib/Types/Call.js +3 -2
  67. package/lib/Types/Chat.d.ts +96 -65
  68. package/lib/Types/Chat.js +9 -4
  69. package/lib/Types/Contact.d.ts +9 -8
  70. package/lib/Types/Contact.js +3 -2
  71. package/lib/Types/Events.d.ts +179 -122
  72. package/lib/Types/Events.js +3 -2
  73. package/lib/Types/GroupMetadata.d.ts +47 -37
  74. package/lib/Types/GroupMetadata.js +3 -2
  75. package/lib/Types/Label.d.ts +14 -12
  76. package/lib/Types/Label.js +30 -26
  77. package/lib/Types/LabelAssociation.d.ts +20 -14
  78. package/lib/Types/LabelAssociation.js +12 -8
  79. package/lib/Types/Message.d.ts +382 -342
  80. package/lib/Types/Message.js +12 -8
  81. package/lib/Types/MexUpdates.d.ts +9 -0
  82. package/lib/Types/MexUpdates.js +18 -0
  83. package/lib/Types/Newsletter.d.ts +62 -45
  84. package/lib/Types/Newsletter.js +40 -32
  85. package/lib/Types/Product.d.ts +71 -57
  86. package/lib/Types/Product.js +3 -2
  87. package/lib/Types/Signal.d.ts +56 -45
  88. package/lib/Types/Signal.js +3 -2
  89. package/lib/Types/Socket.d.ts +66 -62
  90. package/lib/Types/Socket.js +3 -2
  91. package/lib/Types/State.d.ts +28 -14
  92. package/lib/Types/State.js +14 -2
  93. package/lib/Types/USync.d.ts +8 -7
  94. package/lib/Types/USync.js +3 -2
  95. package/lib/Types/index.d.ts +61 -48
  96. package/lib/Types/index.js +42 -36
  97. package/lib/Utils/auth-utils.d.ts +8 -5
  98. package/lib/Utils/auth-utils.js +94 -116
  99. package/lib/Utils/baileys-event-stream.d.ts +7 -5
  100. package/lib/Utils/baileys-event-stream.js +40 -33
  101. package/lib/Utils/business.d.ts +20 -13
  102. package/lib/Utils/business.js +125 -104
  103. package/lib/Utils/chat-utils.d.ts +67 -55
  104. package/lib/Utils/chat-utils.js +337 -301
  105. package/lib/Utils/crypto.d.ts +45 -29
  106. package/lib/Utils/crypto.js +150 -170
  107. package/lib/Utils/decode-wa-message.d.ts +35 -30
  108. package/lib/Utils/decode-wa-message.js +140 -121
  109. package/lib/Utils/event-buffer.d.ts +15 -11
  110. package/lib/Utils/event-buffer.js +261 -213
  111. package/lib/Utils/generics.d.ts +101 -60
  112. package/lib/Utils/generics.js +440 -218
  113. package/lib/Utils/history.d.ts +21 -17
  114. package/lib/Utils/history.js +76 -60
  115. package/lib/Utils/index.d.ts +19 -17
  116. package/lib/Utils/index.js +34 -28
  117. package/lib/Utils/link-preview.d.ts +14 -12
  118. package/lib/Utils/link-preview.js +68 -41
  119. package/lib/Utils/logger.d.ts +13 -2
  120. package/lib/Utils/logger.js +6 -6
  121. package/lib/Utils/lt-hash.d.ts +12 -10
  122. package/lib/Utils/lt-hash.js +34 -27
  123. package/lib/Utils/make-mutex.d.ts +7 -5
  124. package/lib/Utils/make-mutex.js +26 -20
  125. package/lib/Utils/messages-media.d.ts +99 -83
  126. package/lib/Utils/messages-media.js +515 -430
  127. package/lib/Utils/messages.d.ts +63 -37
  128. package/lib/Utils/messages.js +1176 -818
  129. package/lib/Utils/noise-handler.d.ts +19 -19
  130. package/lib/Utils/noise-handler.js +108 -113
  131. package/lib/Utils/process-message.d.ts +32 -24
  132. package/lib/Utils/process-message.js +235 -180
  133. package/lib/Utils/signal.d.ts +32 -23
  134. package/lib/Utils/signal.js +87 -80
  135. package/lib/Utils/use-mongo-file-auth-state.d.ts +6 -0
  136. package/lib/Utils/use-mongo-file-auth-state.js +84 -0
  137. package/lib/Utils/use-multi-file-auth-state.d.ts +10 -4
  138. package/lib/Utils/use-multi-file-auth-state.js +192 -249
  139. package/lib/Utils/use-single-file-auth-state.d.ts +7 -6
  140. package/lib/Utils/use-single-file-auth-state.js +37 -32
  141. package/lib/Utils/validate-connection.d.ts +12 -10
  142. package/lib/Utils/validate-connection.js +105 -123
  143. package/lib/WABinary/constants.d.ts +27 -24
  144. package/lib/WABinary/constants.js +1299 -23
  145. package/lib/WABinary/decode.d.ts +9 -6
  146. package/lib/WABinary/decode.js +179 -155
  147. package/lib/WABinary/encode.d.ts +3 -2
  148. package/lib/WABinary/encode.js +147 -134
  149. package/lib/WABinary/generic-utils.d.ts +27 -13
  150. package/lib/WABinary/generic-utils.js +94 -62
  151. package/lib/WABinary/index.d.ts +5 -5
  152. package/lib/WABinary/index.js +20 -16
  153. package/lib/WABinary/jid-utils.d.ts +46 -24
  154. package/lib/WABinary/jid-utils.js +75 -45
  155. package/lib/WABinary/types.d.ts +13 -9
  156. package/lib/WABinary/types.js +3 -2
  157. package/lib/WAM/BinaryInfo.d.ts +15 -7
  158. package/lib/WAM/BinaryInfo.js +13 -9
  159. package/lib/WAM/constants.d.ts +37 -28
  160. package/lib/WAM/constants.js +29 -8
  161. package/lib/WAM/encode.d.ts +3 -2
  162. package/lib/WAM/encode.js +107 -97
  163. package/lib/WAM/index.d.ts +3 -3
  164. package/lib/WAM/index.js +18 -14
  165. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.d.ts +28 -0
  166. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js +69 -0
  167. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +9 -8
  168. package/lib/WAUSync/Protocols/USyncContactProtocol.js +16 -12
  169. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +22 -18
  170. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +26 -21
  171. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +12 -10
  172. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +18 -13
  173. package/lib/WAUSync/Protocols/USyncLIDProtocol.d.ts +9 -0
  174. package/lib/WAUSync/Protocols/USyncLIDProtocol.js +30 -0
  175. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +12 -10
  176. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +21 -17
  177. package/lib/WAUSync/Protocols/index.d.ts +6 -4
  178. package/lib/WAUSync/Protocols/index.js +21 -15
  179. package/lib/WAUSync/USyncQuery.d.ts +28 -25
  180. package/lib/WAUSync/USyncQuery.js +53 -50
  181. package/lib/WAUSync/USyncUser.d.ts +10 -8
  182. package/lib/WAUSync/USyncUser.js +18 -14
  183. package/lib/WAUSync/index.d.ts +3 -3
  184. package/lib/WAUSync/index.js +18 -14
  185. package/lib/index.d.ts +2 -1
  186. package/lib/index.js +3 -1
  187. package/package.json +21 -18
  188. package/WAProto/GenerateStatics.sh +0 -4
  189. package/lib/Socket/Client/web-socket-client.d.ts +0 -12
  190. package/lib/Socket/Client/web-socket-client.js +0 -62
  191. package/lib/Socket/messages-send.js.bak +0 -1108
  192. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +0 -25
  193. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +0 -53
  194. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +0 -8
  195. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +0 -24
  196. package/readme.md +0 -89
  197. /package/{WASignalGroup → lib/Signal/WASignalGroup}/ciphertext_message.js +0 -0
  198. /package/{WASignalGroup → lib/Signal/WASignalGroup}/group_session_builder.js +0 -0
  199. /package/{WASignalGroup → lib/Signal/WASignalGroup}/protobufs.js +0 -0
  200. /package/{WASignalGroup → lib/Signal/WASignalGroup}/queue_job.js +0 -0
  201. /package/{WASignalGroup → lib/Signal/WASignalGroup}/sender_key_distribution_message.js +0 -0
  202. /package/{WASignalGroup → lib/Signal/WASignalGroup}/sender_key_name.js +0 -0
  203. /package/{WASignalGroup → lib/Signal/WASignalGroup}/sender_key_record.js +0 -0
  204. /package/{WASignalGroup → lib/Signal/WASignalGroup}/sender_key_state.js +0 -0
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2023 WhiskeySockets
3
+ Copyright (c) 2025 Neele
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md ADDED
@@ -0,0 +1,187 @@
1
+
2
+ <p align="center">
3
+ <img src="https://files.catbox.moe/68vl0n.jpg" width="720" alt="Neele Baileys Header" />
4
+ </p>
5
+
6
+ <h1 align="center">🌸 Willkommen bei <code>@neelegirl/baileys</code> 🌸</h1>
7
+ <p align="center"><i>Eine charmante WhatsApp Web API für TypeScript/JavaScript – von einer Prinzessin für alle, die Magie lieben.</i></p>
8
+
9
+ <div align="center">
10
+
11
+ <img src="https://img.shields.io/github/downloads/neelegirl/baileys/total?label=Downloads%20%E2%AD%90" />
12
+ <img src="https://img.shields.io/npm/dw/%40neelegirl%2Fbaileys?label=npm%20Downloads&color=pink" />
13
+ <img src="https://img.shields.io/github/languages/code-size/neelegirl/baileys" />
14
+ <img src="https://img.shields.io/github/license/neelegirl/baileys?color=lightpink" />
15
+ <img src="https://img.shields.io/github/stars/neelegirl/baileys?label=GitHub%20Stars%20%E2%9D%A4" />
16
+ <img src="https://img.shields.io/github/forks/neelegirl/baileys?label=Forks%20%E2%9C%A8" />
17
+ <img src="https://img.shields.io/badge/Multi‑Device-Ready-ff6fb5" />
18
+ <img src="https://img.shields.io/badge/LID‑Kompatibel-Yes-ff9ecf" />
19
+
20
+ </div>
21
+
22
+ ---
23
+
24
+ ## ❗ Wichtige Hinweise
25
+
26
+ Dieses Projekt ist eine zarte Eigenkreation von **@neelegirl** – es steht in keiner offiziellen Verbindung zu WhatsApp.
27
+
28
+ > ⚠️ Bitte benutze es **verantwortungsvoll**:
29
+ > ✖️ Kein Spam, keine Massennachrichten
30
+ > ✖️ Kein Missbrauch für unethische Zwecke
31
+ > ✔️ Stattdessen: Lasst uns **respektvoll Magie verbreiten**! 🌟
32
+
33
+ 💬 **Haftungshinweis:**
34
+ Die Entwickler:innen übernehmen keine Verantwortung für den Gebrauch. Lies die [MIT-Lizenz](https://github.com/neelegirl/baileys/blob/main/LICENSE) für Details.
35
+
36
+ ---
37
+
38
+ ## 🧚‍♀️ Warum <code>@neelegirl/baileys</code>?
39
+
40
+ ✨ **Zauberhafte Vorteile**
41
+
42
+ - 🧠 Ultra leichtgewichtig – keine Browser- oder Selenium-Monster nötig!
43
+ - 🌈 Moderne **WebSocket-Magie** direkt, schnell & stabil
44
+ - 💖 Vollständige **Multi‑Device** Unterstützung
45
+ - 🧩 **LID‑kompatibel** (Linked ID Erkennung & Nutzung)
46
+ - 🧷 Saubere TypeScript‑Typen, DX zum Verlieben
47
+
48
+ ---
49
+
50
+ ## 🌈 Installation (Dein magisches Setup)
51
+
52
+ Mit **yarn**:
53
+
54
+ ```bash
55
+ yarn add @neelegirl/baileys
56
+ ```
57
+
58
+ Mit **npm**:
59
+
60
+ ```bash
61
+ npm i @neelegirl/baileys
62
+ ```
63
+
64
+ Bleeding‑edge direkt von GitHub:
65
+
66
+ ```bash
67
+ yarn add github:neelegirl/baileys
68
+ # oder
69
+ npm i github:neelegirl/baileys
70
+ ```
71
+
72
+ **Import** – ganz leicht:
73
+ ```ts
74
+ import makeWASocket, { useMultiFileAuthState, Browsers } from '@neelegirl/baileys'
75
+ ```
76
+
77
+ ---
78
+
79
+ ## 🌸 Quickstart (inkl. LID‑Magic)
80
+
81
+ Ein kurzer, süßer Start in deinen Zauberwald – mit QR‑Login, Auto‑Reconnect und LID‑Handling. 💫
82
+
83
+ ```ts
84
+ import makeWASocket, {
85
+ useMultiFileAuthState,
86
+ DisconnectReason,
87
+ fetchLatestBaileysVersion,
88
+ jidDecode
89
+ } from '@neelegirl/baileys'
90
+
91
+ async function start() {
92
+ const { state, saveCreds } = await useMultiFileAuthState('./auth_neele')
93
+ const { version } = await fetchLatestBaileysVersion()
94
+
95
+ const sock = makeWASocket({
96
+ version,
97
+ auth: state,
98
+ browser: ['Neele Princess','Safari','1.0'],
99
+ printQRInTerminal: true, // Für Desktop-Dev – mobil gern mit UI scannen
100
+ markOnlineOnConnect: false,
101
+ syncFullHistory: false
102
+ })
103
+
104
+ // 💖 LID-kompatibel: extrahiere sichere Sender-IDs
105
+ const getSenderId = (m: any) => {
106
+ const participant = m?.key?.participant || m?.participant || m?.sender
107
+ const lid = participant || m?.key?.remoteJid
108
+ // Dekodiere LID/JID hübsch & sicher
109
+ const decoded = lid ? jidDecode(lid) : null
110
+ return decoded?.user ? `${decoded.user}@${decoded.server}` : (lid || 'anon')
111
+ }
112
+
113
+ sock.ev.on('messages.upsert', async ({ messages }) => {
114
+ const m = messages[0]
115
+ if (!m?.message) return
116
+
117
+ const from = m.key.remoteJid
118
+ const sender = getSenderId(m)
119
+
120
+ // 🎀 Kleiner Ping-Pong-Zauber
121
+ const body = m.message?.conversation
122
+ || m.message?.extendedTextMessage?.text
123
+ || m.message?.imageMessage?.caption
124
+ || ''
125
+
126
+ if (/^!ping$/i.test(body)) {
127
+ await sock.sendMessage(from, { text: '🏓 Pong! Neele‑Magic online ✨' }, { quoted: m })
128
+ }
129
+
130
+ // ✨ Sticker-Schnellzauber (antworte auf ein Bild)
131
+ if (/^!sticker$/i.test(body) && m.message?.imageMessage) {
132
+ const stream = await sock.downloadMediaMessage(m)
133
+ await sock.sendMessage(from, { sticker: stream }, { quoted: m })
134
+ }
135
+ })
136
+
137
+ sock.ev.on('creds.update', saveCreds)
138
+
139
+ sock.ev.on('connection.update', (u) => {
140
+ const { connection, lastDisconnect } = u
141
+ if (connection === 'close') {
142
+ const shouldReconnect =
143
+ (lastDisconnect?.error as any)?.output?.statusCode !== DisconnectReason.loggedOut
144
+ if (shouldReconnect) start()
145
+ } else if (connection === 'open') {
146
+ console.log('🌸 Verbunden – bereit zum Glitzern!')
147
+ }
148
+ })
149
+ }
150
+
151
+ start().catch(console.error)
152
+ ```
153
+
154
+ ---
155
+
156
+ ## 🧁 Häufige Rezepte
157
+
158
+ - 💌 **Nachrichten**: `sock.sendMessage(jid, { text: 'Hello 🌸' })`
159
+ - 📸 **Medien**: `sock.sendMessage(jid, { image: fs.readFileSync('pic.jpg'), caption: 'Kawaii!' })`
160
+ - 🎀 **Sticker**: Antwort auf `imageMessage` → `{ sticker: stream }`
161
+ - 👥 **Gruppen**: `sock.groupCreate('Neele Club', [user1, user2])`
162
+ - 🧲 **LID‑ID**: mit `jidDecode()` schön & sicher nutzen
163
+
164
+ ---
165
+
166
+ ## 💠 LID‑Kompatibilität (Kurz erklärt)
167
+
168
+ **LID (Linked ID)** sorgt dafür, dass Benutzer:innen auch über geräteübergreifende IDs korrekt erkannt werden.
169
+ Dieses Paket ist **voll LID‑kompatibel**:
170
+ - Extraktion & Normalisierung von Absender‑IDs
171
+ - Sicheres Antworten, auch wenn die Gegenstelle Geräte wechselt
172
+ - Sanfte Fallbacks, wenn keine LID vorliegt
173
+
174
+ > Ergebnis: stabilere Replies, weniger Rätselraten, mehr Glitzer ✨
175
+
176
+ ---
177
+
178
+ ## ❤️ Credits & Danksagung
179
+
180
+ Mit Liebe, Glitzer und rosa Codezeilen von **@neelegirl** erschaffen.
181
+ Wenn dir dieses Projekt gefällt:
182
+
183
+ > ⭐ Gib ihm ein ⭐️ auf GitHub – das wär sooo süß! 🌟
184
+
185
+ ---
186
+
187
+ <p align="center"><i>✨ Möge dein Bot so bezaubernd sein wie ein Anime‑Mädchen mit Glitzeraugen ✨</i></p>