Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @SpringBootApplication
- @LineMessageHandler
- public class DemoApplication{
- public static void main(String[] args) throws IOException {
- SpringApplication.run(DemoApplication.class, args);
- }
- @Autowired
- private LineMessagingService lineMessagingService;
- @EventMapping
- public void handleTextMessageEvent(MessageEvent<TextMessageContent> event) throws Exception {
- String channelTtoken = System.getenv("LINE_BOT_CHANNEL_TOKEN");
- String fixieUrl = System.getenv("FIXIE_URL");
- String[] fixieValues = fixieUrl.split("[/(:\/@)/]+");
- String fixieUser = fixieValues[1];
- String fixiePassword = fixieValues[2];
- String fixieHost = fixieValues[3];
- int fixiePort = Integer.parseInt(fixieValues[4]);
- OkHttpClient.Builder clientBuilder = new OkHttpClient.Builder();
- Authenticator proxyAuthenticator = new Authenticator() {
- @Override public Request authenticate(Route route, Response response) throws IOException {
- String credential = Credentials.basic(fixieUser, fixiePassword);
- return response.request().newBuilder()
- .header("Proxy-Authorization", credential)
- .build();
- }
- };
- Proxy prx = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(fixieHost, fixiePort));
- clientBuilder.proxy(prx).proxyAuthenticator(proxyAuthenticator);
- ReplyMessage replyMessage = new ReplyMessage(event.getReplyToken(),
- Collections.singletonList(new TextMessage(event.getSource().getUserId())));
- retrofit2.Response<BotApiResponse> response =
- LineMessagingServiceBuilder
- .create(channelTtoken)
- .okHttpClientBuilder(clientBuilder)
- .build()
- .replyMessage(replyMessage)
- .execute();
- System.out.println("response: " + response.code() + " " + response.message());
- final BotApiResponse apiResponse = lineMessagingService
- .replyMessage(new ReplyMessage(event.getReplyToken(),
- Collections.singletonList(new TextMessage(event.getSource().getUserId()))))
- .execute().body();
- System.out.println("Sent messages: " + apiResponse);
- }
- @EventMapping
- public void defaultMessageEvent(Event event) {
- System.out.println("event: " + event);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement