chatterbot 2.0.2 → 2.2.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 (93) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/ci.yml +19 -0
  3. data/Gemfile +9 -17
  4. data/README.markdown +10 -23
  5. data/Rakefile +2 -18
  6. data/chatterbot.gemspec +17 -12
  7. data/docs/Gemfile +3 -0
  8. data/docs/README.md +3 -0
  9. data/docs/_config.yml +37 -0
  10. data/docs/_includes/footer.html +3 -0
  11. data/docs/_includes/header.html +4 -0
  12. data/docs/_includes/navigation.html +23 -0
  13. data/docs/_layouts/default.html +98 -0
  14. data/docs/_layouts/page.html +11 -0
  15. data/docs/_posts/.gitkeep +0 -0
  16. data/docs/_site/Gemfile +3 -0
  17. data/docs/_site/advanced.html +465 -0
  18. data/docs/_site/configuration.html +436 -0
  19. data/docs/_site/contributing.html +414 -0
  20. data/docs/_site/css/main.css +58 -0
  21. data/docs/_site/css/syntax.css +61 -0
  22. data/docs/_site/deploying.html +451 -0
  23. data/docs/_site/examples.html +559 -0
  24. data/docs/_site/features.html +496 -0
  25. data/docs/_site/images/01-create-application.png +0 -0
  26. data/docs/_site/images/02-application-permissions.png +0 -0
  27. data/docs/_site/images/03-mobile-number.png +0 -0
  28. data/docs/_site/images/04-access-token.png +0 -0
  29. data/docs/_site/index.html +461 -0
  30. data/docs/_site/javascripts/main.js +1 -0
  31. data/docs/_site/other-tools.html +419 -0
  32. data/docs/_site/params.json +1 -0
  33. data/docs/_site/rdoc.html +409 -0
  34. data/docs/_site/setup.html +491 -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 +402 -0
  38. data/docs/_site/twitter-docs.html +409 -0
  39. data/docs/_site/walkthrough.html +447 -0
  40. data/docs/advanced.md +62 -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 +47 -0
  48. data/docs/examples.md +120 -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 +69 -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/stylesheets/pygment_trac.css +68 -0
  61. data/docs/stylesheets/stylesheet.css +247 -0
  62. data/docs/tips.md +22 -0
  63. data/docs/tut.md +6 -0
  64. data/docs/twitter-docs.md +6 -0
  65. data/docs/walkthrough.md +46 -0
  66. data/lib/chatterbot.rb +0 -1
  67. data/lib/chatterbot/bot.rb +7 -67
  68. data/lib/chatterbot/client.rb +2 -9
  69. data/lib/chatterbot/config.rb +1 -2
  70. data/lib/chatterbot/dsl.rb +20 -47
  71. data/lib/chatterbot/home_timeline.rb +1 -1
  72. data/lib/chatterbot/search.rb +26 -3
  73. data/lib/chatterbot/skeleton.rb +0 -2
  74. data/lib/chatterbot/tweet.rb +13 -3
  75. data/lib/chatterbot/ui.rb +0 -1
  76. data/lib/chatterbot/version.rb +1 -1
  77. data/spec/bot_spec.rb +1 -76
  78. data/spec/client_spec.rb +0 -3
  79. data/spec/config_manager_spec.rb +6 -5
  80. data/spec/config_spec.rb +4 -1
  81. data/spec/dsl_spec.rb +10 -35
  82. data/spec/fixtures/update_with_media.png +0 -0
  83. data/spec/search_spec.rb +40 -1
  84. data/spec/spec_helper.rb +1 -4
  85. data/spec/tweet_spec.rb +74 -34
  86. data/templates/skeleton.txt +0 -47
  87. metadata +81 -135
  88. data/.document +0 -5
  89. data/.travis.yml +0 -11
  90. data/examples/streaming_bot.rb +0 -48
  91. data/examples/tweet_logger.rb +0 -68
  92. data/lib/chatterbot/streaming.rb +0 -62
  93. data/spec/streaming_spec.rb +0 -172
