sinbotra 0.1.1 → 0.1.2

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
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