Showing
2 changed files
with
61 additions
and
153 deletions
... | @@ -7,6 +7,7 @@ var request = require('request'); | ... | @@ -7,6 +7,7 @@ var request = require('request'); |
7 | // api로 받아올 데이터포맷이 xml이므로 json으로 파싱할 필요가 있음 | 7 | // api로 받아올 데이터포맷이 xml이므로 json으로 파싱할 필요가 있음 |
8 | var convert = require('xml-js'); | 8 | var convert = require('xml-js'); |
9 | const bodyParser = require('body-parser'); | 9 | const bodyParser = require('body-parser'); |
10 | +var moment = require('moment'); | ||
10 | 11 | ||
11 | // 라인 메신져 | 12 | // 라인 메신져 |
12 | const TARGET_URL = 'https://api.line.me/v2/bot/message/reply' | 13 | const TARGET_URL = 'https://api.line.me/v2/bot/message/reply' |
... | @@ -18,7 +19,6 @@ const SERVICE_KEY = 'DMUPOq6b%2B%2F1gqfLEXQ6bnhgoTO73BfPprA6HVNcV%2F6vHMGG%2Bgiw | ... | @@ -18,7 +19,6 @@ const SERVICE_KEY = 'DMUPOq6b%2B%2F1gqfLEXQ6bnhgoTO73BfPprA6HVNcV%2F6vHMGG%2Bgiw |
18 | queryParams = '?' + encodeURIComponent('ServiceKey') + '=' + SERVICE_KEY; // Service Key | 19 | queryParams = '?' + encodeURIComponent('ServiceKey') + '=' + SERVICE_KEY; // Service Key |
19 | queryParams += '&' + encodeURIComponent('pageNo') + '=' + encodeURIComponent('1'); | 20 | queryParams += '&' + encodeURIComponent('pageNo') + '=' + encodeURIComponent('1'); |
20 | queryParams += '&' + encodeURIComponent('numOfRows') + '=' + encodeURIComponent('4'); | 21 | queryParams += '&' + encodeURIComponent('numOfRows') + '=' + encodeURIComponent('4'); |
21 | -var date; | ||
22 | var menu = 0; | 22 | var menu = 0; |
23 | var start_checker = false; | 23 | var start_checker = false; |
24 | 24 | ||
... | @@ -60,11 +60,11 @@ app.post('/hook', function (req, res) { | ... | @@ -60,11 +60,11 @@ app.post('/hook', function (req, res) { |
60 | "messages":[ | 60 | "messages":[ |
61 | { | 61 | { |
62 | "type":"text", | 62 | "type":"text", |
63 | - "text":"명령어 : /코로나 or /corona 로 코로나 19 bot을 시작하셨습니다." | 63 | + "text":"명령어 : " + message.text + " 로 코로나 19 bot을 시작하셨습니다." |
64 | }, | 64 | }, |
65 | { | 65 | { |
66 | "type":"text", | 66 | "type":"text", |
67 | - "text":"명령어 :\n1. 확진자 수 :\t/확진자\n2. 격리해제 수 :\t/격리해제\n3. 검사진행 수 :\t/검사진행\n4. 사망자 수 :\t/사망자\n5. 치료중 환자 수 :\t/치료중\n6. 결과음성 수 :\t/결과음성\n7. 누적검사 수 :\t/누적검사\n8. 누적 확진률 :\t/누적확진\n" | 67 | + "text":"명령어 :\n1. 확진자 수 :\t\t\t\t\t\t\t/확진자\n2. 격리해제 수 :\t\t/격리해제\n3. 검사진행 수 :\t\t/검사진행\n4. 사망자 수 :\t\t\t\t\t\t\t/사망자\n5. 치료중 환자 수 :\t/치료중\n6. 결과음성 수 :\t\t/결과음성\n7. 누적검사 수 :\t\t/누적검사\n8. 누적 확진률 :\t\t/누적확진\n" |
68 | } | 68 | } |
69 | ] | 69 | ] |
70 | } | 70 | } |
... | @@ -92,7 +92,7 @@ app.post('/hook', function (req, res) { | ... | @@ -92,7 +92,7 @@ app.post('/hook', function (req, res) { |
92 | }, | 92 | }, |
93 | { | 93 | { |
94 | "type":"text", | 94 | "type":"text", |
95 | - "text":"예시) 20201209" | 95 | + "text":"포맷) YYYYMMDD" |
96 | } | 96 | } |
97 | ] | 97 | ] |
98 | } | 98 | } |
... | @@ -119,7 +119,7 @@ app.post('/hook', function (req, res) { | ... | @@ -119,7 +119,7 @@ app.post('/hook', function (req, res) { |
119 | }, | 119 | }, |
120 | { | 120 | { |
121 | "type":"text", | 121 | "type":"text", |
122 | - "text":"예시) 20201209" | 122 | + "text":"포맷) YYYYMMDD" |
123 | } | 123 | } |
124 | ] | 124 | ] |
125 | } | 125 | } |
... | @@ -146,7 +146,7 @@ app.post('/hook', function (req, res) { | ... | @@ -146,7 +146,7 @@ app.post('/hook', function (req, res) { |
146 | }, | 146 | }, |
147 | { | 147 | { |
148 | "type":"text", | 148 | "type":"text", |
149 | - "text":"예시) 20201209" | 149 | + "text":"포맷) YYYYMMDD" |
150 | } | 150 | } |
151 | ] | 151 | ] |
152 | } | 152 | } |
... | @@ -173,7 +173,7 @@ app.post('/hook', function (req, res) { | ... | @@ -173,7 +173,7 @@ app.post('/hook', function (req, res) { |
173 | }, | 173 | }, |
174 | { | 174 | { |
175 | "type":"text", | 175 | "type":"text", |
176 | - "text":"예시) 20201209" | 176 | + "text":"포맷) YYYYMMDD" |
177 | } | 177 | } |
178 | ] | 178 | ] |
179 | } | 179 | } |
... | @@ -200,7 +200,7 @@ app.post('/hook', function (req, res) { | ... | @@ -200,7 +200,7 @@ app.post('/hook', function (req, res) { |
200 | }, | 200 | }, |
201 | { | 201 | { |
202 | "type":"text", | 202 | "type":"text", |
203 | - "text":"예시) 20201209" | 203 | + "text":"포맷) YYYYMMDD" |
204 | } | 204 | } |
205 | ] | 205 | ] |
206 | } | 206 | } |
... | @@ -227,7 +227,7 @@ app.post('/hook', function (req, res) { | ... | @@ -227,7 +227,7 @@ app.post('/hook', function (req, res) { |
227 | }, | 227 | }, |
228 | { | 228 | { |
229 | "type":"text", | 229 | "type":"text", |
230 | - "text":"예시) 20201209" | 230 | + "text":"포맷) YYYYMMDD" |
231 | } | 231 | } |
232 | ] | 232 | ] |
233 | } | 233 | } |
... | @@ -254,7 +254,7 @@ app.post('/hook', function (req, res) { | ... | @@ -254,7 +254,7 @@ app.post('/hook', function (req, res) { |
254 | }, | 254 | }, |
255 | { | 255 | { |
256 | "type":"text", | 256 | "type":"text", |
257 | - "text":"예시) 20201209" | 257 | + "text":"포맷) YYYYMMDD" |
258 | } | 258 | } |
259 | ] | 259 | ] |
260 | } | 260 | } |
... | @@ -277,11 +277,11 @@ app.post('/hook', function (req, res) { | ... | @@ -277,11 +277,11 @@ app.post('/hook', function (req, res) { |
277 | "messages":[ | 277 | "messages":[ |
278 | { | 278 | { |
279 | "type":"text", | 279 | "type":"text", |
280 | - "text":"확인하고 싶으신 일자를 적어주세요." | 280 | + "text":"확인하고 싶으신 일자를 적어주세요.\n포맷 : YYYYMMDD 입니다." |
281 | }, | 281 | }, |
282 | { | 282 | { |
283 | "type":"text", | 283 | "type":"text", |
284 | - "text":"예시) 20201209" | 284 | + "text":"포맷) YYYYMMDD" |
285 | } | 285 | } |
286 | ] | 286 | ] |
287 | } | 287 | } |
... | @@ -303,7 +303,7 @@ app.post('/hook', function (req, res) { | ... | @@ -303,7 +303,7 @@ app.post('/hook', function (req, res) { |
303 | "messages":[ | 303 | "messages":[ |
304 | { | 304 | { |
305 | "type":"text", | 305 | "type":"text", |
306 | - "text":"선택하신 정보가 정확하지 않거나 없습니다.\\n처음부터 다시 진행해주세요." | 306 | + "text":"선택하신 정보가 정확하지 않거나 없습니다.\n처음부터 다시 진행해주세요." |
307 | }, | 307 | }, |
308 | ] | 308 | ] |
309 | } | 309 | } |
... | @@ -314,10 +314,9 @@ app.post('/hook', function (req, res) { | ... | @@ -314,10 +314,9 @@ app.post('/hook', function (req, res) { |
314 | return; | 314 | return; |
315 | } | 315 | } |
316 | 316 | ||
317 | - if((menu != 0) && (message.text)){ | 317 | + if((menu != 0) && moment(message.text).isAfter(20200301)){ |
318 | - date = message.text; | 318 | + today = message.text; |
319 | - queryParams += '&' + encodeURIComponent('startCreateDt') + '=' + encodeURIComponent(date); | 319 | + queryParams += '&' + encodeURIComponent('endCreateDt') + '=' + encodeURIComponent(today); |
320 | - queryParams += '&' + encodeURIComponent('endCreateDt') + '=' + encodeURIComponent(date); | ||
321 | switch(menu){ | 320 | switch(menu){ |
322 | case 1: | 321 | case 1: |
323 | bot_reply_1(eventObj.replyToken, message); | 322 | bot_reply_1(eventObj.replyToken, message); |
... | @@ -367,6 +366,27 @@ app.post('/hook', function (req, res) { | ... | @@ -367,6 +366,27 @@ app.post('/hook', function (req, res) { |
367 | console.log(body) | 366 | console.log(body) |
368 | }); | 367 | }); |
369 | } | 368 | } |
369 | + else{ | ||
370 | + request.post( | ||
371 | + { | ||
372 | + url: TARGET_URL, | ||
373 | + headers: { | ||
374 | + 'Authorization': `Bearer ${TOKEN}` | ||
375 | + }, | ||
376 | + json: { | ||
377 | + "replyToken":eventObj.replyToken, | ||
378 | + "messages":[ | ||
379 | + { | ||
380 | + "type":"text", | ||
381 | + "text":"바른 날짜를 입력해주세요.." | ||
382 | + } | ||
383 | + ] | ||
384 | + } | ||
385 | + },(error, response, body) => { | ||
386 | + console.log(body) | ||
387 | + }); | ||
388 | + } | ||
389 | + | ||
370 | 390 | ||
371 | res.sendStatus(200); | 391 | res.sendStatus(200); |
372 | }); | 392 | }); |
... | @@ -383,7 +403,8 @@ function bot_reply_1(replyToken, message) { | ... | @@ -383,7 +403,8 @@ function bot_reply_1(replyToken, message) { |
383 | const jsonData = JSON.parse(xmlToJson); // json text -> json object | 403 | const jsonData = JSON.parse(xmlToJson); // json text -> json object |
384 | console.log('Reponse received', xmlToJson); // json text | 404 | console.log('Reponse received', xmlToJson); // json text |
385 | 405 | ||
386 | - var resultMessage = jsonData.response.body.items.item; | 406 | + var resultMessage1 = jsonData.response.body.items.item[1]; |
407 | + var resultMessage2 = jsonData.response.body.items.item[0]; | ||
387 | 408 | ||
388 | request.post( | 409 | request.post( |
389 | { | 410 | { |
... | @@ -400,11 +421,11 @@ function bot_reply_1(replyToken, message) { | ... | @@ -400,11 +421,11 @@ function bot_reply_1(replyToken, message) { |
400 | }, | 421 | }, |
401 | { | 422 | { |
402 | "type":"text", | 423 | "type":"text", |
403 | - "text": "확진자 수 : " + resultMessage.decideCnt._text | 424 | + "text": "확진자 수 : " + (parseInt(resultMessage2.decideCnt._text)-parseInt(resultMessage1.decideCnt._text)) |
404 | }, | 425 | }, |
405 | { | 426 | { |
406 | "type":"text", | 427 | "type":"text", |
407 | - "text": "등록일시분초 : " + resultMessage.createDt._text | 428 | + "text": "등록일시분초 : " + resultMessage2.createDt._text |
408 | } | 429 | } |
409 | ] | 430 | ] |
410 | } | 431 | } |
... | @@ -426,8 +447,8 @@ function bot_reply_2(replyToken, message) { | ... | @@ -426,8 +447,8 @@ function bot_reply_2(replyToken, message) { |
426 | const jsonData = JSON.parse(xmlToJson); // json text -> json object | 447 | const jsonData = JSON.parse(xmlToJson); // json text -> json object |
427 | console.log('Reponse received', xmlToJson); // json text | 448 | console.log('Reponse received', xmlToJson); // json text |
428 | 449 | ||
429 | - var resultMessage = jsonData.response.body.items.item; | 450 | + var resultMessage1 = jsonData.response.body.items.item[1]; |
430 | - | 451 | + var resultMessage2 = jsonData.response.body.items.item[0]; |
431 | request.post( | 452 | request.post( |
432 | { | 453 | { |
433 | url: TARGET_URL, | 454 | url: TARGET_URL, |
... | @@ -443,11 +464,11 @@ function bot_reply_2(replyToken, message) { | ... | @@ -443,11 +464,11 @@ function bot_reply_2(replyToken, message) { |
443 | }, | 464 | }, |
444 | { | 465 | { |
445 | "type":"text", | 466 | "type":"text", |
446 | - "text": "격리해제 수 : " + resultMessage.clearCnt._text | 467 | + "text": "격리해제 수 : " + (parseInt(resultMessage2.clearCnt._text)-parseInt(resultMessage1.clearCnt._text)) |
447 | }, | 468 | }, |
448 | { | 469 | { |
449 | "type":"text", | 470 | "type":"text", |
450 | - "text": "등록일시분초 : " + resultMessage.createDt._text | 471 | + "text": "등록일시분초 : " + resultMessage2.createDt._text |
451 | } | 472 | } |
452 | ] | 473 | ] |
453 | } | 474 | } |
... | @@ -469,8 +490,8 @@ function bot_reply_3(replyToken, message) { | ... | @@ -469,8 +490,8 @@ function bot_reply_3(replyToken, message) { |
469 | const jsonData = JSON.parse(xmlToJson); // json text -> json object | 490 | const jsonData = JSON.parse(xmlToJson); // json text -> json object |
470 | console.log('Reponse received', xmlToJson); // json text | 491 | console.log('Reponse received', xmlToJson); // json text |
471 | 492 | ||
472 | - var resultMessage = jsonData.response.body.items.item; | 493 | + var resultMessage1 = jsonData.response.body.items.item[1]; |
473 | - | 494 | + var resultMessage2 = jsonData.response.body.items.item[0]; |
474 | request.post( | 495 | request.post( |
475 | { | 496 | { |
476 | url: TARGET_URL, | 497 | url: TARGET_URL, |
... | @@ -486,11 +507,11 @@ function bot_reply_3(replyToken, message) { | ... | @@ -486,11 +507,11 @@ function bot_reply_3(replyToken, message) { |
486 | }, | 507 | }, |
487 | { | 508 | { |
488 | "type":"text", | 509 | "type":"text", |
489 | - "text": "검사진행 수 : " + resultMessage.examCnt._text | 510 | + "text": "검사진행 수 : " + (parseInt(resultMessage2.examCnt._text)-parseInt(resultMessage1.examCnt._text)) |
490 | }, | 511 | }, |
491 | { | 512 | { |
492 | "type":"text", | 513 | "type":"text", |
493 | - "text": "등록일시분초 : " + resultMessage.createDt._text | 514 | + "text": "등록일시분초 : " + resultMessage2.createDt._text |
494 | } | 515 | } |
495 | ] | 516 | ] |
496 | } | 517 | } |
... | @@ -512,8 +533,8 @@ function bot_reply_4(replyToken, message) { | ... | @@ -512,8 +533,8 @@ function bot_reply_4(replyToken, message) { |
512 | const jsonData = JSON.parse(xmlToJson); // json text -> json object | 533 | const jsonData = JSON.parse(xmlToJson); // json text -> json object |
513 | console.log('Reponse received', xmlToJson); // json text | 534 | console.log('Reponse received', xmlToJson); // json text |
514 | 535 | ||
515 | - var resultMessage = jsonData.response.body.items.item; | 536 | + var resultMessage1 = jsonData.response.body.items.item[1]; |
516 | - | 537 | + var resultMessage2 = jsonData.response.body.items.item[0]; |
517 | request.post( | 538 | request.post( |
518 | { | 539 | { |
519 | url: TARGET_URL, | 540 | url: TARGET_URL, |
... | @@ -529,11 +550,11 @@ function bot_reply_4(replyToken, message) { | ... | @@ -529,11 +550,11 @@ function bot_reply_4(replyToken, message) { |
529 | }, | 550 | }, |
530 | { | 551 | { |
531 | "type":"text", | 552 | "type":"text", |
532 | - "text": "사망자 수 : " + resultMessage.deathCnt._text | 553 | + "text": "사망자 수 : " + (parseInt(resultMessage2.deathCnt._text)-parseInt(resultMessage1.deathCnt._text)) |
533 | }, | 554 | }, |
534 | { | 555 | { |
535 | "type":"text", | 556 | "type":"text", |
536 | - "text": "등록일시분초 : " + resultMessage.createDt._text | 557 | + "text": "등록일시분초 : " + resultMessage2.createDt._text |
537 | } | 558 | } |
538 | ] | 559 | ] |
539 | } | 560 | } |
... | @@ -555,8 +576,8 @@ function bot_reply_5(replyToken, message) { | ... | @@ -555,8 +576,8 @@ function bot_reply_5(replyToken, message) { |
555 | const jsonData = JSON.parse(xmlToJson); // json text -> json object | 576 | const jsonData = JSON.parse(xmlToJson); // json text -> json object |
556 | console.log('Reponse received', xmlToJson); // json text | 577 | console.log('Reponse received', xmlToJson); // json text |
557 | 578 | ||
558 | - var resultMessage = jsonData.response.body.items.item; | 579 | + var resultMessage1 = jsonData.response.body.items.item[1]; |
559 | - | 580 | + var resultMessage2 = jsonData.response.body.items.item[0]; |
560 | request.post( | 581 | request.post( |
561 | { | 582 | { |
562 | url: TARGET_URL, | 583 | url: TARGET_URL, |
... | @@ -572,11 +593,11 @@ function bot_reply_5(replyToken, message) { | ... | @@ -572,11 +593,11 @@ function bot_reply_5(replyToken, message) { |
572 | }, | 593 | }, |
573 | { | 594 | { |
574 | "type":"text", | 595 | "type":"text", |
575 | - "text": "치료중 환자 수 : " + resultMessage.careCnt._text | 596 | + "text": "치료중 환자 수 : " + (parseInt(resultMessage2.careCnt._text)-parseInt(resultMessage1.careCnt._text)) |
576 | }, | 597 | }, |
577 | { | 598 | { |
578 | "type":"text", | 599 | "type":"text", |
579 | - "text": "등록일시분초 : " + resultMessage.createDt._text | 600 | + "text": "등록일시분초 : " + resultMessage2.createDt._text |
580 | } | 601 | } |
581 | ] | 602 | ] |
582 | } | 603 | } |
... | @@ -598,8 +619,8 @@ function bot_reply_6(replyToken, message) { | ... | @@ -598,8 +619,8 @@ function bot_reply_6(replyToken, message) { |
598 | const jsonData = JSON.parse(xmlToJson); // json text -> json object | 619 | const jsonData = JSON.parse(xmlToJson); // json text -> json object |
599 | console.log('Reponse received', xmlToJson); // json text | 620 | console.log('Reponse received', xmlToJson); // json text |
600 | 621 | ||
601 | - var resultMessage = jsonData.response.body.items.item; | 622 | + var resultMessage1 = jsonData.response.body.items.item[1]; |
602 | - | 623 | + var resultMessage2 = jsonData.response.body.items.item[0]; |
603 | request.post( | 624 | request.post( |
604 | { | 625 | { |
605 | url: TARGET_URL, | 626 | url: TARGET_URL, |
... | @@ -615,11 +636,11 @@ function bot_reply_6(replyToken, message) { | ... | @@ -615,11 +636,11 @@ function bot_reply_6(replyToken, message) { |
615 | }, | 636 | }, |
616 | { | 637 | { |
617 | "type":"text", | 638 | "type":"text", |
618 | - "text": "결과 음성 수 : " + resultMessage.resutlNegCnt._text | 639 | + "text": "결과 음성 수 : " + (parseInt(resultMessage2.resutlNegCnt._text)-parseInt(resultMessage1.resutlNegCnt._text)) |
619 | }, | 640 | }, |
620 | { | 641 | { |
621 | "type":"text", | 642 | "type":"text", |
622 | - "text": "등록일시분초 : " + resultMessage.createDt._text | 643 | + "text": "등록일시분초 : " + resultMessage2.createDt._text |
623 | } | 644 | } |
624 | ] | 645 | ] |
625 | } | 646 | } | ... | ... |
app_mother_legacy.js
deleted
100644 → 0
1 | -var express = require('express'); | ||
2 | -var app = express(); | ||
3 | -const line = require('@line/bot-sdk'); | ||
4 | - | ||
5 | - | ||
6 | -//papago api | ||
7 | -var request = require('request'); | ||
8 | - | ||
9 | -//번역 api_url | ||
10 | -var translate_api_url = 'https://openapi.naver.com/v1/papago/n2mt'; | ||
11 | - | ||
12 | -//언어감지 api_url | ||
13 | -var languagedetect_api_url = 'https://openapi.naver.com/v1/papago/detectLangs' | ||
14 | - | ||
15 | -// Naver Auth Key | ||
16 | -//새로 발급받은 naver papago api id, pw 입력 | ||
17 | -var client_id = 'xZMx34y7uru1v8lywZ2d'; | ||
18 | -var client_secret = 'p6L7M7WsH9'; | ||
19 | - | ||
20 | -const config = { | ||
21 | - channelAccessToken: 'mnny0MJSezgBXzR9C3Ddcc1Csdb7Y9jkvy2nqV5saOmvR2YOJ1/kj/2M0CNsLA+57B2qDpdUQ7WbCTtIKx/LAJ6Kwfop4tX3up7EM8H9EZK1td6GMbhhCb6wvUFVdb1PcTO4joCv8mspd3ubo8a+gAdB04t89/1O/w1cDnyilFU=', | ||
22 | - channelSecret: 'bde77633a16fc5bfbd532d5990c6170e', | ||
23 | -}; | ||
24 | - | ||
25 | - | ||
26 | -// create LINE SDK client | ||
27 | -const client = new line.Client(config); | ||
28 | - | ||
29 | -// create Express app | ||
30 | -// about Express itself: https://expressjs.com/ | ||
31 | - | ||
32 | -// register a webhook handler with middleware | ||
33 | -// about the middleware, please refer to doc | ||
34 | -app.post('/webhook', line.middleware(config), (req, res) => { | ||
35 | - Promise | ||
36 | - .all(req.body.events.map(handleEvent)) | ||
37 | - .then((result) => res.json(result)) | ||
38 | - .catch((err) => { | ||
39 | - console.error(err); | ||
40 | - res.status(200).end(); | ||
41 | - }); | ||
42 | -}); | ||
43 | - | ||
44 | -// event handler | ||
45 | -function handleEvent(event) { | ||
46 | - if (event.type !== 'message' || event.message.type !== 'text') { | ||
47 | - // ignore non-text-message event | ||
48 | - return Promise.resolve(null); | ||
49 | - } | ||
50 | - return new Promise(function(resolve, reject) { | ||
51 | - //언어 감지 option | ||
52 | - var detect_options = { | ||
53 | - url : languagedetect_api_url, | ||
54 | - form : {'query': event.message.text}, | ||
55 | - headers: {'X-Naver-Client-Id': client_id, 'X-Naver-Client-Secret': client_secret} | ||
56 | - }; | ||
57 | - | ||
58 | - //papago 언어 감지 | ||
59 | - request.post(detect_options,function(error,response,body){ | ||
60 | - console.log(response.statusCode); | ||
61 | - if(!error && response.statusCode == 200){ | ||
62 | - var detect_body = JSON.parse(response.body); | ||
63 | - var source = ''; | ||
64 | - var target = ''; | ||
65 | - var result = { type: 'text', text:''}; | ||
66 | - | ||
67 | - //언어 감지가 제대로 됐는지 확인 | ||
68 | - console.log(detect_body.langCode); | ||
69 | - | ||
70 | - | ||
71 | - //번역은 한국어->영어 / 영어->한국어만 지원 | ||
72 | - if(detect_body.langCode == 'ko'||detect_body.langCode == 'en'){ | ||
73 | - source = detect_body.langCode == 'ko' ? 'ko':'en'; | ||
74 | - target = source == 'ko' ? 'en':'ko'; | ||
75 | - //papago 번역 option | ||
76 | - var options = { | ||
77 | - url: translate_api_url, | ||
78 | - // 한국어(source : ko), 영어(target: en), 카톡에서 받는 메시지(text) | ||
79 | - form: {'source':source, 'target':target, 'text':event.message.text}, | ||
80 | - headers: {'X-Naver-Client-Id': client_id, 'X-Naver-Client-Secret': client_secret} | ||
81 | - }; | ||
82 | - | ||
83 | - // Naver Post API | ||
84 | - request.post(options, function(error, response, body){ | ||
85 | - // Translate API Sucess | ||
86 | - if(!error && response.statusCode == 200){ | ||
87 | - // JSON | ||
88 | - var objBody = JSON.parse(response.body); | ||
89 | - // Message 잘 찍히는지 확인 | ||
90 | - | ||
91 | - result.text = objBody.message.result.translatedText; | ||
92 | - console.log(result.text); | ||
93 | - //번역된 문장 보내기 | ||
94 | - client.replyMessage(event.replyToken,result).then(resolve).catch(reject); | ||
95 | - } | ||
96 | - }); | ||
97 | - } | ||
98 | - // 메시지의 언어가 영어 또는 한국어가 아닐 경우 | ||
99 | - else{ | ||
100 | - result.text = '언어를 감지할 수 없습니다. \n 번역 언어는 한글 또는 영어만 가능합니다.'; | ||
101 | - client.replyMessage(event.replyToken,result).then(resolve).catch(reject); | ||
102 | - } | ||
103 | - | ||
104 | - } | ||
105 | - | ||
106 | - }); | ||
107 | - | ||
108 | - }); | ||
109 | - } | ||
110 | - | ||
111 | -app.listen(3000, function () { | ||
112 | - console.log('Linebot listening on port 3000!'); | ||
113 | -}); |
-
Please register or login to post a comment