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.
- checksums.yaml +5 -5
- data/.github/workflows/ci.yml +19 -0
- data/Gemfile +9 -17
- data/README.markdown +10 -23
- data/Rakefile +2 -18
- data/chatterbot.gemspec +17 -12
- 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 +465 -0
- data/docs/_site/configuration.html +436 -0
- data/docs/_site/contributing.html +414 -0
- data/docs/_site/css/main.css +58 -0
- data/docs/_site/css/syntax.css +61 -0
- data/docs/_site/deploying.html +451 -0
- data/docs/_site/examples.html +559 -0
- data/docs/_site/features.html +496 -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 +461 -0
- data/docs/_site/javascripts/main.js +1 -0
- data/docs/_site/other-tools.html +419 -0
- data/docs/_site/params.json +1 -0
- data/docs/_site/rdoc.html +409 -0
- data/docs/_site/setup.html +491 -0
- data/docs/_site/stylesheets/pygment_trac.css +68 -0
- data/docs/_site/stylesheets/stylesheet.css +247 -0
- data/docs/_site/tut.html +402 -0
- data/docs/_site/twitter-docs.html +409 -0
- data/docs/_site/walkthrough.html +447 -0
- data/docs/advanced.md +62 -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 +47 -0
- data/docs/examples.md +120 -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 +69 -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/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/lib/chatterbot.rb +0 -1
- data/lib/chatterbot/bot.rb +7 -67
- data/lib/chatterbot/client.rb +2 -9
- data/lib/chatterbot/config.rb +1 -2
- data/lib/chatterbot/dsl.rb +20 -47
- data/lib/chatterbot/home_timeline.rb +1 -1
- data/lib/chatterbot/search.rb +26 -3
- data/lib/chatterbot/skeleton.rb +0 -2
- data/lib/chatterbot/tweet.rb +13 -3
- data/lib/chatterbot/ui.rb +0 -1
- data/lib/chatterbot/version.rb +1 -1
- data/spec/bot_spec.rb +1 -76
- data/spec/client_spec.rb +0 -3
- data/spec/config_manager_spec.rb +6 -5
- data/spec/config_spec.rb +4 -1
- data/spec/dsl_spec.rb +10 -35
- data/spec/fixtures/update_with_media.png +0 -0
- data/spec/search_spec.rb +40 -1
- data/spec/spec_helper.rb +1 -4
- data/spec/tweet_spec.rb +74 -34
- data/templates/skeleton.txt +0 -47
- metadata +81 -135
- data/.document +0 -5
- data/.travis.yml +0 -11
- data/examples/streaming_bot.rb +0 -48
- data/examples/tweet_logger.rb +0 -68
- data/lib/chatterbot/streaming.rb +0 -62
- data/spec/streaming_spec.rb +0 -172
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,461 @@
|
|
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 : Chatterbot - ruby for Twitter bots</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
|
+
<h1 id="chatterbot">Chatterbot</h1>
|
337
|
+
|
338
|
+
<p><a href="https://github.com/muffinista/chatterbot">Chatterbot</a> is a Ruby library for making bots on Twitter. It’s
|
339
|
+
great for rapid development of bot ideas. It handles all of the basic
|
340
|
+
Twitter API features – searches, replies, tweets, retweets, etc. and has
|
341
|
+
a simple blacklist/whitelist system to help minimize spam and unwanted
|
342
|
+
data.</p>
|
343
|
+
|
344
|
+
<p>A bot using chatterbot can be as simple as this:</p>
|
345
|
+
|
346
|
+
<p>```
|
347
|
+
exclude “http://”
|
348
|
+
blacklist “mean_user, private_user”</p>
|
349
|
+
|
350
|
+
<p>puts “checking my timeline”
|
351
|
+
home_timeline do |tweet|
|
352
|
+
# i like to favorite things
|
353
|
+
favorite tweet
|
354
|
+
end</p>
|
355
|
+
|
356
|
+
<p>puts “checking for replies to my tweets and mentions of me”
|
357
|
+
replies do |tweet|
|
358
|
+
text = tweet.text
|
359
|
+
puts “message received: #{text}”
|
360
|
+
src = text.gsub(/@echoes_bot/, “#USER#”) </p>
|
361
|
+
|
362
|
+
<p># send it back!
|
363
|
+
reply src, tweet
|
364
|
+
end
|
365
|
+
```</p>
|
366
|
+
|
367
|
+
<p>Or you can write a bot using more traditional ruby classes.</p>
|
368
|
+
|
369
|
+
<p>Chatterbot can actually generate a template bot file for you, and will
|
370
|
+
walk you through process of getting a bot authorized with Twitter.</p>
|
371
|
+
|
372
|
+
<h2 id="features">Features</h2>
|
373
|
+
<ul>
|
374
|
+
<li>Handles search queries and replies to your bot</li>
|
375
|
+
<li>Use a simple scripting language, or extend a Bot class if you need it</li>
|
376
|
+
<li>Wraps the Twitter gem so you have access to the entire Twitter API</li>
|
377
|
+
<li>Simple blacklistling system to limit your annoyance of users</li>
|
378
|
+
<li>Avoid your bot making a fool of itself by ignoring tweets with
|
379
|
+
certain bad words</li>
|
380
|
+
<li>Basic Streaming API support</li>
|
381
|
+
<li>Optionally log tweets to the database for metrics and tracking purposes</li>
|
382
|
+
</ul>
|
383
|
+
|
384
|
+
<p>Chatterbot uses the the Twitter gem
|
385
|
+
(https://github.com/sferik/twitter) to handle the underlying API
|
386
|
+
calls. Any calls to the search/reply methods will return
|
387
|
+
<code>Twitter::Tweet</code> objects.</p>
|
388
|
+
|
389
|
+
<h2 id="copyrightlicense">Copyright/License</h2>
|
390
|
+
|
391
|
+
<p>Copyright (c) 2014 Colin Mitchell. Chatterbot is distributed under the
|
392
|
+
WTFPL license.</p>
|
393
|
+
|
394
|
+
<p>http://muffinlabs.com</p>
|
395
|
+
|
396
|
+
|
397
|
+
</div>
|
398
|
+
|
399
|
+
</div>
|
400
|
+
|
401
|
+
<div class=row-fluid>
|
402
|
+
<div id=footer class=span12>
|
403
|
+
<!--
|
404
|
+
Documentation for <a href="https://github.com/muffinista/chatterbot">chatterbot</a>
|
405
|
+
-->
|
406
|
+
|
407
|
+
</div>
|
408
|
+
</div>
|
409
|
+
</div>
|
410
|
+
|
411
|
+
<script>
|
412
|
+
function orderNav() {
|
413
|
+
var list,
|
414
|
+
section,
|
415
|
+
header,
|
416
|
+
sections = [],
|
417
|
+
lists = {},
|
418
|
+
headers = {};
|
419
|
+
|
420
|
+
var navUl = document.querySelectorAll('#navigation ul')[0],
|
421
|
+
navLis = document.querySelectorAll('#navigation ul li');
|
422
|
+
|
423
|
+
if (!navUl) return;
|
424
|
+
|
425
|
+
for (var i = 0; i < navLis.length; i++) {
|
426
|
+
var order, li = navLis[i];
|
427
|
+
|
428
|
+
if (li.classList.contains('nav-header')) {
|
429
|
+
section = li.textContent || li.innerText;
|
430
|
+
sections.push(section);
|
431
|
+
headers[section] = li;
|
432
|
+
continue;
|
433
|
+
}
|
434
|
+
|
435
|
+
if (!lists[section]) {
|
436
|
+
lists[section] = [];
|
437
|
+
}
|
438
|
+
|
439
|
+
order = parseFloat(li.getAttribute('data-order'))
|
440
|
+
lists[section].push([order, li]);
|
441
|
+
}
|
442
|
+
|
443
|
+
for (var i = 0; i < sections.length; i++) {
|
444
|
+
section = sections[i];
|
445
|
+
list = lists[section].sort(function(a, b) {
|
446
|
+
return a[0] - b[0];
|
447
|
+
});
|
448
|
+
|
449
|
+
if (header = headers[section]) {
|
450
|
+
navUl.appendChild(header);
|
451
|
+
}
|
452
|
+
for (var j = 0; j < list.length; j++) {
|
453
|
+
navUl.appendChild(list[j][1]);
|
454
|
+
}
|
455
|
+
}
|
456
|
+
}
|
457
|
+
|
458
|
+
if (document.querySelectorAll) orderNav();
|
459
|
+
</script>
|
460
|
+
</body>
|
461
|
+
</html>
|