chatterbot 2.0.3 → 2.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +3 -5
  3. data/Gemfile +9 -17
  4. data/Rakefile +2 -18
  5. data/chatterbot.gemspec +10 -11
  6. data/docs/Gemfile +3 -0
  7. data/docs/README.md +3 -0
  8. data/docs/_config.yml +37 -0
  9. data/docs/_includes/footer.html +3 -0
  10. data/docs/_includes/header.html +4 -0
  11. data/docs/_includes/navigation.html +23 -0
  12. data/docs/_layouts/default.html +98 -0
  13. data/docs/_layouts/page.html +11 -0
  14. data/docs/_posts/.gitkeep +0 -0
  15. data/docs/_site/Gemfile +3 -0
  16. data/docs/_site/advanced.html +476 -0
  17. data/docs/_site/configuration.html +456 -0
  18. data/docs/_site/contributing.html +433 -0
  19. data/docs/_site/css/main.css +58 -0
  20. data/docs/_site/css/syntax.css +61 -0
  21. data/docs/_site/deploying.html +468 -0
  22. data/docs/_site/examples.html +574 -0
  23. data/docs/_site/features.html +497 -0
  24. data/docs/_site/images/01-create-application.png +0 -0
  25. data/docs/_site/images/02-application-permissions.png +0 -0
  26. data/docs/_site/images/03-mobile-number.png +0 -0
  27. data/docs/_site/images/04-access-token.png +0 -0
  28. data/docs/_site/index.html +482 -0
  29. data/docs/_site/javascripts/main.js +1 -0
  30. data/docs/_site/other-tools.html +438 -0
  31. data/docs/_site/params.json +1 -0
  32. data/docs/_site/rdoc.html +428 -0
  33. data/docs/_site/setup.html +500 -0
  34. data/docs/_site/streaming.html +506 -0
  35. data/docs/_site/stylesheets/pygment_trac.css +68 -0
  36. data/docs/_site/stylesheets/stylesheet.css +247 -0
  37. data/docs/_site/tut.html +422 -0
  38. data/docs/_site/twitter-docs.html +428 -0
  39. data/docs/_site/walkthrough.html +463 -0
  40. data/docs/advanced.md +67 -0
  41. data/docs/basics.md +12 -0
  42. data/docs/bin/jekyll-page +109 -0
  43. data/docs/configuration.md +32 -0
  44. data/docs/contributing.md +14 -0
  45. data/docs/css/main.css +58 -0
  46. data/docs/css/syntax.css +61 -0
  47. data/docs/deploying.md +53 -0
  48. data/docs/examples.md +168 -0
  49. data/docs/features.md +88 -0
  50. data/docs/images/01-create-application.png +0 -0
  51. data/docs/images/02-application-permissions.png +0 -0
  52. data/docs/images/03-mobile-number.png +0 -0
  53. data/docs/images/04-access-token.png +0 -0
  54. data/docs/index.md +70 -0
  55. data/docs/javascripts/main.js +1 -0
  56. data/docs/other-tools.md +17 -0
  57. data/docs/params.json +1 -0
  58. data/docs/rdoc.md +6 -0
  59. data/docs/setup.md +84 -0
  60. data/docs/streaming.md +98 -0
  61. data/docs/stylesheets/pygment_trac.css +68 -0
  62. data/docs/stylesheets/stylesheet.css +247 -0
  63. data/docs/tips.md +22 -0
  64. data/docs/tut.md +6 -0
  65. data/docs/twitter-docs.md +6 -0
  66. data/docs/walkthrough.md +46 -0
  67. data/examples/streaming_bot.rb +11 -10
  68. data/ext/mkrf_conf.rb +28 -0
  69. data/lib/chatterbot/bot.rb +5 -1
  70. data/lib/chatterbot/config.rb +1 -1
  71. data/lib/chatterbot/home_timeline.rb +1 -1
  72. data/lib/chatterbot/streaming.rb +11 -1
  73. data/lib/chatterbot/version.rb +1 -1
  74. data/spec/spec_helper.rb +1 -4
  75. metadata +71 -122
  76. data/examples/tweet_logger.rb +0 -68
