2017-09-29 12 views
2

뒷 채널 예제를 모방하려고하는 채팅 봇이 있습니다.활동 이름 이해

아래 코드가 얼마나 정확하게 작동하는지 이해하는 데 문제가있는 것을 제외하고는 모든 것이 대부분 정확합니다.

botConnection.activity$ 
    .filter(function (activity) { 
     console.log("show me the activity name passed" + activity.name); 
     return activity.type === 'event' && activity.name === 'changeBackground'; 
    }) 
    .subscribe(function (activity) { 
     changeBackgroundColor(activity.value); 
    }); 

아마도 내 봇 내에 changeBackground라는 이름을 지정해야한다고 가정합니다. 또한 activity.type이 이벤트 대신 '메시지'가되어서는 안됩니까?

나는 console.log에서 activity.name을 보여주기 위해 내가 전달하는 모든 메시지가 "정의되지 않음"입니다. 배경 변경을 시작하기 위해 활동의 이름을 정확히 어디에 설정합니까?

답변

1

activitymessage (텍스트 및/또는 첨부 파일이 사용자와 봇간에 전송 됨)이 가장 일반적인 유형입니다. 클라이언트와 봇 교환 정보를 사용자에게 보이지 않게하려면 event 유형을 사용할 수 있습니다. 규칙에 따라 그들은 클라이언트에 의해 무시 될 것이다 Web Chat와 같은.

작성된대로 예제 코드는 봇에서 클라이언트로 보낸 모든 활동을 기록합니다. 필드 nameevent 유형의 액티비티에 적용되지만 액티비티에는 적용되지 않습니다. 따라서 undefined으로 표시됩니다.

이 예제에서 changeBackground은 봇이 event 유형의 활동을 보낼 때마다 무언가를 수행 할 클라이언트 기능의 이름입니다.

지금 누락 된 부분은 실제로 해당 이벤트를 보내는 (서버) 봇 코드입니다. 이에 대한 예는 Ryan Volum의 backchannel sample bot을 참조하십시오.