@cexy/hoonfca 1.0.0 → 1.0.2

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 (98) hide show
  1. package/.travis.yml +6 -0
  2. package/LICENSE-MIT +21 -0
  3. package/index.d.ts +620 -0
  4. package/index.js +745 -433
  5. package/package.json +45 -6
  6. package/src/addExternalModule.js +14 -16
  7. package/src/addUserToGroup.js +45 -30
  8. package/src/changeAdminStatus.js +39 -42
  9. package/src/changeApprovalMode.js +79 -0
  10. package/src/changeArchivedStatus.js +19 -15
  11. package/src/changeBio.js +18 -16
  12. package/src/changeBlockedStatus.js +14 -12
  13. package/src/changeBlockedStatusMqtt.js +38 -17
  14. package/src/changeGroupImage.js +100 -77
  15. package/src/changeNickname.js +12 -11
  16. package/src/changeThreadColor.js +25 -16
  17. package/src/changeThreadEmoji.js +11 -10
  18. package/src/createNewGroup.js +21 -14
  19. package/src/createPoll.js +87 -21
  20. package/src/deleteMessage.js +18 -17
  21. package/src/deleteThread.js +18 -17
  22. package/src/editMessage.js +28 -31
  23. package/src/forwardAttachment.js +22 -19
  24. package/src/forwardMessage.js +63 -0
  25. package/src/getCurrentUserID.js +4 -2
  26. package/src/getEmojiUrl.js +20 -9
  27. package/src/getFriendsList.js +21 -18
  28. package/src/getGroupsList.js +83 -0
  29. package/src/getMarketplace.js +84 -0
  30. package/src/getNotifications.js +86 -0
  31. package/src/getPagesList.js +83 -0
  32. package/src/getStories.js +88 -0
  33. package/src/getThreadHistory.js +277 -126
  34. package/src/getThreadInfo.js +143 -115
  35. package/src/getThreadList.js +216 -143
  36. package/src/getThreadPictures.js +26 -32
  37. package/src/getUserID.js +13 -14
  38. package/src/getUserInfo.js +107 -68
  39. package/src/handleFriendRequest.js +16 -15
  40. package/src/handleMessageRequest.js +15 -15
  41. package/src/httpGet.js +36 -31
  42. package/src/httpPost.js +36 -31
  43. package/src/listenMqtt.js +705 -370
  44. package/src/logout.js +26 -28
  45. package/src/markAsDelivered.js +22 -17
  46. package/src/markAsRead.js +63 -49
  47. package/src/markAsReadAll.js +17 -13
  48. package/src/markAsSeen.js +23 -19
  49. package/src/muteThread.js +17 -14
  50. package/src/pinMessage.js +23 -22
  51. package/src/removeUserFromGroup.js +42 -22
  52. package/src/resolvePhotoUrl.js +15 -17
  53. package/src/searchForThread.js +18 -20
  54. package/src/searchUsers.js +89 -0
  55. package/src/sendComment.js +161 -0
  56. package/src/sendMessage.js +65 -52
  57. package/src/sendTypingIndicator.js +173 -48
  58. package/src/setBio.js +86 -0
  59. package/src/setMessageReaction.js +76 -16
  60. package/src/setPostReaction.js +29 -61
  61. package/src/setTheme.js +313 -0
  62. package/src/setTitle.js +27 -37
  63. package/src/shareContact.js +34 -82
  64. package/src/shareLink.js +56 -99
  65. package/src/threadColors.js +35 -97
  66. package/src/unfriend.js +15 -20
  67. package/src/unsendMessage.js +71 -18
  68. package/utils.js +1000 -472
  69. package/README.md +0 -83
  70. package/replit.nix +0 -3
  71. package/src/changeAvatar.js +0 -89
  72. package/src/changeCover.js +0 -92
  73. package/src/changeName.js +0 -106
  74. package/src/changeUsername.js +0 -80
  75. package/src/createCommentPost.js +0 -196
  76. package/src/createPost.js +0 -285
  77. package/src/data/getThreadInfo.json +0 -1
  78. package/src/follow.js +0 -71
  79. package/src/getAccess.js +0 -130
  80. package/src/getAvatarUser.js +0 -88
  81. package/src/getBotInitialData.js +0 -59
  82. package/src/getCtx.js +0 -5
  83. package/src/getMessage.js +0 -827
  84. package/src/getOptions.js +0 -5
  85. package/src/getRegion.js +0 -7
  86. package/src/getThreadHistoryDeprecated.js +0 -95
  87. package/src/getThreadInfoDeprecated.js +0 -77
  88. package/src/getThreadListDeprecated.js +0 -86
  89. package/src/httpPostFormData.js +0 -58
  90. package/src/listenNotification.js +0 -96
  91. package/src/refreshFb_dtsg.js +0 -75
  92. package/src/searchStickers.js +0 -59
  93. package/src/sendMessageMqtt.js +0 -326
  94. package/src/setMessageReactionMqtt.js +0 -74
  95. package/src/setProfileGuard.js +0 -66
  96. package/src/setStoryReaction.js +0 -97
  97. package/src/stopListenMqtt.js +0 -47
  98. package/src/uploadAttachment.js +0 -98
