bobot 4.0.0 → 4.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: 4683b34a194fb0c457ce91b230377a61e40e6011cc8311d6d34fc55e4ae01fc3
4
- data.tar.gz: '09c541649cc4d9b5fa484166f883b8011be77d5237e22af5c906d08ab0c99355'
2
+ SHA1:
3
+ metadata.gz: 58b906f8a1d4dcba5c891d0c6fa36569a5c8f844
4
+ data.tar.gz: e526fc50ee71070ebbb1c09719fc6f50447d911a
5
5
  SHA512:
6
- metadata.gz: f75e580fd0a9993776e72ffc8a3f6ff11f22224b758efbb4fd79033364167dfc883a60cfac88ec6f56d2c707f8f20a94042f9075c3b819728d0e06741c0ce6d0
7
- data.tar.gz: 1fab9db384a613f60b16c2321281606b56ad478a8660a09143fe3da83be66820ebb209750d8fe2dc65dc123a2d7423aec93c60b2c525572fb9d7eeb73b642ee2
6
+ metadata.gz: 54e62ee32bf071a5c26d9a3b28b5e2a986cf50c5196f67b1192fb6913e3ad8db01c4aaba9454b16a839af65bf9bbd7a7db41c761e203e82e5e9e1d277896953d
7
+ data.tar.gz: 72659a607db97a7152eefc7fa413eca5ccc21f046117170ac7410040cc7cc852e576d92cb039ebbec1e0a318e0755940ffe7566a11d77ebdd8ca34a1e929aa42
@@ -200,35 +200,54 @@ module Bobot
200
200
  #
201
201
  #####################################
202
202
  def update_facebook_setup!
203
- subscribe_to_facebook_page!
204
- set_greeting_text!
203
+ puts "- unset_whitelist_domains! [....]"
204
+ unset_whitelist_domains!
205
+ puts "- unset_whitelist_domains! [DONE]"
206
+ puts "- set_whitelist_domains! [....]"
205
207
  set_whitelist_domains!
208
+ puts "- set_whitelist_domains! [DONE]"
209
+ puts "- unset_greeting_text! [....]"
210
+ unset_greeting_text!
211
+ puts "- unset_greeting_text! [DONE]"
212
+ puts "- set_greeting_text! [....]"
213
+ set_greeting_text!
214
+ puts "- set_greeting_text! [DONE]"
215
+ puts "- unset_get_started_button! [....]"
216
+ unset_get_started_button!
217
+ puts "- unset_get_started_button! [DONE]"
218
+ puts "- set_get_started_button! [....]"
206
219
  set_get_started_button!
220
+ puts "- set_get_started_button! [DONE]"
221
+ puts "- unset_persistent_menu! [....]"
222
+ unset_persistent_menu!
223
+ puts "- unset_persistent_menu! [DONE]"
224
+ puts "- set_persistent_menu! [....]"
207
225
  set_persistent_menu!
226
+ puts "- set_persistent_menu! [DONE]"
227
+ puts "- unsubscribe_to_facebook_page! [....]"
228
+ unsubscribe_to_facebook_page!
229
+ puts "- unsubscribe_to_facebook_page! [DONE]"
230
+ puts "- subscribe_to_facebook_page! [....]"
231
+ subscribe_to_facebook_page!
232
+ puts "- subscribe_to_facebook_page! [DONE]"
208
233
  end
209
234
 
210
- ## == Subcribe your bot to your page ==
211
- def subscribe_to_facebook_page!
212
- raise Bobot::FieldFormat.new("page_id is required") unless page_id.present?
213
- raise Bobot::FieldFormat.new("access_token is required") unless page_access_token.present?
214
- Bobot::Subscription.set(
215
- query: {
216
- page_id: page_id,
217
- access_token: page_access_token,
218
- },
219
- )
220
- end
221
-
222
- ## == Unsubcribe your bot from your page ==
223
- def unsubscribe_to_facebook_page!
224
- raise Bobot::FieldFormat.new("page_id is required") unless page_id.present?
225
- raise Bobot::FieldFormat.new("access_token is required") unless page_access_token.present?
226
- Bobot::Subscription.unset(
227
- query: {
228
- page_id: page_id,
229
- access_token: page_access_token,
230
- },
231
- )
235
+ def get_facebook_setup
236
+ puts "- get_whitelist_domains [....]"
237
+ puts get_whitelist_domains.inspect
238
+ puts "- get_whitelist_domains [DONE]"
239
+ puts "- get_greeting_text [....]"
240
+ puts get_greeting_text.inspect
241
+ puts "- get_greeting_text [DONE]"
242
+ puts "- get_started_button [....]"
243
+ puts get_started_button.inspect
244
+ puts "- get_started_button [DONE]"
245
+ puts "- get_persistent_menu [....]"
246
+ puts get_persistent_menu.inspect
247
+ puts "- get_persistent_menu [DONE]"
248
+ puts "- subscribed_facebook_pages [....]"
249
+ puts subscribed_facebook_pages.inspect
250
+ puts "- subscribed_facebook_pages [DONE]"
232
251
  end
