फेसबुक नोड js साथ messeger बॉट एपीआई से अधिक जवाबों भेजता है

वोट
3

मैं संदेश बॉट एपीआई के साथ एक त्रुटि हो रहा है। किसी कारण से यह एक निश्चित उपयोगकर्ता के लिए संदेशों की एक समय में 20 जैसे कई सक्रिय करता है। मैं नोड पर Heroku उपयोग कर रहा हूँ। मैं सुराग क्यों यह यह कर रहा है नहीं है? कोई भी सहायताकाफी प्रशंसनीय होगी। यहाँ

use strict;
var express = require(express);
var app = express();
var bodyParser = require('body-parser');
var request = require('request');

app.use(bodyParser.json());

app.get('/', function(req, res){

   res.send('hello'); 

});


app.get('/webhook', function (req, res) {
    if (req.query['hub.verify_token'] === 'my_voice_is_my_password_verify_me') {
        res.send(req.query['hub.challenge'])
    }
    res.send('Error, wrong token')
})
app.post('/webhook', function (req, res) {
    let messaging_events = req.body.entry[0].messaging;
    for (let i = 0; i < messaging_events.length; i++) {
        let event = req.body.entry[0].messaging[i]
        let sender = event.sender.id
        if (event.message && event.message.text) {
            let text = event.message.text
            sendTextMessage(sender, Text received, echo:  + text.substring(0, 200))
        }
    }
    res.sendStatus(200)
})

function sendTextMessage(sender, text) {
    let messageData = { text:text }
    request({
        url: 'https://graph.facebook.com/v2.6/me/messages',
        qs: {access_token: process.env.PAGE_ACCESS_TOKEN},
        method: 'POST',
        json: {
            recipient: {id:sender},
            message: messageData,
        }
    }, function(error, response, body) {
        if (error) {
            console.log('Error sending messages: ', error)
        } else if (response.body.error) {
            console.log('Error: ', response.body.error)
        }
    })
}







app.listen(process.env.PORT || 8080);
24/06/2016 को 01:58
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
1

यह शायद मैसेंजर के ग्राहक में एक बग है। वे Android एप्लिकेशन के साथ मुद्दों का एक बहुत कुछ कर रहे हैं। चेक इस बग और इस बग

मैं तुम्हें एक का उपयोग करने की सलाह देते दर सीमक , अधिकतम प्रति सेकंड 1 अनुरोध उदाहरण के लिए - - एक कम सीमा के साथ इस मुद्दे को हल करने के लिए। यह भी भविष्य में मैसेंजर के ग्राहकों में संभव कीड़े नहीं कर पाएगा। या फिर आप उन्हें ग्राहकों में समस्या को हल करने के लिए, लेकिन यह ध्यान रखें कि किसी पुराने संस्करण के साथ उपयोगकर्ताओं को अपने बॉट के लिए मुसीबत का कारण होगा के लिए प्रतीक्षा कर सकते हैं।

इसके अलावा, विचार है कि आप अपने संदेश की घटनाओं में प्रसव रसीदें प्राप्त कर सकते हैं। इन घटनाओं की अनदेखी करने के अपने कोड में नीचे डालने में विचार करें।

...
for (let i = 0; i < messaging_events.length; i++) {
    let event = req.body.entry[0].messaging[i]
    if (event.hasOwnProperty('delivery')) {
        continue;
    }

    ...
}
...
25/06/2016 को 02:23
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more