app.js 1.56 KB
const express = require('express');
const cheerio = require('cheerio');
const fs = require('fs');
const path = require('path');
const HTTPS = require('https');
const domain = "2020105107.osschatbot.cf"
const sslport = 23023;
const app = express();

app.use(express.urlencoded({ extended: false }));
app.use(express.json());

app.post('/message', (req, res) => {
  const question = req.body.userRequest.utterance;
  const goMain = '처음으로';
  var data;
  
  if (question == "서울캠퍼스") {
    data = {
      'version': '2.0',
      'template': {
	        'outputs': [{
	         'simpleImage': {
	          'imageUrl': "https://coop.khu.ac.kr/wp-content/uploads/2021/11/20211129-1301x2048.png",
            'altText' : "서울캠퍼스 식단입니다." 
	         } 
	       }],
	        'quickReplies': [{
	         'label': goMain,
	         'action': 'message',
	         'messageText': goMain
	       }]
      }
    }
  }
  res.json(data);
});

try {
  const option = {
    ca: fs.readFileSync('/etc/letsencrypt/live/' + domain +'/fullchain.pem'),
    key: fs.readFileSync(path.resolve(process.cwd(), '/etc/letsencrypt/live/' + domain +'/privkey.pem'), 'utf8').toString(),
    cert: fs.readFileSync(path.resolve(process.cwd(), '/etc/letsencrypt/live/' + domain +'/cert.pem'), 'utf8').toString(),
  };

  HTTPS.createServer(option, app).listen(sslport, () => {
    console.log(`[HTTPS] Server is started on port ${sslport}`);
  });
} catch (error) {
  console.log('[HTTPS] HTTPS 오류가 발생하였습니다. HTTPS 서버는 실행되지 않습니다.');
  console.log(error);
}