233
252
 
234
253
  ## == Set bot description (only displayed on first time). ==
@@ -273,6 +292,13 @@ module Bobot
273
292
  )
274
293
  end
275
294
 
295
+ def get_greeting_text
296
+ raise Bobot::FieldFormat.new("access_token is required") unless page_access_token.present?
297
+ Bobot::Profile.get(
298
+ query: { access_token: page_access_token, fields: %w[greeting] },
299
+ )
300
+ end
301
+
276
302
  ## == Set bot whitelist domains (only displayed on first time) ==
277
303
  ## == Some features like Messenger Extensions and Checkbox Plugin require ==
278
304
  ## == a page to specify a domain whitelist. ==
@@ -288,11 +314,18 @@ module Bobot
288
314
  def unset_whitelist_domains!
289
315
  raise Bobot::FieldFormat.new("access_token is required") unless page_access_token.present?
290
316
  Bobot::Profile.unset(
291
- body: { fields: ["whitelisted_domains"] },
317
+ body: { fields: %w[whitelisted_domains] },
292
318
  query: { access_token: page_access_token },
293
319
  )
294
320
  end
295
321
 
322
+ def get_whitelist_domains
323
+ raise Bobot::FieldFormat.new("access_token is required") unless page_access_token.present?
324
+ Bobot::Profile.get(
325
+ query: { access_token: page_access_token, fields: %w[whitelisted_domains] },
326
+ )
327
+ end
328
+
296
329
  ## == You can define the action to trigger when new humans click on ==
297
330
  ## == the Get Started button. Before doing it you should check to select the ==
298
331
  ## == messaging_postbacks field when setting up your webhook. ==
@@ -312,6 +345,13 @@ module Bobot
312
345
  query: { access_token: page_access_token },
313
346
  )
314
347
  end
348
+
349
+ def get_started_button
350
+ raise Bobot::FieldFormat.new("access_token is required") unless page_access_token.present?
351
+ Bobot::Profile.get(
352
+ query: { access_token: page_access_token, fields: %w[get_started] },
353
+ )
354
+ end
315
355
 
316
356
  ## == You can show a persistent menu to humans. ==
317
357
  ## == If you want to have a persistent menu, you have to set get_started ==
@@ -368,9 +408,50 @@ module Bobot
368
408
  def unset_persistent_menu!
369
409
  raise Bobot::FieldFormat.new("access_token is required") unless page_access_token.present?
370
410
  Bobot::Profile.unset(
371
- body: { fields: ["persistent_menu"] },
411
+ body: { fields: %w[persistent_menu] },
372
412
  query: { access_token: page_access_token },
373
413
  )
374
414
  end
415
+
416
+ def get_persistent_menu
417
+ raise Bobot::FieldFormat.new("access_token is required") unless page_access_token.present?
418
+ Bobot::Profile.get(
419
+ query: { access_token: page_access_token, fields: %w[persistent_menu] },
420
+ )
421
+ end
422
+
423
+ ## == Subcribe your bot to your page ==
424
+ def subscribe_to_facebook_page!
425
+ raise Bobot::FieldFormat.new("page_id is required") unless page_id.present?
426
+ raise Bobot::FieldFormat.new("access_token is required") unless page_access_token.present?
427
+ Bobot::Subscription.set(
428
+ query: {
429
+ page_id: page_id,
430
+ access_token: page_access_token,
431
+ },
432
+ )
433
+ end
434
+
435
+ ## == Unsubcribe your bot from your page ==
436
+ def unsubscribe_to_facebook_page!
437
+ raise Bobot::FieldFormat.new("page_id is required") unless page_id.present?
438
+ raise Bobot::FieldFormat.new("access_token is required") unless page_access_token.present?
439
+ Bobot::Subscription.unset(
440
+ query: {
441
+ page_id: page_id,
442
+ access_token: page_access_token,
443
+ },
444
+ )
445
+ end
446
+
447
+ ## == Subcribed pages for your bot ==
448
+ def subscribed_facebook_pages
449
+ raise Bobot::FieldFormat.new("access_token is required") unless page_access_token.present?
450
+ Bobot::Subscription.get(
451
+ query: {
452
+ access_token: page_access_token,
453
+ },
454
+ )
455
+ end
375
456
  end
376
457
  end
@@ -2,17 +2,18 @@ module Bobot
2
2
  module Profile
3
3
  include Bobot::GraphFacebook
4
4
 
5
+ def get(query:)
6
+ graph_get '/me/messenger_profile', query: query
7
+ end
8
+ module_function :get
9
+
5
10
  def set(body:, query:)
6
- graph_post '/me/messenger_profile', body: body, query: {
7
- access_token: query.fetch(:access_token),
8
- }
11
+ graph_post '/me/messenger_profile', body: body, query: query
9
12
  end
10
13
  module_function :set
11
14
 
12
15
  def unset(body:, query:)
13
- graph_delete '/me/messenger_profile', body: body, query: {
14
- access_token: query.fetch(:access_token),
15
- }
16
+ graph_delete '/me/messenger_profile', body: body, query: query
16
17
  end
