Advertisement
Guest User

test

a guest
Dec 12th, 2017
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const express = require('express');
  2. const bodyParser = require('body-parser');
  3. const request = require('request');
  4. const request1 = require('request');
  5. const ConversationV1 = require('watson-developer-cloud/conversation/v1');
  6. const app = express();
  7. var ch1='';
  8. var patienter = false;
  9. app.use(bodyParser.json());
  10. app.use(bodyParser.urlencoded({ extended: true }));
  11.  
  12.  
  13. var contexts = [] ;
  14.  
  15.  
  16. const server = app.listen(process.env.PORT || 5000, () => {
  17.   console.log('Express server listening on port %d in %s mode', server.address().port, app.settings.env);
  18. });
  19.  
  20. /* For Facebook Validation */
  21. app.get('/webhook', (req, res) => {
  22.   if (req.query['hub.mode'] && req.query['hub.verify_token'] === 'balsem') {
  23.     res.status(200).send(req.query['hub.challenge']);
  24.   } else {
  25.     res.status(403).end();
  26.   }
  27. });
  28.  
  29. /* Handling all messenges */
  30. app.post('/webhook', (req, res) => {
  31.   console.log(req.body);
  32.   if (req.body.object === 'page') {
  33.     req.body.entry.forEach((entry) => {
  34.       entry.messaging.forEach((event) => {
  35.         if (event.message && event.message.text) {
  36.           getWatson(event);
  37.         }
  38.       });
  39.     });
  40.     res.status(200).end();
  41.   }
  42. });
  43.  
  44.  
  45. function getWatson(event) {
  46.     var number= event.sender.id;
  47.     var message = event.message.text;
  48.    
  49.     var context =null;
  50.     var index =0;
  51.     var contextIndex = 0;
  52.     contexts.forEach(function(value) {
  53.         console.log(value.from);
  54.         if (value.from == number){
  55.             context =value.context;
  56.             contextIndex = index;
  57.         }
  58.         index = index +1;
  59.     });
  60.  
  61. console.log('Recieved message from '+number+ 'saying\''+message +'\'');
  62.  
  63. var conversation =new ConversationV1({
  64.     username: '09294e9c-0a47-4276-8867-2566034ae257',
  65.     password: 'a76o2CJf00kE',
  66.     version_date: ConversationV1.VERSION_DATE_2017_05_26
  67.  
  68. });
  69.  
  70.   console.log(JSON.stringify(context));
  71.   console.log(contexts.length);
  72.  
  73.   conversation.message({
  74.       input: { text: message },
  75.       workspace_id :'16e538b7-a045-4418-b612-dffe3c93d141',
  76.       context: context
  77.   },function(err ,response){
  78.       if (err) {
  79.           console.error(err);
  80.          
  81.       } else{ if (response.output.text[0]=='solde*') {
  82.         patienter == true;
  83.          // patienter = true;
  84.     //   response.output.text[0]= 'Vous pouvez consulter ce lien ;)  http://192.168.8.196:8080/ia31-jee1-web/'+number+'';
  85.               //response.output.text[0]= 'hello 111111!!!!!!!!!!';
  86.  
  87.              request1('http://192.168.7.88:8080/ia31-jee1-web/ClientId', function (error, response1, body) {
  88.     if (!error && response1.statusCode == 200) {
  89.         console.log(body+'MMM');// Print the google web page.
  90.         ch1 ='';
  91.         ch1=body.toString();
  92.         console.log('fromIf'+ch1);
  93.         //JSON.stringify(body);
  94.                 request({
  95.         url: 'https://graph.facebook.com/v2.6/me/messages',
  96.         qs: { access_token: 'EAAFvJXT0ZC08BABI8LvNrxGDUivAfaqvVwob7Gygibqtqe3qo2Ays0sdZAUkXyrmJhCW5JfE0YAZA8iltUlRcrZACXr5VjXlOAfCxaMC72slWfsaOM1l3E8QsqBnshgwceM42h4khC8hGnTBc4XP0mE6Q77BP1rOqw5XvYxCBQZDZD'},
  97.         method: 'POST',
  98.         json: {
  99.             recipient: {id: number},
  100.             message: {text: ch1}
  101.         }
  102.     }, function (error, response) {
  103.         if (error) {
  104.             console.log('Error sending message: ', error);
  105.         } else if (response.body.error) {
  106.              console.log('Error: ', response.body.error);
  107.         }
  108.     });
  109.    
  110.      }
  111.            
  112.      
  113.      
  114. });
  115.              
  116.          
  117.        
  118.         }
  119.        
  120.        
  121.        
  122.        
  123.        
  124.        
  125.        
  126.       else {
  127.           patienter = false;
  128.           console.log('rahou jawib:',response.output.text[0]);
  129.           if(context == null) {
  130.               contexts.push({'from': number , 'context': response.context});
  131.           }else {
  132.               contexts[contextIndex].context =response.context;
  133.           }}
  134.          
  135.           var intent =response.intents[0].intent;
  136.           console.log(intent);
  137.           if(intent =="done"){
  138.               contexts.splice(contexts.indexOf({'from':number ,'context': response.context}),1);
  139.                  // contexts.splice(contextIndex,1);
  140.           }
  141.           if(patienter == false){
  142.         request({
  143.         url: 'https://graph.facebook.com/v2.6/me/messages',
  144.         qs: { access_token: 'EAAFvJXT0ZC08BABI8LvNrxGDUivAfaqvVwob7Gygibqtqe3qo2Ays0sdZAUkXyrmJhCW5JfE0YAZA8iltUlRcrZACXr5VjXlOAfCxaMC72slWfsaOM1l3E8QsqBnshgwceM42h4khC8hGnTBc4XP0mE6Q77BP1rOqw5XvYxCBQZDZD'},
  145.         method: 'POST',
  146.         json: {
  147.             recipient: {id: number},
  148.             message: {text: response.output.text[0]}
  149.         }
  150.     }, function (error, response) {
  151.         if (error) {
  152.             console.log('Error sending message: ', error);
  153.         } else if (response.body.error) {
  154.              console.log('Error: ', response.body.error);
  155.         }
  156.     });
  157.       }
  158.  
  159.      
  160.   }  
  161.  //}
  162.   });
  163. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement