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.
Files changed (93) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/ci.yml +19 -0
  3. data/Gemfile +9 -17
  4. data/README.markdown +10 -23
  5. data/Rakefile +2 -18
  6. data/chatterbot.gemspec +17 -12
  7. data/docs/Gemfile +3 -0
  8. data/docs/README.md +3 -0
  9. data/docs/_config.yml +37 -0
  10. data/docs/_includes/footer.html +3 -0
  11. data/docs/_includes/header.html +4 -0
  12. data/docs/_includes/navigation.html +23 -0
  13. data/docs/_layouts/default.html +98 -0
  14. data/docs/_layouts/page.html +11 -0
  15. data/docs/_posts/.gitkeep +0 -0
  16. data/docs/_site/Gemfile +3 -0
  17. data/docs/_site/advanced.html +465 -0
  18. data/docs/_site/configuration.html +436 -0
  19. data/docs/_site/contributing.html +414 -0
  20. data/docs/_site/css/main.css +58 -0
  21. data/docs/_site/css/syntax.css +61 -0
  22. data/docs/_site/deploying.html +451 -0
  23. data/docs/_site/examples.html +559 -0
  24. data/docs/_site/features.html +496 -0
  25. data/docs/_site/images/01-create-application.png +0 -0
  26. data/docs/_site/images/02-application-permissions.png +0 -0
  27. data/docs/_site/images/03-mobile-number.png +0 -0
  28. data/docs/_site/images/04-access-token.png +0 -0
  29. data/docs/_site/index.html +461 -0
  30. data/docs/_site/javascripts/main.js +1 -0
  31. data/docs/_site/other-tools.html +419 -0
  32. data/docs/_site/params.json +1 -0
  33. data/docs/_site/rdoc.html +409 -0
  34. data/docs/_site/setup.html +491 -0
  35. data/docs/_site/stylesheets/pygment_trac.css +68 -0
  36. data/docs/_site/stylesheets/stylesheet.css +247 -0
  37. data/docs/_site/tut.html +402 -0
  38. data/docs/_site/twitter-docs.html +409 -0
  39. data/docs/_site/walkthrough.html +447 -0
  40. data/docs/advanced.md +62 -0
  41. data/docs/basics.md +12 -0
  42. data/docs/bin/jekyll-page +109 -0
  43. data/docs/configuration.md +32 -0
  44. data/docs/contributing.md +14 -0
  45. data/docs/css/main.css +58 -0
  46. data/docs/css/syntax.css +61 -0
  47. data/docs/deploying.md +47 -0
  48. data/docs/examples.md +120 -0
  49. data/docs/features.md +88 -0
  50. data/docs/images/01-create-application.png +0 -0
  51. data/docs/images/02-application-permissions.png +0 -0
  52. data/docs/images/03-mobile-number.png +0 -0
  53. data/docs/images/04-access-token.png +0 -0
  54. data/docs/index.md +69 -0
  55. data/docs/javascripts/main.js +1 -0
  56. data/docs/other-tools.md +17 -0
  57. data/docs/params.json +1 -0
  58. data/docs/rdoc.md +6 -0
  59. data/docs/setup.md +84 -0
  60. data/docs/stylesheets/pygment_trac.css +68 -0
  61. data/docs/stylesheets/stylesheet.css +247 -0
  62. data/docs/tips.md +22 -0
  63. data/docs/tut.md +6 -0
  64. data/docs/twitter-docs.md +6 -0
  65. data/docs/walkthrough.md +46 -0
  66. data/lib/chatterbot.rb +0 -1
  67. data/lib/chatterbot/bot.rb +7 -67
  68. data/lib/chatterbot/client.rb +2 -9
  69. data/lib/chatterbot/config.rb +1 -2
  70. data/lib/chatterbot/dsl.rb +20 -47
  71. data/lib/chatterbot/home_timeline.rb +1 -1
  72. data/lib/chatterbot/search.rb +26 -3
  73. data/lib/chatterbot/skeleton.rb +0 -2
  74. data/lib/chatterbot/tweet.rb +13 -3
  75. data/lib/chatterbot/ui.rb +0 -1
  76. data/lib/chatterbot/version.rb +1 -1
  77. data/spec/bot_spec.rb +1 -76
  78. data/spec/client_spec.rb +0 -3
  79. data/spec/config_manager_spec.rb +6 -5
  80. data/spec/config_spec.rb +4 -1
  81. data/spec/dsl_spec.rb +10 -35
  82. data/spec/fixtures/update_with_media.png +0 -0
  83. data/spec/search_spec.rb +40 -1
  84. data/spec/spec_helper.rb +1 -4
  85. data/spec/tweet_spec.rb +74 -34
  86. data/templates/skeleton.txt +0 -47
  87. metadata +81 -135
  88. data/.document +0 -5
  89. data/.travis.yml +0 -11
  90. data/examples/streaming_bot.rb +0 -48
  91. data/examples/tweet_logger.rb +0 -68
  92. data/lib/chatterbot/streaming.rb +0 -62
  93. data/spec/streaming_spec.rb +0 -172