17
18
  module_function :unset
18
19
  end
@@ -2,17 +2,18 @@ module Bobot
2
2
  module Subscription
3
3
  include Bobot::GraphFacebook
4
4
 
5
- def set(query: {})
6
- graph_post "/#{query.fetch(:page_id)}/subscribed_apps", query: {
7
- access_token: query.fetch(:access_token),
8
- }
5
+ def get(query:)
6
+ graph_get "/me/subscribed_apps", query: query
7
+ end
8
+ module_function :get
9
+
10
+ def set(query:)
11
+ graph_post "/#{query.fetch(:page_id)}/subscribed_apps", query: query
9
12
  end
10
13
  module_function :set
11
14
 
12
- def unset(query: {})
13
- graph_delete "/#{query.fetch(:page_id)}/subscribed_apps", query: {
14
- access_token: query.fetch(:access_token),
15
- }
15
+ def unset(query:)
16
+ graph_delete "/#{query.fetch(:page_id)}/subscribed_apps", query: query
16
17
  end
17
18
  module_function :unset
18
19
  end
@@ -1,7 +1,7 @@
1
1
  module Bobot
2
2
  class Version
3
3
  MAJOR = 4
4
- MINOR = 0
4
+ MINOR = 1
5
5
  PATCH = 0
6
6
  PRE = nil
7
7
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bobot
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0
4
+ version: 4.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Navid EMAD
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-09-20 00:00:00.000000000 Z
11
+ date: 2018-10-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: i18n
@@ -165,13 +165,7 @@ files:
165
165
  - spec/dummy/config/routes.rb
166
166
  - spec/dummy/config/secrets.yml
167
167
  - spec/dummy/config/spring.rb
168
- - spec/dummy/log/development.log
169
- - spec/dummy/log/test.log
170
168
  - spec/dummy/public/favicon.ico
171
- - spec/dummy/tmp/generator/app/bobot/workflow.rb
172
- - spec/dummy/tmp/generator/config/initializers/bobot.rb
173
- - spec/dummy/tmp/generator/config/locales/bobot.en.yml
174
- - spec/dummy/tmp/generator/config/locales/bobot.fr.yml
175
169
  - spec/examples.txt
176
170
  - spec/helpers/graph_api_helpers.rb
177
171
  - spec/jobs/bobot/commander_job_spec.rb
@@ -199,76 +193,70 @@ required_rubygems_version: !ruby/object:Gem::Requirement
199
193
  version: '0'
200
194
  requirements: []
201
195
  rubyforge_project:
202
- rubygems_version: 2.7.6
196
+ rubygems_version: 2.5.2.3
203
197
  signing_key:
204
198
  specification_version: 4
205
199
  summary: Facebook Messenger Bot
206
200
  test_files:
207
- - spec/bobot/bobot_spec.rb
208
- - spec/bobot/event/account_linking_spec.rb
209
- - spec/bobot/event/common_spec.rb
210
- - spec/bobot/event/delivery_spec.rb
211
- - spec/bobot/event/message_echo_spec.rb
212
- - spec/bobot/event/message_spec.rb
213
- - spec/bobot/event/optin_spec.rb
214
- - spec/bobot/event/policy_enforcement_spec.rb
215
- - spec/bobot/event/postback_spec.rb
216
- - spec/bobot/event/read_spec.rb
217
- - spec/bobot/event/referral_spec.rb
218
- - spec/bobot/event_spec.rb
219
- - spec/bobot/install_generator_spec.rb
220
- - spec/bobot/page_spec.rb
221
- - spec/bobot/profile_spec.rb
222
- - spec/bobot/subscription_spec.rb
223
- - spec/bobot/user_spec.rb
224
- - spec/controllers/bobot/application_controller_spec.rb
225
- - spec/controllers/bobot/webhook_controller_spec.rb
201
+ - spec/spec_helper.rb
202
+ - spec/lint/rubocop_spec.rb
203
+ - spec/dummy/app/mailers/application_mailer.rb
204
+ - spec/dummy/app/jobs/application_job.rb
205
+ - spec/dummy/app/controllers/application_controller.rb
206
+ - spec/dummy/app/views/layouts/mailer.html.erb
207
+ - spec/dummy/app/views/layouts/mailer.text.erb
226
208
  - spec/dummy/app/assets/config/manifest.js
227
209
  - spec/dummy/app/assets/javascripts/application.js
228
210
  - spec/dummy/app/assets/stylesheets/application.css
229
- - spec/dummy/app/channels/application_cable/channel.rb
230
211
  - spec/dummy/app/channels/application_cable/connection.rb
231
- - spec/dummy/app/controllers/application_controller.rb
232
- - spec/dummy/app/jobs/application_job.rb
233
- - spec/dummy/app/mailers/application_mailer.rb
234
- - spec/dummy/app/views/layouts/mailer.html.erb
235
- - spec/dummy/app/views/layouts/mailer.text.erb
236
- - spec/dummy/bin/bundle
237
- - spec/dummy/bin/rails
212
+ - spec/dummy/app/channels/application_cable/channel.rb
213
+ - spec/dummy/bin/update
238
214
  - spec/dummy/bin/rake
