특정 chatbot 질문에 대한 사용자 응답을 어떻게 잡을 수 있습니까? 예를 들어, 사용자가 챠봇 봇에 날씨를 요청하면 챠봇 봇은 사용자에게 어떤 도시가 있는지 물어 봄으로써 응답합니다. 그런 다음 사용자가 해당 질문에 응답하는 내용을 추적하고 싶습니다. 도시가 날씨 API를 호출하는 데 사용될 수 있습니다. 그 질문에 대한 사용자 응답을 추적하는 방법을 모르겠습니다. 이게 가능한지 누구하고 어떻게 알 수 있습니까?node.js의 특정 chatbot 메시지에 대한 사용자 응답을 추적하는 방법
2
A
답변
1
여러 사용자가 동시에 대화방에 액세스 할 수 있도록 각 사용자와 각 사용자의 대화 상태를 추적하는 것이 가장 좋습니다. 메신저 API의 경우,이는 다음과 같습니다
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
객체에 포함 된 각 사용자에 대한 답을해야합니다. 데이터베이스를 사용하여이를 저장할 수도 있습니다.
0
.. 난은 사용자가 들어오는 문자 메시지 이벤트가 발생되고 응답 글로벌 플래그가 설정된 경우 내가 확인할 수 있습니다 때 chatbot 질문
global.variable = 1;
을 요청할 때 전역 변수를 설정하여 그것을 해결. 이것은 질문을 한 후에 사용자 답장임을 나타냅니다. 그러면 그 메시지에서 메시지 텍스트 도시를 얻을 수 있습니다. 제 경우에는 정상적으로 작동하지만 누가 더 좋은 대안을 알고 있다면 알려주십시오