line-bot-api 0.1.4 → 0.1.5
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 +4 -4
- data/README.md +41 -5
- data/lib/line/bot/api/version.rb +1 -1
- data/lib/line/bot/builder/multiple_message.rb +1 -1
- data/lib/line/bot/client.rb +4 -1
- data/lib/line/bot/request.rb +12 -10
- data/line-bot-api.gemspec +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b41e29013d616c2fecb76ddb866b0289b6c7a84c
|
4
|
+
data.tar.gz: 395a71ae0ff3bd8e181c946476a804a8d8988bfb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: feeed8fecc5ccbc5edd61439b14c5651c611de434a8b21458e828e69ae92371eb5e41adda9b836d0a914870fa003b43e69fe01a65333a00840777dba995e3c63
|
7
|
+
data.tar.gz: 888d5eb50735c6f644cc3c2b55fdeff2604d38c39d62f5738ed7f8d480bd6d03fe3daf0a1d3741f48c61dbe147c595ac9f23796c37a35b84d280f145279df982
|
data/README.md
CHANGED
@@ -1,8 +1,44 @@
|
|
1
1
|
# Line::Bot::API
|
2
2
|
|
3
|
+
[](https://rubygems.org/gems/line-bot-api) [](https://travis-ci.org/line/line-bot-sdk-ruby)
|
4
|
+
|
5
|
+
|
3
6
|
Line::Bot::API - SDK of the LINE BOT API Trial for Ruby
|
4
7
|
|
5
|
-
|
8
|
+
```
|
9
|
+
# app.rb
|
10
|
+
require 'sinatra'
|
11
|
+
require 'line/bot'
|
12
|
+
|
13
|
+
def client
|
14
|
+
@client ||= Line::Bot::Client.new { |config|
|
15
|
+
config.channel_id = ENV["LINE_CHANNEL_ID"]
|
16
|
+
config.channel_secret = ENV["LINE_CHANNEL_SECRET"]
|
17
|
+
config.channel_mid = ENV["LINE_CHANNEL_MID"]
|
18
|
+
}
|
19
|
+
end
|
20
|
+
|
21
|
+
post '/callback' do
|
22
|
+
signature = request.env['HTTP_X_LINE_CHANNELSIGNATURE']
|
23
|
+
unless client.validate_signature(request.body.read, signature)
|
24
|
+
error 400 do 'Bad Request' end
|
25
|
+
end
|
26
|
+
|
27
|
+
receive_request = Line::Bot::Receive::Request.new(request.env)
|
28
|
+
|
29
|
+
receive_request.data.each { |message|
|
30
|
+
case message.content
|
31
|
+
when Line::Bot::Message::Text
|
32
|
+
client.send_text(
|
33
|
+
to_mid: message.from_mid,
|
34
|
+
text: message.content[:text],
|
35
|
+
)
|
36
|
+
end
|
37
|
+
}
|
38
|
+
|
39
|
+
"OK"
|
40
|
+
end
|
41
|
+
```
|
6
42
|
|
7
43
|
## Installation
|
8
44
|
|
@@ -185,12 +221,12 @@ end
|
|
185
221
|
### Receiving request
|
186
222
|
|
187
223
|
```
|
188
|
-
|
224
|
+
request = Rack::Request.new( .. )
|
189
225
|
|
190
|
-
|
191
|
-
|
226
|
+
receive_request = Line::Bot::Receive::Request.new(request.env)
|
227
|
+
receive_request.data #=> [Array<Line::Bot::Receive::Message || Line::Bot::Receive::Operation>]
|
192
228
|
|
193
|
-
|
229
|
+
receive_request.data.each { |message|
|
194
230
|
case message.content
|
195
231
|
when Line::Bot::Message::Image, Line::Bot::Message::Video
|
196
232
|
# get message content
|
data/lib/line/bot/api/version.rb
CHANGED
data/lib/line/bot/client.rb
CHANGED
@@ -214,9 +214,12 @@ module Line
|
|
214
214
|
#
|
215
215
|
# @return [Line::Bot::Response::User::Profile]
|
216
216
|
def get_user_profile(mids)
|
217
|
-
raise ArgumentError, '
|
217
|
+
raise ArgumentError, 'Wrong argument type `mids`' unless mids.instance_of?(String) || mids.instance_of?(Array)
|
218
218
|
|
219
219
|
mids = mids.instance_of?(String) ? [mids] : mids
|
220
|
+
|
221
|
+
raise ArgumentError, 'Wrong argument type `mids`' unless mids.size > 0 && mids.reject {|item| item.instance_of?(String) }
|
222
|
+
|
220
223
|
endpoint_path = "/v1/profiles?mids=#{mids.join(',')}"
|
221
224
|
|
222
225
|
response = get(endpoint_path)
|
data/lib/line/bot/request.rb
CHANGED
@@ -28,9 +28,12 @@ module Line
|
|
28
28
|
|
29
29
|
# @return [Array]
|
30
30
|
def to
|
31
|
-
raise ArgumentError, '
|
31
|
+
raise ArgumentError, 'Wrong argument type `to_mid`' unless to_mid.instance_of?(String) || to_mid.instance_of?(Array)
|
32
|
+
to = to_mid.instance_of?(String) ? [to_mid] : to_mid
|
32
33
|
|
33
|
-
to_mid.instance_of?(String)
|
34
|
+
raise ArgumentError, 'Wrong argument type `to_mid`' unless to.size > 0 && to.reject {|item| item.instance_of?(String) }
|
35
|
+
|
36
|
+
to
|
34
37
|
end
|
35
38
|
|
36
39
|
# @return [Line::Bot::Message::Base#content]
|
@@ -67,8 +70,7 @@ module Line
|
|
67
70
|
#
|
68
71
|
# @return [Net::HTTPResponse]
|
69
72
|
def get
|
70
|
-
|
71
|
-
|
73
|
+
validate_for_getting_message
|
72
74
|
https.get(endpoint_path, header)
|
73
75
|
end
|
74
76
|
|
@@ -78,17 +80,17 @@ module Line
|
|
78
80
|
#
|
79
81
|
# @return [Net::HTTPResponse]
|
80
82
|
def post
|
81
|
-
|
82
|
-
|
83
|
+
validate_for_posting_message
|
83
84
|
https.post(endpoint_path, payload, header)
|
84
85
|
end
|
85
86
|
|
86
|
-
def validate_for_getting_message
|
87
|
-
|
87
|
+
def validate_for_getting_message
|
88
|
+
raise ArgumentError, 'Wrong argument type `endpoint_path`' unless endpoint_path.instance_of?(String)
|
88
89
|
end
|
89
90
|
|
90
|
-
def validate_for_posting_message
|
91
|
-
|
91
|
+
def validate_for_posting_message
|
92
|
+
raise ArgumentError, 'Invalid argument `message`' unless message.valid?
|
93
|
+
raise ArgumentError, 'Wrong argument type `endpoint_path`' unless endpoint_path.instance_of?(String)
|
92
94
|
end
|
93
95
|
|
94
96
|
end
|
data/line-bot-api.gemspec
CHANGED
@@ -25,6 +25,6 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.add_development_dependency "bundler", "~> 1.11"
|
26
26
|
spec.add_development_dependency "rake", "~> 10.0"
|
27
27
|
spec.add_development_dependency "webmock", "~> 1.24"
|
28
|
-
spec.add_development_dependency "addressable", "
|
28
|
+
spec.add_development_dependency "addressable", "~> 2.3"
|
29
29
|
spec.add_development_dependency "rspec", "~> 3.0"
|
30
30
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: line-bot-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- LINE Corporation
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-04-
|
11
|
+
date: 2016-04-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack
|
@@ -70,16 +70,16 @@ dependencies:
|
|
70
70
|
name: addressable
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ~>
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 2.3
|
75
|
+
version: '2.3'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ~>
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 2.3
|
82
|
+
version: '2.3'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rspec
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|