239
215
  - spec/dummy/bin/setup
240
- - spec/dummy/bin/update
241
- - spec/dummy/config/application.rb
242
- - spec/dummy/config/boot.rb
216
+ - spec/dummy/bin/bundle
217
+ - spec/dummy/bin/rails
218
+ - spec/dummy/config/secrets.yml
219
+ - spec/dummy/config/routes.rb
220
+ - spec/dummy/config/locales/en.yml
243
221
  - spec/dummy/config/cable.yml
244
- - spec/dummy/config/environment.rb
245
- - spec/dummy/config/environments/development.rb
246
222
  - spec/dummy/config/environments/production.rb
223
+ - spec/dummy/config/environments/development.rb
247
224
  - spec/dummy/config/environments/test.rb
225
+ - spec/dummy/config/spring.rb
226
+ - spec/dummy/config/environment.rb
227
+ - spec/dummy/config/application.rb
228
+ - spec/dummy/config/puma.rb
229
+ - spec/dummy/config/boot.rb
248
230
  - spec/dummy/config/initializers/application_controller_renderer.rb
249
231
  - spec/dummy/config/initializers/backtrace_silencers.rb
250
- - spec/dummy/config/initializers/cors.rb
251
- - spec/dummy/config/initializers/filter_parameter_logging.rb
252
- - spec/dummy/config/initializers/inflections.rb
253
232
  - spec/dummy/config/initializers/mime_types.rb
233
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
254
234
  - spec/dummy/config/initializers/wrap_parameters.rb
255
- - spec/dummy/config/locales/en.yml
256
- - spec/dummy/config/puma.rb
257
- - spec/dummy/config/routes.rb
258
- - spec/dummy/config/secrets.yml
259
- - spec/dummy/config/spring.rb
235
+ - spec/dummy/config/initializers/inflections.rb
236
+ - spec/dummy/config/initializers/cors.rb
260
237
  - spec/dummy/config.ru
261
- - spec/dummy/log/development.log
262
- - spec/dummy/log/test.log
263
- - spec/dummy/public/favicon.ico
264
238
  - spec/dummy/Rakefile
265
- - spec/dummy/tmp/generator/app/bobot/workflow.rb
266
- - spec/dummy/tmp/generator/config/initializers/bobot.rb
267
- - spec/dummy/tmp/generator/config/locales/bobot.en.yml
268
- - spec/dummy/tmp/generator/config/locales/bobot.fr.yml
239
+ - spec/dummy/public/favicon.ico
269
240
  - spec/examples.txt
270
- - spec/helpers/graph_api_helpers.rb
241
+ - spec/bobot/install_generator_spec.rb
242
+ - spec/bobot/bobot_spec.rb
243
+ - spec/bobot/page_spec.rb
244
+ - spec/bobot/subscription_spec.rb
245
+ - spec/bobot/event_spec.rb
246
+ - spec/bobot/profile_spec.rb
247
+ - spec/bobot/user_spec.rb
248
+ - spec/bobot/event/delivery_spec.rb
249
+ - spec/bobot/event/policy_enforcement_spec.rb
250
+ - spec/bobot/event/message_echo_spec.rb
251
+ - spec/bobot/event/optin_spec.rb
252
+ - spec/bobot/event/account_linking_spec.rb
253
+ - spec/bobot/event/message_spec.rb
254
+ - spec/bobot/event/referral_spec.rb
255
+ - spec/bobot/event/common_spec.rb
256
+ - spec/bobot/event/postback_spec.rb
257
+ - spec/bobot/event/read_spec.rb
271
258
  - spec/jobs/bobot/commander_job_spec.rb
272
- - spec/lint/rubocop_spec.rb
259
+ - spec/controllers/bobot/webhook_controller_spec.rb
260
+ - spec/controllers/bobot/application_controller_spec.rb
273
261
  - spec/rails_helper.rb
