Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.81 KB | None | 0 0
  1. app.get('/smssent', function(req, res, callback) {
  2. var message = req.query.Body;
  3. var number = req.query.From;
  4. var twilioNumber = req.query.To;
  5.  
  6. var context = null;
  7. var index = 0;
  8. var contextIndex = 0;
  9. contexts.forEach(function(value)
  10. {
  11. console.log(value.from);
  12. if (value.from == number)
  13. {
  14. context = value.context;
  15. contextIndex = index;
  16. }
  17. index = index + 1;
  18. });
  19.  
  20. console.log('Recieved message from ' + number + ' saying '' + message + ''');
  21.  
  22. var conversation = new ConversationV1({
  23. username: '77eaca2f-21d9-4921-970a-c61543dd2dd4',
  24. password: 'L6FTdKjnHqh1',
  25. version_date: ConversationV1.VERSION_DATE_2016_09_20
  26. });
  27.  
  28. //console.log(JSON.stringify(context));
  29. //console.log(contexts.length);
  30.  
  31. conversation.message({
  32. input: { text: message },
  33. workspace_id: '3af8e4c2-930d-4ff5-86c5-28031c9f1e8f',
  34. context: context
  35. }, function(err, response) {
  36. if (err) {
  37. console.error(err);
  38. } else {
  39. var answer = response.output.text[0];
  40.  
  41. if (context == null) {
  42. contexts.push({'from': number, 'context': response.context});
  43. } else {
  44. contexts[contextIndex].context = response.context;
  45. }
  46.  
  47. var intent = response.intents[0].intent;
  48. console.log(intent);
  49. if (intent == "done") {
  50. //contexts.splice(contexts.indexOf({'from': number, 'context': response.context}),1);
  51. contexts.splice(contextIndex,1);
  52. // Call REST API here (order pizza, etc.)
  53. }
  54.  
  55. var client = require('twilio')(
  56. 'ACd10b0a1297a7e73e7d7c633214f7fc95',
  57. '28a647a13b3d5524e1fa2caff79c7f7b'
  58. );
  59.  
  60. client.messages.create({
  61. from: twilioNumber,
  62. to: number,
  63. body: response.output.text[0]
  64. }, function(err, message) {
  65. if(err) {
  66. console.error(err.message);
  67. }
  68. });
  69. }
  70. });
  71.  
  72. res.send('');
  73. });
  74.  
  75. router.post('/app', function(req, res, next) {
  76. if (req.body.number &&
  77. req.body.message &&
  78. req.body.answer
  79. ) {
  80. // create object with form input
  81. var messageData = {
  82. number: req.body.number,
  83. message: req.body.message,
  84. answer: req.body.answer
  85. };
  86.  
  87. // use schema's `create` method to insert document into Mongo
  88. Message.create(messageData, function (error, message) {
  89. if (error) {
  90. return next(error);
  91. } else {
  92. return res.redirect('/');
  93. }
  94. });
  95.  
  96. } else {
  97. var err = new Error('All fields required.');
  98. err.status = 400;
  99. return next(err);
  100. }
  101. });
  102.  
  103. var mongoose = require('mongoose');
  104. var bcrypt = require('bcryptjs');
  105.  
  106. var MessageSchema = new mongoose.Schema({
  107. number: {
  108. type: String,
  109. required: true,
  110. trim: true
  111. },
  112. message: {
  113. type: String,
  114. required: true,
  115. trim: true
  116. },
  117. answer: {
  118. type: String,
  119. required: true,
  120. trim: true
  121. }
  122. });
  123. var Message = mongoose.model('Message', MessageSchema);
  124. module.exports = Message;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement