Seungmi

python 추가

Showing 1 changed file with 37 additions and 10 deletions
...@@ -11,9 +11,10 @@ const bodyParser = require('body-parser'); ...@@ -11,9 +11,10 @@ const bodyParser = require('body-parser');
11 var app = express(); 11 var app = express();
12 const { info } = require('console'); 12 const { info } = require('console');
13 13
14 -var PythonShell = require('python-shell'); 14 +var { PythonShell } = require('python-shell');
15 +var pyshell = new PythonShell('weather_chat.py');
15 16
16 -var options = { 17 +let options = {
17 mode: 'text', 18 mode: 'text',
18 pythonPath: '', 19 pythonPath: '',
19 pythonOptions: ['-u'], 20 pythonOptions: ['-u'],
...@@ -41,11 +42,8 @@ app.post('/hook', function (req, res) { ...@@ -41,11 +42,8 @@ app.post('/hook', function (req, res) {
41 else if(eventObj.message.text == "이용방법") { 42 else if(eventObj.message.text == "이용방법") {
42 chatUse(eventObj.replyToken); 43 chatUse(eventObj.replyToken);
43 } 44 }
44 - else if(eventObj.message.text == "오늘의 날씨는") { 45 + else if(eventObj.message.text == "오늘의 날씨는?") {
45 - PythonShell.run('weather_chat.py', options, function(err, results) { 46 + chatWeather(eventObj.replyToken);
46 - if(err) throw err;
47 - console.log('results: %j', results);
48 - });
49 } 47 }
50 else { 48 else {
51 chatWrong(eventObj.replyToken); 49 chatWrong(eventObj.replyToken);
...@@ -66,7 +64,7 @@ function chatInfo(replyToken){ ...@@ -66,7 +64,7 @@ function chatInfo(replyToken){
66 "messages":[ 64 "messages":[
67 { 65 {
68 "type":"text", 66 "type":"text",
69 - "text":"서울 지역의 날씨와 기온에 따른 옷차림새를 추천해줍니다." 67 + "text":"서울 지역의 오늘의 날씨와 기온에 따른 옷차림새를 추천해줍니다."
70 } 68 }
71 ] 69 ]
72 } 70 }
...@@ -87,7 +85,36 @@ function chatUse(replyToken){ ...@@ -87,7 +85,36 @@ function chatUse(replyToken){
87 "messages":[ 85 "messages":[
88 { 86 {
89 "type":"text", 87 "type":"text",
90 - "text":"오늘의 날씨는? 을 똑같이\n 입력해주시면 작동합니다." 88 + "text":"오늘의 날씨는? 을 똑같이\n입력해주시면 작동합니다."
89 + }
90 + ]
91 + }
92 + },(error, response, body) => {
93 + console.log(body)
94 + });
95 +}
96 +
97 +function chatWeather(replyToken){
98 + var PM = " ";
99 +
100 + pyshell.send('request')
101 + pyshell.on('message', function(data){
102 + console.log(data);
103 + PM = data;
104 + });
105 +
106 + request.post(
107 + {
108 + url: TARGET_URL,
109 + headers: {
110 + 'Authorization': `Bearer ${TOKEN}`
111 + },
112 + json: {
113 + "replyToken":replyToken,
114 + "messages":[
115 + {
116 + "type":"text",
117 + "text": PM
91 } 118 }
92 ] 119 ]
93 } 120 }
...@@ -108,7 +135,7 @@ function chatWrong(replyToken){ ...@@ -108,7 +135,7 @@ function chatWrong(replyToken){
108 "messages":[ 135 "messages":[
109 { 136 {
110 "type":"text", 137 "type":"text",
111 - "text":"잘못된 입력입니다.\n '이용방법' 혹은 '오늘의 날씨는?'을 입력해주세요." 138 + "text":"잘못된 입력입니다.\n'설명', '이용방법', '오늘의 날씨는?' \n중 하나를 입력해주세요."
112 } 139 }
113 ] 140 ]
114 } 141 }
......