metadata CHANGED
@@ -1,57 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chatterbot
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Colin Mitchell
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-10 00:00:00.000000000 Z
11
+ date: 2021-05-29 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: redcarpet
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: oauth
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
17
  - - "~>"
32
18
  - !ruby/object:Gem::Version
33
- version: 0.4.7
19
+ version: 0.5.6
34
20
  type: :runtime
35
21
  prerelease: false
36
22
  version_requirements: !ruby/object:Gem::Requirement
37
23
  requirements:
38
24
  - - "~>"
39
25
  - !ruby/object:Gem::Version
40
- version: 0.4.7
26
+ version: 0.5.6
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: twitter
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
31
  - - "~>"
46
32
  - !ruby/object:Gem::Version
47
- version: 5.16.0
33
+ version: '7'
48
34
  type: :runtime
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
52
38
  - - "~>"
53
39
  - !ruby/object:Gem::Version
54
- version: 5.16.0
40
+ version: '7'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: launchy
57
43
  requirement: !ruby/object:Gem::Requirement
@@ -81,117 +67,19 @@ dependencies:
81
67
  - !ruby/object:Gem::Version
82
68
  version: 0.7.3
83
69
  - !ruby/object:Gem::Dependency
84
- name: yard
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: shoulda
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: rake
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "<"
116
- - !ruby/object:Gem::Version
117
- version: '11'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "<"
123
- - !ruby/object:Gem::Version
124
- version: '11'
125
- - !ruby/object:Gem::Dependency
126
- name: rspec
70
+ name: bundler
127
71
  requirement: !ruby/object:Gem::Requirement
128
72
  requirements:
129
73
  - - "~>"
130
74
  - !ruby/object:Gem::Version
131
- version: 3.0.0
75
+ version: '2.0'
132
76
  type: :development
133
77
  prerelease: false
134
78
  version_requirements: !ruby/object:Gem::Requirement
135
79
  requirements:
136
80
  - - "~>"
137
81
  - !ruby/object:Gem::Version
138
- version: 3.0.0
139
- - !ruby/object:Gem::Dependency
140
- name: rspec-mocks
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - "~>"
144
- - !ruby/object:Gem::Version
145
- version: 3.0.2
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - "~>"
151
- - !ruby/object:Gem::Version
152
- version: 3.0.2
153
- - !ruby/object:Gem::Dependency
154
- name: rdoc
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - ">="
158
- - !ruby/object:Gem::Version
159
- version: '0'
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - ">="
165
- - !ruby/object:Gem::Version
166
- version: '0'
167
- - !ruby/object:Gem::Dependency
168
- name: simplecov
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - ">="
172
- - !ruby/object:Gem::Version
173
- version: '0'
174
- type: :development
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - ">="
179
- - !ruby/object:Gem::Version
180
- version: '0'
181
- - !ruby/object:Gem::Dependency
182
- name: observr
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - ">="
186
- - !ruby/object:Gem::Version
187
- version: '0'
188
- type: :development
189
- prerelease: false
190
- version_requirements: !ruby/object:Gem::Requirement
191
- requirements:
192
- - - ">="
193
- - !ruby/object:Gem::Version
194
- version: '0'
82
+ version: '2.0'
195
83
  description: A ruby framework for writing bots that run on Twitter. Comes with a simple
196
84
  DSL for easy coding.
197
85
  email: colin@muffinlabs.com
@@ -200,22 +88,78 @@ executables:
200
88
  extensions: []
201
89
  extra_rdoc_files: []
202
90
  files:
203
- - ".document"
91
+ - ".github/workflows/ci.yml"
204
92
  - ".gitignore"
205
- - ".travis.yml"
206
93
  - Gemfile
207
94
  - LICENSE.txt
208
95
  - README.markdown
209
96
  - Rakefile
210
97
  - bin/chatterbot-register
211
98
  - chatterbot.gemspec
