2016-07-29 17 views
6

नीचे करने के लिए एक चर पारित करने के लिए मेरे कोड NodeJS सर्वर पर चल रहा है, मैं send an SMS message कोशिश कर रहा हूँ जैसे ही 'child_added' घटनाकैसे समारोह बाहर से एक firebase घटना

// Twilio Credentials 
var accountSid = '<AccountSid>'; 
var authToken = '<authToken>'; 


var twilio = require("twilio"); 
var client = new twilio.RestClient(accountSid, authToken); 

// TWILIO Function 
client.messages.create({ 
    to: "+12432056980", // This need to be obtained from firebase 
    from: "+14352058756", 
    body: "Hey There! Good luck on the bar exam!" 
}, function(err, message) { 
    console.log(message.sid); 
}); 

नीचे शुरू हो रहा है घटना है कि जैसे ही बच्चे को firebase database में जोड़ा जाता है, मैं ट्रिगर हो जाता हूं, जैसे ही नीचे दी गई घटना ट्रिगर होती है और नीचे दिए गए फ़ंक्शन से मोबाइल नंबर वैरिएबल को पास करता है, जैसे ही मैं TWILIO फ़ंक्शन (ऊपर दिखाया गया) को कॉल करना चाहता हूं।

ref.limitToFirst(1).on('child_added', function(snapshot) { // This function triggers the event when a new child is added 
    var userDetails = snapshot.val(); 
    var mobileNumber = userDetails.mobileNumber; 

    //*** I would like to call the TWILIO CODE at this point and pass it the 'mobileNumber' parameter 

}); 
+0

क्या आप वास्तव में क्या करना चाहते हैं उस पर थोड़ा सा बता सकते हैं, मुझे नहीं पता कि ट्विलियो कैसे काम करता है या फायरबेस द्वारा आपका क्या मतलब है। मान को पास करना उतना आसान है जितना कि पैरामीटर के साथ मिलता है, मुझे समस्या नहीं दिखाई दे रही है? – Dellirium

+0

इवेंट हैंडलर कहां स्थित है? Twilio के रूप में वही फ़ाइल ऊपर की आवश्यकता है? – 10100111001

+0

@ डेलीरियम मैंने अपने प्रश्न को सरल बना दिया है, फायरबेस Google से रीयलटाइम डेटाबेस है और ट्विलियो डेवलपर्स को उनके एपीआई का उपयोग करके एसएमएस भेजने के लिए प्रदान करता है। – kurrodu

उत्तर

5

दो आपरेशन एक ही फ़ाइल में हैं, तो आप सिर्फ एक समारोह में Twilio कॉल लपेट और यह Firebase आपरेशन तो जैसे भीतर से कॉल कर सकते हैं ...

function sendSMS(dest, msg) { 
    client.messages.create({ 
     to: dest, 
     from: "+14352058756", 
     body: msg 
    }, function(err, message) { 
     console.log(message.sid); 
    }); 
} 

ref.limitToFirst(1).on('child_added', function(snapshot) { 
    var userDetails = snapshot.val(); 
    var mobileNumber = userDetails.mobileNumber; 

    sendSMS(mobileNumber, "Hey There! Good luck on the bar exam!"); 
}); 

Twilio आपरेशन हैं एक अलग फाइल में है, तो आप इसे निर्यात और की आवश्यकता होती है, जहां आप उपयोग कर सकते हैं Firebase

//twiliofile.js 
module.exports.sendSMS = function(dest, msg) { 
    client.messages.create({ 
     to: dest, 
     from: "+14352058756", 
     body: msg 
    }, function(err, message) { 
     console.log(message.sid); 
    }); 
} 

-

//firebasefile.js 
var sms = require('./twiliofile.js'); 

ref.limitToFirst(1).on('child_added', function(snapshot) { 
    var userDetails = snapshot.val(); 
    var mobileNumber = userDetails.mobileNumber; 

    sms.sendSMS(mobileNumber, "Hey There! Good luck on the bar exam!"); 
}); 
+0

हे m_callens की संपत्ति 'संदेश' नहीं पढ़ सकता, Twilio टैग किए गए समुदाय में आपकी सहायता की सराहना करते हैं। क्या मैं धन्यवाद कहने के लिए आपको एक शर्ट भेज सकता हूं? विवरण के लिए [email protected] पर एक ईमेल भेजें। –

संबंधित मुद्दे