messenger-bot 1.0.2 → 1.0.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 78d7303898c0693b59d426b0c547510f30236c4d
4
- data.tar.gz: 3ee9b50238a08ee1ded8bf2acaf4c0dbeb2a3f36
3
+ metadata.gz: 0de19b9d61f420086f2b56144ef7ca1a75ca8652
4
+ data.tar.gz: 650463a6bb45ed655b80df87bdac647b2e2301a6
5
5
  SHA512:
6
- metadata.gz: ea1447b0b837aec0f69c9d8735b1c4cd0553d3cbc7e325766a0123410665f8bd043839634d031e0def9d45e25ed69ef46c21e8ebfb0b1eb2873168e65205913c
7
- data.tar.gz: 6f01d5352de83b333620f8e16b075a15c4bdf343dde9bd9c84479114b48b22e1de7eceacd6fd9a9eba6e92282d8ec6014f71cfa53ed111112547b1d1687c860f
6
+ metadata.gz: b36c89aca569e4fb3003dab51363521496a6a88cc92dcfdeeb114eff9744b562bc258cbcb87aef8e291deadd448b014f3db6c2ec698379ae8686d89b05eefa82
7
+ data.tar.gz: 8e2b3494491212f276d4bd8ac132b00094b3895ad606ef3a874bb14e56c4a17a544a0bc028e923d709f07b3fb4ae219af70c6d3e5cde41273e856ec1734c1d93
data/README.md CHANGED
@@ -75,7 +75,10 @@ gem 'messenger-bot'
75
75
  * `event` - Hash containing the postback event from Facebook [format](https://developers.facebook.com/docs/messenger-platform/webhook-reference#postback)
76
76
  * `sender` - Class to call the 'reply, get_profile' method.
77
77
 
78
- ![Ex](https://camo.githubusercontent.com/2452b2ca2f748f2695e545c5c14e70356df5d673/68747470733a2f2f692e696d6775722e636f6d2f59544d4f5967362e676966)
78
+ ###optin(event, sender)
79
+ * `event` - Hash containing the optin event from Facebook [format](https://developers.facebook.com/docs/messenger-platform/webhook-reference#postback)
80
+ * `sender` - Class to call the 'reply, get_profile' method.
81
+
79
82
 
80
83
  ## license
81
84
 
data/lib/messenger/bot.rb CHANGED
@@ -25,5 +25,6 @@ module Messenger
25
25
  end
26
26
 
27
27
  autoload :Space, "messenger/bot/space"
28
+ autoload :Thread, "messenger/bot/thread"
28
29
  end
29
30
  end
@@ -31,6 +31,22 @@ module Messenger
31
31
  raise e
32
32
  end
33
33
  end
34
+
35
+ def self.delete(url, data)
36
+ url = URI.parse(url)
37
+ http = Net::HTTP.new(url.host, 443)
38
+ http.use_ssl = true
39
+ begin
40
+ request = Net::HTTP::Delete.new(url.request_uri)
41
+ request["Content-Type"] = "application/json"
42
+ request.body = data.to_json
43
+ response = http.request(request)
44
+ body = JSON(response.body)
45
+ return { ret: body["error"].nil?, body: body }
46
+ rescue => e
47
+ raise e
48
+ end
49
+ end
34
50
  end
35
51
  end
36
52
  end
@@ -22,6 +22,8 @@ module Messenger
22
22
  send(:postback, event, sender)
23
23
  elsif event["delivery"] && !defined?(delivery).nil?
24
24
  send(:delivery, event, sender)
25
+ elsif event["optin"]
26
+ send(:optin, event, sender)
25
27
  end
26
28
  end
27
29
  end
@@ -0,0 +1,13 @@
1
+ module Messenger
2
+ module Bot
3
+ class Thread
4
+ def set(data)
5
+ Messenger::Bot::Request.post("https://graph.facebook.com/v2.6/me/thread_settings?access_token=#{Messenger::Bot::Config.access_token}", data)
6
+ end
7
+
8
+ def unset(data)
9
+ Messenger::Bot::Request.delete("https://graph.facebook.com/v2.6/me/thread_settings?access_token=#{Messenger::Bot::Config.access_token}", data)
10
+ end
11
+ end
12
+ end
13
+ end
@@ -6,19 +6,29 @@ module Messenger
6
6
  end
7
7
 
8
8
  def reply(data)
9
- data = {
10
- recipient: {
11
- id: @sender_id
12
- },
13
- message: data
14
- }
9
+ data = init_data.merge({ message: data })
15
10
  Messenger::Bot::Request.post("https://graph.facebook.com/v2.6/me/messages?access_token=#{Messenger::Bot::Config.access_token}", data)
16
11
  end
17
12
 
18
- def get_profile(fields = nil)
13
+ def get_profile(fields=nil)
19
14
  fields ||= [:locale, :timezone, :gender, :first_name, :last_name, :profile_pic]
20
15
  Messenger::Bot::Request.get("https://graph.facebook.com/v2.6/#{@sender_id}?fields=#{fields.join(",")}&access_token=#{Messenger::Bot::Config.access_token}")
21
16
  end
17
+
18
+ def action(sender_action=true)
19
+ data = init_data.merge({ sender_action: sender_action ? "typing_on" : "typing_off" })
20
+ Messenger::Bot::Request.post("https://graph.facebook.com/v2.6/me/messages?access_token=#{Messenger::Bot::Config.access_token}", data)
21
+ end
22
+
23
+ private
24
+
25
+ def init_data
26
+ {
27
+ recipient: {
28
+ id: @sender_id
29
+ }
30
+ }
31
+ end
22
32
  end
23
33
  end
24
34
  end
@@ -1,5 +1,5 @@
1
1
  module Messenger
2
2
  module Bot
3
- VERSION = "1.0.2"
3
+ VERSION = "1.0.3"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: messenger-bot
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - JunSangPil
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-05-12 00:00:00.000000000 Z
11
+ date: 2016-07-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -76,6 +76,7 @@ files:
76
76
  - lib/messenger/bot/request.rb
77
77
  - lib/messenger/bot/space.rb
78
78
  - lib/messenger/bot/station.rb
79
+ - lib/messenger/bot/thread.rb
79
80
  - lib/messenger/bot/transmitter.rb
80
81
  - lib/messenger/bot/version.rb
81
82
  - messenger-bot.gemspec
@@ -99,7 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
99
100
  version: '0'
100
101
  requirements: []
101
102
  rubyforge_project:
102
- rubygems_version: 2.4.6
103
+ rubygems_version: 2.5.1
103
104
  signing_key:
104
105
  specification_version: 4
105
106
  summary: Ruby on Rails Gem for the Facebook Messenger Platform Formerly known as 'facebook-bot'.