@@ -0,0 +1,506 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
6
+ <meta name="viewport" content="width=device-width">
7
+
8
+ <title>chatterbot : Streaming API</title>
9
+ <meta name="description" content="twitter bots in ruby">
10
+
11
+ <link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.no-icons.min.css" rel="stylesheet">
12
+ <link rel="stylesheet" href="/css/syntax.css">
13
+ <link rel="stylesheet" href="/css/main.css">
14
+ </head>
15
+ <body>
16
+
17
+ <div class="container">
18
+ <div class=row-fluid>
19
+ <div id=header class=span12>
20
+ <h4><a class=brand href="/">chatterbot</a>
21
+ <small>twitter bots in ruby</small>
22
+ </h4>
23
+
24
+
25
+ </div>
26
+ </div>
27
+
28
+ <div class=row-fluid>
29
+
30
+
31
+ <div id=navigation class=span2>
32
+ <ul class="nav nav-list">
33
+ <li><a href="/">Home</a></li>
34
+
35
+
36
+
37
+ <li class=nav-header>Getting Started</li>
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+
56
+
57
+ <li data-order="">
58
+
59
+ <a href="/examples.html">Examples</a>
60
+
61
+ </li>
62
+
63
+
64
+
65
+
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+
82
+
83
+ <li data-order="">
84
+
85
+ <a href="/setup.html">Authorizing Your Bot</a>
86
+
87
+ </li>
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+ <li data-order="">
106
+
107
+ <a href="/walkthrough.html">Walkthrough</a>
108
+
109
+ </li>
110
+
111
+
112
+
113
+
114
+
115
+
116
+ <li class=nav-header>Documentation</li>
117
+
118
+
119
+
120
+ <li data-order="">
121
+
122
+ <a href="/advanced.html">Advanced Features</a>
123
+
124
+ </li>
125
+
126
+
127
+
128
+
129
+
130
+ <li data-order="">
131
+
132
+ <a href="/configuration.html">Configuration</a>
133
+
134
+ </li>
135
+
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+ <li data-order="">
145
+
146
+ <a href="/deploying.html">Running your Bot</a>
147
+
148
+ </li>
149
+
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+
158
+ <li data-order="">
159
+
160
+ <a href="/features.html">Basic Features</a>
161
+
162
+ </li>
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+
177
+
178
+
179
+
180
+
181
+
182
+
183
+
184
+ <li data-order="">
185
+
186
+ <a href="/streaming.html">Streaming API</a>
187
+
188
+ </li>
189
+
190
+
191
+
192
+
193
+
194
+
195
+
196
+
197
+
198
+
199
+
200
+
201
+
202
+
203
+
204
+
205
+
206
+
207
+ <li class=nav-header>Developers</li>
208
+
209
+
210
+
211
+
212
+
213
+
214
+
215
+
216
+
217
+
218
+
219
+ <li data-order="">
220
+
221
+ <a href="/contributing.html">Contributing</a>
222
+
223
+ </li>
224
+
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
+
233
+
234
+
235
+
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
+
245
+
246
+
247
+
248
+
249
+
250
+
251
+
252
+
253
+
254
+
255
+
256
+
257
+
258
+
259
+
260
+
261
+
262
+
263
+
264
+
265
+
266
+
267
+
268
+
269
+
270
+
271
+
272
+
273
+
274
+ <li class=nav-header>Resources</li>
275
+
276
+
277
+
278
+
279
+
280
+
281
+
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+
290
+
291
+
292
+
293
+
294
+
295
+
296
+
297
+
298
+
299
+
300
+
301
+
302
+
303
+
304
+
305
+
306
+ <li data-order="">
307
+
308
+ <a href="/other-tools.html">Other Tools</a>
309
+
310
+ </li>
311
+
312
+
313
+
314
+
315
+
316
+ <li data-order="">
317
+
318
+ <a href="http://rubydoc.info/gems/chatterbot">rdoc</a>
319
+
320
+ </li>
321
+
322
+
323
+
324
+
325
+
326
+
327
+
328
+
329
+
330
+
331
+
332
+
333
+
334
+
335
+
336
+
337
+
338
+ <li data-order="">
339
+
340
+ <a href="https://dev.twitter.com/rest/public">Twitter API docs</a>
341
+
342
+ </li>
343
+
344
+
345
+
346
+
347
+
348
+
349
+
350
+
351
+ <!-- List additional links. It is recommended to add a divider
352
+ e.g. <li class=divider></li> first to break up the content. -->
353
+ </ul>
354
+
355
+ </div>
356
+
357
+ <div id=content class=span10>
358
+ <div class=page-header>
359
+ <h2>Streaming API
360
+
361
+ </h2>
362
+ </div>
363
+
364
+ <p>Chatterbot has basic support for Twitter&#39;s <a href="https://dev.twitter.com/streaming/overview">Streaming API</a>. If
365
+ you are an advanced developer, or want to create something very
366
+ involved, it might make more sense to use a different library.
367
+ However, if you do use Chatterbot, you can continue to use the DSL,
368
+ and you get access to a bunch of helpful routines.</p>
369
+
370
+ <p>Here&#39;s an example bot using the Streaming API:</p>
371
+ <div class="highlight"><pre><code class="language-text" data-lang="text">#!/usr/bin/env ruby
372
+
373
+ ## This is a very simple working example of a bot using the streaming
374
+ ## API. It&#39;s basically a copy of echoes_bot.rb, just using streaming.
375
+
376
+ #
377
+ # require the dsl lib to include all the methods you see below.
378
+ #
379
+ require &#39;rubygems&#39;
380
+ require &#39;chatterbot/dsl&#39;
381
+
382
+ consumer_secret &#39;foo&#39;
383
+ secret &#39;bar&#39;
384
+ token &#39;biz&#39;
385
+ consumer_key &#39;bam&#39;
386
+
387
+
388
+ puts &quot;Loading echoes_bot.rb using the streaming API&quot;
389
+
390
+ exclude &quot;http://&quot;, &quot;https://&quot;
391
+
392
+ blacklist &quot;mean_user, private_user&quot;
393
+
394
+ streaming do
395
+ favorited do |user, tweet|
396
+ reply &quot;@#{user.screen_name} thanks for the fave!&quot;, tweet
397
+ end
398
+
399
+ followed do |user|
400
+ tweet &quot;@#{user.screen_name} just followed me!&quot;
401
+ follow user
402
+ end
403
+
404
+ replies do |tweet|
405
+ favorite tweet
406
+
407
+ puts &quot;It&#39;s a tweet!&quot;
408
+ src = tweet.text.gsub(/@echoes_bot/, &quot;#USER#&quot;)
409
+ reply src, tweet
410
+ end
411
+ end
412
+ </code></pre></div>
413
+ <p>By default, chatterbot will use the
414
+ <a href="https://dev.twitter.com/streaming/userstreams">user endpoint</a>, which
415
+ returns events for the bot -- mentions, follows, etc. If you want to
416
+ perform a search, or use the sample endpoint, you will need to specify
417
+ that:</p>
418
+ <div class="highlight"><pre><code class="language-text" data-lang="text">#
419
+ # sample the twitter stream
420
+ #
421
+ streaming(endpoint:&quot;sample&quot;) do
422
+ sample do |tweet|
423
+ puts tweet.text
424
+ end
425
+ end
426
+ </code></pre></div><div class="highlight"><pre><code class="language-text" data-lang="text">#
427
+ # run a search
428
+ #
429
+ streaming(endpoint:&quot;search&quot;) do
430
+ search(&quot;Streaming API&quot;) do |tweet|
431
+ puts tweet.text
432
+ end
433
+ end
434
+ </code></pre></div><div class="highlight"><pre><code class="language-text" data-lang="text">#
435
+ # find geocoded tweets
436
+ #
437
+ streaming(endpoint: :filter, locations:&quot;-180,-90,180,90&quot;) do
438
+ user do |tweet|
439
+ puts tweet.text
440
+ end
441
+ end
442
+ </code></pre></div>
443
+
444
+ </div>
445
+
446
+ </div>
447
+
448
+ <div class=row-fluid>
449
+ <div id=footer class=span12>
450
+ Documentation for <a href="https://github.com/muffinista/chatterbot">chatterbot</a>
451
+
452
+ </div>
453
+ </div>
454
+ </div>
455
+
456
+ <script>
457
+ function orderNav() {
458
+ var list,
459
+ section,
460
+ header,
461
+ sections = [],
462
+ lists = {},
463
+ headers = {};
464
+
465
+ var navUl = document.querySelectorAll('#navigation ul')[0],
466
+ navLis = document.querySelectorAll('#navigation ul li');
467
+
468
+ if (!navUl) return;
469
+
470
+ for (var i = 0; i < navLis.length; i++) {
471
+ var order, li = navLis[i];
472
+
473
+ if (li.classList.contains('nav-header')) {
474
+ section = li.textContent || li.innerText;
475
+ sections.push(section);
476
+ headers[section] = li;
477
+ continue;
478
+ }
479
+
480
+ if (!lists[section]) {
481
+ lists[section] = [];
482
+ }
483
+
484
+ order = parseFloat(li.getAttribute('data-order'))
485
+ lists[section].push([order, li]);
486
+ }
487
+
488
+ for (var i = 0; i < sections.length; i++) {
489
+ section = sections[i];
490
+ list = lists[section].sort(function(a, b) {
491
+ return a[0] - b[0];
492
+ });
493
+
494
+ if (header = headers[section]) {
495
+ navUl.appendChild(header);
496
+ }
497
+ for (var j = 0; j < list.length; j++) {
498
+ navUl.appendChild(list[j][1]);
499
+ }
500
+ }
501
+ }
502
+
503
+ if (document.querySelectorAll) orderNav();
504
+ </script>
505
+ </body>
506
+ </html>