πώς να εντοπίσει την απάντηση του χρήστη σε ένα συγκεκριμένο μήνυμα chatbot στην node.js

ψήφοι
2

Αναρωτιέμαι πώς να πιάσει μια απάντηση χρήστη σε μια συγκεκριμένη ερώτηση chatbot; Εννοώ για παράδειγμα, αν ο χρήστης ζητά την chatbot για τον καιρό και το chatbot ανταποκρίνεται πίσω ζητώντας από τον χρήστη για τον οποίο πόλης. Στη συνέχεια θα ήθελα να εντοπίζουν αυτό που ο χρήστης απαντά σε αυτό το ερώτημα. Έτσι ώστε η πόλη θα μπορούσε να χρησιμοποιηθεί για την κλήση ενός API του καιρού για την πόλη. Δεν ξέρω πώς να παρακολουθείτε την απάντηση του χρήστη στο ερώτημα αυτό. Ξέρει κανείς αν και πώς αυτό είναι δυνατό;

Δημοσιεύθηκε 22/12/2016 στις 20:38
πηγή χρήστη
Σε άλλες γλώσσες...                            


2 απαντήσεις

ψήφοι
0

..I να λυθεί με τη μια καθολική μεταβλητή, όταν η chatbot θέτει το ερώτημα

global.variable = 1;

Όταν ο χρήστης απαντά το εισερχόμενο συμβάν μήνυμα κειμένου ψήνεται και μπορώ να ελέγξετε αν η παγκόσμια σημαία έχει οριστεί. Αυτό δείχνει ότι αυτή είναι η απάντηση του χρήστη, μετά το θέμα ζητήθηκε. Στη συνέχεια μπορούν να πάρουν την πόλη κείμενο μήνυμα από αυτό το μήνυμα. Αυτό λειτουργεί καλά στη δική μου περίπτωση, αλλά αν κάποιος ξέρει μια καλύτερη εναλλακτική λύση παρακαλώ επιτρέψτε μου να ξέρω

Απαντήθηκε 24/12/2016 στις 05:55
πηγή χρήστη

ψήφοι
1

Έτσι ώστε πολλοί χρήστες μπορούν να έχουν πρόσβαση στο chatbot ταυτόχρονα, είναι καλύτερο να παρακολουθείτε κάθε χρήστη, και την κατάσταση συνομιλίας του κάθε χρήστη. Στην περίπτωση του API Messenger, αυτό θα ήταν:

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

Στη συνέχεια θα έχετε την απάντηση για κάθε χρήστη αποθηκεύονται στο usersαντικείμενο. Μπορείτε επίσης να χρησιμοποιήσετε μια βάση δεδομένων για την αποθήκευση αυτή.

Απαντήθηκε 11/04/2017 στις 05:02
πηγή χρήστη

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