एक फेसबुक दूत बॉट के साथ एक पाठ जवाब का इंतजार कर

वोट
1

मैं एक फेसबुक दूत बॉट लिख रहा हूँ और एक पोस्टबैक के बाद एक पाठ जबाब संगृहीत करने का प्रयास कर रहा हूँ। क्या मैं यह मतलब मुझे संदेश मिला कि एक पोस्ट वापस और क्या विकल्प वे चुनते हैं पर निर्भर करता है भेजता है, वे संदेश वापस टाइप कर सकते हैं और मुझे लगता है कि पाठ की दुकान। समस्या मैं केवल वे पद वापस संदेश के लिए एक विकल्प का चयन करने के बाद इस पाठ संग्रहीत करना चाहते है। इसके अलावा लेख में ऐसा कुछ हो सकता है, तो मैं इसके लिए एक अगर बयान नहीं लिख सकते हैं।

यहाँ मेरी कोड है:

app.post('/', 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 == Start) {
        sendTextMessage(sender, Hey User! I'm a bot);
      }
    }

    else if (event.postback) {
      // These are for chosing availibility
      if (JSON.stringify(event.postback) == '{payload:postback}') {
        setTextMessage(sender, Postback recieved);
      }
    }
}

सब कुछ की स्थापना की और चल रहा है। लेकिन जब पोस्टबैक प्राप्त होता है मैं खत्म कर तो मैं पाठ बचा सकता से पहले उपयोगकर्ता से एक उत्तर के लिए प्रतीक्षा करना चाहते हैं। जैसा कि मैंने पहले कहा कि यह मैं सिर्फ नहीं लिख सकते हैं एक अगर मैं की तरह बयान प्रारंभ के साथ किया था, जिसका अर्थ है कुछ भी हो सकता है। मैं भी केवल वे पोस्टबैक बटन पर क्लिक करेंगे पाठ सहेजना चाहते हैं।

मैं थोड़ी देर के पाश जोड़ने और पोस्टबैक समारोह समाप्त करने से पहले प्राप्त किया जाना है पाठ के लिए इंतज़ार कर के बारे में सोच रहा था, लेकिन यह पता नहीं कर सका।

तो कैसे मैं के बाद मैं एक पोस्टबैक के साथ एक संदेश भेजा पाठ के लिए इंतजार करेंगे?

हर प्रकार की सहायता का स्वागत है, धन्यवाद!

10/05/2016 को 15:31
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


2 जवाब

वोट
0

मूल रूप से आपकी आवश्यकता के लिए ऐसा करने के लिए कोई रास्ता नहीं है। तो बात ही कर सकता है एक साथ उदाहरण के लिए, उपसर्ग में कुछ पात्रों के साथ पाठ दर्ज करने के लिए कहें है '?' या '#' या कुछ और आप पार्स कर सकते हैं कि।

17/05/2016 को 06:34
का स्रोत उपयोगकर्ता

वोट
1

मैं भी पाठ इस कोई लाभ नहीं हुआ संदेश आईडी और संदेश समय का उपयोग करके भेजा स्टोर करने के लिए एक रास्ता खोजने के लिए एक लंबे समय के लिए कोशिश की है। केवल तकनीक है कि मेरे लिए काम किया एक वैश्विक चर 'राज्य' कहा जाता है और उसके बाद प्रत्येक संदेश है कि मैं भेजने के अंत में, मैं '001' या '002' की तरह कुछ करने के लिए चर 'राज्य' का मूल्य बदल घोषित किया गया था। जैसे, अगर मैं एक विशेष संदेश भेजा मैं जवाब का उपयोग करना चाहता था, मैं रखा if (state === '001')। यहाँ एक उदाहरण है:

var state = '000';

// if user sends me 'I want dogs'
    sendTextMessage(sender, "How many dogs?");
    state = '001';

// if user sends me 'I want cats'
    sendTextMessage(sender, "How many cats?);
    state = '002';

/* now if I want to access the user's response to how many cats they want, I simply write in an if statement:
if (state === '002' && /^\d+$/.test(text)) {
    var numberOfCatsWanted = text
}

// in this last part I essentially write 'if the state is '002' and the text contains numbers then a new variable will store the value of the text

आशा है कि ये आपकी मदद करेगा!

13/09/2017 को 00:04
का स्रोत उपयोगकर्ता

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