@fer2809fl/baileys 1.4.9 → 7.0.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.
Files changed (481) hide show
  1. package/LICENSE +21 -674
  2. package/README.md +556 -523
  3. package/WAProto/GenerateStatics.sh +3 -4
  4. package/WAProto/WAProto.proto +1215 -511
  5. package/WAProto/fix-imports.js +85 -0
  6. package/WAProto/index.d.ts +4347 -45387
  7. package/WAProto/index.js +65475 -137445
  8. package/engine-requirements.js +10 -0
  9. package/lib/Defaults/index.d.ts +34 -18
  10. package/lib/Defaults/index.d.ts.map +1 -0
  11. package/lib/Defaults/index.js +95 -67
  12. package/lib/Defaults/index.js.map +1 -0
  13. package/lib/Signal/Group/ciphertext-message.d.ts +1 -0
  14. package/lib/Signal/Group/ciphertext-message.d.ts.map +1 -0
  15. package/lib/Signal/Group/ciphertext-message.js +2 -5
  16. package/lib/Signal/Group/ciphertext-message.js.map +1 -0
  17. package/lib/Signal/Group/group-session-builder.d.ts +4 -3
  18. package/lib/Signal/Group/group-session-builder.d.ts.map +1 -0
  19. package/lib/Signal/Group/group-session-builder.js +7 -41
  20. package/lib/Signal/Group/group-session-builder.js.map +1 -0
  21. package/lib/Signal/Group/group_cipher.d.ts +4 -4
  22. package/lib/Signal/Group/group_cipher.d.ts.map +1 -0
  23. package/lib/Signal/Group/group_cipher.js +37 -60
  24. package/lib/Signal/Group/group_cipher.js.map +1 -0
  25. package/lib/Signal/Group/index.d.ts +12 -11
  26. package/lib/Signal/Group/index.d.ts.map +1 -0
  27. package/lib/Signal/Group/index.js +12 -57
  28. package/lib/Signal/Group/index.js.map +1 -0
  29. package/lib/Signal/Group/keyhelper.d.ts +2 -1
  30. package/lib/Signal/Group/keyhelper.d.ts.map +1 -0
  31. package/lib/Signal/Group/keyhelper.js +7 -44
  32. package/lib/Signal/Group/keyhelper.js.map +1 -0
  33. package/lib/Signal/Group/sender-chain-key.d.ts +3 -2
  34. package/lib/Signal/Group/sender-chain-key.d.ts.map +1 -0
  35. package/lib/Signal/Group/sender-chain-key.js +7 -15
  36. package/lib/Signal/Group/sender-chain-key.js.map +1 -0
  37. package/lib/Signal/Group/sender-key-distribution-message.d.ts +2 -1
  38. package/lib/Signal/Group/sender-key-distribution-message.d.ts.map +1 -0
  39. package/lib/Signal/Group/sender-key-distribution-message.js +8 -11
  40. package/lib/Signal/Group/sender-key-distribution-message.js.map +1 -0
  41. package/lib/Signal/Group/sender-key-message.d.ts +2 -1
  42. package/lib/Signal/Group/sender-key-message.d.ts.map +1 -0
  43. package/lib/Signal/Group/sender-key-message.js +9 -12
  44. package/lib/Signal/Group/sender-key-message.js.map +1 -0
  45. package/lib/Signal/Group/sender-key-name.d.ts +1 -0
  46. package/lib/Signal/Group/sender-key-name.d.ts.map +1 -0
  47. package/lib/Signal/Group/sender-key-name.js +2 -5
  48. package/lib/Signal/Group/sender-key-name.js.map +1 -0
  49. package/lib/Signal/Group/sender-key-record.d.ts +3 -2
  50. package/lib/Signal/Group/sender-key-record.d.ts.map +1 -0
  51. package/lib/Signal/Group/sender-key-record.js +12 -37
  52. package/lib/Signal/Group/sender-key-record.js.map +1 -0
  53. package/lib/Signal/Group/sender-key-state.d.ts +7 -6
  54. package/lib/Signal/Group/sender-key-state.d.ts.map +1 -0
  55. package/lib/Signal/Group/sender-key-state.js +27 -42
  56. package/lib/Signal/Group/sender-key-state.js.map +1 -0
  57. package/lib/Signal/Group/sender-message-key.d.ts +1 -0
  58. package/lib/Signal/Group/sender-message-key.d.ts.map +1 -0
  59. package/lib/Signal/Group/sender-message-key.js +4 -7
  60. package/lib/Signal/Group/sender-message-key.js.map +1 -0
  61. package/lib/Signal/libsignal.d.ts +5 -3
  62. package/lib/Signal/libsignal.d.ts.map +1 -0
  63. package/lib/Signal/libsignal.js +347 -90
  64. package/lib/Signal/libsignal.js.map +1 -0
  65. package/lib/Signal/lid-mapping.d.ts +23 -0
  66. package/lib/Signal/lid-mapping.d.ts.map +1 -0
  67. package/lib/Signal/lid-mapping.js +277 -0
  68. package/lib/Signal/lid-mapping.js.map +1 -0
  69. package/lib/Socket/Client/index.d.ts +3 -2
  70. package/lib/Socket/Client/index.d.ts.map +1 -0
  71. package/lib/Socket/Client/index.js +3 -18
  72. package/lib/Socket/Client/index.js.map +1 -0
  73. package/lib/Socket/Client/types.d.ts +4 -4
  74. package/lib/Socket/Client/types.d.ts.map +1 -0
  75. package/lib/Socket/Client/types.js +4 -6
  76. package/lib/Socket/Client/types.js.map +1 -0
  77. package/lib/Socket/Client/websocket.d.ts +3 -3
  78. package/lib/Socket/Client/websocket.d.ts.map +1 -0
  79. package/lib/Socket/Client/websocket.js +21 -78
  80. package/lib/Socket/Client/websocket.js.map +1 -0
  81. package/lib/Socket/business.d.ts +205 -93
  82. package/lib/Socket/business.d.ts.map +1 -0
  83. package/lib/Socket/business.js +162 -43
  84. package/lib/Socket/business.js.map +1 -0
  85. package/lib/Socket/chats.d.ts +77 -28
  86. package/lib/Socket/chats.d.ts.map +1 -0
  87. package/lib/Socket/chats.js +639 -248
  88. package/lib/Socket/chats.js.map +1 -0
  89. package/lib/Socket/communities.d.ts +340 -0
  90. package/lib/Socket/communities.d.ts.map +1 -0
  91. package/lib/Socket/communities.js +434 -0
  92. package/lib/Socket/communities.js.map +1 -0
  93. package/lib/Socket/groups.d.ts +93 -46
  94. package/lib/Socket/groups.d.ts.map +1 -0
  95. package/lib/Socket/groups.js +260 -102
  96. package/lib/Socket/groups.js.map +1 -0
  97. package/lib/Socket/index.d.ts +253 -98
  98. package/lib/Socket/index.d.ts.map +1 -0
  99. package/lib/Socket/index.js +11 -9
  100. package/lib/Socket/index.js.map +1 -0
  101. package/lib/Socket/messages-recv.d.ts +192 -83
  102. package/lib/Socket/messages-recv.d.ts.map +1 -0
  103. package/lib/Socket/messages-recv.js +1314 -559
  104. package/lib/Socket/messages-recv.js.map +1 -0
  105. package/lib/Socket/messages-send.d.ts +190 -75
  106. package/lib/Socket/messages-send.d.ts.map +1 -0
  107. package/lib/Socket/messages-send.js +937 -581
  108. package/lib/Socket/messages-send.js.map +1 -0
  109. package/lib/Socket/mex.d.ts +4 -0
  110. package/lib/Socket/mex.d.ts.map +1 -0
  111. package/lib/Socket/mex.js +62 -0
  112. package/lib/Socket/mex.js.map +1 -0
  113. package/lib/Socket/newsletter.d.ts +129 -73
  114. package/lib/Socket/newsletter.d.ts.map +1 -0
  115. package/lib/Socket/newsletter.js +373 -222
  116. package/lib/Socket/newsletter.js.map +1 -0
  117. package/lib/Socket/smgss.d.ts +119 -0
  118. package/lib/Socket/smgss.d.ts.map +1 -0
  119. package/lib/Socket/smgss.js +453 -0
  120. package/lib/Socket/smgss.js.map +1 -0
  121. package/lib/Socket/socket.d.ts +59 -270
  122. package/lib/Socket/socket.d.ts.map +1 -0
  123. package/lib/Socket/socket.js +738 -326
  124. package/lib/Socket/socket.js.map +1 -0
  125. package/lib/Store/index.d.ts +4 -2
  126. package/lib/Store/index.d.ts.map +1 -0
  127. package/lib/Store/index.js +4 -8
  128. package/lib/Store/index.js.map +1 -0
  129. package/lib/Store/make-in-memory-store.d.ts +74 -60
  130. package/lib/Store/make-in-memory-store.d.ts.map +1 -0
  131. package/lib/Store/make-in-memory-store.js +130 -119
  132. package/lib/Store/make-in-memory-store.js.map +1 -0
  133. package/lib/Store/make-ordered-dictionary.d.ts +4 -3
  134. package/lib/Store/make-ordered-dictionary.d.ts.map +1 -0
  135. package/lib/Store/make-ordered-dictionary.js +5 -6
  136. package/lib/Store/make-ordered-dictionary.js.map +1 -0
  137. package/lib/Store/object-repository.d.ts +6 -3
  138. package/lib/Store/object-repository.d.ts.map +1 -0
  139. package/lib/Store/object-repository.js +2 -5
  140. package/lib/Store/object-repository.js.map +1 -0
  141. package/lib/Types/Auth.d.ts +19 -5
  142. package/lib/Types/Auth.d.ts.map +1 -0
  143. package/lib/Types/Auth.js +2 -2
  144. package/lib/Types/Auth.js.map +1 -0
  145. package/lib/Types/Bussines.d.ts +25 -0
  146. package/lib/Types/Bussines.d.ts.map +1 -0
  147. package/lib/Types/Bussines.js +2 -0
  148. package/lib/Types/Bussines.js.map +1 -0
  149. package/lib/Types/Call.d.ts +3 -1
  150. package/lib/Types/Call.d.ts.map +1 -0
  151. package/lib/Types/Call.js +2 -2
  152. package/lib/Types/Call.js.map +1 -0
  153. package/lib/Types/Chat.d.ts +24 -9
  154. package/lib/Types/Chat.d.ts.map +1 -0
  155. package/lib/Types/Chat.js +8 -4
  156. package/lib/Types/Chat.js.map +1 -0
  157. package/lib/Types/Contact.d.ts +7 -4
  158. package/lib/Types/Contact.d.ts.map +1 -0
  159. package/lib/Types/Contact.js +2 -2
  160. package/lib/Types/Contact.js.map +1 -0
  161. package/lib/Types/Events.d.ts +90 -33
  162. package/lib/Types/Events.d.ts.map +1 -0
  163. package/lib/Types/Events.js +2 -2
  164. package/lib/Types/Events.js.map +1 -0
  165. package/lib/Types/GroupMetadata.d.ts +16 -9
  166. package/lib/Types/GroupMetadata.d.ts.map +1 -0
  167. package/lib/Types/GroupMetadata.js +2 -2
  168. package/lib/Types/GroupMetadata.js.map +1 -0
  169. package/lib/Types/Label.d.ts +12 -0
  170. package/lib/Types/Label.d.ts.map +1 -0
  171. package/lib/Types/Label.js +3 -5
  172. package/lib/Types/Label.js.map +1 -0
  173. package/lib/Types/LabelAssociation.d.ts +1 -0
  174. package/lib/Types/LabelAssociation.d.ts.map +1 -0
  175. package/lib/Types/LabelAssociation.js +3 -5
  176. package/lib/Types/LabelAssociation.js.map +1 -0
  177. package/lib/Types/Message.d.ts +176 -148
  178. package/lib/Types/Message.d.ts.map +1 -0
  179. package/lib/Types/Message.js +15 -7
  180. package/lib/Types/Message.js.map +1 -0
  181. package/lib/Types/Mex.d.ts +154 -0
  182. package/lib/Types/Mex.d.ts.map +1 -0
  183. package/lib/Types/Mex.js +39 -0
  184. package/lib/Types/Mex.js.map +1 -0
  185. package/lib/Types/Product.d.ts +2 -1
  186. package/lib/Types/Product.d.ts.map +1 -0
  187. package/lib/Types/Product.js +2 -2
  188. package/lib/Types/Product.js.map +1 -0
  189. package/lib/Types/Signal.d.ts +32 -2
  190. package/lib/Types/Signal.d.ts.map +1 -0
  191. package/lib/Types/Signal.js +2 -2
  192. package/lib/Types/Signal.js.map +1 -0
  193. package/lib/Types/Socket.d.ts +46 -20
  194. package/lib/Types/Socket.d.ts.map +1 -0
  195. package/lib/Types/Socket.js +3 -2
  196. package/lib/Types/Socket.js.map +1 -0
  197. package/lib/Types/State.d.ts +79 -2
  198. package/lib/Types/State.d.ts.map +1 -0
  199. package/lib/Types/State.js +56 -2
  200. package/lib/Types/State.js.map +1 -0
  201. package/lib/Types/USync.d.ts +3 -2
  202. package/lib/Types/USync.d.ts.map +1 -0
  203. package/lib/Types/USync.js +2 -2
  204. package/lib/Types/USync.js.map +1 -0
  205. package/lib/Types/index.d.ts +16 -14
  206. package/lib/Types/index.d.ts.map +1 -0
  207. package/lib/Types/index.js +15 -31
  208. package/lib/Types/index.js.map +1 -0
  209. package/lib/Utils/auth-utils.d.ts +10 -4
  210. package/lib/Utils/auth-utils.d.ts.map +1 -0
  211. package/lib/Utils/auth-utils.js +242 -151
  212. package/lib/Utils/auth-utils.js.map +1 -0
  213. package/lib/Utils/browser-utils.d.ts +4 -0
  214. package/lib/Utils/browser-utils.d.ts.map +1 -0
  215. package/lib/Utils/browser-utils.js +29 -0
  216. package/lib/Utils/browser-utils.js.map +1 -0
  217. package/lib/Utils/business.d.ts +3 -2
  218. package/lib/Utils/business.d.ts.map +1 -0
  219. package/lib/Utils/business.js +66 -69
  220. package/lib/Utils/business.js.map +1 -0
  221. package/lib/Utils/button-handler.d.ts +28 -0
  222. package/lib/Utils/button-handler.d.ts.map +1 -0
  223. package/lib/Utils/button-handler.js +79 -90
  224. package/lib/Utils/button-handler.js.map +1 -0
  225. package/lib/Utils/chat-utils.d.ts +42 -12
  226. package/lib/Utils/chat-utils.d.ts.map +1 -0
  227. package/lib/Utils/chat-utils.js +380 -238
  228. package/lib/Utils/chat-utils.js.map +1 -0
  229. package/lib/Utils/companion-reg-client-utils.d.ts +17 -0
  230. package/lib/Utils/companion-reg-client-utils.d.ts.map +1 -0
  231. package/lib/Utils/companion-reg-client-utils.js +35 -0
  232. package/lib/Utils/companion-reg-client-utils.js.map +1 -0
  233. package/lib/Utils/crypto.d.ts +11 -14
  234. package/lib/Utils/crypto.d.ts.map +1 -0
  235. package/lib/Utils/crypto.js +41 -116
  236. package/lib/Utils/crypto.js.map +1 -0
  237. package/lib/Utils/decode-wa-message.d.ts +36 -5
  238. package/lib/Utils/decode-wa-message.d.ts.map +1 -0
  239. package/lib/Utils/decode-wa-message.js +173 -63
  240. package/lib/Utils/decode-wa-message.js.map +1 -0
  241. package/lib/Utils/event-buffer.d.ts +8 -7
  242. package/lib/Utils/event-buffer.d.ts.map +1 -0
  243. package/lib/Utils/event-buffer.js +174 -70
  244. package/lib/Utils/event-buffer.js.map +1 -0
  245. package/lib/Utils/generics.d.ts +20 -17
  246. package/lib/Utils/generics.d.ts.map +1 -0
  247. package/lib/Utils/generics.js +159 -207
  248. package/lib/Utils/generics.js.map +1 -0
  249. package/lib/Utils/history.d.ts +16 -11
  250. package/lib/Utils/history.d.ts.map +1 -0
  251. package/lib/Utils/history.js +93 -53
  252. package/lib/Utils/history.js.map +1 -0
  253. package/lib/Utils/identity-change-handler.d.ts +44 -0
  254. package/lib/Utils/identity-change-handler.d.ts.map +1 -0
  255. package/lib/Utils/identity-change-handler.js +50 -0
  256. package/lib/Utils/identity-change-handler.js.map +1 -0
  257. package/lib/Utils/index.d.ts +30 -18
  258. package/lib/Utils/index.d.ts.map +1 -0
  259. package/lib/Utils/index.js +30 -34
  260. package/lib/Utils/index.js.map +1 -0
  261. package/lib/Utils/interactive.d.ts +60 -0
  262. package/lib/Utils/interactive.d.ts.map +1 -0
  263. package/lib/Utils/interactive.js +87 -117
  264. package/lib/Utils/interactive.js.map +1 -0
  265. package/lib/Utils/link-preview.d.ts +4 -4
  266. package/lib/Utils/link-preview.d.ts.map +1 -0
  267. package/lib/Utils/link-preview.js +17 -58
  268. package/lib/Utils/link-preview.js.map +1 -0
  269. package/lib/Utils/logger.d.ts +8 -6
  270. package/lib/Utils/logger.d.ts.map +1 -0
  271. package/lib/Utils/logger.js +3 -10
  272. package/lib/Utils/logger.js.map +1 -0
  273. package/lib/Utils/lt-hash.d.ts +8 -12
  274. package/lib/Utils/lt-hash.d.ts.map +1 -0
  275. package/lib/Utils/lt-hash.js +3 -46
  276. package/lib/Utils/lt-hash.js.map +1 -0
  277. package/lib/Utils/make-mutex.d.ts +2 -0
  278. package/lib/Utils/make-mutex.d.ts.map +1 -0
  279. package/lib/Utils/make-mutex.js +24 -34
  280. package/lib/Utils/make-mutex.js.map +1 -0
  281. package/lib/Utils/message-composer.d.ts +93 -0
  282. package/lib/Utils/message-composer.d.ts.map +1 -0
  283. package/lib/Utils/message-composer.js +311 -0
  284. package/lib/Utils/message-composer.js.map +1 -0
  285. package/lib/Utils/message-retry-manager.d.ts +115 -0
  286. package/lib/Utils/message-retry-manager.d.ts.map +1 -0
  287. package/lib/Utils/message-retry-manager.js +265 -0
  288. package/lib/Utils/message-retry-manager.js.map +1 -0
  289. package/lib/Utils/messages-media.d.ts +82 -40
  290. package/lib/Utils/messages-media.d.ts.map +1 -0
  291. package/lib/Utils/messages-media.js +674 -677
  292. package/lib/Utils/messages-media.js.map +1 -0
  293. package/lib/Utils/messages-newsletter.d.ts +74 -0
  294. package/lib/Utils/messages-newsletter.d.ts.map +1 -0
  295. package/lib/Utils/messages-newsletter.js +128 -0
  296. package/lib/Utils/messages-newsletter.js.map +1 -0
  297. package/lib/Utils/messages.d.ts +38 -14
  298. package/lib/Utils/messages.d.ts.map +1 -0
  299. package/lib/Utils/messages.js +835 -602
  300. package/lib/Utils/messages.js.map +1 -0
  301. package/lib/Utils/noise-handler.d.ts +9 -8
  302. package/lib/Utils/noise-handler.d.ts.map +1 -0
  303. package/lib/Utils/noise-handler.js +149 -98
  304. package/lib/Utils/noise-handler.js.map +1 -0
  305. package/lib/Utils/offline-node-processor.d.ts +17 -0
  306. package/lib/Utils/offline-node-processor.d.ts.map +1 -0
  307. package/lib/Utils/offline-node-processor.js +40 -0
  308. package/lib/Utils/offline-node-processor.js.map +1 -0
  309. package/lib/Utils/pre-key-manager.d.ts +28 -0
  310. package/lib/Utils/pre-key-manager.d.ts.map +1 -0
  311. package/lib/Utils/pre-key-manager.js +106 -0
  312. package/lib/Utils/pre-key-manager.js.map +1 -0
  313. package/lib/Utils/process-message.d.ts +30 -12
  314. package/lib/Utils/process-message.d.ts.map +1 -0
  315. package/lib/Utils/process-message.js +438 -230
  316. package/lib/Utils/process-message.js.map +1 -0
  317. package/lib/Utils/reporting-utils.d.ts +11 -0
  318. package/lib/Utils/reporting-utils.d.ts.map +1 -0
  319. package/lib/Utils/reporting-utils.js +258 -0
  320. package/lib/Utils/reporting-utils.js.map +1 -0
  321. package/lib/Utils/shortcake-crypto.d.ts +36 -0
  322. package/lib/Utils/shortcake-crypto.d.ts.map +1 -0
  323. package/lib/Utils/shortcake-crypto.js +71 -0
  324. package/lib/Utils/shortcake-crypto.js.map +1 -0
  325. package/lib/Utils/shortcake.d.ts +36 -0
  326. package/lib/Utils/shortcake.d.ts.map +1 -0
  327. package/lib/Utils/shortcake.js +162 -0
  328. package/lib/Utils/shortcake.js.map +1 -0
  329. package/lib/Utils/signal.d.ts +20 -6
  330. package/lib/Utils/signal.d.ts.map +1 -0
  331. package/lib/Utils/signal.js +112 -64
  332. package/lib/Utils/signal.js.map +1 -0
  333. package/lib/Utils/stanza-ack.d.ts +11 -0
  334. package/lib/Utils/stanza-ack.d.ts.map +1 -0
  335. package/lib/Utils/stanza-ack.js +38 -0
  336. package/lib/Utils/stanza-ack.js.map +1 -0
  337. package/lib/Utils/sync-action-utils.d.ts +19 -0
  338. package/lib/Utils/sync-action-utils.d.ts.map +1 -0
  339. package/lib/Utils/sync-action-utils.js +49 -0
  340. package/lib/Utils/sync-action-utils.js.map +1 -0
  341. package/lib/Utils/tc-token-utils.d.ts +37 -0
  342. package/lib/Utils/tc-token-utils.d.ts.map +1 -0
  343. package/lib/Utils/tc-token-utils.js +164 -0
  344. package/lib/Utils/tc-token-utils.js.map +1 -0
  345. package/lib/Utils/use-multi-file-auth-state.d.ts +2 -1
  346. package/lib/Utils/use-multi-file-auth-state.d.ts.map +1 -0
  347. package/lib/Utils/use-multi-file-auth-state.js +40 -64
  348. package/lib/Utils/use-multi-file-auth-state.js.map +1 -0
  349. package/lib/Utils/use-single-file-auth-state.d.ts +6 -0
  350. package/lib/Utils/use-single-file-auth-state.d.ts.map +1 -0
  351. package/lib/Utils/use-single-file-auth-state.js +111 -0
  352. package/lib/Utils/use-single-file-auth-state.js.map +1 -0
  353. package/lib/Utils/use-sqlite-auth-state.d.ts +14 -0
  354. package/lib/Utils/use-sqlite-auth-state.d.ts.map +1 -0
  355. package/lib/Utils/use-sqlite-auth-state.js +107 -0
  356. package/lib/Utils/use-sqlite-auth-state.js.map +1 -0
  357. package/lib/Utils/validate-connection.d.ts +5 -3
  358. package/lib/Utils/validate-connection.d.ts.map +1 -0
  359. package/lib/Utils/validate-connection.js +82 -101
  360. package/lib/Utils/validate-connection.js.map +1 -0
  361. package/lib/WABinary/constants.d.ts +1 -0
  362. package/lib/WABinary/constants.d.ts.map +1 -0
  363. package/lib/WABinary/constants.js +10 -12
  364. package/lib/WABinary/constants.js.map +1 -0
  365. package/lib/WABinary/decode.d.ts +2 -1
  366. package/lib/WABinary/decode.d.ts.map +1 -0
  367. package/lib/WABinary/decode.js +49 -52
  368. package/lib/WABinary/decode.js.map +1 -0
  369. package/lib/WABinary/encode.d.ts +2 -1
  370. package/lib/WABinary/encode.d.ts.map +1 -0
  371. package/lib/WABinary/encode.js +19 -49
  372. package/lib/WABinary/encode.js.map +1 -0
  373. package/lib/WABinary/generic-utils.d.ts +5 -4
  374. package/lib/WABinary/generic-utils.d.ts.map +1 -0
  375. package/lib/WABinary/generic-utils.js +46 -43
  376. package/lib/WABinary/generic-utils.js.map +1 -0
  377. package/lib/WABinary/index.d.ts +6 -5
  378. package/lib/WABinary/index.d.ts.map +1 -0
  379. package/lib/WABinary/index.js +6 -21
  380. package/lib/WABinary/index.js.map +1 -0
  381. package/lib/WABinary/jid-utils.d.ts +32 -10
  382. package/lib/WABinary/jid-utils.d.ts.map +1 -0
  383. package/lib/WABinary/jid-utils.js +103 -59
  384. package/lib/WABinary/jid-utils.js.map +1 -0
  385. package/lib/WABinary/types.d.ts +2 -1
  386. package/lib/WABinary/types.d.ts.map +1 -0
  387. package/lib/WABinary/types.js +2 -2
  388. package/lib/WABinary/types.js.map +1 -0
  389. package/lib/WAM/BinaryInfo.d.ts +2 -1
  390. package/lib/WAM/BinaryInfo.d.ts.map +1 -0
  391. package/lib/WAM/BinaryInfo.js +2 -5
  392. package/lib/WAM/BinaryInfo.js.map +1 -0
  393. package/lib/WAM/constants.d.ts +5 -3
  394. package/lib/WAM/constants.d.ts.map +1 -0
  395. package/lib/WAM/constants.js +19071 -11568
  396. package/lib/WAM/constants.js.map +1 -0
  397. package/lib/WAM/encode.d.ts +2 -1
  398. package/lib/WAM/encode.d.ts.map +1 -0
  399. package/lib/WAM/encode.js +17 -22
  400. package/lib/WAM/encode.js.map +1 -0
  401. package/lib/WAM/index.d.ts +4 -3
  402. package/lib/WAM/index.d.ts.map +1 -0
  403. package/lib/WAM/index.js +4 -19
  404. package/lib/WAM/index.js.map +1 -0
  405. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +4 -3
  406. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -0
  407. package/lib/WAUSync/Protocols/USyncContactProtocol.js +33 -13
  408. package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -0
  409. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +3 -2
  410. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +1 -0
  411. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +11 -14
  412. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +1 -0
  413. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +3 -2
  414. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +1 -0
  415. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +8 -11
  416. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +1 -0
  417. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +3 -2
  418. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +1 -0
  419. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +9 -13
  420. package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +1 -0
  421. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +10 -0
  422. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts.map +1 -0
  423. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +25 -0
  424. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js.map +1 -0
  425. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +4 -3
  426. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts.map +1 -0
  427. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +20 -22
  428. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js.map +1 -0
  429. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +5 -3
  430. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +1 -0
  431. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +13 -8
  432. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +1 -0
  433. package/lib/WAUSync/Protocols/index.d.ts +6 -4
  434. package/lib/WAUSync/Protocols/index.d.ts.map +1 -0
  435. package/lib/WAUSync/Protocols/index.js +6 -20
  436. package/lib/WAUSync/Protocols/index.js.map +1 -0
  437. package/lib/WAUSync/USyncQuery.d.ts +6 -4
  438. package/lib/WAUSync/USyncQuery.d.ts.map +1 -0
  439. package/lib/WAUSync/USyncQuery.js +44 -35
  440. package/lib/WAUSync/USyncQuery.js.map +1 -0
  441. package/lib/WAUSync/USyncUser.d.ts +10 -5
  442. package/lib/WAUSync/USyncUser.d.ts.map +1 -0
  443. package/lib/WAUSync/USyncUser.js +10 -5
  444. package/lib/WAUSync/USyncUser.js.map +1 -0
  445. package/lib/WAUSync/index.d.ts +4 -3
  446. package/lib/WAUSync/index.d.ts.map +1 -0
  447. package/lib/WAUSync/index.js +4 -19
  448. package/lib/WAUSync/index.js.map +1 -0
  449. package/lib/index.d.ts +12 -15
  450. package/lib/index.d.ts.map +1 -0
  451. package/lib/index.js +15 -48
  452. package/lib/index.js.map +1 -0
  453. package/package.json +44 -64
  454. package/WAProto/index.ts.ts +0 -53473
  455. package/WAProto/n +0 -1
  456. package/lib/Baileys.jpeg +0 -0
  457. package/lib/Defaults/baileys-version.json +0 -3
  458. package/lib/Defaults/n +0 -1
  459. package/lib/Signal/Group/queue-job.d.ts +0 -1
  460. package/lib/Signal/Group/queue-job.js +0 -57
  461. package/lib/Signal/n +0 -1
  462. package/lib/Socket/Client/n +0 -1
  463. package/lib/Socket/n +0 -1
  464. package/lib/Socket/setup.js +0 -480
  465. package/lib/Socket/setup.ts +0 -622
  466. package/lib/Socket/usync.d.ts +0 -36
  467. package/lib/Socket/usync.js +0 -70
  468. package/lib/Store/n +0 -1
  469. package/lib/Types/Newsletter.d.ts +0 -79
  470. package/lib/Types/Newsletter.js +0 -18
  471. package/lib/Types/n +0 -1
  472. package/lib/Utils/baileys-event-stream.d.ts +0 -16
  473. package/lib/Utils/baileys-event-stream.js +0 -63
  474. package/lib/Utils/error-handler.js +0 -37
  475. package/lib/Utils/n +0 -1
  476. package/lib/WABinary/jid-utils.js.bak +0 -83
  477. package/lib/WABinary/n +0 -1
  478. package/lib/WAM/n +0 -1
  479. package/lib/WAUSync/Protocols/n +0 -1
  480. package/lib/WAUSync/n +0 -1
  481. package/lib/n +0 -1
