@kelvdra/baileys 1.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 (385) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1478 -0
  3. package/WAProto/GenerateStatics.sh +3 -0
  4. package/WAProto/WAProto.proto +4633 -0
  5. package/WAProto/fix-imports.js +29 -0
  6. package/WAProto/index.d.ts +37016 -0
  7. package/WAProto/index.js +169659 -0
  8. package/engine-requirements.js +10 -0
  9. package/lib/Defaults/index.d.ts +62 -0
  10. package/lib/Defaults/index.d.ts.map +1 -0
  11. package/lib/Defaults/index.js +115 -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 +342 -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 +171 -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 +50 -0
  80. package/lib/Socket/Client/websocket.js.map +1 -0
  81. package/lib/Socket/business.d.ts +188 -0
  82. package/lib/Socket/business.d.ts.map +1 -0
  83. package/lib/Socket/business.js +376 -0
  84. package/lib/Socket/business.js.map +1 -0
  85. package/lib/Socket/chats.d.ts +98 -0
  86. package/lib/Socket/chats.d.ts.map +1 -0
  87. package/lib/Socket/chats.js +962 -0
  88. package/lib/Socket/chats.js.map +1 -0
  89. package/lib/Socket/communities.d.ts +244 -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 +137 -0
  94. package/lib/Socket/groups.d.ts.map +1 -0
  95. package/lib/Socket/groups.js +327 -0
  96. package/lib/Socket/groups.js.map +1 -0
  97. package/lib/Socket/hydra.d.ts +174 -0
  98. package/lib/Socket/hydra.js +715 -0
  99. package/lib/Socket/index.d.ts +231 -0
  100. package/lib/Socket/index.d.ts.map +1 -0
  101. package/lib/Socket/index.js +18 -0
  102. package/lib/Socket/index.js.map +1 -0
  103. package/lib/Socket/messages-recv.d.ts +173 -0
  104. package/lib/Socket/messages-recv.d.ts.map +1 -0
  105. package/lib/Socket/messages-recv.js +1228 -0
  106. package/lib/Socket/messages-recv.js.map +1 -0
  107. package/lib/Socket/messages-send.d.ts +169 -0
  108. package/lib/Socket/messages-send.d.ts.map +1 -0
  109. package/lib/Socket/messages-send.js +1367 -0
  110. package/lib/Socket/messages-send.js.map +1 -0
  111. package/lib/Socket/mex.d.ts +3 -0
  112. package/lib/Socket/mex.d.ts.map +1 -0
  113. package/lib/Socket/mex.js +42 -0
  114. package/lib/Socket/mex.js.map +1 -0
  115. package/lib/Socket/newsletter.d.ts +147 -0
  116. package/lib/Socket/newsletter.d.ts.map +1 -0
  117. package/lib/Socket/newsletter.js +181 -0
  118. package/lib/Socket/newsletter.js.map +1 -0
  119. package/lib/Socket/socket.d.ts +51 -0
  120. package/lib/Socket/socket.d.ts.map +1 -0
  121. package/lib/Socket/socket.js +841 -0
  122. package/lib/Socket/socket.js.map +1 -0
  123. package/lib/Store/index.d.ts +4 -0
  124. package/lib/Store/index.js +4 -0
  125. package/lib/Store/make-cache-manager-store.d.ts +14 -0
  126. package/lib/Store/make-cache-manager-store.js +81 -0
  127. package/lib/Store/make-in-memory-store.d.ts +123 -0
  128. package/lib/Store/make-in-memory-store.js +416 -0
  129. package/lib/Store/make-ordered-dictionary.d.ts +12 -0
  130. package/lib/Store/make-ordered-dictionary.js +82 -0
  131. package/lib/Store/object-repository.d.ts +10 -0
  132. package/lib/Store/object-repository.js +31 -0
  133. package/lib/Types/Auth.d.ts +111 -0
  134. package/lib/Types/Auth.d.ts.map +1 -0
  135. package/lib/Types/Auth.js +2 -0
  136. package/lib/Types/Auth.js.map +1 -0
  137. package/lib/Types/Bussines.d.ts +25 -0
  138. package/lib/Types/Bussines.d.ts.map +1 -0
  139. package/lib/Types/Bussines.js +2 -0
  140. package/lib/Types/Bussines.js.map +1 -0
  141. package/lib/Types/Call.d.ts +14 -0
  142. package/lib/Types/Call.d.ts.map +1 -0
  143. package/lib/Types/Call.js +2 -0
  144. package/lib/Types/Call.js.map +1 -0
  145. package/lib/Types/Chat.d.ts +123 -0
  146. package/lib/Types/Chat.d.ts.map +1 -0
  147. package/lib/Types/Chat.js +8 -0
  148. package/lib/Types/Chat.js.map +1 -0
  149. package/lib/Types/Contact.d.ts +24 -0
  150. package/lib/Types/Contact.d.ts.map +1 -0
  151. package/lib/Types/Contact.js +2 -0
  152. package/lib/Types/Contact.js.map +1 -0
  153. package/lib/Types/Events.d.ts +202 -0
  154. package/lib/Types/Events.d.ts.map +1 -0
  155. package/lib/Types/Events.js +2 -0
  156. package/lib/Types/Events.js.map +1 -0
  157. package/lib/Types/GroupMetadata.d.ts +67 -0
  158. package/lib/Types/GroupMetadata.d.ts.map +1 -0
  159. package/lib/Types/GroupMetadata.js +2 -0
  160. package/lib/Types/GroupMetadata.js.map +1 -0
  161. package/lib/Types/Label.d.ts +47 -0
  162. package/lib/Types/Label.d.ts.map +1 -0
  163. package/lib/Types/Label.js +25 -0
  164. package/lib/Types/Label.js.map +1 -0
  165. package/lib/Types/LabelAssociation.d.ts +30 -0
  166. package/lib/Types/LabelAssociation.d.ts.map +1 -0
  167. package/lib/Types/LabelAssociation.js +7 -0
  168. package/lib/Types/LabelAssociation.js.map +1 -0
  169. package/lib/Types/Message.d.ts +303 -0
  170. package/lib/Types/Message.d.ts.map +1 -0
  171. package/lib/Types/Message.js +11 -0
  172. package/lib/Types/Message.js.map +1 -0
  173. package/lib/Types/Newsletter.d.ts +135 -0
  174. package/lib/Types/Newsletter.d.ts.map +1 -0
  175. package/lib/Types/Newsletter.js +31 -0
  176. package/lib/Types/Newsletter.js.map +1 -0
  177. package/lib/Types/Product.d.ts +79 -0
  178. package/lib/Types/Product.d.ts.map +1 -0
  179. package/lib/Types/Product.js +2 -0
  180. package/lib/Types/Product.js.map +1 -0
  181. package/lib/Types/Signal.d.ts +76 -0
  182. package/lib/Types/Signal.d.ts.map +1 -0
  183. package/lib/Types/Signal.js +2 -0
  184. package/lib/Types/Signal.js.map +1 -0
  185. package/lib/Types/Socket.d.ts +133 -0
  186. package/lib/Types/Socket.d.ts.map +1 -0
  187. package/lib/Types/Socket.js +3 -0
  188. package/lib/Types/Socket.js.map +1 -0
  189. package/lib/Types/State.d.ts +39 -0
  190. package/lib/Types/State.d.ts.map +1 -0
  191. package/lib/Types/State.js +13 -0
  192. package/lib/Types/State.js.map +1 -0
  193. package/lib/Types/USync.d.ts +26 -0
  194. package/lib/Types/USync.d.ts.map +1 -0
  195. package/lib/Types/USync.js +2 -0
  196. package/lib/Types/USync.js.map +1 -0
  197. package/lib/Types/index.d.ts +65 -0
  198. package/lib/Types/index.d.ts.map +1 -0
  199. package/lib/Types/index.js +26 -0
  200. package/lib/Types/index.js.map +1 -0
  201. package/lib/Utils/auth-utils.d.ts +19 -0
  202. package/lib/Utils/auth-utils.d.ts.map +1 -0
  203. package/lib/Utils/auth-utils.js +257 -0
  204. package/lib/Utils/auth-utils.js.map +1 -0
  205. package/lib/Utils/baileys-event-stream.d.ts +17 -0
  206. package/lib/Utils/baileys-event-stream.d.ts.map +1 -0
  207. package/lib/Utils/baileys-event-stream.js +56 -0
  208. package/lib/Utils/baileys-event-stream.js.map +1 -0
  209. package/lib/Utils/browser-utils.d.ts +4 -0
  210. package/lib/Utils/browser-utils.d.ts.map +1 -0
  211. package/lib/Utils/browser-utils.js +28 -0
  212. package/lib/Utils/browser-utils.js.map +1 -0
  213. package/lib/Utils/business.d.ts +23 -0
  214. package/lib/Utils/business.d.ts.map +1 -0
  215. package/lib/Utils/business.js +231 -0
  216. package/lib/Utils/business.js.map +1 -0
  217. package/lib/Utils/chat-utils.d.ts +70 -0
  218. package/lib/Utils/chat-utils.d.ts.map +1 -0
  219. package/lib/Utils/chat-utils.js +763 -0
  220. package/lib/Utils/chat-utils.js.map +1 -0
  221. package/lib/Utils/crypto.d.ts +41 -0
  222. package/lib/Utils/crypto.d.ts.map +1 -0
  223. package/lib/Utils/crypto.js +142 -0
  224. package/lib/Utils/crypto.js.map +1 -0
  225. package/lib/Utils/decode-wa-message.d.ts +48 -0
  226. package/lib/Utils/decode-wa-message.d.ts.map +1 -0
  227. package/lib/Utils/decode-wa-message.js +279 -0
  228. package/lib/Utils/decode-wa-message.js.map +1 -0
  229. package/lib/Utils/event-buffer.d.ts +34 -0
  230. package/lib/Utils/event-buffer.d.ts.map +1 -0
  231. package/lib/Utils/event-buffer.js +548 -0
  232. package/lib/Utils/event-buffer.js.map +1 -0
  233. package/lib/Utils/generics.d.ts +90 -0
  234. package/lib/Utils/generics.d.ts.map +1 -0
  235. package/lib/Utils/generics.js +381 -0
  236. package/lib/Utils/generics.js.map +1 -0
  237. package/lib/Utils/history.d.ts +19 -0
  238. package/lib/Utils/history.d.ts.map +1 -0
  239. package/lib/Utils/history.js +84 -0
  240. package/lib/Utils/history.js.map +1 -0
  241. package/lib/Utils/index.d.ts +20 -0
  242. package/lib/Utils/index.d.ts.map +1 -0
  243. package/lib/Utils/index.js +20 -0
  244. package/lib/Utils/index.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 +12 -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 +13 -0
  254. package/lib/Utils/lt-hash.d.ts.map +1 -0
  255. package/lib/Utils/lt-hash.js +48 -0
  256. package/lib/Utils/lt-hash.js.map +1 -0
  257. package/lib/Utils/make-mutex.d.ts +8 -0
  258. package/lib/Utils/make-mutex.d.ts.map +1 -0
  259. package/lib/Utils/make-mutex.js +40 -0
  260. package/lib/Utils/make-mutex.js.map +1 -0
  261. package/lib/Utils/message-retry-manager.d.ts +82 -0
  262. package/lib/Utils/message-retry-manager.d.ts.map +1 -0
  263. package/lib/Utils/message-retry-manager.js +149 -0
  264. package/lib/Utils/message-retry-manager.js.map +1 -0
  265. package/lib/Utils/messages-media.d.ts +114 -0
  266. package/lib/Utils/messages-media.d.ts.map +1 -0
  267. package/lib/Utils/messages-media.js +684 -0
  268. package/lib/Utils/messages-media.js.map +1 -0
  269. package/lib/Utils/messages.d.ts +76 -0
  270. package/lib/Utils/messages.d.ts.map +1 -0
  271. package/lib/Utils/messages.js +820 -0
  272. package/lib/Utils/messages.js.map +1 -0
  273. package/lib/Utils/noise-handler.d.ts +20 -0
  274. package/lib/Utils/noise-handler.d.ts.map +1 -0
  275. package/lib/Utils/noise-handler.js +147 -0
  276. package/lib/Utils/noise-handler.js.map +1 -0
  277. package/lib/Utils/pre-key-manager.d.ts +28 -0
  278. package/lib/Utils/pre-key-manager.d.ts.map +1 -0
  279. package/lib/Utils/pre-key-manager.js +106 -0
  280. package/lib/Utils/pre-key-manager.js.map +1 -0
  281. package/lib/Utils/process-message.d.ts +42 -0
  282. package/lib/Utils/process-message.d.ts.map +1 -0
  283. package/lib/Utils/process-message.js +413 -0
  284. package/lib/Utils/process-message.js.map +1 -0
  285. package/lib/Utils/signal.d.ts +34 -0
  286. package/lib/Utils/signal.d.ts.map +1 -0
  287. package/lib/Utils/signal.js +159 -0
  288. package/lib/Utils/signal.js.map +1 -0
  289. package/lib/Utils/use-multi-file-auth-state.d.ts +13 -0
  290. package/lib/Utils/use-multi-file-auth-state.d.ts.map +1 -0
  291. package/lib/Utils/use-multi-file-auth-state.js +121 -0
  292. package/lib/Utils/use-multi-file-auth-state.js.map +1 -0
  293. package/lib/Utils/validate-connection.d.ts +11 -0
  294. package/lib/Utils/validate-connection.d.ts.map +1 -0
  295. package/lib/Utils/validate-connection.js +195 -0
  296. package/lib/Utils/validate-connection.js.map +1 -0
  297. package/lib/WABinary/constants.d.ts +28 -0
  298. package/lib/WABinary/constants.d.ts.map +1 -0
  299. package/lib/WABinary/constants.js +1301 -0
  300. package/lib/WABinary/constants.js.map +1 -0
  301. package/lib/WABinary/decode.d.ts +7 -0
  302. package/lib/WABinary/decode.d.ts.map +1 -0
  303. package/lib/WABinary/decode.js +238 -0
  304. package/lib/WABinary/decode.js.map +1 -0
  305. package/lib/WABinary/encode.d.ts +3 -0
  306. package/lib/WABinary/encode.d.ts.map +1 -0
  307. package/lib/WABinary/encode.js +216 -0
  308. package/lib/WABinary/encode.js.map +1 -0
  309. package/lib/WABinary/generic-utils.d.ts +15 -0
  310. package/lib/WABinary/generic-utils.d.ts.map +1 -0
  311. package/lib/WABinary/generic-utils.js +111 -0
  312. package/lib/WABinary/generic-utils.js.map +1 -0
  313. package/lib/WABinary/index.d.ts +6 -0
  314. package/lib/WABinary/index.d.ts.map +1 -0
  315. package/lib/WABinary/index.js +6 -0
  316. package/lib/WABinary/index.js.map +1 -0
  317. package/lib/WABinary/jid-utils.d.ts +48 -0
  318. package/lib/WABinary/jid-utils.d.ts.map +1 -0
  319. package/lib/WABinary/jid-utils.js +96 -0
  320. package/lib/WABinary/jid-utils.js.map +1 -0
  321. package/lib/WABinary/types.d.ts +19 -0
  322. package/lib/WABinary/types.d.ts.map +1 -0
  323. package/lib/WABinary/types.js +2 -0
  324. package/lib/WABinary/types.js.map +1 -0
  325. package/lib/WAM/BinaryInfo.d.ts +9 -0
  326. package/lib/WAM/BinaryInfo.d.ts.map +1 -0
  327. package/lib/WAM/BinaryInfo.js +10 -0
  328. package/lib/WAM/BinaryInfo.js.map +1 -0
  329. package/lib/WAM/constants.d.ts +40 -0
  330. package/lib/WAM/constants.d.ts.map +1 -0
  331. package/lib/WAM/constants.js +22853 -0
  332. package/lib/WAM/constants.js.map +1 -0
  333. package/lib/WAM/encode.d.ts +3 -0
  334. package/lib/WAM/encode.d.ts.map +1 -0
  335. package/lib/WAM/encode.js +150 -0
  336. package/lib/WAM/encode.js.map +1 -0
  337. package/lib/WAM/index.d.ts +4 -0
  338. package/lib/WAM/index.d.ts.map +1 -0
  339. package/lib/WAM/index.js +4 -0
  340. package/lib/WAM/index.js.map +1 -0
  341. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +10 -0
  342. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -0
  343. package/lib/WAUSync/Protocols/USyncContactProtocol.js +29 -0
  344. package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -0
  345. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +23 -0
  346. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +1 -0
  347. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +54 -0
  348. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +1 -0
  349. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +13 -0
  350. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +1 -0
  351. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +27 -0
  352. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +1 -0
  353. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +13 -0
  354. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +1 -0
  355. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +38 -0
  356. package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +1 -0
  357. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +26 -0
  358. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts.map +1 -0
  359. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +51 -0
  360. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js.map +1 -0
  361. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +10 -0
  362. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +1 -0
  363. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +29 -0
  364. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +1 -0
  365. package/lib/WAUSync/Protocols/index.d.ts +5 -0
  366. package/lib/WAUSync/Protocols/index.d.ts.map +1 -0
  367. package/lib/WAUSync/Protocols/index.js +5 -0
  368. package/lib/WAUSync/Protocols/index.js.map +1 -0
  369. package/lib/WAUSync/USyncQuery.d.ts +29 -0
  370. package/lib/WAUSync/USyncQuery.d.ts.map +1 -0
  371. package/lib/WAUSync/USyncQuery.js +94 -0
  372. package/lib/WAUSync/USyncQuery.js.map +1 -0
  373. package/lib/WAUSync/USyncUser.d.ts +13 -0
  374. package/lib/WAUSync/USyncUser.d.ts.map +1 -0
  375. package/lib/WAUSync/USyncUser.js +23 -0
  376. package/lib/WAUSync/USyncUser.js.map +1 -0
  377. package/lib/WAUSync/index.d.ts +4 -0
  378. package/lib/WAUSync/index.d.ts.map +1 -0
  379. package/lib/WAUSync/index.js +4 -0
  380. package/lib/WAUSync/index.js.map +1 -0
  381. package/lib/index.d.ts +13 -0
  382. package/lib/index.d.ts.map +1 -0
  383. package/lib/index.js +12 -0
  384. package/lib/index.js.map +1 -0
  385. package/package.json +104 -0
