bb-fca 2.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 (253) hide show
  1. package/LICENSE-MIT +21 -0
  2. package/README.md +0 -0
  3. package/dist/core/client.js +50 -0
  4. package/dist/core/client.js.map +1 -0
  5. package/dist/core/models/buildAPI.js +103 -0
  6. package/dist/core/models/buildAPI.js.map +1 -0
  7. package/dist/core/models/loginHelper.js +209 -0
  8. package/dist/core/models/loginHelper.js.map +1 -0
  9. package/dist/core/models/setOptions.js +47 -0
  10. package/dist/core/models/setOptions.js.map +1 -0
  11. package/dist/deltas/apis/create.js +30 -0
  12. package/dist/deltas/apis/create.js.map +1 -0
  13. package/dist/deltas/apis/extra/addExternalModule.js +23 -0
  14. package/dist/deltas/apis/extra/addExternalModule.js.map +1 -0
  15. package/dist/deltas/apis/extra/getAccess.js +110 -0
  16. package/dist/deltas/apis/extra/getAccess.js.map +1 -0
  17. package/dist/deltas/apis/http/httpGet.js +57 -0
  18. package/dist/deltas/apis/http/httpGet.js.map +1 -0
  19. package/dist/deltas/apis/http/httpPost.js +57 -0
  20. package/dist/deltas/apis/http/httpPost.js.map +1 -0
  21. package/dist/deltas/apis/http/httpPostFormData.js +61 -0
  22. package/dist/deltas/apis/http/httpPostFormData.js.map +1 -0
  23. package/dist/deltas/apis/login/GetBotInfo.js +83 -0
  24. package/dist/deltas/apis/login/GetBotInfo.js.map +1 -0
  25. package/dist/deltas/apis/login/getBotInitialData.js +46 -0
  26. package/dist/deltas/apis/login/getBotInitialData.js.map +1 -0
  27. package/dist/deltas/apis/login/logout.js +54 -0
  28. package/dist/deltas/apis/login/logout.js.map +1 -0
  29. package/dist/deltas/apis/messaging/editMessage.js +64 -0
  30. package/dist/deltas/apis/messaging/editMessage.js.map +1 -0
  31. package/dist/deltas/apis/messaging/emoji.js +120 -0
  32. package/dist/deltas/apis/messaging/emoji.js.map +1 -0
  33. package/dist/deltas/apis/messaging/gcmember.js +164 -0
  34. package/dist/deltas/apis/messaging/gcmember.js.map +1 -0
  35. package/dist/deltas/apis/messaging/gcname.js +119 -0
  36. package/dist/deltas/apis/messaging/gcname.js.map +1 -0
  37. package/dist/deltas/apis/messaging/gcrule.js +144 -0
  38. package/dist/deltas/apis/messaging/gcrule.js.map +1 -0
  39. package/dist/deltas/apis/messaging/markAsDelivered.js +44 -0
  40. package/dist/deltas/apis/messaging/markAsDelivered.js.map +1 -0
  41. package/dist/deltas/apis/messaging/markAsRead.js +84 -0
  42. package/dist/deltas/apis/messaging/markAsRead.js.map +1 -0
  43. package/dist/deltas/apis/messaging/markAsReadAll.js +34 -0
  44. package/dist/deltas/apis/messaging/markAsReadAll.js.map +1 -0
  45. package/dist/deltas/apis/messaging/markAsSeen.js +64 -0
  46. package/dist/deltas/apis/messaging/markAsSeen.js.map +1 -0
  47. package/dist/deltas/apis/messaging/nickname.js +129 -0
  48. package/dist/deltas/apis/messaging/nickname.js.map +1 -0
  49. package/dist/deltas/apis/messaging/notes.js +156 -0
  50. package/dist/deltas/apis/messaging/notes.js.map +1 -0
  51. package/dist/deltas/apis/messaging/resolvePhotoUrl.js +55 -0
  52. package/dist/deltas/apis/messaging/resolvePhotoUrl.js.map +1 -0
  53. package/dist/deltas/apis/messaging/sendMessage.js +239 -0
  54. package/dist/deltas/apis/messaging/sendMessage.js.map +1 -0
  55. package/dist/deltas/apis/messaging/sendTypingIndicator.js +41 -0
  56. package/dist/deltas/apis/messaging/sendTypingIndicator.js.map +1 -0
  57. package/dist/deltas/apis/messaging/setMessageReaction.js +30 -0
  58. package/dist/deltas/apis/messaging/setMessageReaction.js.map +1 -0
  59. package/dist/deltas/apis/messaging/shareContact.js +59 -0
  60. package/dist/deltas/apis/messaging/shareContact.js.map +1 -0
  61. package/dist/deltas/apis/messaging/stickers.js +246 -0
  62. package/dist/deltas/apis/messaging/stickers.js.map +1 -0
  63. package/dist/deltas/apis/messaging/theme.js +227 -0
  64. package/dist/deltas/apis/messaging/theme.js.map +1 -0
  65. package/dist/deltas/apis/messaging/unsendMessage.js +19 -0
  66. package/dist/deltas/apis/messaging/unsendMessage.js.map +1 -0
  67. package/dist/deltas/apis/mqtt/deltas/value.js +193 -0
  68. package/dist/deltas/apis/mqtt/deltas/value.js.map +1 -0
  69. package/dist/deltas/apis/mqtt/listenMqtt.js +306 -0
  70. package/dist/deltas/apis/mqtt/listenMqtt.js.map +1 -0
  71. package/dist/deltas/apis/mqtt/listenSpeed.js +166 -0
  72. package/dist/deltas/apis/mqtt/listenSpeed.js.map +1 -0
  73. package/dist/deltas/apis/mqtt/pinMessage.js +166 -0
  74. package/dist/deltas/apis/mqtt/pinMessage.js.map +1 -0
  75. package/dist/deltas/apis/mqtt/realtime.js +160 -0
  76. package/dist/deltas/apis/mqtt/realtime.js.map +1 -0
  77. package/dist/deltas/apis/mqtt/sendMessageMqtt.js +184 -0
  78. package/dist/deltas/apis/mqtt/sendMessageMqtt.js.map +1 -0
  79. package/dist/deltas/apis/mqtt/setMessageReactionMqtt.js +57 -0
  80. package/dist/deltas/apis/mqtt/setMessageReactionMqtt.js.map +1 -0
  81. package/dist/deltas/apis/posting/comment.js +195 -0
  82. package/dist/deltas/apis/posting/comment.js.map +1 -0
  83. package/dist/deltas/apis/posting/follow.js +82 -0
  84. package/dist/deltas/apis/posting/follow.js.map +1 -0
  85. package/dist/deltas/apis/posting/friend.js +253 -0
  86. package/dist/deltas/apis/posting/friend.js.map +1 -0
  87. package/dist/deltas/apis/posting/post.js +551 -0
  88. package/dist/deltas/apis/posting/post.js.map +1 -0
  89. package/dist/deltas/apis/posting/share.js +59 -0
  90. package/dist/deltas/apis/posting/share.js.map +1 -0
  91. package/dist/deltas/apis/posting/story.js +176 -0
  92. package/dist/deltas/apis/posting/story.js.map +1 -0
  93. package/dist/deltas/apis/threads/getThreadHistory.js +233 -0
  94. package/dist/deltas/apis/threads/getThreadHistory.js.map +1 -0
  95. package/dist/deltas/apis/threads/getThreadInfo.js +197 -0
  96. package/dist/deltas/apis/threads/getThreadInfo.js.map +1 -0
  97. package/dist/deltas/apis/threads/getThreadList.js +201 -0
  98. package/dist/deltas/apis/threads/getThreadList.js.map +1 -0
  99. package/dist/deltas/apis/users/getUserInfo.js +254 -0
  100. package/dist/deltas/apis/users/getUserInfo.js.map +1 -0
  101. package/dist/index.d.ts +696 -0
  102. package/dist/types/core/client.d.ts +2 -0
  103. package/dist/types/core/models/buildAPI.d.ts +13 -0
  104. package/dist/types/core/models/loginHelper.d.ts +15 -0
  105. package/dist/types/core/models/setOptions.d.ts +2 -0
  106. package/dist/types/deltas/apis/create.d.ts +23 -0
  107. package/dist/types/deltas/apis/extra/addExternalModule.d.ts +1 -0
  108. package/dist/types/deltas/apis/extra/getAccess.d.ts +1 -0
  109. package/dist/types/deltas/apis/http/httpGet.d.ts +1 -0
  110. package/dist/types/deltas/apis/http/httpPost.d.ts +1 -0
  111. package/dist/types/deltas/apis/http/httpPostFormData.d.ts +1 -0
  112. package/dist/types/deltas/apis/login/GetBotInfo.d.ts +32 -0
  113. package/dist/types/deltas/apis/login/getBotInitialData.d.ts +1 -0
  114. package/dist/types/deltas/apis/login/logout.d.ts +7 -0
  115. package/dist/types/deltas/apis/messaging/editMessage.d.ts +7 -0
  116. package/dist/types/deltas/apis/messaging/emoji.d.ts +1 -0
  117. package/dist/types/deltas/apis/messaging/gcmember.d.ts +1 -0
  118. package/dist/types/deltas/apis/messaging/gcname.d.ts +1 -0
  119. package/dist/types/deltas/apis/messaging/gcrule.d.ts +1 -0
  120. package/dist/types/deltas/apis/messaging/markAsDelivered.d.ts +7 -0
  121. package/dist/types/deltas/apis/messaging/markAsRead.d.ts +6 -0
  122. package/dist/types/deltas/apis/messaging/markAsReadAll.d.ts +7 -0
  123. package/dist/types/deltas/apis/messaging/markAsSeen.d.ts +6 -0
  124. package/dist/types/deltas/apis/messaging/nickname.d.ts +1 -0
  125. package/dist/types/deltas/apis/messaging/notes.d.ts +14 -0
  126. package/dist/types/deltas/apis/messaging/resolvePhotoUrl.d.ts +9 -0
  127. package/dist/types/deltas/apis/messaging/sendMessage.d.ts +1 -0
  128. package/dist/types/deltas/apis/messaging/sendTypingIndicator.d.ts +6 -0
  129. package/dist/types/deltas/apis/messaging/setMessageReaction.d.ts +1 -0
  130. package/dist/types/deltas/apis/messaging/shareContact.d.ts +8 -0
  131. package/dist/types/deltas/apis/messaging/stickers.d.ts +48 -0
  132. package/dist/types/deltas/apis/messaging/theme.d.ts +1 -0
  133. package/dist/types/deltas/apis/messaging/unsendMessage.d.ts +1 -0
  134. package/dist/types/deltas/apis/mqtt/deltas/value.d.ts +2 -0
  135. package/dist/types/deltas/apis/mqtt/listenMqtt.d.ts +20 -0
  136. package/dist/types/deltas/apis/mqtt/listenSpeed.d.ts +21 -0
  137. package/dist/types/deltas/apis/mqtt/pinMessage.d.ts +1 -0
  138. package/dist/types/deltas/apis/mqtt/realtime.d.ts +1 -0
  139. package/dist/types/deltas/apis/mqtt/sendMessageMqtt.d.ts +1 -0
  140. package/dist/types/deltas/apis/mqtt/setMessageReactionMqtt.d.ts +1 -0
  141. package/dist/types/deltas/apis/posting/comment.d.ts +9 -0
  142. package/dist/types/deltas/apis/posting/follow.d.ts +14 -0
  143. package/dist/types/deltas/apis/posting/friend.d.ts +61 -0
  144. package/dist/types/deltas/apis/posting/post.d.ts +20 -0
  145. package/dist/types/deltas/apis/posting/share.d.ts +1 -0
  146. package/dist/types/deltas/apis/posting/story.d.ts +39 -0
  147. package/dist/types/deltas/apis/threads/getThreadHistory.d.ts +7 -0
  148. package/dist/types/deltas/apis/threads/getThreadInfo.d.ts +7 -0
  149. package/dist/types/deltas/apis/threads/getThreadList.d.ts +7 -0
  150. package/dist/types/deltas/apis/users/getUserInfo.d.ts +1 -0
  151. package/dist/types/utils/axios.d.ts +7 -0
  152. package/dist/types/utils/clients.d.ts +4 -0
  153. package/dist/types/utils/constants.d.ts +24 -0
  154. package/dist/types/utils/formatters/data/formatAttachment.d.ts +2 -0
  155. package/dist/types/utils/formatters/data/formatDelta.d.ts +4 -0
  156. package/dist/types/utils/formatters/index.d.ts +17 -0
  157. package/dist/types/utils/formatters/value/formatCookie.d.ts +8 -0
  158. package/dist/types/utils/formatters/value/formatDate.d.ts +6 -0
  159. package/dist/types/utils/formatters/value/formatID.d.ts +7 -0
  160. package/dist/types/utils/headers.d.ts +2 -0
  161. package/dist/types/utils/index.d.ts +75 -0
  162. package/dist/types/utils/user-agents.d.ts +9 -0
  163. package/dist/utils/axios.js +148 -0
  164. package/dist/utils/axios.js.map +1 -0
  165. package/dist/utils/clients.js +120 -0
  166. package/dist/utils/clients.js.map +1 -0
  167. package/dist/utils/constants.js +249 -0
  168. package/dist/utils/constants.js.map +1 -0
  169. package/dist/utils/formatters/data/formatAttachment.js +61 -0
  170. package/dist/utils/formatters/data/formatAttachment.js.map +1 -0
  171. package/dist/utils/formatters/data/formatDelta.js +67 -0
  172. package/dist/utils/formatters/data/formatDelta.js.map +1 -0
  173. package/dist/utils/formatters/index.js +132 -0
  174. package/dist/utils/formatters/index.js.map +1 -0
  175. package/dist/utils/formatters/value/formatCookie.js +13 -0
  176. package/dist/utils/formatters/value/formatCookie.js.map +1 -0
  177. package/dist/utils/formatters/value/formatDate.js +33 -0
  178. package/dist/utils/formatters/value/formatDate.js.map +1 -0
  179. package/dist/utils/formatters/value/formatID.js +17 -0
  180. package/dist/utils/formatters/value/formatID.js.map +1 -0
  181. package/dist/utils/headers.js +61 -0
  182. package/dist/utils/headers.js.map +1 -0
  183. package/dist/utils/index.js +105 -0
  184. package/dist/utils/index.js.map +1 -0
  185. package/dist/utils/user-agents.js +41 -0
  186. package/dist/utils/user-agents.js.map +1 -0
  187. package/examples/post.example.js +149 -0
  188. package/module/index.js +5 -0
  189. package/package.json +56 -0
  190. package/src/core/client.ts +66 -0
  191. package/src/core/models/buildAPI.ts +131 -0
  192. package/src/core/models/loginHelper.ts +226 -0
  193. package/src/core/models/setOptions.ts +48 -0
  194. package/src/deltas/apis/create.ts +28 -0
  195. package/src/deltas/apis/extra/addExternalModule.ts +23 -0
  196. package/src/deltas/apis/extra/getAccess.ts +141 -0
  197. package/src/deltas/apis/http/httpGet.ts +61 -0
  198. package/src/deltas/apis/http/httpPost.ts +61 -0
  199. package/src/deltas/apis/http/httpPostFormData.ts +67 -0
  200. package/src/deltas/apis/login/GetBotInfo.ts +88 -0
  201. package/src/deltas/apis/login/getBotInitialData.ts +42 -0
  202. package/src/deltas/apis/login/logout.ts +62 -0
  203. package/src/deltas/apis/messaging/editMessage.ts +69 -0
  204. package/src/deltas/apis/messaging/emoji.ts +135 -0
  205. package/src/deltas/apis/messaging/gcmember.ts +175 -0
  206. package/src/deltas/apis/messaging/gcname.ts +136 -0
  207. package/src/deltas/apis/messaging/gcrule.ts +152 -0
  208. package/src/deltas/apis/messaging/markAsDelivered.ts +47 -0
  209. package/src/deltas/apis/messaging/markAsRead.ts +94 -0
  210. package/src/deltas/apis/messaging/markAsReadAll.ts +38 -0
  211. package/src/deltas/apis/messaging/markAsSeen.ts +69 -0
  212. package/src/deltas/apis/messaging/nickname.ts +153 -0
  213. package/src/deltas/apis/messaging/notes.ts +165 -0
  214. package/src/deltas/apis/messaging/resolvePhotoUrl.ts +56 -0
  215. package/src/deltas/apis/messaging/sendMessage.ts +286 -0
  216. package/src/deltas/apis/messaging/sendTypingIndicator.ts +48 -0
  217. package/src/deltas/apis/messaging/setMessageReaction.ts +25 -0
  218. package/src/deltas/apis/messaging/shareContact.ts +63 -0
  219. package/src/deltas/apis/messaging/stickers.ts +255 -0
  220. package/src/deltas/apis/messaging/theme.ts +280 -0
  221. package/src/deltas/apis/messaging/unsendMessage.ts +15 -0
  222. package/src/deltas/apis/mqtt/deltas/value.ts +224 -0
  223. package/src/deltas/apis/mqtt/listenMqtt.ts +332 -0
  224. package/src/deltas/apis/mqtt/listenSpeed.ts +179 -0
  225. package/src/deltas/apis/mqtt/pinMessage.ts +135 -0
  226. package/src/deltas/apis/mqtt/realtime.ts +169 -0
  227. package/src/deltas/apis/mqtt/sendMessageMqtt.ts +206 -0
  228. package/src/deltas/apis/mqtt/setMessageReactionMqtt.ts +61 -0
  229. package/src/deltas/apis/posting/comment.ts +205 -0
  230. package/src/deltas/apis/posting/follow.ts +79 -0
  231. package/src/deltas/apis/posting/friend.ts +241 -0
  232. package/src/deltas/apis/posting/post.ts +599 -0
  233. package/src/deltas/apis/posting/share.ts +60 -0
  234. package/src/deltas/apis/posting/story.ts +207 -0
  235. package/src/deltas/apis/threads/getThreadHistory.ts +237 -0
  236. package/src/deltas/apis/threads/getThreadInfo.ts +210 -0
  237. package/src/deltas/apis/threads/getThreadList.ts +224 -0
  238. package/src/deltas/apis/users/getUserInfo.ts +244 -0
  239. package/src/types/index.d.ts +696 -0
  240. package/src/utils/axios.ts +178 -0
  241. package/src/utils/clients.ts +125 -0
  242. package/src/utils/constants.ts +281 -0
  243. package/src/utils/formatters/data/formatAttachment.ts +58 -0
  244. package/src/utils/formatters/data/formatDelta.ts +45 -0
  245. package/src/utils/formatters/index.ts +82 -0
  246. package/src/utils/formatters/value/formatCookie.ts +13 -0
  247. package/src/utils/formatters/value/formatDate.ts +34 -0
  248. package/src/utils/formatters/value/formatID.ts +14 -0
  249. package/src/utils/formatters.old.ts +1049 -0
  250. package/src/utils/headers.ts +65 -0
  251. package/src/utils/index.ts +65 -0
  252. package/src/utils/user-agents.ts +49 -0
  253. package/tsconfig.json +37 -0
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = default_1;
4
+ const url_1 = require("url");
5
+ /**
6
+ * @namespace api.story
7
+ * @description A collection of functions for interacting with Facebook Stories.
8
+ * @license Ex-it
9
+ * @author Jonell Magallanes, ChoruOfficial
10
+ */
11
+ function default_1(defaultFuncs, api, ctx) {
12
+ /**
13
+ * (Internal) Extracts the Story ID from a Facebook story URL.
14
+ * @param {string} url The Facebook story URL.
15
+ * @returns {string|null} The extracted Story ID or null if not found.
16
+ */
17
+ function getStoryIDFromURL(url) {
18
+ try {
19
+ const urlObject = new url_1.URL(url);
20
+ const pathParts = urlObject.pathname.split('/');
21
+ const storiesIndex = pathParts.indexOf('stories');
22
+ if (storiesIndex !== -1 && pathParts.length > storiesIndex + 2) {
23
+ return pathParts[storiesIndex + 2];
24
+ }
25
+ return null;
26
+ }
27
+ catch (e) {
28
+ return null;
29
+ }
30
+ }
31
+ /**
32
+ * (Internal) The core function to send a reply or reaction to a story.
33
+ * @param {string} storyIdOrUrl The ID or URL of the story.
34
+ * @param {string} message The text message or emoji reaction.
35
+ * @param {boolean} isReaction True if the reply is a lightweight reaction.
36
+ * @returns {Promise<object>} The server's response.
37
+ */
38
+ async function sendStoryReply(storyIdOrUrl, message, isReaction) {
39
+ try {
40
+ const allowedReactions = ['❤️', '👍', '🤗', '😆', '😡', '😢', '😮'];
41
+ if (!storyIdOrUrl)
42
+ throw new Error('Story ID or URL is required.');
43
+ if (!message)
44
+ throw new Error('A message or reaction is required.');
45
+ let storyID = getStoryIDFromURL(storyIdOrUrl);
46
+ if (!storyID)
47
+ storyID = storyIdOrUrl;
48
+ const variables = {
49
+ input: {
50
+ attribution_id_v2: 'StoriesCometSuspenseRoot.react,comet.stories.viewer,via_cold_start',
51
+ message: message,
52
+ story_id: storyID,
53
+ story_reply_type: isReaction ? 'LIGHT_WEIGHT' : 'TEXT',
54
+ actor_id: ctx.userID,
55
+ client_mutation_id: Math.floor(Math.random() * 10 + 1).toString(),
56
+ },
57
+ };
58
+ if (isReaction) {
59
+ if (!allowedReactions.includes(message)) {
60
+ throw new Error(`Invalid reaction. Please use one of: ${allowedReactions.join(' ')}`);
61
+ }
62
+ variables.input.lightweight_reaction_actions = {
63
+ offsets: [0],
64
+ reaction: message,
65
+ };
66
+ }
67
+ const form = {
68
+ av: ctx.userID,
69
+ __user: ctx.userID,
70
+ __a: '1',
71
+ fb_dtsg: ctx.fb_dtsg,
72
+ jazoest: ctx.jazoest,
73
+ fb_api_caller_class: 'RelayModern',
74
+ fb_api_req_friendly_name: 'useStoriesSendReplyMutation',
75
+ variables: JSON.stringify(variables),
76
+ doc_id: '9697491553691692',
77
+ };
78
+ const res = await defaultFuncs.post('https://www.facebook.com/api/graphql/', ctx.jar, form, {});
79
+ if (res.data.errors)
80
+ throw new Error(JSON.stringify(res.data.errors));
81
+ const storyReplyData = res.data?.data?.direct_message_reply;
82
+ if (!storyReplyData)
83
+ throw new Error("Could not find 'direct_message_reply' in the response data.");
84
+ return { success: true, result: storyReplyData };
85
+ }
86
+ catch (err) {
87
+ console.error('Error in story reply API:', err);
88
+ throw err;
89
+ }
90
+ }
91
+ /**
92
+ * Creates a new text-based story.
93
+ * @param {string} message The text content of the story.
94
+ * @param {string} [fontName="classic"] The name of the font to use. Options: `headline`, `classic`, `casual`, `fancy`.
95
+ * @param {string} [backgroundName="blue"] The name of the background to use. Options: `orange`, `blue`, `green`, `modern`.
96
+ * @returns {Promise<{success: boolean, storyID: string}>} A promise that resolves with the new story's ID.
97
+ */
98
+ async function create(message, fontName = 'classic', backgroundName = 'blue') {
99
+ const fontMap = {
100
+ headline: '1919119914775364',
101
+ classic: '516266749248495',
102
+ casual: '516266749248495',
103
+ fancy: '1790435664339626',
104
+ };
105
+ const bgMap = {
106
+ orange: '2163607613910521',
107
+ blue: '401372137331149',
108
+ green: '367314917184744',
109
+ modern: '554617635055752',
110
+ };
111
+ const fontId = fontMap[fontName.toLowerCase()] || fontMap.classic;
112
+ const bgId = bgMap[backgroundName.toLowerCase()] || bgMap.blue;
113
+ const variables = {
114
+ input: {
115
+ audiences: [{ stories: { self: { target_id: ctx.userID } } }],
116
+ audiences_is_complete: true,
117
+ logging: { composer_session_id: 'createStoriesText-' + Date.now() },
118
+ navigation_data: {
119
+ attribution_id_v2: 'StoriesCreateRoot.react,comet.stories.create',
120
+ },
121
+ source: 'WWW',
122
+ message: { ranges: [], text: message },
123
+ text_format_metadata: { inspirations_custom_font_id: fontId },
124
+ text_format_preset_id: bgId,
125
+ tracking: [null],
126
+ actor_id: ctx.userID,
127
+ client_mutation_id: '2',
128
+ },
129
+ };
130
+ const form = {
131
+ __a: '1',
132
+ fb_api_caller_class: 'RelayModern',
133
+ fb_api_req_friendly_name: 'StoriesCreateMutation',
134
+ variables: JSON.stringify(variables),
135
+ doc_id: '24226878183562473',
136
+ };
137
+ try {
138
+ const res = await defaultFuncs.post('https://www.facebook.com/api/graphql/', ctx.jar, form, {});
139
+ if (res.data.errors)
140
+ throw new Error(JSON.stringify(res.data.errors));
141
+ const storyNode = res.data?.data?.story_create?.viewer?.actor?.story_bucket?.nodes[0]
142
+ ?.first_story_to_show;
143
+ if (!storyNode || !storyNode.id)
144
+ throw new Error('Could not find the storyCardID in the response.');
145
+ return { success: true, storyID: storyNode.id };
146
+ }
147
+ catch (error) {
148
+ throw error;
149
+ }
150
+ }
151
+ return {
152
+ /**
153
+ * Creates a new text-based story.
154
+ * @param {string} message The text content of the story.
155
+ * @param {string} [fontName="classic"] The font to use (`headline`, `classic`, `fancy`).
156
+ * @param {string} [backgroundName="blue"] The background to use (`orange`, `blue`, `green`, `modern`).
157
+ * @returns {Promise<{success: boolean, storyID: string}>}
158
+ */
159
+ create,
160
+ /**
161
+ * Reacts to a story with a specific emoji.
162
+ * @param {string} storyIdOrUrl The ID or full URL of the story to react to.
163
+ * @param {string} reaction The emoji to react with. Must be one of: ❤️, 👍, 🤗, 😆, 😡, 😢, 😮.
164
+ * @returns {Promise<{success: boolean, result: object}>}
165
+ */
166
+ react: (storyIdOrUrl, reaction) => sendStoryReply(storyIdOrUrl, reaction, true),
167
+ /**
168
+ * Sends a text message reply to a story.
169
+ * @param {string} storyIdOrUrl The ID or full URL of the story to reply to.
170
+ * @param {string} message The text message to send.
171
+ * @returns {Promise<{success: boolean, result: object}>}
172
+ */
173
+ msg: (storyIdOrUrl, message) => sendStoryReply(storyIdOrUrl, message, false),
174
+ };
175
+ }
176
+ //# sourceMappingURL=story.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"story.js","sourceRoot":"","sources":["../../../../src/deltas/apis/posting/story.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,233 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = default_1;
4
+ const utils = require("../../../utils");
5
+ // @ChoruOfficial
6
+ /**
7
+ * Formats a single attachment object from a GraphQL response.
8
+ * @param {Object} attachment The raw attachment object.
9
+ * @returns {Object} A formatted attachment object.
10
+ */
11
+ function formatAttachmentsGraphQLResponse(attachment) {
12
+ switch (attachment.__typename) {
13
+ case "MessageImage":
14
+ return {
15
+ type: "photo",
16
+ ID: attachment.legacy_attachment_id,
17
+ filename: attachment.filename,
18
+ thumbnailUrl: attachment.thumbnail.uri,
19
+ previewUrl: attachment.preview.uri,
20
+ previewWidth: attachment.preview.width,
21
+ previewHeight: attachment.preview.height,
22
+ largePreviewUrl: attachment.large_preview.uri,
23
+ largePreviewHeight: attachment.large_preview.height,
24
+ largePreviewWidth: attachment.large_preview.width,
25
+ url: attachment.large_preview.uri,
26
+ width: attachment.original_dimensions.x,
27
+ height: attachment.original_dimensions.y,
28
+ name: attachment.filename
29
+ };
30
+ case "MessageAnimatedImage":
31
+ return {
32
+ type: "animated_image",
33
+ ID: attachment.legacy_attachment_id,
34
+ filename: attachment.filename,
35
+ previewUrl: attachment.preview_image.uri,
36
+ previewWidth: attachment.preview_image.width,
37
+ previewHeight: attachment.preview_image.height,
38
+ url: attachment.animated_image.uri,
39
+ width: attachment.animated_image.width,
40
+ height: attachment.animated_image.height,
41
+ name: attachment.filename,
42
+ facebookUrl: attachment.animated_image.uri,
43
+ };
44
+ case "MessageVideo":
45
+ return {
46
+ type: "video",
47
+ ID: attachment.legacy_attachment_id,
48
+ filename: attachment.filename,
49
+ duration: attachment.playable_duration_in_ms,
50
+ thumbnailUrl: attachment.large_image.uri,
51
+ previewUrl: attachment.large_image.uri,
52
+ previewWidth: attachment.large_image.width,
53
+ previewHeight: attachment.large_image.height,
54
+ url: attachment.playable_url,
55
+ width: attachment.original_dimensions.x,
56
+ height: attachment.original_dimensions.y,
57
+ videoType: attachment.video_type.toLowerCase(),
58
+ };
59
+ case "MessageFile":
60
+ return {
61
+ type: "file",
62
+ ID: attachment.message_file_fbid,
63
+ filename: attachment.filename,
64
+ url: attachment.url,
65
+ isMalicious: attachment.is_malicious,
66
+ contentType: attachment.content_type,
67
+ name: attachment.filename,
68
+ };
69
+ case "MessageAudio":
70
+ return {
71
+ type: "audio",
72
+ ID: attachment.url_shimhash,
73
+ filename: attachment.filename,
74
+ duration: attachment.playable_duration_in_ms,
75
+ audioType: attachment.audio_type,
76
+ url: attachment.playable_url,
77
+ isVoiceMail: attachment.is_voicemail,
78
+ };
79
+ default:
80
+ return {
81
+ type: "unknown",
82
+ error: "Don't know about attachment type " + attachment.__typename,
83
+ };
84
+ }
85
+ }
86
+ /**
87
+ * Formats a share (extensible) attachment from a GraphQL response.
88
+ * @param {Object} attachment The raw extensible attachment object.
89
+ * @returns {Object} A formatted share attachment object.
90
+ */
91
+ function formatExtensibleAttachment(attachment) {
92
+ if (attachment.story_attachment) {
93
+ return {
94
+ type: "share",
95
+ ID: attachment.legacy_attachment_id,
96
+ url: attachment.story_attachment.url,
97
+ title: attachment.story_attachment.title_with_entities.text,
98
+ description: attachment.story_attachment.description && attachment.story_attachment.description.text,
99
+ source: attachment.story_attachment.source == null ? null : attachment.story_attachment.source.text,
100
+ image: attachment.story_attachment.media?.image?.uri,
101
+ width: attachment.story_attachment.media?.image?.width,
102
+ height: attachment.story_attachment.media?.image?.height,
103
+ playable: attachment.story_attachment.media?.is_playable,
104
+ duration: attachment.story_attachment.media?.playable_duration_in_ms,
105
+ playableUrl: attachment.story_attachment.media?.playable_url,
106
+ subattachments: attachment.story_attachment.subattachments,
107
+ properties: attachment.story_attachment.properties.reduce((obj, cur) => {
108
+ obj[cur.key] = cur.value.text;
109
+ return obj;
110
+ }, {}),
111
+ };
112
+ }
113
+ return { type: "unknown", error: "Don't know what to do with extensible_attachment." };
114
+ }
115
+ /**
116
+ * Formats the response from a GraphQL message history query.
117
+ * @param {Object} data The raw GraphQL response data.
118
+ * @returns {Array<Object>} An array of formatted message objects.
119
+ */
120
+ function formatMessagesGraphQLResponse(data) {
121
+ const messageThread = data.o0.data.message_thread;
122
+ if (!messageThread)
123
+ return [];
124
+ const threadID = messageThread.thread_key.thread_fbid ? messageThread.thread_key.thread_fbid : messageThread.thread_key.other_user_id;
125
+ return messageThread.messages.nodes.map(d => {
126
+ switch (d.__typename) {
127
+ case "UserMessage":
128
+ const mentions = {};
129
+ if (d.message?.ranges) {
130
+ d.message.ranges.forEach(e => {
131
+ mentions[e.entity.id] = d.message.text.substring(e.offset, e.offset + e.length);
132
+ });
133
+ }
134
+ return {
135
+ type: "message",
136
+ attachments: d.sticker ? [{
137
+ type: "sticker",
138
+ ID: d.sticker.id,
139
+ url: d.sticker.url,
140
+ packID: d.sticker.pack?.id,
141
+ frameCount: d.sticker.frame_count,
142
+ frameRate: d.sticker.frame_rate,
143
+ framesPerRow: d.sticker.frames_per_row,
144
+ framesPerCol: d.sticker.frames_per_col,
145
+ stickerID: d.sticker.id,
146
+ }] : (d.blob_attachments || []).map(formatAttachmentsGraphQLResponse).concat(d.extensible_attachment ? [formatExtensibleAttachment(d.extensible_attachment)] : []),
147
+ body: d.message?.text || "",
148
+ isGroup: messageThread.thread_type === "GROUP",
149
+ messageID: d.message_id,
150
+ senderID: d.message_sender.id,
151
+ threadID: threadID,
152
+ timestamp: d.timestamp_precise,
153
+ mentions: mentions,
154
+ isUnread: d.unread,
155
+ messageReactions: d.message_reactions?.map(r => ({ reaction: r.reaction, userID: r.user.id })) || [],
156
+ };
157
+ case "ThreadNameMessage":
158
+ case "ThreadImageMessage":
159
+ case "ParticipantLeftMessage":
160
+ case "ParticipantsAddedMessage":
161
+ case "GenericAdminTextMessage": {
162
+ // This is the fix. We are now formatting the event directly
163
+ // instead of calling the incompatible `formatDeltaEvent`.
164
+ return {
165
+ type: "event",
166
+ messageID: d.message_id,
167
+ threadID: threadID,
168
+ isGroup: messageThread.thread_type === "GROUP",
169
+ senderID: d.message_sender.id,
170
+ author: d.message_sender.id,
171
+ timestamp: d.timestamp_precise,
172
+ snippet: d.snippet,
173
+ logMessageType: utils.getAdminTextMessageType(d.extensible_message_admin_text_type || d.__typename),
174
+ logMessageData: d.extensible_message_admin_text || d,
175
+ };
176
+ }
177
+ default:
178
+ return { type: "unknown", error: "Unknown message type " + d.__typename, raw: d };
179
+ }
180
+ });
181
+ }
182
+ /**
183
+ * @param {Object} defaultFuncs
184
+ * @param {Object} api
185
+ * @param {Object} ctx
186
+ * @returns {function(threadID: string, amount: number, timestamp: number | null): Promise<Array<Object>>}
187
+ */
188
+ function default_1(defaultFuncs, api, ctx) {
189
+ /**
190
+ * Retrieves the message history for a specific thread.
191
+ * @param {string} threadID The ID of the thread to fetch history from.
192
+ * @param {number} amount The number of messages to retrieve.
193
+ * @param {number | null} timestamp The timestamp to start fetching messages before.
194
+ * @returns {Promise<Array<Object>>} A promise that resolves with an array of formatted message objects.
195
+ */
196
+ return async function getThreadHistory(threadID, amount, timestamp) {
197
+ if (!threadID || !amount) {
198
+ throw new Error("getThreadHistory: threadID and amount are required.");
199
+ }
200
+ const form = {
201
+ av: ctx.globalOptions.pageID,
202
+ queries: JSON.stringify({
203
+ o0: {
204
+ doc_id: "1498317363570230",
205
+ query_params: {
206
+ id: threadID,
207
+ message_limit: amount,
208
+ load_messages: 1,
209
+ load_read_receipts: false,
210
+ before: timestamp || null,
211
+ },
212
+ },
213
+ }),
214
+ };
215
+ try {
216
+ const resData = await defaultFuncs.post("https://www.facebook.com/api/graphqlbatch/", ctx.jar, form);
217
+ const parsedData = await utils.parseAndCheckLogin(ctx, defaultFuncs)(resData);
218
+ if (parsedData.error || (Array.isArray(parsedData) && parsedData[parsedData.length - 1].error_results !== 0)) {
219
+ throw parsedData;
220
+ }
221
+ if (!Array.isArray(parsedData) || !parsedData[0] || !parsedData[0].o0 || !parsedData[0].o0.data) {
222
+ throw { error: "getThreadHistory: Malformed response from GraphQL.", res: parsedData };
223
+ }
224
+ return formatMessagesGraphQLResponse(parsedData[0]);
225
+ }
226
+ catch (err) {
227
+ utils.error("getThreadHistory", err);
228
+ throw err;
229
+ }
230
+ };
231
+ }
232
+ ;
233
+ //# sourceMappingURL=getThreadHistory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getThreadHistory.js","sourceRoot":"","sources":["../../../../src/deltas/apis/threads/getThreadHistory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,197 @@
1
+ // @ChoruOfficial
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.default = default_1;
5
+ const utils = require("../../../utils");
6
+ /**
7
+ * Formats an event reminder object from a GraphQL response.
8
+ * @param {Object} reminder The raw event reminder object.
9
+ * @returns {Object} A formatted event reminder object.
10
+ */
11
+ function formatEventReminders(reminder) {
12
+ return {
13
+ reminderID: reminder.id,
14
+ eventCreatorID: reminder.lightweight_event_creator.id,
15
+ time: reminder.time,
16
+ eventType: reminder.lightweight_event_type.toLowerCase(),
17
+ locationName: reminder.location_name,
18
+ locationCoordinates: reminder.location_coordinates,
19
+ locationPage: reminder.location_page,
20
+ eventStatus: reminder.lightweight_event_status.toLowerCase(),
21
+ note: reminder.note,
22
+ repeatMode: reminder.repeat_mode.toLowerCase(),
23
+ eventTitle: reminder.event_title,
24
+ triggerMessage: reminder.trigger_message,
25
+ secondsToNotifyBefore: reminder.seconds_to_notify_before,
26
+ allowsRsvp: reminder.allows_rsvp,
27
+ relatedEvent: reminder.related_event,
28
+ members: reminder.event_reminder_members.edges.map(function (member) {
29
+ return {
30
+ memberID: member.node.id,
31
+ state: member.guest_list_state.toLowerCase(),
32
+ };
33
+ }),
34
+ };
35
+ }
36
+ /**
37
+ * Formats a thread object from a GraphQL response.
38
+ * @param {Object} data The raw GraphQL data for a thread.
39
+ * @returns {Object | null} A formatted thread object or null if data is invalid.
40
+ */
41
+ function formatThreadGraphQLResponse(data) {
42
+ if (data.errors)
43
+ return null;
44
+ const messageThread = data.message_thread;
45
+ if (!messageThread)
46
+ return null;
47
+ const threadID = messageThread.thread_key.thread_fbid
48
+ ? messageThread.thread_key.thread_fbid
49
+ : messageThread.thread_key.other_user_id;
50
+ const lastM = messageThread.last_message;
51
+ const snippetID = lastM?.nodes?.[0]?.message_sender?.messaging_actor?.id || null;
52
+ const snippetText = lastM?.nodes?.[0]?.snippet || null;
53
+ const lastR = messageThread.last_read_receipt;
54
+ const lastReadTimestamp = lastR?.nodes?.[0]?.timestamp_precise || null;
55
+ return {
56
+ threadID: threadID,
57
+ threadName: messageThread.name,
58
+ participantIDs: messageThread.all_participants.edges.map((d) => d.node.messaging_actor.id),
59
+ userInfo: messageThread.all_participants.edges.map((d) => ({
60
+ id: d.node.messaging_actor.id,
61
+ name: d.node.messaging_actor.name,
62
+ firstName: d.node.messaging_actor.short_name,
63
+ vanity: d.node.messaging_actor.username,
64
+ url: d.node.messaging_actor.url,
65
+ thumbSrc: d.node.messaging_actor.big_image_src.uri,
66
+ profileUrl: d.node.messaging_actor.big_image_src.uri,
67
+ gender: d.node.messaging_actor.gender,
68
+ type: d.node.messaging_actor.__typename,
69
+ isFriend: d.node.messaging_actor.is_viewer_friend,
70
+ isBirthday: !!d.node.messaging_actor.is_birthday,
71
+ })),
72
+ unreadCount: messageThread.unread_count,
73
+ messageCount: messageThread.messages_count,
74
+ timestamp: messageThread.updated_time_precise,
75
+ muteUntil: messageThread.mute_until,
76
+ isGroup: messageThread.thread_type == "GROUP",
77
+ isSubscribed: messageThread.is_viewer_subscribed,
78
+ isArchived: messageThread.has_viewer_archived,
79
+ folder: messageThread.folder,
80
+ cannotReplyReason: messageThread.cannot_reply_reason,
81
+ eventReminders: messageThread.event_reminders
82
+ ? messageThread.event_reminders.nodes.map(formatEventReminders)
83
+ : null,
84
+ emoji: messageThread.customization_info
85
+ ? messageThread.customization_info.emoji
86
+ : null,
87
+ color: messageThread.customization_info &&
88
+ messageThread.customization_info.outgoing_bubble_color
89
+ ? messageThread.customization_info.outgoing_bubble_color.slice(2)
90
+ : null,
91
+ threadTheme: messageThread.thread_theme,
92
+ nicknames: messageThread.customization_info &&
93
+ messageThread.customization_info.participant_customizations
94
+ ? messageThread.customization_info.participant_customizations.reduce(function (res, val) {
95
+ if (val.nickname)
96
+ res[val.participant_id] = val.nickname;
97
+ return res;
98
+ }, {})
99
+ : {},
100
+ adminIDs: messageThread.thread_admins,
101
+ approvalMode: Boolean(messageThread.approval_mode),
102
+ approvalQueue: messageThread.group_approval_queue.nodes.map((a) => ({
103
+ inviterID: a.inviter.id,
104
+ requesterID: a.requester.id,
105
+ timestamp: a.request_timestamp,
106
+ request_source: a.request_source,
107
+ })),
108
+ reactionsMuteMode: messageThread.reactions_mute_mode.toLowerCase(),
109
+ mentionsMuteMode: messageThread.mentions_mute_mode.toLowerCase(),
110
+ isPinProtected: messageThread.is_pin_protected,
111
+ relatedPageThread: messageThread.related_page_thread,
112
+ name: messageThread.name,
113
+ snippet: snippetText,
114
+ snippetSender: snippetID,
115
+ snippetAttachments: [],
116
+ serverTimestamp: messageThread.updated_time_precise,
117
+ imageSrc: messageThread.image ? messageThread.image.uri : null,
118
+ isCanonicalUser: messageThread.is_canonical_neo_user,
119
+ isCanonical: messageThread.thread_type != "GROUP",
120
+ recipientsLoadable: true,
121
+ hasEmailParticipant: false,
122
+ readOnly: false,
123
+ canReply: messageThread.cannot_reply_reason == null,
124
+ lastMessageTimestamp: messageThread.last_message
125
+ ? messageThread.last_message.timestamp_precise
126
+ : null,
127
+ lastMessageType: "message",
128
+ lastReadTimestamp: lastReadTimestamp,
129
+ threadType: messageThread.thread_type == "GROUP" ? 2 : 1,
130
+ inviteLink: {
131
+ enable: messageThread.joinable_mode
132
+ ? messageThread.joinable_mode.mode == 1
133
+ : false,
134
+ link: messageThread.joinable_mode
135
+ ? messageThread.joinable_mode.link
136
+ : null,
137
+ },
138
+ };
139
+ }
140
+ /**
141
+ * @param {Object} defaultFuncs
142
+ * @param {Object} api
143
+ * @param {Object} ctx
144
+ * @returns {function(threadID: string | string[]): Promise<Object>}
145
+ */
146
+ function default_1(defaultFuncs, api, ctx) {
147
+ /**
148
+ * Retrieves information about one or more threads.
149
+ * @param {string|string[]} threadID A single thread ID or an array of thread IDs.
150
+ * @returns {Promise<Object>} A promise that resolves with an object of thread info, or a single thread object if one ID was passed.
151
+ */
152
+ return async function getThreadInfo(threadID) {
153
+ const threadIDs = Array.isArray(threadID) ? threadID : [threadID];
154
+ let form = {};
155
+ threadIDs.forEach((t, i) => {
156
+ form["o" + i] = {
157
+ doc_id: "3449967031715030",
158
+ query_params: {
159
+ id: t,
160
+ message_limit: 0,
161
+ load_messages: false,
162
+ load_read_receipts: false,
163
+ before: null,
164
+ },
165
+ };
166
+ });
167
+ form = {
168
+ queries: JSON.stringify(form),
169
+ batch_name: "MessengerGraphQLThreadFetcher",
170
+ };
171
+ try {
172
+ const resData = await defaultFuncs
173
+ .post("https://www.facebook.com/api/graphqlbatch/", ctx.jar, form)
174
+ .then(utils.parseAndCheckLogin(ctx, defaultFuncs));
175
+ if (resData.error) {
176
+ throw resData;
177
+ }
178
+ const threadInfos = {};
179
+ for (let i = resData.length - 2; i >= 0; i--) {
180
+ const res = resData[i];
181
+ if (res.error_results)
182
+ continue;
183
+ const threadInfo = formatThreadGraphQLResponse(res[Object.keys(res)[0]].data);
184
+ if (threadInfo) {
185
+ threadInfos[threadInfo.threadID || threadID[threadID.length - 1 - i]] = threadInfo;
186
+ }
187
+ }
188
+ return Array.isArray(threadID) ? threadInfos : Object.values(threadInfos)[0] || null;
189
+ }
190
+ catch (err) {
191
+ utils.error("getThreadInfo", err);
192
+ throw err;
193
+ }
194
+ };
195
+ }
196
+ ;
197
+ //# sourceMappingURL=getThreadInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getThreadInfo.js","sourceRoot":"","sources":["../../../../src/deltas/apis/threads/getThreadInfo.ts"],"names":[],"mappings":"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"}