एकाधिक खोजशब्दों वाले फेसबुक chatbot

वोट
0

मैं कैसे सेटअप करने के लिए एक fanpage के लिए एक फेसबुक chatbot एक ट्यूटोरियल किया है। यह सही काम करता है और हम भी कीवर्ड को बदल सकते हैं और संदेश यह है कि मामले में पॉप अप होता है जब कोई उपयोगकर्ता प्रकार वे कीवर्ड सटीक।

अब केवल एक ही चीज़ हम यह पता लगाने की नहीं है, जवाब के साथ अनेक कीवर्ड जोड़ने के लिए कैसे, है।

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

app.set('port', (process.env.PORT || 5000))

// Process application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({extended: false}))

// Process application/json
app.use(bodyParser.json())

// Index route
app.get('/', function (req, res) {
    res.send('Hello world, I am a chat bot')
})

// for Facebook verification
app.get('/webhook/', function (req, res) {
    if (req.query['hub.verify_token'] === 'token') {
        res.send(req.query['hub.challenge'])
    }
    res.send('Error, wrong token')
})

// Spin up the server
app.listen(app.get('port'), function() {
    console.log('running on port', app.get('port'))
})


// API End Point - 

app.post('/webhook/', function (req, res) {
    messaging_events = req.body.entry[0].messaging
    for (i = 0; i < messaging_events.length; i++) {
        event = req.body.entry[0].messaging[i]
        sender = event.sender.id
        if (event.message && event.message.text) {
            text = event.message.text
            if (text === 'hi') {
                sendGenericMessage(sender)
                continue
            }
            sendTextMessage(sender, parrot:  + text.substring(0, 200))
        }
        if (event.postback) {
            text = JSON.stringify(event.postback)
            sendTextMessage(sender, Postback received: +text.substring(0, 200), token)
            continue
        }
    }
    res.sendStatus(200)
})

var token =  enter token here

// function to echo back messages

function sendTextMessage(sender, text) {
    messageData = {
        text:text
    }
    request({
        url: 'https://graph.facebook.com/v2.6/me/messages',
        qs: {access_token: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)
        }
    })
}


// Send an test message back as two cards.

function sendGenericMessage(sender) {
    messageData = {
        attachment: {
            type: template,
            payload: {
                template_type: generic,
                elements: [{
                    title: title 1,
                    subtitle: subtitle,
                    image_url: url of image,
                    buttons: [{
                        type: web_url,
                        url: https://www.facebook.com/,
                        title: Facebook
                    }, {
                        type: web_url,
                        url: https://www.reddit.com,
                        title: Reddit
                    },{
                        type: web_url,
                        url: https://twitter.com/,
                        title: Twitter
                    }],
                }, {
                    title: Title 2 ,
                    subtitle: Subtitle,
                    image_url: imgurl,
                    buttons: [{
                        type: postback,
                        title: title,
                        payload: payload,
                    },{
                        type: postback,
                        title: title,
                        payload: payload,
                    }, {
                        type: postback,
                        title: title,
                        payload: payload,
                    }],
                },  {
                    title: title,
                    subtitle: subtitle,
                    image_url: http://www.google.com,
                    buttons: [{
                        type: postback,
                        title: title,
                        payload: payload,
                    },{
                        type: postback,
                        title: title,
                        payload: payload,
                    }, {
                        type: postback,
                        title: title,
                        payload: payload,
                    }],
                }]  
            } 
        }
    }
    request({
        url: 'https://graph.facebook.com/v2.6/me/messages',
        qs: {access_token: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)
        }
    })
}

25/06/2017 को 16:19
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
0

आप कहने के लिए क्या मतलब है - आप एक ही जवाब के लिए एक से अधिक कीवर्ड को संभालने की ज़रूरत? अगर ऐसा है, तो फेसबुक webhook पर पाठ के रूप संदेश भेजता है। आप इसे पकड़ने और संदेश वापस फेसबुक पर तदनुसार भेजने की जरूरत है।

कोड के रूप में आपके द्वारा भेजे गए, [अगर (पाठ === "हाय ')], आप (हाय इस मामले में) नमूना संदेशों की जरूरत है प्रणाली में संग्रहीत और जवाब नक्शा किया जाना है।

18/09/2017 को 07:36
का स्रोत उपयोगकर्ता

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