alicezetion 1.9.6 → 1.9.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (292) hide show
  1. package/.cache/replit/modules/nodejs-20.res +1 -0
  2. package/.cache/replit/modules/replit.res +1 -0
  3. package/.cache/typescript/5.4/node_modules/.package-lock.json +137 -0
  4. package/.cache/typescript/5.4/node_modules/@types/bluebird/LICENSE +21 -0
  5. package/.cache/typescript/5.4/node_modules/@types/bluebird/README.md +15 -0
  6. package/.cache/typescript/5.4/node_modules/@types/bluebird/index.d.ts +1365 -0
  7. package/.cache/typescript/5.4/node_modules/@types/bluebird/package.json +25 -0
  8. package/.cache/typescript/5.4/node_modules/@types/caseless/LICENSE +21 -0
  9. package/.cache/typescript/5.4/node_modules/@types/caseless/README.md +48 -0
  10. package/.cache/typescript/5.4/node_modules/@types/caseless/index.d.ts +29 -0
  11. package/.cache/typescript/5.4/node_modules/@types/caseless/package.json +35 -0
  12. package/.cache/typescript/5.4/node_modules/@types/cheerio/LICENSE +21 -0
  13. package/.cache/typescript/5.4/node_modules/@types/cheerio/README.md +15 -0
  14. package/.cache/typescript/5.4/node_modules/@types/cheerio/index.d.ts +318 -0
  15. package/.cache/typescript/5.4/node_modules/@types/cheerio/package.json +71 -0
  16. package/.cache/typescript/5.4/node_modules/@types/node/LICENSE +21 -0
  17. package/.cache/typescript/5.4/node_modules/@types/node/README.md +15 -0
  18. package/.cache/typescript/5.4/node_modules/@types/node/assert/strict.d.ts +8 -0
  19. package/.cache/typescript/5.4/node_modules/@types/node/assert.d.ts +1040 -0
  20. package/.cache/typescript/5.4/node_modules/@types/node/async_hooks.d.ts +541 -0
  21. package/.cache/typescript/5.4/node_modules/@types/node/buffer.d.ts +2363 -0
  22. package/.cache/typescript/5.4/node_modules/@types/node/child_process.d.ts +1544 -0
  23. package/.cache/typescript/5.4/node_modules/@types/node/cluster.d.ts +578 -0
  24. package/.cache/typescript/5.4/node_modules/@types/node/console.d.ts +452 -0
  25. package/.cache/typescript/5.4/node_modules/@types/node/constants.d.ts +19 -0
  26. package/.cache/typescript/5.4/node_modules/@types/node/crypto.d.ts +4523 -0
  27. package/.cache/typescript/5.4/node_modules/@types/node/dgram.d.ts +596 -0
  28. package/.cache/typescript/5.4/node_modules/@types/node/diagnostics_channel.d.ts +554 -0
  29. package/.cache/typescript/5.4/node_modules/@types/node/dns/promises.d.ts +476 -0
  30. package/.cache/typescript/5.4/node_modules/@types/node/dns.d.ts +864 -0
  31. package/.cache/typescript/5.4/node_modules/@types/node/dom-events.d.ts +124 -0
  32. package/.cache/typescript/5.4/node_modules/@types/node/domain.d.ts +170 -0
  33. package/.cache/typescript/5.4/node_modules/@types/node/events.d.ts +931 -0
  34. package/.cache/typescript/5.4/node_modules/@types/node/fs/promises.d.ts +1245 -0
  35. package/.cache/typescript/5.4/node_modules/@types/node/fs.d.ts +4317 -0
  36. package/.cache/typescript/5.4/node_modules/@types/node/globals.d.ts +412 -0
  37. package/.cache/typescript/5.4/node_modules/@types/node/globals.global.d.ts +1 -0
  38. package/.cache/typescript/5.4/node_modules/@types/node/http.d.ts +1908 -0
  39. package/.cache/typescript/5.4/node_modules/@types/node/http2.d.ts +2418 -0
  40. package/.cache/typescript/5.4/node_modules/@types/node/https.d.ts +550 -0
  41. package/.cache/typescript/5.4/node_modules/@types/node/index.d.ts +89 -0
  42. package/.cache/typescript/5.4/node_modules/@types/node/inspector.d.ts +2746 -0
  43. package/.cache/typescript/5.4/node_modules/@types/node/module.d.ts +315 -0
  44. package/.cache/typescript/5.4/node_modules/@types/node/net.d.ts +999 -0
  45. package/.cache/typescript/5.4/node_modules/@types/node/os.d.ts +495 -0
  46. package/.cache/typescript/5.4/node_modules/@types/node/package.json +217 -0
  47. package/.cache/typescript/5.4/node_modules/@types/node/path.d.ts +191 -0
  48. package/.cache/typescript/5.4/node_modules/@types/node/perf_hooks.d.ts +905 -0
  49. package/.cache/typescript/5.4/node_modules/@types/node/process.d.ts +1754 -0
  50. package/.cache/typescript/5.4/node_modules/@types/node/punycode.d.ts +117 -0
  51. package/.cache/typescript/5.4/node_modules/@types/node/querystring.d.ts +153 -0
  52. package/.cache/typescript/5.4/node_modules/@types/node/readline/promises.d.ts +150 -0
  53. package/.cache/typescript/5.4/node_modules/@types/node/readline.d.ts +540 -0
  54. package/.cache/typescript/5.4/node_modules/@types/node/repl.d.ts +430 -0
  55. package/.cache/typescript/5.4/node_modules/@types/node/sea.d.ts +153 -0
  56. package/.cache/typescript/5.4/node_modules/@types/node/stream/consumers.d.ts +12 -0
  57. package/.cache/typescript/5.4/node_modules/@types/node/stream/promises.d.ts +83 -0
  58. package/.cache/typescript/5.4/node_modules/@types/node/stream/web.d.ts +367 -0
  59. package/.cache/typescript/5.4/node_modules/@types/node/stream.d.ts +1707 -0
  60. package/.cache/typescript/5.4/node_modules/@types/node/string_decoder.d.ts +67 -0
  61. package/.cache/typescript/5.4/node_modules/@types/node/test.d.ts +1718 -0
  62. package/.cache/typescript/5.4/node_modules/@types/node/timers/promises.d.ts +97 -0
  63. package/.cache/typescript/5.4/node_modules/@types/node/timers.d.ts +240 -0
  64. package/.cache/typescript/5.4/node_modules/@types/node/tls.d.ts +1217 -0
  65. package/.cache/typescript/5.4/node_modules/@types/node/trace_events.d.ts +197 -0
  66. package/.cache/typescript/5.4/node_modules/@types/node/tty.d.ts +208 -0
  67. package/.cache/typescript/5.4/node_modules/@types/node/url.d.ts +952 -0
  68. package/.cache/typescript/5.4/node_modules/@types/node/util.d.ts +2292 -0
  69. package/.cache/typescript/5.4/node_modules/@types/node/v8.d.ts +808 -0
  70. package/.cache/typescript/5.4/node_modules/@types/node/vm.d.ts +924 -0
  71. package/.cache/typescript/5.4/node_modules/@types/node/wasi.d.ts +181 -0
  72. package/.cache/typescript/5.4/node_modules/@types/node/worker_threads.d.ts +694 -0
  73. package/.cache/typescript/5.4/node_modules/@types/node/zlib.d.ts +530 -0
  74. package/.cache/typescript/5.4/node_modules/@types/npmlog/LICENSE +21 -0
  75. package/.cache/typescript/5.4/node_modules/@types/npmlog/README.md +15 -0
  76. package/.cache/typescript/5.4/node_modules/@types/npmlog/index.d.ts +84 -0
  77. package/.cache/typescript/5.4/node_modules/@types/npmlog/package.json +32 -0
  78. package/.cache/typescript/5.4/node_modules/@types/request/LICENSE +21 -0
  79. package/.cache/typescript/5.4/node_modules/@types/request/README.md +15 -0
  80. package/.cache/typescript/5.4/node_modules/@types/request/index.d.ts +395 -0
  81. package/.cache/typescript/5.4/node_modules/@types/request/package.json +70 -0
  82. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/LICENSE +21 -0
  83. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/README.md +15 -0
  84. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/index.d.ts +321 -0
  85. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/package.json +35 -0
  86. package/.cache/typescript/5.4/node_modules/asynckit/LICENSE +21 -0
  87. package/.cache/typescript/5.4/node_modules/asynckit/README.md +233 -0
  88. package/.cache/typescript/5.4/node_modules/asynckit/bench.js +76 -0
  89. package/.cache/typescript/5.4/node_modules/asynckit/index.js +6 -0
  90. package/.cache/typescript/5.4/node_modules/asynckit/lib/abort.js +29 -0
  91. package/.cache/typescript/5.4/node_modules/asynckit/lib/async.js +34 -0
  92. package/.cache/typescript/5.4/node_modules/asynckit/lib/defer.js +26 -0
  93. package/.cache/typescript/5.4/node_modules/asynckit/lib/iterate.js +75 -0
  94. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_asynckit.js +91 -0
  95. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_parallel.js +25 -0
  96. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_serial.js +25 -0
  97. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_serial_ordered.js +29 -0
  98. package/.cache/typescript/5.4/node_modules/asynckit/lib/state.js +37 -0
  99. package/.cache/typescript/5.4/node_modules/asynckit/lib/streamify.js +141 -0
  100. package/.cache/typescript/5.4/node_modules/asynckit/lib/terminator.js +29 -0
  101. package/.cache/typescript/5.4/node_modules/asynckit/package.json +63 -0
  102. package/.cache/typescript/5.4/node_modules/asynckit/parallel.js +43 -0
  103. package/.cache/typescript/5.4/node_modules/asynckit/serial.js +17 -0
  104. package/.cache/typescript/5.4/node_modules/asynckit/serialOrdered.js +75 -0
  105. package/.cache/typescript/5.4/node_modules/asynckit/stream.js +21 -0
  106. package/.cache/typescript/5.4/node_modules/combined-stream/License +19 -0
  107. package/.cache/typescript/5.4/node_modules/combined-stream/Readme.md +138 -0
  108. package/.cache/typescript/5.4/node_modules/combined-stream/lib/combined_stream.js +208 -0
  109. package/.cache/typescript/5.4/node_modules/combined-stream/package.json +25 -0
  110. package/.cache/typescript/5.4/node_modules/combined-stream/yarn.lock +17 -0
  111. package/.cache/typescript/5.4/node_modules/delayed-stream/License +19 -0
  112. package/.cache/typescript/5.4/node_modules/delayed-stream/Makefile +7 -0
  113. package/.cache/typescript/5.4/node_modules/delayed-stream/Readme.md +141 -0
  114. package/.cache/typescript/5.4/node_modules/delayed-stream/lib/delayed_stream.js +107 -0
  115. package/.cache/typescript/5.4/node_modules/delayed-stream/package.json +27 -0
  116. package/.cache/typescript/5.4/node_modules/form-data/License +19 -0
  117. package/.cache/typescript/5.4/node_modules/form-data/README.md +350 -0
  118. package/.cache/typescript/5.4/node_modules/form-data/README.md.bak +350 -0
  119. package/.cache/typescript/5.4/node_modules/form-data/index.d.ts +51 -0
  120. package/.cache/typescript/5.4/node_modules/form-data/lib/browser.js +2 -0
  121. package/.cache/typescript/5.4/node_modules/form-data/lib/form_data.js +483 -0
  122. package/.cache/typescript/5.4/node_modules/form-data/lib/populate.js +10 -0
  123. package/.cache/typescript/5.4/node_modules/form-data/package.json +68 -0
  124. package/.cache/typescript/5.4/node_modules/mime-db/HISTORY.md +507 -0
  125. package/.cache/typescript/5.4/node_modules/mime-db/LICENSE +23 -0
  126. package/.cache/typescript/5.4/node_modules/mime-db/README.md +100 -0
  127. package/.cache/typescript/5.4/node_modules/mime-db/db.json +8519 -0
  128. package/.cache/typescript/5.4/node_modules/mime-db/index.js +12 -0
  129. package/.cache/typescript/5.4/node_modules/mime-db/package.json +60 -0
  130. package/.cache/typescript/5.4/node_modules/mime-types/HISTORY.md +397 -0
  131. package/.cache/typescript/5.4/node_modules/mime-types/LICENSE +23 -0
  132. package/.cache/typescript/5.4/node_modules/mime-types/README.md +113 -0
  133. package/.cache/typescript/5.4/node_modules/mime-types/index.js +188 -0
  134. package/.cache/typescript/5.4/node_modules/mime-types/package.json +44 -0
  135. package/.cache/typescript/5.4/node_modules/types-registry/README.md +2 -0
  136. package/.cache/typescript/5.4/node_modules/types-registry/index.json +1 -0
  137. package/.cache/typescript/5.4/node_modules/types-registry/package.json +20 -0
  138. package/.cache/typescript/5.4/node_modules/undici-types/README.md +6 -0
  139. package/.cache/typescript/5.4/node_modules/undici-types/agent.d.ts +31 -0
  140. package/.cache/typescript/5.4/node_modules/undici-types/api.d.ts +43 -0
  141. package/.cache/typescript/5.4/node_modules/undici-types/balanced-pool.d.ts +18 -0
  142. package/.cache/typescript/5.4/node_modules/undici-types/cache.d.ts +36 -0
  143. package/.cache/typescript/5.4/node_modules/undici-types/client.d.ts +97 -0
  144. package/.cache/typescript/5.4/node_modules/undici-types/connector.d.ts +34 -0
  145. package/.cache/typescript/5.4/node_modules/undici-types/content-type.d.ts +21 -0
  146. package/.cache/typescript/5.4/node_modules/undici-types/cookies.d.ts +28 -0
  147. package/.cache/typescript/5.4/node_modules/undici-types/diagnostics-channel.d.ts +67 -0
  148. package/.cache/typescript/5.4/node_modules/undici-types/dispatcher.d.ts +241 -0
  149. package/.cache/typescript/5.4/node_modules/undici-types/errors.d.ts +128 -0
  150. package/.cache/typescript/5.4/node_modules/undici-types/fetch.d.ts +209 -0
  151. package/.cache/typescript/5.4/node_modules/undici-types/file.d.ts +39 -0
  152. package/.cache/typescript/5.4/node_modules/undici-types/filereader.d.ts +54 -0
  153. package/.cache/typescript/5.4/node_modules/undici-types/formdata.d.ts +108 -0
  154. package/.cache/typescript/5.4/node_modules/undici-types/global-dispatcher.d.ts +9 -0
  155. package/.cache/typescript/5.4/node_modules/undici-types/global-origin.d.ts +7 -0
  156. package/.cache/typescript/5.4/node_modules/undici-types/handlers.d.ts +9 -0
  157. package/.cache/typescript/5.4/node_modules/undici-types/header.d.ts +4 -0
  158. package/.cache/typescript/5.4/node_modules/undici-types/index.d.ts +63 -0
  159. package/.cache/typescript/5.4/node_modules/undici-types/interceptors.d.ts +5 -0
  160. package/.cache/typescript/5.4/node_modules/undici-types/mock-agent.d.ts +50 -0
  161. package/.cache/typescript/5.4/node_modules/undici-types/mock-client.d.ts +25 -0
  162. package/.cache/typescript/5.4/node_modules/undici-types/mock-errors.d.ts +12 -0
  163. package/.cache/typescript/5.4/node_modules/undici-types/mock-interceptor.d.ts +93 -0
  164. package/.cache/typescript/5.4/node_modules/undici-types/mock-pool.d.ts +25 -0
  165. package/.cache/typescript/5.4/node_modules/undici-types/package.json +55 -0
  166. package/.cache/typescript/5.4/node_modules/undici-types/patch.d.ts +71 -0
  167. package/.cache/typescript/5.4/node_modules/undici-types/pool-stats.d.ts +19 -0
  168. package/.cache/typescript/5.4/node_modules/undici-types/pool.d.ts +28 -0
  169. package/.cache/typescript/5.4/node_modules/undici-types/proxy-agent.d.ts +30 -0
  170. package/.cache/typescript/5.4/node_modules/undici-types/readable.d.ts +61 -0
  171. package/.cache/typescript/5.4/node_modules/undici-types/webidl.d.ts +220 -0
  172. package/.cache/typescript/5.4/node_modules/undici-types/websocket.d.ts +131 -0
  173. package/.cache/typescript/5.4/package-lock.json +149 -0
  174. package/.cache/typescript/5.4/package.json +1 -0
  175. package/index.js +290 -70
  176. package/leiamnash/addExternalModule.js +15 -0
  177. package/leiamnash/addUserToGroup.js +77 -0
  178. package/leiamnash/changeAdminStatus.js +47 -0
  179. package/leiamnash/changeArchivedStatus.js +41 -0
  180. package/{src → leiamnash}/changeAvatar.js +3 -2
  181. package/leiamnash/changeBio.js +64 -0
  182. package/leiamnash/changeBlockedStatus.js +36 -0
  183. package/leiamnash/changeGroupImage.js +105 -0
  184. package/leiamnash/changeNickname.js +43 -0
  185. package/leiamnash/changeThreadColor.js +61 -0
  186. package/leiamnash/changeThreadEmoji.js +41 -0
  187. package/{src → leiamnash}/chat.js +4 -29
  188. package/leiamnash/createNewGroup.js +70 -0
  189. package/leiamnash/createPoll.js +59 -0
  190. package/leiamnash/deleteMessage.js +44 -0
  191. package/leiamnash/deleteThread.js +42 -0
  192. package/leiamnash/editMessage.js +62 -0
  193. package/leiamnash/forwardAttachment.js +47 -0
  194. package/leiamnash/forwardMessage.js +0 -0
  195. package/leiamnash/getCurrentUserID.js +7 -0
  196. package/leiamnash/getEmojiUrl.js +27 -0
  197. package/leiamnash/getFriendsList.js +73 -0
  198. package/leiamnash/getInfoVideo.js +134 -0
  199. package/leiamnash/getThreadHistory.js +537 -0
  200. package/leiamnash/getThreadHistoryDeprecated.js +71 -0
  201. package/leiamnash/getThreadInfo.js +171 -0
  202. package/leiamnash/getThreadInfoDeprecated.js +56 -0
  203. package/leiamnash/getThreadList.js +213 -0
  204. package/leiamnash/getThreadListDeprecated.js +46 -0
  205. package/leiamnash/getThreadPictures.js +59 -0
  206. package/leiamnash/getUserID.js +61 -0
  207. package/leiamnash/getUserInfo.js +66 -0
  208. package/leiamnash/handleFriendRequest.js +46 -0
  209. package/leiamnash/handleMessageRequest.js +47 -0
  210. package/leiamnash/httpGet.js +47 -0
  211. package/leiamnash/httpPost.js +47 -0
  212. package/leiamnash/httpPostFormData.js +42 -0
  213. package/leiamnash/listenMqtt.js +843 -0
  214. package/leiamnash/logout.js +68 -0
  215. package/leiamnash/markAsDelivered.js +47 -0
  216. package/leiamnash/markAsRead.js +70 -0
  217. package/leiamnash/markAsReadAll.js +40 -0
  218. package/leiamnash/markAsSeen.js +48 -0
  219. package/leiamnash/muteThread.js +45 -0
  220. package/leiamnash/pinMessage.js +58 -0
  221. package/leiamnash/react.js +109 -0
  222. package/{src → leiamnash}/refreshFb_dtsg.js +1 -1
  223. package/leiamnash/removeUserFromGroup.js +45 -0
  224. package/leiamnash/resolvePhotoUrl.js +36 -0
  225. package/leiamnash/searchForThread.js +42 -0
  226. package/leiamnash/seen.js +40 -0
  227. package/leiamnash/sendMessage.js +315 -0
  228. package/leiamnash/sendTypingIndicator.js +70 -0
  229. package/leiamnash/setMessageReaction.js +103 -0
  230. package/leiamnash/setPostReaction.js +63 -0
  231. package/leiamnash/setTitle.js +70 -0
  232. package/leiamnash/threadColors.js +41 -0
  233. package/leiamnash/token.js +112 -0
  234. package/leiamnash/unfriend.js +42 -0
  235. package/leiamnash/unsendMessage.js +39 -0
  236. package/{src → leiamnash}/uploadAttachment.js +2 -1
  237. package/package.json +3 -2
  238. package/utils.js +1345 -1382
  239. package/.cache/replit/modules/nodejs-20:v28-20240213-3f08513.res +0 -1
  240. package/.cache/replit/modules/replit:v5-20240209-9e3a339.res +0 -1
  241. package/.replit +0 -1
  242. package/src/addExternalModule.js +0 -19
  243. package/src/addUserToGroup.js +0 -113
  244. package/src/changeAdminStatus.js +0 -79
  245. package/src/changeArchivedStatus.js +0 -55
  246. package/src/changeBio.js +0 -77
  247. package/src/changeBlockedStatus.js +0 -47
  248. package/src/changeGroupImage.js +0 -132
  249. package/src/changeNickname.js +0 -59
  250. package/src/changeThreadColor.js +0 -65
  251. package/src/changeThreadEmoji.js +0 -55
  252. package/src/createNewGroup.js +0 -86
  253. package/src/createPoll.js +0 -71
  254. package/src/deleteMessage.js +0 -56
  255. package/src/deleteThread.js +0 -56
  256. package/src/edit.js +0 -66
  257. package/src/forwardAttachment.js +0 -60
  258. package/src/getCurrentUserID.js +0 -7
  259. package/src/getEmojiUrl.js +0 -29
  260. package/src/getFriendsList.js +0 -83
  261. package/src/getThreadHistory.js +0 -666
  262. package/src/getThreadInfo.js +0 -232
  263. package/src/getThreadList.js +0 -241
  264. package/src/getThreadPictures.js +0 -79
  265. package/src/getUserID.js +0 -66
  266. package/src/getUserInfo.js +0 -74
  267. package/src/handleFriendRequest.js +0 -61
  268. package/src/handleMessageRequest.js +0 -65
  269. package/src/httpGet.js +0 -57
  270. package/src/httpPost.js +0 -57
  271. package/src/httpPostFormData.js +0 -63
  272. package/src/listenMqtt.js +0 -854
  273. package/src/logout.js +0 -75
  274. package/src/markAsDelivered.js +0 -58
  275. package/src/markAsRead.js +0 -80
  276. package/src/markAsReadAll.js +0 -50
  277. package/src/markAsSeen.js +0 -59
  278. package/src/muteThread.js +0 -52
  279. package/src/react.js +0 -121
  280. package/src/removeUserFromGroup.js +0 -79
  281. package/src/resolvePhotoUrl.js +0 -45
  282. package/src/searchForThread.js +0 -53
  283. package/src/seen.js +0 -50
  284. package/src/sendMessage.js +0 -477
  285. package/src/sendTypingIndicator.js +0 -103
  286. package/src/setMessageReaction.js +0 -121
  287. package/src/setPostReaction.js +0 -109
  288. package/src/setTitle.js +0 -86
  289. package/src/threadColors.js +0 -131
  290. package/src/unfriend.js +0 -52
  291. package/src/unsendMessage.js +0 -49
  292. /package/{src → leiamnash}/getMessage.js +0 -0
