fca-smart-shankar 10.9.1 → 12.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 (363) hide show
  1. package/.cache/nix/binary-cache-v6.sqlite +0 -0
  2. package/.cache/replit/env/latest +117 -48
  3. package/.cache/replit/env/latest.json +1 -1
  4. package/.cache/replit/modules/nix.res +1 -0
  5. package/.cache/replit/modules/nodejs-20.res +1 -0
  6. package/.cache/replit/nix/env.json +1 -0
  7. package/.cache/typescript/5.6/node_modules/.package-lock.json +171 -0
  8. package/.cache/typescript/5.6/node_modules/@types/bluebird/LICENSE +21 -0
  9. package/.cache/typescript/5.6/node_modules/@types/bluebird/README.md +15 -0
  10. package/.cache/typescript/5.6/node_modules/@types/bluebird/index.d.ts +1365 -0
  11. package/.cache/typescript/5.6/node_modules/@types/bluebird/package.json +25 -0
  12. package/.cache/typescript/5.6/node_modules/@types/caseless/LICENSE +21 -0
  13. package/.cache/typescript/5.6/node_modules/@types/caseless/README.md +48 -0
  14. package/.cache/typescript/5.6/node_modules/@types/caseless/index.d.ts +29 -0
  15. package/.cache/typescript/5.6/node_modules/@types/caseless/package.json +35 -0
  16. package/.cache/typescript/5.6/node_modules/@types/cheerio/LICENSE +21 -0
  17. package/.cache/typescript/5.6/node_modules/@types/cheerio/README.md +15 -0
  18. package/.cache/typescript/5.6/node_modules/@types/cheerio/index.d.ts +318 -0
  19. package/.cache/typescript/5.6/node_modules/@types/cheerio/package.json +71 -0
  20. package/.cache/typescript/5.6/node_modules/@types/mocha/LICENSE +21 -0
  21. package/.cache/typescript/5.6/node_modules/@types/mocha/README.md +15 -0
  22. package/.cache/typescript/5.6/node_modules/@types/mocha/index.d.ts +2929 -0
  23. package/.cache/typescript/5.6/node_modules/@types/mocha/package.json +56 -0
  24. package/.cache/typescript/5.6/node_modules/@types/node/LICENSE +21 -0
  25. package/.cache/typescript/5.6/node_modules/@types/node/README.md +15 -0
  26. package/.cache/typescript/5.6/node_modules/@types/node/assert/strict.d.ts +8 -0
  27. package/.cache/typescript/5.6/node_modules/@types/node/assert.d.ts +1040 -0
  28. package/.cache/typescript/5.6/node_modules/@types/node/async_hooks.d.ts +541 -0
  29. package/.cache/typescript/5.6/node_modules/@types/node/buffer.buffer.d.ts +385 -0
  30. package/.cache/typescript/5.6/node_modules/@types/node/buffer.d.ts +1933 -0
  31. package/.cache/typescript/5.6/node_modules/@types/node/child_process.d.ts +1549 -0
  32. package/.cache/typescript/5.6/node_modules/@types/node/cluster.d.ts +579 -0
  33. package/.cache/typescript/5.6/node_modules/@types/node/compatibility/disposable.d.ts +16 -0
  34. package/.cache/typescript/5.6/node_modules/@types/node/compatibility/index.d.ts +9 -0
  35. package/.cache/typescript/5.6/node_modules/@types/node/compatibility/indexable.d.ts +23 -0
  36. package/.cache/typescript/5.6/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
  37. package/.cache/typescript/5.6/node_modules/@types/node/console.d.ts +452 -0
  38. package/.cache/typescript/5.6/node_modules/@types/node/constants.d.ts +19 -0
  39. package/.cache/typescript/5.6/node_modules/@types/node/crypto.d.ts +4475 -0
  40. package/.cache/typescript/5.6/node_modules/@types/node/dgram.d.ts +596 -0
  41. package/.cache/typescript/5.6/node_modules/@types/node/diagnostics_channel.d.ts +554 -0
  42. package/.cache/typescript/5.6/node_modules/@types/node/dns/promises.d.ts +476 -0
  43. package/.cache/typescript/5.6/node_modules/@types/node/dns.d.ts +865 -0
  44. package/.cache/typescript/5.6/node_modules/@types/node/dom-events.d.ts +124 -0
  45. package/.cache/typescript/5.6/node_modules/@types/node/domain.d.ts +170 -0
  46. package/.cache/typescript/5.6/node_modules/@types/node/events.d.ts +931 -0
  47. package/.cache/typescript/5.6/node_modules/@types/node/fs/promises.d.ts +1275 -0
  48. package/.cache/typescript/5.6/node_modules/@types/node/fs.d.ts +4396 -0
  49. package/.cache/typescript/5.6/node_modules/@types/node/globals.d.ts +566 -0
  50. package/.cache/typescript/5.6/node_modules/@types/node/globals.typedarray.d.ts +21 -0
  51. package/.cache/typescript/5.6/node_modules/@types/node/http.d.ts +1958 -0
  52. package/.cache/typescript/5.6/node_modules/@types/node/http2.d.ts +2558 -0
  53. package/.cache/typescript/5.6/node_modules/@types/node/https.d.ts +543 -0
  54. package/.cache/typescript/5.6/node_modules/@types/node/index.d.ts +92 -0
  55. package/.cache/typescript/5.6/node_modules/@types/node/inspector.d.ts +3966 -0
  56. package/.cache/typescript/5.6/node_modules/@types/node/module.d.ts +402 -0
  57. package/.cache/typescript/5.6/node_modules/@types/node/net.d.ts +1001 -0
  58. package/.cache/typescript/5.6/node_modules/@types/node/os.d.ts +495 -0
  59. package/.cache/typescript/5.6/node_modules/@types/node/package.json +220 -0
  60. package/.cache/typescript/5.6/node_modules/@types/node/path.d.ts +200 -0
  61. package/.cache/typescript/5.6/node_modules/@types/node/perf_hooks.d.ts +965 -0
  62. package/.cache/typescript/5.6/node_modules/@types/node/process.d.ts +1963 -0
  63. package/.cache/typescript/5.6/node_modules/@types/node/punycode.d.ts +117 -0
  64. package/.cache/typescript/5.6/node_modules/@types/node/querystring.d.ts +153 -0
  65. package/.cache/typescript/5.6/node_modules/@types/node/readline/promises.d.ts +162 -0
  66. package/.cache/typescript/5.6/node_modules/@types/node/readline.d.ts +589 -0
  67. package/.cache/typescript/5.6/node_modules/@types/node/repl.d.ts +430 -0
  68. package/.cache/typescript/5.6/node_modules/@types/node/sea.d.ts +153 -0
  69. package/.cache/typescript/5.6/node_modules/@types/node/sqlite.d.ts +213 -0
  70. package/.cache/typescript/5.6/node_modules/@types/node/stream/consumers.d.ts +12 -0
  71. package/.cache/typescript/5.6/node_modules/@types/node/stream/promises.d.ts +90 -0
  72. package/.cache/typescript/5.6/node_modules/@types/node/stream/web.d.ts +609 -0
  73. package/.cache/typescript/5.6/node_modules/@types/node/stream.d.ts +1726 -0
  74. package/.cache/typescript/5.6/node_modules/@types/node/string_decoder.d.ts +67 -0
  75. package/.cache/typescript/5.6/node_modules/@types/node/test.d.ts +2248 -0
  76. package/.cache/typescript/5.6/node_modules/@types/node/timers/promises.d.ts +97 -0
  77. package/.cache/typescript/5.6/node_modules/@types/node/timers.d.ts +240 -0
  78. package/.cache/typescript/5.6/node_modules/@types/node/tls.d.ts +1226 -0
  79. package/.cache/typescript/5.6/node_modules/@types/node/trace_events.d.ts +197 -0
  80. package/.cache/typescript/5.6/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +385 -0
  81. package/.cache/typescript/5.6/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +19 -0
  82. package/.cache/typescript/5.6/node_modules/@types/node/ts5.6/index.d.ts +92 -0
  83. package/.cache/typescript/5.6/node_modules/@types/node/tty.d.ts +208 -0
  84. package/.cache/typescript/5.6/node_modules/@types/node/url.d.ts +972 -0
  85. package/.cache/typescript/5.6/node_modules/@types/node/util.d.ts +2371 -0
  86. package/.cache/typescript/5.6/node_modules/@types/node/v8.d.ts +808 -0
  87. package/.cache/typescript/5.6/node_modules/@types/node/vm.d.ts +976 -0
  88. package/.cache/typescript/5.6/node_modules/@types/node/wasi.d.ts +181 -0
  89. package/.cache/typescript/5.6/node_modules/@types/node/worker_threads.d.ts +745 -0
  90. package/.cache/typescript/5.6/node_modules/@types/node/zlib.d.ts +539 -0
  91. package/.cache/typescript/5.6/node_modules/@types/request/LICENSE +21 -0
  92. package/.cache/typescript/5.6/node_modules/@types/request/README.md +15 -0
  93. package/.cache/typescript/5.6/node_modules/@types/request/index.d.ts +395 -0
  94. package/.cache/typescript/5.6/node_modules/@types/request/package.json +70 -0
  95. package/.cache/typescript/5.6/node_modules/@types/tough-cookie/LICENSE +21 -0
  96. package/.cache/typescript/5.6/node_modules/@types/tough-cookie/README.md +15 -0
  97. package/.cache/typescript/5.6/node_modules/@types/tough-cookie/index.d.ts +321 -0
  98. package/.cache/typescript/5.6/node_modules/@types/tough-cookie/package.json +35 -0
  99. package/.cache/typescript/5.6/node_modules/asynckit/LICENSE +21 -0
  100. package/.cache/typescript/5.6/node_modules/asynckit/README.md +233 -0
  101. package/.cache/typescript/5.6/node_modules/asynckit/bench.js +76 -0
  102. package/.cache/typescript/5.6/node_modules/asynckit/index.js +6 -0
  103. package/.cache/typescript/5.6/node_modules/asynckit/lib/abort.js +29 -0
  104. package/.cache/typescript/5.6/node_modules/asynckit/lib/async.js +34 -0
  105. package/.cache/typescript/5.6/node_modules/asynckit/lib/defer.js +26 -0
  106. package/.cache/typescript/5.6/node_modules/asynckit/lib/iterate.js +75 -0
  107. package/.cache/typescript/5.6/node_modules/asynckit/lib/readable_asynckit.js +91 -0
  108. package/.cache/typescript/5.6/node_modules/asynckit/lib/readable_parallel.js +25 -0
  109. package/.cache/typescript/5.6/node_modules/asynckit/lib/readable_serial.js +25 -0
  110. package/.cache/typescript/5.6/node_modules/asynckit/lib/readable_serial_ordered.js +29 -0
  111. package/.cache/typescript/5.6/node_modules/asynckit/lib/state.js +37 -0
  112. package/.cache/typescript/5.6/node_modules/asynckit/lib/streamify.js +141 -0
  113. package/.cache/typescript/5.6/node_modules/asynckit/lib/terminator.js +29 -0
  114. package/.cache/typescript/5.6/node_modules/asynckit/package.json +63 -0
  115. package/.cache/typescript/5.6/node_modules/asynckit/parallel.js +43 -0
  116. package/.cache/typescript/5.6/node_modules/asynckit/serial.js +17 -0
  117. package/.cache/typescript/5.6/node_modules/asynckit/serialOrdered.js +75 -0
  118. package/.cache/typescript/5.6/node_modules/asynckit/stream.js +21 -0
  119. package/.cache/typescript/5.6/node_modules/combined-stream/License +19 -0
  120. package/.cache/typescript/5.6/node_modules/combined-stream/Readme.md +138 -0
  121. package/.cache/typescript/5.6/node_modules/combined-stream/lib/combined_stream.js +208 -0
  122. package/.cache/typescript/5.6/node_modules/combined-stream/package.json +25 -0
  123. package/.cache/typescript/5.6/node_modules/combined-stream/yarn.lock +17 -0
  124. package/.cache/typescript/5.6/node_modules/delayed-stream/License +19 -0
  125. package/.cache/typescript/5.6/node_modules/delayed-stream/Makefile +7 -0
  126. package/.cache/typescript/5.6/node_modules/delayed-stream/Readme.md +141 -0
  127. package/.cache/typescript/5.6/node_modules/delayed-stream/lib/delayed_stream.js +107 -0
  128. package/.cache/typescript/5.6/node_modules/delayed-stream/package.json +27 -0
  129. package/.cache/typescript/5.6/node_modules/form-data/License +19 -0
  130. package/.cache/typescript/5.6/node_modules/form-data/Readme.md +350 -0
  131. package/.cache/typescript/5.6/node_modules/form-data/index.d.ts +51 -0
  132. package/.cache/typescript/5.6/node_modules/form-data/lib/browser.js +2 -0
  133. package/.cache/typescript/5.6/node_modules/form-data/lib/form_data.js +484 -0
  134. package/.cache/typescript/5.6/node_modules/form-data/lib/populate.js +10 -0
  135. package/.cache/typescript/5.6/node_modules/form-data/package.json +72 -0
  136. package/.cache/typescript/5.6/node_modules/mime-db/HISTORY.md +507 -0
  137. package/.cache/typescript/5.6/node_modules/mime-db/LICENSE +23 -0
  138. package/.cache/typescript/5.6/node_modules/mime-db/README.md +100 -0
  139. package/.cache/typescript/5.6/node_modules/mime-db/db.json +8519 -0
  140. package/.cache/typescript/5.6/node_modules/mime-db/index.js +12 -0
  141. package/.cache/typescript/5.6/node_modules/mime-db/package.json +60 -0
  142. package/.cache/typescript/5.6/node_modules/mime-types/HISTORY.md +397 -0
  143. package/.cache/typescript/5.6/node_modules/mime-types/LICENSE +23 -0
  144. package/.cache/typescript/5.6/node_modules/mime-types/README.md +113 -0
  145. package/.cache/typescript/5.6/node_modules/mime-types/index.js +188 -0
  146. package/.cache/typescript/5.6/node_modules/mime-types/package.json +44 -0
  147. package/.cache/typescript/5.6/node_modules/safe-buffer/LICENSE +21 -0
  148. package/.cache/typescript/5.6/node_modules/safe-buffer/README.md +584 -0
  149. package/.cache/typescript/5.6/node_modules/safe-buffer/index.d.ts +187 -0
  150. package/.cache/typescript/5.6/node_modules/safe-buffer/index.js +65 -0
  151. package/.cache/typescript/5.6/node_modules/safe-buffer/package.json +51 -0
  152. package/.cache/typescript/5.6/node_modules/types-registry/README.md +2 -0
  153. package/.cache/typescript/5.6/node_modules/types-registry/index.json +1 -0
  154. package/.cache/typescript/5.6/node_modules/types-registry/package.json +20 -0
  155. package/.cache/typescript/5.6/node_modules/undici-types/LICENSE +21 -0
  156. package/.cache/typescript/5.6/node_modules/undici-types/README.md +6 -0
  157. package/.cache/typescript/5.6/node_modules/undici-types/agent.d.ts +31 -0
  158. package/.cache/typescript/5.6/node_modules/undici-types/api.d.ts +43 -0
  159. package/.cache/typescript/5.6/node_modules/undici-types/balanced-pool.d.ts +29 -0
  160. package/.cache/typescript/5.6/node_modules/undici-types/cache.d.ts +36 -0
  161. package/.cache/typescript/5.6/node_modules/undici-types/client.d.ts +108 -0
  162. package/.cache/typescript/5.6/node_modules/undici-types/connector.d.ts +34 -0
  163. package/.cache/typescript/5.6/node_modules/undici-types/content-type.d.ts +21 -0
  164. package/.cache/typescript/5.6/node_modules/undici-types/cookies.d.ts +28 -0
  165. package/.cache/typescript/5.6/node_modules/undici-types/diagnostics-channel.d.ts +66 -0
  166. package/.cache/typescript/5.6/node_modules/undici-types/dispatcher.d.ts +255 -0
  167. package/.cache/typescript/5.6/node_modules/undici-types/env-http-proxy-agent.d.ts +21 -0
  168. package/.cache/typescript/5.6/node_modules/undici-types/errors.d.ts +149 -0
  169. package/.cache/typescript/5.6/node_modules/undici-types/eventsource.d.ts +61 -0
  170. package/.cache/typescript/5.6/node_modules/undici-types/fetch.d.ts +209 -0
  171. package/.cache/typescript/5.6/node_modules/undici-types/file.d.ts +39 -0
  172. package/.cache/typescript/5.6/node_modules/undici-types/filereader.d.ts +54 -0
  173. package/.cache/typescript/5.6/node_modules/undici-types/formdata.d.ts +108 -0
  174. package/.cache/typescript/5.6/node_modules/undici-types/global-dispatcher.d.ts +9 -0
  175. package/.cache/typescript/5.6/node_modules/undici-types/global-origin.d.ts +7 -0
  176. package/.cache/typescript/5.6/node_modules/undici-types/handlers.d.ts +15 -0
  177. package/.cache/typescript/5.6/node_modules/undici-types/header.d.ts +4 -0
  178. package/.cache/typescript/5.6/node_modules/undici-types/index.d.ts +71 -0
  179. package/.cache/typescript/5.6/node_modules/undici-types/interceptors.d.ts +17 -0
  180. package/.cache/typescript/5.6/node_modules/undici-types/mock-agent.d.ts +50 -0
  181. package/.cache/typescript/5.6/node_modules/undici-types/mock-client.d.ts +25 -0
  182. package/.cache/typescript/5.6/node_modules/undici-types/mock-errors.d.ts +12 -0
  183. package/.cache/typescript/5.6/node_modules/undici-types/mock-interceptor.d.ts +93 -0
  184. package/.cache/typescript/5.6/node_modules/undici-types/mock-pool.d.ts +25 -0
  185. package/.cache/typescript/5.6/node_modules/undici-types/package.json +55 -0
  186. package/.cache/typescript/5.6/node_modules/undici-types/patch.d.ts +33 -0
  187. package/.cache/typescript/5.6/node_modules/undici-types/pool-stats.d.ts +19 -0
  188. package/.cache/typescript/5.6/node_modules/undici-types/pool.d.ts +39 -0
  189. package/.cache/typescript/5.6/node_modules/undici-types/proxy-agent.d.ts +28 -0
  190. package/.cache/typescript/5.6/node_modules/undici-types/readable.d.ts +60 -0
  191. package/.cache/typescript/5.6/node_modules/undici-types/retry-agent.d.ts +8 -0
  192. package/.cache/typescript/5.6/node_modules/undici-types/retry-handler.d.ts +116 -0
  193. package/.cache/typescript/5.6/node_modules/undici-types/util.d.ts +18 -0
  194. package/.cache/typescript/5.6/node_modules/undici-types/webidl.d.ts +222 -0
  195. package/.cache/typescript/5.6/node_modules/undici-types/websocket.d.ts +150 -0
  196. package/.cache/typescript/5.6/package-lock.json +183 -0
  197. package/.cache/typescript/5.6/package.json +1 -0
  198. package/.replit +3 -3
  199. package/LICENSE-MIT +21 -0
  200. package/README.md +176 -30
  201. package/index.js +452 -425
  202. package/package.json +39 -90
  203. package/replit.nix +3 -0
  204. package/src/addExternalModule.js +14 -5
  205. package/src/addUserToGroup.js +57 -21
  206. package/src/changeAdminStatus.js +46 -22
  207. package/src/changeArchivedStatus.js +26 -12
  208. package/src/changeAvatar.js +136 -0
  209. package/src/{changeAvt.js → changeAvatarV2.js} +4 -3
  210. package/src/changeBio.js +26 -15
  211. package/src/changeBlockedStatus.js +22 -9
  212. package/src/changeBlockedStatusMqtt.js +80 -0
  213. package/src/changeCover.js +73 -0
  214. package/src/changeGroupImage.js +55 -26
  215. package/src/changeName.js +79 -0
  216. package/src/changeNickname.js +28 -14
  217. package/src/changeThreadColor.js +22 -19
  218. package/src/changeThreadEmoji.js +25 -12
  219. package/src/changeUsername.js +59 -0
  220. package/src/createCommentPost.js +230 -0
  221. package/src/createNewGroup.js +36 -18
  222. package/src/createPoll.js +28 -17
  223. package/src/createPost.js +276 -0
  224. package/src/data/getThreadInfo.json +1 -0
  225. package/src/deleteMessage.js +25 -14
  226. package/src/deleteThread.js +26 -13
  227. package/src/editMessage.js +56 -50
  228. package/src/editMessageOld.js +67 -0
  229. package/src/follow.js +74 -0
  230. package/src/forwardAttachment.js +28 -16
  231. package/src/getAccess.js +112 -0
  232. package/src/getAvatarUser.js +78 -0
  233. package/src/getCurrentUserID.js +3 -3
  234. package/src/getEmojiUrl.js +10 -8
  235. package/src/getFriendsList.js +25 -15
  236. package/src/getMessage.js +813 -81
  237. package/src/getRegion.js +7 -0
  238. package/src/getThreadHistory.js +241 -98
  239. package/src/getThreadHistoryDeprecated.js +93 -0
  240. package/src/getThreadInfo.js +90 -287
  241. package/src/getThreadInfoDeprecated.js +80 -0
  242. package/src/getThreadList.js +215 -158
  243. package/src/getThreadListDeprecated.js +75 -0
  244. package/src/getThreadPictures.js +40 -20
  245. package/src/getUID.js +113 -50
  246. package/src/getUserID.js +18 -14
  247. package/src/getUserInfo.js +35 -75
  248. package/src/handleFriendRequest.js +25 -14
  249. package/src/handleMessageRequest.js +37 -21
  250. package/src/httpGet.js +36 -20
  251. package/src/httpPost.js +37 -20
  252. package/src/httpPostFormData.js +53 -24
  253. package/src/listenMqtt.js +413 -666
  254. package/src/listenNotification.js +85 -0
  255. package/src/logout.js +24 -17
  256. package/src/markAsDelivered.js +23 -16
  257. package/src/markAsRead.js +43 -28
  258. package/src/markAsReadAll.js +22 -15
  259. package/src/markAsSeen.js +29 -19
  260. package/src/muteThread.js +18 -13
  261. package/src/pinMessage.js +59 -0
  262. package/src/refreshFb_dtsg.js +89 -0
  263. package/src/removeUserFromGroup.js +48 -18
  264. package/src/resolvePhotoUrl.js +22 -14
  265. package/src/searchForThread.js +23 -13
  266. package/src/searchStickers.js +53 -0
  267. package/src/sendMessage.js +180 -122
  268. package/src/sendMessageMqtt.js +322 -0
  269. package/src/sendTypingIndicator.js +42 -21
  270. package/src/sendTypingIndicatorV2.js +28 -0
  271. package/src/setMessageReaction.js +33 -20
  272. package/src/setMessageReactionMqtt.js +62 -0
  273. package/src/setPostReaction.js +105 -95
  274. package/src/setProfileGuard.js +45 -0
  275. package/src/setStoryReaction.js +64 -0
  276. package/src/setTitle.js +35 -19
  277. package/src/shareContact.js +92 -37
  278. package/src/shareLink.js +6 -5
  279. package/src/stopListenMqtt.js +23 -0
  280. package/src/threadColors.js +110 -18
  281. package/src/unfriend.js +20 -11
  282. package/src/unsendMessage.js +31 -34
  283. package/src/uploadAttachment.js +94 -0
  284. package/test/test-page.js +1 -1
  285. package/test/test.js +1 -1
  286. package/utils.js +1237 -2935
  287. package/.cache/replit/modules/nodejs-14.res +0 -1
  288. package/.cache/replit/modules/web.res +0 -1
  289. package/.cache/typescript/5.5/package.json +0 -1
  290. package/.config/configstore/update-notifier-npm.json +0 -4
  291. package/.gitattributes +0 -2
  292. package/.upm/store.json +0 -1
  293. package/Extra/Balancer.js +0 -49
  294. package/Extra/Bypass/956/index.js +0 -234
  295. package/Extra/Bypass/test/aaaa.json +0 -170
  296. package/Extra/Bypass/test/index.js +0 -188
  297. package/Extra/Database/index.js +0 -469
  298. package/Extra/ExtraAddons.js +0 -82
  299. package/Extra/ExtraFindUID.js +0 -62
  300. package/Extra/ExtraGetThread.js +0 -365
  301. package/Extra/ExtraScreenShot.js +0 -430
  302. package/Extra/ExtraUptimeRobot.js +0 -38
  303. package/Extra/Html/Classic/script.js +0 -119
  304. package/Extra/Html/Classic/style.css +0 -8
  305. package/Extra/Security/Base/Step_1.js +0 -6
  306. package/Extra/Security/Base/Step_2.js +0 -22
  307. package/Extra/Security/Base/Step_3.js +0 -22
  308. package/Extra/Security/Base/index.js +0 -191
  309. package/Extra/Security/Index.js +0 -5
  310. package/Extra/Security/Step_1.js +0 -6
  311. package/Extra/Security/Step_2.js +0 -22
  312. package/Extra/Security/Step_3.js +0 -22
  313. package/Extra/Src/Change_Environment.js +0 -24
  314. package/Extra/Src/Check_Update.js +0 -67
  315. package/Extra/Src/History.js +0 -115
  316. package/Extra/Src/Instant_Update.js +0 -65
  317. package/Extra/Src/Last-Run.js +0 -65
  318. package/Extra/Src/Premium.js +0 -81
  319. package/Extra/Src/Release_Memory.js +0 -160
  320. package/Extra/Src/Websocket.js +0 -213
  321. package/Extra/Src/image/checkmate.jpg +0 -0
  322. package/Extra/Src/test.js +0 -28
  323. package/Extra/Src/uuid.js +0 -137
  324. package/Func/AcceptAgreement.js +0 -31
  325. package/Func/ClearCache.js +0 -64
  326. package/Func/ReportV1.js +0 -54
  327. package/LICENSE +0 -678
  328. package/Language/index.json +0 -228
  329. package/Main.js +0 -1444
  330. package/SECURITY.md +0 -18
  331. package/broadcast.js +0 -44
  332. package/logger.js +0 -66
  333. package/src/Dev_Horizon_Data.js +0 -125
  334. package/src/Dev_getThreadInfoOLD.js +0 -422
  335. package/src/Dev_shareTest2.js +0 -68
  336. package/src/Dev_shareTest3.js +0 -71
  337. package/src/Premium.js +0 -25
  338. package/src/Screenshot.js +0 -83
  339. package/src/getAccessToken.js +0 -28
  340. package/src/getThreadInfoOLD.js +0 -422
  341. package/src/getThreadMain.js +0 -220
  342. package/src/getUserInfoMain.js +0 -65
  343. package/src/getUserInfoV2.js +0 -32
  344. package/src/getUserInfoV3.js +0 -63
  345. package/src/getUserInfoV4.js +0 -55
  346. package/src/getUserInfoV5.js +0 -61
  347. package/src/listenMqttV1.js +0 -846
  348. package/src/sendMqttMessage.js +0 -71
  349. package/src/unsendMqttMessage.js +0 -66
  350. package/test/Database_Test.js +0 -4
  351. package/test/Db2.js +0 -530
  352. package/test/Shankar_Database/A_README.md +0 -1
  353. package/test/Shankar_Database/Database.db +0 -0
  354. package/test/data/shareAttach.js +0 -146
  355. package/test/data/something.mov +0 -0
  356. package/test/data/test.png +0 -0
  357. package/test/data/test.txt +0 -7
  358. package/test/env/.env +0 -0
  359. package/test/example-db.db +0 -0
  360. package/test/memoryleak.js +0 -18
  361. package/test/testname.js +0 -1342
  362. package/test/testv2.js +0 -3
  363. /package/{Extra/Security/AES_256_GCM/index.js → .cache/nix/binary-cache-v6.sqlite-journal} +0 -0
