papago_api.js
1.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
const config = require('../config/config')
const request = require('request');
const PAPAGO_URL = 'https://openapi.naver.com/v1/papago/n2mt'
const dPAPAGO_URL = 'https://openapi.naver.com/v1/papago/detectLangs'
const PAPAGO_ID = process.env.PAPAGO_ID
const PAPAGO_SECRET = process.env.PAPAGO_SECRET
exports.trans = (message, lang, io, room) => {
request.post(
{
url: PAPAGO_URL,
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'X-Naver-Client-Id': `${PAPAGO_ID}`,
'X-Naver-Client-Secret': `${PAPAGO_SECRET}`
},
body: `source=${lang}&target=ko&text=` + message,
json:true
},(error, response, body) => {
if(!error && response.statusCode == 200) {
var Translated = body.message.result.translatedText;
io.to(room).emit('chat message', "trans", Translated);
}
});
}
exports.detect = (message,io,room) => {
request.post(
{
url: dPAPAGO_URL,
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'X-Naver-Client-Id': `${PAPAGO_ID}`,
'X-Naver-Client-Secret': `${PAPAGO_SECRET}`
},
body: `query=` + message,
json:true
},(error, response, body) => {
if(!error && response.statusCode == 200) {
var lang = body.langCode;
if(lang != 'ko'){
this.trans(message,lang,io,room)
}
}
});
}