@@ -1,232 +0,0 @@
1
- "use strict";
2
-
3
- const utils = require("../utils");
4
- const log = require("npmlog");
5
-
6
- function formatEventReminders(reminder) {
7
- return {
8
- reminderID: reminder.id,
9
- eventCreatorID: reminder.lightweight_event_creator.id,
10
- time: reminder.time,
11
- eventType: reminder.lightweight_event_type.toLowerCase(),
12
- locationName: reminder.location_name,
13
- // @TODO verify this
14
- locationCoordinates: reminder.location_coordinates,
15
- locationPage: reminder.location_page,
16
- eventStatus: reminder.lightweight_event_status.toLowerCase(),
17
- note: reminder.note,
18
- repeatMode: reminder.repeat_mode.toLowerCase(),
19
- eventTitle: reminder.event_title,
20
- triggerMessage: reminder.trigger_message,
21
- secondsToNotifyBefore: reminder.seconds_to_notify_before,
22
- allowsRsvp: reminder.allows_rsvp,
23
- relatedEvent: reminder.related_event,
24
- members: reminder.event_reminder_members.edges.map(function (member) {
25
- return {
26
- memberID: member.node.id,
27
- state: member.guest_list_state.toLowerCase()
28
- };
29
- })
30
- };
31
- }
32
-
33
- function formatThreadGraphQLResponse(data) {
34
- if (data.errors)
35
- return data.errors;
36
- const messageThread = data.message_thread;
37
- if (!messageThread)
38
- return null;
39
- const threadID = messageThread.thread_key.thread_fbid
40
- ? messageThread.thread_key.thread_fbid
41
- : messageThread.thread_key.other_user_id;
42
-
43
- // Remove me
44
- const lastM = messageThread.last_message;
45
- const snippetID =
46
- lastM &&
47
- lastM.nodes &&
48
- lastM.nodes[0] &&
49
- lastM.nodes[0].message_sender &&
50
- lastM.nodes[0].message_sender.messaging_actor
51
- ? lastM.nodes[0].message_sender.messaging_actor.id
52
- : null;
53
- const snippetText =
54
- lastM && lastM.nodes && lastM.nodes[0] ? lastM.nodes[0].snippet : null;
55
- const lastR = messageThread.last_read_receipt;
56
- const lastReadTimestamp =
57
- lastR && lastR.nodes && lastR.nodes[0] && lastR.nodes[0].timestamp_precise
58
- ? lastR.nodes[0].timestamp_precise
59
- : null;
60
-
61
- return {
62
- threadID: threadID,
63
- threadName: messageThread.name,
64
- participantIDs: messageThread.all_participants.edges.map(d => d.node.messaging_actor.id),
65
- userInfo: messageThread.all_participants.edges.map(d => ({
66
- id: d.node.messaging_actor.id,
67
- name: d.node.messaging_actor.name,
68
- firstName: d.node.messaging_actor.short_name,
69
- vanity: d.node.messaging_actor.username,
70
- url: d.node.messaging_actor.url,
71
- thumbSrc: d.node.messaging_actor.big_image_src.uri,
72
- profileUrl: d.node.messaging_actor.big_image_src.uri,
73
- gender: d.node.messaging_actor.gender,
74
- type: d.node.messaging_actor.__typename,
75
- isFriend: d.node.messaging_actor.is_viewer_friend,
76
- isBirthday: !!d.node.messaging_actor.is_birthday //not sure?
77
- })),
78
- unreadCount: messageThread.unread_count,
79
- messageCount: messageThread.messages_count,
80
- timestamp: messageThread.updated_time_precise,
81
- muteUntil: messageThread.mute_until,
82
- isGroup: messageThread.thread_type == "GROUP",
83
- isSubscribed: messageThread.is_viewer_subscribed,
84
- isArchived: messageThread.has_viewer_archived,
85
- folder: messageThread.folder,
86
- cannotReplyReason: messageThread.cannot_reply_reason,
87
- eventReminders: messageThread.event_reminders
88
- ? messageThread.event_reminders.nodes.map(formatEventReminders)
89
- : null,
90
- emoji: messageThread.customization_info
91
- ? messageThread.customization_info.emoji
92
- : null,
93
- color:
94
- messageThread.customization_info &&
95
- messageThread.customization_info.outgoing_bubble_color
96
- ? messageThread.customization_info.outgoing_bubble_color.slice(2)
97
- : null,
98
- threadTheme: messageThread.thread_theme,
99
- nicknames:
100
- messageThread.customization_info &&
101
- messageThread.customization_info.participant_customizations
102
- ? messageThread.customization_info.participant_customizations.reduce(
103
- function (res, val) {
104
- if (val.nickname) res[val.participant_id] = val.nickname;
105
- return res;
106
- },
107
- {}
108
- )
109
- : {},
110
- adminIDs: messageThread.thread_admins,
111
- approvalMode: Boolean(messageThread.approval_mode),
112
- approvalQueue: messageThread.group_approval_queue.nodes.map(a => ({
113
- inviterID: a.inviter.id,
114
- requesterID: a.requester.id,
115
- timestamp: a.request_timestamp,
116
- request_source: a.request_source // @Undocumented
117
- })),
118
-
119
- // @Undocumented
120
- reactionsMuteMode: messageThread.reactions_mute_mode.toLowerCase(),
121
- mentionsMuteMode: messageThread.mentions_mute_mode.toLowerCase(),
122
- isPinProtected: messageThread.is_pin_protected,
123
- relatedPageThread: messageThread.related_page_thread,
124
-
125
- // @Legacy
126
- name: messageThread.name,
127
- snippet: snippetText,
128
- snippetSender: snippetID,
129
- snippetAttachments: [],
130
- serverTimestamp: messageThread.updated_time_precise,
131
- imageSrc: messageThread.image ? messageThread.image.uri : null,
132
- isCanonicalUser: messageThread.is_canonical_neo_user,
133
- isCanonical: messageThread.thread_type != "GROUP",
134
- recipientsLoadable: true,
135
- hasEmailParticipant: false,
136
- readOnly: false,
137
- canReply: messageThread.cannot_reply_reason == null,
138
- lastMessageTimestamp: messageThread.last_message
139
- ? messageThread.last_message.timestamp_precise
140
- : null,
141
- lastMessageType: "message",
142
- lastReadTimestamp: lastReadTimestamp,
143
- threadType: messageThread.thread_type == "GROUP" ? 2 : 1,
144
-
145
- // update in Wed, 13 Jul 2022 19:41:12 +0700
146
- inviteLink: {
147
- enable: messageThread.joinable_mode ? messageThread.joinable_mode.mode == 1 : false,
148
- link: messageThread.joinable_mode ? messageThread.joinable_mode.link : null
149
- }
150
- };
151
- }
152
-
153
- module.exports = function (defaultFuncs, api, ctx) {
154
- return function getThreadInfoGraphQL(threadID, callback) {
155
- let resolveFunc = function () { };
156
- let rejectFunc = function () { };
157
- const returnPromise = new Promise(function (resolve, reject) {
158
- resolveFunc = resolve;
159
- rejectFunc = reject;
160
- });
161
-
162
- if (utils.getType(callback) != "Function" && utils.getType(callback) != "AsyncFunction") {
163
- callback = function (err, data) {
164
- if (err) {
165
- return rejectFunc(err);
166
- }
167
- resolveFunc(data);
168
- };
169
- }
170
-
171
- if (utils.getType(threadID) !== "Array") {
172
- threadID = [threadID];
173
- }
174
-
175
- let form = {};
176
- // `queries` has to be a string. I couldn't tell from the dev console. This
177
- // took me a really long time to figure out. I deserve a cookie for this.
178
- threadID.map(function (t, i) {
179
- form["o" + i] = {
180
- doc_id: "3449967031715030",
181
- query_params: {
182
- id: t,
183
- message_limit: 0,
184
- load_messages: false,
185
- load_read_receipts: false,
186
- before: null
187
- }
188
- };
189
- });
190
-
191
- form = {
192
- queries: JSON.stringify(form),
193
- batch_name: "MessengerGraphQLThreadFetcher"
194
- };
195
-
196
- defaultFuncs
197
- .post("https://www.facebook.com/api/graphqlbatch/", ctx.jar, form)
198
- .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
199
- .then(function (resData) {
200
-
201
- if (resData.error) {
202
- throw resData;
203
- }
204
- // This returns us an array of things. The last one is the success /
205
- // failure one.
206
- // @TODO What do we do in this case?
207
- // if (resData[resData.length - 1].error_results !== 0) {
208
- // throw resData[0].o0.errors[0];
209
- // }
210
- // if (!resData[0].o0.data.message_thread) {
211
- // throw new Error("can't find this thread");
212
- // }
213
- const threadInfos = {};
214
- for (let i = resData.length - 2; i >= 0; i--) {
215
- const threadInfo = formatThreadGraphQLResponse(resData[i][Object.keys(resData[i])[0]].data);
216
- threadInfos[threadInfo?.threadID || threadID[threadID.length - 1 - i]] = threadInfo;
217
- }
218
- if (Object.values(threadInfos).length == 1) {
219
- callback(null, Object.values(threadInfos)[0]);
220
- }
221
- else {
222
- callback(null, threadInfos);
223
- }
224
- })
225
- .catch(function (err) {
226
- log.error("getThreadInfoGraphQL", err);
227
- return callback(err);
228
- });
229
-
230
- return returnPromise;
231
- };
232
- };
@@ -1,241 +0,0 @@
1
- "use strict";
2
-
3
- const utils = require("../utils");
4
- const log = require("npmlog");
5
-
6
- function formatEventReminders(reminder) {
7
- return {
8
- reminderID: reminder.id,
9
- eventCreatorID: reminder.lightweight_event_creator.id,
10
- time: reminder.time,
11
- eventType: reminder.lightweight_event_type.toLowerCase(),
12
- locationName: reminder.location_name,
13
- // @TODO verify this
14
- locationCoordinates: reminder.location_coordinates,
15
- locationPage: reminder.location_page,
16
- eventStatus: reminder.lightweight_event_status.toLowerCase(),
17
- note: reminder.note,
18
- repeatMode: reminder.repeat_mode.toLowerCase(),
19
- eventTitle: reminder.event_title,
20
- triggerMessage: reminder.trigger_message,
21
- secondsToNotifyBefore: reminder.seconds_to_notify_before,
22
- allowsRsvp: reminder.allows_rsvp,
23
- relatedEvent: reminder.related_event,
24
- members: reminder.event_reminder_members.edges.map(function (member) {
25
- return {
26
- memberID: member.node.id,
27
- state: member.guest_list_state.toLowerCase()
28
- };
29
- })
30
- };
31
- }
32
-
33
- function formatThreadGraphQLResponse(messageThread) {
34
- const threadID = messageThread.thread_key.thread_fbid
35
- ? messageThread.thread_key.thread_fbid
36
- : messageThread.thread_key.other_user_id;
37
-
38
- // Remove me
39
- const lastM = messageThread.last_message;
40
- const snippetID =
41
- lastM &&
42
- lastM.nodes &&
43
- lastM.nodes[0] &&
44
- lastM.nodes[0].message_sender &&
45
- lastM.nodes[0].message_sender.messaging_actor
46
- ? lastM.nodes[0].message_sender.messaging_actor.id
47
- : null;
48
- const snippetText =
49
- lastM && lastM.nodes && lastM.nodes[0] ? lastM.nodes[0].snippet : null;
50
- const lastR = messageThread.last_read_receipt;
51
- const lastReadTimestamp =
52
- lastR && lastR.nodes && lastR.nodes[0] && lastR.nodes[0].timestamp_precise
53
- ? lastR.nodes[0].timestamp_precise
54
- : null;
55
-
56
- return {
57
- threadID: threadID,
58
- threadName: messageThread.name,
59
- participantIDs: messageThread.all_participants.edges.map(d => d.node.messaging_actor.id),
60
- userInfo: messageThread.all_participants.edges.map(d => ({
61
- id: d.node.messaging_actor.id,
62
- name: d.node.messaging_actor.name,
63
- firstName: d.node.messaging_actor.short_name,
64
- vanity: d.node.messaging_actor.username,
65
- url: d.node.messaging_actor.url,
66
- thumbSrc: d.node.messaging_actor.big_image_src.uri,
67
- profileUrl: d.node.messaging_actor.big_image_src.uri,
68
- gender: d.node.messaging_actor.gender,
69
- type: d.node.messaging_actor.__typename,
70
- isFriend: d.node.messaging_actor.is_viewer_friend,
71
- isBirthday: !!d.node.messaging_actor.is_birthday //not sure?
72
- })),
73
- unreadCount: messageThread.unread_count,
74
- messageCount: messageThread.messages_count,
75
- timestamp: messageThread.updated_time_precise,
76
- muteUntil: messageThread.mute_until,
77
- isGroup: messageThread.thread_type == "GROUP",
78
- isSubscribed: messageThread.is_viewer_subscribed,
79
- isArchived: messageThread.has_viewer_archived,
80
- folder: messageThread.folder,
81
- cannotReplyReason: messageThread.cannot_reply_reason,
82
- eventReminders: messageThread.event_reminders
83
- ? messageThread.event_reminders.nodes.map(formatEventReminders)
84
- : null,
85
- emoji: messageThread.customization_info
86
- ? messageThread.customization_info.emoji
87
- : null,
88
- color:
89
- messageThread.customization_info &&
90
- messageThread.customization_info.outgoing_bubble_color
91
- ? messageThread.customization_info.outgoing_bubble_color.slice(2)
92
- : null,
93
- threadTheme: messageThread.thread_theme,
94
- nicknames:
95
- messageThread.customization_info &&
96
- messageThread.customization_info.participant_customizations
97
- ? messageThread.customization_info.participant_customizations.reduce(
98
- function (res, val) {
99
- if (val.nickname) res[val.participant_id] = val.nickname;
100
- return res;
101
- },
102
- {}
103
- )
104
- : {},
105
- adminIDs: messageThread.thread_admins,
106
- approvalMode: Boolean(messageThread.approval_mode),
107
- approvalQueue: messageThread.group_approval_queue.nodes.map(a => ({
108
- inviterID: a.inviter.id,
109
- requesterID: a.requester.id,
110
- timestamp: a.request_timestamp,
111
- request_source: a.request_source // @Undocumented
112
- })),
113
-
114
- // @Undocumented
115
- reactionsMuteMode: messageThread.reactions_mute_mode.toLowerCase(),
116
- mentionsMuteMode: messageThread.mentions_mute_mode.toLowerCase(),
117
- isPinProtected: messageThread.is_pin_protected,
118
- relatedPageThread: messageThread.related_page_thread,
119
-
120
- // @Legacy
121
- name: messageThread.name,
122
- snippet: snippetText,
123
- snippetSender: snippetID,
124
- snippetAttachments: [],
125
- serverTimestamp: messageThread.updated_time_precise,
126
- imageSrc: messageThread.image ? messageThread.image.uri : null,
127
- isCanonicalUser: messageThread.is_canonical_neo_user,
128
- isCanonical: messageThread.thread_type != "GROUP",
129
- recipientsLoadable: true,
130
- hasEmailParticipant: false,
131
- readOnly: false,
132
- canReply: messageThread.cannot_reply_reason == null,
133
- lastMessageTimestamp: messageThread.last_message
134
- ? messageThread.last_message.timestamp_precise
135
- : null,
136
- lastMessageType: "message",
137
- lastReadTimestamp: lastReadTimestamp,
138
- threadType: messageThread.thread_type == "GROUP" ? 2 : 1,
139
-
140
- // update in Wed, 13 Jul 2022 19:41:12 +0700
141
- inviteLink: {
142
- enable: messageThread.joinable_mode ? messageThread.joinable_mode.mode == 1 : false,
143
- link: messageThread.joinable_mode ? messageThread.joinable_mode.link : null
144
- }
145
- };
146
- }
147
-
148
- function formatThreadList(data) {
149
- // console.log(JSON.stringify(data.find(t => t.thread_key.thread_fbid === "5095817367161431"), null, 2));
150
- return data.map(t => formatThreadGraphQLResponse(t));
151
- }
152
-
153
- module.exports = function (defaultFuncs, api, ctx) {
154
- return function getThreadList(limit, timestamp, tags, callback) {
155
- if (!callback && (utils.getType(tags) === "Function" || utils.getType(tags) === "AsyncFunction")) {
156
- callback = tags;
157
- tags = [""];
158
- }
159
- if (utils.getType(limit) !== "Number" || !Number.isInteger(limit) || limit <= 0) {
160
- throw new utils.CustomError({ error: "getThreadList: limit must be a positive integer" });
161
- }
162
- if (utils.getType(timestamp) !== "Null" &&
163
- (utils.getType(timestamp) !== "Number" || !Number.isInteger(timestamp))) {
164
- throw new utils.CustomError({ error: "getThreadList: timestamp must be an integer or null" });
165
- }
166
- if (utils.getType(tags) === "String") {
167
- tags = [tags];
168
- }
169
- if (utils.getType(tags) !== "Array") {
170
- throw new utils.CustomError({
171
- error: "getThreadList: tags must be an array",
172
- message: "getThreadList: tags must be an array"
173
- });
174
- }
175
-
176
- let resolveFunc = function () { };
177
- let rejectFunc = function () { };
178
- const returnPromise = new Promise(function (resolve, reject) {
179
- resolveFunc = resolve;
180
- rejectFunc = reject;
181
- });
182
-
183
- if (utils.getType(callback) !== "Function" && utils.getType(callback) !== "AsyncFunction") {
184
- callback = function (err, data) {
185
- if (err) {
186
- return rejectFunc(err);
187
- }
188
- resolveFunc(data);
189
- };
190
- }
191
-
192
- const form = {
193
- "av": ctx.i_userID || ctx.userID,
194
- "queries": JSON.stringify({
195
- "o0": {
196
- // This doc_id was valid on 2020-07-20
197
- // "doc_id": "3336396659757871",
198
- "doc_id": "3426149104143726",
199
- "query_params": {
200
- "limit": limit + (timestamp ? 1 : 0),
201
- "before": timestamp,
202
- "tags": tags,
203
- "includeDeliveryReceipts": true,
204
- "includeSeqID": false
205
- }
206
- }
207
- }),
208
- "batch_name": "MessengerGraphQLThreadlistFetcher"
209
- };
210
-
211
- defaultFuncs
212
- .post("https://www.facebook.com/api/graphqlbatch/", ctx.jar, form)
213
- .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
214
- .then((resData) => {
215
- if (resData[resData.length - 1].error_results > 0) {
216
- throw new utils.CustomError(resData[0].o0.errors);
217
- }
218
-
219
- if (resData[resData.length - 1].successful_results === 0) {
220
- throw new utils.CustomError({ error: "getThreadList: there was no successful_results", res: resData });
221
- }
222
-
223
- // When we ask for threads using timestamp from the previous request,
224
- // we are getting the last thread repeated as the first thread in this response.
225
- // .shift() gets rid of it
226
- // It is also the reason for increasing limit by 1 when timestamp is set
227
- // this way user asks for 10 threads, we are asking for 11,
228
- // but after removing the duplicated one, it is again 10
229
- if (timestamp) {
230
- resData[0].o0.data.viewer.message_threads.nodes.shift();
231
- }
232
- callback(null, formatThreadList(resData[0].o0.data.viewer.message_threads.nodes));
233
- })
234
- .catch((err) => {
235
- log.error("getThreadList", err);
236
- return callback(err);
237
- });
238
-
239
- return returnPromise;
240
- };
241
- };
@@ -1,79 +0,0 @@
1
- "use strict";
2
-
3
- const utils = require("../utils");
4
- const log = require("npmlog");
5
-
6
- module.exports = function (defaultFuncs, api, ctx) {
7
- return function getThreadPictures(threadID, offset, limit, 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
- callback = function (err, friendList) {
17
- if (err) {
18
- return rejectFunc(err);
19
- }
20
- resolveFunc(friendList);
21
- };
22
- }
23
-
24
- let form = {
25
- thread_id: threadID,
26
- offset: offset,
27
- limit: limit
28
- };
29
-
30
- defaultFuncs
31
- .post(
32
- "https://www.facebook.com/ajax/messaging/attachments/sharedphotos.php",
33
- ctx.jar,
34
- form
35
- )
36
- .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
37
- .then(function (resData) {
38
- if (resData.error) {
39
- throw resData;
40
- }
41
- return Promise.all(
42
- resData.payload.imagesData.map(function (image) {
43
- form = {
44
- thread_id: threadID,
45
- image_id: image.fbid
46
- };
47
- return defaultFuncs
48
- .post(
49
- "https://www.facebook.com/ajax/messaging/attachments/sharedphotos.php",
50
- ctx.jar,
51
- form
52
- )
53
- .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
54
- .then(function (resData) {
55
- if (resData.error) {
56
- throw resData;
57
- }
58
- // the response is pretty messy
59
- const queryThreadID =
60
- resData.jsmods.require[0][3][1].query_metadata.query_path[0]
61
- .message_thread;
62
- const imageData =
63
- resData.jsmods.require[0][3][1].query_results[queryThreadID]
64
- .message_images.edges[0].node.image2;
65
- return imageData;
66
- });
67
- })
68
- );
69
- })
70
- .then(function (resData) {
71
- callback(null, resData);
72
- })
73
- .catch(function (err) {
74
- log.error("Error in getThreadPictures", err);
75
- callback(err);
76
- });
77
- return returnPromise;
78
- };
79
- };
package/src/getUserID.js DELETED
@@ -1,66 +0,0 @@
1
- "use strict";
2
-
3
- const utils = require("../utils");
4
- const log = require("npmlog");
5
-
6
- function formatData(data) {
7
- return {
8
- userID: utils.formatID(data.uid.toString()),
9
- photoUrl: data.photo,
10
- indexRank: data.index_rank,
11
- name: data.text,
12
- isVerified: data.is_verified,
13
- profileUrl: data.path,
14
- category: data.category,
15
- score: data.score,
16
- type: data.type
17
- };
18
- }
19
-
20
- module.exports = function (defaultFuncs, api, ctx) {
21
- return function getUserID(name, callback) {
22
- let resolveFunc = function () { };
23
- let rejectFunc = function () { };
24
- const returnPromise = new Promise(function (resolve, reject) {
25
- resolveFunc = resolve;
26
- rejectFunc = reject;
27
- });
28
-
29
- if (!callback) {
30
- callback = function (err, friendList) {
31
- if (err) {
32
- return rejectFunc(err);
33
- }
34
- resolveFunc(friendList);
35
- };
36
- }
37
-
38
- const form = {
39
- value: name.toLowerCase(),
40
- viewer: ctx.i_userID || ctx.userID,
41
- rsp: "search",
42
- context: "search",
43
- path: "/home.php",
44
- request_id: utils.getGUID()
45
- };
46
-
47
- defaultFuncs
48
- .get("https://www.facebook.com/ajax/typeahead/search.php", ctx.jar, form)
49
- .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
50
- .then(function (resData) {
51
- if (resData.error) {
52
- throw resData;
53
- }
54
-
55
- const data = resData.payload.entries;
56
-
57
- callback(null, data.map(formatData));
58
- })
59
- .catch(function (err) {
60
- log.error("getUserID", err);
61
- return callback(err);
62
- });
63
-
64
- return returnPromise;
65
- };
66
- };
@@ -1,74 +0,0 @@
1
- "use strict";
2
-
3
- const utils = require("../utils");
4
- const log = require("npmlog");
5
-
6
- function formatData(data) {
7
- const retObj = {};
8
-
9
- for (const prop in data) {
10
- // eslint-disable-next-line no-prototype-builtins
11
- if (data.hasOwnProperty(prop)) {
12
- const innerObj = data[prop];
13
- retObj[prop] = {
14
- name: innerObj.name,
15
- firstName: innerObj.firstName,
16
- vanity: innerObj.vanity,
17
- thumbSrc: innerObj.thumbSrc,
18
- profileUrl: innerObj.uri,
19
- gender: innerObj.gender,
20
- type: innerObj.type,
21
- isFriend: innerObj.is_friend,
22
- isBirthday: !!innerObj.is_birthday,
23
- searchTokens: innerObj.searchTokens,
24
- alternateName: innerObj.alternateName
25
- };
26
- }
27
- }
28
-
29
- return retObj;
30
- }
31
-
32
- module.exports = function (defaultFuncs, api, ctx) {
33
- return function getUserInfo(id, callback) {
34
- let resolveFunc = function () { };
35
- let rejectFunc = function () { };
36
- const returnPromise = new Promise(function (resolve, reject) {
37
- resolveFunc = resolve;
38
- rejectFunc = reject;
39
- });
40
-
41
- if (!callback) {
42
- callback = function (err, friendList) {
43
- if (err) {
44
- return rejectFunc(err);
45
- }
46
- resolveFunc(friendList);
47
- };
48
- }
49
-
50
- if (utils.getType(id) !== "Array") {
51
- id = [id];
52
- }
53
-
54
- const form = {};
55
- id.map(function (v, i) {
56
- form["ids[" + i + "]"] = v;
57
- });
58
- defaultFuncs
59
- .post("https://www.facebook.com/chat/user_info/", ctx.jar, form)
60
- .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
61
- .then(function (resData) {
62
- if (resData.error) {
63
- throw resData;
64
- }
65
- return callback(null, formatData(resData.payload.profiles));
66
- })
67
- .catch(function (err) {
68
- log.error("getUserInfo", err);
69
- return callback(err);
70
- });
71
-
72
- return returnPromise;
73
- };
74
- };