99
+ - docs/Gemfile
100
+ - docs/README.md
101
+ - docs/_config.yml
102
+ - docs/_includes/footer.html
103
+ - docs/_includes/header.html
104
+ - docs/_includes/navigation.html
105
+ - docs/_layouts/default.html
106
+ - docs/_layouts/page.html
107
+ - docs/_posts/.gitkeep
108
+ - docs/_site/Gemfile
109
+ - docs/_site/advanced.html
110
+ - docs/_site/configuration.html
111
+ - docs/_site/contributing.html
112
+ - docs/_site/css/main.css
113
+ - docs/_site/css/syntax.css
114
+ - docs/_site/deploying.html
115
+ - docs/_site/examples.html
116
+ - docs/_site/features.html
117
+ - docs/_site/images/01-create-application.png
118
+ - docs/_site/images/02-application-permissions.png
119
+ - docs/_site/images/03-mobile-number.png
120
+ - docs/_site/images/04-access-token.png
121
+ - docs/_site/index.html
122
+ - docs/_site/javascripts/main.js
123
+ - docs/_site/other-tools.html
124
+ - docs/_site/params.json
125
+ - docs/_site/rdoc.html
126
+ - docs/_site/setup.html
127
+ - docs/_site/stylesheets/pygment_trac.css
128
+ - docs/_site/stylesheets/stylesheet.css
129
+ - docs/_site/tut.html
130
+ - docs/_site/twitter-docs.html
131
+ - docs/_site/walkthrough.html
132
+ - docs/advanced.md
133
+ - docs/basics.md
134
+ - docs/bin/jekyll-page
135
+ - docs/configuration.md
136
+ - docs/contributing.md
137
+ - docs/css/main.css
138
+ - docs/css/syntax.css
139
+ - docs/deploying.md
140
+ - docs/examples.md
141
+ - docs/features.md
142
+ - docs/images/01-create-application.png
143
+ - docs/images/02-application-permissions.png
144
+ - docs/images/03-mobile-number.png
145
+ - docs/images/04-access-token.png
146
+ - docs/index.md
147
+ - docs/javascripts/main.js
148
+ - docs/other-tools.md
149
+ - docs/params.json
150
+ - docs/rdoc.md
151
+ - docs/setup.md
152
+ - docs/stylesheets/pygment_trac.css
153
+ - docs/stylesheets/stylesheet.css
154
+ - docs/tips.md
155
+ - docs/tut.md
156
+ - docs/twitter-docs.md
157
+ - docs/walkthrough.md
212
158
  - examples/class_bot.rb
213
159
  - examples/config.yml.example
214
160
  - examples/dsl_test.rb
215
161
  - examples/echoes_bot.rb
216
162
  - examples/search_bot.rb
217
- - examples/streaming_bot.rb
218
- - examples/tweet_logger.rb
219
163
  - lib/chatterbot.rb
220
164
  - lib/chatterbot/blocklist.rb
221
165
  - lib/chatterbot/bot.rb
@@ -236,7 +180,6 @@ files:
236
180
  - lib/chatterbot/safelist.rb
237
181
  - lib/chatterbot/search.rb
238
182
  - lib/chatterbot/skeleton.rb
239
- - lib/chatterbot/streaming.rb
240
183
  - lib/chatterbot/tweet.rb
241
184
  - lib/chatterbot/ui.rb
242
185
  - lib/chatterbot/utils.rb
@@ -249,6 +192,7 @@ files:
249
192
  - spec/direct_messages_spec.rb
250
193
  - spec/dsl_spec.rb
251
194
  - spec/favorite_spec.rb
195
+ - spec/fixtures/update_with_media.png
252
196
  - spec/followers_spec.rb
253
197
  - spec/handler_spec.rb
254
198
  - spec/helpers_spec.rb
@@ -260,7 +204,6 @@ files:
260
204
  - spec/search_spec.rb
261
205
  - spec/skeleton_spec.rb
262
206
  - spec/spec_helper.rb
263
- - spec/streaming_spec.rb
264
207
  - spec/tweet_spec.rb
265
208
  - spec/utils_spec.rb
266
209
  - spec/whitelist_spec.rb
@@ -270,7 +213,11 @@ homepage: http://github.com/muffinista/chatterbot
270
213
  licenses:
271
214
  - MIT
272
215
  metadata: {}
273
- post_install_message:
216
+ post_install_message: |+
217
+ This version of chatterbot removes
218
+ activesupport as a dependency -- if you are using it, you might need
219
+ to install it separately!
220
+
274
221
  rdoc_options: []
275
222
  require_paths:
276
223
  - lib
@@ -278,16 +225,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
278
225
  requirements:
279
226
  - - ">="
280
227
  - !ruby/object:Gem::Version
281
- version: '0'
228
+ version: '2.2'
282
229
  required_rubygems_version: !ruby/object:Gem::Requirement
283
230
  requirements:
284
231
  - - ">="
285
232
  - !ruby/object:Gem::Version
286
233
  version: '0'
287
234
  requirements: []