package/.travis.yml ADDED
@@ -0,0 +1,6 @@
1
+ language: node_js
2
+ node_js:
3
+ - "6"
4
+
5
+ script:
6
+ - npm run lint
package/LICENSE-MIT ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2015 Avery, Benjamin, David, Maude
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
package/index.d.ts ADDED
@@ -0,0 +1,620 @@
1
+ // Origin: NOCOM-BOT/mod_fbmsg_legacy
2
+
3
+ declare module 'dinovn-fca' {
4
+ import type { Readable, Duplex, Transform } from "stream";
5
+ import type EventEmitter from "events";
6
+
7
+ type ReadableStream = Readable | Duplex | Transform;
8
+ function login(credentials: Partial<{
9
+ email: string,
10
+ password: string,
11
+ appState: AppstateData
12
+ }>, options: Partial<IFCAU_Options>, callback: (err: Error | null, api: IFCAU_API) => void): void;
13
+ function login(credentials: Partial<{
14
+ email: string,
15
+ password: string,
16
+ appState: AppstateData
17
+ }>, options: Partial<IFCAU_Options>): Promise<IFCAU_API>;
18
+ function login(credentials: Partial<{
19
+ email: string,
20
+ password: string,
21
+ appState: AppstateData
22
+ }>, callback: (err: Error | null, api: IFCAU_API) => void): void;
23
+ function login(credentials: Partial<{
24
+ email: string,
25
+ password: string,
26
+ appState: AppstateData
27
+ }>): Promise<IFCAU_API>;
28
+
29
+ export default login;
30
+
31
+ export type Cookie = {
32
+ key: string,
33
+ value: string,
34
+ domain: string,
35
+ path?: string,
36
+ hostOnly?: boolean,
37
+ creation?: string,
38
+ lastAccessed?: string
39
+ }
40
+
41
+ export type AppstateData = {
42
+ appState: Cookie[]
43
+ }
44
+
45
+ export type MessageObject = {
46
+ body: string,
47
+ sticker?: string,
48
+ attachment?: ReadableStream | ReadableStream[],
49
+ url?: string,
50
+ emoji?: string,
51
+ emojiSize?: string,
52
+ mentions?: {
53
+ tag: string,
54
+ id: string,
55
+ fromIndex?: number
56
+ }[],
57
+ location?: {
58
+ latitude: number,
59
+ longitude: number,
60
+ current?: boolean
61
+ }
62
+ }
63
+
64
+ function sendMessage(
65
+ message: string | MessageObject,
66
+ threadID: string | string[],
67
+ callback?: (err?: Error, data?: { threadID: string, messageID: string, timestamp: number }) => void,
68
+ replyMessageID?: string,
69
+ isGroup?: boolean
70
+ ): Promise<{ threadID: string, messageID: string, timestamp: number }>;
71
+ function sendMessage(
72
+ message: string | MessageObject,
73
+ threadID: string | string[],
74
+ replyMessageID?: string,
75
+ isGroup?: boolean
76
+ ): Promise<{ threadID: string, messageID: string, timestamp: number }>;
77
+
78
+ export type IFCAU_API = {
79
+ addUserToGroup: (userID: string, threadID: string, callback?: (err?: Error) => void) => Promise<void>,
80
+ changeAdminStatus: (threadID: string, adminIDs: string | string[], adminStatus: boolean, callback?: (err?: Error) => void) => Promise<void>,
81
+ changeApprovalMode: (approvalMode: 0 | 1, threadID: string, callback?: (err?: Error) => void) => Promise<void>,
82
+ changeArchivedStatus: (threadOrThreads: string | string[], archive: boolean, callback?: (err?: Error) => void) => Promise<void>,
83
+ changeBlockedStatus: (userID: string, blocked: boolean, callback?: (err?: Error) => void) => Promise<void>,
84
+ changeBlockedStatusMqtt: (userID: string, status: boolean, type: string?, callback?: (err?: Error) => void) => Promise<void>,
85
+ changeGroupImage: (image: ReadableStream, threadID: string, callback?: (err?: Error) => void) => Promise<void>,
86
+ changeNickname: (nickname: string, threadID: string, pariticipantID: string, callback?: (err?: Error) => void) => Promise<void>,
87
+ changeThreadColor: (color: string, threadID: string, callback?: (err?: Error) => void) => Promise<void>,
88
+ changeThreadEmoji: (emoji: string | null, threadID: string, callback?: (err?: Error) => void) => Promise<void>,
89
+ createNewGroup: (participantIDs: string[], groupTitle?: string, callback?: (err: Error, threadID: string) => void) => Promise<string>,
90
+ createPoll: (title: string, threadID: string, options?: { [item: string]: boolean }, callback?: (err?: Error) => void) => Promise<void>,
91
+ deleteMessage: (messageOrMessages: string | string[], callback?: (err?: Error) => void) => Promise<void>,
92
+ deleteThread: (threadOrThreads: string | string[], callback?: (err?: Error) => void) => Promise<void>,
93
+ editMessage: (text: string, messageID: string, callback?: (err?: Error) => void) => Promise<void>,
94
+ forwardAttachment: (attachmentID: string, userOrUsers: string | string[], callback?: (err?: Error) => void) => Promise<void>,
95
+ forwardMessage: (messageID: string, threadID: string, callback?: (err?: Error) => void) => Promise<void>,
96
+ getAppState: () => any,
97
+ getCurrentUserID: () => string,
98
+ getEmojiUrl: (c: string, size: number, pixelRatio: number) => string,
99
+ getFriendsList: (callback?: (err: Error | null, friends: IFCAU_Friend[]) => void) => Promise<IFCAU_Friend[]>,
100
+ getThreadHistory: (threadID: string, amount: number, time?: number, callback?: (err: Error | null, messages: any[]) => void) => Promise<any[]>,
101
+ getThreadInfo: (threadID: string, callback?: (err: Error | null, thread: IFCAU_Thread) => void) => Promise<IFCAU_Thread>,
102
+ getThreadList: (limit: number, timestamp: number | null, tags: string[], callback?: (err: Error | null, threads: IFCAU_ThreadList) => void) => Promise<IFCAU_ThreadList>,
103
+ getThreadPictures: (threadID: string, offset: number, limit: number, callback?: (err: Error | null, pictures: string[]) => void) => Promise<string[]>,
104
+ getUserID: (name: string, callback?: (err: Error | null, obj: IFCAU_UserIDResponse) => void) => Promise<IFCAU_UserIDResponse>,
105
+ getUserInfo: (userOrUsers: string | string[], callback?: (err: Error | null, users: { [id: string]: IFCAU_User }) => void) => Promise<{ [id: string]: IFCAU_User }>,
106
+ threadColors: {
107
+ [color: string]: string
108
+ },
109
+ handleMessageRequest(threadOrThreads: string | string[], accept: boolean, callback: (err?: Error) => void): Promise<void>;
110
+ listen(callback?: (err: Error | null, message: IFCAU_ListenMessage) => void): EventEmitter;
111
+ listenMqtt(callback?: (err: Error | null, message: IFCAU_ListenMessage) => void): EventEmitter & { stopListening: (callback?: () => void) => void };
112
+ logout: (callback?: (err?: Error) => void) => Promise<void>,
113
+ markAsDelivered(threadID: string, messageID: string, callback?: (err?: Error) => void): Promise<void>,
114
+ markAsRead(threadID: string, read?: boolean, callback?: (err?: Error) => void): Promise<void>,
115
+ markAsReadAll: (callback?: (err?: Error) => void) => Promise<void>,
116
+ markAsSeen(seenTimestamp?: number, callback?: (err?: Error) => void): Promise<void>,
117
+ muteThread: (threadID: string, muteSeconds: number, callback?: (err?: Error) => void) => Promise<void>,
118
+ pinMessage: (pinMode: boolean, messageID: string, threadID: string, callback?: (err?: Error) => void) => Promise<void>,
119
+ removeUserFromGroup: (userID: string, threadID: string, callback?: (err?: Error) => void) => Promise<void>,
120
+ resolvePhotoUrl: (photoID: string, callback?: (err: Error | null, url: string) => void) => Promise<string>,
121
+ sendMessage: typeof sendMessage,
122
+ sendComment: (message: string | {
123
+ body: string,
124
+ attachment?: ReadableStream,
125
+ }, postID: string, callback?: (err?: Error) => void) => Promise<void>,
126
+ sendTypingIndicator: (threadID: string, callback?: (err?: Error) => void | number, delay?: number) => Promise<void>,
127
+ setMessageReaction: (reaction: string, messageID: string, threadID: string, callback?: (err?: Error) => void) => Promise<void>,
128
+ setOptions: (options: Partial<IFCAU_Options>) => void,
129
+ setTitle: (newTitle: string, threadID: string, callback?: (err?: Error) => void) => Promise<void>,
130
+ shareContact: (contactID: string, threadID: string, callback?: (err?: Error) => void) => Promise<void>,
131
+ shareLink: (text: string, link: string, threadID: string, callback?: (err?: Error) => void) => Promise<void>,
132
+ setTheme: (themeID?: string, threadID: string, callback?: (err?: Error) => void) => Promise<void>,
133
+ unsendMessage: (messageID: string, threadID: string, callback?: (err?: Error) => void) => Promise<void>,
134
+ }
135
+
136
+ export type IFCAU_ListenMessage =
137
+ {
138
+ type: "message",
139
+ attachments: IFCAU_Attachment[],
140
+ args: string[],
141
+ body: string,
142
+ isGroup: boolean,
143
+ mentions: { [id: string]: string },
144
+ messageID: string,
145
+ senderID: string,
146
+ threadID: string,
147
+ isUnread: boolean,
148
+ participantIDs: string[]
149
+ } |
150
+ {
151
+ type: "event",
152
+ author: string,
153
+ logMessageBody: string,
154
+ logMessageData: {
155
+ image: {
156
+ attachmentID: string,
157
+ width: number,
158
+ height: number,
159
+ url: string
160
+ }
161
+ },
162
+ logMessageType: "log:thread-image",
163
+ threadID: string
164
+ } |
165
+ {
166
+ type: "event",
167
+ author: string,
168
+ logMessageBody: string,
169
+ logMessageData: {
170
+ addedParticipants: {
171
+ fanoutPolicy: string,
172
+ firstName: string,
173
+ fullName: string,
174
+ groupJoinStatus: string,
175
+ initialFolder: string,
176
+ initialFolderId: {
177
+ systemFolderId: string,
178
+ },
179
+ lastUnsubscribeTimestampMs: string,
180
+ userFbId: string,
181
+ isMessengerUser: boolean
182
+ }[],
183
+ },
184
+ logMessageType: "log:subscribe",
185
+ threadID: string,
186
+ participantIDs: string[]
187
+ } |
188
+ {
189
+ type: "event",
190
+ author: string,
191
+ logMessageBody: string,
192
+ logMessageData: { leftParticipantFbId: string },
193
+ logMessageType: "log:unsubscribe",
194
+ threadID: string,
195
+ participantIDs: string[]
196
+ } |
197
+ {
198
+ type: "event",
199
+ author: string,
200
+ logMessageBody: string,
201
+ logMessageData: { name: string },
202
+ logMessageType: "log:thread-name",
203
+ threadID: string,
204
+ participantIDs: string[]
205
+ } |
206
+ {
207
+ type: "event",
208
+ author: string,
209
+ logMessageBody: string,
210
+ logMessageData: {
211
+ theme_color: string,
212
+ gradient?: string,
213
+ should_show_icon: string,
214
+ theme_id: string,
215
+ accessibility_label: string,
216
+ theme_name_with_subtitle: string,
217
+ theme_emoji?: string
218
+ },
219
+ logMessageType: "log:thread-color",
220
+ threadID: string,
221
+ participantIDs: string[]
222
+ } |
223
+ {
224
+ type: "event",
225
+ author: string,
226
+ logMessageBody: string,
227
+ logMessageData: {
228
+ thread_quick_reaction_instruction_key_id: string,
229
+ thread_quick_reaction_emoji: string,
230
+ thread_quick_reaction_emoji_url: string
231
+ },
232
+ logMessageType: "log:thread-icon",
233
+ threadID: string,
234
+ participantIDs: string[]
235
+ } |
236
+ {
237
+ type: "event",
238
+ author: string,
239
+ logMessageBody: string,
240
+ logMessageData: {
241
+ nickname: string,
242
+ participant_id: string
243
+ },
244
+ logMessageType: "log:user-nickname",
245
+ threadID: string,
246
+ participantIDs: string[]
247
+ } |
248
+ {
249
+ type: "event",
250
+ author: string,
251
+ logMessageBody: string,
252
+ logMessageData: {
253
+ THREAD_CATEGORY: string,
254
+ TARGET_ID: string,
255
+ ADMIN_TYPE: string,
256
+ ADMIN_EVENT: 'add_admin' | 'remove_admin'
257
+ },
258
+ logMessageType: "log:thread-admins",
259
+ threadID: string,
260
+ participantIDs: string[]
261
+ } |
262
+ {
263
+ type: "event",
264
+ author: string,
265
+ logMessageBody: string,
266
+ logMessageData: {
267
+ removed_option_ids: string,
268
+ question_json: string,
269
+ event_type: 'question_creation' | 'update_vote' | 'add_unvoted_option' | 'multiple_updates',
270
+ added_option_ids: string,
271
+ new_option_texts: string,
272
+ new_option_ids: string,
273
+ question_id: string,
274
+ },
275
+ logMessageType: "log:thread-poll",
276
+ threadID: string,
277
+ participantIDs: string[]
278
+ } |
279
+ {
280
+ type: "event",
281
+ author: string,
282
+ logMessageBody: string,
283
+ logMessageData: { APPROVAL_MODE: '0' | '1', THREAD_CATEGORY: string },
284
+ logMessageType: "log:thread-approval-mode",
285
+ threadID: string,
286
+ participantIDs: string[]
287
+ } |
288
+ {
289
+ type: "event",
290
+ author: string,
291
+ logMessageBody: string,
292
+ logMessageData: any,
293
+ logMessageType: "log:thread-call",
294
+ threadID: string,
295
+ participantIDs: string[]
296
+ } |
297
+ {
298
+ type: "typ",
299
+ from: string,
300
+ fromMobile: boolean,
301
+ isTyping: boolean,
302
+ threadID: string
303
+ } |
304
+ {
305
+ type: "read",
306
+ threadID: string,
307
+ time: number,
308
+ } |
309
+ {
310
+ type: "read_receipt",
311
+ reader: string,
312
+ threadID: string,
313
+ time: number
314
+ } | {
315
+ type: "message_reaction",
316
+ threadID: string,
317
+ messageID: string,
318
+ reaction: string,
319
+ senderID: string,
320
+ userID: string,
321
+ reactionTimestamp: number
322
+ } | {
323
+ type: "presence",
324
+ statuses: number,
325
+ timestamp: number,
326
+ userID: string
327
+ } | {
328
+ type: "message_unsend",
329
+ threadID: string,
330
+ senderID: string,
331
+ messageID: string,
332
+ deletionnTimestamp: number
333
+ } | {
334
+ type: "message_reply"
335
+ attachments: IFCAU_Attachment[],
336
+ args: string[],
337
+ body: string,
338
+ isGroup: boolean,
339
+ mentions: { [id: string]: string },
340
+ messageID: string,
341
+ senderID: string,
342
+ threadID: string,
343
+ isUnread: boolean,
344
+ participantIDs: string[],
345
+ messageReply: {
346
+ attachments: IFCAU_Attachment[],
347
+ body: string,
348
+ isGroup: boolean,
349
+ mentions: { [id: string]: string },
350
+ messageID: string,
351
+ senderID: string,
352
+ threadID: string,
353
+ isUnread: boolean
354
+ }
355
+ };
356
+
357
+ export type IFCAU_Attachment =
358
+ {
359
+ type: "sticker",
360
+ ID: string,
361
+ url: string,
362
+ packID: string,
363
+ spriteUrl: string,
364
+ spriteUrl2x: string,
365
+ width: number,
366
+ height: number,
367
+ caption: string,
368
+ description: string,
369
+ frameCount: number,
370
+ frameRate: number,
371
+ framesPerRow: number,
372
+ framesPerCol: number
373
+ } |
374
+ {
375
+ type: "file",
376
+ ID: string,
377
+ filename: string,
378
+ url: string,
379
+ isMalicious: boolean,
380
+ contentType: string
381
+ } |
382
+ {
383
+ type: "photo",
384
+ ID: string,
385
+ filename: string,
386
+ thumbnailUrl: string,
387
+ previewUrl: string,
388
+ previewWidth: number,
389
+ previewHeight: number,
390
+ largePreviewUrl: string,
391
+ largePreviewWidth: number,
392
+ largePreviewHeight: number,
393
+ url: string,
394
+ width: number,
395
+ height: number
396
+ } |
397
+ {
398
+ type: "animated_image",
399
+ ID: string,
400
+ filename: string,
401
+ previewUrl: string,
402
+ previewWidth: number,
403
+ previewHeight: number,
404
+ url: string,
405
+ width: number,
406
+ height: number
407
+ } |
408
+ {
409
+ type: "video",
410
+ ID: string,
411
+ filename: string,
412
+ previewUrl: string,
413
+ previewWidth: number,
414
+ previewHeight: number,
415
+ url: string,
416
+ width: number,
417
+ height: number
418
+ duration: number,
419
+ videoType: string
420
+ } |
421
+ {
422
+ type: "audio",
423
+ ID: string,
424
+ filename: string,
425
+ audioType: string,
426
+ duration: number,
427
+ url: string,
428
+ isVoiceMail: boolean
429
+ } |
430
+ {
431
+ type: "location",
432
+ ID: string,
433
+ latitude: number,
434
+ longitude: number,
435
+ image: string,
436
+ width: number,
437
+ height: number,
438
+ url: string,
439
+ address: string
440
+ } |
441
+ {
442
+ type: "share",
443
+ ID: string,
444
+ url: string,
445
+ title: string,
446
+ description: string,
447
+ source: string,
448
+ image: string,
449
+ width: number,
450
+ height: number,
451
+ playable: boolean,
452
+ duration: number,
453
+ playableUrl: string,
454
+ subattachments: any,
455
+ properties: any
456
+ }
457
+
458
+ export type IFCAU_User = {
459
+ name: string,
460
+ firstName?: string,
461
+ vanity?: string,
462
+ thumbSrc: string,
463
+ profileUrl: string | null,
464
+ gender?: number,
465
+ type: string,
466
+ isFriend?: boolean,
467
+ isBirthday: boolean,
468
+ searchToken: any,
469
+ alternateName?: string
470
+ }
471
+
472
+ export type IFCAU_UserIDResponse = {
473
+ userID: string,
474
+ photoUrl: string,
475
+ indexRank: number,
476
+ name: string,
477
+ isVerified: boolean,
478
+ profileUrl: string,
479
+ category: string,
480
+ score: number,
481
+ type: string
482
+ }[];
483
+
484
+ export type IFCAU_Options = {
485
+ pauseLog: boolean,
486
+ logLevel: "silly" | "verbose" | "info" | "http" | "warn" | "error" | "silent",
487
+ selfListen: boolean,
488
+ listenEvents: boolean,
489
+ pageID: string,
490
+ updatePresence: boolean,
491
+ forceLogin: boolean,
492
+ userAgent: string,
493
+ autoMarkDelivery: boolean,
494
+ autoMarkRead: boolean,
495
+ proxy: string,
496
+ online: boolean
497
+ }
498
+
499
+ export type IFCAU_Friend = {
500
+ alternativeName: string,
501
+ firstName: string,
502
+ gender: string,
503
+ userID: string,
504
+ isFriend: boolean,
505
+ fullName: string,
506
+ profilePicture: string,
507
+ type: string,
508
+ profileUrl: string,
509
+ vanity: string,
510
+ isBirthday: boolean
511
+ }
512
+
513
+ export type IFCAU_Thread = {
514
+ threadID: string,
515
+ participantIDs: string[],
516
+ threadName: string,
517
+ userInfo: (IFCAU_User & { id: string })[],
518
+ nicknames: { [id: string]: string } | null,
519
+ unreadCount: number,
520
+ messageCount: number,
521
+ imageSrc: string,
522
+ timestamp: number,
523
+ muteUntil: number | null,
524
+ isGroup: boolean,
525
+ isSubscribed: boolean,
526
+ folder: 'INBOX' | 'ARCHIVE' | string,
527
+ isArchived: boolean,
528
+ cannotReplyReason: string | null,
529
+ lastReadTimestamp: number,
530
+ emoji: string | null,
531
+ color: string | null,
532
+ adminIDs: string[],
533
+ approvalMode: boolean,
534
+ approvalQueue: { inviterID: string, requesterID: string, timestamp: string }[]
535
+ }
536
+
537
+ export type IFCAU_ThreadList = {
538
+ threadID: string,
539
+ name: string,
540
+ unreadCount: number,
541
+ messageCount: number,
542
+ imageSrc: string,
543
+ emoji: string | null,
544
+ color: string | null,
545
+ nicknames: { userid: string, nickname: string }[],
546
+ muteUntil: number | null,
547
+ participants: IFCAU_ThreadList_Participants[],
548
+ adminIDs: string[],
549
+ folder: "INBOX" | "ARCHIVED" | "PENNDING" | "OTHER" | string,
550
+ isGroup: boolean,
551
+ customizationEnabled: boolean,
552
+ participantAddMode: string,
553
+ reactionMuteMode: string,
554
+ isArchived: boolean,
555
+ isSubscribed: boolean,
556
+ timestamp: number,
557
+ snippet: string,
558
+ snippetAttachments: string
559
+ snippetSender: string,
560
+ lastMessageTimestamp: number,
561
+ listReadTimestamp: number | null,
562
+ cannotReplyReason: string | null,
563
+ approvalMode: string
564
+ }[]
565
+
566
+ export type IFCAU_ThreadList_Participants =
567
+ {
568
+ accountType: "User",
569
+ userID: string,
570
+ name: string,
571
+ shortName: string,
572
+ gender: string,
573
+ url: string,
574
+ profilePicture: string,
575
+ username: string | null,
576
+ isViewerFriend: boolean,
577
+ isMessengerUser: boolean,
578
+ isVerified: boolean,
579
+ isMessageBlockedByViewer: boolean,
580
+ isViewerCoworker: boolean
581
+ } |
582
+ {
583
+ accountType: "Page",
584
+ userID: string,
585
+ name: string,
586
+ url: string,
587
+ profilePicture: string,
588
+ username: string | null,
589
+ acceptMessengerUserFeedback: boolean,
590
+ isMessengerUser: boolean,
591
+ isVerified: boolean,
592
+ isMessengerPlatformBot: boolean,
593
+ isMessageBlockedByViewer: boolean,
594
+ } |
595
+ {
596
+ accountType: "ReducedMessagingActor",
597
+ userID: string,
598
+ name: string,
599
+ url: string,
600
+ profilePicture: string,
601
+ username: string | null,
602
+ acceptMessengerUserFeedback: boolean,
603
+ isMessageBlockedByViewer: boolean
604
+ } |
605
+ {
606
+ accountType: "UnavailableMessagingActor",
607
+ userID: string,
608
+ name: string,
609
+ url: null,
610
+ profilePicture: string,
611
+ username: null,
612
+ acceptMessengerUserFeedback: boolean,
613
+ isMessageBlockedByViewer: boolean
614
+ } |
615
+ {
616
+ accountType: string,
617
+ userID: string,
618
+ name: string
619
+ };
620
+ }