Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1. @SpringBootApplication
  2. @LineMessageHandler
  3. public class DemoApplication{
  4.  
  5. public static void main(String[] args) throws IOException {
  6.  
  7. SpringApplication.run(DemoApplication.class, args);
  8. }
  9.  
  10. @Autowired
  11. private LineMessagingService lineMessagingService;
  12.  
  13. @EventMapping
  14. public void handleTextMessageEvent(MessageEvent<TextMessageContent> event) throws Exception {
  15.  
  16. String channelTtoken = System.getenv("LINE_BOT_CHANNEL_TOKEN");
  17. String fixieUrl = System.getenv("FIXIE_URL");
  18. String[] fixieValues = fixieUrl.split("[/(:\/@)/]+");
  19. String fixieUser = fixieValues[1];
  20. String fixiePassword = fixieValues[2];
  21. String fixieHost = fixieValues[3];
  22. int fixiePort = Integer.parseInt(fixieValues[4]);
  23.  
  24. OkHttpClient.Builder clientBuilder = new OkHttpClient.Builder();
  25. Authenticator proxyAuthenticator = new Authenticator() {
  26. @Override public Request authenticate(Route route, Response response) throws IOException {
  27. String credential = Credentials.basic(fixieUser, fixiePassword);
  28. return response.request().newBuilder()
  29. .header("Proxy-Authorization", credential)
  30. .build();
  31. }
  32. };
  33.  
  34. Proxy prx = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(fixieHost, fixiePort));
  35. clientBuilder.proxy(prx).proxyAuthenticator(proxyAuthenticator);
  36.  
  37. ReplyMessage replyMessage = new ReplyMessage(event.getReplyToken(),
  38. Collections.singletonList(new TextMessage(event.getSource().getUserId())));
  39.  
  40. retrofit2.Response<BotApiResponse> response =
  41. LineMessagingServiceBuilder
  42. .create(channelTtoken)
  43. .okHttpClientBuilder(clientBuilder)
  44. .build()
  45. .replyMessage(replyMessage)
  46. .execute();
  47. System.out.println("response: " + response.code() + " " + response.message());
  48.  
  49. final BotApiResponse apiResponse = lineMessagingService
  50. .replyMessage(new ReplyMessage(event.getReplyToken(),
  51. Collections.singletonList(new TextMessage(event.getSource().getUserId()))))
  52. .execute().body();
  53. System.out.println("Sent messages: " + apiResponse);
  54. }
  55.  
  56. @EventMapping
  57. public void defaultMessageEvent(Event event) {
  58. System.out.println("event: " + event);
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement