chatterbot 2.0.0.pre → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (96) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/ci.yml +19 -0
  3. data/Gemfile +9 -17
  4. data/README.markdown +27 -34
  5. data/Rakefile +2 -18
  6. data/bin/chatterbot-register +6 -2
  7. data/chatterbot.gemspec +11 -12
  8. data/docs/Gemfile +3 -0
  9. data/docs/README.md +3 -0
  10. data/docs/_config.yml +37 -0
  11. data/docs/_includes/footer.html +3 -0
  12. data/docs/_includes/header.html +4 -0
  13. data/docs/_includes/navigation.html +23 -0
  14. data/docs/_layouts/default.html +98 -0
  15. data/docs/_layouts/page.html +11 -0
  16. data/docs/_posts/.gitkeep +0 -0
  17. data/docs/_site/Gemfile +3 -0
  18. data/docs/_site/advanced.html +465 -0
  19. data/docs/_site/configuration.html +436 -0
  20. data/docs/_site/contributing.html +414 -0
  21. data/docs/_site/css/main.css +58 -0
  22. data/docs/_site/css/syntax.css +61 -0
  23. data/docs/_site/deploying.html +451 -0
  24. data/docs/_site/examples.html +559 -0
  25. data/docs/_site/features.html +496 -0
  26. data/docs/_site/images/01-create-application.png +0 -0
  27. data/docs/_site/images/02-application-permissions.png +0 -0
  28. data/docs/_site/images/03-mobile-number.png +0 -0
  29. data/docs/_site/images/04-access-token.png +0 -0
  30. data/docs/_site/index.html +461 -0
  31. data/docs/_site/javascripts/main.js +1 -0
  32. data/docs/_site/other-tools.html +419 -0
  33. data/docs/_site/params.json +1 -0
  34. data/docs/_site/rdoc.html +409 -0
  35. data/docs/_site/setup.html +491 -0
  36. data/docs/_site/stylesheets/pygment_trac.css +68 -0
  37. data/docs/_site/stylesheets/stylesheet.css +247 -0
  38. data/docs/_site/tut.html +402 -0
  39. data/docs/_site/twitter-docs.html +409 -0
  40. data/docs/_site/walkthrough.html +447 -0
  41. data/docs/advanced.md +62 -0
  42. data/docs/basics.md +12 -0
  43. data/docs/bin/jekyll-page +109 -0
  44. data/docs/configuration.md +32 -0
  45. data/docs/contributing.md +14 -0
  46. data/docs/css/main.css +58 -0
  47. data/docs/css/syntax.css +61 -0
  48. data/docs/deploying.md +47 -0
  49. data/docs/examples.md +120 -0
  50. data/docs/features.md +88 -0
  51. data/docs/images/01-create-application.png +0 -0
  52. data/docs/images/02-application-permissions.png +0 -0
  53. data/docs/images/03-mobile-number.png +0 -0
  54. data/docs/images/04-access-token.png +0 -0
  55. data/docs/index.md +69 -0
  56. data/docs/javascripts/main.js +1 -0
  57. data/docs/other-tools.md +17 -0
  58. data/docs/params.json +1 -0
  59. data/docs/rdoc.md +6 -0
  60. data/docs/setup.md +84 -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/ext/mkrf_conf.rb +28 -0
  68. data/lib/chatterbot.rb +0 -1
  69. data/lib/chatterbot/bot.rb +7 -63
  70. data/lib/chatterbot/client.rb +6 -12
  71. data/lib/chatterbot/config.rb +2 -2
  72. data/lib/chatterbot/config_manager.rb +7 -1
  73. data/lib/chatterbot/dsl.rb +20 -47
  74. data/lib/chatterbot/home_timeline.rb +1 -2
  75. data/lib/chatterbot/search.rb +26 -3
  76. data/lib/chatterbot/skeleton.rb +1 -3
  77. data/lib/chatterbot/tweet.rb +14 -3
  78. data/lib/chatterbot/ui.rb +88 -20
  79. data/lib/chatterbot/version.rb +1 -1
  80. data/spec/bot_spec.rb +2 -77
  81. data/spec/client_spec.rb +2 -6
  82. data/spec/config_manager_spec.rb +6 -5
  83. data/spec/config_spec.rb +4 -1
  84. data/spec/dsl_spec.rb +10 -35
  85. data/spec/fixtures/update_with_media.png +0 -0
  86. data/spec/search_spec.rb +40 -1
  87. data/spec/spec_helper.rb +1 -4
  88. data/spec/tweet_spec.rb +75 -38
  89. data/templates/skeleton.txt +26 -56
  90. metadata +84 -141
  91. data/.document +0 -5
  92. data/.travis.yml +0 -8
  93. data/examples/streaming_bot.rb +0 -48
  94. data/examples/tweet_logger.rb +0 -68
  95. data/lib/chatterbot/streaming.rb +0 -60
  96. data/spec/streaming_spec.rb +0 -170
@@ -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>