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,491 @@
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 : Authorizing Your Bot</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>Authorizing Your Bot
338
+
339
+ </h2>
340
+ </div>
341
+
342
+ <p>Getting a bot running on Twitter can be a little tricky. Twitter uses
343
+ a something called <a href="https://dev.twitter.com/oauth">OAuth</a> to validate
344
+ requests, but it’s a little more complicated than just specifying a
345
+ username/password.</p>
346
+
347
+ <ul>
348
+ <li>
349
+ <p>Login to Twitter with your bot account</p>
350
+ </li>
351
+ <li>
352
+ <p>Go to https://apps.twitter.com/app/new</p>
353
+ </li>
354
+ <li>
355
+ <p>Fill out the form. You need to put a name, description, and Website
356
+ URL, although the URL doesn’t need to exist. <img src="./images/01-create-application.png" /></p>
357
+ </li>
358
+ <li>
359
+ <p>Save the form, and then click on the Permissions tab. You will need
360
+ to specify what level of access is needed for your bot. <img src="./images/02-application-permissions.png" /> You have three
361
+ choices here: Read only, Read and Write, and Read and Write and
362
+ access DMs. If your bot isn’t actually ever going to post to Twitter
363
+ (for example, if you’re just running a search to find interesting
364
+ tweets), you can choose read-only. Otherwise, you should pick
365
+ read/write, or read/write/DMs. Chatterbot has limited support for
366
+ handling Direct Messages, but if you can imagine a situation where
367
+ you might want to handle them, you should pick this option.</p>
368
+ </li>
369
+ <li>
370
+ <p><em>NOTE:</em> When you try and save this form, there’s a good chance that
371
+ you will get an error that tells you to add a mobile phone to your Twitter
372
+ profile. It will look a lot like this: <img src="./images/03-mobile-number.png" /></p>
373
+
374
+ <p>You can add your number here: https://twitter.com/settings/devices</p>
375
+
376
+ <p>After you add the number, Twitter will ask you to send them a text
377
+ message. Once you do this, you can finish updating the settings for
378
+ your application. Later, we’ll remove the mobile number.</p>
379
+ </li>
380
+ </ul>
381
+
382
+ <p>Once you’ve registered your application, you have two options. You can
383
+ create access tokens for your bot via Twitter, or you can run the
384
+ <code>chatterbot-register</code> script. Running the script will take care of
385
+ creating a template file for your bot, but if you don’t want to do
386
+ that, here are the steps for doing this manually:</p>
387
+
388
+ <ul>
389
+ <li>click the ‘Keys and Access Tokens’ link. You should see this: <img src="./images/04-access-token.png" /></li>
390
+ <li>click the ‘Create my access token’ link. </li>
391
+ <li>It might take a few minutes for Twitter to actually generate the
392
+ token. You can refresh the page a couple times until they are there,
393
+ then you can copy the keys into your application. There’s four keys
394
+ you will need for your bot, and a couple different ways to save
395
+ them:</li>
396
+ </ul>
397
+
398
+ <p><strong>In a separate YAML config file</strong>. Create a file named botname.yaml
399
+ – the botname part must match your bot’s username EXACTLY. Put the
400
+ following contents, pasting the credential values that you just
401
+ generated:</p>
402
+
403
+ <p><code>
404
+ ---
405
+ :consumer_secret: Consumer Secret (API Secret) GOES HERE
406
+ :consumer_key: Consumer Key (API Key) GOES HERE
407
+ :token: Access Token GOES HERE
408
+ :secret: Access Token Secret GOES HERE
409
+ </code></p>
410
+
411
+ <p><strong>in the script</strong>. Add some lines to your bot script like this:
412
+ <code>
413
+ consumer_key 'Consumer Secret (API Secret)'
414
+ consumer_secret 'Consumer Key (API Key)'
415
+ secret 'Access Token Secret'
416
+ token 'Access Token'
417
+ </code></p>
418
+
419
+ <p><strong>in a database</strong>. If you’ve setup chatterbot to use a database, you
420
+ can store your configuration info in the <strong>config</strong> table.</p>
421
+
422
+ <p><strong>NOTE</strong> At this point, you can remove the phone number from the bot
423
+ account if you like. From your bot’s account, click ‘Settings’ -&gt;
424
+ ‘Mobile’ -&gt; ‘Delete my phone’.</p>
425
+
426
+
427
+ </div>
428
+
429
+ </div>
430
+
431
+ <div class=row-fluid>
432
+ <div id=footer class=span12>
433
+ <!--
434
+ Documentation for <a href="https://github.com/muffinista/chatterbot">chatterbot</a>
435
+ -->
436
+
437
+ </div>
438
+ </div>
439
+ </div>
440
+
441
+ <script>
442
+ function orderNav() {
443
+ var list,
444
+ section,
445
+ header,
446
+ sections = [],
447
+ lists = {},
448
+ headers = {};
449
+
450
+ var navUl = document.querySelectorAll('#navigation ul')[0],
451
+ navLis = document.querySelectorAll('#navigation ul li');
452
+
453
+ if (!navUl) return;
454
+
455
+ for (var i = 0; i < navLis.length; i++) {
456
+ var order, li = navLis[i];
457
+
458
+ if (li.classList.contains('nav-header')) {
459
+ section = li.textContent || li.innerText;
460
+ sections.push(section);
461
+ headers[section] = li;
462
+ continue;
463
+ }
464
+
465
+ if (!lists[section]) {
466
+ lists[section] = [];
467
+ }
468
+
469
+ order = parseFloat(li.getAttribute('data-order'))
470
+ lists[section].push([order, li]);
471
+ }
472
+
473
+ for (var i = 0; i < sections.length; i++) {
474
+ section = sections[i];
475
+ list = lists[section].sort(function(a, b) {
476
+ return a[0] - b[0];
477
+ });
478
+
479
+ if (header = headers[section]) {
480
+ navUl.appendChild(header);
481
+ }
482
+ for (var j = 0; j < list.length; j++) {
483
+ navUl.appendChild(list[j][1]);
484
+ }
485
+ }
486
+ }
487
+
488
+ if (document.querySelectorAll) orderNav();
489
+ </script>
490
+ </body>
491
+ </html>