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,506 @@
|
|
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 : Streaming API</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>Streaming API
|
360
|
+
|
361
|
+
</h2>
|
362
|
+
</div>
|
363
|
+
|
364
|
+
<p>Chatterbot has basic support for Twitter's <a href="https://dev.twitter.com/streaming/overview">Streaming API</a>. If
|
365
|
+
you are an advanced developer, or want to create something very
|
366
|
+
involved, it might make more sense to use a different library.
|
367
|
+
However, if you do use Chatterbot, you can continue to use the DSL,
|
368
|
+
and you get access to a bunch of helpful routines.</p>
|
369
|
+
|
370
|
+
<p>Here's an example bot using the Streaming API:</p>
|
371
|
+
<div class="highlight"><pre><code class="language-text" data-lang="text">#!/usr/bin/env ruby
|
372
|
+
|
373
|
+
## This is a very simple working example of a bot using the streaming
|
374
|
+
## API. It's basically a copy of echoes_bot.rb, just using streaming.
|
375
|
+
|
376
|
+
#
|
377
|
+
# require the dsl lib to include all the methods you see below.
|
378
|
+
#
|
379
|
+
require 'rubygems'
|
380
|
+
require 'chatterbot/dsl'
|
381
|
+
|
382
|
+
consumer_secret 'foo'
|
383
|
+
secret 'bar'
|
384
|
+
token 'biz'
|
385
|
+
consumer_key 'bam'
|
386
|
+
|
387
|
+
|
388
|
+
puts "Loading echoes_bot.rb using the streaming API"
|
389
|
+
|
390
|
+
exclude "http://", "https://"
|
391
|
+
|
392
|
+
blacklist "mean_user, private_user"
|
393
|
+
|
394
|
+
streaming do
|
395
|
+
favorited do |user, tweet|
|
396
|
+
reply "@#{user.screen_name} thanks for the fave!", tweet
|
397
|
+
end
|
398
|
+
|
399
|
+
followed do |user|
|
400
|
+
tweet "@#{user.screen_name} just followed me!"
|
401
|
+
follow user
|
402
|
+
end
|
403
|
+
|
404
|
+
replies do |tweet|
|
405
|
+
favorite tweet
|
406
|
+
|
407
|
+
puts "It's a tweet!"
|
408
|
+
src = tweet.text.gsub(/@echoes_bot/, "#USER#")
|
409
|
+
reply src, tweet
|
410
|
+
end
|
411
|
+
end
|
412
|
+
</code></pre></div>
|
413
|
+
<p>By default, chatterbot will use the
|
414
|
+
<a href="https://dev.twitter.com/streaming/userstreams">user endpoint</a>, which
|
415
|
+
returns events for the bot -- mentions, follows, etc. If you want to
|
416
|
+
perform a search, or use the sample endpoint, you will need to specify
|
417
|
+
that:</p>
|
418
|
+
<div class="highlight"><pre><code class="language-text" data-lang="text">#
|
419
|
+
# sample the twitter stream
|
420
|
+
#
|
421
|
+
streaming(endpoint:"sample") do
|
422
|
+
sample do |tweet|
|
423
|
+
puts tweet.text
|
424
|
+
end
|
425
|
+
end
|
426
|
+
</code></pre></div><div class="highlight"><pre><code class="language-text" data-lang="text">#
|
427
|
+
# run a search
|
428
|
+
#
|
429
|
+
streaming(endpoint:"search") do
|
430
|
+
search("Streaming API") do |tweet|
|
431
|
+
puts tweet.text
|
432
|
+
end
|
433
|
+
end
|
434
|
+
</code></pre></div><div class="highlight"><pre><code class="language-text" data-lang="text">#
|
435
|
+
# find geocoded tweets
|
436
|
+
#
|
437
|
+
streaming(endpoint: :filter, locations:"-180,-90,180,90") do
|
438
|
+
user do |tweet|
|
439
|
+
puts tweet.text
|
440
|
+
end
|
441
|
+
end
|
442
|
+
</code></pre></div>
|
443
|
+
|
444
|
+
</div>
|
445
|
+
|
446
|
+
</div>
|
447
|
+
|
448
|
+
<div class=row-fluid>
|
449
|
+
<div id=footer class=span12>
|
450
|
+
Documentation for <a href="https://github.com/muffinista/chatterbot">chatterbot</a>
|
451
|
+
|
452
|
+
</div>
|
453
|
+
</div>
|
454
|
+
</div>
|
455
|
+
|
456
|
+
<script>
|
457
|
+
function orderNav() {
|
458
|
+
var list,
|
459
|
+
section,
|
460
|
+
header,
|
461
|
+
sections = [],
|
462
|
+
lists = {},
|
463
|
+
headers = {};
|
464
|
+
|
465
|
+
var navUl = document.querySelectorAll('#navigation ul')[0],
|
466
|
+
navLis = document.querySelectorAll('#navigation ul li');
|
467
|
+
|
468
|
+
if (!navUl) return;
|
469
|
+
|
470
|
+
for (var i = 0; i < navLis.length; i++) {
|
471
|
+
var order, li = navLis[i];
|
472
|
+
|
473
|
+
if (li.classList.contains('nav-header')) {
|
474
|
+
section = li.textContent || li.innerText;
|
475
|
+
sections.push(section);
|
476
|
+
headers[section] = li;
|
477
|
+
continue;
|
478
|
+
}
|
479
|
+
|
480
|
+
if (!lists[section]) {
|
481
|
+
lists[section] = [];
|
482
|
+
}
|
483
|
+
|
484
|
+
order = parseFloat(li.getAttribute('data-order'))
|
485
|
+
lists[section].push([order, li]);
|
486
|
+
}
|
487
|
+
|
488
|
+
for (var i = 0; i < sections.length; i++) {
|
489
|
+
section = sections[i];
|
490
|
+
list = lists[section].sort(function(a, b) {
|
491
|
+
return a[0] - b[0];
|
492
|
+
});
|
493
|
+
|
494
|
+
if (header = headers[section]) {
|
495
|
+
navUl.appendChild(header);
|
496
|
+
}
|
497
|
+
for (var j = 0; j < list.length; j++) {
|
498
|
+
navUl.appendChild(list[j][1]);
|
499
|
+
}
|
500
|
+
}
|
501
|
+
}
|
502
|
+
|
503
|
+
if (document.querySelectorAll) orderNav();
|
504
|
+
</script>
|
505
|
+
</body>
|
506
|
+
</html>
|