bir Facebook messenger bot içeren bir metin cevap bekliyorum

oy
1

Ben bir Facebook messenger bot yazıyorum ve bir geri gönderme sonra bir metin cevap saklamak için çalışıyorum. Ne bu demek geri ve seçtikleri hangi seçeneği bağlı bir yazı gönderen bir mesajınız var, onlar geri mesaj yazabilirsiniz ve ben bu metni saklayın. Sorun sadece onlar sonrası geri mesajı için bir seçenek seçin sonra bu metni saklamak istediğiniz olduğunu. Ayrıca metin herhangi bir şey olabilir, bu yüzden bunun için bir eğer deyimi yazamazsınız.

İşte benim kodudur:

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

Her şey kurmak ve çalışıyor. geri gönderme alındığında Ama ben metni kaydedebilirsiniz bitirmeden önce kullanıcıdan bir cevap için beklemek istiyorum. Daha önce söylediğim gibi ben sadece yazmak bir ben gibi deyimi Başlat ile yaptıysam olamaz yani her şey olabilir. Ayrıca sadece onlar geri gönderme düğmesine tıkladıktan sonra metni kaydetmek istiyorum.

Bir süre halka ekleyerek ve işlem bildirim işlevi bitirmeden önce alınacak metin için bekleyen düşünüyordum ama bunu çözemedim.

Bir geri gönderme ile bir mesaj gönderdi sonra Peki nasıl metin için bekledi?

Herhangi bir yardım takdir, teşekkürler!

Oluştur 10/05/2016 saat 15:31
kaynak kullanıcı
Diğer dillerde...                            


2 cevaplar

oy
0

Temelde gereksinimi için yapmak için hiçbir yolu yoktur. Yani sadece yapabileceği şey ile örneğin öneki bazı karakterler ile metin girmek için kullanıcı sormak '?' veya '#' veya başka bir ayrıştırmak olabilir.

Cevap 17/05/2016 saat 06:34
kaynak kullanıcı

oy
1

Ayrıca boşuna mesaj kimlikleri ve mesaj sürelerini kullanarak gönderen tarafından gönderilen metin saklamak için bir yol bulmak için uzun süre çalıştık. Benim için çalıştı tek teknik 'devlet' olarak adlandırılan ve daha sonra göndermek her mesajın sonunda, ben '001' veya '002' gibi bir şeye değişken 'devlet' değerini değiştirmek küresel değişkeni bildirmek edildi. Ben gönderilen belirli bir iletiyle cevap erişmek istiyorsa Gibi, ben koyardı if (state === '001'). İşte bir örnek:

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

Umarım bu yardımcı olur!

Cevap 13/09/2017 saat 00:04
kaynak kullanıcı

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