@@ -0,0 +1,715 @@
1
+ import * as Utils_1 from '../Utils/index.js'
2
+ import WaProto from '../../WAProto/index.js'
3
+ const WAProto = WaProto.proto
4
+ import axios from "axios"
5
+ import crypto from 'crypto'
6
+
7
+ class hydra {
8
+ constructor(utils, waUploadToServer, relayMessageFn) {
9
+ this.utils = utils;
10
+ this.relayMessage = relayMessageFn
11
+ this.waUploadToServer = waUploadToServer;
12
+ }
13
+
14
+ detectType(content) {
15
+ if (content.requestPaymentMessage) return 'PAYMENT';
16
+ if (content.productMessage) return 'PRODUCT';
17
+ if (content.interactiveMessage) return 'INTERACTIVE';
18
+ if (content.albumMessage) return 'ALBUM';
19
+ if (content.eventMessage) return 'EVENT';
20
+ if (content.pollResultMessage) return 'POLL_RESULT';
21
+ if (content.statusMentionMessage) return 'STATUS_MENTION';
22
+ if (content.orderMessage) return 'ORDER';
23
+ if (content.groupStatus) return 'GROUP_STATUS';
24
+ if (content.carouselMessage || content.carousel) return 'CAROUSEL';
25
+ return null;
26
+ }
27
+
28
+ async handleCarousel(content, jid, quoted) {
29
+ // 🔥 Support carouselMessage (native) & carousel (wrapper)
30
+ const root = content.carouselMessage || content.carousel || {};
31
+ const { caption = "", footer = "", cards = [] } = root;
32
+
33
+ const carouselCards = await Promise.all(
34
+ cards.map(async (card) => {
35
+ if (card.productTitle) {
36
+ // Mode Product
37
+ return {
38
+ header: WAProto.Message.InteractiveMessage.Header.create({
39
+ title: card.headerTitle || "",
40
+ subtitle: card.headerSubtitle || "",
41
+ productMessage: {
42
+ product: {
43
+ productImage: (
44
+ await this.utils.prepareWAMessageMedia(
45
+ { image: { url: card.imageUrl } },
46
+ { upload: this.waUploadToServer }
47
+ )
48
+ ).imageMessage,
49
+ productId: card.productId || "123456",
50
+ title: card.productTitle,
51
+ description: card.productDescription || "",
52
+ currencyCode: card.currencyCode || "IDR",
53
+ priceAmount1000: card.priceAmount1000 || "100000",
54
+ retailerId: card.retailerId || "Retailer",
55
+ url: card.url || "",
56
+ productImageCount: 1
57
+ },
58
+ businessOwnerJid: card.businessOwnerJid || "0@s.whatsapp.net"
59
+ },
60
+ hasMediaAttachment: false
61
+ }),
62
+ body: WAProto.Message.InteractiveMessage.Body.create({
63
+ text: card.bodyText || ""
64
+ }),
65
+ footer: WAProto.Message.InteractiveMessage.Footer.create({
66
+ text: card.footerText || ""
67
+ }),
68
+ nativeFlowMessage: WAProto.Message.InteractiveMessage.NativeFlowMessage.create({
69
+ buttons: (card.buttons || []).map((btn) => ({
70
+ name: btn.name,
71
+ buttonParamsJson: JSON.stringify(btn.params || {})
72
+ }))
73
+ })
74
+ };
75
+ } else {
76
+ // Mode Image biasa
77
+ return {
78
+ header: WAProto.Message.InteractiveMessage.Header.create({
79
+ title: card.headerTitle || "",
80
+ subtitle: card.headerSubtitle || "",
81
+ hasMediaAttachment: !!card.imageUrl,
82
+ ...(card.imageUrl
83
+ ? await this.utils.prepareWAMessageMedia(
84
+ { image: { url: card.imageUrl } },
85
+ { upload: this.waUploadToServer }
86
+ )
87
+ : {}
88
+ )
89
+ }),
90
+ body: WAProto.Message.InteractiveMessage.Body.create({
91
+ text: card.bodyText || ""
92
+ }),
93
+ footer: WAProto.Message.InteractiveMessage.Footer.create({
94
+ text: card.footerText || ""
95
+ }),
96
+ nativeFlowMessage: WAProto.Message.InteractiveMessage.NativeFlowMessage.create({
97
+ buttons: (card.buttons || []).map((btn) => ({
98
+ name: btn.name,
99
+ buttonParamsJson: JSON.stringify(btn.params || {})
100
+ }))
101
+ })
102
+ };
103
+ }
104
+ })
105
+ );
106
+
107
+ const msg = await this.utils.generateWAMessageFromContent(
108
+ jid,
109
+ {
110
+ viewOnceMessage: {
111
+ message: {
112
+ interactiveMessage: WAProto.Message.InteractiveMessage.create({
113
+ body: WAProto.Message.InteractiveMessage.Body.create({ text: caption }),
114
+ footer: WAProto.Message.InteractiveMessage.Footer.create({ text: footer }),
115
+ carouselMessage: WAProto.Message.InteractiveMessage.CarouselMessage.create({
116
+ cards: carouselCards,
117
+ messageVersion: 1
118
+ })
119
+ })
120
+ }
121
+ }
122
+ },
123
+ { quoted }
124
+ );
125
+
126
+ await this.relayMessage(jid, msg.message, { messageId: msg.key.id });
127
+ return msg;
128
+ }
129
+
130
+ async handlePayment(content, quoted) {
131
+ const data = content.requestPaymentMessage;
132
+ let notes = {};
133
+
134
+ if (data.sticker?.stickerMessage) {
135
+ notes = {
136
+ stickerMessage: {
137
+ ...data.sticker.stickerMessage,
138
+ contextInfo: {
139
+ stanzaId: quoted?.key?.id,
140
+ participant: quoted?.key?.participant || content.sender,
141
+ quotedMessage: quoted?.message
142
+ }
143
+ }
144
+ };
145
+ } else if (data.note) {
146
+ notes = {
147
+ extendedTextMessage: {
148
+ text: data.note,
149
+ contextInfo: {
150
+ stanzaId: quoted?.key?.id,
151
+ participant: quoted?.key?.participant || content.sender,
152
+ quotedMessage: quoted?.message
153
+ }
154
+ }
155
+ };
156
+ }
157
+
158
+ return {
159
+ requestPaymentMessage: WAProto.Message.RequestPaymentMessage.fromObject({
160
+ expiryTimestamp: data.expiry || 0,
161
+ amount1000: data.amount || 0,
162
+ currencyCodeIso4217: data.currency || "IDR",
163
+ requestFrom: data.from || "0@s.whatsapp.net",
164
+ noteMessage: notes,
165
+ background: data.background ?? {
166
+ id: "DEFAULT",
167
+ placeholderArgb: 0xFFF0F0F0
168
+ }
169
+ })
170
+ };
171
+ }
172
+
173
+ async handleProduct(content, jid, quoted) {
174
+ const {
175
+ title,
176
+ description,
177
+ thumbnail,
178
+ productId,
179
+ retailerId,
180
+ url,
181
+ body = "",
182
+ footer = "",
183
+ buttons = [],
184
+ priceAmount1000 = null,
185
+ currencyCode = "IDR"
186
+ } = content.productMessage;
187
+
188
+ let productImage;
189
+
190
+ if (Buffer.isBuffer(thumbnail)) {
191
+ const { imageMessage } = await this.utils.generateWAMessageContent(
192
+ { image: thumbnail },
193
+ { upload: this.waUploadToServer }
194
+ );
195
+ productImage = imageMessage;
196
+ } else if (typeof thumbnail === 'object' && thumbnail.url) {
197
+ const { imageMessage } = await this.utils.generateWAMessageContent(
198
+ { image: { url: thumbnail.url }},
199
+ { upload: this.waUploadToServer }
200
+ );
201
+ productImage = imageMessage;
202
+ }
203
+
204
+ return {
205
+ viewOnceMessage: {
206
+ message: {
207
+ interactiveMessage: {
208
+ body: { text: body },
209
+ footer: { text: footer },
210
+ header: {
211
+ title,
212
+ hasMediaAttachment: true,
213
+ productMessage: {
214
+ product: {
215
+ productImage,
216
+ productId,
217
+ title,
218
+ description,
219
+ currencyCode,
220
+ priceAmount1000,
221
+ retailerId,
222
+ url,
223
+ productImageCount: 1
224
+ },
225
+ businessOwnerJid: "0@s.whatsapp.net"
226
+ }
227
+ },
228
+ nativeFlowMessage: { buttons }
229
+ }
230
+ }
231
+ }
232
+ };
233
+ }
234
+
235
+ async handleInteractive(content, jid, quoted) {
236
+ const {
237
+ title,
238
+ footer,
239
+ thumbnail,
240
+ image,
241
+ video,
242
+ document,
243
+ mimetype,
244
+ fileName,
245
+ jpegThumbnail,
246
+ contextInfo,
247
+ externalAdReply,
248
+ buttons = [],
249
+ nativeFlowMessage
250
+ } = content.interactiveMessage;
251
+
252
+ let media = null;
253
+ let mediaType = null;
254
+
255
+ if (thumbnail) {
256
+ media = await this.utils.prepareWAMessageMedia(
257
+ { image: { url: thumbnail } },
258
+ { upload: this.waUploadToServer }
259
+ );
260
+ mediaType = 'image';
261
+ } else if (image) {
262
+ if (typeof image === 'object' && image.url) {
263
+ media = await this.utils.prepareWAMessageMedia(
264
+ { image: { url: image.url } },
265
+ { upload: this.waUploadToServer }
266
+ );
267
+ } else {
268
+ media = await this.utils.prepareWAMessageMedia(
269
+ { image: image },
270
+ { upload: this.waUploadToServer }
271
+ );
272
+ }
273
+ mediaType = 'image';
274
+ } else if (video) {
275
+ if (typeof video === 'object' && video.url) {
276
+ media = await this.utils.prepareWAMessageMedia(
277
+ { video: { url: video.url } },
278
+ { upload: this.waUploadToServer }
279
+ );
280
+ } else {
281
+ media = await this.utils.prepareWAMessageMedia(
282
+ { video: video },
283
+ { upload: this.waUploadToServer }
284
+ );
285
+ }
286
+ mediaType = 'video';
287
+ } else if (document) {
288
+ let documentPayload = { document: document };
289
+
290
+ if (jpegThumbnail) {
291
+ if (typeof jpegThumbnail === 'object' && jpegThumbnail.url) {
292
+ documentPayload.jpegThumbnail = { url: jpegThumbnail.url };
293
+ } else {
294
+ documentPayload.jpegThumbnail = jpegThumbnail;
295
+ }
296
+ }
297
+
298
+ media = await this.utils.prepareWAMessageMedia(
299
+ documentPayload,
300
+ { upload: this.waUploadToServer }
301
+ );
302
+
303
+ if (fileName) {
304
+ media.documentMessage.fileName = fileName;
305
+ }
306
+ if (mimetype) {
307
+ media.documentMessage.mimetype = mimetype;
308
+ }
309
+ mediaType = 'document';
310
+ }
311
+
312
+ let interactiveMessage = {
313
+ body: { text: title || "" },
314
+ footer: { text: footer || "" }
315
+ };
316
+
317
+ if (buttons && buttons.length > 0) {
318
+ interactiveMessage.nativeFlowMessage = {
319
+ buttons: buttons
320
+ };
321
+
322
+ if (nativeFlowMessage) {
323
+ interactiveMessage.nativeFlowMessage = {
324
+ ...interactiveMessage.nativeFlowMessage,
325
+ ...nativeFlowMessage
326
+ };
327
+ }
328
+ } else if (nativeFlowMessage) {
329
+ interactiveMessage.nativeFlowMessage = nativeFlowMessage;
330
+ }
331
+
332
+ if (media) {
333
+ interactiveMessage.header = {
334
+ title: "",
335
+ hasMediaAttachment: true,
336
+ ...media
337
+ };
338
+ } else {
339
+ interactiveMessage.header = {
340
+ title: "",
341
+ hasMediaAttachment: false
342
+ };
343
+ }
344
+
345
+ let finalContextInfo = {};
346
+
347
+ if (contextInfo) {
348
+ finalContextInfo = {
349
+ mentionedJid: contextInfo.mentionedJid || [],
350
+ forwardingScore: contextInfo.forwardingScore || 0,
351
+ isForwarded: contextInfo.isForwarded || false,
352
+ ...contextInfo
353
+ };
354
+ }
355
+
356
+ if (externalAdReply) {
357
+ finalContextInfo.externalAdReply = {
358
+ title: externalAdReply.title || "",
359
+ body: externalAdReply.body || "",
360
+ mediaType: externalAdReply.mediaType || 1,
361
+ thumbnailUrl: externalAdReply.thumbnailUrl || "",
362
+ mediaUrl: externalAdReply.mediaUrl || "",
363
+ sourceUrl: externalAdReply.sourceUrl || "",
364
+ showAdAttribution: externalAdReply.showAdAttribution || false,
365
+ renderLargerThumbnail: externalAdReply.renderLargerThumbnail || false,
366
+ ...externalAdReply
367
+ };
368
+ }
369
+
370
+ if (Object.keys(finalContextInfo).length > 0) {
371
+ interactiveMessage.contextInfo = finalContextInfo;
372
+ }
373
+
374
+ return {
375
+ interactiveMessage: interactiveMessage
376
+ };
377
+ }
378
+
379
+ async handleAlbum(content, jid, quoted) {
380
+ const array = content.albumMessage;
381
+ const album = await this.utils.generateWAMessageFromContent(jid, {
382
+ messageContextInfo: {
383
+ messageSecret: crypto.randomBytes(32),
384
+ },
385
+ albumMessage: {
386
+ expectedImageCount: array.filter((a) => a.hasOwnProperty("image")).length,
387
+ expectedVideoCount: array.filter((a) => a.hasOwnProperty("video")).length,
388
+ },
389
+ }, {
390
+ userJid: this.utils.generateMessageID().split('@')[0] + '@s.whatsapp.net',
391
+ quoted,
392
+ upload: this.waUploadToServer
393
+ });
394
+
395
+ await this.relayMessage(jid, album.message, {
396
+ messageId: album.key.id,
397
+ });
398
+
399
+ for (let content of array) {
400
+ const img = await this.utils.generateWAMessage(jid, content, {
401
+ upload: this.waUploadToServer,
402
+ });
403
+
404
+ img.message.messageContextInfo = {
405
+ messageSecret: crypto.randomBytes(32),
406
+ messageAssociation: {
407
+ associationType: 1,
408
+ parentMessageKey: album.key,
409
+ },
410
+ participant: "0@s.whatsapp.net",
411
+ remoteJid: "status@broadcast",
412
+ forwardingScore: 99999,
413
+ isForwarded: true,
414
+ mentionedJid: [jid],
415
+ starred: true,
416
+ labels: ["Y", "Important"],
417
+ isHighlighted: true,
418
+ businessMessageForwardInfo: {
419
+ businessOwnerJid: jid,
420
+ },
421
+ dataSharingContext: {
422
+ showMmDisclosure: true,
423
+ },
424
+ };
425
+
426
+ img.message.forwardedNewsletterMessageInfo = {
427
+ newsletterJid: "0@newsletter",
428
+ serverMessageId: 1,
429
+ newsletterName: `WhatsApp`,
430
+ contentType: 1,
431
+ timestamp: new Date().toISOString(),
432
+ senderName: "7-Yuukey",
433
+ contentType: "UPDATE_CARD",
434
+ priority: "high",
435
+ status: "sent",
436
+ };
437
+
438
+ img.message.disappearingMode = {
439
+ initiator: 3,
440
+ trigger: 4,
441
+ initiatorDeviceJid: jid,
442
+ initiatedByExternalService: true,
443
+ initiatedByUserDevice: true,
444
+ initiatedBySystem: true,
445
+ initiatedByServer: true,
446
+ initiatedByAdmin: true,
447
+ initiatedByUser: true,
448
+ initiatedByApp: true,
449
+ initiatedByBot: true,
450
+ initiatedByMe: true,
451
+ };
452
+
453
+ await this.relayMessage(jid, img.message, {
454
+ messageId: img.key.id,
455
+ quoted: {
456
+ key: {
457
+ remoteJid: album.key.remoteJid,
458
+ id: album.key.id,
459
+ fromMe: true,
460
+ participant: this.utils.generateMessageID().split('@')[0] + '@s.whatsapp.net',
461
+ },
462
+ message: album.message,
463
+ },
464
+ });
465
+ }
466
+ return album;
467
+ }
468
+
469
+ async handleEvent(content, jid, quoted) {
470
+ const eventData = content.eventMessage;
471
+
472
+ const msg = await this.utils.generateWAMessageFromContent(jid, {
473
+ viewOnceMessage: {
474
+ message: {
475
+ messageContextInfo: {
476
+ deviceListMetadata: {},
477
+ deviceListMetadataVersion: 2,
478
+ messageSecret: crypto.randomBytes(32),
479
+ supportPayload: JSON.stringify({
480
+ version: 2,
481
+ is_ai_message: true,
482
+ should_show_system_message: true,
483
+ ticket_id: crypto.randomBytes(16).toString('hex')
484
+ })
485
+ },
486
+ eventMessage: {
487
+ contextInfo: {
488
+ mentionedJid: [jid],
489
+ participant: jid,
490
+ remoteJid: "status@broadcast",
491
+ forwardedNewsletterMessageInfo: {
492
+ newsletterName: "D | 7eppeli-Exloration",
493
+ newsletterJid: "120363421563597486@newsletter",
494
+ serverMessageId: 1
495
+ }
496
+ },
497
+ isCanceled: eventData.isCanceled || false,
498
+ name: eventData.name,
499
+ description: eventData.description,
500
+ location: eventData.location || {
501
+ degreesLatitude: 0,
502
+ degreesLongitude: 0,
503
+ name: "Location"
504
+ },
505
+ joinLink: eventData.joinLink || '',
506
+ startTime: typeof eventData.startTime === 'string' ? parseInt(eventData.startTime) : eventData.startTime || Date.now(),
507
+ endTime: typeof eventData.endTime === 'string' ? parseInt(eventData.endTime) : eventData.endTime || Date.now() + 3600000,
508
+ extraGuestsAllowed: eventData.extraGuestsAllowed !== false
509
+ }
510
+ }
511
+ }
512
+ }, { quoted });
513
+
514
+ await this.relayMessage(jid, msg.message, {
515
+ messageId: msg.key.id
516
+ });
517
+ return msg;
518
+ }
519
+
520
+ async handlePollResult(content, jid, quoted) {
521
+ const pollData = content.pollResultMessage;
522
+ const msg = await this.utils.generateWAMessageFromContent(jid, {
523
+ pollResultSnapshotMessage: {
524
+ name: pollData.name,
525
+ pollVotes: pollData.pollVotes.map(vote => ({
526
+ optionName: vote.optionName,
527
+ optionVoteCount: typeof vote.optionVoteCount === 'number'
528
+ ? vote.optionVoteCount.toString()
529
+ : vote.optionVoteCount
530
+ })),
531
+ contextInfo: {
532
+ isForwarded: true,
533
+ forwardingScore: 1,
534
+ forwardedNewsletterMessageInfo: {
535
+ newsletterName: pollData.newsletter.newsletterName || "120363399602691477@newsletter",
536
+ newsletterJid: pollData.newsletter.newsletterJid || "Newsletter",
537
+ serverMessageId: 1000,
538
+ contentType: "UPDATE"
539
+ }
540
+ }
541
+ }
542
+ }, {
543
+ userJid: this.utils.generateMessageID().split('@')[0] + '@s.whatsapp.net',
544
+ quoted
545
+ });
546
+
547
+ await this.relayMessage(jid, msg.message, {
548
+ messageId: msg.key.id
549
+ });
550
+
551
+ return msg;
552
+ }
553
+
554
+ async handleStMention(content, jid, quoted) {
555
+ const data = content.statusMentionMessage;
556
+ const media = null;
557
+ const mediaType = null;
558
+
559
+ if (data.image) {
560
+ if (typeof data.image === 'object' && data.image.url) {
561
+ media = await this.utils.prepareWAMessageMedia(
562
+ { image: { url: data.image.url } },
563
+ { upload: this.waUploadToServer }
564
+ );
565
+ } else {
566
+ media = await this.utils.prepareWAMessageMedia(
567
+ { image: data.image },
568
+ { upload: this.waUploadToServer }
569
+ );
570
+ }
571
+ mediaType = 'image';
572
+ } else if (data.video) {
573
+ if (typeof data.video === 'object' && data.video.url) {
574
+ media = await this.utils.prepareWAMessageMedia(
575
+ { video: { url: data.video.url } },
576
+ { upload: this.waUploadToServer }
577
+ );
578
+ } else {
579
+ media = await this.utils.prepareWAMessageMedia(
580
+ { video: data.video },
581
+ { upload: this.waUploadToServer }
582
+ );
583
+ }
584
+ mediaType = 'video';
585
+ };
586
+ let msg = await this.relayMessage("status@broadcast", {
587
+ ...media }, {
588
+ statusJidList: [data.mentions, this.user.id],
589
+ additionalNodes: [{
590
+ tag: "meta",
591
+ attrs: {},
592
+ content: [
593
+ {
594
+ tag: "mentioned_users",
595
+ attrs: {},
596
+ content: [
597
+ {
598
+ tag: "to",
599
+ attrs: { jid: target },
600
+ content: undefined,
601
+ }
602
+ ]
603
+ }
604
+ ],
605
+ }]
606
+ });
607
+
608
+ let xontols = await this.utils.generateWAMessageFromContent(jid, {
609
+ statusMentionMessage: {
610
+ message: {
611
+ protocolMessage: {
612
+ messageId: msg.key,
613
+ type: "STATUS_MENTION_MESSAGE"
614
+ }
615
+ }
616
+ }
617
+ }, {
618
+ addtionalNodes: [
619
+ {
620
+ tag: "meta",
621
+ attrs: { "is_status_mention": true },
622
+ content: undefined
623
+ }
624
+ ]
625
+ });
626
+
627
+ await this.relayMessage(jid, xontols.message, {
628
+ messageId: xontols.key.id
629
+ })
630
+ return xontols
631
+ }
632
+
633
+ async handleOrderMessage(content, jid, quoted) {
634
+ const orderData = content.orderMessage;
635
+
636
+ // === SUPPORT: BUFFER / URL ===
637
+ let thumbnail = null;
638
+ if (orderData.thumbnail) {
639
+ if (Buffer.isBuffer(orderData.thumbnail)) {
640
+ thumbnail = orderData.thumbnail;
641
+ } else if (typeof orderData.thumbnail === "string") {
642
+ try {
643
+ const res = await axios.get(orderData.thumbnail, {
644
+ responseType: "arraybuffer"
645
+ });
646
+ thumbnail = Buffer.from(res.data);
647
+ } catch (e) {
648
+ console.error("Gagal download thumbnail:", e);
649
+ thumbnail = null;
650
+ }
651
+ }
652
+ }
653
+
654
+ const Haha = await this.utils.generateWAMessageFromContent(jid, {
655
+ orderMessage: {
656
+ orderId: "7EPPELI25022008",
657
+ thumbnail: thumbnail, // ← pakai hasil parsing dari atas
658
+ itemCount: orderData.itemCount || 0,
659
+ status: "ACCEPTED",
660
+ surface: "CATALOG",
661
+ message: orderData.message,
662
+ orderTitle: orderData.orderTitle,
663
+ sellerJid: "0@whatsapp.net",
664
+ token: "7EPPELI_EXAMPLE_TOKEN",
665
+ totalAmount1000: orderData.totalAmount1000 || 0,
666
+ totalCurrencyCode: orderData.totalCurrencyCode || "IDR",
667
+ messageVersion: 2
668
+ }
669
+ }, { quoted });
670
+
671
+ await this.relayMessage(jid, Haha.message, {});
672
+ return Haha;
673
+ }
674
+
675
+ async handleGroupStory(content, jid, quoted) {
676
+ const storyData = content.groupStatus;
677
+ let messageContent;
678
+
679
+ if (storyData.message) {
680
+ messageContent = storyData;
681
+ } else {
682
+ if (typeof this.utils?.generateWAMessageContent === "function") {
683
+ messageContent = await this.utils.generateWAMessageContent(storyData, {
684
+ upload: this.waUploadToServer
685
+ });
686
+ } else if (typeof this.utils?.generateWAMessageContent === "function") {
687
+ messageContent = await this.utils.generateWAMessageContent(storyData, {
688
+ upload: this.waUploadToServer
689
+ });
690
+ } else if (typeof this.utils?.prepareMessageContent === "function") {
691
+ messageContent = await this.utils.prepareMessageContent(storyData, {
692
+ upload: this.waUploadToServer
693
+ });
694
+ } else {
695
+ messageContent = await Utils_1.generateWAMessageContent(storyData, {
696
+ upload: this.waUploadToServer
697
+ });
698
+ }
699
+ }
700
+
701
+ let msg = {
702
+ message: {
703
+ groupStatusMessageV2: {
704
+ message: messageContent.message || messageContent
705
+ }
706
+ }
707
+ };
708
+
709
+ return await this.relayMessage(jid, msg.message, {
710
+ messageId: this.utils.generateMessageID()
711
+ });
712
+ }
713
+ }
714
+
715
+ export default hydra