Skip to content

Commit 190c4b3

Browse files
authored
Add v2 example - membership, unsend, loading (line#558)
related to line#533
1 parent 7a803ae commit 190c4b3

File tree

3 files changed

+39
-13
lines changed

3 files changed

+39
-13
lines changed

examples/v2/kitchensink/Gemfile.lock

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ PATH
22
remote: ../../..
33
specs:
44
line-bot-api (0.0.1.pre.test)
5-
multipart-post (~> 2.4.1)
5+
base64 (~> 0.2)
6+
multipart-post (~> 2.4)
67

78
GEM
89
remote: https://rubygems.org/

examples/v2/kitchensink/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,11 @@ A kitchen-sink LINE bot example
88
$ export LINE_CHANNEL_SECRET=YOUR_CHANNEL_SECRET
99
$ export LINE_CHANNEL_ACCESS_TOKEN=YOUR_CHANNEL_ACCESS_TOKEN
1010
$ bundle install
11+
$ export APP_BASE_URL="https://your.base.url:4567"
1112
$ bundle exec ruby app.rb
1213
```
1314

15+
Then set url as webhook url in https://developers.line.biz/console/
1416
```
1517
https://your.base.url:4567/callback
1618
```

examples/v2/kitchensink/app.rb

Lines changed: 35 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,10 @@ def parser
107107
reply_text(event, "[VIDEO_PLAY_COMPLETE]\n#{JSON.generate(event.video_play_complete)}")
108108

109109
when Line::Bot::V2::Webhook::UnsendEvent
110-
handle_unsend(event)
110+
logger.info "[UNSEND]\n#{body}"
111+
112+
when Line::Bot::V2::Webhook::MembershipEvent
113+
reply_text(event, "[MEMBERSHIP]\n#{JSON.generate(event.membership)}")
111114

112115
else
113116
reply_text(event, "Unknown event type: #{event}")
@@ -259,6 +262,19 @@ def handle_message_event(event)
259262
]
260263
)
261264
client.reply_message(reply_message_request: request)
265+
when 'delay'
266+
## use loading animation, sleep 5 sec, then reply
267+
client.show_loading_animation(show_loading_animation_request: Line::Bot::V2::MessagingApi::ShowLoadingAnimationRequest.new(
268+
chat_id: event.source.user_id
269+
))
270+
sleep 5
271+
request = Line::Bot::V2::MessagingApi::ReplyMessageRequest.new(
272+
reply_token: event.reply_token,
273+
messages: [
274+
Line::Bot::V2::MessagingApi::TextMessage.new(text: "Delay 5 sec")
275+
]
276+
)
277+
client.reply_message(reply_message_request: request)
262278

263279
when 'emoji v2'
264280
request = Line::Bot::V2::MessagingApi::ReplyMessageRequest.new(
@@ -813,6 +829,24 @@ def handle_message_event(event)
813829
logger.info "Unknown source type: #{event.source.type}, event: #{event}"
814830
end
815831

832+
when 'get membership infos'
833+
membership_id_list = client.get_membership_list().memberships
834+
membership_id = membership_id_list.first.membership_id
835+
836+
user_id = client.get_joined_membership_users(membership_id: membership_id).user_ids.first
837+
user_profile = client.get_profile(user_id: user_id)
838+
user_membership = client.get_membership_subscription(user_id: user_id).subscriptions
839+
840+
content = "user profile subscriping membership: #{JSON.generate(user_profile)}\n" \
841+
"membership info: #{JSON.generate(user_membership)}"
842+
request = Line::Bot::V2::MessagingApi::ReplyMessageRequest.new(
843+
reply_token: event.reply_token,
844+
messages: [
845+
Line::Bot::V2::MessagingApi::TextMessage.new(text: "[MEMBERSHIP] \n#{content}")
846+
]
847+
)
848+
client.reply_message(reply_message_request: request)
849+
816850
when 'stats'
817851
request = Line::Bot::V2::MessagingApi::BroadcastRequest.new(
818852
messages: [
@@ -877,14 +911,3 @@ def reply_text(event, text)
877911
)
878912
client.reply_message(reply_message_request: request)
879913
end
880-
881-
def handle_unsend(event)
882-
id = event.unsend.message_id
883-
request = Line::Bot::V2::MessagingApi::ReplyMessageRequest.new(
884-
reply_token: event.reply_token,
885-
messages: [
886-
Line::Bot::V2::MessagingApi::TextMessage.new(text: "[UNSEND]\nmessage_id: #{id}")
887-
]
888-
)
889-
client.reply_message(reply_message_request: request)
890-
end

0 commit comments

Comments
 (0)