UNPKG

19.7 kBHTMLView Raw
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"> &nbsp;
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> &nbsp;
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()
76client.login(<span class="hljs-string">'username'</span>, <span class="hljs-string">'password'</span>).then(<span class="hljs-function"><span class="hljs-params">()</span> =&gt;</span> {
77 client.on(<span class="hljs-string">'message'</span>, message =&gt; {
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()
86client.login(<span class="hljs-string">'username'</span>, <span class="hljs-string">'password'</span>).then(<span class="hljs-function"><span class="hljs-params">()</span> =&gt;</span> {
87 client.on(<span class="hljs-string">'participantsAddedToGroupThreadEvent'</span>, <span class="hljs-keyword">async</span> event =&gt; {
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="updating-from-1-x-x">Updating from 1.x.x</h2>
95 <pre><code class="language-js"><span class="hljs-keyword">const</span> { login } = <span class="hljs-built_in">require</span>(<span class="hljs-string">'libfb'</span>)
96login(<span class="hljs-string">'username'</span>, <span class="hljs-string">'password'</span>).then(<span class="hljs-function"><span class="hljs-params">client</span> =&gt;</span> {
97 ...
98})</code></pre>
99 <p>becomes</p>
100 <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>)
101<span class="hljs-keyword">const</span> client = <span class="hljs-keyword">new</span> Client()
102client.login(<span class="hljs-string">'username'</span>, <span class="hljs-string">'password'</span>).then(<span class="hljs-function"><span class="hljs-params">()</span> =&gt;</span> {
103 ...
104})</code></pre>
105 <h2 id="disclaimer">Disclaimer</h2>
106 <blockquote>
107 <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>&quot;Facebook&quot; is a registered trademark of Facebook, Inc., used under license agreement.</p>
108 </blockquote>
109 </div>
110 </div>
111 <div class="col-4 col-menu menu-sticky-wrap menu-highlight">
112 <nav class="tsd-navigation primary">
113 <ul>
114 <li class="globals ">
115 <a href="globals.html"><em>Globals</em></a>
116 </li>
117 </ul>
118 </nav>
119 <nav class="tsd-navigation secondary menu-sticky">
120 <ul class="before-current">
121 <li class=" tsd-kind-class">
122 <a href="classes/apierror.html" class="tsd-kind-icon">APIError</a>
123 </li>
124 <li class=" tsd-kind-class">
125 <a href="classes/attachmentnotfounderror.html" class="tsd-kind-icon">Attachment<wbr>Not<wbr>Found<wbr>Error</a>
126 </li>
127 <li class=" tsd-kind-class">
128 <a href="classes/attachmenturlmissingerror.html" class="tsd-kind-icon">AttachmentURLMissing<wbr>Error</a>
129 </li>
130 <li class=" tsd-kind-class">
131 <a href="classes/authapierror.html" class="tsd-kind-icon">AuthAPIError</a>
132 </li>
133 <li class=" tsd-kind-class">
134 <a href="classes/client.html" class="tsd-kind-icon">Client</a>
135 </li>
136 <li class=" tsd-kind-class">
137 <a href="classes/randomintgenerator.html" class="tsd-kind-icon">Random<wbr>Int<wbr>Generator</a>
138 </li>
139 <li class=" tsd-kind-class">
140 <a href="classes/uploadapierror.html" class="tsd-kind-icon">UploadAPIError</a>
141 </li>
142 <li class=" tsd-kind-interface">
143 <a href="interfaces/addthreadadminsevent.html" class="tsd-kind-icon">Add<wbr>Thread<wbr>Admins<wbr>Event</a>
144 </li>
145 <li class=" tsd-kind-interface">
146 <a href="interfaces/advertxma.html" class="tsd-kind-icon">AdvertXMA</a>
147 </li>
148 <li class=" tsd-kind-interface">
149 <a href="interfaces/attachment.html" class="tsd-kind-icon">Attachment</a>
150 </li>
151 <li class=" tsd-kind-interface">
152 <a href="interfaces/audioattachment.html" class="tsd-kind-icon">Audio<wbr>Attachment</a>
153 </li>
154 <li class=" tsd-kind-interface">
155 <a href="interfaces/authtokens.html" class="tsd-kind-icon">Auth<wbr>Tokens</a>
156 </li>
157 <li class=" tsd-kind-interface">
158 <a href="interfaces/changethreadiconevent.html" class="tsd-kind-icon">Change<wbr>Thread<wbr>Icon<wbr>Event</a>
159 </li>
160 <li class=" tsd-kind-interface">
161 <a href="interfaces/changethreadnicknameevent.html" class="tsd-kind-icon">Change<wbr>Thread<wbr>Nickname<wbr>Event</a>
162 </li>
163 <li class=" tsd-kind-interface">
164 <a href="interfaces/changethreadthemeevent.html" class="tsd-kind-icon">Change<wbr>Thread<wbr>Theme<wbr>Event</a>
165 </li>
166 <li class=" tsd-kind-interface">
167 <a href="interfaces/clientevents.html" class="tsd-kind-icon">Client<wbr>Events</a>
168 </li>
169 <li class=" tsd-kind-interface">
170 <a href="interfaces/clientoptions.html" class="tsd-kind-icon">Client<wbr>Options</a>
171 </li>
172 <li class=" tsd-kind-interface">
173 <a href="interfaces/deliveryreceiptevent.html" class="tsd-kind-icon">Delivery<wbr>Receipt<wbr>Event</a>
174 </li>
175 <li class=" tsd-kind-interface">
176 <a href="interfaces/deviceid.html" class="tsd-kind-icon">Device<wbr>Id</a>
177 </li>
178 <li class=" tsd-kind-interface">
179 <a href="interfaces/event.html" class="tsd-kind-icon">Event</a>
180 </li>
181 <li class=" tsd-kind-interface">
182 <a href="interfaces/eventreminderxma.html" class="tsd-kind-icon">Event<wbr>ReminderXMA</a>
183 </li>
184 <li class=" tsd-kind-interface">
185 <a href="interfaces/externalurlxma.html" class="tsd-kind-icon">External<wbr>UrlXMA</a>
186 </li>
187 <li class=" tsd-kind-interface">
188 <a href="interfaces/fileattachment.html" class="tsd-kind-icon">File<wbr>Attachment</a>
189 </li>
190 <li class=" tsd-kind-interface">
191 <a href="interfaces/groupxma.html" class="tsd-kind-icon">GroupXMA</a>
192 </li>
193 <li class=" tsd-kind-interface">
194 <a href="interfaces/imageattachment.html" class="tsd-kind-icon">Image<wbr>Attachment</a>
195 </li>
196 <li class=" tsd-kind-interface">
197 <a href="interfaces/instagramxma.html" class="tsd-kind-icon">InstagramXMA</a>
198 </li>
199 <li class=" tsd-kind-interface">
200 <a href="interfaces/leaderboardupdatexma.html" class="tsd-kind-icon">Leaderboard<wbr>UpdateXMA</a>
201 </li>
202 <li class=" tsd-kind-interface">
203 <a href="interfaces/lightweightactionxma.html" class="tsd-kind-icon">Lightweight<wbr>ActionXMA</a>
204 </li>
205 <li class=" tsd-kind-interface">
206 <a href="interfaces/livelocationxma.html" class="tsd-kind-icon">Live<wbr>LocationXMA</a>
207 </li>
208 <li class=" tsd-kind-interface">
209 <a href="interfaces/locationxma.html" class="tsd-kind-icon">LocationXMA</a>
210 </li>
211 <li class=" tsd-kind-interface">
212 <a href="interfaces/messageevent.html" class="tsd-kind-icon">Message<wbr>Event</a>
213 </li>
214 <li class=" tsd-kind-interface">
215 <a href="interfaces/montagexma.html" class="tsd-kind-icon">MontageXMA</a>
216 </li>
217 <li class=" tsd-kind-interface">
218 <a href="interfaces/pagexma.html" class="tsd-kind-icon">PageXMA</a>
219 </li>
220 <li class=" tsd-kind-interface">
221 <a href="interfaces/participantleftgroupthreadevent.html" class="tsd-kind-icon">Participant<wbr>Left<wbr>Group<wbr>Thread<wbr>Event</a>
222 </li>
223 <li class=" tsd-kind-interface">
224 <a href="interfaces/participantsaddedtogroupthreadevent.html" class="tsd-kind-icon">Participants<wbr>Added<wbr>ToGroup<wbr>Thread<wbr>Event</a>
225 </li>
226 <li class=" tsd-kind-interface">
227 <a href="interfaces/plancreateevent.html" class="tsd-kind-icon">Plan<wbr>Create<wbr>Event</a>
228 </li>
229 <li class=" tsd-kind-interface">
230 <a href="interfaces/plandeleteevent.html" class="tsd-kind-icon">Plan<wbr>Delete<wbr>Event</a>
231 </li>
232 <li class=" tsd-kind-interface">
233 <a href="interfaces/planevent.html" class="tsd-kind-icon">Plan<wbr>Event</a>
234 </li>
235 <li class=" tsd-kind-interface">
236 <a href="interfaces/planguest.html" class="tsd-kind-icon">Plan<wbr>Guest</a>
237 </li>
238 <li class=" tsd-kind-interface">
239 <a href="interfaces/planrsvpevent.html" class="tsd-kind-icon">Plan<wbr>Rsvp<wbr>Event</a>
240 </li>
241 <li class=" tsd-kind-interface">
242 <a href="interfaces/planupdatelocationevent.html" class="tsd-kind-icon">Plan<wbr>Update<wbr>Location<wbr>Event</a>
243 </li>
244 <li class=" tsd-kind-interface">
245 <a href="interfaces/planupdatetimeevent.html" class="tsd-kind-icon">Plan<wbr>Update<wbr>Time<wbr>Event</a>
246 </li>
247 <li class=" tsd-kind-interface">
248 <a href="interfaces/planupdatetitleevent.html" class="tsd-kind-icon">Plan<wbr>Update<wbr>Title<wbr>Event</a>
249 </li>
250 <li class=" tsd-kind-interface">
251 <a href="interfaces/pollcreateevent.html" class="tsd-kind-icon">Poll<wbr>Create<wbr>Event</a>
252 </li>
253 <li class=" tsd-kind-interface">
254 <a href="interfaces/pollevent.html" class="tsd-kind-icon">Poll<wbr>Event</a>
255 </li>
256 <li class=" tsd-kind-interface">
257 <a href="interfaces/polloption.html" class="tsd-kind-icon">Poll<wbr>Option</a>
258 </li>
259 <li class=" tsd-kind-interface">
260 <a href="interfaces/pollupdatevoteevent.html" class="tsd-kind-icon">Poll<wbr>Update<wbr>Vote<wbr>Event</a>
261 </li>
262 <li class=" tsd-kind-interface">
263 <a href="interfaces/productxma.html" class="tsd-kind-icon">ProductXMA</a>
264 </li>
265 <li class=" tsd-kind-interface">
266 <a href="interfaces/readreceiptevent.html" class="tsd-kind-icon">Read<wbr>Receipt<wbr>Event</a>
267 </li>
268 <li class=" tsd-kind-interface">
269 <a href="interfaces/session.html" class="tsd-kind-icon">Session</a>
270 </li>
271 <li class=" tsd-kind-interface">
272 <a href="interfaces/storyxma.html" class="tsd-kind-icon">StoryXMA</a>
273 </li>
274 <li class=" tsd-kind-interface">
275 <a href="interfaces/thread.html" class="tsd-kind-icon">Thread</a>
276 </li>
277 <li class=" tsd-kind-interface">
278 <a href="interfaces/threadnameevent.html" class="tsd-kind-icon">Thread<wbr>Name<wbr>Event</a>
279 </li>
280 <li class=" tsd-kind-interface">
281 <a href="interfaces/unavailablexma.html" class="tsd-kind-icon">UnavailableXMA</a>
282 </li>
283 <li class=" tsd-kind-interface">
284 <a href="interfaces/user.html" class="tsd-kind-icon">User</a>
285 </li>
286 <li class=" tsd-kind-interface">
287 <a href="interfaces/videoattachment.html" class="tsd-kind-icon">Video<wbr>Attachment</a>
288 </li>
289 <li class=" tsd-kind-interface">
290 <a href="interfaces/xmaattachment.html" class="tsd-kind-icon">XMAAttachment</a>
291 </li>
292 <li class=" tsd-kind-type-alias">
293 <a href="globals.html#eventtype" class="tsd-kind-icon">Event<wbr>Type</a>
294 </li>
295 </ul>
296 </nav>
297 </div>
298 </div>
299</div>
300<footer class="with-border-bottom">
301 <div class="container">
302 <h2>Legend</h2>
303 <div class="tsd-legend-group">
304 <ul class="tsd-legend">
305 <li class="tsd-kind-module"><span class="tsd-kind-icon">Module</span></li>
306 <li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
307 <li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
308 <li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
309 <li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
310 <li class="tsd-kind-index-signature"><span class="tsd-kind-icon">Index signature</span></li>
311 <li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
312 </ul>
313 <ul class="tsd-legend">
314 <li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li>
315 <li class="tsd-kind-enum-member"><span class="tsd-kind-icon">Enumeration member</span></li>
316 <li class="tsd-kind-property tsd-parent-kind-enum"><span class="tsd-kind-icon">Property</span></li>
317 <li class="tsd-kind-method tsd-parent-kind-enum"><span class="tsd-kind-icon">Method</span></li>
318 </ul>
319 <ul class="tsd-legend">
320 <li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
321 <li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
322 <li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li>
323 <li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
324 <li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
325 <li class="tsd-kind-index-signature tsd-parent-kind-interface"><span class="tsd-kind-icon">Index signature</span></li>
326 </ul>
327 <ul class="tsd-legend">
328 <li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
329 <li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
330 <li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
331 <li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
332 <li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
333 <li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li>
334 <li class="tsd-kind-index-signature tsd-parent-kind-class"><span class="tsd-kind-icon">Index signature</span></li>
335 </ul>
336 <ul class="tsd-legend">
337 <li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
338 <li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
339 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
340 <li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited accessor</span></li>
341 </ul>
342 <ul class="tsd-legend">
343 <li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
344 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
345 <li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected accessor</span></li>
346 </ul>
347 <ul class="tsd-legend">
348 <li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
349 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
350 <li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private accessor</span></li>
351 </ul>
352 <ul class="tsd-legend">
353 <li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li>
354 <li class="tsd-kind-call-signature tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
355 </ul>
356 </div>
357 </div>
358</footer>
359<div class="container tsd-generator">
360 <p>Generated using <a href="http://typedoc.org/" target="_blank">TypeDoc</a></p>
361</div>
362<div class="overlay"></div>
363<script src="assets/js/main.js"></script>
364<script>if (location.protocol == 'file:') document.write('<script src="assets/js/search.js"><' + '/script>');</script>
365</body>
366</html>
\No newline at end of file