@@ -0,0 +1,29 @@
1
+ import { platform, release } from 'os';
2
+ import { proto } from '../../WAProto/index.js';
3
+ const PLATFORM_MAP = {
4
+ aix: 'AIX',
5
+ darwin: 'Mac OS',
6
+ win32: 'Windows',
7
+ android: 'Android',
8
+ freebsd: 'FreeBSD',
9
+ openbsd: 'OpenBSD',
10
+ sunos: 'Solaris',
11
+ linux: undefined,
12
+ haiku: undefined,
13
+ cygwin: undefined,
14
+ netbsd: undefined
15
+ };
16
+ export const Browsers = {
17
+ ubuntu: browser => ['Ubuntu', browser, '22.04.4'],
18
+ macOS: browser => ['Mac OS', browser, '14.4.1'],
19
+ baileys: browser => ['Baileys', browser, '6.5.0'],
20
+ windows: browser => ['Windows', browser, '10.0.22631'],
21
+ android: browser => [browser, 'Android', ''],
22
+ /** The appropriate browser based on your OS & release */
23
+ appropriate: browser => [PLATFORM_MAP[platform()] || 'Ubuntu', browser, release()]
24
+ };
25
+ export const getPlatformId = (browser) => {
26
+ const platformType = proto.DeviceProps.PlatformType[browser.toUpperCase()];
27
+ return platformType ? platformType.toString() : '1'; //chrome
28
+ };
29
+ //# sourceMappingURL=browser-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-utils.js","sourceRoot":"","sources":["../../src/Utils/browser-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAG9C,MAAM,YAAY,GAAG;IACpB,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;CACjB,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAgB;IACpC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC;IACjD,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;IAC/C,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC;IACjD,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC;IACtD,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC;IAC5C,yDAAyD;IACzD,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,IAAI,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;CAClF,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAe,EAAE,EAAE;IAChD,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAS,CAAC,CAAA;IACjF,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA,CAAC,QAAQ;AAC7D,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
- import { CatalogCollection, OrderDetails, Product, ProductCreate, ProductUpdate, WAMediaUpload, WAMediaUploadFunction } from '../Types';
2
- import { BinaryNode } from '../WABinary';
1
+ import type { CatalogCollection, OrderDetails, Product, ProductCreate, ProductUpdate, WAMediaUpload, WAMediaUploadFunction } from '../Types/index.js';
2
+ import { type BinaryNode } from '../WABinary/index.js';
3
3
  export declare const parseCatalogNode: (node: BinaryNode) => {
4
4
  products: Product[];
5
5
  nextPageCursor: string | undefined;
@@ -20,3 +20,4 @@ export declare function uploadingNecessaryImagesOfProduct<T extends ProductUpdat
20
20
  export declare const uploadingNecessaryImages: (images: WAMediaUpload[], waUploadToServer: WAMediaUploadFunction, timeoutMs?: number) => Promise<{
21
21
  url: string;
22
22
  }[]>;
23
+ //# sourceMappingURL=business.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"business.d.ts","sourceRoot":"","sources":["../../src/Utils/business.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACX,iBAAiB,EAEjB,YAAY,EAEZ,OAAO,EACP,aAAa,EACb,aAAa,EACb,aAAa,EACb,qBAAqB,EACrB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,KAAK,UAAU,EAAuE,MAAM,aAAa,CAAA;AAIlH,eAAO,MAAM,gBAAgB,GAAI,MAAM,UAAU;;;CAShD,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,MAAM,UAAU;;CAkBpD,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,MAAM,UAAU,iBAyBrD,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,WAAW,MAAM,GAAG,SAAS,EAAE,SAAS,aAAa,GAAG,aAAa,eAwGlG,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,aAAa,UAAU,YAwBvD,CAAA;AAED;;GAEG;AACH,wBAAsB,iCAAiC,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,EAC9F,OAAO,EAAE,CAAC,EACV,gBAAgB,EAAE,qBAAqB,EACvC,SAAS,SAAS,cASlB;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,GACpC,QAAQ,aAAa,EAAE,EACvB,kBAAkB,qBAAqB,EACvC,kBAAkB;SAGS,MAAM;IAiCjC,CAAA"}
@@ -1,29 +1,26 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.uploadingNecessaryImages = exports.parseProductNode = exports.toProductNode = exports.parseOrderDetailsNode = exports.parseCollectionsNode = exports.parseCatalogNode = void 0;
4
- exports.uploadingNecessaryImagesOfProduct = uploadingNecessaryImagesOfProduct;
5
- const boom_1 = require("@hapi/boom");
6
- const crypto_1 = require("crypto");
7
- const WABinary_1 = require("../WABinary");
8
- const messages_media_1 = require("./messages-media");
9
- const parseCatalogNode = (node) => {
10
- const catalogNode = (0, WABinary_1.getBinaryNodeChild)(node, 'product_catalog');
11
- const products = (0, WABinary_1.getBinaryNodeChildren)(catalogNode, 'product').map(exports.parseProductNode);
12
- const paging = (0, WABinary_1.getBinaryNodeChild)(catalogNode, 'paging');
1
+ import { Boom } from '@hapi/boom';
2
+ import { createHash } from 'crypto';
3
+ import { createWriteStream, promises as fs } from 'fs';
4
+ import { tmpdir } from 'os';
5
+ import { join } from 'path';
6
+ import { getBinaryNodeChild, getBinaryNodeChildren, getBinaryNodeChildString } from '../WABinary/index.js';
7
+ import { generateMessageIDV2 } from './generics.js';
8
+ import { getStream, getUrlFromDirectPath } from './messages-media.js';
9
+ export const parseCatalogNode = (node) => {
10
+ const catalogNode = getBinaryNodeChild(node, 'product_catalog');
11
+ const products = getBinaryNodeChildren(catalogNode, 'product').map(parseProductNode);
12
+ const paging = getBinaryNodeChild(catalogNode, 'paging');
13
13
  return {
14
14
  products,
15
- nextPageCursor: paging
16
- ? (0, WABinary_1.getBinaryNodeChildString)(paging, 'after')
17
- : undefined
15
+ nextPageCursor: paging ? getBinaryNodeChildString(paging, 'after') : undefined
18
16
  };
19
17
  };
20
- exports.parseCatalogNode = parseCatalogNode;
21
- const parseCollectionsNode = (node) => {
22
- const collectionsNode = (0, WABinary_1.getBinaryNodeChild)(node, 'collections');
23
- const collections = (0, WABinary_1.getBinaryNodeChildren)(collectionsNode, 'collection').map(collectionNode => {
24
- const id = (0, WABinary_1.getBinaryNodeChildString)(collectionNode, 'id');
25
- const name = (0, WABinary_1.getBinaryNodeChildString)(collectionNode, 'name');
26
- const products = (0, WABinary_1.getBinaryNodeChildren)(collectionNode, 'product').map(exports.parseProductNode);
18
+ export const parseCollectionsNode = (node) => {
19
+ const collectionsNode = getBinaryNodeChild(node, 'collections');
20
+ const collections = getBinaryNodeChildren(collectionsNode, 'collection').map(collectionNode => {
21
+ const id = getBinaryNodeChildString(collectionNode, 'id');
22
+ const name = getBinaryNodeChildString(collectionNode, 'name');
23
+ const products = getBinaryNodeChildren(collectionNode, 'product').map(parseProductNode);
27
24
  return {
28
25
  id,
29
26
  name,
@@ -35,32 +32,30 @@ const parseCollectionsNode = (node) => {
35
32
  collections
36
33
  };
37
34
  };
38
- exports.parseCollectionsNode = parseCollectionsNode;
39
- const parseOrderDetailsNode = (node) => {
40
- const orderNode = (0, WABinary_1.getBinaryNodeChild)(node, 'order');
41
- const products = (0, WABinary_1.getBinaryNodeChildren)(orderNode, 'product').map(productNode => {
42
- const imageNode = (0, WABinary_1.getBinaryNodeChild)(productNode, 'image');
35
+ export const parseOrderDetailsNode = (node) => {
36
+ const orderNode = getBinaryNodeChild(node, 'order');
37
+ const products = getBinaryNodeChildren(orderNode, 'product').map(productNode => {
38
+ const imageNode = getBinaryNodeChild(productNode, 'image');
43
39
  return {
44
- id: (0, WABinary_1.getBinaryNodeChildString)(productNode, 'id'),
45
- name: (0, WABinary_1.getBinaryNodeChildString)(productNode, 'name'),
46
- imageUrl: (0, WABinary_1.getBinaryNodeChildString)(imageNode, 'url'),
47
- price: +(0, WABinary_1.getBinaryNodeChildString)(productNode, 'price'),
48
- currency: (0, WABinary_1.getBinaryNodeChildString)(productNode, 'currency'),
49
- quantity: +(0, WABinary_1.getBinaryNodeChildString)(productNode, 'quantity')
40
+ id: getBinaryNodeChildString(productNode, 'id'),
41
+ name: getBinaryNodeChildString(productNode, 'name'),
42
+ imageUrl: getBinaryNodeChildString(imageNode, 'url'),
43
+ price: +getBinaryNodeChildString(productNode, 'price'),
44
+ currency: getBinaryNodeChildString(productNode, 'currency'),
45
+ quantity: +getBinaryNodeChildString(productNode, 'quantity')
50
46
  };
51
47
  });
52
- const priceNode = (0, WABinary_1.getBinaryNodeChild)(orderNode, 'price');
48
+ const priceNode = getBinaryNodeChild(orderNode, 'price');
53
49
  const orderDetails = {
54
50
  price: {
55
- total: +(0, WABinary_1.getBinaryNodeChildString)(priceNode, 'total'),
56
- currency: (0, WABinary_1.getBinaryNodeChildString)(priceNode, 'currency'),
51
+ total: +getBinaryNodeChildString(priceNode, 'total'),
52
+ currency: getBinaryNodeChildString(priceNode, 'currency')
57
53
  },
58
54
  products
59
55
  };
60
56
  return orderDetails;
61
57
  };
62
- exports.parseOrderDetailsNode = parseOrderDetailsNode;
63
- const toProductNode = (productId, product) => {
58
+ export const toProductNode = (productId, product) => {
64
59
  const attrs = {};
65
60
  const content = [];
66
61
  if (typeof productId !== 'undefined') {
@@ -97,7 +92,7 @@ const toProductNode = (productId, product) => {
97
92
  attrs: {},
98
93
  content: product.images.map(img => {
99
94
  if (!('url' in img)) {
100
- throw new boom_1.Boom('Expected img for product to already be uploaded', { statusCode: 400 });
95
+ throw new Boom('Expected img for product to already be uploaded', { statusCode: 400 });
101
96
  }
102
97
  return {
103
98
  tag: 'image',
@@ -155,44 +150,44 @@ const toProductNode = (productId, product) => {
155
150
  };
156
151
  return node;
157
152
  };
158
- exports.toProductNode = toProductNode;
159
- const parseProductNode = (productNode) => {
153
+ export const parseProductNode = (productNode) => {
160
154
  const isHidden = productNode.attrs.is_hidden === 'true';
161
- const id = (0, WABinary_1.getBinaryNodeChildString)(productNode, 'id');
162
- const mediaNode = (0, WABinary_1.getBinaryNodeChild)(productNode, 'media');
163
- const statusInfoNode = (0, WABinary_1.getBinaryNodeChild)(productNode, 'status_info');
155
+ const id = getBinaryNodeChildString(productNode, 'id');
156
+ const mediaNode = getBinaryNodeChild(productNode, 'media');
157
+ const statusInfoNode = getBinaryNodeChild(productNode, 'status_info');
164
158
  const product = {
165
159
  id,
166
160
  imageUrls: parseImageUrls(mediaNode),
167
161
  reviewStatus: {
168
- whatsapp: (0, WABinary_1.getBinaryNodeChildString)(statusInfoNode, 'status'),
162
+ whatsapp: getBinaryNodeChildString(statusInfoNode, 'status')
169
163
  },
170
164
  availability: 'in stock',
171
- name: (0, WABinary_1.getBinaryNodeChildString)(productNode, 'name'),
172
- retailerId: (0, WABinary_1.getBinaryNodeChildString)(productNode, 'retailer_id'),
173
- url: (0, WABinary_1.getBinaryNodeChildString)(productNode, 'url'),
174
- description: (0, WABinary_1.getBinaryNodeChildString)(productNode, 'description'),
175
- price: +(0, WABinary_1.getBinaryNodeChildString)(productNode, 'price'),
176
- currency: (0, WABinary_1.getBinaryNodeChildString)(productNode, 'currency'),
177
- isHidden,
165
+ name: getBinaryNodeChildString(productNode, 'name'),
166
+ retailerId: getBinaryNodeChildString(productNode, 'retailer_id'),
167
+ url: getBinaryNodeChildString(productNode, 'url'),
168
+ description: getBinaryNodeChildString(productNode, 'description'),
169
+ price: +getBinaryNodeChildString(productNode, 'price'),
170
+ currency: getBinaryNodeChildString(productNode, 'currency'),
171
+ isHidden
178
172
  };
179
173
  return product;
180
174
  };
181
- exports.parseProductNode = parseProductNode;
182
175
  /**
183
176
  * Uploads images not already uploaded to WA's servers
184
177
  */
185
- async function uploadingNecessaryImagesOfProduct(product, waUploadToServer, timeoutMs = 30000) {
178
+ export async function uploadingNecessaryImagesOfProduct(product, waUploadToServer, timeoutMs = 30000) {
186
179
  product = {
187
180
  ...product,
188
- images: product.images ? await (0, exports.uploadingNecessaryImages)(product.images, waUploadToServer, timeoutMs) : product.images
181
+ images: product.images
182
+ ? await uploadingNecessaryImages(product.images, waUploadToServer, timeoutMs)
183
+ : product.images
189
184
  };
190
185
  return product;
191
186
  }
192
187
  /**
193
188
  * Uploads images not already uploaded to WA's servers
194
189
  */
195
- const uploadingNecessaryImages = async (images, waUploadToServer, timeoutMs = 30000) => {
190
+ export const uploadingNecessaryImages = async (images, waUploadToServer, timeoutMs = 30000) => {
196
191
  const results = await Promise.all(images.map(async (img) => {
197
192
  if ('url' in img) {
198
193
  const url = img.url.toString();
@@ -200,35 +195,37 @@ const uploadingNecessaryImages = async (images, waUploadToServer, timeoutMs = 30
200
195
  return { url };
201
196
  }
202
197
  }
203
- const { stream } = await (0, messages_media_1.getStream)(img);
204
- const hasher = (0, crypto_1.createHash)('sha256');
205
- const contentBlocks = [];
198
+ const { stream } = await getStream(img);
199
+ const hasher = createHash('sha256');
200
+ const filePath = join(tmpdir(), 'img' + generateMessageIDV2());
201
+ const encFileWriteStream = createWriteStream(filePath);
206
202
  for await (const block of stream) {
207
203
  hasher.update(block);
208
- contentBlocks.push(block);
204
+ encFileWriteStream.write(block);
209
205
  }
210
206
  const sha = hasher.digest('base64');
211
- const { directPath } = await waUploadToServer((0, messages_media_1.toReadable)(Buffer.concat(contentBlocks)), {
207
+ const { directPath } = await waUploadToServer(filePath, {
212
208
  mediaType: 'product-catalog-image',
213
209
  fileEncSha256B64: sha,
214
210
  timeoutMs
215
211
  });
216
- return { url: (0, messages_media_1.getUrlFromDirectPath)(directPath) };
212
+ await fs.unlink(filePath).catch(err => console.log('Error deleting temp file ', err));
213
+ return { url: getUrlFromDirectPath(directPath) };
217
214
  }));
218
215
  return results;
219
216
  };
220
- exports.uploadingNecessaryImages = uploadingNecessaryImages;
221
217
  const parseImageUrls = (mediaNode) => {
222
- const imgNode = (0, WABinary_1.getBinaryNodeChild)(mediaNode, 'image');
218
+ const imgNode = getBinaryNodeChild(mediaNode, 'image');
223
219
  return {
224
- requested: (0, WABinary_1.getBinaryNodeChildString)(imgNode, 'request_image_url'),
225
- original: (0, WABinary_1.getBinaryNodeChildString)(imgNode, 'original_image_url')
220
+ requested: getBinaryNodeChildString(imgNode, 'request_image_url'),
221
+ original: getBinaryNodeChildString(imgNode, 'original_image_url')
226
222
  };
227
223
  };
228
224
  const parseStatusInfo = (mediaNode) => {
229
- const node = (0, WABinary_1.getBinaryNodeChild)(mediaNode, 'status_info');
225
+ const node = getBinaryNodeChild(mediaNode, 'status_info');
230
226
  return {
231
- status: (0, WABinary_1.getBinaryNodeChildString)(node, 'status'),
232
- canAppeal: (0, WABinary_1.getBinaryNodeChildString)(node, 'can_appeal') === 'true',
227
+ status: getBinaryNodeChildString(node, 'status'),
228
+ canAppeal: getBinaryNodeChildString(node, 'can_appeal') === 'true'
233
229
  };
234
230
  };
231
+ //# sourceMappingURL=business.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"business.js","sourceRoot":"","sources":["../../src/Utils/business.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type makeWASocket from '../Socket/index.js';
2
+ type WASocket = ReturnType<typeof makeWASocket>;
3
+ export interface ButtonPlugin {
4
+ command: string | RegExp | (string | RegExp)[];
5
+ rowner?: boolean;
6
+ owner?: boolean;
7
+ admin?: boolean;
8
+ botAdmin?: boolean;
9
+ group?: boolean;
10
+ private?: boolean;
11
+ call: (sock: WASocket, m: any, extra: Record<string, any>) => Promise<any>;
12
+ }
13
+ export type ButtonPlugins = Record<string, ButtonPlugin>;
14
+ /**
15
+ * Detecta si un mensaje entrante es una respuesta de botón (quick_reply,
16
+ * buttonsResponse o listResponse) y, de ser así, ejecuta el plugin asociado
17
+ * a ese id de botón.
18
+ *
19
+ * Retorna `true` si el mensaje era un botón (ya procesado), `false` si no.
20
+ */
21
+ export declare function handleButtonResponse(sock: WASocket, m: any, plugins: ButtonPlugins, db?: any): Promise<boolean>;
22
+ /**
23
+ * Configura el handler de botones sobre el socket, envolviendo el listener
24
+ * de 'messages.upsert' existente sin eliminarlo.
25
+ */
26
+ export declare function setupButtonHandler(sock: WASocket, plugins: ButtonPlugins, db?: any): void;
27
+ export {};
28
+ //# sourceMappingURL=button-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-handler.d.ts","sourceRoot":"","sources":["../../src/Utils/button-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAA;AAE/C,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAA;AAE/C,MAAM,WAAW,YAAY;IAC5B,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;CAC1E;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;AAExD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACzC,IAAI,EAAE,QAAQ,EACd,CAAC,EAAE,GAAG,EACN,OAAO,EAAE,aAAa,EACtB,EAAE,CAAC,EAAE,GAAG,GACN,OAAO,CAAC,OAAO,CAAC,CA0JlB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,CAAC,EAAE,GAAG,QAelF"}
@@ -1,113 +1,100 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handleButtonResponse = handleButtonResponse;
4
- exports.setupButtonHandler = setupButtonHandler;
5
-
6
1
  /**
7
- * Maneja las respuestas de botones y las convierte en comandos ejecutables
2
+ * Detecta si un mensaje entrante es una respuesta de botón (quick_reply,
3
+ * buttonsResponse o listResponse) y, de ser así, ejecuta el plugin asociado
4
+ * a ese id de botón.
5
+ *
6
+ * Retorna `true` si el mensaje era un botón (ya procesado), `false` si no.
8
7
  */
9
- async function handleButtonResponse(sock, m, plugins, db) {
10
-
8
+ export async function handleButtonResponse(sock, m, plugins, db) {
11
9
  // ========== DETECTAR SOLO BOTONES ==========
12
- let seleccion = null
13
- let tipoBoton = null
14
-
10
+ let seleccion = null;
11
+ let tipoBoton = null;
15
12
  // Botón tipo quick_reply (interactive)
16
13
  if (m.mtype === 'interactiveResponseMessage') {
17
- const resp = m.message?.interactiveResponseMessage?.nativeFlowResponseMessage
14
+ const resp = m.message?.interactiveResponseMessage?.nativeFlowResponseMessage;
18
15
  if (resp?.name === 'quick_reply') {
19
- seleccion = resp.id
20
- tipoBoton = 'quick_reply'
16
+ seleccion = resp.id;
17
+ tipoBoton = 'quick_reply';
21
18
  }
22
19
  }
23
-
24
20
  // Botón tipo buttonsResponse (estilo antiguo)
25
21
  if (m.mtype === 'buttonsResponseMessage') {
26
- seleccion = m.message?.buttonsResponseMessage?.selectedButtonId
27
- tipoBoton = 'buttonsResponse'
22
+ seleccion = m.message?.buttonsResponseMessage?.selectedButtonId;
23
+ tipoBoton = 'buttonsResponse';
28
24
  }
29
-
30
25
  // Lista desplegable
31
26
  if (m.mtype === 'listResponseMessage') {
32
- seleccion = m.message?.listResponseMessage?.singleSelectReply?.selectedRowId
33
- tipoBoton = 'listResponse'
27
+ seleccion = m.message?.listResponseMessage?.singleSelectReply?.selectedRowId;
28
+ tipoBoton = 'listResponse';
34
29
  }
35
-
36
30
  // Si no es botón, salir
37
- if (!seleccion) return false
38
-
39
- console.log(`[Baileys] Botón detectado [${tipoBoton}]:`, seleccion)
40
-
31
+ if (!seleccion) {
32
+ return false;
33
+ }
34
+ console.log(`[ASTA-BOTS] Botón detectado [${tipoBoton}]:`, seleccion);
41
35
  // Limpiar el ID del botón
42
- let cmd = seleccion.toString().toLowerCase().replace(/^[.#!/]/, '').trim()
43
-
36
+ const cmd = seleccion.toString().toLowerCase().replace(/^[.#!/]/, '').trim();
44
37
  // ========== BUSCAR PLUGIN ==========
45
- let pluginFound = null
46
-
47
- for (let name in plugins) {
48
- let plugin = plugins[name]
49
- if (!plugin || !plugin.command) continue
50
-
51
- let commands = Array.isArray(plugin.command) ? plugin.command : [plugin.command]
52
-
38
+ let pluginFound = null;
39
+ for (const name in plugins) {
40
+ const plugin = plugins[name];
41
+ if (!plugin || !plugin.command) {
42
+ continue;
43
+ }
44
+ const commands = Array.isArray(plugin.command) ? plugin.command : [plugin.command];
53
45
  const isMatch = commands.some(c => {
54
- if (c instanceof RegExp) return c.test(cmd)
55
- return c.toString().toLowerCase() === cmd
56
- })
57
-
46
+ if (c instanceof RegExp) {
47
+ return c.test(cmd);
48
+ }
49
+ return c.toString().toLowerCase() === cmd;
50
+ });
58
51
  if (isMatch) {
59
- pluginFound = plugin
60
- break
52
+ pluginFound = plugin;
53
+ break;
61
54
  }
62
55
  }
63
-
64
56
  if (!pluginFound) {
65
- console.log(`[Baileys] No se encontró plugin para: ${cmd}`)
66
- await sock.sendMessage(m.chat, {
67
- text: `❌ *Comando no encontrado*\n\nEl botón "${seleccion}" no tiene un comando asociado.`
68
- }, { quoted: m })
69
- return true
57
+ console.log(`[ASTA-BOTS] No se encontró plugin para: ${cmd}`);
58
+ await sock.sendMessage(m.chat, { text: `❌ *Comando no encontrado*\n\nEl botón "${seleccion}" no tiene un comando asociado.` }, { quoted: m });
59
+ return true;
70
60
  }
71
-
72
61
  // ========== OBTENER PERMISOS ==========
73
- const groupMetadata = m.isGroup ? await sock.groupMetadata(m.chat).catch(() => null) || {} : {}
74
- const participants = groupMetadata?.participants || []
75
-
76
- const isAdmin = m.isGroup ? participants.find(p => p.id === m.sender)?.admin === 'admin' || participants.find(p => p.id === m.sender)?.admin === 'superadmin' : false
77
- const isBotAdmin = m.isGroup ? participants.find(p => p.id === sock.user.id)?.admin === 'admin' || participants.find(p => p.id === sock.user.id)?.admin === 'superadmin' : false
78
- const isOwner = [...global.owner || []].map(v => v + "@s.whatsapp.net").includes(m.sender)
79
-
62
+ const groupMetadata = m.isGroup ? (await sock.groupMetadata(m.chat).catch(() => null)) || {} : {};
63
+ const participants = groupMetadata?.participants || [];
64
+ const isAdmin = m.isGroup
65
+ ? participants.find((p) => p.id === m.sender)?.admin === 'admin' ||
66
+ participants.find((p) => p.id === m.sender)?.admin === 'superadmin'
67
+ : false;
68
+ const isBotAdmin = m.isGroup
69
+ ? participants.find((p) => p.id === sock.user?.id)?.admin === 'admin' ||
70
+ participants.find((p) => p.id === sock.user?.id)?.admin === 'superadmin'
71
+ : false;
72
+ const isOwner = [...(global.owner || [])].map((v) => v + '@s.whatsapp.net').includes(m.sender);
80
73
  // ========== VALIDAR PERMISOS ==========
81
74
  if (pluginFound.rowner && !isOwner) {
82
- await sock.sendMessage(m.chat, { text: `🔒 *Acceso denegado*\n\nEste comando es solo para los creadores del bot.` }, { quoted: m })
83
- return true
75
+ await sock.sendMessage(m.chat, { text: '🔒 *Acceso denegado*\n\nEste comando es solo para los creadores del bot.' }, { quoted: m });
76
+ return true;
84
77
  }
85
-
86
78
  if (pluginFound.owner && !isOwner) {
87
- await sock.sendMessage(m.chat, { text: `🔒 *Acceso denegado*\n\nEste comando es solo para el owner del bot.` }, { quoted: m })
88
- return true
79
+ await sock.sendMessage(m.chat, { text: '🔒 *Acceso denegado*\n\nEste comando es solo para el owner del bot.' }, { quoted: m });
80
+ return true;
89
81
  }
90
-
91
82
  if (pluginFound.admin && !isAdmin) {
92
- await sock.sendMessage(m.chat, { text: `⚠️ *Permiso denegado*\n\nEste comando solo puede ser usado por administradores del grupo.` }, { quoted: m })
93
- return true
83
+ await sock.sendMessage(m.chat, { text: '⚠️ *Permiso denegado*\n\nEste comando solo puede ser usado por administradores del grupo.' }, { quoted: m });
84
+ return true;
94
85
  }
95
-
96
86
  if (pluginFound.botAdmin && !isBotAdmin) {
97
- await sock.sendMessage(m.chat, { text: `🤖 *Bot sin permisos*\n\nNecesito ser administrador del grupo para ejecutar este comando.` }, { quoted: m })
98
- return true
87
+ await sock.sendMessage(m.chat, { text: '🤖 *Bot sin permisos*\n\nNecesito ser administrador del grupo para ejecutar este comando.' }, { quoted: m });
88
+ return true;
99
89
  }
100
-
101
90
  if (pluginFound.group && !m.isGroup) {
102
- await sock.sendMessage(m.chat, { text: `👥 *Solo grupos*\n\nEste comando solo puede usarse en grupos.` }, { quoted: m })
103
- return true
91
+ await sock.sendMessage(m.chat, { text: '👥 *Solo grupos*\n\nEste comando solo puede usarse en grupos.' }, { quoted: m });
92
+ return true;
104
93
  }
105
-
106
94
  if (pluginFound.private && m.isGroup) {
107
- await sock.sendMessage(m.chat, { text: `🔒 *Solo privado*\n\nEste comando solo puede usarse en chat privado.` }, { quoted: m })
108
- return true
95
+ await sock.sendMessage(m.chat, { text: '🔒 *Solo privado*\n\nEste comando solo puede usarse en chat privado.' }, { quoted: m });
96
+ return true;
109
97
  }
110
-
111
98
  // ========== EJECUTAR PLUGIN ==========
112
99
  try {
113
100
  await pluginFound.call(sock, m, {
@@ -122,30 +109,32 @@ async function handleButtonResponse(sock, m, plugins, db) {
122
109
  isBotAdmin,
123
110
  isOwner,
124
111
  db
125
- })
126
- console.log(`[Baileys] Plugin ejecutado: ${cmd}`)
127
- } catch (error) {
128
- console.error(`[Baileys] Error:`, error)
129
- await sock.sendMessage(m.chat, { text: `❌ *Error al ejecutar el comando*\n\n${error.message || error}` }, { quoted: m })
112
+ });
113
+ console.log(`[ASTA-BOTS] Plugin ejecutado: ${cmd}`);
130
114
  }
131
-
132
- return true
115
+ catch (error) {
116
+ console.error('[ASTA-BOTS] Error:', error);
117
+ await sock.sendMessage(m.chat, { text: `❌ *Error al ejecutar el comando*\n\n${error?.message || error}` }, { quoted: m });
118
+ }
119
+ return true;
133
120
  }
134
-
135
121
  /**
136
- * Configura el handler de botones en el socket
122
+ * Configura el handler de botones sobre el socket, envolviendo el listener
123
+ * de 'messages.upsert' existente sin eliminarlo.
137
124
  */
138
- function setupButtonHandler(sock, plugins, db) {
139
- const originalHandler = sock.ev.listeners('messages.upsert')[0]
140
-
141
- sock.ev.off('messages.upsert', originalHandler)
142
-
125
+ export function setupButtonHandler(sock, plugins, db) {
126
+ const originalHandler = (sock.ev.listeners?.('messages.upsert') || [])[0];
127
+ if (originalHandler) {
128
+ ;
129
+ sock.ev.off('messages.upsert', originalHandler);
130
+ }
143
131
  sock.ev.on('messages.upsert', async ({ messages }) => {
144
132
  for (const m of messages) {
145
- const fueBoton = await handleButtonResponse(sock, m, plugins, db)
133
+ const fueBoton = await handleButtonResponse(sock, m, plugins, db);
146
134
  if (!fueBoton && originalHandler) {
147
- await originalHandler({ messages: [m] })
135
+ await originalHandler({ messages: [m] });
148
136
  }
149
137
  }
150
- })
138
+ });
151
139
  }
140
+ //# sourceMappingURL=button-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-handler.js","sourceRoot":"","sources":["../../src/Utils/button-handler.ts"],"names":[],"mappings":"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"}