daiki-fca 0.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.

Potentially problematic release.


This version of daiki-fca might be problematic. Click here for more details.

Files changed (296) hide show
  1. package/.cache/nix/binary-cache-v6.sqlite +0 -0
  2. package/.cache/nix/binary-cache-v6.sqlite-journal +0 -0
  3. package/.cache/replit/env/latest +121 -0
  4. package/.cache/replit/env/latest.json +1 -0
  5. package/.cache/replit/modules/nix.res +1 -0
  6. package/.cache/replit/modules/nodejs-20.res +1 -0
  7. package/.cache/replit/modules/replit.res +1 -0
  8. package/.cache/replit/modules.stamp +0 -0
  9. package/.cache/replit/nix/env.json +1 -0
  10. package/.cache/typescript/5.6/node_modules/.package-lock.json +188 -0
  11. package/.cache/typescript/5.6/node_modules/@types/bluebird/LICENSE +21 -0
  12. package/.cache/typescript/5.6/node_modules/@types/bluebird/README.md +15 -0
  13. package/.cache/typescript/5.6/node_modules/@types/bluebird/index.d.ts +1365 -0
  14. package/.cache/typescript/5.6/node_modules/@types/bluebird/package.json +25 -0
  15. package/.cache/typescript/5.6/node_modules/@types/caseless/LICENSE +21 -0
  16. package/.cache/typescript/5.6/node_modules/@types/caseless/README.md +48 -0
  17. package/.cache/typescript/5.6/node_modules/@types/caseless/index.d.ts +29 -0
  18. package/.cache/typescript/5.6/node_modules/@types/caseless/package.json +35 -0
  19. package/.cache/typescript/5.6/node_modules/@types/cheerio/LICENSE +21 -0
  20. package/.cache/typescript/5.6/node_modules/@types/cheerio/README.md +15 -0
  21. package/.cache/typescript/5.6/node_modules/@types/cheerio/index.d.ts +318 -0
  22. package/.cache/typescript/5.6/node_modules/@types/cheerio/package.json +71 -0
  23. package/.cache/typescript/5.6/node_modules/@types/mocha/LICENSE +21 -0
  24. package/.cache/typescript/5.6/node_modules/@types/mocha/README.md +15 -0
  25. package/.cache/typescript/5.6/node_modules/@types/mocha/index.d.ts +2929 -0
  26. package/.cache/typescript/5.6/node_modules/@types/mocha/package.json +56 -0
  27. package/.cache/typescript/5.6/node_modules/@types/node/LICENSE +21 -0
  28. package/.cache/typescript/5.6/node_modules/@types/node/README.md +15 -0
  29. package/.cache/typescript/5.6/node_modules/@types/node/assert/strict.d.ts +8 -0
  30. package/.cache/typescript/5.6/node_modules/@types/node/assert.d.ts +1040 -0
  31. package/.cache/typescript/5.6/node_modules/@types/node/async_hooks.d.ts +541 -0
  32. package/.cache/typescript/5.6/node_modules/@types/node/buffer.buffer.d.ts +385 -0
  33. package/.cache/typescript/5.6/node_modules/@types/node/buffer.d.ts +1933 -0
  34. package/.cache/typescript/5.6/node_modules/@types/node/child_process.d.ts +1549 -0
  35. package/.cache/typescript/5.6/node_modules/@types/node/cluster.d.ts +579 -0
  36. package/.cache/typescript/5.6/node_modules/@types/node/compatibility/disposable.d.ts +16 -0
  37. package/.cache/typescript/5.6/node_modules/@types/node/compatibility/index.d.ts +9 -0
  38. package/.cache/typescript/5.6/node_modules/@types/node/compatibility/indexable.d.ts +23 -0
  39. package/.cache/typescript/5.6/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
  40. package/.cache/typescript/5.6/node_modules/@types/node/console.d.ts +452 -0
  41. package/.cache/typescript/5.6/node_modules/@types/node/constants.d.ts +19 -0
  42. package/.cache/typescript/5.6/node_modules/@types/node/crypto.d.ts +4475 -0
  43. package/.cache/typescript/5.6/node_modules/@types/node/dgram.d.ts +597 -0
  44. package/.cache/typescript/5.6/node_modules/@types/node/diagnostics_channel.d.ts +554 -0
  45. package/.cache/typescript/5.6/node_modules/@types/node/dns/promises.d.ts +476 -0
  46. package/.cache/typescript/5.6/node_modules/@types/node/dns.d.ts +865 -0
  47. package/.cache/typescript/5.6/node_modules/@types/node/dom-events.d.ts +124 -0
  48. package/.cache/typescript/5.6/node_modules/@types/node/domain.d.ts +170 -0
  49. package/.cache/typescript/5.6/node_modules/@types/node/events.d.ts +931 -0
  50. package/.cache/typescript/5.6/node_modules/@types/node/fs/promises.d.ts +1275 -0
  51. package/.cache/typescript/5.6/node_modules/@types/node/fs.d.ts +4343 -0
  52. package/.cache/typescript/5.6/node_modules/@types/node/globals.d.ts +511 -0
  53. package/.cache/typescript/5.6/node_modules/@types/node/globals.typedarray.d.ts +21 -0
  54. package/.cache/typescript/5.6/node_modules/@types/node/http.d.ts +1958 -0
  55. package/.cache/typescript/5.6/node_modules/@types/node/http2.d.ts +2558 -0
  56. package/.cache/typescript/5.6/node_modules/@types/node/https.d.ts +543 -0
  57. package/.cache/typescript/5.6/node_modules/@types/node/index.d.ts +92 -0
  58. package/.cache/typescript/5.6/node_modules/@types/node/inspector.d.ts +3966 -0
  59. package/.cache/typescript/5.6/node_modules/@types/node/module.d.ts +621 -0
  60. package/.cache/typescript/5.6/node_modules/@types/node/net.d.ts +1005 -0
  61. package/.cache/typescript/5.6/node_modules/@types/node/os.d.ts +495 -0
  62. package/.cache/typescript/5.6/node_modules/@types/node/package.json +220 -0
  63. package/.cache/typescript/5.6/node_modules/@types/node/path.d.ts +200 -0
  64. package/.cache/typescript/5.6/node_modules/@types/node/perf_hooks.d.ts +965 -0
  65. package/.cache/typescript/5.6/node_modules/@types/node/process.d.ts +1996 -0
  66. package/.cache/typescript/5.6/node_modules/@types/node/punycode.d.ts +117 -0
  67. package/.cache/typescript/5.6/node_modules/@types/node/querystring.d.ts +153 -0
  68. package/.cache/typescript/5.6/node_modules/@types/node/readline/promises.d.ts +162 -0
  69. package/.cache/typescript/5.6/node_modules/@types/node/readline.d.ts +589 -0
  70. package/.cache/typescript/5.6/node_modules/@types/node/repl.d.ts +430 -0
  71. package/.cache/typescript/5.6/node_modules/@types/node/sea.d.ts +153 -0
  72. package/.cache/typescript/5.6/node_modules/@types/node/sqlite.d.ts +349 -0
  73. package/.cache/typescript/5.6/node_modules/@types/node/stream/consumers.d.ts +12 -0
  74. package/.cache/typescript/5.6/node_modules/@types/node/stream/promises.d.ts +90 -0
  75. package/.cache/typescript/5.6/node_modules/@types/node/stream/web.d.ts +609 -0
  76. package/.cache/typescript/5.6/node_modules/@types/node/stream.d.ts +1726 -0
  77. package/.cache/typescript/5.6/node_modules/@types/node/string_decoder.d.ts +67 -0
  78. package/.cache/typescript/5.6/node_modules/@types/node/test.d.ts +2248 -0
  79. package/.cache/typescript/5.6/node_modules/@types/node/timers/promises.d.ts +97 -0
  80. package/.cache/typescript/5.6/node_modules/@types/node/timers.d.ts +240 -0
  81. package/.cache/typescript/5.6/node_modules/@types/node/tls.d.ts +1226 -0
  82. package/.cache/typescript/5.6/node_modules/@types/node/trace_events.d.ts +197 -0
  83. package/.cache/typescript/5.6/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +385 -0
  84. package/.cache/typescript/5.6/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +19 -0
  85. package/.cache/typescript/5.6/node_modules/@types/node/ts5.6/index.d.ts +92 -0
  86. package/.cache/typescript/5.6/node_modules/@types/node/tty.d.ts +208 -0
  87. package/.cache/typescript/5.6/node_modules/@types/node/url.d.ts +972 -0
  88. package/.cache/typescript/5.6/node_modules/@types/node/util.d.ts +2397 -0
  89. package/.cache/typescript/5.6/node_modules/@types/node/v8.d.ts +808 -0
  90. package/.cache/typescript/5.6/node_modules/@types/node/vm.d.ts +976 -0
  91. package/.cache/typescript/5.6/node_modules/@types/node/wasi.d.ts +181 -0
  92. package/.cache/typescript/5.6/node_modules/@types/node/worker_threads.d.ts +745 -0
  93. package/.cache/typescript/5.6/node_modules/@types/node/zlib.d.ts +539 -0
  94. package/.cache/typescript/5.6/node_modules/@types/node-cron/LICENSE +21 -0
  95. package/.cache/typescript/5.6/node_modules/@types/node-cron/README.md +76 -0
  96. package/.cache/typescript/5.6/node_modules/@types/node-cron/index.d.ts +57 -0
  97. package/.cache/typescript/5.6/node_modules/@types/node-cron/package.json +50 -0
  98. package/.cache/typescript/5.6/node_modules/@types/npmlog/LICENSE +21 -0
  99. package/.cache/typescript/5.6/node_modules/@types/npmlog/README.md +15 -0
  100. package/.cache/typescript/5.6/node_modules/@types/npmlog/index.d.ts +84 -0
  101. package/.cache/typescript/5.6/node_modules/@types/npmlog/package.json +32 -0
  102. package/.cache/typescript/5.6/node_modules/@types/request/LICENSE +21 -0
  103. package/.cache/typescript/5.6/node_modules/@types/request/README.md +15 -0
  104. package/.cache/typescript/5.6/node_modules/@types/request/index.d.ts +395 -0
  105. package/.cache/typescript/5.6/node_modules/@types/request/package.json +70 -0
  106. package/.cache/typescript/5.6/node_modules/@types/tough-cookie/LICENSE +21 -0
  107. package/.cache/typescript/5.6/node_modules/@types/tough-cookie/README.md +15 -0
  108. package/.cache/typescript/5.6/node_modules/@types/tough-cookie/index.d.ts +321 -0
  109. package/.cache/typescript/5.6/node_modules/@types/tough-cookie/package.json +35 -0
  110. package/.cache/typescript/5.6/node_modules/asynckit/LICENSE +21 -0
  111. package/.cache/typescript/5.6/node_modules/asynckit/README.md +233 -0
  112. package/.cache/typescript/5.6/node_modules/asynckit/bench.js +76 -0
  113. package/.cache/typescript/5.6/node_modules/asynckit/index.js +6 -0
  114. package/.cache/typescript/5.6/node_modules/asynckit/lib/abort.js +29 -0
  115. package/.cache/typescript/5.6/node_modules/asynckit/lib/async.js +34 -0
  116. package/.cache/typescript/5.6/node_modules/asynckit/lib/defer.js +26 -0
  117. package/.cache/typescript/5.6/node_modules/asynckit/lib/iterate.js +75 -0
  118. package/.cache/typescript/5.6/node_modules/asynckit/lib/readable_asynckit.js +91 -0
  119. package/.cache/typescript/5.6/node_modules/asynckit/lib/readable_parallel.js +25 -0
  120. package/.cache/typescript/5.6/node_modules/asynckit/lib/readable_serial.js +25 -0
  121. package/.cache/typescript/5.6/node_modules/asynckit/lib/readable_serial_ordered.js +29 -0
  122. package/.cache/typescript/5.6/node_modules/asynckit/lib/state.js +37 -0
  123. package/.cache/typescript/5.6/node_modules/asynckit/lib/streamify.js +141 -0
  124. package/.cache/typescript/5.6/node_modules/asynckit/lib/terminator.js +29 -0
  125. package/.cache/typescript/5.6/node_modules/asynckit/package.json +63 -0
  126. package/.cache/typescript/5.6/node_modules/asynckit/parallel.js +43 -0
  127. package/.cache/typescript/5.6/node_modules/asynckit/serial.js +17 -0
  128. package/.cache/typescript/5.6/node_modules/asynckit/serialOrdered.js +75 -0
  129. package/.cache/typescript/5.6/node_modules/asynckit/stream.js +21 -0
  130. package/.cache/typescript/5.6/node_modules/combined-stream/License +19 -0
  131. package/.cache/typescript/5.6/node_modules/combined-stream/Readme.md +138 -0
  132. package/.cache/typescript/5.6/node_modules/combined-stream/lib/combined_stream.js +208 -0
  133. package/.cache/typescript/5.6/node_modules/combined-stream/package.json +25 -0
  134. package/.cache/typescript/5.6/node_modules/combined-stream/yarn.lock +17 -0
  135. package/.cache/typescript/5.6/node_modules/delayed-stream/License +19 -0
  136. package/.cache/typescript/5.6/node_modules/delayed-stream/Makefile +7 -0
  137. package/.cache/typescript/5.6/node_modules/delayed-stream/Readme.md +141 -0
  138. package/.cache/typescript/5.6/node_modules/delayed-stream/lib/delayed_stream.js +107 -0
  139. package/.cache/typescript/5.6/node_modules/delayed-stream/package.json +27 -0
  140. package/.cache/typescript/5.6/node_modules/form-data/License +19 -0
  141. package/.cache/typescript/5.6/node_modules/form-data/Readme.md +350 -0
  142. package/.cache/typescript/5.6/node_modules/form-data/index.d.ts +51 -0
  143. package/.cache/typescript/5.6/node_modules/form-data/lib/browser.js +2 -0
  144. package/.cache/typescript/5.6/node_modules/form-data/lib/form_data.js +484 -0
  145. package/.cache/typescript/5.6/node_modules/form-data/lib/populate.js +10 -0
  146. package/.cache/typescript/5.6/node_modules/form-data/package.json +72 -0
  147. package/.cache/typescript/5.6/node_modules/mime-db/HISTORY.md +507 -0
  148. package/.cache/typescript/5.6/node_modules/mime-db/LICENSE +23 -0
  149. package/.cache/typescript/5.6/node_modules/mime-db/README.md +100 -0
  150. package/.cache/typescript/5.6/node_modules/mime-db/db.json +8519 -0
  151. package/.cache/typescript/5.6/node_modules/mime-db/index.js +12 -0
  152. package/.cache/typescript/5.6/node_modules/mime-db/package.json +60 -0
  153. package/.cache/typescript/5.6/node_modules/mime-types/HISTORY.md +397 -0
  154. package/.cache/typescript/5.6/node_modules/mime-types/LICENSE +23 -0
  155. package/.cache/typescript/5.6/node_modules/mime-types/README.md +113 -0
  156. package/.cache/typescript/5.6/node_modules/mime-types/index.js +188 -0
  157. package/.cache/typescript/5.6/node_modules/mime-types/package.json +44 -0
  158. package/.cache/typescript/5.6/node_modules/safe-buffer/LICENSE +21 -0
  159. package/.cache/typescript/5.6/node_modules/safe-buffer/README.md +584 -0
  160. package/.cache/typescript/5.6/node_modules/safe-buffer/index.d.ts +187 -0
  161. package/.cache/typescript/5.6/node_modules/safe-buffer/index.js +65 -0
  162. package/.cache/typescript/5.6/node_modules/safe-buffer/package.json +51 -0
  163. package/.cache/typescript/5.6/node_modules/types-registry/README.md +2 -0
  164. package/.cache/typescript/5.6/node_modules/types-registry/index.json +1 -0
  165. package/.cache/typescript/5.6/node_modules/types-registry/package.json +20 -0
  166. package/.cache/typescript/5.6/node_modules/undici-types/LICENSE +21 -0
  167. package/.cache/typescript/5.6/node_modules/undici-types/README.md +6 -0
  168. package/.cache/typescript/5.6/node_modules/undici-types/agent.d.ts +31 -0
  169. package/.cache/typescript/5.6/node_modules/undici-types/api.d.ts +43 -0
  170. package/.cache/typescript/5.6/node_modules/undici-types/balanced-pool.d.ts +29 -0
  171. package/.cache/typescript/5.6/node_modules/undici-types/cache.d.ts +36 -0
  172. package/.cache/typescript/5.6/node_modules/undici-types/client.d.ts +108 -0
  173. package/.cache/typescript/5.6/node_modules/undici-types/connector.d.ts +34 -0
  174. package/.cache/typescript/5.6/node_modules/undici-types/content-type.d.ts +21 -0
  175. package/.cache/typescript/5.6/node_modules/undici-types/cookies.d.ts +28 -0
  176. package/.cache/typescript/5.6/node_modules/undici-types/diagnostics-channel.d.ts +66 -0
  177. package/.cache/typescript/5.6/node_modules/undici-types/dispatcher.d.ts +255 -0
  178. package/.cache/typescript/5.6/node_modules/undici-types/env-http-proxy-agent.d.ts +21 -0
  179. package/.cache/typescript/5.6/node_modules/undici-types/errors.d.ts +149 -0
  180. package/.cache/typescript/5.6/node_modules/undici-types/eventsource.d.ts +61 -0
  181. package/.cache/typescript/5.6/node_modules/undici-types/fetch.d.ts +209 -0
  182. package/.cache/typescript/5.6/node_modules/undici-types/file.d.ts +39 -0
  183. package/.cache/typescript/5.6/node_modules/undici-types/filereader.d.ts +54 -0
  184. package/.cache/typescript/5.6/node_modules/undici-types/formdata.d.ts +108 -0
  185. package/.cache/typescript/5.6/node_modules/undici-types/global-dispatcher.d.ts +9 -0
  186. package/.cache/typescript/5.6/node_modules/undici-types/global-origin.d.ts +7 -0
  187. package/.cache/typescript/5.6/node_modules/undici-types/handlers.d.ts +15 -0
  188. package/.cache/typescript/5.6/node_modules/undici-types/header.d.ts +4 -0
  189. package/.cache/typescript/5.6/node_modules/undici-types/index.d.ts +71 -0
  190. package/.cache/typescript/5.6/node_modules/undici-types/interceptors.d.ts +17 -0
  191. package/.cache/typescript/5.6/node_modules/undici-types/mock-agent.d.ts +50 -0
  192. package/.cache/typescript/5.6/node_modules/undici-types/mock-client.d.ts +25 -0
  193. package/.cache/typescript/5.6/node_modules/undici-types/mock-errors.d.ts +12 -0
  194. package/.cache/typescript/5.6/node_modules/undici-types/mock-interceptor.d.ts +93 -0
  195. package/.cache/typescript/5.6/node_modules/undici-types/mock-pool.d.ts +25 -0
  196. package/.cache/typescript/5.6/node_modules/undici-types/package.json +55 -0
  197. package/.cache/typescript/5.6/node_modules/undici-types/patch.d.ts +33 -0
  198. package/.cache/typescript/5.6/node_modules/undici-types/pool-stats.d.ts +19 -0
  199. package/.cache/typescript/5.6/node_modules/undici-types/pool.d.ts +39 -0
  200. package/.cache/typescript/5.6/node_modules/undici-types/proxy-agent.d.ts +28 -0
  201. package/.cache/typescript/5.6/node_modules/undici-types/readable.d.ts +60 -0
  202. package/.cache/typescript/5.6/node_modules/undici-types/retry-agent.d.ts +8 -0
  203. package/.cache/typescript/5.6/node_modules/undici-types/retry-handler.d.ts +116 -0
  204. package/.cache/typescript/5.6/node_modules/undici-types/util.d.ts +18 -0
  205. package/.cache/typescript/5.6/node_modules/undici-types/webidl.d.ts +222 -0
  206. package/.cache/typescript/5.6/node_modules/undici-types/websocket.d.ts +150 -0
  207. package/.cache/typescript/5.6/package-lock.json +202 -0
  208. package/.cache/typescript/5.6/package.json +1 -0
  209. package/.replit +8 -0
  210. package/LICENSE +21 -0
  211. package/index.js +460 -0
  212. package/package.json +46 -0
  213. package/replit.nix +3 -0
  214. package/src/Screenshot.js +83 -0
  215. package/src/addExternalModule.js +25 -0
  216. package/src/addUserToGroup.js +115 -0
  217. package/src/changeAdminStatus.js +103 -0
  218. package/src/changeArchivedStatus.js +55 -0
  219. package/src/changeAvatar.js +136 -0
  220. package/src/changeAvatarV2.js +86 -0
  221. package/src/changeAvt.js +85 -0
  222. package/src/changeBio.js +76 -0
  223. package/src/changeBlockedStatus.js +49 -0
  224. package/src/changeBlockedStatusMqtt.js +80 -0
  225. package/src/changeCover.js +72 -0
  226. package/src/changeGroupImage.js +135 -0
  227. package/src/changeName.js +79 -0
  228. package/src/changeNickname.js +59 -0
  229. package/src/changeThreadColor.js +65 -0
  230. package/src/changeThreadEmoji.js +55 -0
  231. package/src/changeUsername.js +59 -0
  232. package/src/createCommentPost.js +230 -0
  233. package/src/createNewGroup.js +88 -0
  234. package/src/createPoll.js +71 -0
  235. package/src/createPost.js +276 -0
  236. package/src/deleteMessage.js +56 -0
  237. package/src/deleteThread.js +56 -0
  238. package/src/editMessage.js +68 -0
  239. package/src/editMessageOld.js +67 -0
  240. package/src/follow.js +74 -0
  241. package/src/forwardAttachment.js +60 -0
  242. package/src/getAccess.js +112 -0
  243. package/src/getAvatarUser.js +78 -0
  244. package/src/getCurrentUserID.js +7 -0
  245. package/src/getEmojiUrl.js +29 -0
  246. package/src/getFriendsList.js +83 -0
  247. package/src/getMessage.js +835 -0
  248. package/src/getRegion.js +7 -0
  249. package/src/getThreadHistory.js +680 -0
  250. package/src/getThreadHistoryDeprecated.js +71 -0
  251. package/src/getThreadInfo.js +232 -0
  252. package/src/getThreadInfoDeprecated.js +56 -0
  253. package/src/getThreadList.js +213 -0
  254. package/src/getThreadListDeprecated.js +46 -0
  255. package/src/getThreadPictures.js +59 -0
  256. package/src/getUID.js +119 -0
  257. package/src/getUserID.js +61 -0
  258. package/src/getUserInfo.js +66 -0
  259. package/src/handleFriendRequest.js +46 -0
  260. package/src/handleMessageRequest.js +47 -0
  261. package/src/httpGet.js +49 -0
  262. package/src/httpPost.js +48 -0
  263. package/src/listenMqtt.js +827 -0
  264. package/src/listenMqtt.txt +827 -0
  265. package/src/logout.js +75 -0
  266. package/src/markAsDelivered.js +47 -0
  267. package/src/markAsRead.js +70 -0
  268. package/src/markAsReadAll.js +40 -0
  269. package/src/markAsSeen.js +48 -0
  270. package/src/muteThread.js +45 -0
  271. package/src/postFormData.txt +46 -0
  272. package/src/refreshFb_dtsg.js +89 -0
  273. package/src/removeUserFromGroup.js +79 -0
  274. package/src/resolvePhotoUrl.js +45 -0
  275. package/src/searchForThread.js +53 -0
  276. package/src/searchStickers.js +53 -0
  277. package/src/sendMessage.js +329 -0
  278. package/src/sendMessageMqtt.js +322 -0
  279. package/src/sendTypingIndicator.js +101 -0
  280. package/src/sendTypingIndicatorV2.js +28 -0
  281. package/src/setMessageReaction.js +122 -0
  282. package/src/setMessageReactionMqtt.js +62 -0
  283. package/src/setPostReaction.js +112 -0
  284. package/src/setStoryReaction.js +64 -0
  285. package/src/setTitle.js +90 -0
  286. package/src/shareContact.js +110 -0
  287. package/src/shareLink.js +59 -0
  288. package/src/stopListenMqtt.js +23 -0
  289. package/src/threadColors.js +131 -0
  290. package/src/unfriend.js +52 -0
  291. package/src/unsendMessage.js +45 -0
  292. package/src/uploadAttachment.js +94 -0
  293. package/test/example-config.json +18 -0
  294. package/test/test-page.js +140 -0
  295. package/test/test.js +385 -0
  296. package/utils.js +2876 -0
