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,11 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <div class=page-header>
6
+ <h2>{{ page.title }}
7
+ {% if page.subtitle %}<small>{{ page.subtitle }}</small>{% endif %}
8
+ </h2>
9
+ </div>
10
+
11
+ {{ content }}
File without changes
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+ gem 'github-pages'
3
+
@@ -0,0 +1,465 @@
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 : Advanced 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>Advanced Features
338
+
339
+ </h2>
340
+ </div>
341
+
342
+ <h2 id="direct-client-access">Direct Client Access</h2>
343
+
344
+ <p>If you want to do something not provided directly by Chatterbot, you
345
+ have access to an instance of Twitter::Client provided by the
346
+ <strong>client</strong> method. In theory, you can do something like this in your
347
+ bot to unfollow users who DM you:</p>
348
+
349
+ <pre><code>client.direct_messages_received(:since_id =&gt; since_id).each do |m|
350
+ client.unfollow(m.user.name)
351
+ end
352
+ </code></pre>
353
+
354
+ <h2 id="storing-config-in-the-database">Storing Config in the Database</h2>
355
+ <p>Sometimes it is preferable to store the authorization credentials for
356
+ your bot in a database.</p>
357
+
358
+ <p>Chatterbot can manage configurations that are stored in the database,
359
+ but to do this you will need to specify how to connect to the
360
+ database. You can do this by specifying the connection string
361
+ either in one of the global config files by setting</p>
362
+
363
+ <p><code>
364
+ :db_uri:mysql://username:password@host/database
365
+ </code></p>
366
+
367
+ <p>Or you can specify the connection on the command-line by using the
368
+ –db=”db_uri” configuration option. Any calls to the database are
369
+ handled by the Sequel gem, and MySQL and Sqlite should work. The DB
370
+ URI should be in the form of</p>
371
+
372
+ <pre><code>mysql://username:password@host/database
373
+ </code></pre>
374
+
375
+ <p>see http://sequel.rubyforge.org/rdoc/files/doc/opening_databases_rdoc.html
376
+ for details.</p>
377
+
378
+ <h2 id="logging-tweets-to-the-database">Logging Tweets to the Database</h2>
379
+
380
+ <p>Chatterbot can log tweet activity to a database if desired. This can
381
+ be handy for archival purposes, or for tracking what’s going on with
382
+ your bot.</p>
383
+
384
+ <p>If you’ve configured your bot for database access, you can store a
385
+ tweet to the database by calling the <code>log</code> method like this:</p>
386
+
387
+ <p><code>
388
+ search "chatterbot" do |tweet|
389
+ log tweet
390
+ end
391
+ </code></p>
392
+
393
+ <p>See <code>Chatterbot::Logging</code> for details on this.</p>
394
+
395
+ <h2 id="streaming">Streaming</h2>
396
+
397
+ <p>Chatterbot has basic support for Twitter’s Streaming API. You can read
398
+ more about it <a href="streaming.html">here</a></p>
399
+
400
+
401
+ </div>
402
+
403
+ </div>
404
+
405
+ <div class=row-fluid>
406
+ <div id=footer class=span12>
407
+ <!--
408
+ Documentation for <a href="https://github.com/muffinista/chatterbot">chatterbot</a>
409
+ -->
410
+
411
+ </div>
412
+ </div>
413
+ </div>
414
+
415
+ <script>
416
+ function orderNav() {
417
+ var list,
418
+ section,
419
+ header,
420
+ sections = [],
421
+ lists = {},
422
+ headers = {};
423
+
424
+ var navUl = document.querySelectorAll('#navigation ul')[0],
425
+ navLis = document.querySelectorAll('#navigation ul li');
426
+
427
+ if (!navUl) return;
428
+
429
+ for (var i = 0; i < navLis.length; i++) {
430
+ var order, li = navLis[i];
431
+
432
+ if (li.classList.contains('nav-header')) {
433
+ section = li.textContent || li.innerText;
434
+ sections.push(section);
435
+ headers[section] = li;
436
+ continue;
437
+ }
438
+
439
+ if (!lists[section]) {
440
+ lists[section] = [];
441
+ }
442
+
443
+ order = parseFloat(li.getAttribute('data-order'))
444
+ lists[section].push([order, li]);
445
+ }
446
+
447
+ for (var i = 0; i < sections.length; i++) {
448
+ section = sections[i];
449
+ list = lists[section].sort(function(a, b) {
450
+ return a[0] - b[0];
451
+ });
452
+
453
+ if (header = headers[section]) {
454
+ navUl.appendChild(header);
455
+ }
456
+ for (var j = 0; j < list.length; j++) {
457
+ navUl.appendChild(list[j][1]);
458
+ }
459
+ }
460
+ }
461
+
462
+ if (document.querySelectorAll) orderNav();
463
+ </script>
464
+ </body>
465
+ </html>