node.js belirli chatbot iletiye kullanıcı cevap iz nasıl

oy
2

Belirli bir chatbot soruya kullanıcı cevap yakalamak için acaba? Kullanıcı hava için chatbot sorar ve Chatbot şehir kullanıcıdan sorarak geri cevap verirse ben mesela yani. Sonra kullanıcı bu soruya yanıt neyi izlemek istiyoruz. Böylece şehir şehir için bir hava api çağırmak için kullanılabilir. Bu sorunun kullanıcı cevap izlemek için bilmiyorum. herkes bu mümkün olup olmadığını ve nasıl biliyor mu?

Oluştur 22/12/2016 saat 20:38
kaynak kullanıcı
Diğer dillerde...                            


2 cevaplar

oy
0

..Ben chatbot soruyu sorduğunda küresel değişkeni ayarlayarak bunu çözmüş

global.variable = 1;

kullanıcı yanıtladığında gelen metin mesajı olay tetiklenir ve küresel bayrağı ayarlanmış olup olmadığını kontrol edebilirim. Bu soru sorulmuştur sonra kullanıcının cevap olduğunu gösterir. Sonra bu iletiden mesaj metni kenti alabilirsiniz. Bu benim durumumda çalışıyor ama herkes daha iyi bir alternatif bilen varsa bana bildirin lütfen

Cevap 24/12/2016 saat 05:55
kaynak kullanıcı

oy
1

birden fazla kullanıcı aynı anda chatbot erişebilmesi Yani, her kullanıcı takip etmek en iyisidir ve her kullanıcının konuşma durumu. Messenger API durumunda, bu olacaktır:

const users = {}
const nextStates = {
    'What country are you in?': 'What city are you in?',
    'What city are you in?': 'Let me look up the weather for that city...'
}
const receivedMessage = (event) => {
    // keep track of each user by their senderId
    const senderId = event.sender.id
    if (!users[senderId].currentState){
        // set the initial state
        users[senderId].currentState = 'What country are you in?'
    } else {
        // store the answer and update the state
        users[senderId][users[senderId].currentState] = event.message.text
        users[senderId].currentState = nextStates[users[senderId.currentState]]
    }
    // send a message to the user via the Messenger API
    sendTextMessage(senderId, users[senderId].currentState)
}

Sonra saklanan her kullanıcı için cevap olacaktır usersnesne. Ayrıca bu depolamak için bir veritabanı kullanabilirsiniz.

Cevap 11/04/2017 saat 05:02
kaynak kullanıcı

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