조아혜

modify result message

1 +var client_id = 'v3M4wjolGLkrvNA3GUIW';
2 +var client_secret = 'fKF6vjkWhE';
3 +var fs = require('fs');
4 +var request = require('request');
5 +const path = require('path');
6 +var express = require('express');
7 +var app = express();
8 +var domain = "www.osstest237.ml"
9 +const sslport = 23023;
10 +const HTTPS = require('https');
11 +
12 +exports.imgtodata = function(dir){
13 + var api_url = 'https://openapi.naver.com/v1/vision/face'; // 얼굴 감지
14 +
15 + var _formData = {
16 + image:'image',
17 + image: fs.createReadStream(path.join(__dirname, dir)) // FILE 이름
18 + };
19 +
20 + request.post(
21 + { url:api_url,
22 + formData:_formData,
23 + headers: {'X-Naver-Client-Id':client_id,
24 + 'X-Naver-Client-Secret': client_secret}
25 + }, (err,response,body) =>{
26 + console.log(response.statusCode); // 200
27 + //console.log(response.headers['content-type'])
28 +
29 + data=JSON.parse(body);
30 + gender=data.faces[0].gender.value;
31 + emotion=data.faces[0].emotion.value
32 +
33 + console.log(gender);
34 + console.log(emotion);
35 +
36 + //return {gender:gender,emotion:emotion};
37 + });
38 + }
39 +
40 + try {
41 + const option = {
42 + ca: fs.readFileSync('/etc/letsencrypt/live/' + domain +'/fullchain.pem'),
43 + key: fs.readFileSync(path.resolve(process.cwd(), '/etc/letsencrypt/live/' + domain +'/privkey.pem'), 'utf8').toString(),
44 + cert: fs.readFileSync(path.resolve(process.cwd(), '/etc/letsencrypt/live/' + domain +'/cert.pem'), 'utf8').toString(),
45 + };
46 + HTTPS.createServer(option, app).listen(sslport, () => {
47 + console.log(`[HTTPS] Server is started on port ${sslport}`);
48 + });
49 + } catch (error) {
50 + console.log('[HTTPS] HTTPS 오류가 발생하였습니다. HTTPS 서버는 실행되지 않습니다.');
51 + console.log(error);
52 +}
53 +
54 +//imgtodata('./test3.jpg');
...\ No newline at end of file ...\ No newline at end of file
...@@ -3,12 +3,12 @@ var client_id = 'v3M4wjolGLkrvNA3GUIW'; ...@@ -3,12 +3,12 @@ var client_id = 'v3M4wjolGLkrvNA3GUIW';
3 var client_secret = 'fKF6vjkWhE'; 3 var client_secret = 'fKF6vjkWhE';
4 const request = require('request'); 4 const request = require('request');
5 const TARGET_URL = 'https://api.line.me/v2/bot/message/reply' 5 const TARGET_URL = 'https://api.line.me/v2/bot/message/reply'
6 -const TOKEN = 'hMnfhBQc8nadyn5Ow6aejAVDUoUEp9N8YxOFxfOB2V83TOf0vjquT4cC8ll4Ccq4hkWJ8xHij53FzjMteqLLuUL6bZs+ZONI+f5aawIulRg4Y4FFBGp1O03awvgxGn503iyI7+5iQCEi80Kus6cRZQdB04t89/1O/w1cDnyilFU=' //수정해주세용 6 +const TOKEN = 'w5i8sURqF5bof6DWeB87n+oCeWrYaFf7a5YZzfzN1jeITIlZ3PcOmZRcdGCo/djTuHhNxybfJ69y7Jex+7tipBNRynngfyWX9CK1L3EupuhnX8rubeCmJda7HvsQWXVo8ZDcwl2aLwXsE3kiYF2qEwdB04t89/1O/w1cDnyilFU=' //수정해주세용
7 -const SECRET = '270103fd4cbd81695ceb6d0ed7f85f4b' //수정해주세용 7 +const SECRET = 'b0b4501ebc2813a2b0e586293a35b466' //수정해주세용
8 const fs = require('fs'); 8 const fs = require('fs');
9 const path = require('path'); 9 const path = require('path');
10 const HTTPS = require('https'); 10 const HTTPS = require('https');
11 -const domain = "www.osschatbot.tk" //수정해주세용 11 +const domain = "www.osstest237.ml" //수정해주세용
12 const sslport = 23023; 12 const sslport = 23023;
13 const line = require('@line/bot-sdk'); 13 const line = require('@line/bot-sdk');
14 14
...@@ -260,7 +260,7 @@ function QuickReplyCfrYes(replyToken) { ...@@ -260,7 +260,7 @@ function QuickReplyCfrYes(replyToken) {
260 "messages": [ 260 "messages": [
261 { 261 {
262 "type": "text", 262 "type": "text",
263 - "text": "사진을 입력해주세요.", 263 + "text": "사진을 입력해주세요. 얼굴 인식이 되지 않을 경우 위치 기반으로 추천됩니다.",
264 "quickReply": quickReplyCfrYes 264 "quickReply": quickReplyCfrYes
265 } 265 }
266 ] 266 ]
...@@ -350,6 +350,12 @@ function RecommendationResult(replyToken, query) { ...@@ -350,6 +350,12 @@ function RecommendationResult(replyToken, query) {
350 350
351 roadAddress = data.items[0].roadAddress; 351 roadAddress = data.items[0].roadAddress;
352 console.log(roadAddress); 352 console.log(roadAddress);
353 +
354 + var x = Number(data.items[0].mapx);
355 + var y = Number(data.items[0].mapy);
356 +
357 + var longitude = TMtoWGS(x, y)[0];
358 + var latitude = TMtoWGS(x, y)[1];
353 359
354 request.post( 360 request.post(
355 { 361 {
...@@ -360,41 +366,21 @@ function RecommendationResult(replyToken, query) { ...@@ -360,41 +366,21 @@ function RecommendationResult(replyToken, query) {
360 json: { 366 json: {
361 "replyToken": replyToken, 367 "replyToken": replyToken,
362 "messages": [ 368 "messages": [
363 - /*{ 369 + {
364 - "type": "imagemap", 370 + "type":"location",
365 - // 이미지 불러올 수 없습니다 뜸 371 + "title": title,
366 - "baseUrl": "https://www.flaticon.com/free-icon/food-store_2934069?term=restaurant&page=1&position=7&related_item_id=2934069", 372 + "address": address,
367 - "altText": "이미지를 누르시면 해당 가게로 이동합니다.", 373 + "latitude": latitude,
368 - "baseSize": { 374 + "longitude": longitude
369 - "width": 1040,
370 - "height": 1040
371 }, 375 },
372 - "actions": [ 376 + {
373 - { 377 + "type": "text",
374 - "type": "uri", 378 + "text": "맛집 이름: " + title
375 - "linkUri": link, // 가게 링크 379 + },
376 - "area": { 380 + {
377 - "x": 0, 381 + "type":"text",
378 - "y": 0, 382 + "text": "맛집 주소: " + address
379 - "width": 1040, 383 + }
380 - "height": 1040
381 - }
382 - }
383 - ]
384 - },*/
385 - {
386 - "type": "text",
387 - "text": "맛집 이름: " + title
388 - },
389 - {
390 - "type":"text",
391 - "text": "맛집 주소: " + address
392 - }
393 - /*{
394 - "type":"location",
395 - "title":"맛집 주소",
396 - "address":address
397 - }*/
398 ] 384 ]
399 } 385 }
400 }, (error, response, body) => { 386 }, (error, response, body) => {
......