@lopeszera/baileys 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (421) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +392 -0
  3. package/WAProto/GenerateStatics.sh +3 -0
  4. package/WAProto/WAProto.proto +5479 -0
  5. package/WAProto/fix-imports.js +85 -0
  6. package/WAProto/index.d.ts +14017 -0
  7. package/WAProto/index.js +97691 -0
  8. package/engine-requirements.js +10 -0
  9. package/lib/Defaults/index.d.ts +75 -0
  10. package/lib/Defaults/index.d.ts.map +1 -0
  11. package/lib/Defaults/index.js +129 -0
  12. package/lib/Defaults/index.js.map +1 -0
  13. package/lib/Signal/Group/ciphertext-message.d.ts +10 -0
  14. package/lib/Signal/Group/ciphertext-message.d.ts.map +1 -0
  15. package/lib/Signal/Group/ciphertext-message.js +12 -0
  16. package/lib/Signal/Group/ciphertext-message.js.map +1 -0
  17. package/lib/Signal/Group/group-session-builder.d.ts +15 -0
  18. package/lib/Signal/Group/group-session-builder.d.ts.map +1 -0
  19. package/lib/Signal/Group/group-session-builder.js +30 -0
  20. package/lib/Signal/Group/group-session-builder.js.map +1 -0
  21. package/lib/Signal/Group/group_cipher.d.ts +17 -0
  22. package/lib/Signal/Group/group_cipher.d.ts.map +1 -0
  23. package/lib/Signal/Group/group_cipher.js +82 -0
  24. package/lib/Signal/Group/group_cipher.js.map +1 -0
  25. package/lib/Signal/Group/index.d.ts +12 -0
  26. package/lib/Signal/Group/index.d.ts.map +1 -0
  27. package/lib/Signal/Group/index.js +12 -0
  28. package/lib/Signal/Group/index.js.map +1 -0
  29. package/lib/Signal/Group/keyhelper.d.ts +11 -0
  30. package/lib/Signal/Group/keyhelper.d.ts.map +1 -0
  31. package/lib/Signal/Group/keyhelper.js +18 -0
  32. package/lib/Signal/Group/keyhelper.js.map +1 -0
  33. package/lib/Signal/Group/sender-chain-key.d.ts +14 -0
  34. package/lib/Signal/Group/sender-chain-key.d.ts.map +1 -0
  35. package/lib/Signal/Group/sender-chain-key.js +26 -0
  36. package/lib/Signal/Group/sender-chain-key.js.map +1 -0
  37. package/lib/Signal/Group/sender-key-distribution-message.d.ts +17 -0
  38. package/lib/Signal/Group/sender-key-distribution-message.d.ts.map +1 -0
  39. package/lib/Signal/Group/sender-key-distribution-message.js +63 -0
  40. package/lib/Signal/Group/sender-key-distribution-message.js.map +1 -0
  41. package/lib/Signal/Group/sender-key-message.d.ts +19 -0
  42. package/lib/Signal/Group/sender-key-message.d.ts.map +1 -0
  43. package/lib/Signal/Group/sender-key-message.js +66 -0
  44. package/lib/Signal/Group/sender-key-message.js.map +1 -0
  45. package/lib/Signal/Group/sender-key-name.d.ts +18 -0
  46. package/lib/Signal/Group/sender-key-name.d.ts.map +1 -0
  47. package/lib/Signal/Group/sender-key-name.js +48 -0
  48. package/lib/Signal/Group/sender-key-name.js.map +1 -0
  49. package/lib/Signal/Group/sender-key-record.d.ts +31 -0
  50. package/lib/Signal/Group/sender-key-record.d.ts.map +1 -0
  51. package/lib/Signal/Group/sender-key-record.js +41 -0
  52. package/lib/Signal/Group/sender-key-record.js.map +1 -0
  53. package/lib/Signal/Group/sender-key-state.d.ts +39 -0
  54. package/lib/Signal/Group/sender-key-state.d.ts.map +1 -0
  55. package/lib/Signal/Group/sender-key-state.js +84 -0
  56. package/lib/Signal/Group/sender-key-state.js.map +1 -0
  57. package/lib/Signal/Group/sender-message-key.d.ts +12 -0
  58. package/lib/Signal/Group/sender-message-key.d.ts.map +1 -0
  59. package/lib/Signal/Group/sender-message-key.js +26 -0
  60. package/lib/Signal/Group/sender-message-key.js.map +1 -0
  61. package/lib/Signal/libsignal.d.ts +5 -0
  62. package/lib/Signal/libsignal.d.ts.map +1 -0
  63. package/lib/Signal/libsignal.js +431 -0
  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 -0
  70. package/lib/Socket/Client/index.d.ts.map +1 -0
  71. package/lib/Socket/Client/index.js +3 -0
  72. package/lib/Socket/Client/index.js.map +1 -0
  73. package/lib/Socket/Client/types.d.ts +16 -0
  74. package/lib/Socket/Client/types.d.ts.map +1 -0
  75. package/lib/Socket/Client/types.js +11 -0
  76. package/lib/Socket/Client/types.js.map +1 -0
  77. package/lib/Socket/Client/websocket.d.ts +13 -0
  78. package/lib/Socket/Client/websocket.d.ts.map +1 -0
  79. package/lib/Socket/Client/websocket.js +54 -0
  80. package/lib/Socket/Client/websocket.js.map +1 -0
  81. package/lib/Socket/business.d.ts +217 -0
  82. package/lib/Socket/business.d.ts.map +1 -0
  83. package/lib/Socket/business.js +379 -0
  84. package/lib/Socket/business.js.map +1 -0
  85. package/lib/Socket/chats.d.ts +125 -0
  86. package/lib/Socket/chats.d.ts.map +1 -0
  87. package/lib/Socket/chats.js +1198 -0
  88. package/lib/Socket/chats.js.map +1 -0
  89. package/lib/Socket/communities.d.ts +273 -0
  90. package/lib/Socket/communities.d.ts.map +1 -0
  91. package/lib/Socket/communities.js +431 -0
  92. package/lib/Socket/communities.js.map +1 -0
  93. package/lib/Socket/groups.d.ts +161 -0
  94. package/lib/Socket/groups.d.ts.map +1 -0
  95. package/lib/Socket/groups.js +347 -0
  96. package/lib/Socket/groups.js.map +1 -0
  97. package/lib/Socket/index.d.ts +260 -0
  98. package/lib/Socket/index.d.ts.map +1 -0
  99. package/lib/Socket/index.js +12 -0
  100. package/lib/Socket/index.js.map +1 -0
  101. package/lib/Socket/messages-recv.d.ts +203 -0
  102. package/lib/Socket/messages-recv.d.ts.map +1 -0
  103. package/lib/Socket/messages-recv.js +1772 -0
  104. package/lib/Socket/messages-recv.js.map +1 -0
  105. package/lib/Socket/messages-send.d.ts +199 -0
  106. package/lib/Socket/messages-send.d.ts.map +1 -0
  107. package/lib/Socket/messages-send.js +1145 -0
  108. package/lib/Socket/messages-send.js.map +1 -0
  109. package/lib/Socket/mex.d.ts +3 -0
  110. package/lib/Socket/mex.d.ts.map +1 -0
  111. package/lib/Socket/mex.js +42 -0
  112. package/lib/Socket/mex.js.map +1 -0
  113. package/lib/Socket/newsletter.d.ts +170 -0
  114. package/lib/Socket/newsletter.d.ts.map +1 -0
  115. package/lib/Socket/newsletter.js +181 -0
  116. package/lib/Socket/newsletter.js.map +1 -0
  117. package/lib/Socket/socket.d.ts +59 -0
  118. package/lib/Socket/socket.d.ts.map +1 -0
  119. package/lib/Socket/socket.js +970 -0
  120. package/lib/Socket/socket.js.map +1 -0
  121. package/lib/Types/Auth.d.ts +117 -0
  122. package/lib/Types/Auth.d.ts.map +1 -0
  123. package/lib/Types/Auth.js +2 -0
  124. package/lib/Types/Auth.js.map +1 -0
  125. package/lib/Types/Bussines.d.ts +25 -0
  126. package/lib/Types/Bussines.d.ts.map +1 -0
  127. package/lib/Types/Bussines.js +2 -0
  128. package/lib/Types/Bussines.js.map +1 -0
  129. package/lib/Types/Call.d.ts +15 -0
  130. package/lib/Types/Call.d.ts.map +1 -0
  131. package/lib/Types/Call.js +2 -0
  132. package/lib/Types/Call.js.map +1 -0
  133. package/lib/Types/Chat.d.ts +124 -0
  134. package/lib/Types/Chat.d.ts.map +1 -0
  135. package/lib/Types/Chat.js +8 -0
  136. package/lib/Types/Chat.js.map +1 -0
  137. package/lib/Types/Contact.d.ts +26 -0
  138. package/lib/Types/Contact.d.ts.map +1 -0
  139. package/lib/Types/Contact.js +2 -0
  140. package/lib/Types/Contact.js.map +1 -0
  141. package/lib/Types/Events.d.ts +256 -0
  142. package/lib/Types/Events.d.ts.map +1 -0
  143. package/lib/Types/Events.js +2 -0
  144. package/lib/Types/Events.js.map +1 -0
  145. package/lib/Types/GroupMetadata.d.ts +71 -0
  146. package/lib/Types/GroupMetadata.d.ts.map +1 -0
  147. package/lib/Types/GroupMetadata.js +2 -0
  148. package/lib/Types/GroupMetadata.js.map +1 -0
  149. package/lib/Types/Label.d.ts +47 -0
  150. package/lib/Types/Label.d.ts.map +1 -0
  151. package/lib/Types/Label.js +25 -0
  152. package/lib/Types/Label.js.map +1 -0
  153. package/lib/Types/LabelAssociation.d.ts +30 -0
  154. package/lib/Types/LabelAssociation.d.ts.map +1 -0
  155. package/lib/Types/LabelAssociation.js +7 -0
  156. package/lib/Types/LabelAssociation.js.map +1 -0
  157. package/lib/Types/Message.d.ts +320 -0
  158. package/lib/Types/Message.d.ts.map +1 -0
  159. package/lib/Types/Message.js +11 -0
  160. package/lib/Types/Message.js.map +1 -0
  161. package/lib/Types/Mex.d.ts +141 -0
  162. package/lib/Types/Mex.d.ts.map +1 -0
  163. package/lib/Types/Mex.js +37 -0
  164. package/lib/Types/Mex.js.map +1 -0
  165. package/lib/Types/Product.d.ts +79 -0
  166. package/lib/Types/Product.d.ts.map +1 -0
  167. package/lib/Types/Product.js +2 -0
  168. package/lib/Types/Product.js.map +1 -0
  169. package/lib/Types/Signal.d.ts +87 -0
  170. package/lib/Types/Signal.d.ts.map +1 -0
  171. package/lib/Types/Signal.js +2 -0
  172. package/lib/Types/Signal.js.map +1 -0
  173. package/lib/Types/Socket.d.ts +136 -0
  174. package/lib/Types/Socket.d.ts.map +1 -0
  175. package/lib/Types/Socket.js +3 -0
  176. package/lib/Types/Socket.js.map +1 -0
  177. package/lib/Types/State.d.ts +97 -0
  178. package/lib/Types/State.d.ts.map +1 -0
  179. package/lib/Types/State.js +56 -0
  180. package/lib/Types/State.js.map +1 -0
  181. package/lib/Types/USync.d.ts +26 -0
  182. package/lib/Types/USync.d.ts.map +1 -0
  183. package/lib/Types/USync.js +2 -0
  184. package/lib/Types/USync.js.map +1 -0
  185. package/lib/Types/index.d.ts +66 -0
  186. package/lib/Types/index.d.ts.map +1 -0
  187. package/lib/Types/index.js +26 -0
  188. package/lib/Types/index.js.map +1 -0
  189. package/lib/Utils/auth-utils.d.ts +24 -0
  190. package/lib/Utils/auth-utils.d.ts.map +1 -0
  191. package/lib/Utils/auth-utils.js +302 -0
  192. package/lib/Utils/auth-utils.js.map +1 -0
  193. package/lib/Utils/browser-utils.d.ts +4 -0
  194. package/lib/Utils/browser-utils.d.ts.map +1 -0
  195. package/lib/Utils/browser-utils.js +29 -0
  196. package/lib/Utils/browser-utils.js.map +1 -0
  197. package/lib/Utils/business.d.ts +23 -0
  198. package/lib/Utils/business.d.ts.map +1 -0
  199. package/lib/Utils/business.js +231 -0
  200. package/lib/Utils/business.js.map +1 -0
  201. package/lib/Utils/call-helpers.d.ts +10 -0
  202. package/lib/Utils/call-helpers.d.ts.map +1 -0
  203. package/lib/Utils/call-helpers.js +21 -0
  204. package/lib/Utils/call-helpers.js.map +1 -0
  205. package/lib/Utils/chat-utils.d.ts +100 -0
  206. package/lib/Utils/chat-utils.d.ts.map +1 -0
  207. package/lib/Utils/chat-utils.js +872 -0
  208. package/lib/Utils/chat-utils.js.map +1 -0
  209. package/lib/Utils/companion-reg-client-utils.d.ts +17 -0
  210. package/lib/Utils/companion-reg-client-utils.d.ts.map +1 -0
  211. package/lib/Utils/companion-reg-client-utils.js +35 -0
  212. package/lib/Utils/companion-reg-client-utils.js.map +1 -0
  213. package/lib/Utils/crypto.d.ts +37 -0
  214. package/lib/Utils/crypto.d.ts.map +1 -0
  215. package/lib/Utils/crypto.js +118 -0
  216. package/lib/Utils/crypto.js.map +1 -0
  217. package/lib/Utils/decode-wa-message.d.ts +66 -0
  218. package/lib/Utils/decode-wa-message.d.ts.map +1 -0
  219. package/lib/Utils/decode-wa-message.js +317 -0
  220. package/lib/Utils/decode-wa-message.js.map +1 -0
  221. package/lib/Utils/event-buffer.d.ts +36 -0
  222. package/lib/Utils/event-buffer.d.ts.map +1 -0
  223. package/lib/Utils/event-buffer.js +622 -0
  224. package/lib/Utils/event-buffer.js.map +1 -0
  225. package/lib/Utils/generics.d.ts +92 -0
  226. package/lib/Utils/generics.d.ts.map +1 -0
  227. package/lib/Utils/generics.js +393 -0
  228. package/lib/Utils/generics.js.map +1 -0
  229. package/lib/Utils/history.d.ts +24 -0
  230. package/lib/Utils/history.d.ts.map +1 -0
  231. package/lib/Utils/history.js +134 -0
  232. package/lib/Utils/history.js.map +1 -0
  233. package/lib/Utils/identity-change-handler.d.ts +44 -0
  234. package/lib/Utils/identity-change-handler.d.ts.map +1 -0
  235. package/lib/Utils/identity-change-handler.js +50 -0
  236. package/lib/Utils/identity-change-handler.js.map +1 -0
  237. package/lib/Utils/index.d.ts +27 -0
  238. package/lib/Utils/index.d.ts.map +1 -0
  239. package/lib/Utils/index.js +27 -0
  240. package/lib/Utils/index.js.map +1 -0
  241. package/lib/Utils/interactive-messages.d.ts +120 -0
  242. package/lib/Utils/interactive-messages.d.ts.map +1 -0
  243. package/lib/Utils/interactive-messages.js +165 -0
  244. package/lib/Utils/interactive-messages.js.map +1 -0
  245. package/lib/Utils/link-preview.d.ts +21 -0
  246. package/lib/Utils/link-preview.d.ts.map +1 -0
  247. package/lib/Utils/link-preview.js +85 -0
  248. package/lib/Utils/link-preview.js.map +1 -0
  249. package/lib/Utils/logger.d.ts +13 -0
  250. package/lib/Utils/logger.d.ts.map +1 -0
  251. package/lib/Utils/logger.js +3 -0
  252. package/lib/Utils/logger.js.map +1 -0
  253. package/lib/Utils/lt-hash.d.ts +8 -0
  254. package/lib/Utils/lt-hash.d.ts.map +1 -0
  255. package/lib/Utils/lt-hash.js +8 -0
  256. package/lib/Utils/lt-hash.js.map +1 -0
  257. package/lib/Utils/make-mutex.d.ts +9 -0
  258. package/lib/Utils/make-mutex.d.ts.map +1 -0
  259. package/lib/Utils/make-mutex.js +33 -0
  260. package/lib/Utils/make-mutex.js.map +1 -0
  261. package/lib/Utils/message-builder.d.ts +73 -0
  262. package/lib/Utils/message-builder.d.ts.map +1 -0
  263. package/lib/Utils/message-builder.js +200 -0
  264. package/lib/Utils/message-builder.js.map +1 -0
  265. package/lib/Utils/message-retry-manager.d.ts +115 -0
  266. package/lib/Utils/message-retry-manager.d.ts.map +1 -0
  267. package/lib/Utils/message-retry-manager.js +265 -0
  268. package/lib/Utils/message-retry-manager.js.map +1 -0
  269. package/lib/Utils/messages-media.d.ts +133 -0
  270. package/lib/Utils/messages-media.d.ts.map +1 -0
  271. package/lib/Utils/messages-media.js +788 -0
  272. package/lib/Utils/messages-media.js.map +1 -0
  273. package/lib/Utils/messages.d.ts +91 -0
  274. package/lib/Utils/messages.d.ts.map +1 -0
  275. package/lib/Utils/messages.js +893 -0
  276. package/lib/Utils/messages.js.map +1 -0
  277. package/lib/Utils/noise-handler.d.ts +20 -0
  278. package/lib/Utils/noise-handler.d.ts.map +1 -0
  279. package/lib/Utils/noise-handler.js +201 -0
  280. package/lib/Utils/noise-handler.js.map +1 -0
  281. package/lib/Utils/offline-node-processor.d.ts +17 -0
  282. package/lib/Utils/offline-node-processor.d.ts.map +1 -0
  283. package/lib/Utils/offline-node-processor.js +40 -0
  284. package/lib/Utils/offline-node-processor.js.map +1 -0
  285. package/lib/Utils/pre-key-manager.d.ts +28 -0
  286. package/lib/Utils/pre-key-manager.d.ts.map +1 -0
  287. package/lib/Utils/pre-key-manager.js +106 -0
  288. package/lib/Utils/pre-key-manager.js.map +1 -0
  289. package/lib/Utils/process-message.d.ts +60 -0
  290. package/lib/Utils/process-message.d.ts.map +1 -0
  291. package/lib/Utils/process-message.js +630 -0
  292. package/lib/Utils/process-message.js.map +1 -0
  293. package/lib/Utils/reporting-utils.d.ts +11 -0
  294. package/lib/Utils/reporting-utils.d.ts.map +1 -0
  295. package/lib/Utils/reporting-utils.js +258 -0
  296. package/lib/Utils/reporting-utils.js.map +1 -0
  297. package/lib/Utils/signal.d.ts +47 -0
  298. package/lib/Utils/signal.d.ts.map +1 -0
  299. package/lib/Utils/signal.js +201 -0
  300. package/lib/Utils/signal.js.map +1 -0
  301. package/lib/Utils/sources-menu.d.ts +58 -0
  302. package/lib/Utils/sources-menu.d.ts.map +1 -0
  303. package/lib/Utils/sources-menu.js +115 -0
  304. package/lib/Utils/sources-menu.js.map +1 -0
  305. package/lib/Utils/stanza-ack.d.ts +11 -0
  306. package/lib/Utils/stanza-ack.d.ts.map +1 -0
  307. package/lib/Utils/stanza-ack.js +38 -0
  308. package/lib/Utils/stanza-ack.js.map +1 -0
  309. package/lib/Utils/status-helper.d.ts +26 -0
  310. package/lib/Utils/status-helper.d.ts.map +1 -0
  311. package/lib/Utils/status-helper.js +16 -0
  312. package/lib/Utils/status-helper.js.map +1 -0
  313. package/lib/Utils/sync-action-utils.d.ts +19 -0
  314. package/lib/Utils/sync-action-utils.d.ts.map +1 -0
  315. package/lib/Utils/sync-action-utils.js +49 -0
  316. package/lib/Utils/sync-action-utils.js.map +1 -0
  317. package/lib/Utils/tc-token-utils.d.ts +37 -0
  318. package/lib/Utils/tc-token-utils.d.ts.map +1 -0
  319. package/lib/Utils/tc-token-utils.js +164 -0
  320. package/lib/Utils/tc-token-utils.js.map +1 -0
  321. package/lib/Utils/use-multi-file-auth-state.d.ts +13 -0
  322. package/lib/Utils/use-multi-file-auth-state.d.ts.map +1 -0
  323. package/lib/Utils/use-multi-file-auth-state.js +121 -0
  324. package/lib/Utils/use-multi-file-auth-state.js.map +1 -0
  325. package/lib/Utils/validate-connection.d.ts +11 -0
  326. package/lib/Utils/validate-connection.d.ts.map +1 -0
  327. package/lib/Utils/validate-connection.js +210 -0
  328. package/lib/Utils/validate-connection.js.map +1 -0
  329. package/lib/WABinary/constants.d.ts +28 -0
  330. package/lib/WABinary/constants.d.ts.map +1 -0
  331. package/lib/WABinary/constants.js +1301 -0
  332. package/lib/WABinary/constants.js.map +1 -0
  333. package/lib/WABinary/decode.d.ts +7 -0
  334. package/lib/WABinary/decode.d.ts.map +1 -0
  335. package/lib/WABinary/decode.js +262 -0
  336. package/lib/WABinary/decode.js.map +1 -0
  337. package/lib/WABinary/encode.d.ts +3 -0
  338. package/lib/WABinary/encode.d.ts.map +1 -0
  339. package/lib/WABinary/encode.js +220 -0
  340. package/lib/WABinary/encode.js.map +1 -0
  341. package/lib/WABinary/generic-utils.d.ts +15 -0
  342. package/lib/WABinary/generic-utils.d.ts.map +1 -0
  343. package/lib/WABinary/generic-utils.js +113 -0
  344. package/lib/WABinary/generic-utils.js.map +1 -0
  345. package/lib/WABinary/index.d.ts +6 -0
  346. package/lib/WABinary/index.d.ts.map +1 -0
  347. package/lib/WABinary/index.js +6 -0
  348. package/lib/WABinary/index.js.map +1 -0
  349. package/lib/WABinary/jid-utils.d.ts +48 -0
  350. package/lib/WABinary/jid-utils.d.ts.map +1 -0
  351. package/lib/WABinary/jid-utils.js +96 -0
  352. package/lib/WABinary/jid-utils.js.map +1 -0
  353. package/lib/WABinary/types.d.ts +19 -0
  354. package/lib/WABinary/types.d.ts.map +1 -0
  355. package/lib/WABinary/types.js +2 -0
  356. package/lib/WABinary/types.js.map +1 -0
  357. package/lib/WAM/BinaryInfo.d.ts +9 -0
  358. package/lib/WAM/BinaryInfo.d.ts.map +1 -0
  359. package/lib/WAM/BinaryInfo.js +10 -0
  360. package/lib/WAM/BinaryInfo.js.map +1 -0
  361. package/lib/WAM/constants.d.ts +40 -0
  362. package/lib/WAM/constants.d.ts.map +1 -0
  363. package/lib/WAM/constants.js +22853 -0
  364. package/lib/WAM/constants.js.map +1 -0
  365. package/lib/WAM/encode.d.ts +3 -0
  366. package/lib/WAM/encode.d.ts.map +1 -0
  367. package/lib/WAM/encode.js +150 -0
  368. package/lib/WAM/encode.js.map +1 -0
  369. package/lib/WAM/index.d.ts +4 -0
  370. package/lib/WAM/index.d.ts.map +1 -0
  371. package/lib/WAM/index.js +4 -0
  372. package/lib/WAM/index.js.map +1 -0
  373. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +10 -0
  374. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -0
  375. package/lib/WAUSync/Protocols/USyncContactProtocol.js +52 -0
  376. package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -0
  377. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +23 -0
  378. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +1 -0
  379. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +54 -0
  380. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +1 -0
  381. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +13 -0
  382. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +1 -0
  383. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +27 -0
  384. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +1 -0
  385. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +13 -0
  386. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +1 -0
  387. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +38 -0
  388. package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +1 -0
  389. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +10 -0
  390. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts.map +1 -0
  391. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +25 -0
  392. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js.map +1 -0
  393. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +26 -0
  394. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts.map +1 -0
  395. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +51 -0
  396. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js.map +1 -0
  397. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +10 -0
  398. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +1 -0
  399. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +29 -0
  400. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +1 -0
  401. package/lib/WAUSync/Protocols/index.d.ts +6 -0
  402. package/lib/WAUSync/Protocols/index.d.ts.map +1 -0
  403. package/lib/WAUSync/Protocols/index.js +6 -0
  404. package/lib/WAUSync/Protocols/index.js.map +1 -0
  405. package/lib/WAUSync/USyncQuery.d.ts +30 -0
  406. package/lib/WAUSync/USyncQuery.d.ts.map +1 -0
  407. package/lib/WAUSync/USyncQuery.js +98 -0
  408. package/lib/WAUSync/USyncQuery.js.map +1 -0
  409. package/lib/WAUSync/USyncUser.d.ts +17 -0
  410. package/lib/WAUSync/USyncUser.d.ts.map +1 -0
  411. package/lib/WAUSync/USyncUser.js +31 -0
  412. package/lib/WAUSync/USyncUser.js.map +1 -0
  413. package/lib/WAUSync/index.d.ts +4 -0
  414. package/lib/WAUSync/index.d.ts.map +1 -0
  415. package/lib/WAUSync/index.js +4 -0
  416. package/lib/WAUSync/index.js.map +1 -0
  417. package/lib/index.d.ts +12 -0
  418. package/lib/index.d.ts.map +1 -0
  419. package/lib/index.js +11 -0
  420. package/lib/index.js.map +1 -0
  421. package/package.json +144 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Rajeh Taher/WhiskeySockets
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,392 @@
1
+ # 𝕷'𝖆𝖌ü𝖊𝖗𝖔 • Baileys
2
+
3
+ <p align="center">
4
+ <img src="https://img.shields.io/npm/v/@lopeszera/baileys?color=FFD400&label=vers%C3%A3o&style=for-the-badge" />
5
+ <img src="https://img.shields.io/npm/dw/@lopeszera/baileys?color=FFD400&label=downloads&style=for-the-badge" />
6
+ <img src="https://img.shields.io/badge/licen%C3%A7a-MIT-FFD400?style=for-the-badge" />
7
+ <img src="https://img.shields.io/badge/node-%3E%3D20-FFD400?style=for-the-badge" />
8
+ </p>
9
+
10
+ <p align="center">
11
+ <b>Fork pessoal do Baileys</b> — biblioteca TypeScript pra conectar direto na
12
+ API do WhatsApp Web via WebSocket, sem precisar de navegador/Selenium.<br/>
13
+ Baseado no <a href="https://github.com/WhiskeySockets/Baileys">WhiskeySockets/Baileys</a>,
14
+ com módulos extras de <b>mensagens interativas</b> (botões, carrossel, listas,
15
+ menu de fontes), <b>status</b> e <b>chamadas</b> já prontos pra usar.
16
+ </p>
17
+
18
+ <p align="center">
19
+ <a href="https://whatsapp.com/channel/0029Vb5nzxV7dmehsyILK70Z">
20
+ <img src="https://img.shields.io/badge/WhatsApp-Me%20siga%20no%20canal-FFD400?style=for-the-badge&logo=whatsapp&logoColor=black" />
21
+ </a>
22
+ </p>
23
+
24
+ ---
25
+
26
+ ## 📦 Instalação
27
+
28
+ ```bash
29
+ npm install @lopeszera/baileys
30
+ ```
31
+
32
+ ## ⚡ Uso rápido
33
+
34
+ ```js
35
+ const {
36
+ default: makeWASocket,
37
+ useMultiFileAuthState,
38
+ DisconnectReason
39
+ } = require('@lopeszera/baileys')
40
+
41
+ async function start() {
42
+ const { state, saveCreds } = await useMultiFileAuthState('session')
43
+
44
+ const sock = makeWASocket({ auth: state })
45
+
46
+ sock.ev.on('creds.update', saveCreds)
47
+
48
+ sock.ev.on('connection.update', ({ connection, lastDisconnect }) => {
49
+ if (connection === 'open') console.log('conectado!')
50
+ if (connection === 'close') {
51
+ const shouldReconnect = lastDisconnect?.error?.output?.statusCode !== DisconnectReason.loggedOut
52
+ if (shouldReconnect) start()
53
+ }
54
+ })
55
+
56
+ sock.ev.on('messages.upsert', ({ messages }) => {
57
+ console.log(messages[0])
58
+ })
59
+ }
60
+
61
+ start()
62
+ ```
63
+
64
+ ---
65
+
66
+ ## 🧩 Módulos
67
+
68
+ ### 💬 Mensagens de texto e mídia
69
+ Igual o Baileys original — `sock.sendMessage(jid, { text: '...' })`,
70
+ `{ image: { url }, caption: '...' }`, `{ video }`, `{ audio, ptt: true }`,
71
+ `{ document }`, etc.
72
+
73
+ ### 🔘 Botões — `sendButtonMessage`
74
+ Manda uma mensagem com botões de resposta rápida e/ou de link.
75
+
76
+ ```js
77
+ const { sendButtonMessage } = require('@lopeszera/baileys')
78
+
79
+ await sendButtonMessage(sock, jid, {
80
+ text: 'Escolha uma opção:',
81
+ footer: 'Meu Bot',
82
+ buttons: [
83
+ { text: 'Falar com suporte', id: 'suporte' },
84
+ { text: 'Ver site', url: 'https://exemplo.com' }
85
+ ]
86
+ })
87
+ ```
88
+
89
+ A resposta do usuário chega no evento `messages.upsert` normal, dentro de
90
+ `msg.message.interactiveResponseMessage.nativeFlowResponseMessage.paramsJson`.
91
+
92
+ ### 🎠 Carrossel — `sendCarouselMessage`
93
+ Vários cards roláveis horizontalmente, cada um com imagem, título, corpo e
94
+ seus próprios botões.
95
+
96
+ ```js
97
+ const { sendCarouselMessage } = require('@lopeszera/baileys')
98
+
99
+ await sendCarouselMessage(sock, jid, {
100
+ text: 'Confira nossos produtos:',
101
+ footer: 'Minha Loja',
102
+ cards: [
103
+ {
104
+ image: { url: 'https://exemplo.com/produto1.jpg' },
105
+ title: 'Produto 1',
106
+ body: 'Descrição do produto 1 - R$ 99,90',
107
+ buttons: [{ text: 'Comprar', url: 'https://loja.com/produto1' }]
108
+ },
109
+ {
110
+ image: { url: 'https://exemplo.com/produto2.jpg' },
111
+ title: 'Produto 2',
112
+ body: 'Descrição do produto 2 - R$ 149,90',
113
+ buttons: [{ text: 'Comprar', url: 'https://loja.com/produto2' }]
114
+ }
115
+ ]
116
+ })
117
+ ```
118
+
119
+ > Precisa de **2 a 10 cards** (regra do próprio WhatsApp).
120
+ > Cada card aceita `image` **ou** `video` no lugar da capa — troque
121
+ > `image: { url: '...' }` por `video: { url: '...' }` no card que quiser.
122
+
123
+ ### 🧱 MessageBuilder — `ButtonV2`, `Carousel`, `AIRich`
124
+ API fluente por cima do `sendButtonMessage`/`sendCarouselMessage`, pra quem
125
+ prefere encadear em vez de montar o objeto de opções na mão.
126
+
127
+ ```js
128
+ const { ButtonV2, Carousel, AIRich } = require('@lopeszera/baileys')
129
+ // O socket vai sempre no construtor: new ButtonV2(sock)
130
+ ```
131
+
132
+ **ButtonV2**
133
+ ```js
134
+ const msg = new ButtonV2(sock)
135
+ msg.setTitle('Título')
136
+ msg.setBody('Corpo')
137
+ msg.setFooter('Rodapé — lopes-api-store')
138
+ msg.addReply('✅ Opção 1', 'opcao_1')
139
+ msg.addReply('❌ Opção 2', 'opcao_2')
140
+ await msg.send(jid, { quoted: m })
141
+ ```
142
+
143
+ **Botão nativo (native flow)**
144
+ ```js
145
+ const msg = new ButtonV2(sock)
146
+ msg.addReply('✅ Confirmar', 'confirmar')
147
+ msg.addUrl('🔗 Abrir', 'https://lopes-api-store.com.br')
148
+ msg.addCopy('📋 Copiar', 'PROMO2025')
149
+ msg.addCall('📞 Ligar', '5511999999999')
150
+ await msg.send(jid, { quoted: m })
151
+ ```
152
+
153
+ **Carousel**
154
+ ```js
155
+ const msg = new Carousel(sock)
156
+ msg.setBody('Escolha:')
157
+ msg.card(c => c.image('https://lopes-api-store.com.br/produto1.jpg').title('Card 1').text('...'))
158
+ msg.card(c => c.video('./produto2.mp4').title('Card 2').text('...'))
159
+ await msg.send(jid, { quoted: m })
160
+ ```
161
+
162
+ **AIRich** — texto formatado, bloco de código e "tabela" (alinhada em
163
+ fonte monoespaçada — o WhatsApp não tem tabela nativa em texto):
164
+ ```js
165
+ const msg = new AIRich(sock)
166
+ msg.addText('Acesse a Lopes API: https://lopes-api-store.com.br')
167
+ msg.addCode('javascript', `require('@lopeszera/baileys')`)
168
+ msg.addTable(['Comando', 'Desc'], [['!menu', 'Menu principal']])
169
+ await msg.send(jid, { quoted: m })
170
+ ```
171
+
172
+ ### 🔘 Botões estendidos
173
+ `InteractiveButton` aceita mais tipos além de `url`/`id` (quick reply):
174
+
175
+ ```js
176
+ const button = { text: '📋 Copiar código', copyCode: 'PROMO2025' }
177
+ ```
178
+
179
+ | Campo | O que faz | Confiabilidade |
180
+ |---------------------|---------------------------------------------|----------------|
181
+ | `url` | abre um link | ✅ confirmado |
182
+ | `call` | liga pro número | ✅ confirmado |
183
+ | `copyCode` | copia texto/código com 1 toque | ✅ confirmado |
184
+ | `reminderId` / `cancelReminderId` | cria/cancela lembrete nativo | ⚠️ pouco documentado — teste antes |
185
+ | `address` / `location` | pede endereço/localização salvos | ⚠️ pouco documentado — teste antes |
186
+ | `catalog` | abre o catálogo do WhatsApp Business | ⚠️ pouco documentado — teste antes |
187
+ | `list` | abre uma lista de opções (`single_select`) | ✅ confirmado |
188
+ | `product` | mostra 1 produto do catálogo (`mpm`) — 1 botão por produto | ⚠️ pouco documentado — teste antes |
189
+ | `callPermissionRequest` | pede permissão do contato pra você poder ligar | ✅ confirmado |
190
+ | `flow` | abre um WhatsApp Flow (formulário nativo) | 🔵 formato oficial da Cloud API — teste antes de usar em produção |
191
+ | `clearChat` | **não é nativo** — quick_reply com id fixo pro seu handler tratar | 🔧 sua lógica |
192
+
193
+ **Lista de opções (`single_select`)**
194
+ ```js
195
+ const msg = new ButtonV2(sock)
196
+ msg.setBody('Escolha um plano:')
197
+ msg.addList('📋 Ver planos', [
198
+ {
199
+ title: 'Planos Lopes',
200
+ rows: [
201
+ { title: 'Básico', description: 'R$ 29,90/mês', id: 'plano_basico' },
202
+ { title: 'Pro', description: 'R$ 59,90/mês', id: 'plano_pro' }
203
+ ]
204
+ }
205
+ ])
206
+ await msg.send(jid, { quoted: m })
207
+ ```
208
+
209
+ **Vitrine de produtos (`mpm`)** — precisa de catálogo vinculado ao número:
210
+ ```js
211
+ const msg = new ButtonV2(sock)
212
+ msg.setBody('Confira:')
213
+ msg.addProduct('SEU_CATALOG_ID', 'SKU-001')
214
+ msg.addProduct('SEU_CATALOG_ID', 'SKU-002')
215
+ await msg.send(jid, { quoted: m })
216
+ ```
217
+
218
+ **Pedir permissão de chamada**
219
+ ```js
220
+ const msg = new ButtonV2(sock)
221
+ msg.setBody('Podemos te ligar pra tirar dúvidas sobre seu pedido?')
222
+ msg.addCallPermissionRequest('📞 Permitir chamada')
223
+ await msg.send(jid, { quoted: m })
224
+ ```
225
+
226
+ **WhatsApp Flow (formulário nativo)**
227
+ ```js
228
+ const msg = new ButtonV2(sock)
229
+ msg.setBody('Preencha seu cadastro na Lopes:')
230
+ msg.addFlow('📝 Iniciar cadastro', {
231
+ flowId: 'SEU_FLOW_ID',
232
+ action: 'navigate',
233
+ screen: 'WELCOME_SCREEN',
234
+ data: { origem: 'lopes-api-store' }
235
+ })
236
+ await msg.send(jid, { quoted: m })
237
+ ```
238
+ > Exige ter criado o Flow antes (tela/JSON do formulário) — isso não é
239
+ > algo que o Baileys cria pra você, só dispara o botão que abre um Flow
240
+ > já existente vinculado ao número.
241
+
242
+ ### 🔕 `isSystemNotification`
243
+ Filtra mensagens que são notificação de sistema (grupo criado, participante
244
+ entrou/saiu, etc.) em vez de conteúdo de conversa de verdade:
245
+
246
+ ```js
247
+ const { isSystemNotification } = require('@lopeszera/baileys')
248
+
249
+ sock.ev.on('messages.upsert', async ({ messages }) => {
250
+ const msg = messages[0]
251
+ if (isSystemNotification(msg)) return
252
+ // ...seu handler de comando aqui
253
+ })
254
+ ```
255
+
256
+ ### 🗂️ Menu de fontes — `setupSourcesMenu`
257
+ Monta o fluxo: comando de texto → card com imagem/infos → lista de itens →
258
+ botão nativo de "copiar código" pro item escolhido. Útil pra menu de
259
+ fontes/produtos/cupons.
260
+
261
+ ```js
262
+ const { setupSourcesMenu } = require('@lopeszera/baileys')
263
+
264
+ setupSourcesMenu(sock, {
265
+ trigger: '-fontes', // o que o usuário manda pra abrir o card
266
+ card: {
267
+ image: { url: './card.png' },
268
+ title: 'Fontes do Bot',
269
+ tags: ['武士道', 'Meu Bot'],
270
+ info: {
271
+ Creator: 'Você',
272
+ BotNome: 'Meu Bot V1',
273
+ Telegram: 't.me/seucanal'
274
+ },
275
+ channel: { text: 'Meu Canal', url: 'https://whatsapp.com/channel/xxxx' },
276
+ listButtonText: 'Fontes'
277
+ },
278
+ list: {
279
+ title: 'Fontes Disponíveis',
280
+ buttonText: 'Ver fontes'
281
+ },
282
+ // pode ser um array fixo ou uma função (pra buscar de um arquivo/banco na hora)
283
+ sources: [
284
+ { id: 'src1', title: 'Fonte 1', description: 'Menu principal', code: 'ABC123' },
285
+ { id: 'src2', title: 'Fonte 2', description: 'Sistema de figurinhas', code: 'DEF456' }
286
+ ]
287
+ })
288
+ ```
289
+
290
+ **Fluxo real** (importante entender antes de usar): usuário manda `-fontes`
291
+ → recebe o card → toca no botão "Fontes" → recebe a lista → toca num item
292
+ → recebe uma mensagem só daquele item com o botão **"Copiar código"** → aí
293
+ sim toca e copia. São 2 toques depois do comando, não 1 — não existe (até
294
+ onde consegui confirmar no protocolo) uma lista onde cada linha já copia
295
+ direto sem essa etapa intermediária.
296
+
297
+ Também dá pra usar as peças separadas, se quiser montar seu próprio fluxo:
298
+ `sendSourcesCard`, `sendSourcesList`, `sendSourceCode`.
299
+
300
+ ### 📖 Status — `sendStatus`
301
+ Posta um Status de texto, imagem ou vídeo. `statusJidList` é a lista de
302
+ contatos que **podem ver** esse status especificamente — sem isso, vale a
303
+ audiência padrão (todo mundo que já te tem salvo).
304
+
305
+ ```js
306
+ const { sendStatus } = require('@lopeszera/baileys')
307
+
308
+ // status de texto, só pra um grupo específico de contatos
309
+ await sendStatus(
310
+ sock,
311
+ { text: 'Bom dia! ☀️' },
312
+ {
313
+ statusJidList: ['5567999999999@s.whatsapp.net', '5567988888888@s.whatsapp.net'],
314
+ backgroundColor: '#25D366',
315
+ font: 2
316
+ }
317
+ )
318
+
319
+ // status de imagem, audiência padrão
320
+ await sendStatus(sock, { image: { url: './foto.jpg' }, caption: 'Olha só' })
321
+ ```
322
+
323
+ ### 📞 Chamadas — o que o fork faz de verdade
324
+ Importante: o Baileys (esse fork incluso) fala só a **sinalização** de
325
+ chamada do WhatsApp — não tem nada de RTP/SRTP/Opus aqui, então:
326
+
327
+ - ✅ **Recebe** eventos de chamada (`offer`, `ringing`, `accept`, `reject`,
328
+ `terminate`, `timeout`) e consegue **rejeitar** automaticamente
329
+ - ❌ **Não** origina chamada, **não** tem áudio — isso não existe em
330
+ nenhuma versão pública do Baileys
331
+
332
+ ```js
333
+ const { setupCallHandler } = require('@lopeszera/baileys')
334
+
335
+ setupCallHandler(sock, {
336
+ autoReject: true,
337
+ onCall: (call) => {
338
+ console.log(`Chamada de ${call.from} — status: ${call.status}`)
339
+ }
340
+ })
341
+ ```
342
+
343
+ **Chamada de saída com áudio de verdade** (bot ligar e tocar uma música)
344
+ só é possível integrando uma lib externa que embuta a stack VoIP real do
345
+ WhatsApp Web — usamos o
346
+ [baileys-caller](https://github.com/SheIITear/baileys-caller) pra isso.
347
+ Não faz parte do core do fork (é uma dependência separada, com seu próprio
348
+ socket/sessão), tem exemplo pronto em `Example/voipCaller.ts` e
349
+ `Example/call-example.ts`:
350
+
351
+ ```bash
352
+ npm run example:call ./session 5567999999999 ./hello.mp3
353
+ ```
354
+
355
+ Detalhes de instalação (ffmpeg, build do baileys-caller, alias no
356
+ `package.json`) estão comentados no topo do `Example/voipCaller.ts`.
357
+
358
+ ---
359
+
360
+ ## 🔐 Conectando
361
+
362
+ **Via QR Code** (padrão):
363
+ ```js
364
+ sock.ev.on('connection.update', ({ qr }) => {
365
+ if (qr) console.log(qr)
366
+ })
367
+ ```
368
+
369
+ **Via código de pareamento** (sem escanear QR):
370
+ ```js
371
+ if (!sock.authState.creds.registered) {
372
+ const code = await sock.requestPairingCode('55SEUNUMEROCOMDDIcompleto')
373
+ console.log('Código:', code)
374
+ }
375
+ ```
376
+
377
+ ---
378
+
379
+ ## ⚠️ Aviso
380
+ Automação de WhatsApp fora da API oficial pode violar os Termos de Serviço
381
+ do WhatsApp e resultar em banimento do número. Use por sua conta e risco.
382
+
383
+ ---
384
+
385
+ <p align="center">
386
+ Mantido por <b>𝕷'𝖆𝖌ü𝖊𝖗𝖔</b><br/>
387
+ <a href="https://whatsapp.com/channel/0029Vb5nzxV7dmehsyILK70Z">📲 Me segue no canal do WhatsApp</a>
388
+ </p>
389
+
390
+ <p align="center">
391
+ <sub>Baseado no <a href="https://github.com/WhiskeySockets/Baileys">WhiskeySockets/Baileys</a> (MIT) — créditos originais preservados na <a href="./LICENSE">LICENSE</a>.</sub>
392
+ </p>
@@ -0,0 +1,3 @@
1
+ yarn pbjs -t static-module --no-beautify -w es6 --no-bundle --no-delimited --no-verify --no-comments -o ./index.js ./WAProto.proto;
2
+ yarn pbjs -t static-module --no-beautify -w es6 --no-bundle --no-delimited --no-verify ./WAProto.proto | yarn pbts --no-comments -o ./index.d.ts -;
3
+ node ./fix-imports.js