chatterbot 2.0.3 → 2.0.4

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 (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,574 @@
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 : Examples</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>Examples
360
+
361
+ </h2>
362
+ </div>
363
+
364
+ <p>Here&#39;s a couple examples of working bots.</p>
365
+
366
+ <h2 id="@echoes_bot">@echoes_bot</h2>
367
+
368
+ <p>This is a working bot. It responds to any mentions with the incoming
369
+ text:</p>
370
+
371
+ <blockquote class="twitter-tweet" lang="en"><p><a href="https://twitter.com/muffinista">@muffinista</a> hello there!</p>&mdash; Echo Echo (@echoes_bot) <a href="https://twitter.com/echoes_bot/status/515166110950256640">September 25, 2014</a></blockquote>
372
+
373
+ <script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
374
+
375
+ <p>Here&#39;s the code. This is right out of the git repo for chatterbot:</p>
376
+ <div class="highlight"><pre><code class="language-text" data-lang="text">## This is a very simple working example of a bot you can build with
377
+ ## chatterbot. It looks for mentions of &#39;@echoes_bot&#39; (the twitter
378
+ ## handle the bot uses), and sends replies with the name switched to
379
+ ## the handle of the sending user
380
+
381
+ #
382
+ # require the dsl lib to include all the methods you see below.
383
+ #
384
+ require &#39;rubygems&#39;
385
+ require &#39;chatterbot/dsl&#39;
386
+
387
+ puts &quot;Loading echoes_bot.rb&quot;
388
+
389
+ ##
390
+ ## If I wanted to exclude some terms from triggering this bot, I would list them here.
391
+ ## For now, we&#39;ll block URLs to keep this from being a source of spam
392
+ ##
393
+ exclude &quot;http://&quot;
394
+
395
+ blacklist &quot;mean_user, private_user&quot;
396
+
397
+ puts &quot;checking for replies to me&quot;
398
+ replies do |tweet|
399
+ # replace the incoming username with #USER#, which will be replaced
400
+ # with the handle of the user who tweeted us by the
401
+ # replace_variables helper
402
+ src = tweet.text.gsub(/@echoes_bot/, &quot;#USER#&quot;)
403
+
404
+ # send it back!
405
+ reply src, tweet
406
+ end
407
+ </code></pre></div>
408
+ <h2 id="@spacejamcheck">@SpaceJamCheck</h2>
409
+
410
+ <p>This is another working bot. It checks the website for the movie Space
411
+ Jam to see if it is still online (it does this by using the spacejam
412
+ gem), and tweets the results of that check.</p>
413
+ <div class="highlight"><pre><code class="language-text" data-lang="text">#!/usr/bin/env ruby
414
+
415
+ require &#39;rubygems&#39;
416
+ require &#39;bundler/setup&#39;
417
+
418
+ require &#39;chatterbot/dsl&#39;
419
+ require &#39;spacejam&#39;
420
+
421
+ #
422
+ # this is the script for the twitter bot SpaceJamCheck
423
+ # generated on 2013-11-04 16:24:46 -0500
424
+ #
425
+
426
+ consumer_key &#39;key&#39;
427
+ consumer_secret &#39;secret&#39;
428
+
429
+ secret &#39;secret&#39;
430
+ token &#39;token&#39;
431
+
432
+
433
+ check_url = &quot;http://www2.warnerbros.com/spacejam/movie/jam.htm&quot;
434
+ check_string = &quot;&lt;title&gt;Space Jam&lt;/title&gt;&quot;
435
+
436
+ uptime_messages = [
437
+ &quot;Hooray! Space Jam is still online!&quot;,
438
+ &quot;It&#39;s #{Time.now.year} and the Space Jam website is still online&quot;,
439
+ &quot;In case you were worried, Space Jam is still online&quot;,
440
+ &quot;Looks like the Space Jam website is still there&quot;,
441
+ &quot;Yes&quot;,
442
+ &quot;Yep&quot;,
443
+ &quot;Still Kickin&quot;,
444
+ &quot;The Space Jam website is still online&quot;,
445
+ &quot;Still Online&quot;
446
+ ]
447
+
448
+ downtime_messages = [
449
+ &quot;Hmm, looks like Space Jam isn&#39;t online. Hopefully it&#39;s a fluke ;(&quot;
450
+ ]
451
+
452
+
453
+ x = Spacejam::HTTPCheck.new(url:check_url, body:check_string)
454
+
455
+ # pick a random tweet according to the website status
456
+ result = if x.online?
457
+ uptime_messages
458
+ else
459
+ downtime_messages
460
+ end.sample
461
+
462
+ # add a timestamp. this helps to prevent duplicate tweet issues
463
+ result &lt;&lt; &quot; (#{Time.now.utc})&quot;
464
+
465
+ # tweet it out!
466
+ tweet result
467
+ </code></pre></div>
468
+ <h2 id="streaming-bot">Streaming Bot</h2>
469
+ <div class="highlight"><pre><code class="language-text" data-lang="text">#!/usr/bin/env ruby
470
+
471
+ ## This is a very simple working example of a bot using the streaming
472
+ ## API. It&#39;s basically a copy of echoes_bot.rb, just using streaming.
473
+
474
+ #
475
+ # require the dsl lib to include all the methods you see below.
476
+ #
477
+ require &#39;rubygems&#39;
478
+ require &#39;chatterbot/dsl&#39;
479
+
480
+ consumer_secret &#39;foo&#39;
481
+ secret &#39;bar&#39;
482
+ token &#39;biz&#39;
483
+ consumer_key &#39;bam&#39;
484
+
485
+
486
+ puts &quot;Loading echoes_bot.rb using the streaming API&quot;
487
+
488
+ exclude &quot;http://&quot;, &quot;https://&quot;
489
+
490
+ blacklist &quot;mean_user, private_user&quot;
491
+
492
+ streaming do
493
+ favorited do |user, tweet|
494
+ reply &quot;@#{user.screen_name} thanks for the fave!&quot;, tweet
495
+ end
496
+
497
+ followed do |user|
498
+ tweet &quot;@#{user.screen_name} just followed me!&quot;
499
+ follow user
500
+ end
501
+
502
+ replies do |tweet|
503
+ favorite tweet
504
+
505
+ puts &quot;It&#39;s a tweet!&quot;
506
+ src = tweet.text.gsub(/@echoes_bot/, &quot;#USER#&quot;)
507
+ reply src, tweet
508
+ end
509
+ end
510
+ </code></pre></div>
511
+
512
+ </div>
513
+
514
+ </div>
515
+
516
+ <div class=row-fluid>
517
+ <div id=footer class=span12>
518
+ Documentation for <a href="https://github.com/muffinista/chatterbot">chatterbot</a>
519
+
520
+ </div>
521
+ </div>
522
+ </div>
523
+
524
+ <script>
525
+ function orderNav() {
526
+ var list,
527
+ section,
528
+ header,
529
+ sections = [],
530
+ lists = {},
531
+ headers = {};
532
+
533
+ var navUl = document.querySelectorAll('#navigation ul')[0],
534
+ navLis = document.querySelectorAll('#navigation ul li');
535
+
536
+ if (!navUl) return;
537
+
538
+ for (var i = 0; i < navLis.length; i++) {
539
+ var order, li = navLis[i];
540
+
541
+ if (li.classList.contains('nav-header')) {
542
+ section = li.textContent || li.innerText;
543
+ sections.push(section);
544
+ headers[section] = li;
545
+ continue;
546
+ }
547
+
548
+ if (!lists[section]) {
549
+ lists[section] = [];
550
+ }
551
+
552
+ order = parseFloat(li.getAttribute('data-order'))
553
+ lists[section].push([order, li]);
554
+ }
555
+
556
+ for (var i = 0; i < sections.length; i++) {
557
+ section = sections[i];
558
+ list = lists[section].sort(function(a, b) {
559
+ return a[0] - b[0];
560
+ });
561
+
562
+ if (header = headers[section]) {
563
+ navUl.appendChild(header);
564
+ }
565
+ for (var j = 0; j < list.length; j++) {
566
+ navUl.appendChild(list[j][1]);
567
+ }
568
+ }
569
+ }
570
+
571
+ if (document.querySelectorAll) orderNav();
572
+ </script>
573
+ </body>
574
+ </html>