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.
- checksums.yaml +4 -4
- data/.travis.yml +3 -5
- data/Gemfile +9 -17
- data/Rakefile +2 -18
- data/chatterbot.gemspec +10 -11
- data/docs/Gemfile +3 -0
- data/docs/README.md +3 -0
- data/docs/_config.yml +37 -0
- data/docs/_includes/footer.html +3 -0
- data/docs/_includes/header.html +4 -0
- data/docs/_includes/navigation.html +23 -0
- data/docs/_layouts/default.html +98 -0
- data/docs/_layouts/page.html +11 -0
- data/docs/_posts/.gitkeep +0 -0
- data/docs/_site/Gemfile +3 -0
- data/docs/_site/advanced.html +476 -0
- data/docs/_site/configuration.html +456 -0
- data/docs/_site/contributing.html +433 -0
- data/docs/_site/css/main.css +58 -0
- data/docs/_site/css/syntax.css +61 -0
- data/docs/_site/deploying.html +468 -0
- data/docs/_site/examples.html +574 -0
- data/docs/_site/features.html +497 -0
- data/docs/_site/images/01-create-application.png +0 -0
- data/docs/_site/images/02-application-permissions.png +0 -0
- data/docs/_site/images/03-mobile-number.png +0 -0
- data/docs/_site/images/04-access-token.png +0 -0
- data/docs/_site/index.html +482 -0
- data/docs/_site/javascripts/main.js +1 -0
- data/docs/_site/other-tools.html +438 -0
- data/docs/_site/params.json +1 -0
- data/docs/_site/rdoc.html +428 -0
- data/docs/_site/setup.html +500 -0
- data/docs/_site/streaming.html +506 -0
- data/docs/_site/stylesheets/pygment_trac.css +68 -0
- data/docs/_site/stylesheets/stylesheet.css +247 -0
- data/docs/_site/tut.html +422 -0
- data/docs/_site/twitter-docs.html +428 -0
- data/docs/_site/walkthrough.html +463 -0
- data/docs/advanced.md +67 -0
- data/docs/basics.md +12 -0
- data/docs/bin/jekyll-page +109 -0
- data/docs/configuration.md +32 -0
- data/docs/contributing.md +14 -0
- data/docs/css/main.css +58 -0
- data/docs/css/syntax.css +61 -0
- data/docs/deploying.md +53 -0
- data/docs/examples.md +168 -0
- data/docs/features.md +88 -0
- data/docs/images/01-create-application.png +0 -0
- data/docs/images/02-application-permissions.png +0 -0
- data/docs/images/03-mobile-number.png +0 -0
- data/docs/images/04-access-token.png +0 -0
- data/docs/index.md +70 -0
- data/docs/javascripts/main.js +1 -0
- data/docs/other-tools.md +17 -0
- data/docs/params.json +1 -0
- data/docs/rdoc.md +6 -0
- data/docs/setup.md +84 -0
- data/docs/streaming.md +98 -0
- data/docs/stylesheets/pygment_trac.css +68 -0
- data/docs/stylesheets/stylesheet.css +247 -0
- data/docs/tips.md +22 -0
- data/docs/tut.md +6 -0
- data/docs/twitter-docs.md +6 -0
- data/docs/walkthrough.md +46 -0
- data/examples/streaming_bot.rb +11 -10
- data/ext/mkrf_conf.rb +28 -0
- data/lib/chatterbot/bot.rb +5 -1
- data/lib/chatterbot/config.rb +1 -1
- data/lib/chatterbot/home_timeline.rb +1 -1
- data/lib/chatterbot/streaming.rb +11 -1
- data/lib/chatterbot/version.rb +1 -1
- data/spec/spec_helper.rb +1 -4
- metadata +71 -122
- data/examples/tweet_logger.rb +0 -68
@@ -0,0 +1,497 @@
|
|
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="/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>Basic Features
|
360
|
+
|
361
|
+
</h2>
|
362
|
+
</div>
|
363
|
+
|
364
|
+
<p>Here's a list of some of the commonly-used methods in the Chatterbot DSL:</p>
|
365
|
+
|
366
|
+
<p><strong>search</strong> -- You can use this to perform a search on Twitter:</p>
|
367
|
+
<div class="highlight"><pre><code class="language-text" data-lang="text">search("'surely you must be joking'") do |tweet|
|
368
|
+
reply "#USER# I am serious, and don't call me Shirley!", tweet
|
369
|
+
end
|
370
|
+
</code></pre></div>
|
371
|
+
<p>By default, Chatterbot keeps track of the last time you ran the bot,
|
372
|
+
and it will only search for new tweets.</p>
|
373
|
+
|
374
|
+
<p><strong>replies</strong> -- Use this to check for replies and mentions:</p>
|
375
|
+
<div class="highlight"><pre><code class="language-text" data-lang="text">replies do |tweet|
|
376
|
+
reply "#USER# Thanks for contacting me!", tweet
|
377
|
+
end
|
378
|
+
</code></pre></div>
|
379
|
+
<p>Note that the string <strong>#USER#</strong> is automatically replaced with the
|
380
|
+
username of the person who sent the original tweet. Also, Chatterbot
|
381
|
+
will only return tweets that were sent since the last run of the bot.</p>
|
382
|
+
|
383
|
+
<p><strong>tweet</strong> -- send a Tweet out for this bot:</p>
|
384
|
+
<div class="highlight"><pre><code class="language-text" data-lang="text">tweet "I AM A BOT!!!"
|
385
|
+
</code></pre></div>
|
386
|
+
<p><strong>reply</strong> -- reply to another tweet:</p>
|
387
|
+
<div class="highlight"><pre><code class="language-text" data-lang="text">reply "THIS IS A REPLY TO #USER#!", original_tweet
|
388
|
+
</code></pre></div>
|
389
|
+
<p><strong>retweet</strong> -- Chatterbot can retweet tweets as well:</p>
|
390
|
+
<div class="highlight"><pre><code class="language-rb" data-lang="rb"> <span class="n">search</span> <span class="s2">"xyzzy"</span> <span class="k">do</span> <span class="o">|</span><span class="n">tweet</span><span class="o">|</span>
|
391
|
+
<span class="n">retweet</span><span class="p">(</span><span class="n">tweet</span><span class="o">[</span><span class="ss">:id</span><span class="o">]</span><span class="p">)</span>
|
392
|
+
<span class="k">end</span>
|
393
|
+
</code></pre></div>
|
394
|
+
<p><strong>blacklist</strong> -- you can use this to specify a list of users you don't
|
395
|
+
want to interact with. If you put the following line at the top of
|
396
|
+
your bot:</p>
|
397
|
+
<div class="highlight"><pre><code class="language-text" data-lang="text">blacklist "user1, user2, user3"
|
398
|
+
</code></pre></div>
|
399
|
+
<p>None of those users will trigger your bot if they come up in a
|
400
|
+
search. However, if a user replies to one of your tweets or mentions
|
401
|
+
your bot in a tweet, you will still receive that tweet when checking
|
402
|
+
for replies.</p>
|
403
|
+
|
404
|
+
<p><strong>exclude</strong> -- similarly, you can specify a list of words/phrases
|
405
|
+
which shouldn't trigger your bot. If you use the following:</p>
|
406
|
+
<div class="highlight"><pre><code class="language-text" data-lang="text">exclude "spam"
|
407
|
+
</code></pre></div>
|
408
|
+
<p>Any tweets or mentions with the word 'spam' in them will be ignored by
|
409
|
+
the bot. If you wanted to ignore any tweets with links in them (a wise
|
410
|
+
precaution if you want to avoid spreading spam), you could call:</p>
|
411
|
+
<div class="highlight"><pre><code class="language-text" data-lang="text">exclude "http://"
|
412
|
+
</code></pre></div>
|
413
|
+
<p>The library actually comes with a pre-defined list of 'bad words'
|
414
|
+
which you can exclude by default by calling:</p>
|
415
|
+
<div class="highlight"><pre><code class="language-text" data-lang="text">exclude bad_words
|
416
|
+
</code></pre></div>
|
417
|
+
<p>The word list is from Darius Kazemi's
|
418
|
+
<a href="https://github.com/dariusk/wordfilter">wordfilter</a>.</p>
|
419
|
+
|
420
|
+
<p><strong>whitelist</strong></p>
|
421
|
+
|
422
|
+
<p><strong>followers</strong> -- get a list of your followers. This is an experimental
|
423
|
+
feature but should work for most purposes.</p>
|
424
|
+
|
425
|
+
<p><strong>follow</strong></p>
|
426
|
+
|
427
|
+
<p><strong>profile_text</strong>
|
428
|
+
<strong>profile_website</strong></p>
|
429
|
+
|
430
|
+
<p>For more details, check out
|
431
|
+
<a href="https://github.com/muffinista/chatterbot/blob/master/lib/chatterbot/dsl.rb">dsl.rb</a>
|
432
|
+
in the source code.</p>
|
433
|
+
|
434
|
+
|
435
|
+
</div>
|
436
|
+
|
437
|
+
</div>
|
438
|
+
|
439
|
+
<div class=row-fluid>
|
440
|
+
<div id=footer class=span12>
|
441
|
+
Documentation for <a href="https://github.com/muffinista/chatterbot">chatterbot</a>
|
442
|
+
|
443
|
+
</div>
|
444
|
+
</div>
|
445
|
+
</div>
|
446
|
+
|
447
|
+
<script>
|
448
|
+
function orderNav() {
|
449
|
+
var list,
|
450
|
+
section,
|
451
|
+
header,
|
452
|
+
sections = [],
|
453
|
+
lists = {},
|
454
|
+
headers = {};
|
455
|
+
|
456
|
+
var navUl = document.querySelectorAll('#navigation ul')[0],
|
457
|
+
navLis = document.querySelectorAll('#navigation ul li');
|
458
|
+
|
459
|
+
if (!navUl) return;
|
460
|
+
|
461
|
+
for (var i = 0; i < navLis.length; i++) {
|
462
|
+
var order, li = navLis[i];
|
463
|
+
|
464
|
+
if (li.classList.contains('nav-header')) {
|
465
|
+
section = li.textContent || li.innerText;
|
466
|
+
sections.push(section);
|
467
|
+
headers[section] = li;
|
468
|
+
continue;
|
469
|
+
}
|
470
|
+
|
471
|
+
if (!lists[section]) {
|
472
|
+
lists[section] = [];
|
473
|
+
}
|
474
|
+
|
475
|
+
order = parseFloat(li.getAttribute('data-order'))
|
476
|
+
lists[section].push([order, li]);
|
477
|
+
}
|
478
|
+
|
479
|
+
for (var i = 0; i < sections.length; i++) {
|
480
|
+
section = sections[i];
|
481
|
+
list = lists[section].sort(function(a, b) {
|
482
|
+
return a[0] - b[0];
|
483
|
+
});
|
484
|
+
|
485
|
+
if (header = headers[section]) {
|
486
|
+
navUl.appendChild(header);
|
487
|
+
}
|
488
|
+
for (var j = 0; j < list.length; j++) {
|
489
|
+
navUl.appendChild(list[j][1]);
|
490
|
+
}
|
491
|
+
}
|
492
|
+
}
|
493
|
+
|
494
|
+
if (document.querySelectorAll) orderNav();
|
495
|
+
</script>
|
496
|
+
</body>
|
497
|
+
</html>
|