Showing
1 changed file
with
79 additions
and
33 deletions
| 1 | var end = false; | 1 | var end = false; |
| 2 | var count = 0; | 2 | var count = 0; |
| 3 | +n1 = ''; | ||
| 4 | +var directory = [['korean_food_final.txt','chinese_food_final.txt','japanese_food_final.txt','western_food_final.txt','ect_food_final.txt'],['meat.txt','fish.txt','ect.txt','\0','\0'],['spicy_food_final.txt','not_spicy_food_final.txt','\0','\0','\0'],['water.txt','dry.txt','\0','\0','\0'],['hot_food_final.txt','cold_food_final.txt','\0','\0','\0']]; | ||
| 5 | +var save_file_name = ['fin_1.txt','fin_2.txt','fin_3.txt','fin.txt']; | ||
| 3 | var choosen = new Array(); | 6 | var choosen = new Array(); |
| 4 | var express = require('express'); | 7 | var express = require('express'); |
| 5 | const request = require('request'); | 8 | const request = require('request'); |
| ... | @@ -37,51 +40,52 @@ app.post('/hook', function (req, res) { | ... | @@ -37,51 +40,52 @@ app.post('/hook', function (req, res) { |
| 37 | start_msg(eventObj.replyToken, eventObj.message.text); | 40 | start_msg(eventObj.replyToken, eventObj.message.text); |
| 38 | }else if(eventObj.message.text === 'y' && count ==1) | 41 | }else if(eventObj.message.text === 'y' && count ==1) |
| 39 | { | 42 | { |
| 43 | + count++; | ||
| 40 | opt_1(eventObj.replyToken, eventObj.message.text); | 44 | opt_1(eventObj.replyToken, eventObj.message.text); |
| 41 | - }else if((eventObj.message.text === '1' || eventObj.message.text === '2' || eventObj.message.text === '3' || eventObj.message.text == '4' || eventObj.message.texts == '5') && count ==1) | 45 | + }else if((eventObj.message.text === '1' || eventObj.message.text === '2' || eventObj.message.text === '3' || eventObj.message.text == '4' || eventObj.message.texts == '5') && count ==2) |
| 42 | { | 46 | { |
| 43 | choosen.push(eventObj.message.text); | 47 | choosen.push(eventObj.message.text); |
| 44 | count++; | 48 | count++; |
| 45 | opt_2(eventObj.replyToken, eventObj.message.text); | 49 | opt_2(eventObj.replyToken, eventObj.message.text); |
| 46 | - }else if((eventObj.message.text === '1' || eventObj.message.text === '2' || eventObj.message.text === '3') && count ==2) | 50 | + }else if((eventObj.message.text === '1' || eventObj.message.text === '2' || eventObj.message.text === '3') && count ==3) |
| 47 | { | 51 | { |
| 48 | choosen.push(eventObj.message.text); | 52 | choosen.push(eventObj.message.text); |
| 49 | count++; | 53 | count++; |
| 50 | opt_3(eventObj.replyToken, eventObj.message.text); | 54 | opt_3(eventObj.replyToken, eventObj.message.text); |
| 51 | - }else if((eventObj.message.text === '1' || eventObj.message.text === '2') && count ==3) | 55 | + }else if((eventObj.message.text === '1' || eventObj.message.text === '2') && count ==4) |
| 52 | { | 56 | { |
| 53 | choosen.push(eventObj.message.text); | 57 | choosen.push(eventObj.message.text); |
| 54 | count++; | 58 | count++; |
| 55 | opt_4(eventObj.replyToken, eventObj.message.text); | 59 | opt_4(eventObj.replyToken, eventObj.message.text); |
| 56 | - }else if((eventObj.message.text === '1' || eventObj.message.text === '2') && count ==4) | 60 | + }else if((eventObj.message.text === '1' || eventObj.message.text === '2') && count ==5) |
| 57 | { | 61 | { |
| 58 | choosen.push(eventObj.message.text); | 62 | choosen.push(eventObj.message.text); |
| 59 | count++; | 63 | count++; |
| 60 | opt_5(eventObj.replyToken, eventObj.message.text); | 64 | opt_5(eventObj.replyToken, eventObj.message.text); |
| 61 | - }else if((eventObj.message.text === '1' || eventObj.message.text === '2') && count ==5) | 65 | + }else if((eventObj.message.text === '1' || eventObj.message.text === '2') && count ==6) |
| 62 | { | 66 | { |
| 63 | choosen.push(eventObj.message.text); | 67 | choosen.push(eventObj.message.text); |
| 64 | count++; | 68 | count++; |
| 65 | Rmx_comment(eventObj.replyToken); | 69 | Rmx_comment(eventObj.replyToken); |
| 66 | - }else if(count == 6 && end) | 70 | + }else if(count == 7 && end) |
| 67 | { | 71 | { |
| 68 | - Rmx(eventObj.replyToken); | 72 | + intersection(); |
| 73 | + read_file('fin.txt') | ||
| 74 | + Rmx(eventObj.replyToken,n1); | ||
| 69 | count++; | 75 | count++; |
| 70 | - }else if(count ==7 && end && eventObj.message.text == 'y') | 76 | + }else if(count ==8 && end) |
| 77 | + { | ||
| 78 | + | ||
| 79 | + | ||
| 80 | + | ||
| 81 | + }else if(count == 9) | ||
| 71 | { | 82 | { |
| 72 | load_map(eventObj.replyToken); | 83 | load_map(eventObj.replyToken); |
| 73 | count++; | 84 | count++; |
| 74 | }else{ | 85 | }else{ |
| 75 | err(eventObj.replyToken); | 86 | err(eventObj.replyToken); |
| 76 | } | 87 | } |
| 77 | - const spawn = require('child_process').spawn; | 88 | + |
| 78 | - const result = spawn('python', ['/home/ec2-user/menu_recommand_webpage-1/CHATBOT/fileread_practice.py', '/home/ec2-user/menu_recommand_webpage-1/CHATBOT/1_person.txt', '/home/ec2-user/menu_recommand_webpage-1/CHATBOT/water.txt']); | ||
| 79 | - result.stdout.on('data', function (data) { | ||
| 80 | - console.log(data.toString()); | ||
| 81 | - }); | ||
| 82 | - result.stderr.on('data', function (data) { | ||
| 83 | - console.log(data.toString()); | ||
| 84 | - }); | ||
| 85 | 89 | ||
| 86 | res.sendStatus(200); | 90 | res.sendStatus(200); |
| 87 | }); | 91 | }); |
| ... | @@ -322,7 +326,7 @@ async function Rmx_comment(replyToken) | ... | @@ -322,7 +326,7 @@ async function Rmx_comment(replyToken) |
| 322 | "messages": [ | 326 | "messages": [ |
| 323 | { | 327 | { |
| 324 | "type": "text", | 328 | "type": "text", |
| 325 | - "text": "계속하려면 아무키나 입력하시오." | 329 | + "text": "아무키나 입력해 추천 음식 보기." |
| 326 | } | 330 | } |
| 327 | ] | 331 | ] |
| 328 | } | 332 | } |
| ... | @@ -331,25 +335,40 @@ async function Rmx_comment(replyToken) | ... | @@ -331,25 +335,40 @@ async function Rmx_comment(replyToken) |
| 331 | }); | 335 | }); |
| 332 | } | 336 | } |
| 333 | 337 | ||
| 334 | -async function Rmx(replyToken) | 338 | +async function Rmx(replyToken,message) { |
| 335 | -{ | ||
| 336 | await request.post( | 339 | await request.post( |
| 337 | { | 340 | { |
| 338 | - url: TARGET_URL, | 341 | + url: PAPAGO_URL, |
| 339 | headers: { | 342 | headers: { |
| 340 | - 'Authorization': `Bearer ${TOKEN}` | 343 | + 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', |
| 344 | + 'X-Naver-Client-Id': `${PAPAGO_ID}`, | ||
| 345 | + 'X-Naver-Client-Secret': `${PAPAGO_SECRET}` | ||
| 341 | }, | 346 | }, |
| 342 | - json: { | 347 | + body: 'source=en&target=ko&text=' + message, |
| 343 | - "replyToken": replyToken, | 348 | + json: true |
| 344 | - "messages": [ | 349 | + }, (error, response, body) => { |
| 350 | + if (!error && response.statusCode == 200) { | ||
| 351 | + console.log(body.message); | ||
| 352 | + var transMessage = body.message.result.translatedText; | ||
| 353 | + request.post( | ||
| 345 | { | 354 | { |
| 346 | - "type": "text", | 355 | + url: TARGET_URL, |
| 347 | - "text": "추천 음식은 ~~~~ 입니다.\n 음식점을 추천 받으시겠습니까? (y/n)" | 356 | + headers: { |
| 348 | - } | 357 | + 'Authorization': `Bearer ${TOKEN}` |
| 349 | - ] | 358 | + }, |
| 359 | + json: { | ||
| 360 | + "replyToken": replyToken, | ||
| 361 | + "messages": [ | ||
| 362 | + { | ||
| 363 | + "type": "text", | ||
| 364 | + "text": transMessage | ||
| 365 | + } | ||
| 366 | + ] | ||
| 367 | + } | ||
| 368 | + }, (error, response, body) => { | ||
| 369 | + console.log(body) | ||
| 370 | + }); | ||
| 350 | } | 371 | } |
| 351 | - }, (error, response, body) => { | ||
| 352 | - console.log(body) | ||
| 353 | }); | 372 | }); |
| 354 | } | 373 | } |
| 355 | 374 | ||
| ... | @@ -397,16 +416,43 @@ async function err(replyToken) | ... | @@ -397,16 +416,43 @@ async function err(replyToken) |
| 397 | }); | 416 | }); |
| 398 | } | 417 | } |
| 399 | 418 | ||
| 400 | -async function read_file(dir, arr) | 419 | +async function read_file(dir) |
| 401 | { | 420 | { |
| 402 | await fs.readFile(dir, function(err, data) { | 421 | await fs.readFile(dir, function(err, data) { |
| 403 | if(err) throw err; | 422 | if(err) throw err; |
| 404 | - arr = data.toString().split("\n"); | 423 | + n1 = data.toString().split("\n"); |
| 405 | - n1=arr; | ||
| 406 | }); | 424 | }); |
| 407 | 425 | ||
| 408 | } | 426 | } |
| 409 | 427 | ||
| 428 | +async function intersection() | ||
| 429 | +{ | ||
| 430 | + const spawn = await require('child_process').spawn; | ||
| 431 | + for (var i = 0, j = 0; i < 3; i += 2, j++) { | ||
| 432 | + const result = spawn('python', ['/home/ec2-user/menu_recommand_webpage-1/CHATBOT/fileread_practice.py', directory[i][Number(choosen[i]) - 1], directory[i + 1][Number(choosen[i + 1]) - 1], save_file_name[j]]); | ||
| 433 | + result.stdout.on('data', function (data) { | ||
| 434 | + console.log(data.toString()); | ||
| 435 | + }); | ||
| 436 | + result.stderr.on('data', function (data) { | ||
| 437 | + console.log(data.toString()); | ||
| 438 | + }); | ||
| 439 | + } | ||
| 440 | + result = spawn('python', ['/home/ec2-user/menu_recommand_webpage-1/CHATBOT/fileread_practice.py', save_file_name[0], save_file_name[1], save_file_name[2]]); | ||
| 441 | + result.stdout.on('data', function (data) { | ||
| 442 | + console.log(data.toString()); | ||
| 443 | + }); | ||
| 444 | + result.stderr.on('data', function (data) { | ||
| 445 | + console.log(data.toString()); | ||
| 446 | + }); | ||
| 447 | + result = spawn('python', ['/home/ec2-user/menu_recommand_webpage-1/CHATBOT/fileread_practice.py', save_file_name[2], directory[4][Number(choosen[4]) - 1], save_file_name[3]]); | ||
| 448 | + result.stdout.on('data', function (data) { | ||
| 449 | + console.log(data.toString()); | ||
| 450 | + }); | ||
| 451 | + result.stderr.on('data', function (data) { | ||
| 452 | + console.log(data.toString()); | ||
| 453 | + }); | ||
| 454 | +} | ||
| 455 | + | ||
| 410 | function sleep(ms) { | 456 | function sleep(ms) { |
| 411 | const wakeUpTime = Date.now() + ms; | 457 | const wakeUpTime = Date.now() + ms; |
| 412 | while (Date.now() < wakeUpTime) {} | 458 | while (Date.now() < wakeUpTime) {} | ... | ... |
-
Please register or login to post a comment