File tree Expand file tree Collapse file tree 4 files changed +48
-3
lines changed
main/java/com/linecorp/bot/model/event/message
java/com/linecorp/bot/model/event
sample-spring-boot-kitchensink/src/main/java/com/example/bot/spring Expand file tree Collapse file tree 4 files changed +48
-3
lines changed Original file line number Diff line number Diff line change 1616
1717package com .linecorp .bot .model .event .message ;
1818
19- import java .net .URI ;
20-
2119import com .fasterxml .jackson .annotation .JsonTypeName ;
2220import com .fasterxml .jackson .databind .annotation .JsonDeserialize ;
2321import com .fasterxml .jackson .databind .annotation .JsonPOJOBuilder ;
@@ -36,6 +34,9 @@ public static class VideoMessageContentBuilder {
3634 }
3735
3836 String id ;
39- URI url ;
37+ /**
38+ * Length of video file (milliseconds).
39+ */
40+ Integer duration ;
4041 ContentProvider contentProvider ;
4142}
Original file line number Diff line number Diff line change 4242import com .linecorp .bot .model .event .message .TextMessageContent ;
4343import com .linecorp .bot .model .event .message .TextMessageContent .Emoji ;
4444import com .linecorp .bot .model .event .message .UnknownMessageContent ;
45+ import com .linecorp .bot .model .event .message .VideoMessageContent ;
4546import com .linecorp .bot .model .event .source .GroupSource ;
4647import com .linecorp .bot .model .event .source .Source ;
4748import com .linecorp .bot .model .event .source .UnknownSource ;
@@ -579,6 +580,22 @@ public void testUnsend() throws IOException {
579580 });
580581 }
581582
583+ @ Test
584+ public void testVideo () throws IOException {
585+ parse ("callback/video.json" , callbackRequest -> {
586+ assertDestination (callbackRequest );
587+ Event event = callbackRequest .getEvents ().get (0 );
588+ assertThat (event .getSource ()).isInstanceOf (UserSource .class );
589+ assertThat (event ).isInstanceOf (MessageEvent .class );
590+ assertThat (event .getMode ())
591+ .isEqualTo (EventMode .ACTIVE );
592+
593+ MessageEvent messageEvent = (MessageEvent ) event ;
594+ VideoMessageContent videoMessageContent = (VideoMessageContent )messageEvent .getMessage ();
595+ assertThat (videoMessageContent .getDuration ()).isEqualTo (60000L );
596+ });
597+ }
598+
582599 // Event, that has brand new eventType
583600 @ Test
584601 public void testUnknown () throws IOException {
Original file line number Diff line number Diff line change 1+ {
2+ "destination" : " Uab012345678901234567890123456789" ,
3+ "events" : [
4+ {
5+ "replyToken" : " nHuyWiB7yP5Zw52FIkcQobQuGDXCTA" ,
6+ "type" : " message" ,
7+ "mode" : " active" ,
8+ "timestamp" : 1462629479859 ,
9+ "source" : {
10+ "type" : " user" ,
11+ "userId" : " U4af4980629..."
12+ },
13+ "message" : {
14+ "id" : " 325708" ,
15+ "type" : " video" ,
16+ "duration" : 60000 ,
17+ "contentProvider" : {
18+ "type" : " external" ,
19+ "originalContentUrl" : " https://example.com/original.mp4" ,
20+ "previewImageUrl" : " https://example.com/preview.jpg"
21+ }
22+ }
23+ }
24+ ]
25+ }
Original file line number Diff line number Diff line change @@ -178,6 +178,8 @@ public void handleAudioMessageEvent(MessageEvent<AudioMessageContent> event) thr
178178
179179 @ EventMapping
180180 public void handleVideoMessageEvent (MessageEvent <VideoMessageContent > event ) throws IOException {
181+ log .info ("Got video message: duration={}ms" , event .getMessage ().getDuration ());
182+
181183 // You need to install ffmpeg and ImageMagick.
182184 handleHeavyContent (
183185 event .getReplyToken (),
You can’t perform that action at this time.
0 commit comments