/server.js

https://github.com/jajoosam/wikibot · JavaScript · 58 lines · 42 code · 16 blank · 0 comment · 6 complexity · 762d7ed8b9d1aaaec56fb4e73eab00bb MD5 · raw file

  1. var express = require('express');
  2. var app = express();
  3. var request = require('request');
  4. const bodyParser = require('body-parser');
  5. const accountSid = process.env.SID;
  6. const authToken = process.env.SID;
  7. const client = require('twilio')(accountSid, authToken);
  8. const MessagingResponse = require('twilio').twiml.MessagingResponse;
  9. app.use(express.static('public'));
  10. app.use(bodyParser.urlencoded({ extended: false }));
  11. app.post('/incoming', (req, res) => {
  12. const twiml = new MessagingResponse();
  13. if(req.body.Body.toLowerCase().trim()!="hi" && req.body.Body.toLowerCase().trim()!="hello" && req.body.Body.toLowerCase().trim()!="test" && req.body.Body.toLowerCase().trim()!="help"){
  14. request('https://api.duckduckgo.com/?skip_disambig=1&format=json&pretty=1&q='+req.body.Body, function (error, response, body) {
  15. body = JSON.parse(body)
  16. console.log('body:', body["Abstract"]);
  17. if(body["Abstract"] == ""){
  18. body["Abstract"]= body["RelatedTopics"][0]["Text"]
  19. }
  20. var msg = twiml.message(`*`+body["Heading"]+`*
  21. `+body["Abstract"]);
  22. res.writeHead(200, {'Content-Type': 'text/xml'});
  23. res.end(twiml.toString());
  24. });
  25. }
  26. else{
  27. var msg = twiml.message(`*Hey 👋*
  28. I am a bot which summarizes WikiPedia pages to help you find quick information, right within WhatsApp.
  29. Try it out - send me anything you want to know about`)
  30. res.writeHead(200, {'Content-Type': 'text/xml'});
  31. res.end(twiml.toString());
  32. }
  33. });
  34. app.post('/check', function(req, res) {
  35. console.log(req.body.Body)
  36. });
  37. app.get('/', function(request, response) {
  38. response.sendFile(__dirname + '/views/index.html');
  39. });
  40. var listener = app.listen(process.env.PORT, function() {
  41. console.log('Your app is listening on port ' + listener.address().port);
  42. });