Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- app.get('/smssent', function(req, res, callback) {
- var message = req.query.Body;
- var number = req.query.From;
- var twilioNumber = req.query.To;
- var context = null;
- var index = 0;
- var contextIndex = 0;
- contexts.forEach(function(value)
- {
- console.log(value.from);
- if (value.from == number)
- {
- context = value.context;
- contextIndex = index;
- }
- index = index + 1;
- });
- console.log('Recieved message from ' + number + ' saying '' + message + ''');
- var conversation = new ConversationV1({
- username: '77eaca2f-21d9-4921-970a-c61543dd2dd4',
- password: 'L6FTdKjnHqh1',
- version_date: ConversationV1.VERSION_DATE_2016_09_20
- });
- //console.log(JSON.stringify(context));
- //console.log(contexts.length);
- conversation.message({
- input: { text: message },
- workspace_id: '3af8e4c2-930d-4ff5-86c5-28031c9f1e8f',
- context: context
- }, function(err, response) {
- if (err) {
- console.error(err);
- } else {
- var answer = response.output.text[0];
- if (context == null) {
- contexts.push({'from': number, 'context': response.context});
- } else {
- contexts[contextIndex].context = response.context;
- }
- var intent = response.intents[0].intent;
- console.log(intent);
- if (intent == "done") {
- //contexts.splice(contexts.indexOf({'from': number, 'context': response.context}),1);
- contexts.splice(contextIndex,1);
- // Call REST API here (order pizza, etc.)
- }
- var client = require('twilio')(
- 'ACd10b0a1297a7e73e7d7c633214f7fc95',
- '28a647a13b3d5524e1fa2caff79c7f7b'
- );
- client.messages.create({
- from: twilioNumber,
- to: number,
- body: response.output.text[0]
- }, function(err, message) {
- if(err) {
- console.error(err.message);
- }
- });
- }
- });
- res.send('');
- });
- router.post('/app', function(req, res, next) {
- if (req.body.number &&
- req.body.message &&
- req.body.answer
- ) {
- // create object with form input
- var messageData = {
- number: req.body.number,
- message: req.body.message,
- answer: req.body.answer
- };
- // use schema's `create` method to insert document into Mongo
- Message.create(messageData, function (error, message) {
- if (error) {
- return next(error);
- } else {
- return res.redirect('/');
- }
- });
- } else {
- var err = new Error('All fields required.');
- err.status = 400;
- return next(err);
- }
- });
- var mongoose = require('mongoose');
- var bcrypt = require('bcryptjs');
- var MessageSchema = new mongoose.Schema({
- number: {
- type: String,
- required: true,
- trim: true
- },
- message: {
- type: String,
- required: true,
- trim: true
- },
- answer: {
- type: String,
- required: true,
- trim: true
- }
- });
- var Message = mongoose.model('Message', MessageSchema);
- module.exports = Message;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement