0

Google 토크 라이브러리를 사용하고 대화 흐름 응용 프로그램 인 을 사용하는 동안 대화 흐름 webhook 서버에서 모든 요청에 ​​대해 미들웨어/인터셉터를 추가하는 방법은 무엇입니까? 키가 여전히 유효한지 여부를 묻는 모든 요청에 ​​대해 인증하고 그 사용자가 이미 그룹을 관리하고 있는지 확인한 다음 그룹의 모든 구성원을 가져 와서/userEntity에 넣으려는 경우대화 흐름 webhook 서버에있는 모든 요청에 ​​대해 미들웨어/인터셉터를 추가하는 방법

지금이 작업을 수행하고 있습니다. 웰컴의 의도 때문에 사용자가 talk to xyz app을 wellcome으로 말하면 사용자가 그룹을 관리하고 특정 그룹의 모든 구성원을 얻은 다음 사용자 엔터티를 가져오고

하지만이 논리는 사용자가 직접 talk to my xyz app을 말하지 않고 그 대신에 ask my xyz app john wink is present or not라고 말하면 쓰레기가됩니다. 그런 다음 앱이이 이름을 인식 할 수 없으므로 내 시스템 이름 엔티티를 사용할 수 없다는 것을 기억하십시오. 하지 영어 이름

지금은 내가 상황에 맞는 조합으로 직접 명령을 제한된하지만 좋은 예되지 않습니다 : 사용자가 말할 수 없습니다 직접 명령 웰컴 의도

+0

어떤 응용 프로그램 서버를 사용하고 있습니까? 한 의도에 대해 지금 처리하는 방법과 다른 의도에 문제가있는 이유를 설명하는 코드를 포함하도록 질문을 업데이트 할 수 있습니까? – Prisoner

+0

firebase 함수,'webhook'이라는 단일 함수 –

답변

1

은 "직접 명령"에서 상황이다 WELCOME_DONE 문맥하지 않는 한 당신은 (ask my xyz app john wink is present or not)를 우리가 "액션 호출 문구"라고 부르는 것을 언급합니다. 액션 구문에서 이름을 추출하기 위해 사용자 엔티티에 의존하기 때문에 추가 한 사용자 엔티티가 only available for 30 minutes이므로 다른 인 텐트가 최근에 일치 한 경우에만이 작업을 성공적으로 수행 할 수 있습니다.

이 문제를 해결하는 방법은 다음과 같습니다. 사용자 엔티티를 추가 한 후 두 번째로 Dialogflow를 통해 사용자 쿼리를 실행하기 위해 뭔가 영리하게하려고합니다. 이름을 캡처 (기본적으로 와일드 카드 엔티티) 당신의 "조치 호출"@sys.any를 사용을 처리하는 의도에서

  1. . 이 의도에 대해 웹 훅을 활성화하십시오.

  2. User says 예를 들어 다른 "의도"와 유사한 다른 의도를 작성하십시오 (첫 번째 의도와 유사하지만 "추가 트리거 발생 의도"에 추가하지 않음). 이 의도에 대해 웹 훅을 활성화하십시오.

  3. 는이 기능에

  4. 1 단계에서 의도를 처리 당신은 webhook에서 함수를 만들고 사용자 자신의 그룹을보고 /userEntity를 통해 구성원을 추가 할 수 있습니다.

  5. 사용자 엔티티가 작성되었으므로 사용자가 말한대로 Dialogflow /query API를 호출하십시오. 사용자 엔티티가 이제 생성 된 이후

  6. 는 2 단계에서 만든 의도는 일치한다, 그래서 /query API 응답은 4 단계

  7. 사용하는 이름에서 만든 엔티티의 이름을 포함합니다 생성하려는 응답을 생성합니다.

+0

지정된 명령을 이해하기가 힘들며 여전히 소화하려고합니다 :-) –

+0

해답처럼 들리 겠지만, 아무도 이해할 수 없다면 조금 더 설명해주십시오. –

+0

어느 부분을합니까? 이해하는데 도움이 필요합니까? –