@@ -0,0 +1,496 @@
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 : Basic Features</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="/chatterbot/css/syntax.css">
13
+ <link rel="stylesheet" href="/chatterbot/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/">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="/chatterbot/">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="/chatterbot/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="/chatterbot/setup.html">Authorizing Your Bot</a>
86
+
87
+ </li>
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+ <li data-order="">
102
+
103
+ <a href="/chatterbot/walkthrough.html">Walkthrough</a>
104
+
105
+ </li>
106
+
107
+
108
+
109
+
110
+
111
+
112
+ <li class=nav-header>Documentation</li>
113
+
114
+
115
+
116
+ <li data-order="">
117
+
118
+ <a href="/chatterbot/advanced.html">Advanced Features</a>
119
+
120
+ </li>
121
+
122
+
123
+
124
+
125
+
126
+ <li data-order="">
127
+
128
+ <a href="/chatterbot/configuration.html">Configuration</a>
129
+
130
+ </li>
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
+ <li data-order="">
141
+
142
+ <a href="/chatterbot/deploying.html">Running your Bot</a>
143
+
144
+ </li>
145
+
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+
154
+ <li data-order="">
155
+
156
+ <a href="/chatterbot/features.html">Basic Features</a>
157
+
158
+ </li>
159
+
160
+
161
+
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+
177
+
178
+
179
+
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+
192
+
193
+ <li class=nav-header>Developers</li>
194
+
195
+
196
+
197
+
198
+
199
+
200
+
201
+
202
+
203
+
204
+
205
+ <li data-order="">
206
+
207
+ <a href="/chatterbot/contributing.html">Contributing</a>
208
+
209
+ </li>
210
+
211
+
212
+
213
+
214
+
215
+
216
+
217
+
218
+
219
+
220
+
221
+
222
+
223
+
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
+ <li class=nav-header>Resources</li>
257
+
258
+
259
+
260
+
261
+
262
+
263
+
264
+
265
+
266
+
267
+
268
+
269
+
270
+
271
+
272
+
273
+
274
+
275
+
276
+
277
+
278
+
279
+
280
+
281
+
282
+
283
+
284
+
285
+
286
+
287
+
288
+ <li data-order="">
289
+
290
+ <a href="/chatterbot/other-tools.html">Other Tools</a>
291
+
292
+ </li>
293
+
294
+
295
+
296
+
297
+
298
+ <li data-order="">
299
+
300
+ <a href="http://rubydoc.info/gems/chatterbot">rdoc</a>
301
+
302
+ </li>
303
+
304
+
305
+
306
+
307
+
308
+
309
+
310
+
311
+
312
+
313
+
314
+
315
+
316
+ <li data-order="">
317
+
318
+ <a href="https://dev.twitter.com/rest/public">Twitter API docs</a>
319
+
320
+ </li>
321
+
322
+
323
+
324
+
325
+
326
+
327
+
328
+
329
+ <!-- List additional links. It is recommended to add a divider
330
+ e.g. <li class=divider></li> first to break up the content. -->
331
+ </ul>
332
+
333
+ </div>
334
+
335
+ <div id=content class=span10>
336
+ <div class=page-header>
337
+ <h2>Basic Features
338
+
339
+ </h2>
340
+ </div>
341
+
342
+ <p>Here’s a list of some of the commonly-used methods in the Chatterbot DSL:</p>
343
+
344
+ <p><strong>search</strong> – You can use this to perform a search on Twitter:</p>
345
+
346
+ <pre><code>search("'surely you must be joking'") do |tweet|
347
+ reply "#USER# I am serious, and don't call me Shirley!", tweet
348
+ end
349
+ </code></pre>
350
+
351
+ <p>By default, Chatterbot keeps track of the last time you ran the bot,
352
+ and it will only search for new tweets.</p>
353
+
354
+ <p><strong>replies</strong> – Use this to check for replies and mentions:</p>
355
+
356
+ <pre><code>replies do |tweet|
357
+ reply "#USER# Thanks for contacting me!", tweet
358
+ end
359
+ </code></pre>
360
+
361
+ <p>Note that the string <strong>#USER#</strong> is automatically replaced with the
362
+ username of the person who sent the original tweet. Also, Chatterbot
363
+ will only return tweets that were sent since the last run of the bot.</p>
364
+
365
+ <p><strong>tweet</strong> – send a Tweet out for this bot:</p>
366
+
367
+ <pre><code>tweet "I AM A BOT!!!"
368
+ </code></pre>
369
+
370
+ <p><strong>reply</strong> – reply to another tweet:</p>
371
+
372
+ <pre><code>reply "THIS IS A REPLY TO #USER#!", original_tweet
373
+ </code></pre>
374
+
375
+ <p><strong>retweet</strong> – Chatterbot can retweet tweets as well:</p>
376
+
377
+ <p><code>rb
378
+ search "xyzzy" do |tweet|
379
+ retweet(tweet[:id])
380
+ end
381
+ </code></p>
382
+
383
+ <p><strong>blacklist</strong> – you can use this to specify a list of users you don’t
384
+ want to interact with. If you put the following line at the top of
385
+ your bot:</p>
386
+
387
+ <pre><code>blacklist "user1, user2, user3"
388
+ </code></pre>
389
+
390
+ <p>None of those users will trigger your bot if they come up in a
391
+ search. However, if a user replies to one of your tweets or mentions
392
+ your bot in a tweet, you will still receive that tweet when checking
393
+ for replies.</p>
394
+
395
+ <p><strong>exclude</strong> – similarly, you can specify a list of words/phrases
396
+ which shouldn’t trigger your bot. If you use the following:</p>
397
+
398
+ <pre><code>exclude "spam"
399
+ </code></pre>
400
+
401
+ <p>Any tweets or mentions with the word ‘spam’ in them will be ignored by
402
+ the bot. If you wanted to ignore any tweets with links in them (a wise
403
+ precaution if you want to avoid spreading spam), you could call:</p>
404
+
405
+ <pre><code>exclude "http://"
406
+ </code></pre>
407
+
408
+ <p>The library actually comes with a pre-defined list of ‘bad words’
409
+ which you can exclude by default by calling:</p>
410
+
411
+ <pre><code>exclude bad_words
412
+ </code></pre>
413
+
414
+ <p>The word list is from Darius Kazemi’s
415
+ <a href="https://github.com/dariusk/wordfilter">wordfilter</a>.</p>
416
+
417
+ <p><strong>whitelist</strong></p>
418
+
419
+ <p><strong>followers</strong> – get a list of your followers. This is an experimental
420
+ feature but should work for most purposes.</p>
421
+
422
+ <p><strong>follow</strong></p>
423
+
424
+ <p><strong>profile_text</strong>
425
+ <strong>profile_website</strong></p>
426
+
427
+ <p>For more details, check out
428
+ <a href="https://github.com/muffinista/chatterbot/blob/master/lib/chatterbot/dsl.rb">dsl.rb</a>
429
+ in the source code.</p>
430
+
431
+
432
+ </div>
433
+
434
+ </div>
435
+
436
+ <div class=row-fluid>
437
+ <div id=footer class=span12>
438
+ <!--
439
+ Documentation for <a href="https://github.com/muffinista/chatterbot">chatterbot</a>
440
+ -->
441
+
442
+ </div>
443
+ </div>
444
+ </div>
445
+
446
+ <script>
447
+ function orderNav() {
448
+ var list,
449
+ section,
450
+ header,
451
+ sections = [],
452
+ lists = {},
453
+ headers = {};
454
+
455
+ var navUl = document.querySelectorAll('#navigation ul')[0],
456
+ navLis = document.querySelectorAll('#navigation ul li');
457
+
458
+ if (!navUl) return;
459
+
460
+ for (var i = 0; i < navLis.length; i++) {
461
+ var order, li = navLis[i];
462
+
463
+ if (li.classList.contains('nav-header')) {
464
+ section = li.textContent || li.innerText;
465
+ sections.push(section);
466
+ headers[section] = li;
467
+ continue;
468
+ }
469
+
470
+ if (!lists[section]) {
471
+ lists[section] = [];
472
+ }
473
+
474
+ order = parseFloat(li.getAttribute('data-order'))
475
+ lists[section].push([order, li]);
476
+ }
477
+
478
+ for (var i = 0; i < sections.length; i++) {
479
+ section = sections[i];
480
+ list = lists[section].sort(function(a, b) {
481
+ return a[0] - b[0];
482
+ });
483
+
484
+ if (header = headers[section]) {
485
+ navUl.appendChild(header);
486
+ }
487
+ for (var j = 0; j < list.length; j++) {
488
+ navUl.appendChild(list[j][1]);
489
+ }
490
+ }
491
+ }
492
+
493
+ if (document.querySelectorAll) orderNav();
494
+ </script>
495
+ </body>
496
+ </html>