line-bot-api 1.12.0 → 1.13.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/line/bot/api.rb +1 -0
- data/lib/line/bot/api/version.rb +1 -1
- data/lib/line/bot/client.rb +59 -45
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bf4665d3f64bd345493bbd462ff4a69f14089803a0ccbfa2af4a33ddba6dde87
|
4
|
+
data.tar.gz: ff297dbf91d2f862384a4e56a44496f28e6639dc90be48dffcd1f5e026195dea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6a15e26e9071d289cbf00238cc4e15a50923db911a538f2756be9503f800a53ed8518da5435717f49b714d0c2a44b51be67a5ab2a0ff16405c5e2583483f20d3
|
7
|
+
data.tar.gz: e282f0efc0ffa2ae259de6ebdcb9cd7b9a650dad7d979ceaf13c8bdff4056695207850e7ed8195d03065509eabe9b712ebcfb62fbfc0b77ae40dd49ffc5170ed
|
data/lib/line/bot/api.rb
CHANGED
data/lib/line/bot/api/version.rb
CHANGED
data/lib/line/bot/client.rb
CHANGED
@@ -21,7 +21,7 @@ module Line
|
|
21
21
|
module Bot
|
22
22
|
class Client
|
23
23
|
# @return [String]
|
24
|
-
attr_accessor :channel_token, :channel_id, :channel_secret, :endpoint
|
24
|
+
attr_accessor :channel_token, :channel_id, :channel_secret, :endpoint, :blob_endpoint
|
25
25
|
|
26
26
|
# @return [Object]
|
27
27
|
attr_accessor :httpclient
|
@@ -49,6 +49,17 @@ module Line
|
|
49
49
|
@endpoint ||= Line::Bot::API::DEFAULT_ENDPOINT
|
50
50
|
end
|
51
51
|
|
52
|
+
def blob_endpoint
|
53
|
+
return @blob_endpoint if @blob_endpoint
|
54
|
+
|
55
|
+
@blob_endpoint = if endpoint == Line::Bot::API::DEFAULT_ENDPOINT
|
56
|
+
Line::Bot::API::DEFAULT_BLOB_ENDPOINT
|
57
|
+
else
|
58
|
+
# for backward compatible
|
59
|
+
endpoint
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
52
63
|
# @return [Hash]
|
53
64
|
def credentials
|
54
65
|
{
|
@@ -72,7 +83,7 @@ module Line
|
|
72
83
|
client_secret: channel_secret
|
73
84
|
)
|
74
85
|
headers = { 'Content-Type' => 'application/x-www-form-urlencoded' }
|
75
|
-
post(endpoint_path, payload, headers)
|
86
|
+
post(endpoint, endpoint_path, payload, headers)
|
76
87
|
end
|
77
88
|
|
78
89
|
# Revoke channel access token
|
@@ -82,7 +93,7 @@ module Line
|
|
82
93
|
endpoint_path = '/oauth/revoke'
|
83
94
|
payload = URI.encode_www_form(access_token: access_token)
|
84
95
|
headers = { 'Content-Type' => 'application/x-www-form-urlencoded' }
|
85
|
-
post(endpoint_path, payload, headers)
|
96
|
+
post(endpoint, endpoint_path, payload, headers)
|
86
97
|
end
|
87
98
|
|
88
99
|
# Push messages to line server and to user.
|
@@ -98,7 +109,7 @@ module Line
|
|
98
109
|
|
99
110
|
endpoint_path = '/bot/message/push'
|
100
111
|
payload = { to: user_id, messages: messages }.to_json
|
101
|
-
post(endpoint_path, payload, credentials)
|
112
|
+
post(endpoint, endpoint_path, payload, credentials)
|
102
113
|
end
|
103
114
|
|
104
115
|
# Reply messages to line server and to users.
|
@@ -114,7 +125,7 @@ module Line
|
|
114
125
|
|
115
126
|
endpoint_path = '/bot/message/reply'
|
116
127
|
payload = { replyToken: token, messages: messages }.to_json
|
117
|
-
post(endpoint_path, payload, credentials)
|
128
|
+
post(endpoint, endpoint_path, payload, credentials)
|
118
129
|
end
|
119
130
|
|
120
131
|
# Multicast messages to line server and to users.
|
@@ -131,7 +142,7 @@ module Line
|
|
131
142
|
|
132
143
|
endpoint_path = '/bot/message/multicast'
|
133
144
|
payload = { to: to, messages: messages }.to_json
|
134
|
-
post(endpoint_path, payload, credentials)
|
145
|
+
post(endpoint, endpoint_path, payload, credentials)
|
135
146
|
end
|
136
147
|
|
137
148
|
# Broadcast messages to users
|
@@ -146,21 +157,21 @@ module Line
|
|
146
157
|
|
147
158
|
endpoint_path = '/bot/message/broadcast'
|
148
159
|
payload = { messages: messages }.to_json
|
149
|
-
post(endpoint_path, payload, credentials)
|
160
|
+
post(endpoint, endpoint_path, payload, credentials)
|
150
161
|
end
|
151
162
|
|
152
163
|
def leave_group(group_id)
|
153
164
|
channel_token_required
|
154
165
|
|
155
166
|
endpoint_path = "/bot/group/#{group_id}/leave"
|
156
|
-
post(endpoint_path, nil, credentials)
|
167
|
+
post(endpoint, endpoint_path, nil, credentials)
|
157
168
|
end
|
158
169
|
|
159
170
|
def leave_room(room_id)
|
160
171
|
channel_token_required
|
161
172
|
|
162
173
|
endpoint_path = "/bot/room/#{room_id}/leave"
|
163
|
-
post(endpoint_path, nil, credentials)
|
174
|
+
post(endpoint, endpoint_path, nil, credentials)
|
164
175
|
end
|
165
176
|
|
166
177
|
# Get message content.
|
@@ -172,7 +183,7 @@ module Line
|
|
172
183
|
channel_token_required
|
173
184
|
|
174
185
|
endpoint_path = "/bot/message/#{identifier}/content"
|
175
|
-
get(endpoint_path, credentials)
|
186
|
+
get(blob_endpoint, endpoint_path, credentials)
|
176
187
|
end
|
177
188
|
|
178
189
|
# Get an user's profile.
|
@@ -184,7 +195,7 @@ module Line
|
|
184
195
|
channel_token_required
|
185
196
|
|
186
197
|
endpoint_path = "/bot/profile/#{user_id}"
|
187
|
-
get(endpoint_path, credentials)
|
198
|
+
get(endpoint, endpoint_path, credentials)
|
188
199
|
end
|
189
200
|
|
190
201
|
# Get an user's profile of a group.
|
@@ -197,7 +208,7 @@ module Line
|
|
197
208
|
channel_token_required
|
198
209
|
|
199
210
|
endpoint_path = "/bot/group/#{group_id}/member/#{user_id}"
|
200
|
-
get(endpoint_path, credentials)
|
211
|
+
get(endpoint, endpoint_path, credentials)
|
201
212
|
end
|
202
213
|
|
203
214
|
# Get an user's profile of a room.
|
@@ -210,7 +221,7 @@ module Line
|
|
210
221
|
channel_token_required
|
211
222
|
|
212
223
|
endpoint_path = "/bot/room/#{room_id}/member/#{user_id}"
|
213
|
-
get(endpoint_path, credentials)
|
224
|
+
get(endpoint, endpoint_path, credentials)
|
214
225
|
end
|
215
226
|
|
216
227
|
# Get user IDs of a group
|
@@ -225,7 +236,7 @@ module Line
|
|
225
236
|
|
226
237
|
endpoint_path = "/bot/group/#{group_id}/members/ids"
|
227
238
|
endpoint_path += "?start=#{continuation_token}" if continuation_token
|
228
|
-
get(endpoint_path, credentials)
|
239
|
+
get(endpoint, endpoint_path, credentials)
|
229
240
|
end
|
230
241
|
|
231
242
|
# Get user IDs of a room
|
@@ -240,7 +251,7 @@ module Line
|
|
240
251
|
|
241
252
|
endpoint_path = "/bot/room/#{room_id}/members/ids"
|
242
253
|
endpoint_path += "?start=#{continuation_token}" if continuation_token
|
243
|
-
get(endpoint_path, credentials)
|
254
|
+
get(endpoint, endpoint_path, credentials)
|
244
255
|
end
|
245
256
|
|
246
257
|
# Get a list of all uploaded rich menus
|
@@ -250,7 +261,7 @@ module Line
|
|
250
261
|
channel_token_required
|
251
262
|
|
252
263
|
endpoint_path = '/bot/richmenu/list'
|
253
|
-
get(endpoint_path, credentials)
|
264
|
+
get(endpoint, endpoint_path, credentials)
|
254
265
|
end
|
255
266
|
|
256
267
|
# Get a rich menu via a rich menu ID
|
@@ -262,7 +273,7 @@ module Line
|
|
262
273
|
channel_token_required
|
263
274
|
|
264
275
|
endpoint_path = "/bot/richmenu/#{rich_menu_id}"
|
265
|
-
get(endpoint_path, credentials)
|
276
|
+
get(endpoint, endpoint_path, credentials)
|
266
277
|
end
|
267
278
|
|
268
279
|
# Gets the number of messages sent with the /bot/message/reply endpoint.
|
@@ -274,7 +285,7 @@ module Line
|
|
274
285
|
channel_token_required
|
275
286
|
|
276
287
|
endpoint_path = "/bot/message/delivery/reply?date=#{date}"
|
277
|
-
get(endpoint_path, credentials)
|
288
|
+
get(endpoint, endpoint_path, credentials)
|
278
289
|
end
|
279
290
|
|
280
291
|
# Gets the number of messages sent with the /bot/message/push endpoint.
|
@@ -286,7 +297,7 @@ module Line
|
|
286
297
|
channel_token_required
|
287
298
|
|
288
299
|
endpoint_path = "/bot/message/delivery/push?date=#{date}"
|
289
|
-
get(endpoint_path, credentials)
|
300
|
+
get(endpoint, endpoint_path, credentials)
|
290
301
|
end
|
291
302
|
|
292
303
|
# Gets the number of messages sent with the /bot/message/multicast endpoint.
|
@@ -298,7 +309,7 @@ module Line
|
|
298
309
|
channel_token_required
|
299
310
|
|
300
311
|
endpoint_path = "/bot/message/delivery/multicast?date=#{date}"
|
301
|
-
get(endpoint_path, credentials)
|
312
|
+
get(endpoint, endpoint_path, credentials)
|
302
313
|
end
|
303
314
|
|
304
315
|
# Gets the number of messages sent with the /bot/message/multicast endpoint.
|
@@ -310,7 +321,7 @@ module Line
|
|
310
321
|
channel_token_required
|
311
322
|
|
312
323
|
endpoint_path = "/bot/message/delivery/broadcast?date=#{date}"
|
313
|
-
get(endpoint_path, credentials)
|
324
|
+
get(endpoint, endpoint_path, credentials)
|
314
325
|
end
|
315
326
|
|
316
327
|
# Create a rich menu
|
@@ -322,7 +333,7 @@ module Line
|
|
322
333
|
channel_token_required
|
323
334
|
|
324
335
|
endpoint_path = '/bot/richmenu'
|
325
|
-
post(endpoint_path, rich_menu.to_json, credentials)
|
336
|
+
post(endpoint, endpoint_path, rich_menu.to_json, credentials)
|
326
337
|
end
|
327
338
|
|
328
339
|
# Delete a rich menu
|
@@ -334,7 +345,7 @@ module Line
|
|
334
345
|
channel_token_required
|
335
346
|
|
336
347
|
endpoint_path = "/bot/richmenu/#{rich_menu_id}"
|
337
|
-
delete(endpoint_path, credentials)
|
348
|
+
delete(endpoint, endpoint_path, credentials)
|
338
349
|
end
|
339
350
|
|
340
351
|
# Get the ID of the rich menu linked to a user
|
@@ -346,7 +357,7 @@ module Line
|
|
346
357
|
channel_token_required
|
347
358
|
|
348
359
|
endpoint_path = "/bot/user/#{user_id}/richmenu"
|
349
|
-
get(endpoint_path, credentials)
|
360
|
+
get(endpoint, endpoint_path, credentials)
|
350
361
|
end
|
351
362
|
|
352
363
|
# Get default rich menu
|
@@ -356,7 +367,7 @@ module Line
|
|
356
367
|
channel_token_required
|
357
368
|
|
358
369
|
endpoint_path = '/bot/user/all/richmenu'
|
359
|
-
get(endpoint_path, credentials)
|
370
|
+
get(endpoint, endpoint_path, credentials)
|
360
371
|
end
|
361
372
|
|
362
373
|
# Set default rich menu (Link a rich menu to all user)
|
@@ -368,7 +379,7 @@ module Line
|
|
368
379
|
channel_token_required
|
369
380
|
|
370
381
|
endpoint_path = "/bot/user/all/richmenu/#{rich_menu_id}"
|
371
|
-
post(endpoint_path, nil, credentials)
|
382
|
+
post(endpoint, endpoint_path, nil, credentials)
|
372
383
|
end
|
373
384
|
|
374
385
|
# Unset default rich menu (Unlink a rich menu from all user)
|
@@ -378,7 +389,7 @@ module Line
|
|
378
389
|
channel_token_required
|
379
390
|
|
380
391
|
endpoint_path = "/bot/user/all/richmenu"
|
381
|
-
delete(endpoint_path, credentials)
|
392
|
+
delete(endpoint, endpoint_path, credentials)
|
382
393
|
end
|
383
394
|
|
384
395
|
# Link a rich menu to a user
|
@@ -391,7 +402,7 @@ module Line
|
|
391
402
|
channel_token_required
|
392
403
|
|
393
404
|
endpoint_path = "/bot/user/#{user_id}/richmenu/#{rich_menu_id}"
|
394
|
-
post(endpoint_path, nil, credentials)
|
405
|
+
post(endpoint, endpoint_path, nil, credentials)
|
395
406
|
end
|
396
407
|
|
397
408
|
# Unlink a rich menu from a user
|
@@ -403,7 +414,7 @@ module Line
|
|
403
414
|
channel_token_required
|
404
415
|
|
405
416
|
endpoint_path = "/bot/user/#{user_id}/richmenu"
|
406
|
-
delete(endpoint_path, credentials)
|
417
|
+
delete(endpoint, endpoint_path, credentials)
|
407
418
|
end
|
408
419
|
|
409
420
|
# To link a rich menu to multiple users at a time
|
@@ -416,7 +427,7 @@ module Line
|
|
416
427
|
channel_token_required
|
417
428
|
|
418
429
|
endpoint_path = "/bot/richmenu/bulk/link"
|
419
|
-
post(endpoint_path, { richMenuId: rich_menu_id, userIds: user_ids }.to_json, credentials)
|
430
|
+
post(endpoint, endpoint_path, { richMenuId: rich_menu_id, userIds: user_ids }.to_json, credentials)
|
420
431
|
end
|
421
432
|
|
422
433
|
# To unlink a rich menu from multiple users at a time
|
@@ -428,7 +439,7 @@ module Line
|
|
428
439
|
channel_token_required
|
429
440
|
|
430
441
|
endpoint_path = "/bot/richmenu/bulk/unlink"
|
431
|
-
post(endpoint_path, { userIds: user_ids }.to_json, credentials)
|
442
|
+
post(endpoint, endpoint_path, { userIds: user_ids }.to_json, credentials)
|
432
443
|
end
|
433
444
|
|
434
445
|
# Download an image associated with a rich menu
|
@@ -440,7 +451,7 @@ module Line
|
|
440
451
|
channel_token_required
|
441
452
|
|
442
453
|
endpoint_path = "/bot/richmenu/#{rich_menu_id}/content"
|
443
|
-
get(endpoint_path, credentials)
|
454
|
+
get(blob_endpoint, endpoint_path, credentials)
|
444
455
|
end
|
445
456
|
|
446
457
|
# Upload and attaches an image to a rich menu
|
@@ -461,7 +472,7 @@ module Line
|
|
461
472
|
|
462
473
|
endpoint_path = "/bot/richmenu/#{rich_menu_id}/content"
|
463
474
|
headers = credentials.merge('Content-Type' => content_type)
|
464
|
-
post(endpoint_path, file.rewind && file.read, headers)
|
475
|
+
post(blob_endpoint, endpoint_path, file.rewind && file.read, headers)
|
465
476
|
end
|
466
477
|
|
467
478
|
# Issue a link token to a user
|
@@ -473,7 +484,7 @@ module Line
|
|
473
484
|
channel_token_required
|
474
485
|
|
475
486
|
endpoint_path = "/bot/user/#{user_id}/linkToken"
|
476
|
-
post(endpoint_path, nil, credentials)
|
487
|
+
post(endpoint, endpoint_path, nil, credentials)
|
477
488
|
end
|
478
489
|
|
479
490
|
# Get the target limit for additional messages
|
@@ -483,7 +494,7 @@ module Line
|
|
483
494
|
channel_token_required
|
484
495
|
|
485
496
|
endpoint_path = "/bot/message/quota"
|
486
|
-
get(endpoint_path, credentials)
|
497
|
+
get(endpoint, endpoint_path, credentials)
|
487
498
|
end
|
488
499
|
|
489
500
|
# Get number of messages sent this month
|
@@ -493,7 +504,7 @@ module Line
|
|
493
504
|
channel_token_required
|
494
505
|
|
495
506
|
endpoint_path = "/bot/message/quota/consumption"
|
496
|
-
get(endpoint_path, credentials)
|
507
|
+
get(endpoint, endpoint_path, credentials)
|
497
508
|
end
|
498
509
|
|
499
510
|
# Returns the number of messages sent on a specified day
|
@@ -505,7 +516,7 @@ module Line
|
|
505
516
|
channel_token_required
|
506
517
|
|
507
518
|
endpoint_path = "/bot/insight/message/delivery?date=#{date}"
|
508
|
-
get(endpoint_path, credentials)
|
519
|
+
get(endpoint, endpoint_path, credentials)
|
509
520
|
end
|
510
521
|
|
511
522
|
# Returns the number of followers
|
@@ -517,7 +528,7 @@ module Line
|
|
517
528
|
channel_token_required
|
518
529
|
|
519
530
|
endpoint_path = "/bot/insight/followers?date=#{date}"
|
520
|
-
get(endpoint_path, credentials)
|
531
|
+
get(endpoint, endpoint_path, credentials)
|
521
532
|
end
|
522
533
|
|
523
534
|
# Retrieves the demographic attributes for a bot's friends.
|
@@ -527,41 +538,44 @@ module Line
|
|
527
538
|
channel_token_required
|
528
539
|
|
529
540
|
endpoint_path = '/bot/insight/demographic'
|
530
|
-
get(endpoint_path, credentials)
|
541
|
+
get(endpoint, endpoint_path, credentials)
|
531
542
|
end
|
532
543
|
|
533
544
|
# Fetch data, get content of specified URL.
|
534
545
|
#
|
546
|
+
# @param endpoint_base [String]
|
535
547
|
# @param endpoint_path [String]
|
536
548
|
# @param headers [Hash]
|
537
549
|
#
|
538
550
|
# @return [Net::HTTPResponse]
|
539
|
-
def get(endpoint_path, headers = {})
|
551
|
+
def get(endpoint_base, endpoint_path, headers = {})
|
540
552
|
headers = Line::Bot::API::DEFAULT_HEADERS.merge(headers)
|
541
|
-
httpclient.get(
|
553
|
+
httpclient.get(endpoint_base + endpoint_path, headers)
|
542
554
|
end
|
543
555
|
|
544
556
|
# Post data, get content of specified URL.
|
545
557
|
#
|
558
|
+
# @param endpoint_base [String]
|
546
559
|
# @param endpoint_path [String]
|
547
560
|
# @param payload [String or NilClass]
|
548
561
|
# @param headers [Hash]
|
549
562
|
#
|
550
563
|
# @return [Net::HTTPResponse]
|
551
|
-
def post(endpoint_path, payload = nil, headers = {})
|
564
|
+
def post(endpoint_base, endpoint_path, payload = nil, headers = {})
|
552
565
|
headers = Line::Bot::API::DEFAULT_HEADERS.merge(headers)
|
553
|
-
httpclient.post(
|
566
|
+
httpclient.post(endpoint_base + endpoint_path, payload, headers)
|
554
567
|
end
|
555
568
|
|
556
569
|
# Delete content of specified URL.
|
557
570
|
#
|
571
|
+
# @param endpoint_base [String]
|
558
572
|
# @param endpoint_path [String]
|
559
573
|
# @param headers [Hash]
|
560
574
|
#
|
561
575
|
# @return [Net::HTTPResponse]
|
562
|
-
def delete(endpoint_path, headers = {})
|
576
|
+
def delete(endpoint_base, endpoint_path, headers = {})
|
563
577
|
headers = Line::Bot::API::DEFAULT_HEADERS.merge(headers)
|
564
|
-
httpclient.delete(
|
578
|
+
httpclient.delete(endpoint_base + endpoint_path, headers)
|
565
579
|
end
|
566
580
|
|
567
581
|
# Parse events from request.body
|
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: 1.
|
4
|
+
version: 1.13.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- LINE Corporation
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-12-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|