최원섭

[Develop] Translate Language Upgrade

...@@ -17,68 +17,153 @@ app.post('/', function(req, res) { ...@@ -17,68 +17,153 @@ app.post('/', function(req, res) {
17 content: req.body.content 17 content: req.body.content
18 }; 18 };
19 19
20 - console.log(_obj.content) 20 + if(_obj.content.charAt(0) == '/'){
21 - 21 + if(_obj.content == '/설정'){
22 - if(_obj.content == '/시작'){ 22 + res.set('content-type', 'application/json');
23 - res.set('content-type', 'application/json'); 23 + res.json({
24 - res.json({
25 - "message": {
26 - "text": "언어를 설정하고 싶으면 /설정 이라고 타이핑 해주세요"
27 - },
28 - "keyboard": {
29 - "type": "text"
30 - }
31 - });
32 - }
33 -else{
34 - // Naver Papago Translate
35 - var options = {
36 - url: api_url,
37 - // 한국어(source : ko), 영어(target: en), 카톡에서 받는 메시지(text)
38 - form: {'source':'ko', 'target':'en', 'text':req.body.content},
39 - headers: {'X-Naver-Client-Id': client_id, 'X-Naver-Client-Secret': client_secret}
40 - };
41 -console.log('aa');
42 - // Naver Post API
43 - request.post(options, function(error, response, body){
44 - // Translate API Sucess
45 - if(!error && response.statusCode == 200){
46 - // JSON
47 - var objBody = JSON.parse(response.body);
48 - // Message 잘 찍히는지 확인
49 - console.log(objBody.message.result.translatedText);
50 -
51 - // Kakao Message API
52 - let massage = {
53 "message": { 24 "message": {
54 - // Naver API Translate 결과를 Kakao Message 25 + "text": "언어를 선택하세요"
55 - "text": objBody.message.result.translatedText
56 }, 26 },
57 - }; 27 + "keyboard": {
58 - 28 + "type": "buttons",
59 - // Kakao Message API 전송 29 + "buttons": [
60 - res.set({ 30 + "/한국어 -> 영어",
61 - 'content-type': 'application/json' 31 + "/한국어 -> 일본어",
62 - }).send(JSON.stringify(massage)); 32 + "/한국어 -> 중국어",
63 - }else{ 33 + "/영어 -> 한국어",
64 - // Naver Message Error 발생 34 + "/일본어 -> 한국어",
65 - res.status(response.statusCode).end(); 35 + "/중국어 -> 한국어"
66 - console.log('error = ' + response.statusCode); 36 + ]
67 - 37 + }
68 - let massage = { 38 + });
39 + }else if(_obj.content == '/시작'){
40 + res.json({
69 "message": { 41 "message": {
70 - "text": response.statusCode 42 + "text": "언어를 설정하고 싶으면 /설정 이라고 타이핑 해주세요"
71 }, 43 },
44 + "keyboard": {
45 + "type": "text"
46 + }
47 + });
48 + }else if((obj.content == '/한국어 -> 영어') ||
49 + (obj.content == '/한국어 -> 일본어') ||
50 + (obj.content == '/한국어 -> 중국어') ||
51 + (obj.content == '/영어 -> 한국어') ||
52 + (obj.content == '/일본어 -> 한국어')||
53 + (obj.content == '중국어 -> 한국어')){
54 + var s1 = choiceLanguage(content.split("/")[1].split("->")[0]);
55 + var t1 = choiceLanguage(content.split("/")[1].split("->")[1]);
56 + var options = {
57 + url: api_url,
58 + // 한국어(source : ko), 영어(target: en), 카톡에서 받는 메시지(text)
59 + form: {'source':s1, 'target':t1, 'text':req.body.content},
60 + headers: {'X-Naver-Client-Id': client_id, 'X-Naver-Client-Secret': client_secret}
61 + };
62 + // Naver Post API
63 + request.post(options, function(error, response, body){
64 + // Translate API Sucess
65 + if(!error && response.statusCode == 200){
66 + // JSON
67 + var objBody = JSON.parse(response.body);
68 + // Message 잘 찍히는지 확인
69 + console.log(objBody.message.result.translatedText);
70 + // Kakao Message API
71 + let massage = {
72 + "message": {
73 + // Naver API Translate 결과를 Kakao Message
74 + "text": objBody.message.result.translatedText
75 + },
76 + };
77 + // Kakao Message API 전송
78 + res.set({
79 + 'content-type': 'application/json'
80 + }).send(JSON.stringify(massage));
81 + }else{
82 + // Naver Message Error 발생
83 + res.status(response.statusCode).end();
84 + console.log('error = ' + response.statusCode);
85 +
86 + let massage = {
87 + "message": {
88 + "text": response.statusCode
89 + },
90 + };
91 + // Kakao에 Error Message
92 + res.set({
93 + 'content-type': 'application/json'
94 + }).send(JSON.stringify(massage));
95 + }
96 + });
97 + }else{
98 + res.set('content-type', 'application/json');
99 + res.json({
100 + "message": {
101 + "text": "/기호가 들어간 명령어는 사용할 수 없습니다."
102 + }
103 + });
104 + }
105 + }else{
106 + // Naver Papago Translate
107 + var options = {
108 + url: api_url,
109 + // 한국어(source : ko), 영어(target: en), 카톡에서 받는 메시지(text)
110 + form: {'source':'ko', 'target':'en', 'text':req.body.content},
111 + headers: {'X-Naver-Client-Id': client_id, 'X-Naver-Client-Secret': client_secret}
72 }; 112 };
113 + // Naver Post API
114 + request.post(options, function(error, response, body){
115 + // Translate API Sucess
116 + if(!error && response.statusCode == 200){
117 + // JSON
118 + var objBody = JSON.parse(response.body);
119 + // Message 잘 찍히는지 확인
120 + console.log(objBody.message.result.translatedText);
121 +
122 + // Kakao Message API
123 + let massage = {
124 + "message": {
125 + // Naver API Translate 결과를 Kakao Message
126 + "text": objBody.message.result.translatedText
127 + },
128 + };
129 +
130 + // Kakao Message API 전송
131 + res.set({
132 + 'content-type': 'application/json'
133 + }).send(JSON.stringify(massage));
134 + }else{
135 + // Naver Message Error 발생
136 + res.status(response.statusCode).end();
137 + console.log('error = ' + response.statusCode);
73 138
74 - // Kakao에 Error Message 139 + let massage = {
75 - res.set({ 140 + "message": {
76 - 'content-type': 'application/json' 141 + "text": response.statusCode
77 - }).send(JSON.stringify(massage)); 142 + },
143 + };
144 +
145 + // Kakao에 Error Message
146 + res.set({
147 + 'content-type': 'application/json'
148 + }).send(JSON.stringify(massage));
149 + }
150 + });
78 } 151 }
79 - });
80 -}
81 }); 152 });
82 153
83 -module.exports = app; 154 +function choiceLanguage(str) {
155 + if (str == "영어")
156 + return "en";
157 + else if (str == "한국어") {
158 + console.log(str);
159 + return "ko";
160 + }
161 + else if (str == "일본어")
162 + return "ja";
163 + else if (str == "중국어(간체)")
164 + return "zh-CN";
165 + else
166 + return "ko";
167 +}
84 168
169 +module.exports = app;
......