1 | <!doctype html>
|
2 | <html class="default no-js">
|
3 | <head>
|
4 | <meta charset="utf-8">
|
5 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
|
6 | <title>libfb</title>
|
7 | <meta name="description" content="">
|
8 | <meta name="viewport" content="width=device-width, initial-scale=1">
|
9 | <link rel="stylesheet" href="assets/css/main.css">
|
10 | </head>
|
11 | <body>
|
12 | <header>
|
13 | <div class="tsd-page-toolbar">
|
14 | <div class="container">
|
15 | <div class="table-wrap">
|
16 | <div class="table-cell" id="tsd-search" data-index="assets/js/search.js" data-base=".">
|
17 | <div class="field">
|
18 | <label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
|
19 | <input id="tsd-search-field" type="text" />
|
20 | </div>
|
21 | <ul class="results">
|
22 | <li class="state loading">Preparing search index...</li>
|
23 | <li class="state failure">The search index is not available</li>
|
24 | </ul>
|
25 | <a href="index.html" class="title">libfb</a>
|
26 | </div>
|
27 | <div class="table-cell" id="tsd-widgets">
|
28 | <div id="tsd-filter">
|
29 | <a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
|
30 | <div class="tsd-filter-group">
|
31 | <div class="tsd-select" id="tsd-filter-visibility">
|
32 | <span class="tsd-select-label">All</span>
|
33 | <ul class="tsd-select-list">
|
34 | <li data-value="public">Public</li>
|
35 | <li data-value="protected">Public/Protected</li>
|
36 | <li data-value="private" class="selected">All</li>
|
37 | </ul>
|
38 | </div>
|
39 | <input type="checkbox" id="tsd-filter-inherited" checked />
|
40 | <label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
|
41 | <input type="checkbox" id="tsd-filter-externals" checked />
|
42 | <label class="tsd-widget" for="tsd-filter-externals">Externals</label>
|
43 | </div>
|
44 | </div>
|
45 | <a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
|
46 | </div>
|
47 | </div>
|
48 | </div>
|
49 | </div>
|
50 | <div class="tsd-page-title">
|
51 | <div class="container">
|
52 | <ul class="tsd-breadcrumb">
|
53 | <li>
|
54 | <a href="globals.html">Globals</a>
|
55 | </li>
|
56 | </ul>
|
57 | <h1> libfb</h1>
|
58 | </div>
|
59 | </div>
|
60 | </header>
|
61 | <div class="container container-main">
|
62 | <div class="row">
|
63 | <div class="col-8 col-content">
|
64 | <div class="tsd-panel tsd-typography">
|
65 | <h1 id="libfb-js">libfb-js</h1>
|
66 | <blockquote>
|
67 | <p>Facebook chat MQTT library for Node.js</p>
|
68 | </blockquote>
|
69 | <p><img src="https://img.shields.io/npm/v/libfb.svg?style=for-the-badge" alt="npm">
|
70 | <a href="https://npmjs.com/package/libfb"><img src="https://img.shields.io/npm/dt/libfb.svg?style=for-the-badge" alt="npm"></a>
|
71 | <img src="https://img.shields.io/badge/Built%20with-%E2%9D%A4%20LOVE-red.svg?longCache=true&style=for-the-badge" alt="love"></p>
|
72 | <h2 id="example-usage">Example usage</h2>
|
73 | <h3 id="echo-bot">Echo bot</h3>
|
74 | <pre><code class="language-js"><span class="hljs-keyword">const</span> { Client } = <span class="hljs-built_in">require</span>(<span class="hljs-string">'libfb'</span>)
|
75 | <span class="hljs-keyword">const</span> client = <span class="hljs-keyword">new</span> Client()
|
76 | client.login(<span class="hljs-string">'username'</span>, <span class="hljs-string">'password'</span>).then(<span class="hljs-function"><span class="hljs-params">()</span> =></span> {
|
77 | client.on(<span class="hljs-string">'message'</span>, message => {
|
78 | <span class="hljs-built_in">console</span>.log(<span class="hljs-string">'Got a message!'</span>)
|
79 | <span class="hljs-built_in">console</span>.log(message.message)
|
80 | client.sendMessage(message.threadId, message.message)
|
81 | })
|
82 | })</code></pre>
|
83 | <h3 id="chat-greeting">Chat greeting</h3>
|
84 | <pre><code class="language-js"><span class="hljs-keyword">const</span> { Client } = <span class="hljs-built_in">require</span>(<span class="hljs-string">'libfb'</span>)
|
85 | <span class="hljs-keyword">const</span> client = <span class="hljs-keyword">new</span> Client()
|
86 | client.login(<span class="hljs-string">'username'</span>, <span class="hljs-string">'password'</span>).then(<span class="hljs-function"><span class="hljs-params">()</span> =></span> {
|
87 | client.on(<span class="hljs-string">'participantsAddedToGroupThreadEvent'</span>, <span class="hljs-keyword">async</span> event => {
|
88 | <span class="hljs-keyword">const</span> user = <span class="hljs-keyword">await</span> client.getUserInfo(event.participantIds[<span class="hljs-number">0</span>])
|
89 | client.sendMessage(event.threadId, <span class="hljs-string">`Hello, <span class="hljs-subst">${user.name}</span>!`</span>)
|
90 | })
|
91 | })</code></pre>
|
92 | <h2 id="documentation">Documentation</h2>
|
93 | <p>See <a href="https://chatplug.github.io/libfb-js/">here</a></p>
|
94 | <h2 id="disclaimer">Disclaimer</h2>
|
95 | <blockquote>
|
96 | <p>We do not guarantee that this product will work correctly. Use only with <a href="https://www.facebook.com/whitehat/accounts/">whitehat accounts</a> for research/educational purposes. We are not responsible for getting banned on Facebook.<br>MQTT connection logic was based on <a href="https://github.com/bitlbee-facebook">bitlbee-facebook</a>.<br>All product and company names are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.<br>"Facebook" is a registered trademark of Facebook, Inc., used under license agreement.</p>
|
97 | </blockquote>
|
98 | </div>
|
99 | </div>
|
100 | <div class="col-4 col-menu menu-sticky-wrap menu-highlight">
|
101 | <nav class="tsd-navigation primary">
|
102 | <ul>
|
103 | <li class="globals ">
|
104 | <a href="globals.html"><em>Globals</em></a>
|
105 | </li>
|
106 | </ul>
|
107 | </nav>
|
108 | <nav class="tsd-navigation secondary menu-sticky">
|
109 | <ul class="before-current">
|
110 | <li class=" tsd-kind-class">
|
111 | <a href="classes/apierror.html" class="tsd-kind-icon">APIError</a>
|
112 | </li>
|
113 | <li class=" tsd-kind-class">
|
114 | <a href="classes/attachmentnotfounderror.html" class="tsd-kind-icon">Attachment<wbr>Not<wbr>Found<wbr>Error</a>
|
115 | </li>
|
116 | <li class=" tsd-kind-class">
|
117 | <a href="classes/attachmenturlmissingerror.html" class="tsd-kind-icon">AttachmentURLMissing<wbr>Error</a>
|
118 | </li>
|
119 | <li class=" tsd-kind-class">
|
120 | <a href="classes/authapierror.html" class="tsd-kind-icon">AuthAPIError</a>
|
121 | </li>
|
122 | <li class=" tsd-kind-class">
|
123 | <a href="classes/client.html" class="tsd-kind-icon">Client</a>
|
124 | </li>
|
125 | <li class=" tsd-kind-class">
|
126 | <a href="classes/randomintgenerator.html" class="tsd-kind-icon">Random<wbr>Int<wbr>Generator</a>
|
127 | </li>
|
128 | <li class=" tsd-kind-class">
|
129 | <a href="classes/uploadapierror.html" class="tsd-kind-icon">UploadAPIError</a>
|
130 | </li>
|
131 | <li class=" tsd-kind-interface">
|
132 | <a href="interfaces/addthreadadminsevent.html" class="tsd-kind-icon">Add<wbr>Thread<wbr>Admins<wbr>Event</a>
|
133 | </li>
|
134 | <li class=" tsd-kind-interface">
|
135 | <a href="interfaces/advertxma.html" class="tsd-kind-icon">AdvertXMA</a>
|
136 | </li>
|
137 | <li class=" tsd-kind-interface">
|
138 | <a href="interfaces/attachment.html" class="tsd-kind-icon">Attachment</a>
|
139 | </li>
|
140 | <li class=" tsd-kind-interface">
|
141 | <a href="interfaces/audioattachment.html" class="tsd-kind-icon">Audio<wbr>Attachment</a>
|
142 | </li>
|
143 | <li class=" tsd-kind-interface">
|
144 | <a href="interfaces/authtokens.html" class="tsd-kind-icon">Auth<wbr>Tokens</a>
|
145 | </li>
|
146 | <li class=" tsd-kind-interface">
|
147 | <a href="interfaces/changethreadiconevent.html" class="tsd-kind-icon">Change<wbr>Thread<wbr>Icon<wbr>Event</a>
|
148 | </li>
|
149 | <li class=" tsd-kind-interface">
|
150 | <a href="interfaces/changethreadnicknameevent.html" class="tsd-kind-icon">Change<wbr>Thread<wbr>Nickname<wbr>Event</a>
|
151 | </li>
|
152 | <li class=" tsd-kind-interface">
|
153 | <a href="interfaces/changethreadthemeevent.html" class="tsd-kind-icon">Change<wbr>Thread<wbr>Theme<wbr>Event</a>
|
154 | </li>
|
155 | <li class=" tsd-kind-interface">
|
156 | <a href="interfaces/clientevents.html" class="tsd-kind-icon">Client<wbr>Events</a>
|
157 | </li>
|
158 | <li class=" tsd-kind-interface">
|
159 | <a href="interfaces/clientoptions.html" class="tsd-kind-icon">Client<wbr>Options</a>
|
160 | </li>
|
161 | <li class=" tsd-kind-interface">
|
162 | <a href="interfaces/deliveryreceiptevent.html" class="tsd-kind-icon">Delivery<wbr>Receipt<wbr>Event</a>
|
163 | </li>
|
164 | <li class=" tsd-kind-interface">
|
165 | <a href="interfaces/deviceid.html" class="tsd-kind-icon">Device<wbr>Id</a>
|
166 | </li>
|
167 | <li class=" tsd-kind-interface">
|
168 | <a href="interfaces/event.html" class="tsd-kind-icon">Event</a>
|
169 | </li>
|
170 | <li class=" tsd-kind-interface">
|
171 | <a href="interfaces/eventreminderxma.html" class="tsd-kind-icon">Event<wbr>ReminderXMA</a>
|
172 | </li>
|
173 | <li class=" tsd-kind-interface">
|
174 | <a href="interfaces/externalurlxma.html" class="tsd-kind-icon">External<wbr>UrlXMA</a>
|
175 | </li>
|
176 | <li class=" tsd-kind-interface">
|
177 | <a href="interfaces/fileattachment.html" class="tsd-kind-icon">File<wbr>Attachment</a>
|
178 | </li>
|
179 | <li class=" tsd-kind-interface">
|
180 | <a href="interfaces/groupxma.html" class="tsd-kind-icon">GroupXMA</a>
|
181 | </li>
|
182 | <li class=" tsd-kind-interface">
|
183 | <a href="interfaces/imageattachment.html" class="tsd-kind-icon">Image<wbr>Attachment</a>
|
184 | </li>
|
185 | <li class=" tsd-kind-interface">
|
186 | <a href="interfaces/instagramxma.html" class="tsd-kind-icon">InstagramXMA</a>
|
187 | </li>
|
188 | <li class=" tsd-kind-interface">
|
189 | <a href="interfaces/leaderboardupdatexma.html" class="tsd-kind-icon">Leaderboard<wbr>UpdateXMA</a>
|
190 | </li>
|
191 | <li class=" tsd-kind-interface">
|
192 | <a href="interfaces/lightweightactionxma.html" class="tsd-kind-icon">Lightweight<wbr>ActionXMA</a>
|
193 | </li>
|
194 | <li class=" tsd-kind-interface">
|
195 | <a href="interfaces/livelocationxma.html" class="tsd-kind-icon">Live<wbr>LocationXMA</a>
|
196 | </li>
|
197 | <li class=" tsd-kind-interface">
|
198 | <a href="interfaces/locationxma.html" class="tsd-kind-icon">LocationXMA</a>
|
199 | </li>
|
200 | <li class=" tsd-kind-interface">
|
201 | <a href="interfaces/message.html" class="tsd-kind-icon">Message</a>
|
202 | </li>
|
203 | <li class=" tsd-kind-interface">
|
204 | <a href="interfaces/messageevent.html" class="tsd-kind-icon">Message<wbr>Event</a>
|
205 | </li>
|
206 | <li class=" tsd-kind-interface">
|
207 | <a href="interfaces/montagexma.html" class="tsd-kind-icon">MontageXMA</a>
|
208 | </li>
|
209 | <li class=" tsd-kind-interface">
|
210 | <a href="interfaces/pagexma.html" class="tsd-kind-icon">PageXMA</a>
|
211 | </li>
|
212 | <li class=" tsd-kind-interface">
|
213 | <a href="interfaces/participantleftgroupthreadevent.html" class="tsd-kind-icon">Participant<wbr>Left<wbr>Group<wbr>Thread<wbr>Event</a>
|
214 | </li>
|
215 | <li class=" tsd-kind-interface">
|
216 | <a href="interfaces/participantsaddedtogroupthreadevent.html" class="tsd-kind-icon">Participants<wbr>Added<wbr>ToGroup<wbr>Thread<wbr>Event</a>
|
217 | </li>
|
218 | <li class=" tsd-kind-interface">
|
219 | <a href="interfaces/plancreateevent.html" class="tsd-kind-icon">Plan<wbr>Create<wbr>Event</a>
|
220 | </li>
|
221 | <li class=" tsd-kind-interface">
|
222 | <a href="interfaces/plandeleteevent.html" class="tsd-kind-icon">Plan<wbr>Delete<wbr>Event</a>
|
223 | </li>
|
224 | <li class=" tsd-kind-interface">
|
225 | <a href="interfaces/planevent.html" class="tsd-kind-icon">Plan<wbr>Event</a>
|
226 | </li>
|
227 | <li class=" tsd-kind-interface">
|
228 | <a href="interfaces/planguest.html" class="tsd-kind-icon">Plan<wbr>Guest</a>
|
229 | </li>
|
230 | <li class=" tsd-kind-interface">
|
231 | <a href="interfaces/planrsvpevent.html" class="tsd-kind-icon">Plan<wbr>Rsvp<wbr>Event</a>
|
232 | </li>
|
233 | <li class=" tsd-kind-interface">
|
234 | <a href="interfaces/planupdatelocationevent.html" class="tsd-kind-icon">Plan<wbr>Update<wbr>Location<wbr>Event</a>
|
235 | </li>
|
236 | <li class=" tsd-kind-interface">
|
237 | <a href="interfaces/planupdatetimeevent.html" class="tsd-kind-icon">Plan<wbr>Update<wbr>Time<wbr>Event</a>
|
238 | </li>
|
239 | <li class=" tsd-kind-interface">
|
240 | <a href="interfaces/planupdatetitleevent.html" class="tsd-kind-icon">Plan<wbr>Update<wbr>Title<wbr>Event</a>
|
241 | </li>
|
242 | <li class=" tsd-kind-interface">
|
243 | <a href="interfaces/pollcreateevent.html" class="tsd-kind-icon">Poll<wbr>Create<wbr>Event</a>
|
244 | </li>
|
245 | <li class=" tsd-kind-interface">
|
246 | <a href="interfaces/pollevent.html" class="tsd-kind-icon">Poll<wbr>Event</a>
|
247 | </li>
|
248 | <li class=" tsd-kind-interface">
|
249 | <a href="interfaces/polloption.html" class="tsd-kind-icon">Poll<wbr>Option</a>
|
250 | </li>
|
251 | <li class=" tsd-kind-interface">
|
252 | <a href="interfaces/pollupdatevoteevent.html" class="tsd-kind-icon">Poll<wbr>Update<wbr>Vote<wbr>Event</a>
|
253 | </li>
|
254 | <li class=" tsd-kind-interface">
|
255 | <a href="interfaces/productxma.html" class="tsd-kind-icon">ProductXMA</a>
|
256 | </li>
|
257 | <li class=" tsd-kind-interface">
|
258 | <a href="interfaces/readreceiptevent.html" class="tsd-kind-icon">Read<wbr>Receipt<wbr>Event</a>
|
259 | </li>
|
260 | <li class=" tsd-kind-interface">
|
261 | <a href="interfaces/session.html" class="tsd-kind-icon">Session</a>
|
262 | </li>
|
263 | <li class=" tsd-kind-interface">
|
264 | <a href="interfaces/storyxma.html" class="tsd-kind-icon">StoryXMA</a>
|
265 | </li>
|
266 | <li class=" tsd-kind-interface">
|
267 | <a href="interfaces/thread.html" class="tsd-kind-icon">Thread</a>
|
268 | </li>
|
269 | <li class=" tsd-kind-interface">
|
270 | <a href="interfaces/threadnameevent.html" class="tsd-kind-icon">Thread<wbr>Name<wbr>Event</a>
|
271 | </li>
|
272 | <li class=" tsd-kind-interface">
|
273 | <a href="interfaces/unavailablexma.html" class="tsd-kind-icon">UnavailableXMA</a>
|
274 | </li>
|
275 | <li class=" tsd-kind-interface">
|
276 | <a href="interfaces/user.html" class="tsd-kind-icon">User</a>
|
277 | </li>
|
278 | <li class=" tsd-kind-interface">
|
279 | <a href="interfaces/videoattachment.html" class="tsd-kind-icon">Video<wbr>Attachment</a>
|
280 | </li>
|
281 | <li class=" tsd-kind-interface">
|
282 | <a href="interfaces/xmaattachment.html" class="tsd-kind-icon">XMAAttachment</a>
|
283 | </li>
|
284 | <li class=" tsd-kind-type-alias">
|
285 | <a href="globals.html#eventtype" class="tsd-kind-icon">Event<wbr>Type</a>
|
286 | </li>
|
287 | </ul>
|
288 | </nav>
|
289 | </div>
|
290 | </div>
|
291 | </div>
|
292 | <footer class="with-border-bottom">
|
293 | <div class="container">
|
294 | <h2>Legend</h2>
|
295 | <div class="tsd-legend-group">
|
296 | <ul class="tsd-legend">
|
297 | <li class="tsd-kind-module"><span class="tsd-kind-icon">Module</span></li>
|
298 | <li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
|
299 | <li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
|
300 | <li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
|
301 | <li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
|
302 | <li class="tsd-kind-index-signature"><span class="tsd-kind-icon">Index signature</span></li>
|
303 | <li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
|
304 | </ul>
|
305 | <ul class="tsd-legend">
|
306 | <li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li>
|
307 | <li class="tsd-kind-enum-member"><span class="tsd-kind-icon">Enumeration member</span></li>
|
308 | <li class="tsd-kind-property tsd-parent-kind-enum"><span class="tsd-kind-icon">Property</span></li>
|
309 | <li class="tsd-kind-method tsd-parent-kind-enum"><span class="tsd-kind-icon">Method</span></li>
|
310 | </ul>
|
311 | <ul class="tsd-legend">
|
312 | <li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
|
313 | <li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
|
314 | <li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li>
|
315 | <li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
|
316 | <li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
|
317 | <li class="tsd-kind-index-signature tsd-parent-kind-interface"><span class="tsd-kind-icon">Index signature</span></li>
|
318 | </ul>
|
319 | <ul class="tsd-legend">
|
320 | <li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
|
321 | <li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
|
322 | <li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
|
323 | <li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
|
324 | <li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
|
325 | <li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li>
|
326 | <li class="tsd-kind-index-signature tsd-parent-kind-class"><span class="tsd-kind-icon">Index signature</span></li>
|
327 | </ul>
|
328 | <ul class="tsd-legend">
|
329 | <li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
|
330 | <li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
|
331 | <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
|
332 | <li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited accessor</span></li>
|
333 | </ul>
|
334 | <ul class="tsd-legend">
|
335 | <li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
|
336 | <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
|
337 | <li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected accessor</span></li>
|
338 | </ul>
|
339 | <ul class="tsd-legend">
|
340 | <li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
|
341 | <li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
|
342 | <li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private accessor</span></li>
|
343 | </ul>
|
344 | <ul class="tsd-legend">
|
345 | <li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li>
|
346 | <li class="tsd-kind-call-signature tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
|
347 | </ul>
|
348 | </div>
|
349 | </div>
|
350 | </footer>
|
351 | <div class="container tsd-generator">
|
352 | <p>Generated using <a href="http://typedoc.org/" target="_blank">TypeDoc</a></p>
|
353 | </div>
|
354 | <div class="overlay"></div>
|
355 | <script src="assets/js/main.js"></script>
|
356 | <script>if (location.protocol == 'file:') document.write('<script src="assets/js/search.js"><' + '/script>');</script>
|
357 | </body>
|
358 | </html> |
\ | No newline at end of file |