Showing
1 changed file
with
53 additions
and
22 deletions
1 | - | ||
2 | var express = require("express"); | 1 | var express = require("express"); |
3 | var app = express(); | 2 | var app = express(); |
4 | const line = require('@line/bot-sdk'); | 3 | const line = require('@line/bot-sdk'); |
5 | var request = require('request'); | 4 | var request = require('request'); |
6 | var https=require('https'); | 5 | var https=require('https'); |
7 | var http=require('http'); | 6 | var http=require('http'); |
8 | -const lex = require('greenlock-express').create({ | 7 | + |
8 | +/* | ||
9 | +var fs = require("fs"); | ||
10 | + | ||
11 | +var httpsOptions = { | ||
12 | + key: fs.readFileSync('/etc/letsencrypt/live/oss.chatbot.bu.to/privkey.pem'), | ||
13 | + cert: fs.readFileSync('/etc/letsencrypt/live/oss.chatbot.bu.to/cert.pem') | ||
14 | +}; | ||
15 | + | ||
16 | +http.createServer(app).listen(80); | ||
17 | +https.createServer(httpsOptions, app).listen(443); | ||
18 | +*/ | ||
19 | +/* if ssl expired | ||
20 | +var greenlock= require('greenlock-express'); | ||
21 | +const lex = greenlock .create({ | ||
9 | version: 'draft-11', // 버전2 | 22 | version: 'draft-11', // 버전2 |
10 | store: require('greenlock-store-fs'), | 23 | store: require('greenlock-store-fs'), |
11 | configDir: '/etc/letsencrypt', // 또는 ~/letsencrypt/etc | 24 | configDir: '/etc/letsencrypt', // 또는 ~/letsencrypt/etc |
... | @@ -21,15 +34,11 @@ const lex = require('greenlock-express').create({ | ... | @@ -21,15 +34,11 @@ const lex = require('greenlock-express').create({ |
21 | }, | 34 | }, |
22 | renewWithin: 81 * 24 * 60 * 60 * 1000, | 35 | renewWithin: 81 * 24 * 60 * 60 * 1000, |
23 | renewBy: 80 * 24 * 60 * 60 * 1000, | 36 | renewBy: 80 * 24 * 60 * 60 * 1000, |
24 | -});//papago api | 37 | +});*/ |
38 | + | ||
39 | +//papago api | ||
25 | 40 | ||
26 | 41 | ||
27 | -https.createServer(lex.httpsOptions, lex.middleware(app)).listen((process.env.SSL_PORT || 443),()=>{ | ||
28 | - console.log("server on 443"); | ||
29 | -}); | ||
30 | -http.createServer(lex.middleware(require('redirect-https')())).listen(process.env.PORT || 80,()=>{ | ||
31 | - console.log("server on 80"); | ||
32 | -}); | ||
33 | //번역 api_url | 42 | //번역 api_url |
34 | var translate_api_url = 'https://openapi.naver.com/v1/papago/n2mt'; | 43 | var translate_api_url = 'https://openapi.naver.com/v1/papago/n2mt'; |
35 | 44 | ||
... | @@ -53,22 +62,31 @@ const client = new line.Client(config); | ... | @@ -53,22 +62,31 @@ const client = new line.Client(config); |
53 | 62 | ||
54 | // register a webhook handler with middleware | 63 | // register a webhook handler with middleware |
55 | // about the middleware, please refer to doc | 64 | // about the middleware, please refer to doc |
56 | -const vision = require('@google-cloud/vision'); | ||
57 | 65 | ||
58 | // Creates a client | 66 | // Creates a client |
59 | -const visionclient = new vision.ImageAnnotatorClient(); | 67 | +var vision = require('google-vision-api-client'); |
68 | + | ||
69 | +var requtil = vision.requtil; | ||
70 | + | ||
71 | + | ||
72 | + | ||
73 | +//Prepare your service account from trust preview certificated project | ||
74 | + | ||
75 | +var jsonfile = '/home/ubuntu/a/LINEBOT/googlevisionapikey'; | ||
60 | 76 | ||
61 | -/** | ||
62 | - * TODO(developer): Uncomment the following line before running the sample. | ||
63 | - */ | ||
64 | -// const fileName = 'Local image file, e.g. /path/to/image.png'; | ||
65 | 77 | ||
66 | -// Performs text detection on the local file | ||
67 | -const [result] = await visionclient.textDetection('/home/ubuntu/a/LINEBOT/photo/Fancy-TWICE.jpg'); | ||
68 | -const detections = result.textAnnotations; | ||
69 | -console.log('Text:'); | ||
70 | -detections.forEach(text => console.log(text)); | ||
71 | 78 | ||
79 | +//Initialize the api | ||
80 | + | ||
81 | +vision.init(jsonfile); | ||
82 | + | ||
83 | + | ||
84 | + | ||
85 | +//Build the request payloads | ||
86 | +var d = requtil.createRequests().addRequest( | ||
87 | +requtil.createRequest('/home/ubuntu/a/LINEBOT/photo/Fancy=TWICE.jpg') | ||
88 | +.withFeature('Optical Character Recognition', 3) | ||
89 | +.build()); | ||
72 | //Do query to the api server | 90 | //Do query to the api server |
73 | vision.query(d, function(e, r, d){ | 91 | vision.query(d, function(e, r, d){ |
74 | if(e) console.log('ERROR:', e); | 92 | if(e) console.log('ERROR:', e); |
... | @@ -77,6 +95,9 @@ if(e) console.log('ERROR:', e); | ... | @@ -77,6 +95,9 @@ if(e) console.log('ERROR:', e); |
77 | 95 | ||
78 | 96 | ||
79 | 97 | ||
98 | + | ||
99 | + | ||
100 | + | ||
80 | app.post('/webhook', line.middleware(config), (req, res) => { | 101 | app.post('/webhook', line.middleware(config), (req, res) => { |
81 | Promise | 102 | Promise |
82 | .all(req.body.events.map(handleEvent)) | 103 | .all(req.body.events.map(handleEvent)) |
... | @@ -87,10 +108,18 @@ app.post('/webhook', line.middleware(config), (req, res) => { | ... | @@ -87,10 +108,18 @@ app.post('/webhook', line.middleware(config), (req, res) => { |
87 | // event handler | 108 | // event handler |
88 | function handleEvent(event) { | 109 | function handleEvent(event) { |
89 | console.log(event.message); | 110 | console.log(event.message); |
90 | - if (event.type !== 'message' || event.message.type !== 'text') { | 111 | + |
91 | - // ignore non-text-message event | 112 | + |
113 | + if (event.type !== 'message' && (event.message.type !== 'text'||event.message.type !== 'image')) { | ||
114 | + // ignore non-message event | ||
92 | return Promise.resolve(null); | 115 | return Promise.resolve(null); |
93 | } | 116 | } |
117 | + else if(event.type == 'message' && event.message.type == 'image') | ||
118 | + { | ||
119 | + | ||
120 | + } | ||
121 | + else if(event.type == 'message' && event.message.type == 'text') | ||
122 | + { | ||
94 | return new Promise(function(resolve, reject) { | 123 | return new Promise(function(resolve, reject) { |
95 | //언어 감지 option | 124 | //언어 감지 option |
96 | var detect_options = { | 125 | var detect_options = { |
... | @@ -155,4 +184,6 @@ function handleEvent(event) { | ... | @@ -155,4 +184,6 @@ function handleEvent(event) { |
155 | 184 | ||
156 | }); | 185 | }); |
157 | } | 186 | } |
187 | + } | ||
188 | + | ||
158 | 189 | ... | ... |
-
Please register or login to post a comment