package/src/changeBio.js CHANGED
@@ -1,34 +1,43 @@
1
1
  "use strict";
2
2
 
3
- var utils = require("../utils");
4
- var log = require("npmlog");
3
+ const utils = require("../utils");
4
+ // @NethWs3Dev
5
5
 
6
6
  module.exports = function (defaultFuncs, api, ctx) {
7
7
  return function changeBio(bio, publish, callback) {
8
- var resolveFunc = function () { };
9
- var rejectFunc = function () { };
10
- var returnPromise = new Promise(function (resolve, reject) {
8
+ let resolveFunc = function () {};
9
+ let rejectFunc = function () {};
10
+ const returnPromise = new Promise(function (resolve, reject) {
11
11
  resolveFunc = resolve;
12
12
  rejectFunc = reject;
13
13
  });
14
14
 
15
15
  if (!callback) {
16
- if (utils.getType(publish) == "Function" || utils.getType(publish) == "AsyncFunction") callback = publish;
17
- else {
16
+ if (
17
+ utils.getType(publish) == "Function" ||
18
+ utils.getType(publish) == "AsyncFunction"
19
+ ) {
20
+ callback = publish;
21
+ } else {
18
22
  callback = function (err) {
19
- if (err) return rejectFunc(err);
23
+ if (err) {
24
+ return rejectFunc(err);
25
+ }
20
26
  resolveFunc();
21
27
  };
22
28
  }
23
29
  }
24
30
 
25
- if (utils.getType(publish) != "Boolean") publish = false;
31
+ if (utils.getType(publish) != "Boolean") {
32
+ publish = false;
33
+ }
34
+
26
35
  if (utils.getType(bio) != "String") {
27
36
  bio = "";
28
37
  publish = false;
29
38
  }
30
39
 
31
- var form = {
40
+ const form = {
32
41
  fb_api_caller_class: "RelayModern",
33
42
  fb_api_req_friendly_name: "ProfileCometSetBioMutation",
34
43
  // This doc_is is valid as of May 23, 2020
@@ -38,25 +47,27 @@ module.exports = function (defaultFuncs, api, ctx) {
38
47
  bio: bio,
39
48
  publish_bio_feed_story: publish,
40
49
  actor_id: ctx.userID,
41
- client_mutation_id: Math.round(Math.random() * 1024).toString()
50
+ client_mutation_id: Math.round(Math.random() * 1024).toString(),
42
51
  },
43
52
  hasProfileTileViewID: false,
44
53
  profileTileViewID: null,
45
- scale: 1
54
+ scale: 1,
46
55
  }),
47
- av: ctx.userID
56
+ av: ctx.userID,
48
57
  };
49
58
 
50
59
  defaultFuncs
51
60
  .post("https://www.facebook.com/api/graphql/", ctx.jar, form)
52
61
  .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
53
62
  .then(function (resData) {
54
- if (resData.errors) throw resData;
63
+ if (resData.errors) {
64
+ throw resData;
65
+ }
55
66
 
56
67
  return callback();
57
68
  })
58
69
  .catch(function (err) {
59
- log.error("changeBio", err);
70
+ console.error("changeBio", err);
60
71
  return callback(err);
61
72
  });
62
73
 
@@ -1,34 +1,47 @@
1
1
  "use strict";
2
2
 
3
- var utils = require("../utils");
4
- var log = require("npmlog");
3
+ const utils = require("../utils");
4
+ // @NethWs3Dev
5
5
 
6
6
  module.exports = function (defaultFuncs, api, ctx) {
7
7
  return function changeBlockedStatus(userID, block, callback) {
8
- var resolveFunc = function () { };
9
- var rejectFunc = function () { };
10
- var returnPromise = new Promise(function (resolve, reject) {
8
+ let resolveFunc = function () {};
9
+ let rejectFunc = function () {};
10
+ const returnPromise = new Promise(function (resolve, reject) {
11
11
  resolveFunc = resolve;
12
12
  rejectFunc = reject;
13
13
  });
14
14
 
15
15
  if (!callback) {
16
16
  callback = function (err) {
17
- if (err) return rejectFunc(err);
17
+ if (err) {
18
+ return rejectFunc(err);
19
+ }
18
20
  resolveFunc();
19
21
  };
20
22
  }
21
23
 
22
24
  defaultFuncs
23
- .post(`https://www.facebook.com/messaging/${block ? "" : "un"}block_messages/`, ctx.jar, { fbid: userID })
25
+ .post(
26
+ `https://www.facebook.com/messaging/${
27
+ block ? "" : "un"
28
+ }block_messages/`,
29
+ ctx.jar,
30
+ {
31
+ fbid: userID,
32
+ },
33
+ )
24
34
  .then(utils.saveCookies(ctx.jar))
25
35
  .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
26
36
  .then(function (resData) {
27
- if (resData.error) throw resData;
37
+ if (resData.error) {
38
+ throw resData;
39
+ }
40
+
28
41
  return callback();
29
42
  })
30
43
  .catch(function (err) {
31
- log.error("changeBlockedStatus", err);
44
+ console.error("changeBlockedStatus", err);
32
45
  return callback(err);
33
46
  });
34
47
  return returnPromise;
@@ -0,0 +1,80 @@
1
+
2
+ 'use strict';
3
+
4
+ const { generateOfflineThreadingID, getCurrentTimestamp, getGUID } = require('../utils.js');
5
+
6
+ function isCallable(func) {
7
+ try {
8
+ Reflect.apply(func, null, []);
9
+ return true;
10
+ } catch (error) {
11
+ return false;
12
+ }
13
+ }
14
+
15
+ module.exports = function (defaultFuncs, api, ctx) {
16
+ return function changeBlockedStatusMqtt(userID, status, type, callback) {
17
+ if (!ctx.mqttClient) {
18
+ throw new Error('Not connected to MQTT');
19
+ }
20
+
21
+ ctx.wsReqNumber += 1;
22
+ ctx.wsTaskNumber += 1;
23
+
24
+ const label = '334';
25
+ let userBlockAction = 0;
26
+
27
+ switch (type) {
28
+ case 'messenger':
29
+ if (status) {
30
+ userBlockAction = 1; // Block
31
+ } else {
32
+ userBlockAction = 0; // Unblock
33
+ }
34
+ break;
35
+ case 'facebook':
36
+ if (status) {
37
+ userBlockAction = 3; // Block
38
+ } else {
39
+ userBlockAction = 2; // Unblock
40
+ }
41
+ break;
42
+ default:
43
+ throw new Error('Invalid type');
44
+ }
45
+
46
+ const taskPayload = {
47
+ blockee_id: userID,
48
+ request_id: getGUID(),
49
+ user_block_action: userBlockAction,
50
+ };
51
+
52
+ const payload = JSON.stringify(taskPayload);
53
+ const version = '25393437286970779';
54
+
55
+ const task = {
56
+ failure_count: null,
57
+ label: label,
58
+ payload: payload,
59
+ queue_name: 'native_sync_block',
60
+ task_id: ctx.wsTaskNumber,
61
+ };
62
+
63
+ const content = {
64
+ app_id: '2220391788200892',
65
+ payload: JSON.stringify({
66
+ tasks: [task],
67
+ epoch_id: parseInt(generateOfflineThreadingID()),
68
+ version_id: version,
69
+ }),
70
+ request_id: ctx.wsReqNumber,
71
+ type: 3,
72
+ };
73
+
74
+ if (isCallable(callback)) {
75
+ ctx.reqCallbacks[ctx.wsReqNumber] = callback;
76
+ }
77
+
78
+ ctx.mqttClient.publish('/ls_req', JSON.stringify(content), { qos: 1, retain: false });
79
+ };
80
+ };
@@ -0,0 +1,73 @@
1
+ 'use strict';
2
+
3
+ var utils = require('../utils.js');
4
+ var log = require('npmlog');
5
+
6
+ module.exports = function (defaultFuncs, api, ctx) {
7
+ return function changeCover(image, callback) {
8
+ var cb;
9
+ var rt = new Promise(function (resolve, reject) {
10
+ cb = (error, url) => error ? reject(error) : resolve(url);
11
+ });
12
+
13
+ if (typeof image == 'function') {
14
+ callback = image;
15
+ image = null;
16
+ }
17
+ if (typeof callback == 'function') cb = callback;
18
+ if (!utils.isReadableStream(image)) {
19
+ var error = 'image should be a readable stream, not ' + utils.getType(image);
20
+ console.error('changeCover', error);
21
+ cb(error);
22
+ }
23
+ else {
24
+ defaultFuncs
25
+ .postFormData('https://www.facebook.com/profile/picture/upload/', ctx.jar, {
26
+ profile_id: ctx.userID,
27
+ photo_source: 57,
28
+ av: ctx.userID,
29
+ file: image
30
+ })
31
+ .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
32
+ .then(function (res) {
33
+ if (res.error || res.errors || !res.payload)
34
+ throw res;
35
+
36
+ var vari = {
37
+ input: {
38
+ attribution_id_v2: `ProfileCometCollectionRoot.react,comet.profile.collection.photos_by,unexpected,${Date.now()},770083,,;ProfileCometCollectionRoot.react,comet.profile.collection.photos_albums,unexpected,${Date.now()},470774,,;ProfileCometCollectionRoot.react,comet.profile.collection.photos,unexpected,${Date.now()},94740,,;ProfileCometCollectionRoot.react,comet.profile.collection.saved_reels_on_profile,unexpected,${Date.now()},89669,,;ProfileCometCollectionRoot.react,comet.profile.collection.reels_tab,unexpected,${Date.now()},152201,,`,
39
+ cover_photo_id: res.payload.fbid,
40
+ focus: {
41
+ x: 0.5,
42
+ y: 1
43
+ },
44
+ target_user_id: ctx.userID,
45
+ actor_id: ctx.userID,
46
+ client_mutation_id: Math.round(Math.random() * 19).toString()
47
+ },
48
+ scale: 1,
49
+ contextualProfileContext: null
50
+ }
51
+ return defaultFuncs
52
+ .post('https://www.facebook.com/api/graphql', ctx.jar, {
53
+ doc_id: 8247793861913071,
54
+ server_timestamps: true,
55
+ fb_api_req_friendly_name: 'ProfileCometCoverPhotoUpdateMutation',
56
+ variables: JSON.stringify(vari)
57
+ })
58
+ .then(utils.parseAndCheckLogin(ctx, defaultFuncs));
59
+ })
60
+ .then(function (res) {
61
+ if (res.errors)
62
+ throw res;
63
+ return cb(null, res.data.user_update_cover_photo.user.cover_photo.photo.url);
64
+ })
65
+ .catch(function (err) {
66
+ console.error('changeCover', err);
67
+ return cb(err);
68
+ });
69
+ }
70
+
71
+ return rt;
72
+ }
73
+ }
@@ -1,61 +1,80 @@
1
1
  "use strict";
2
2
 
3
- var utils = require("../utils");
4
- var log = require("npmlog");
5
- var bluebird = require("bluebird");
3
+ const utils = require("../utils");
4
+ // @NethWs3Dev
6
5
 
7
6
  module.exports = function (defaultFuncs, api, ctx) {
8
7
  function handleUpload(image, callback) {
9
- var uploads = [];
8
+ const uploads = [];
10
9
 
11
- var form = {
10
+ const form = {
12
11
  images_only: "true",
13
- "attachment[]": image
12
+ "attachment[]": image,
14
13
  };
15
14
 
16
15
  uploads.push(
17
16
  defaultFuncs
18
- .postFormData("https://upload.facebook.com/ajax/mercury/upload.php", ctx.jar, form, {})
17
+ .postFormData(
18
+ "https://upload.facebook.com/ajax/mercury/upload.php",
19
+ ctx.jar,
20
+ form,
21
+ {},
22
+ )
19
23
  .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
20
24
  .then(function (resData) {
21
- if (resData.error) throw resData;
25
+ if (resData.error) {
26
+ throw resData;
27
+ }
22
28
 
23
29
  return resData.payload.metadata[0];
24
- })
30
+ }),
25
31
  );
26
32
 
27
33
  // resolve all promises
28
- bluebird
29
- .all(uploads)
30
- .then(resData => callback(null, resData))
34
+ Promise.all(uploads)
35
+ .then(function (resData) {
36
+ callback(null, resData);
37
+ })
31
38
  .catch(function (err) {
32
- log.error("handleUpload", err);
39
+ console.error("handleUpload", err);
33
40
  return callback(err);
34
41
  });
35
42
  }
36
43
 
37
44
  return function changeGroupImage(image, threadID, callback) {
38
- if (!callback && (utils.getType(threadID) === "Function" || utils.getType(threadID) === "AsyncFunction")) throw { error: "please pass a threadID as a second argument." };
45
+ if (
46
+ !callback &&
47
+ (utils.getType(threadID) === "Function" ||
48
+ utils.getType(threadID) === "AsyncFunction")
49
+ ) {
50
+ throw { error: "please pass a threadID as a second argument." };
51
+ }
52
+
53
+ if (!utils.isReadableStream(image)) {
54
+ throw { error: "please pass a readable stream as a first argument." };
55
+ }
39
56
 
40
- var resolveFunc = function () { };
41
- var rejectFunc = function () { };
42
- var returnPromise = new Promise(function (resolve, reject) {
57
+ let resolveFunc = function () {};
58
+ let rejectFunc = function () {};
59
+ const returnPromise = new Promise(function (resolve, reject) {
43
60
  resolveFunc = resolve;
44
61
  rejectFunc = reject;
45
62
  });
46
63
 
47
64
  if (!callback) {
48
65
  callback = function (err) {
49
- if (err) return rejectFunc(err);
66
+ if (err) {
67
+ return rejectFunc(err);
68
+ }
50
69
  resolveFunc();
51
70
  };
52
71
  }
53
72
 
54
- var messageAndOTID = utils.generateOfflineThreadingID();
55
- var form = {
73
+ const messageAndOTID = utils.generateOfflineThreadingID();
74
+ const form = {
56
75
  client: "mercury",
57
76
  action_type: "ma-type:log-message",
58
- author: "fbid:" + ctx.userID,
77
+ author: "fbid:" + (ctx.userID),
59
78
  author_email: "",
60
79
  ephemeral_ttl_mode: "0",
61
80
  is_filtered_content: false,
@@ -78,25 +97,35 @@ module.exports = function (defaultFuncs, api, ctx) {
78
97
  timestamp: Date.now(),
79
98
  timestamp_absolute: "Today",
80
99
  timestamp_relative: utils.generateTimestampRelative(),
81
- timestamp_time_passed: "0"
100
+ timestamp_time_passed: "0",
82
101
  };
83
102
 
84
103
  handleUpload(image, function (err, payload) {
85
- if (err) return callback(err);
104
+ if (err) {
105
+ return callback(err);
106
+ }
86
107
 
87
108
  form["thread_image_id"] = payload[0]["image_id"];
88
109
  form["thread_id"] = threadID;
89
110
 
90
111
  defaultFuncs
91
- .post("https://www.facebook.com/messaging/set_thread_image/", ctx.jar, form)
112
+ .post(
113
+ "https://www.facebook.com/messaging/set_thread_image/",
114
+ ctx.jar,
115
+ form,
116
+ )
92
117
  .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
93
118
  .then(function (resData) {
94
119
  // check for errors here
95
- if (resData.error) throw resData;
120
+
121
+ if (resData.error) {
122
+ throw resData;
123
+ }
124
+
96
125
  return callback();
97
126
  })
98
127
  .catch(function (err) {
99
- log.error("changeGroupImage", err);
128
+ console.error("changeGroupImage", err);
100
129
  return callback(err);
101
130
  });
102
131
  });
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ var utils = require('./../utils.js');
4
+ var log = require('npmlog');
5
+
6
+ module.exports = function (defaultFuncs, api, ctx) {
7
+ return function changeName(input, format, callback) {
8
+ var cb;
9
+ var rt = new Promise(function (resolve, reject) {
10
+ cb = error => error ? reject(error) : resolve();
11
+ });
12
+
13
+ if (typeof input == 'function') {
14
+ callback = input;
15
+ input = null;
16
+ }
17
+ if (typeof format == 'function') {
18
+ callback = format;
19
+ format = 'complete';
20
+ }
21
+ if (typeof callback == 'function') cb = callback;
22
+ if (utils.getType(input) != 'Object') {
23
+ var error = 'name must be an object, not ' + utils.getType(input);
24
+ log('changeName', error);
25
+ return cb(error);
26
+ }
27
+
28
+ var { first_name, middle_name, last_name } = input;
29
+ if (!first_name || !last_name) {
30
+ console.error('changeName', 'name is not be accepted');
31
+ return cb('name is not be accepted');
32
+ }
33
+
34
+ middle_name = middle_name || '';
35
+
36
+ var full_name =
37
+ format == 'complete' ? last_name + ' ' + (middle_name != '' ? middle_name + ' ' : '') + first_name :
38
+ format == 'standard' ? last_name + ' ' + first_name :
39
+ format == 'reversed' ? first_name + ' ' + (middle_name != '' ? middle_name + ' ' : '') + last_name :
40
+ last_name + ' ' + (middle_name != '' ? middle_name + ' ' : '') + first_name;
41
+
42
+ var form = {
43
+ fb_api_caller_class: 'RelayModern',
44
+ fb_api_req_friendly_name: 'useFXIMUpdateNameMutation',
45
+ variables: JSON.stringify({
46
+ client_mutation_id: utils.getGUID(),
47
+ family_device_id: "device_id_fetch_datr",
48
+ identity_ids: [ctx.userID],
49
+ full_name,
50
+ first_name,
51
+ middle_name,
52
+ last_name,
53
+ interface: 'FB_WEB'
54
+ }),
55
+ server_timestamps: true,
56
+ doc_id: '5763510853763960'
57
+ }
58
+
59
+ defaultFuncs
60
+ .post('https://accountscenter.facebook.com/api/graphql/', ctx.jar, form, null, null, {
61
+ Origin: 'https://accountscenter.facebook.com',
62
+ Referer: `https://accountscenter.facebook.com/profiles/${ctx.userID}/name`
63
+ })
64
+ .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
65
+ .then(function (res) {
66
+ if (res.errors)
67
+ throw res;
68
+ else if (res.data.fxim_update_identity_name.error)
69
+ throw res.data.fxim_update_identity_name.error;
70
+ return cb();
71
+ })
72
+ .catch(function (err) {
73
+ console.error('changeName', err);
74
+ return cb(err);
75
+ });
76
+
77
+ return rt;
78
+ }
79
+ }
@@ -1,42 +1,56 @@
1
1
  "use strict";
2
2
 
3
- var utils = require("../utils");
4
- var log = require("npmlog");
3
+ const utils = require("../utils");
4
+ // @NethWs3Dev
5
5
 
6
6
  module.exports = function (defaultFuncs, api, ctx) {
7
7
  return function changeNickname(nickname, threadID, participantID, callback) {
8
- var resolveFunc = function () { };
9
- var rejectFunc = function () { };
10
- var returnPromise = new Promise(function (resolve, reject) {
8
+ let resolveFunc = function () {};
9
+ let rejectFunc = function () {};
10
+ const returnPromise = new Promise(function (resolve, reject) {
11
11
  resolveFunc = resolve;
12
12
  rejectFunc = reject;
13
13
  });
14
14
  if (!callback) {
15
15
  callback = function (err) {
16
- if (err) return rejectFunc(err);
16
+ if (err) {
17
+ return rejectFunc(err);
18
+ }
17
19
  resolveFunc();
18
20
  };
19
21
  }
20
22
 
21
- var form = {
23
+ const form = {
22
24
  nickname: nickname,
23
25
  participant_id: participantID,
24
- thread_or_other_fbid: threadID
26
+ thread_or_other_fbid: threadID,
25
27
  };
26
28
 
27
29
  defaultFuncs
28
- .post("https://www.facebook.com/messaging/save_thread_nickname/?source=thread_settings&dpr=1", ctx.jar, form)
30
+ .post(
31
+ "https://www.facebook.com/messaging/save_thread_nickname/?source=thread_settings&dpr=1",
32
+ ctx.jar,
33
+ form,
34
+ )
29
35
  .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
30
36
  .then(function (resData) {
31
- if (resData.error === 1545014) throw { error: "Trying to change nickname of user isn't in thread" };
32
- if (resData.error === 1357031) throw { error: "Trying to change user nickname of a thread that doesn't exist. Have at least one message in the thread before trying to change the user nickname." };
33
-
34
- if (resData.error) throw resData;
37
+ if (resData.error === 1545014) {
38
+ throw { error: "Trying to change nickname of user isn't in thread" };
39
+ }
40
+ if (resData.error === 1357031) {
41
+ throw {
42
+ error:
43
+ "Trying to change user nickname of a thread that doesn't exist. Have at least one message in the thread before trying to change the user nickname.",
44
+ };
45
+ }
46
+ if (resData.error) {
47
+ throw resData;
48
+ }
35
49
 
36
50
  return callback();
37
51
  })
38
52
  .catch(function (err) {
39
- log.error("changeNickname", err);
53
+ console.error("changeNickname", err);
40
54
  return callback(err);
41
55
  });
42
56
 
@@ -1,31 +1,32 @@
1
1
  "use strict";
2
2
 
3
- var utils = require("../utils");
4
- var log = require("npmlog");
3
+ const utils = require("../utils");
4
+ // @NethWs3Dev
5
5
 
6
6
  module.exports = function (defaultFuncs, api, ctx) {
7
7
  return function changeThreadColor(color, threadID, callback) {
8
- var resolveFunc = function () { };
9
- var rejectFunc = function () { };
10
- var returnPromise = new Promise(function (resolve, reject) {
8
+ let resolveFunc = function () {};
9
+ let rejectFunc = function () {};
10
+ const returnPromise = new Promise(function (resolve, reject) {
11
11
  resolveFunc = resolve;
12
12
  rejectFunc = reject;
13
13
  });
14
14
 
15
15
  if (!callback) {
16
16
  callback = function (err) {
17
- if (err) return rejectFunc(err);
17
+ if (err) {
18
+ return rejectFunc(err);
19
+ }
18
20
  resolveFunc(err);
19
21
  };
20
22
  }
21
23
 
22
- var validatedColor = color !== null ? color.toLowerCase() : color; // API only accepts lowercase letters in hex string
23
- var colorList = Object.keys(api.threadColors).map(function (name) {
24
- return api.threadColors[name];
25
- });
26
- if (!colorList.includes(validatedColor)) throw { error: "The color you are trying to use is not a valid thread color. Use api.threadColors to find acceptable values." };
24
+ if (!isNaN(color)) {
25
+ color = color.toString();
26
+ }
27
+ const validatedColor = color !== null ? color.toLowerCase() : color; // API only accepts lowercase letters in hex string
27
28
 
28
- var form = {
29
+ const form = {
29
30
  dpr: 1,
30
31
  queries: JSON.stringify({
31
32
  o0: {
@@ -37,23 +38,25 @@ module.exports = function (defaultFuncs, api, ctx) {
37
38
  client_mutation_id: "0",
38
39
  source: "SETTINGS",
39
40
  theme_id: validatedColor,
40
- thread_id: threadID
41
- }
42
- }
43
- }
44
- })
41
+ thread_id: threadID,
42
+ },
43
+ },
44
+ },
45
+ }),
45
46
  };
46
47
 
47
48
  defaultFuncs
48
49
  .post("https://www.facebook.com/api/graphqlbatch/", ctx.jar, form)
49
50
  .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
50
51
  .then(function (resData) {
51
- if (resData[resData.length - 1].error_results > 0) throw resData[0].o0.errors;
52
+ if (resData[resData.length - 1].error_results > 0) {
53
+ throw new utils.CustomError(resData[0].o0.errors);
54
+ }
52
55
 
53
56
  return callback();
54
57
  })
55
58
  .catch(function (err) {
56
- log.error("changeThreadColor", err);
59
+ console.error("changeThreadColor", err);
57
60
  return callback(err);
58
61
  });
59
62