274
- - spec/spec_helper.rb
262
+ - spec/helpers/graph_api_helpers.rb
@@ -1,47 +0,0 @@
1
- Started GET "/" for 127.0.0.1 at 2017-11-24 11:59:04 +0100
2
- Processing by Rails::WelcomeController#index as HTML
3
- Rendering /Users/navid/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/templates/rails/welcome/index.html.erb
4
- Rendered /Users/navid/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/templates/rails/welcome/index.html.erb (4.7ms)
5
- Completed 200 OK in 15ms (Views: 12.0ms)
6
-
7
-
8
- Started GET "/favicon.ico" for 127.0.0.1 at 2017-11-24 11:59:04 +0100
9
-
10
- ActionController::RoutingError (No route matches [GET] "/favicon.ico"):
11
-
12
- actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:63:in `call'
13
- actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
14
- railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app'
15
- railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call'
16
- activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged'
17
- activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged'
18
- activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged'
19
- railties (5.1.4) lib/rails/rack/logger.rb:24:in `call'
20
- actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call'
21
- actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call'
22
- rack (2.0.3) lib/rack/runtime.rb:22:in `call'
23
- activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call'
24
- actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call'
25
- actionpack (5.1.4) lib/action_dispatch/middleware/static.rb:125:in `call'
26
- rack (2.0.3) lib/rack/sendfile.rb:111:in `call'
27
- railties (5.1.4) lib/rails/engine.rb:522:in `call'
28
- rack (2.0.3) lib/rack/handler/webrick.rb:86:in `service'
29
- /Users/navid/.rbenv/versions/2.3.1/lib/ruby/2.3.0/webrick/httpserver.rb:140:in `service'
30
- /Users/navid/.rbenv/versions/2.3.1/lib/ruby/2.3.0/webrick/httpserver.rb:96:in `run'
31
- /Users/navid/.rbenv/versions/2.3.1/lib/ruby/2.3.0/webrick/server.rb:296:in `block in start_thread'
32
- Started GET "/" for 127.0.0.1 at 2017-11-24 12:00:32 +0100
33
- Processing by Rails::WelcomeController#index as HTML
34
- Rendering /Users/navid/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/templates/rails/welcome/index.html.erb
35
- Rendered /Users/navid/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/templates/rails/welcome/index.html.erb (4.7ms)
36
- Completed 200 OK in 13ms (Views: 10.1ms)
37
-
38
-
39
- Started GET "/" for 127.0.0.1 at 2017-11-24 12:00:33 +0100
40
- Processing by Rails::WelcomeController#index as HTML
41
- Rendering /Users/navid/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/templates/rails/welcome/index.html.erb
42
- Rendered /Users/navid/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/templates/rails/welcome/index.html.erb (3.5ms)
43
- Completed 200 OK in 8ms (Views: 5.7ms)
44
-
45
-
46
- ETHON: Libcurl initialized
47
- ETHON: performed EASY effective_url=https://graph.facebook.com/v2.11//me/messages response_code=400 return_code=ok total_time=3.42639
@@ -1,189 +0,0 @@
1
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 8a80c687-421f-4bd4-8bba-a022b265e12f) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
2
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: e295aa69-c9c8-4900-8409-e43a19b6a500) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
3
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 733fbfda-cfcb-4da4-8a4d-5dcd99bf7ad0) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
4
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: abbfb628-82bd-4d48-a102-8720e8fbed91) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
5
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 7e146540-8a7e-4822-8d43-ac07d533e5a9) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
6
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: bb8a0a3f-490a-4427-be91-0c005255d863) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
7
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: e6ad52a0-39eb-47cc-9fad-3177e6f08833) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
8
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 45596508-c8d8-4181-97c7-b8466c788043) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
9
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: f47b59b3-4367-4166-b743-2aa15a158ec1) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
10
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 1bb7fe50-e654-4b7c-aeaa-f4065e9a2cd7) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
11
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: f44a9cce-d7eb-4673-86c1-1314c6779dfe) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
12
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: c90b3096-6f7f-4bc8-9002-19106f3b4df5) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
13
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 974e35d5-7956-453d-9872-d932a4efadfa) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
14
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: d04a2166-9022-438f-b0b6-ecfb156421e0) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
15
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: b82a84cf-78a0-4002-8653-997b81ae9eae) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
16
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 8112f073-6061-428b-9a45-bb6c95b78e03) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
17
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 2140517c-8166-4449-96a0-8c1075712bd1) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
18
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 838d432d-13e4-4449-916c-6bd78c2b19b6) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
19
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 91632611-04b4-4939-bfec-226ed9d46b35) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
20
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: bba22f37-1aca-477b-b7b3-bbaa2886be74) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
21
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: b5aa5a5f-acbe-4cdc-a420-754b65fa0514) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
22
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 9dee2915-2aa3-49c0-a163-0fb1babce1ae) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
23
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 031757ed-ca82-4581-869c-810c286de6f0) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
24
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 1c0de02e-7761-480b-a8ac-87d1613a948b) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
25
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: ce0ebceb-aeea-44d1-b425-7cb3e627c9eb) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
26
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: e1b4f1e1-13d8-4243-948c-c2bbdab9f212) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
27
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 1c5e3b4b-4ae4-4213-bafb-4164a16a0a4c) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
28
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 56732598-6966-4ce2-b00c-0b7632f4a14b) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
29
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 7bdaa668-ea63-4a68-9576-95f2bc8197a9) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
30
- ETHON: Libcurl initialized
31
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 6a6034d0-25d7-4aea-93f9-e56f3d212cda) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
32
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 30f17782-94b0-481e-a3f3-f667225b0ecc) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
33
- ETHON: Libcurl initialized
34
- ETHON: Libcurl initialized
35
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 3128058b-c515-488d-9987-a121b91bfaab) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
36
- ETHON: Libcurl initialized
37
- [DELETE] >> https://graph.facebook.com/v2.11/me/messenger_profile
38
- [DELETE] << {"result"=>"Successfully deleted Get Started button"}
39
- [DELETE] >> https://graph.facebook.com/v2.11/me/messenger_profile
40
- [DELETE] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
41
- [POST] >> https://graph.facebook.com/v2.11/me/messenger_profile
42
- [POST] << {"result"=>"Successfully added Get Started button"}
43
- [POST] >> https://graph.facebook.com/v2.11/me/messenger_profile
44
- [POST] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
45
- [GET] >> https://graph.facebook.com/v2.11/5660527900
46
- [GET] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
47
- [GET] >> https://graph.facebook.com/v2.11/6083248100
48
- [GET] << {"first_name"=>"Foo", "last_name"=>"Bar"}
49
- [POST] >> https://graph.facebook.com/v2.11/page-id/subscribed_apps
50
- [POST] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
51
- [POST] >> https://graph.facebook.com/v2.11/page-id/subscribed_apps
52
- [POST] << {"success"=>true}
53
- [DELETE] >> https://graph.facebook.com/v2.11/page-id/subscribed_apps
54
- [DELETE] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
55
- [DELETE] >> https://graph.facebook.com/v2.11/page-id/subscribed_apps
56
- [DELETE] << {"success"=>true}
57
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 6331ca30-bd85-4ed5-8c5b-34d754cbe52d) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
58
- ETHON: Libcurl initialized
59
- [GET] >> https://graph.facebook.com/v2.11/4127242400
60
- [GET] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
61
- [GET] >> https://graph.facebook.com/v2.11/9467813000
62
- [GET] << {"first_name"=>"Foo", "last_name"=>"Bar"}
63
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 84904cdf-4e70-49f1-b453-0575f8045b8b) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
64
- [POST] >> https://graph.facebook.com/v2.11/me/messenger_profile
65
- [POST] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
66
- [POST] >> https://graph.facebook.com/v2.11/me/messenger_profile
67
- [POST] << {"result"=>"Successfully added Get Started button"}
68
- [DELETE] >> https://graph.facebook.com/v2.11/me/messenger_profile
69
- [DELETE] << {"result"=>"Successfully deleted Get Started button"}
70
- [DELETE] >> https://graph.facebook.com/v2.11/me/messenger_profile
71
- [DELETE] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
72
- [DELETE] >> https://graph.facebook.com/v2.11/page-id/subscribed_apps
73
- [DELETE] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
74
- [DELETE] >> https://graph.facebook.com/v2.11/page-id/subscribed_apps
75
- [DELETE] << {"success"=>true}
76
- [POST] >> https://graph.facebook.com/v2.11/page-id/subscribed_apps
77
- [POST] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
78
- [POST] >> https://graph.facebook.com/v2.11/page-id/subscribed_apps
79
- [POST] << {"success"=>true}
80
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 0f2b73f2-ad6f-4987-8124-551b6e754a45) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
81
- ETHON: Libcurl initialized
82
- [DELETE] >> https://graph.facebook.com/v2.11/page-id/subscribed_apps
83
- [DELETE] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
84
- [DELETE] >> https://graph.facebook.com/v2.11/page-id/subscribed_apps
85
- [DELETE] << {"success"=>true}
86
- [POST] >> https://graph.facebook.com/v2.11/page-id/subscribed_apps
87
- [POST] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
88
- [POST] >> https://graph.facebook.com/v2.11/page-id/subscribed_apps
89
- [POST] << {"success"=>true}
90
- [DELETE] >> https://graph.facebook.com/v2.11/me/messenger_profile
91
- [DELETE] << {"result"=>"Successfully deleted Get Started button"}
92
- [DELETE] >> https://graph.facebook.com/v2.11/me/messenger_profile
93
- [DELETE] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
94
- [POST] >> https://graph.facebook.com/v2.11/me/messenger_profile
95
- [POST] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
96
- [POST] >> https://graph.facebook.com/v2.11/me/messenger_profile
97
- [POST] << {"result"=>"Successfully added Get Started button"}
98
- [GET] >> https://graph.facebook.com/v2.11/9389461400
99
- [GET] << {"first_name"=>"Foo", "last_name"=>"Bar"}
100
- [GET] >> https://graph.facebook.com/v2.11/7482355400
101
- [GET] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
102
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 8d717947-ae22-41aa-b1f3-68ba4bc5bf1b) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
103
- ETHON: Libcurl initialized
104
- [GET] >> https://graph.facebook.com/v2.11/2516608100
105
- [GET] << {"first_name"=>"Foo", "last_name"=>"Bar"}
106
- [GET] >> https://graph.facebook.com/v2.11/1123011700
107
- [GET] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
108
- [DELETE] >> https://graph.facebook.com/v2.11/page-id/subscribed_apps
109
- [DELETE] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
110
- [DELETE] >> https://graph.facebook.com/v2.11/page-id/subscribed_apps
111
- [DELETE] << {"success"=>true}
112
- [POST] >> https://graph.facebook.com/v2.11/page-id/subscribed_apps
113
- [POST] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
114
- [POST] >> https://graph.facebook.com/v2.11/page-id/subscribed_apps
115
- [POST] << {"success"=>true}
116
- [DELETE] >> https://graph.facebook.com/v2.11/me/messenger_profile
117
- [DELETE] << {"result"=>"Successfully deleted Get Started button"}
118
- [DELETE] >> https://graph.facebook.com/v2.11/me/messenger_profile
119
- [DELETE] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
120
- [POST] >> https://graph.facebook.com/v2.11/me/messenger_profile
121
- [POST] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
122
- [POST] >> https://graph.facebook.com/v2.11/me/messenger_profile
123
- [POST] << {"result"=>"Successfully added Get Started button"}
124
- ETHON: Libcurl initialized
125
- [DELETE] >> https://graph.facebook.com/v2.11/page-id/subscribed_apps
126
- [DELETE] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
127
- [DELETE] >> https://graph.facebook.com/v2.11/page-id/subscribed_apps
128
- [DELETE] << {"success"=>true}
129
- [POST] >> https://graph.facebook.com/v2.11/page-id/subscribed_apps
130
- [POST] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
131
- [POST] >> https://graph.facebook.com/v2.11/page-id/subscribed_apps
132
- [POST] << {"success"=>true}
133
- [POST] >> https://graph.facebook.com/v2.11/me/messenger_profile
134
- [POST] << {"result"=>"Successfully added Get Started button"}
135
- [POST] >> https://graph.facebook.com/v2.11/me/messenger_profile
136
- [POST] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
137
- [DELETE] >> https://graph.facebook.com/v2.11/me/messenger_profile
138
- [DELETE] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
139
- [DELETE] >> https://graph.facebook.com/v2.11/me/messenger_profile
140
- [DELETE] << {"result"=>"Successfully deleted Get Started button"}
141
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 1d6279b4-102f-46f5-b836-eaa62a721e57) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
142
- [GET] >> https://graph.facebook.com/v2.11/5957069600
143
- [GET] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
144
- [GET] >> https://graph.facebook.com/v2.11/3352036800
145
- [GET] << {"first_name"=>"Foo", "last_name"=>"Bar"}
146
- ETHON: Libcurl initialized
147
- [GET] >> https://graph.facebook.com/v2.11/8712021200
148
- [GET] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
149
- [GET] >> https://graph.facebook.com/v2.11/9630806100
150
- [GET] << {"first_name"=>"Foo", "last_name"=>"Bar"}
151
- [DELETE] >> https://graph.facebook.com/v2.11/me/messenger_profile
152
- [DELETE] << {"result"=>"Successfully deleted Get Started button"}
153
- [DELETE] >> https://graph.facebook.com/v2.11/me/messenger_profile
154
- [DELETE] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
155
- [POST] >> https://graph.facebook.com/v2.11/me/messenger_profile
156
- [POST] << {"result"=>"Successfully added Get Started button"}
157
- [POST] >> https://graph.facebook.com/v2.11/me/messenger_profile
158
- [POST] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
159
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 1fab15b0-8dd7-48a9-84c7-fc821d90eed3) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
160
- [POST] >> https://graph.facebook.com/v2.11/page-id/subscribed_apps
161
- [POST] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
162
- [POST] >> https://graph.facebook.com/v2.11/page-id/subscribed_apps
163
- [POST] << {"success"=>true}
164
- [DELETE] >> https://graph.facebook.com/v2.11/page-id/subscribed_apps
165
- [DELETE] << {"success"=>true}
166
- [DELETE] >> https://graph.facebook.com/v2.11/page-id/subscribed_apps
167
- [DELETE] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
168
- [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 66c81489-6728-4eb6-bdb2-0a601a6890c7) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
169
- ETHON: Libcurl initialized
170
- [DELETE] >> https://graph.facebook.com/v2.11/page-id/subscribed_apps
171
- [DELETE] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
172
- [DELETE] >> https://graph.facebook.com/v2.11/page-id/subscribed_apps
173
- [DELETE] << {"success"=>true}
174
- [POST] >> https://graph.facebook.com/v2.11/page-id/subscribed_apps
175
- [POST] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
176
- [POST] >> https://graph.facebook.com/v2.11/page-id/subscribed_apps
177
- [POST] << {"success"=>true}
178
- [GET] >> https://graph.facebook.com/v2.11/9205496700
179
- [GET] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
180
- [GET] >> https://graph.facebook.com/v2.11/7701273000
181
- [GET] << {"first_name"=>"Foo", "last_name"=>"Bar"}
182
- [POST] >> https://graph.facebook.com/v2.11/me/messenger_profile
183
- [POST] << {"result"=>"Successfully added Get Started button"}
184
- [POST] >> https://graph.facebook.com/v2.11/me/messenger_profile
185
- [POST] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
186
- [DELETE] >> https://graph.facebook.com/v2.11/me/messenger_profile
187
- [DELETE] << {"error"=>{"message"=>"Invalid OAuth access token.", "type"=>"OAuthException", "code"=>190, "fbtrace_id"=>"Hlssg2aiVlN"}}
188
- [DELETE] >> https://graph.facebook.com/v2.11/me/messenger_profile
189
- [DELETE] << {"result"=>"Successfully deleted Get Started button"}
@@ -1,15 +0,0 @@
1
- # message received or quick replies
2
- Bobot::Commander.on :message do |message|
3
- end
4
-
5
- # get started and click on any buttons
6
- Bobot::Commander.on :postback do |postback|
7
- end
8
-
9
- # referral by m.me/XXX?ref=
10
- Bobot::Commander.on :referral do |referral|
11
- end
12
-
13
- # referral by param ref into send to messenger plugin
14
- Bobot::Commander.on :optin do |optin|
15
- end
@@ -1,47 +0,0 @@
1
- bobot_config_path = Rails.root.join("config", "secrets.yml")
2
- bobot_config = YAML.safe_load(ERB.new(File.read(bobot_config_path)).result, [], [], true)[Rails.env]["bobot"]
3
-
4
- if bobot_config.present?
5
- unless bobot_config.key?("pages")
6
- raise "Bobot: #{bobot_config_path} required an array key :pages (cf. https://github.com/navidemad/bobot)"
7
- end
8
- Bobot.configure do |config|
9
- config.app_id = bobot_config["app_id"]
10
- config.app_secret = bobot_config["app_secret"]
11
- config.verify_token = bobot_config["verify_token"]
12
- config.domains = bobot_config["domains"]
13
- config.async = bobot_config["async"]
14
- config.commander_queue_name = bobot_config["commander_queue_name"]
15
- bobot_config["pages"].each do |page|
16
- config.pages << Bobot::Page.new(
17
- slug: page["slug"],
18
- language: page["language"],
19
- page_id: page["page_id"],
20
- page_access_token: page["page_access_token"],
21
- get_started_payload: page["get_started_payload"],
22
- )
23
- end
24
- end
25
- else
26
- warn "#{bobot_config_path} not configured yet in #{Rails.env} environment."
27
- end
28
-
29
- unless Rails.env.production?
30
- bot_files = Dir[Rails.root.join("app", "bobot", "**", "*.rb")]
31
- bot_reloader = ActiveSupport::FileUpdateChecker.new(bot_files) do
32
- bot_files.each { |file| require_dependency file }
33
- end
34
-
35
- ActiveSupport::Reloader.to_prepare do
36
- bot_reloader.execute_if_updated
37
- end
38
-
39
- bot_files.each { |file| require_dependency file }
40
- end
41
-
42
- if defined?(Rails::Server)
43
- Rails.application.config.after_initialize do
44
- Rails.application.config.paths.add File.join("app", "bobot"), glob: File.join("**", "*.rb")
45
- Rails.application.config.autoload_paths += Dir[Rails.root.join("app", "bobot", "*")]
46
- end
47
- end
@@ -1,29 +0,0 @@
1
- en:
2
- bobot:
3
- facebook_1:
4
- config:
5
- facebook_locales:
6
- - "en_US"
7
- - "en_UD"
8
- - "en_GB"
9
- greeting_text: "Bobot is an intelligent robot."
10
- persistent_menu:
11
- composer_input_disabled: false
12
- call_to_actions:
13
- - type: "nested"
14
- title: "My Account"
15
- call_to_actions:
16
- - type: "postback"
17
- title: "What is a chatbot?"
18
- payload: "WHAT_IS_A_CHATBOT"
19
- - type: "postback"
20
- title: "History"
21
- payload: "HISTORY_PAYLOAD"
22
- - type: "postback"
23
- title: "Contact Info"
24
- payload: "CONTACT_INFO_PAYLOAD"
25
- - type: "web_url"
26
- title: "Get some help"
27
- url: "https://github.com/navidemad/bobot"
28
- webview_height_ratio: "full"
29
- what_is_a_chatbot: "A chatbot is a computer program which conducts a conversation via auditory or textual methods."
@@ -1,28 +0,0 @@
1
- fr:
2
- bobot:
3
- facebook_1:
4
- config:
5
- facebook_locales:
6
- - "fr_FR"
7
- - "fr_CA"
8
- greeting_text: 'Bobot est un robot intelligent.'
9
- persistent_menu:
10
- composer_input_disabled: false
11
- call_to_actions:
12
- - type: "nested"
13
- title: "Mon compte"
14
- call_to_actions:
15
- - type: "postback"
16
- title: "C'est quoi un chatbot ?"
17
- payload: "WHAT_IS_A_CHATBOT"
18
- - type: "postback"
19
- title: "Historique"
20
- payload: "HISTORY_PAYLOAD"
21
- - type: "postback"
22
- title: "Contact Info"
23
- payload: "CONTACT_INFO_PAYLOAD"
24
- - type: "web_url"
25
- title: "Obtenir de l'aide"
26
- url: "https://github.com/navidemad/bobot"
27
- webview_height_ratio: "full"
28
- what_is_a_chatbot: "Un chatbot est un programme qui tente de converser avec une personne durant quelques minutes ou plus en lui donnant l'impression de converser elle-même avec une personne."