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,61 @@
|
|
1
|
+
.highlight .hll { background-color: #ffffcc }
|
2
|
+
.highlight { background: #ffffff; }
|
3
|
+
.highlight .c { color: #888888 } /* Comment */
|
4
|
+
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
|
5
|
+
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
|
6
|
+
.highlight .cm { color: #888888 } /* Comment.Multiline */
|
7
|
+
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
|
8
|
+
.highlight .c1 { color: #888888 } /* Comment.Single */
|
9
|
+
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */
|
10
|
+
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
|
11
|
+
.highlight .ge { font-style: italic } /* Generic.Emph */
|
12
|
+
.highlight .gr { color: #aa0000 } /* Generic.Error */
|
13
|
+
.highlight .gh { color: #333333 } /* Generic.Heading */
|
14
|
+
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
|
15
|
+
.highlight .go { color: #888888 } /* Generic.Output */
|
16
|
+
.highlight .gp { color: #555555 } /* Generic.Prompt */
|
17
|
+
.highlight .gs { font-weight: bold } /* Generic.Strong */
|
18
|
+
.highlight .gu { color: #666666 } /* Generic.Subheading */
|
19
|
+
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
|
20
|
+
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
|
21
|
+
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
|
22
|
+
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
|
23
|
+
.highlight .kp { color: #008800 } /* Keyword.Pseudo */
|
24
|
+
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
|
25
|
+
.highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */
|
26
|
+
.highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */
|
27
|
+
.highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
|
28
|
+
.highlight .na { color: #336699 } /* Name.Attribute */
|
29
|
+
.highlight .nb { color: #003388 } /* Name.Builtin */
|
30
|
+
.highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */
|
31
|
+
.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
|
32
|
+
.highlight .nd { color: #555555 } /* Name.Decorator */
|
33
|
+
.highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */
|
34
|
+
.highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */
|
35
|
+
.highlight .nl { color: #336699; font-style: italic } /* Name.Label */
|
36
|
+
.highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */
|
37
|
+
.highlight .py { color: #336699; font-weight: bold } /* Name.Property */
|
38
|
+
.highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */
|
39
|
+
.highlight .nv { color: #336699 } /* Name.Variable */
|
40
|
+
.highlight .ow { color: #008800 } /* Operator.Word */
|
41
|
+
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
|
42
|
+
.highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */
|
43
|
+
.highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */
|
44
|
+
.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
|
45
|
+
.highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */
|
46
|
+
.highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */
|
47
|
+
.highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */
|
48
|
+
.highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */
|
49
|
+
.highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */
|
50
|
+
.highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */
|
51
|
+
.highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */
|
52
|
+
.highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */
|
53
|
+
.highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */
|
54
|
+
.highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */
|
55
|
+
.highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */
|
56
|
+
.highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */
|
57
|
+
.highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */
|
58
|
+
.highlight .vc { color: #336699 } /* Name.Variable.Class */
|
59
|
+
.highlight .vg { color: #dd7700 } /* Name.Variable.Global */
|
60
|
+
.highlight .vi { color: #3333bb } /* Name.Variable.Instance */
|
61
|
+
.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
|
@@ -0,0 +1,468 @@
|
|
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 : Running 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="/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>Running your Bot
|
360
|
+
|
361
|
+
</h2>
|
362
|
+
</div>
|
363
|
+
|
364
|
+
<p>There's a couple ways of running your bot:</p>
|
365
|
+
|
366
|
+
<h2 id="manually">Manually</h2>
|
367
|
+
|
368
|
+
<p>Run it on the command-line whenever you like. Whee!</p>
|
369
|
+
|
370
|
+
<h2 id="cron">Cron</h2>
|
371
|
+
|
372
|
+
<p>Run it via cron. Here's an example of running a bot every two minutes</p>
|
373
|
+
<div class="highlight"><pre><code class="language-text" data-lang="text">*/2 * * * * . ~/.bash_profile; cd /path/to/bot/; ./bot.rb
|
374
|
+
</code></pre></div>
|
375
|
+
<h2 id="looping">Looping</h2>
|
376
|
+
|
377
|
+
<p>Run it as a background process. Just put the guts of your bot in a loop like this:</p>
|
378
|
+
<div class="highlight"><pre><code class="language-rb" data-lang="rb"><span class="kp">loop</span> <span class="k">do</span>
|
379
|
+
<span class="n">search</span> <span class="s2">"twitter"</span> <span class="k">do</span> <span class="o">|</span><span class="n">tweet</span><span class="o">|</span>
|
380
|
+
<span class="c1"># here you could do something with a tweet</span>
|
381
|
+
<span class="c1"># if you want to retweet</span>
|
382
|
+
<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>
|
383
|
+
<span class="k">end</span>
|
384
|
+
|
385
|
+
<span class="n">replies</span> <span class="k">do</span> <span class="o">|</span><span class="n">tweet</span><span class="o">|</span>
|
386
|
+
<span class="c1"># do stuff</span>
|
387
|
+
<span class="k">end</span>
|
388
|
+
|
389
|
+
<span class="c1"># explicitly update our config</span>
|
390
|
+
<span class="n">update_config</span>
|
391
|
+
|
392
|
+
<span class="nb">sleep</span> <span class="mi">60</span>
|
393
|
+
<span class="k">end</span>
|
394
|
+
</code></pre></div>
|
395
|
+
<p><strong>NOTE:</strong> You need to call <code>update_config</code> to update the last tweet your script
|
396
|
+
has processed -- if you don't have this call, you will get duplicate
|
397
|
+
tweets.</p>
|
398
|
+
|
399
|
+
<h2 id="streaming">Streaming</h2>
|
400
|
+
|
401
|
+
<p>Chatterbot has rough support for the Streaming API. If your bot can
|
402
|
+
use it, it's a great option, because you get your data immediately.
|
403
|
+
You can read more about setting up a bot to use <a href="/streaming.html">streaming</a>.</p>
|
404
|
+
|
405
|
+
|
406
|
+
</div>
|
407
|
+
|
408
|
+
</div>
|
409
|
+
|
410
|
+
<div class=row-fluid>
|
411
|
+
<div id=footer class=span12>
|
412
|
+
Documentation for <a href="https://github.com/muffinista/chatterbot">chatterbot</a>
|
413
|
+
|
414
|
+
</div>
|
415
|
+
</div>
|
416
|
+
</div>
|
417
|
+
|
418
|
+
<script>
|
419
|
+
function orderNav() {
|
420
|
+
var list,
|
421
|
+
section,
|
422
|
+
header,
|
423
|
+
sections = [],
|
424
|
+
lists = {},
|
425
|
+
headers = {};
|
426
|
+
|
427
|
+
var navUl = document.querySelectorAll('#navigation ul')[0],
|
428
|
+
navLis = document.querySelectorAll('#navigation ul li');
|
429
|
+
|
430
|
+
if (!navUl) return;
|
431
|
+
|
432
|
+
for (var i = 0; i < navLis.length; i++) {
|
433
|
+
var order, li = navLis[i];
|
434
|
+
|
435
|
+
if (li.classList.contains('nav-header')) {
|
436
|
+
section = li.textContent || li.innerText;
|
437
|
+
sections.push(section);
|
438
|
+
headers[section] = li;
|
439
|
+
continue;
|
440
|
+
}
|
441
|
+
|
442
|
+
if (!lists[section]) {
|
443
|
+
lists[section] = [];
|
444
|
+
}
|
445
|
+
|
446
|
+
order = parseFloat(li.getAttribute('data-order'))
|
447
|
+
lists[section].push([order, li]);
|
448
|
+
}
|
449
|
+
|
450
|
+
for (var i = 0; i < sections.length; i++) {
|
451
|
+
section = sections[i];
|
452
|
+
list = lists[section].sort(function(a, b) {
|
453
|
+
return a[0] - b[0];
|
454
|
+
});
|
455
|
+
|
456
|
+
if (header = headers[section]) {
|
457
|
+
navUl.appendChild(header);
|
458
|
+
}
|
459
|
+
for (var j = 0; j < list.length; j++) {
|
460
|
+
navUl.appendChild(list[j][1]);
|
461
|
+
}
|
462
|
+
}
|
463
|
+
}
|
464
|
+
|
465
|
+
if (document.querySelectorAll) orderNav();
|
466
|
+
</script>
|
467
|
+
</body>
|
468
|
+
</html>
|