2016-07-29 18 views
6

Dưới đây là mã của tôi chạy trên nodeJS máy chủ, tôi đang cố gắng để send an SMS message ngay sau khi sự kiện 'child_added' được kích hoạtLàm thế nào để chuyển biến từ bên ngoài hàm số tới một sự kiện căn cứ hỏa lực

// 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); 
}); 

Dưới đây là trường hợp được kích hoạt ngay sau khi một đứa trẻ được thêm vào firebase database, tôi muốn gọi hàm TWILIO (được hiển thị ở trên) ngay sau khi sự kiện bên dưới được kích hoạt và cũng chuyển cho nó biến số điện thoại di động từ hàm bên dưới.

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

Bạn có thể lập bản đồ một chút về chính xác những gì bạn cần, tôi không biết twilio hoạt động như thế nào hoặc ý bạn là gì bởi firebase. Việc chuyển giá trị đơn giản như nó nhận được với một tham số, tôi không thấy vấn đề? – Dellirium

+0

Trình xử lý sự kiện nằm ở đâu? Cùng một tập tin như twilio yêu cầu ở trên? – 10100111001

+0

@Dellirium Tôi đã đơn giản hóa câu hỏi của mình, Firebase là cơ sở dữ liệu thời gian thực từ Google và Twilio cung cấp cho nhà phát triển gửi SMS bằng API của họ. – kurrodu

Trả lời

5

Nếu hai hoạt động nằm trong cùng một tập tin bạn chỉ có thể quấn Twilio cuộc gọi trong một hàm và gọi nó từ bên trong hoạt động Firebase như vậy ...

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!"); 
}); 

Nếu hoạt động Twilio là trong một tập tin khác nhau, bạn có thể xuất nó và đòi hỏi nơi bạn sử dụng 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

Hey m_callens, đánh giá cao sự giúp đỡ của bạn trong cộng đồng được gắn thẻ Twilio. Tôi có thể gửi cho bạn một chiếc áo để nói lời cảm ơn không? Gửi email đến [email protected] để biết chi tiết. –

Các vấn đề liên quan