File size: 1,925 Bytes
59485cb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
exports.name = '/sim';
exports.index = async (req, res, next) => {
const fs = require('fs');
const dataSim = require('./data/data.json');
const stringSimilarity = require('string-similarity');
if(!req.query.type) return res.json({ error: 'thiếu dữ liệu để khởi chạy '})
if(req.query.type == 'ask') {
  var ask = encodeURI(req.query.ask)
  if (!ask) return res.jsonp({ error: 'thiếu dữ liệu để khởi chạy chương trình' });
  var msg = [];
  for (let id of dataSim) { 
      const data = id.ask
      msg.push(data)
  }
  
  var checker = stringSimilarity.findBestMatch(decodeURI(ask), msg)
  if (checker.bestMatch.rating >= 0.5) {
  var search = checker.bestMatch.target;
  }
  if(search == undefined) return res.jsonp({
      answer: 'Em hong hiểu gì hết!!!'
  })
  function recoverKey() {
      var data = dataSim.filter(i => i.ask.toLowerCase() == search.toLowerCase())
      return data
  }
  var find = recoverKey()
  var f2 = find[Math.floor(Math.random() * find.length)];
  var a = f2.ans[Math.floor(Math.random() * f2.ans.length)];
    return res.jsonp({
      answer: a
  })
}
if(req.query.type == 'teach') {
    const path = require('path').join(__dirname, 'data', 'data.json');
    var id = dataSim.length
    var ask = req.query.ask
    var ans = req.query.ans
    if(!ask || !ans) return res.json({ error: 'thiếu dữ liệu để thực thi lệnh' });
    var f = dataSim.find(i => i.ask == ask);
    console.log(f)
    if(f != undefined) {
      if(f.ans.includes(ans)) return res.json({ error: 'Câu trả lời đã tồn tại!'})
      f.ans.push(ans);
    }
    else {
      dataSim.push({
        id,
        ask,
        ans: [
          ans
        ]
      })
    }
    fs.writeFileSync(path, JSON.stringify(dataSim, null, 2), 'utf-8');
    return res.json({ 
      msg: 'Dạy sim thành công',
      data: {
        ask: ask,
        ans: ans
      }
    })
  } 
}