sinbotra 0.1.1 → 0.1.2

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: 5214c40b717c5c4f89f24bd6044eda9ad9ef712e
4
- data.tar.gz: 733f7589cda81b331d1405aba4dd986de0ed20f4
3
+ metadata.gz: ecec8329de4120dec1fb339ccaddca2931031e43
4
+ data.tar.gz: 7961dbf3f4c26b4bbd8e628c06ec70ec70c1383a
5
5
  SHA512:
6
- metadata.gz: e869b9991b2072d3947fe51c678f28562ffc951665172e9ceec07072a5145438352346b260eefe250f1b172b8cb1ee2ad34dce55e2e881110a5d535cffb51315
7
- data.tar.gz: cbfb8e265d08613a2f660b7113c986543873733426ff37210efe54f771a532d305258da6828d0c83445f47abc317cdf6c0d88cfe80e99c4d0423c3055733c081
6
+ metadata.gz: c674b06702e531958ae9a97dfb2085f858dd60a13b88cfafe2f56ca7970615a67b447b5f639ee9dc36e3f83edd7d4c0232f9e5f4311631874751050e3e19f256
7
+ data.tar.gz: afd26e30a43a5e128dc4a46141a5f6e0b6554dba38f6de01cbb2c4cfe3f85e8a2a3a47c854fc8c0874cc66d47ace3648a81dd6fdaa18204b565660b1337e8b05
@@ -31,11 +31,12 @@ module Sinbotra::Messenger
31
31
  end
32
32
 
33
33
  def enable_get_started!
34
- puts "NOOP enable_get_started!"
34
+ @client = MessengerClient::Client.new(ENV.fetch("FACEBOOK_PAGE_TOKEN"))
35
+ @client.get_started(GET_STARTED_ID)
35
36
  end
36
37
 
37
- def get_started
38
- puts "NOOP get_started"
38
+ def get_started(&blk)
39
+ postback(GET_STARTED_ID, &blk)
39
40
  end
40
41
 
41
42
  def conversation(id, &blk)
@@ -50,6 +51,13 @@ module Sinbotra::Messenger
50
51
  DefaultListener = Struct.new(:callback) do
51
52
  def default?; true end
52
53
  end
54
+ Postback = Struct.new(:matcher, :callback)
55
+
56
+ def postback(matcher, &blk)
57
+ # TODO: THis feels kinda wrong
58
+ @postbacks ||= []
59
+ @postbacks << Postback.new(matcher, blk)
60
+ end
53
61
 
54
62
  def hear(matcher=nil, &blk)
55
63
  # TODO: THis feels kinda wrong
@@ -94,6 +102,11 @@ module Sinbotra::Messenger
94
102
 
95
103
  def match_intent(bot)
96
104
  msg = bot.current_message
105
+ # look for postback
106
+ postback = msg.postback
107
+ found_pb = @postbacks.find { |pb| postback.match(pb.matcher) }
108
+ return found_pb unless found_pb.nil?
109
+ # if you couldn't find a postback, look for text
97
110
  txt = msg.text
98
111
  @listeners.find { |l| !l.default? && txt.match(l.matcher) }
99
112
  end
@@ -1,3 +1,3 @@
1
1
  module Sinbotra
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sinbotra
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aaron Cruz