@@ -0,0 +1,230 @@
1
+ 'use strict';
2
+
3
+ var utils = require('../utils.js');
4
+ var log = require('npmlog');
5
+
6
+ module.exports = function (defaultFuncs, api, ctx) {
7
+ function handleUpload(msg, form) {
8
+ var cb;
9
+ var uploads = [];
10
+ var returnPromise = new Promise(function (resolve, reject) {
11
+ cb = error => error ? reject(error) : resolve();
12
+ });
13
+
14
+ for (let item of msg.attachments) {
15
+ if (!utils.isReadableStream(item))
16
+ return cb({ error: 'image should be a readable stream and not ' + utils.getType(image) });
17
+
18
+ var httpData = defaultFuncs
19
+ .postFormData('https://www.facebook.com/ajax/ufi/upload/', ctx.jar, {
20
+ profile_id: ctx.userID,
21
+ source: 19,
22
+ target_id: ctx.userID,
23
+ file: item
24
+ })
25
+ .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
26
+ .then(function (res) {
27
+ if (res.errors || res.error || !res.payload)
28
+ throw res;
29
+
30
+ return {
31
+ media: {
32
+ id: res.payload.fbid
33
+ }
34
+ }
35
+ })
36
+ .catch(cb);
37
+
38
+ uploads.push(httpData);
39
+ }
40
+
41
+ Promise
42
+ .all(uploads)
43
+ .then(function (main) {
44
+ main.forEach(item => form.input.attachments.push(item));
45
+
46
+ return cb();
47
+ })
48
+ .catch(cb);
49
+
50
+ return returnPromise;
51
+ }
52
+
53
+ function handleURL(msg, form) {
54
+ if (typeof msg.url == 'string') {
55
+ form.input.attachments = [
56
+ {
57
+ link: {
58
+ external: {
59
+ url: msg.url
60
+ }
61
+ }
62
+ }
63
+ ];
64
+ }
65
+ }
66
+
67
+ function handleMentions(msg, form) {
68
+ for (let item of msg.mentions) {
69
+ var { tag, id, fromIndex } = item;
70
+
71
+ if (typeof tag != 'string')
72
+ throw 'Mention tag must be string';
73
+ if (!id)
74
+ throw 'id must be string';
75
+ var offset = msg.body.indexOf(tag, fromIndex || 0);
76
+ if (offset < 0)
77
+ throw 'Mention for "' + tag + '" not found in message string.';
78
+ form.input.message.ranges.push({
79
+ entity: { id },
80
+ length: tag.length,
81
+ offset
82
+ });
83
+ }
84
+ }
85
+
86
+ function handleSticker(msg, form) {
87
+ if (msg.sticker) {
88
+ form.input.attachments = [
89
+ {
90
+ media: {
91
+ id: msg.sticker
92
+ }
93
+ }
94
+ ];
95
+ }
96
+ }
97
+
98
+ function createContent(form) {
99
+ var cb;
100
+ var returnPromise = new Promise(function (resolve, reject) {
101
+ cb = (error, info) => info ? resolve(info) : reject(error);
102
+ });
103
+
104
+ defaultFuncs
105
+ .post('https://www.facebook.com/api/graphql/', ctx.jar, {
106
+ fb_api_caller_class: 'RelayModern',
107
+ fb_api_req_friendly_name: 'useCometUFICreateCommentMutation',
108
+ variables: JSON.stringify(form),
109
+ server_timestamps: !0,
110
+ doc_id: 6993516810709754
111
+ })
112
+ .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
113
+ .then(function (res) {
114
+ if (res.errors)
115
+ throw res;
116
+
117
+ var res = res.data.comment_create;
118
+ var info = {
119
+ id: res.feedback_comment_edge.node.id,
120
+ url: res.feedback_comment_edge.node.feedback.url,
121
+ count: res.feedback.total_comment_count
122
+ }
123
+ return cb(null, info);
124
+ })
125
+ .catch(cb);
126
+
127
+ return returnPromise;
128
+ }
129
+
130
+ return function createCommentPost(msg, postID, callback, replyCommentID) {
131
+ var cb;
132
+ var returnPromise = new Promise(function (resolve, reject) {
133
+ cb = (error, info) => info ? resolve(info) : reject(error);
134
+ });
135
+
136
+ if (typeof msg == 'function') {
137
+ var error = 'Message must be a string or object!!';
138
+ console.error('createCommentPost', error);
139
+ return msg(error);
140
+ }
141
+ if (typeof postID == 'function') {
142
+ var error = 'postID must be a string!!';
143
+ console.error('createCommentPost', error);
144
+ return postID(error);
145
+ }
146
+ if (typeof callback == 'string') {
147
+ replyCommentID = callback;
148
+ callback = null;
149
+ }
150
+ if (typeof callback == 'function')
151
+ cb = calback;
152
+
153
+ var MessageType = utils.getType(msg);
154
+
155
+ if (MessageType == 'String')
156
+ msg = {
157
+ body: msg,
158
+ attachments: [],
159
+ mentions: [],
160
+ sticker: null,
161
+ url: null
162
+ }
163
+ else if (MessageType == 'Object') {
164
+ msg.mentions ? !Array.isArray(msg.mentions) ? msg.mentions = [msg.mentions] : null : msg.mentions = [];
165
+ msg.attachments ? !Array.isArray(msg.attachments) ? msg.attachments = [msg.attachments] : null : msg.attachments = [];
166
+ isNaN(msg.sticker) ? msg.sticker = null : null;
167
+ msg.body ? typeof msg.body == 'object' ? msg.body = JSON.stringify(msg.body) : null : msg.body = '';
168
+ } else {
169
+ var error = 'Message must be a string or object!!';
170
+ console.error('createCommentPost', error);
171
+ return cb(error);
172
+ }
173
+ if (typeof postID != 'string') {
174
+ var error = 'postID must be a string!!';
175
+ console.error('createCommentPost', error);
176
+ return cb(error);
177
+ }
178
+
179
+ if (typeof replyCommentID != 'string')
180
+ replyCommentID = null;
181
+
182
+ var form = {
183
+ feedLocation: 'NEWSFEED',
184
+ feedbackSource: 1,
185
+ groupID: null,
186
+ input: {
187
+ client_mutation_id: Math.round(Math.random() * 19).toString(),
188
+ actor_id: ctx.userID,
189
+ attachments: [],
190
+ feedback_id: Buffer.from('feedback:' + postID).toString('base64'),
191
+ formatting_style: null,
192
+ message: {
193
+ ranges: [],
194
+ text: msg.body
195
+ },
196
+ reply_comment_parent_fbid: replyCommentID ? isNaN(replyCommentID) ? replyCommentID : Buffer.from('comment:' + postID + '_' + replyCommentID).toString('base64') : null,
197
+ reply_target_clicked: !!replyCommentID,
198
+ attribution_id_v2:
199
+ 'CometHomeRoot.react,comet.home,via_cold_start,'
200
+ + Date.now()
201
+ + ',156248,4748854339,,',
202
+ vod_video_timestamp: null,
203
+ feedback_referrer: '/',
204
+ is_tracking_encrypted: !0,
205
+ tracking: [],
206
+ feedback_source: 'NEWS_FEED',
207
+ idempotence_token: 'client:' + utils.getGUID(),
208
+ session_id: utils.getGUID()
209
+ },
210
+ inviteShortLinkKey: null,
211
+ renderLocation: null,
212
+ scale: 1,
213
+ useDefaultActor: !1,
214
+ focusCommentID: null
215
+ }
216
+
217
+ handleUpload(msg, form)
218
+ .then(_ => handleURL(msg, form))
219
+ .then(_ => handleMentions(msg, form))
220
+ .then(_ => handleSticker(msg, form))
221
+ .then(_ => createContent(form))
222
+ .then(info => cb(null, info))
223
+ .catch(function (err) {
224
+ console.error('createCommentPost', err);
225
+ return cb(null, err);
226
+ })
227
+
228
+ return returnPromise;
229
+ }
230
+ }
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+
3
+ const utils = require("../utils");
4
+ // @NethWs3Dev
5
+
6
+ module.exports = function (defaultFuncs, api, ctx) {
7
+ return function createNewGroup(participantIDs, groupTitle, callback) {
8
+ if (utils.getType(groupTitle) == "Function") {
9
+ callback = groupTitle;
10
+ groupTitle = null;
11
+ }
12
+
13
+ if (utils.getType(participantIDs) !== "Array") {
14
+ throw { error: "createNewGroup: participantIDs should be an array." };//
15
+ }
16
+
17
+ if (participantIDs.length < 2) {
18
+ throw {
19
+ error: "createNewGroup: participantIDs should have at least 2 IDs.",
20
+ };
21
+ }
22
+
23
+ let resolveFunc = function () {};
24
+ let rejectFunc = function () {};
25
+ const returnPromise = new Promise(function (resolve, reject) {
26
+ resolveFunc = resolve;
27
+ rejectFunc = reject;
28
+ });
29
+
30
+ if (!callback) {
31
+ callback = function (err, threadID) {
32
+ if (err) {
33
+ return rejectFunc(err);
34
+ }
35
+ resolveFunc(threadID);
36
+ };
37
+ }
38
+
39
+ const pids = [];
40
+ for (const n in participantIDs) {
41
+ pids.push({
42
+ fbid: participantIDs[n],
43
+ });
44
+ }
45
+ pids.push({ fbid: ctx.userID });
46
+
47
+ const form = {
48
+ fb_api_caller_class: "RelayModern",
49
+ fb_api_req_friendly_name: "MessengerGroupCreateMutation",
50
+ av: ctx.userID,
51
+ //This doc_id is valid as of January 11th, 2020
52
+ doc_id: "577041672419534",
53
+ variables: JSON.stringify({
54
+ input: {
55
+ entry_point: "jewel_new_group",
56
+ actor_id: ctx.userID,
57
+ participants: pids,
58
+ client_mutation_id: Math.round(Math.random() * 1024).toString(),
59
+ thread_settings: {
60
+ name: groupTitle,
61
+ joinable_mode: "PRIVATE",
62
+ thread_image_fbid: null,
63
+ },
64
+ },
65
+ }),
66
+ };
67
+
68
+ defaultFuncs
69
+ .post("https://www.facebook.com/api/graphql/", ctx.jar, form)
70
+ .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
71
+ .then(function (resData) {
72
+ if (resData.errors) {
73
+ throw resData;
74
+ }
75
+ return callback(
76
+ null,
77
+ resData.data.messenger_group_thread_create.thread.thread_key
78
+ .thread_fbid,
79
+ );
80
+ })
81
+ .catch(function (err) {
82
+ console.error("createNewGroup", err);
83
+ return callback(err);
84
+ });
85
+
86
+ return returnPromise;
87
+ };
88
+ };
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ const utils = require("../utils");
4
+ // @NethWs3Dev
5
+
6
+ module.exports = function (defaultFuncs, api, ctx) {
7
+ return function createPoll(title, threadID, options, callback) {
8
+ let resolveFunc = function () {};
9
+ let rejectFunc = function () {};
10
+ const returnPromise = new Promise(function (resolve, reject) {
11
+ resolveFunc = resolve;
12
+ rejectFunc = reject;
13
+ });
14
+
15
+ if (!callback) {
16
+ if (utils.getType(options) == "Function") {
17
+ callback = options;
18
+ options = null;
19
+ } else {
20
+ callback = function (err) {
21
+ if (err) {
22
+ return rejectFunc(err);
23
+ }
24
+ resolveFunc();
25
+ };
26
+ }
27
+ }
28
+ if (!options) {
29
+ options = {}; // Initial poll options are optional
30
+ }
31
+
32
+ const form = {
33
+ target_id: threadID,
34
+ question_text: title,
35
+ };
36
+
37
+ // Set fields for options (and whether they are selected initially by the posting user)
38
+ let ind = 0;
39
+ for (const opt in options) {
40
+ // eslint-disable-next-line no-prototype-builtins
41
+ if (options.hasOwnProperty(opt)) {
42
+ form["option_text_array[" + ind + "]"] = opt;
43
+ form["option_is_selected_array[" + ind + "]"] = options[opt]
44
+ ? "1"
45
+ : "0";
46
+ ind++;
47
+ }
48
+ }
49
+
50
+ defaultFuncs
51
+ .post(
52
+ "https://www.facebook.com/messaging/group_polling/create_poll/?dpr=1",
53
+ ctx.jar,
54
+ form,
55
+ )
56
+ .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
57
+ .then(function (resData) {
58
+ if (resData.payload.status != "success") {
59
+ throw resData;
60
+ }
61
+
62
+ return callback();
63
+ })
64
+ .catch(function (err) {
65
+ console.error("createPoll", err);
66
+ return callback(err);
67
+ });
68
+
69
+ return returnPromise;
70
+ };
71
+ };
@@ -0,0 +1,276 @@
1
+ 'use strict';
2
+
3
+ var utils = require('../utils');
4
+ var log = require('npmlog');
5
+
6
+ module.exports = function (defaultFuncs, api, ctx) {
7
+ function handleUpload(msg, form) {
8
+ var cb;
9
+ var rt = new Promise(function (resolve, reject) {
10
+ cb = error => error ? reject(error) : resolve();
11
+ });
12
+
13
+ if (!msg.attachment) cb();
14
+ else {
15
+ msg.attachment = Array.isArray(msg.attachment) ? msg.attachment : [msg.attachment];
16
+ let uploads = [];
17
+ for (let attachment of msg.attachment) {
18
+ if (!utils.isReadableStream(attachment))
19
+ cb('Attachment should be a readable stream, not ' + utils.getType(attachment));
20
+
21
+ var vari = {
22
+ source: 8,
23
+ profile_id: ctx.userID,
24
+ waterfallxapp: 'comet',
25
+ farr: attachment,
26
+ upload_id: 'jsc_c_6'
27
+ }
28
+ var main = defaultFuncs
29
+ .postFormData('https://upload.facebook.com/ajax/react_composer/attachments/photo/upload', ctx.jar, vari)
30
+ .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
31
+ .then(function (res) {
32
+ if (res.error || res.errors)
33
+ throw res;
34
+
35
+ return res.payload;
36
+ });
37
+
38
+ uploads.push(main);
39
+ }
40
+
41
+ Promise
42
+ .all(uploads)
43
+ .then(function (res) {
44
+ for (let payload of res) {
45
+ if (!payload) break;
46
+ form.input.attachments.push({
47
+ photo: {
48
+ id: payload.photoID
49
+ }
50
+ });
51
+ }
52
+
53
+ return cb();
54
+ })
55
+ .catch(cb);
56
+ }
57
+
58
+ return rt;
59
+ }
60
+
61
+ function handleUrl(msg, form) {
62
+ var cb;
63
+ var rt = new Promise(function (resolve, reject) {
64
+ cb = error => error ? reject(error) : resolve();
65
+ });
66
+
67
+ if (!msg.url) cb();
68
+ else {
69
+ var vari = {
70
+ feedLocation: "FEED_COMPOSER",
71
+ focusCommentID: null,
72
+ goodwillCampaignId: "",
73
+ goodwillCampaignMediaIds: [],
74
+ goodwillContentType: null,
75
+ params: {
76
+ url: msg.url
77
+ },
78
+ privacySelectorRenderLocation: "COMET_COMPOSER",
79
+ renderLocation: "composer_preview",
80
+ parentStoryID: null,
81
+ scale: 1,
82
+ useDefaultActor: false,
83
+ shouldIncludeStoryAttachment: false,
84
+ __relay_internal__pv__IsWorkUserrelayprovider: false,
85
+ __relay_internal__pv__IsMergQAPollsrelayprovider: false
86
+ }
87
+
88
+ defaultFuncs
89
+ .post('https://www.facebook.com/api/graphql/', ctx.jar, {
90
+ fb_api_req_friendly_name: 'ComposerLinkAttachmentPreviewQuery',
91
+ variables: JSON.stringify(vari),
92
+ server_timestamps: true,
93
+ doc_id: 6549975235094234
94
+ })
95
+ .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
96
+ .then(function (res) {
97
+ var res = (res[0] || res).data.link_preview;
98
+ if (JSON.parse(res.share_scrape_data).share_type == 400)
99
+ throw { error: 'url is not accepted' }
100
+
101
+ form.input.attachments.push({
102
+ link: {
103
+ share_scrape_data: res.share_scrape_data
104
+ }
105
+ });
106
+
107
+ return cb();
108
+ })
109
+ .catch(cb);
110
+ }
111
+
112
+ return rt;
113
+ }
114
+
115
+ function handleMention(msg, form) {
116
+ if (!msg.mentions) return;
117
+
118
+ msg.mentions = Array.isArray(msg.mentions) ? msg.mentions : [msg.mentions];
119
+ for (let mention of msg.mentions) {
120
+ var { id, tag, fromIndex } = mention;
121
+
122
+ if (typeof tag != 'string')
123
+ throw 'Mention tag must be string';
124
+ if (!id)
125
+ throw 'id must be string';
126
+ var offset = msg.body.indexOf(tag, fromIndex || 0);
127
+ if (offset < 0)
128
+ throw 'Mention for "' + tag + '" not found in message string.';
129
+ form.input.message.ranges.push({
130
+ entity: { id },
131
+ length: tag.length,
132
+ offset
133
+ });
134
+ }
135
+ }
136
+
137
+ function createContent(vari) {
138
+ var cb;
139
+ var rt = new Promise(function (resolve, reject) {
140
+ cb = (error, postData) => error ? reject(error) : resolve(postData);
141
+ });
142
+
143
+ var form = {
144
+ fb_api_req_friendly_name: 'ComposerStoryCreateMutation',
145
+ variables: JSON.stringify(vari),
146
+ server_timestamps: true,
147
+ doc_id: 6255089511280268
148
+ }
149
+
150
+ defaultFuncs
151
+ .post('https://www.facebook.com/api/graphql/', ctx.jar, form)
152
+ .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
153
+ .then(res => cb(null, res))
154
+ .catch(cb);
155
+
156
+ return rt;
157
+ }
158
+
159
+ return function createPost(msg, callback) {
160
+ var cb;
161
+ var rt = new Promise(function (resolve, reject) {
162
+ cb = (error, url) => url ? resolve(url) : reject(error);
163
+ });
164
+
165
+ if (typeof msg == 'function') {
166
+ var error = 'Msg must be a string or object and not function';
167
+ console.error('createPost', error);
168
+ return msg(error);
169
+ }
170
+ if (typeof callback == 'function') cb = callback;
171
+
172
+ var typeMsg = utils.getType(msg);
173
+ if (!['Object', 'String'].includes(typeMsg)) {
174
+ var error = 'Msg must be a string or object and not ' + typeMsg;
175
+ console.error('createPost', error);
176
+ return cb(error);
177
+ } else if (typeMsg == 'String') msg = { body: msg };
178
+ msg.allowUserID = msg.allowUserID ? !Array.isArray(msg.allowUserID) ? [msg.allowUserID] : msg.allowUserID : null;
179
+
180
+ var sessionID = utils.getGUID();
181
+ var base = [
182
+ 'EVERYONE',
183
+ 'FRIENDS',
184
+ 'SELF'
185
+ ];
186
+ var form = {
187
+ input: {
188
+ composer_entry_point: !msg.groupID && msg.url ? 'share_modal' : "inline_composer",
189
+ composer_source_surface: !msg.groupID && msg.url ? 'feed_story' : msg.groupID ? "group" : "timeline",
190
+ composer_type: !msg.groupID && msg.url ? 'share' : msg.groupID ? "group" : "timeline",
191
+ idempotence_token: sessionID + "_FEED",
192
+ source: "WWW",
193
+ attachments: [],
194
+ audience: msg.groupID ? {
195
+ to_id: msg.groupID
196
+ } : {
197
+ privacy: {
198
+ allow: msg.allowUserID ? msg.allowUserID : [],
199
+ base_state: msg.allowUserID && msg.allowUserID.length > 0 ? base[2] : (base[msg.baseState - 1] || base[0]),
200
+ deny: [],
201
+ tag_expansion_state: "UNSPECIFIED"
202
+ }
203
+ },
204
+ message: {
205
+ ranges: [],
206
+ text: msg.body ? typeof msg.body == 'object' ? JSON.stringify(msg.body, null, 2) : msg.body : ''
207
+ },
208
+ with_tags_ids: [],
209
+ inline_activities: [],
210
+ explicit_place_id: 0,
211
+ text_format_preset_id: 0,
212
+ logging: {
213
+ composer_session_id: sessionID
214
+ },
215
+ navigation_data: {
216
+ attribution_id_v2: msg.groupID ? "CometGroupDiscussionRoot.react,comet.group,tap_search_bar," + Date.now() + ",909538,2361831622," : "ProfileCometTimelineListViewRoot.react,comet.profile.timeline.list,via_cold_start," + Date.now() + ",796829,190055527696468,"
217
+ },
218
+ is_tracking_encrypted: !!msg.url,
219
+ tracking: [],
220
+ event_share_metadata: {
221
+ surface: "newsfeed"
222
+ },
223
+ actor_id: ctx.globalOptions.pageID || ctx.userID,
224
+ client_mutation_id: Math.round(Math.random() * 19).toString()
225
+ },
226
+ displayCommentsFeedbackContext: null,
227
+ displayCommentsContextEnableComment: null,
228
+ displayCommentsContextIsAdPreview: null,
229
+ displayCommentsContextIsAggregatedShare: null,
230
+ displayCommentsContextIsStorySet: null,
231
+ feedLocation: msg.groupID ? "GROUP" : "TIMELINE",
232
+ feedbackSource: 0,
233
+ focusCommentID: null,
234
+ gridMediaWidth: 230,
235
+ groupID: null,
236
+ scale: 1,
237
+ privacySelectorRenderLocation: "COMET_STREAM",
238
+ renderLocation: msg.groupID ? "group" : "timeline",
239
+ useDefaultActor: false,
240
+ inviteShortLinkKey: null,
241
+ isFeed: false,
242
+ isFundraiser: false,
243
+ isFunFactPost: false,
244
+ isGroup: !!msg.groupID,
245
+ isEvent: false,
246
+ isTimeline: !msg.groupID,
247
+ isSocialLearning: false,
248
+ isPageNewsFeed: !!ctx.globalOptions.pageID,
249
+ isProfileReviews: false,
250
+ isWorkSharedDraft: false,
251
+ UFI2CommentsProvider_commentsKey: msg.groupID ? "CometGroupDiscussionRootSuccessQuery" : "ProfileCometTimelineRoute",
252
+ hashtag: null,
253
+ canUserManageOffers: false,
254
+ __relay_internal__pv__CometUFIIsRTAEnabledrelayprovider: false,
255
+ __relay_internal__pv__IsWorkUserrelayprovider: false,
256
+ __relay_internal__pv__IsMergQAPollsrelayprovider: false,
257
+ __relay_internal__pv__StoriesArmadilloReplyEnabledrelayprovider: false,
258
+ __relay_internal__pv__StoriesRingrelayprovider: false
259
+ }
260
+
261
+ handleUpload(msg, form)
262
+ .then(_ => handleUrl(msg, form))
263
+ .then(_ => handleMention(msg, form))
264
+ .then(_ => createContent(form))
265
+ .then((res) => {
266
+ if (res.error || res.errors) throw res;
267
+ return cb(null, (res[0] || res).data.story_create.story.url);
268
+ })
269
+ .catch((err) => {
270
+ //console.error('createPost', err);
271
+ return cb(err);
272
+ });
273
+
274
+ return rt;
275
+ }
276
+ }