@Test public void testFollow() throws IOException { parse("callback/follow.json", callbackRequest -> { assertDestination(callbackRequest); assertThat(callbackRequest.getEvents()).hasSize(1); Event event = callbackRequest.getEvents().get(0); assertThat(event).isInstanceOf(FollowEvent.class); assertThat(event.getSource()) .isInstanceOf(UserSource.class); assertThat(event.getSource().getUserId()) .isEqualTo("u206d25c2ea6bd87c17655609a1c37cb8"); assertThat(event.getTimestamp()) .isEqualTo(Instant.parse("2016-05-07T13:57:59.859Z")); FollowEvent followEvent = (FollowEvent) event; assertThat(followEvent.getReplyToken()) .isEqualTo("nHuyWiB7yP5Zw52FIkcQobQuGDXCTA"); }); }
private void handleEvent(Event event) throws Exception { if (event instanceof MessageEvent) { MessageContent content = ((MessageEvent) event).getMessage(); if (content instanceof TextMessageContent) { String text = ((TextMessageContent) content).getText(); lineMessagingClient.replyMessage( new ReplyMessage(((MessageEvent) event).getReplyToken(), new TextMessage(text))) .get(); } } else if (event instanceof FollowEvent) { lineMessagingClient.replyMessage( new ReplyMessage(((FollowEvent) event).getReplyToken(), new TextMessage("follow"))) .get(); } } }