288
- rubyforge_project: chatterbot
289
- rubygems_version: 2.2.2
290
- signing_key:
235
+ rubygems_version: 3.0.8
236
+ signing_key:
291
237
  specification_version: 4
292
238
  summary: A ruby framework for writing Twitter bots
293
239
  test_files:
@@ -299,6 +245,7 @@ test_files:
299
245
  - spec/direct_messages_spec.rb
300
246
  - spec/dsl_spec.rb
301
247
  - spec/favorite_spec.rb
248
+ - spec/fixtures/update_with_media.png
302
249
  - spec/followers_spec.rb
303
250
  - spec/handler_spec.rb
304
251
  - spec/helpers_spec.rb
@@ -310,8 +257,7 @@ test_files:
310
257
  - spec/search_spec.rb
311
258
  - spec/skeleton_spec.rb
312
259
  - spec/spec_helper.rb
313
- - spec/streaming_spec.rb
314
260
  - spec/tweet_spec.rb
315
261
  - spec/utils_spec.rb
316
262
  - spec/whitelist_spec.rb
317
- has_rdoc:
263
+ ...
data/.document DELETED
@@ -1,5 +0,0 @@
1
- lib/**/*.rb
2
- bin/*
3
- -
4
- features/**/*.feature
5
- LICENSE.txt
data/.travis.yml DELETED
@@ -1,11 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.0.0
4
- - 2.1.1
5
- - 2.2.0
6
- - ruby-head
7
- before_install:
8
- - gem install bundler -v '~> 1.11'
9
-
10
- # uncomment this line if your project needs to run something other than `rake`:
11
- # script: bundle exec rspec spec
@@ -1,48 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- ## This is a very simple working example of a bot using the streaming
4
- ## API. It's basically a copy of echoes_bot.rb, just using streaming.
5
-
6
- #
7
- # require the dsl lib to include all the methods you see below.
8
- #
9
- require 'rubygems'
10
- require 'chatterbot/dsl'
11
-
12
- consumer_secret 'foo'
13
- secret 'bar'
14
- token 'biz'
15
- consumer_key 'bam'
16
-
17
-
18
- puts "Loading echoes_bot.rb using the streaming API"
19
-
20
- exclude "http://", "https://"
21
-
22
- blocklist "mean_user, private_user"
23
-
24
- streaming true
25
-
26
- favorited do |user, tweet|
27
- reply "@#{user.screen_name} thanks for the fave!", tweet
28
- end
29
-
30
- followed do |user|
31
- tweet "@#{user.screen_name} just followed me!"
32
- follow user
33
- end
34
-
35
- replies do |tweet|
36
- favorite tweet
37
-
38
- puts "It's a tweet!"
39
- src = tweet.text.gsub(/@echoes_bot/, "#USER#")
40
- reply src, tweet
41
- end
42
-
43
- direct_messages do |tweet|
44
- puts "well, here i am #{tweet.text}"
45
- puts tweet.inspect
46
- direct_message "got it", tweet.sender
47
- end
48
-
@@ -1,68 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'chatterbot/dsl'
4
-
5
- ##
6
- #
7
- # Simple example of a bot that will log tweets to the
8
- # database. Chatterbot will only log outgoing tweets by default, and
9
- # coding incoming tweet processing seems problematic right now, but
10
- # this is pretty straightforward
11
- #
12
-
13
- #
14
- # Set some date defaults for Sequel
15
- #
16
- Sequel.datetime_class = DateTime
17
- Sequel.default_timezone = :utc
18
-
19
- #
20
- # grab a copy of the db handle
21
- #
22
- db = bot.db
23
-
24
- #
25
- # create a table to hold search results
26
- #
27
- if ! db.tables.include?(:searches)
28
-
29
- #
30
- # if there's other data you want to track, you can add it here
31
- #
32
- db.create_table :searches do
33
- primary_key :id, :type=>Bignum
34
-
35
- String :text
36
- String :from_user
37
- String :from_user_id
38
-
39
- String :to_user
40
- String :to_user_id
41
-
42
- String :in_reply_to_status_id
43
-
44
- DateTime :created_at
45
- end
46
- end
47
-
48
- cols = db[:searches].columns
49
-
50
- #
51
- # run a search
52
- #
53
- search("foo", :lang => "en") do |tweet|
54
-
55
- #
56
- # reject anything from the incoming tweet that doesn't have a
57
- # matching column
58
- #
59
- data = tweet.to_h.delete_if { |k, v|
60
- ! cols.include?(k)
61
- }
62
-
63
- # update timestamp manually -- sequel isn't doing it right
64
- data[:created_at] = Sequel.string_to_datetime(data[:created_at])
65
-
66
- # store to the db!
67
- db[:searches].insert(data)
68
- end