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,696 @@
1
+ /// <reference types="node" />
2
+ import { EventEmitter } from 'events';
3
+ import { ReadStream } from 'fs';
4
+
5
+ export type UserID = string;
6
+ export type ThreadID = string;
7
+ export type MessageID = string;
8
+ export type Callback<T = any> = (err: any, result?: T) => void;
9
+
10
+ export interface Coordinates {
11
+ latitude: number;
12
+ longitude: number;
13
+ }
14
+
15
+ export interface Mention {
16
+ tag: string;
17
+ id: UserID;
18
+ fromIndex?: number;
19
+ }
20
+
21
+ export interface Reaction {
22
+ reaction: string;
23
+ userID: UserID;
24
+ }
25
+
26
+ export interface StickerPackInfo {
27
+ id: string;
28
+ name: string;
29
+ thumbnail?: string;
30
+ }
31
+
32
+ export interface StickerInfo {
33
+ type: 'sticker';
34
+ ID: string;
35
+ url?: string;
36
+ animatedUrl?: string;
37
+ packID?: string;
38
+ label: string;
39
+ stickerID: string;
40
+ }
41
+
42
+ export interface AddedStickerPackInfo {
43
+ id: string;
44
+ name: string;
45
+ in_sticker_tray: boolean;
46
+ artist?: string;
47
+ preview_image?: { uri: string };
48
+ thumbnail_image?: { uri: string };
49
+ }
50
+
51
+ export interface CommentMessage {
52
+ body: string;
53
+ attachment?: ReadStream[];
54
+ mentions?: Mention[];
55
+ url?: string;
56
+ sticker?: string;
57
+ }
58
+
59
+ export interface CommentResult {
60
+ id: string;
61
+ url: string;
62
+ count: number;
63
+ }
64
+
65
+ export interface PostCommentAuthor {
66
+ id: string | null;
67
+ name: string;
68
+ avatar: string | null;
69
+ }
70
+
71
+ export interface PostCommentReply {
72
+ id: string;
73
+ text: string;
74
+ created_time: number;
75
+ author: PostCommentAuthor;
76
+ }
77
+
78
+ export interface PostComment {
79
+ id: string;
80
+ graphql_id: string;
81
+ text: string;
82
+ author: PostCommentAuthor;
83
+ created_time: number;
84
+ reply_count: number;
85
+ total_reply_count: number;
86
+ depth: number;
87
+ replies?: PostCommentReply[];
88
+ }
89
+
90
+ export interface GetPostCommentsOptions {
91
+ story_fbid: string;
92
+ id?: string;
93
+ }
94
+
95
+ export interface ShareResult {
96
+ postID: string;
97
+ url: string;
98
+ }
99
+
100
+ export interface CreatePostOptions {
101
+ message?: string;
102
+ privacy?: 'EVERYONE' | 'FRIENDS' | 'SELF';
103
+ photos?: string[];
104
+ }
105
+
106
+ export interface CreatePostResult {
107
+ success: boolean;
108
+ postID: string | null;
109
+ data: any;
110
+ url?: string | null;
111
+ }
112
+
113
+ export interface DeletePostResult {
114
+ success: boolean;
115
+ postID: string;
116
+ data: any;
117
+ }
118
+
119
+ export interface UploadPhotoResult {
120
+ success: boolean;
121
+ photoID: string | null;
122
+ uploadID: string;
123
+ data: any;
124
+ }
125
+
126
+ export interface Attachment {
127
+ type:
128
+ | 'photo'
129
+ | 'animated_image'
130
+ | 'video'
131
+ | 'audio'
132
+ | 'file'
133
+ | 'sticker'
134
+ | 'share'
135
+ | 'location'
136
+ | 'unknown';
137
+ ID: string;
138
+ filename: string;
139
+ url?: string;
140
+ name?: string;
141
+ }
142
+
143
+ export interface PhotoAttachment extends Attachment {
144
+ type: 'photo';
145
+ thumbnailUrl: string;
146
+ previewUrl: string;
147
+ previewWidth: number;
148
+ previewHeight: number;
149
+ largePreviewUrl: string;
150
+ largePreviewWidth: number;
151
+ largePreviewHeight: number;
152
+ width: number;
153
+ height: number;
154
+ }
155
+
156
+ export interface VideoAttachment extends Attachment {
157
+ type: 'video';
158
+ duration: number;
159
+ width: number;
160
+ height: number;
161
+ previewUrl: string;
162
+ previewWidth: number;
163
+ previewHeight: number;
164
+ videoType: 'file_attachment' | 'native_video' | 'unknown';
165
+ }
166
+
167
+ export interface AudioAttachment extends Attachment {
168
+ type: 'audio';
169
+ duration: number;
170
+ audioType: string;
171
+ isVoiceMail: boolean;
172
+ }
173
+
174
+ export interface FileAttachment extends Attachment {
175
+ type: 'file';
176
+ isMalicious: boolean;
177
+ contentType: string;
178
+ }
179
+
180
+ export interface StickerAttachment extends Attachment {
181
+ type: 'sticker';
182
+ packID: string;
183
+ spriteUrl?: string;
184
+ spriteUrl2x?: string;
185
+ width: number;
186
+ height: number;
187
+ caption: string;
188
+ description: string;
189
+ frameCount: number;
190
+ frameRate: number;
191
+ framesPerRow: number;
192
+ framesPerCol: number;
193
+ }
194
+
195
+ export interface ShareAttachment extends Attachment {
196
+ type: 'share';
197
+ title: string;
198
+ description?: string;
199
+ source?: string;
200
+ image?: string;
201
+ width?: number;
202
+ height?: number;
203
+ playable?: boolean;
204
+ subattachments?: any[];
205
+ properties: Record<string, any>;
206
+ }
207
+
208
+ export type AnyAttachment =
209
+ | PhotoAttachment
210
+ | VideoAttachment
211
+ | AudioAttachment
212
+ | FileAttachment
213
+ | StickerAttachment
214
+ | ShareAttachment;
215
+
216
+ export interface MessageReply {
217
+ messageID: MessageID;
218
+ senderID: UserID;
219
+ body: string;
220
+ attachments: AnyAttachment[];
221
+ timestamp: string;
222
+ isReply: true;
223
+ }
224
+
225
+ export interface Message {
226
+ type: 'message';
227
+ senderID: UserID;
228
+ body: string;
229
+ threadID: ThreadID;
230
+ messageID: MessageID;
231
+ attachments: AnyAttachment[];
232
+ mentions: Record<string, string>;
233
+ timestamp: string;
234
+ isGroup: boolean;
235
+ participantIDs?: UserID[];
236
+ messageReply?: MessageReply;
237
+ isUnread?: boolean;
238
+ reactions?: Reaction[];
239
+ }
240
+
241
+ export interface Event {
242
+ type: 'event';
243
+ threadID: ThreadID;
244
+ logMessageType: string;
245
+ logMessageData: any;
246
+ logMessageBody: string;
247
+ timestamp: string;
248
+ author: UserID;
249
+ }
250
+
251
+ export interface TypingIndicator {
252
+ type: 'typ';
253
+ isTyping: boolean;
254
+ from: UserID;
255
+ threadID: ThreadID;
256
+ fromMobile: boolean;
257
+ }
258
+
259
+ export interface PresenceEvent {
260
+ type: 'presence';
261
+ userID: UserID;
262
+ timestamp: number;
263
+ statuses: number;
264
+ }
265
+
266
+ export interface UnsendMessageEvent {
267
+ threadID: ThreadID;
268
+ messageID: MessageID;
269
+ senderID: UserID;
270
+ deletionTimestamp: string;
271
+ timestamp: string;
272
+ }
273
+
274
+ export interface EmojiEvent {
275
+ threadID: ThreadID;
276
+ emoji: string;
277
+ }
278
+
279
+ export interface GroupNameEvent {
280
+ threadID: ThreadID;
281
+ name: string;
282
+ }
283
+
284
+ export interface NicknameEvent {
285
+ threadID: ThreadID;
286
+ participantID: UserID;
287
+ nickname: string;
288
+ }
289
+
290
+ export interface GroupRuleEvent {
291
+ threadID: ThreadID;
292
+ }
293
+
294
+ export type ListenEvent = Message | Event | TypingIndicator | PresenceEvent;
295
+
296
+ export interface UserInfo {
297
+ id: UserID;
298
+ name: string;
299
+ firstName: string;
300
+ lastName?: string;
301
+ vanity: string;
302
+ profileUrl: string;
303
+ profilePicUrl: string;
304
+ gender: string;
305
+ type: 'user' | 'page';
306
+ isFriend: boolean;
307
+ isBirthday: boolean;
308
+ bio?: string;
309
+ live_city?: string;
310
+ followers?: string;
311
+ following?: string;
312
+ coverPhoto?: string;
313
+ }
314
+
315
+ export interface ThreadInfo {
316
+ threadID: ThreadID;
317
+ threadName?: string;
318
+ participantIDs: UserID[];
319
+ userInfo: UserInfo[];
320
+ unreadCount: number;
321
+ messageCount: number;
322
+ imageSrc?: string;
323
+ timestamp: string;
324
+ muteUntil: number;
325
+ isGroup: boolean;
326
+ isArchived: boolean;
327
+ isSubscribed: boolean;
328
+ folder: string;
329
+ nicknames: Record<UserID, string>;
330
+ adminIDs: UserID[];
331
+ emoji?: string;
332
+ color?: string;
333
+ canReply: boolean;
334
+ inviteLink: {
335
+ enable: boolean;
336
+ link: string | null;
337
+ };
338
+ }
339
+
340
+ export interface MessageObject {
341
+ body?: string;
342
+ attachment?: ReadStream[];
343
+ sticker?: string;
344
+ emoji?: string;
345
+ emojiSize?: 'small' | 'medium' | 'large';
346
+ mentions?: Mention[];
347
+ edit?: [string, number][];
348
+ }
349
+
350
+ export interface API {
351
+ /** Set global options for the API. */
352
+ setOptions(options: LoginOptions): void;
353
+
354
+ /** Get the current appState (cookies) for saving/restoring sessions. */
355
+ getAppState(): any[];
356
+
357
+ /** Get the current logged-in user's ID. */
358
+ getCurrentUserID(): UserID;
359
+
360
+ /** Get a specific option value or all options. */
361
+ getOptions(key?: string): any;
362
+
363
+ // ── Listening ──────────────────────────────────────────────────
364
+
365
+ /** Start listening for new messages and events via MQTT. */
366
+ listenMqtt(callback: (err: any, event: ListenEvent) => void): EventEmitter;
367
+
368
+ /** Start listening for new messages and events (speed variant). */
369
+ listenSpeed(callback: (err: any, event: ListenEvent) => void): EventEmitter;
370
+
371
+ /** Start listening for realtime events. */
372
+ realtime(callback: (err: any, event: ListenEvent) => void): EventEmitter;
373
+
374
+ // ── Messaging ──────────────────────────────────────────────────
375
+
376
+ /** Send a message (plain text or object) to a thread via MQTT. */
377
+ sendMessageMqtt(
378
+ message: string | MessageObject,
379
+ threadID: ThreadID,
380
+ replyToMessage?: MessageID,
381
+ callback?: Callback<Message>,
382
+ ): void;
383
+
384
+ /** Send a message (plain text or object) to a thread via HTTP. */
385
+ sendMessage(
386
+ message: string | MessageObject,
387
+ threadID: ThreadID,
388
+ replyToMessage?: MessageID,
389
+ callback?: Callback<Message>,
390
+ ): Promise<any>;
391
+
392
+ /** Edit an existing message's text. */
393
+ editMessage(text: string, messageID: MessageID, callback?: Callback): void;
394
+
395
+ /** Unsend (delete) a message for everyone. */
396
+ unsendMessage(
397
+ messageID: MessageID,
398
+ threadID: ThreadID,
399
+ callback?: Callback<UnsendMessageEvent>,
400
+ ): Promise<UnsendMessageEvent>;
401
+
402
+ /** Set a reaction emoji on a message via MQTT. */
403
+ setMessageReactionMqtt(
404
+ reaction: string,
405
+ messageID: MessageID,
406
+ callback?: Callback,
407
+ ): void;
408
+
409
+ /** Set a reaction emoji on a message via HTTP. */
410
+ setMessageReaction(
411
+ reaction: string,
412
+ messageID: MessageID,
413
+ callback?: Callback,
414
+ ): void;
415
+
416
+ /** Send a typing indicator to a thread. */
417
+ sendTypingIndicator(
418
+ sendTyping: boolean,
419
+ threadID: ThreadID,
420
+ callback?: Callback,
421
+ ): Promise<void>;
422
+
423
+ // ── Read Receipts ──────────────────────────────────────────────
424
+
425
+ /** Mark a thread as read. */
426
+ markAsRead(
427
+ threadID: ThreadID,
428
+ read?: boolean,
429
+ callback?: Callback,
430
+ ): Promise<any>;
431
+
432
+ /** Mark all threads as read. */
433
+ markAsReadAll(callback?: Callback): Promise<void>;
434
+
435
+ /** Mark messages as seen. */
436
+ markAsSeen(timestamp?: number, callback?: Callback): Promise<void>;
437
+
438
+ /** Mark a message as delivered. */
439
+ markAsDelivered(
440
+ threadID: ThreadID,
441
+ messageID: MessageID,
442
+ callback?: Callback,
443
+ ): Promise<void>;
444
+
445
+ // ── Thread Info ────────────────────────────────────────────────
446
+
447
+ /** Get information about a thread. */
448
+ getThreadInfo(
449
+ threadID: ThreadID,
450
+ callback?: Callback<ThreadInfo>,
451
+ ): Promise<ThreadInfo>;
452
+ getThreadInfo(
453
+ threadID: ThreadID[],
454
+ callback?: Callback<Record<ThreadID, ThreadInfo>>,
455
+ ): Promise<Record<ThreadID, ThreadInfo>>;
456
+
457
+ /** Get a list of threads. */
458
+ getThreadList(
459
+ limit: number,
460
+ timestamp: number | null,
461
+ tags: string[],
462
+ callback?: Callback<ThreadInfo[]>,
463
+ ): Promise<ThreadInfo[]>;
464
+
465
+ /** Get message history for a thread. */
466
+ getThreadHistory(
467
+ threadID: ThreadID,
468
+ amount: number,
469
+ timestamp: number | null,
470
+ callback?: Callback<Message[]>,
471
+ ): Promise<Message[]>;
472
+
473
+ // ── User Info ──────────────────────────────────────────────────
474
+
475
+ /** Get information about one or more users. */
476
+ getUserInfo(
477
+ id: UserID,
478
+ usePayload?: boolean,
479
+ callback?: Callback<UserInfo>,
480
+ ): Promise<UserInfo>;
481
+ getUserInfo(
482
+ id: UserID[],
483
+ usePayload?: boolean,
484
+ callback?: Callback<Record<UserID, UserInfo>>,
485
+ ): Promise<Record<UserID, UserInfo>>;
486
+
487
+ // ── Group Chat Management ─────────────────────────────────────
488
+
489
+ /** Change the emoji for a thread. */
490
+ emoji(
491
+ emoji: string,
492
+ threadID?: ThreadID,
493
+ callback?: Callback<EmojiEvent>,
494
+ ): Promise<EmojiEvent>;
495
+
496
+ /** Change the group chat name. */
497
+ gcname(
498
+ newName: string,
499
+ threadID?: ThreadID,
500
+ callback?: Callback<GroupNameEvent>,
501
+ ): Promise<GroupNameEvent>;
502
+
503
+ /** Change a group chat member's nickname. */
504
+ nickname(
505
+ nickname: string,
506
+ threadID: ThreadID,
507
+ participantID: UserID,
508
+ callback?: Callback<NicknameEvent>,
509
+ ): Promise<NicknameEvent>;
510
+
511
+ /** Change the group chat theme. */
512
+ theme(
513
+ themeID: string,
514
+ threadID?: ThreadID,
515
+ callback?: Callback,
516
+ ): Promise<any>;
517
+
518
+ /** Add or remove members from a group chat. */
519
+ gcmember(
520
+ action: 'add' | 'remove',
521
+ threadID: ThreadID,
522
+ memberIDs: UserID | UserID[],
523
+ callback?: Callback,
524
+ ): Promise<any>;
525
+
526
+ /** Manage group chat rules. */
527
+ gcrule(
528
+ threadID: ThreadID,
529
+ rules: any,
530
+ callback?: Callback<GroupRuleEvent>,
531
+ ): Promise<GroupRuleEvent>;
532
+
533
+ /** Create, edit, or manage group notes. */
534
+ notes(options: any, callback?: Callback): Promise<any>;
535
+
536
+ /** Pin or unpin a message in a thread. */
537
+ pinMessage(
538
+ action: 'pin' | 'unpin',
539
+ threadID: ThreadID,
540
+ messageID: MessageID,
541
+ ): Promise<any>;
542
+ pinMessage(action: 'list', threadID: ThreadID): Promise<Message[]>;
543
+
544
+ // ── Contact ────────────────────────────────────────────────────
545
+
546
+ /** Share a contact card to a thread. */
547
+ shareContact(
548
+ text: string,
549
+ senderID: UserID,
550
+ threadID: ThreadID,
551
+ callback?: Callback,
552
+ ): void;
553
+ shareContact(senderID: UserID, threadID: ThreadID, callback?: Callback): void;
554
+
555
+ /** Resolve a photo's full URL from its ID. */
556
+ resolvePhotoUrl(
557
+ photoID: string,
558
+ callback?: Callback<string>,
559
+ ): Promise<string>;
560
+
561
+ // ── Posting ────────────────────────────────────────────────────
562
+
563
+ /** Post, comment, and manage Facebook posts. */
564
+ post: {
565
+ create(
566
+ options: string | CreatePostOptions,
567
+ callback?: Callback<CreatePostResult>,
568
+ ): Promise<CreatePostResult>;
569
+ delete(
570
+ postID: string,
571
+ callback?: Callback<DeletePostResult>,
572
+ ): Promise<DeletePostResult>;
573
+ getComments(
574
+ postID: string | GetPostCommentsOptions,
575
+ callback?: Callback<PostComment[]>,
576
+ ): Promise<PostComment[]>;
577
+ uploadPhoto(
578
+ photoPath: string,
579
+ callback?: Callback<UploadPhotoResult>,
580
+ ): Promise<UploadPhotoResult>;
581
+ };
582
+
583
+ /** Comment on a Facebook post. */
584
+ comment(
585
+ msg: string | CommentMessage,
586
+ postID: string,
587
+ replyCommentID?: string,
588
+ callback?: Callback<CommentResult>,
589
+ ): Promise<CommentResult>;
590
+
591
+ /** Share a Facebook post. */
592
+ share(
593
+ text: string,
594
+ postID: string,
595
+ callback?: Callback<ShareResult>,
596
+ ): Promise<ShareResult>;
597
+ share(postID: string, callback?: Callback<ShareResult>): Promise<ShareResult>;
598
+
599
+ /** Post a story. */
600
+ story(options: any, callback?: Callback): Promise<any>;
601
+
602
+ // ── Social ─────────────────────────────────────────────────────
603
+
604
+ /** Follow or unfollow a user. */
605
+ follow(senderID: UserID, follow: boolean, callback?: Callback): void;
606
+
607
+ /** Send or cancel a friend request. */
608
+ friend(action: 'add' | 'cancel', userID: UserID, callback?: Callback): void;
609
+
610
+ // ── Stickers ───────────────────────────────────────────────────
611
+
612
+ /** Sticker-related API methods. */
613
+ stickers: {
614
+ search(query: string): Promise<StickerInfo[]>;
615
+ listPacks(): Promise<StickerPackInfo[]>;
616
+ getStorePacks(): Promise<StickerPackInfo[]>;
617
+ listAllPacks(): Promise<StickerPackInfo[]>;
618
+ addPack(packID: string): Promise<AddedStickerPackInfo>;
619
+ getStickersInPack(packID: string): Promise<StickerInfo[]>;
620
+ getAiStickers(options?: { limit?: number }): Promise<StickerInfo[]>;
621
+ };
622
+
623
+ // ── HTTP ───────────────────────────────────────────────────────
624
+
625
+ /** Make an authenticated GET request. */
626
+ httpGet(
627
+ url: string,
628
+ form?: any,
629
+ customHeader?: any,
630
+ callback?: Callback<string>,
631
+ notAPI?: boolean,
632
+ ): Promise<string>;
633
+
634
+ /** Make an authenticated POST request. */
635
+ httpPost(
636
+ url: string,
637
+ form?: any,
638
+ customHeader?: any,
639
+ callback?: Callback<string>,
640
+ notAPI?: boolean,
641
+ ): Promise<string>;
642
+
643
+ /** Make an authenticated POST request with form data. */
644
+ httpPostFormData(
645
+ url: string,
646
+ form?: any,
647
+ customHeader?: any,
648
+ callback?: Callback<string>,
649
+ notAPI?: boolean,
650
+ ): Promise<string>;
651
+
652
+ // ── Session ────────────────────────────────────────────────────
653
+
654
+ /** Log out and invalidate the current session. */
655
+ logout(callback?: (err: any) => void): Promise<void>;
656
+
657
+ /** Get bot info from the session. */
658
+ GetBotInfo(callback?: Callback): Promise<any>;
659
+
660
+ /** Get access token. */
661
+ getAccess(authCode?: string, callback?: Callback<string>): Promise<string>;
662
+
663
+ /** Add an external module to extend the API. */
664
+ addExternalModule(moduleObj: Record<string, Function>): void;
665
+
666
+ /** Allow accessing dynamically loaded methods. */
667
+ [key: string]: any;
668
+ }
669
+
670
+ export interface LoginCredentials {
671
+ appState?: any;
672
+ }
673
+
674
+ export interface LoginOptions {
675
+ online?: boolean;
676
+ selfListen?: boolean;
677
+ listenEvents?: boolean;
678
+ updatePresence?: boolean;
679
+ forceLogin?: boolean;
680
+ autoMarkDelivery?: boolean;
681
+ autoMarkRead?: boolean;
682
+ listenTyping?: boolean;
683
+ proxy?: string;
684
+ autoReconnect?: boolean;
685
+ userAgent?: string;
686
+ emitReady?: boolean;
687
+ randomUserAgent?: boolean;
688
+ bypassRegion?: string;
689
+ }
690
+
691
+ /** Log in to Facebook Messenger and receive an API instance. */
692
+ export function login(
693
+ credentials: LoginCredentials,
694
+ options: LoginOptions | Callback<API>,
695
+ callback?: Callback<API>,
696
+ ): void;
@@ -0,0 +1,2 @@
1
+ declare function login(credentials: any, options: any, callback?: (...args: any[]) => any): Promise<void>;
2
+ export { login };
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Builds the core API context and default functions after successful login.
3
+ *
4
+ * @param {string} html The HTML body from the initial Facebook page.
5
+ * @param {object} jar The cookie jar.
6
+ * @param {Array<object>} netData Network data extracted from the HTML.
7
+ * @param {object} globalOptions The global options object.
8
+ * @param {function} fbLinkFunc A function to generate Facebook links.
9
+ * @param {string} errorRetrievingMsg The error message for retrieving user ID.
10
+ * @returns {Array<object>} An array containing [ctx, defaultFuncs, {}].
11
+ */
12
+ declare function buildAPI(html: string, jar: any, netData: any[], globalOptions: any, fbLinkFunc: (...args: any[]) => string, errorRetrievingMsg: string): Promise<[any, any, any]>;
13
+ export default buildAPI;