이제 SlackBot을 만들어 보았습니다 : Slash Commands

6709 단어 슬랙slackbotNode.js
마지막으로 계속해서 SlackBot을 사용자 정의합니다.
이제 다시 SlackBot을 만들어 보았습니다.

이번에는 슬래시 명령입니다.
Slack에는,/로 시작하는 커멘드가 많이 준비되어 있지요.
거기에 자신의 명령을 추가 할 수 있으며 SlackBot이 처리 할 수 ​​있습니다.

마지막 환경을 그대로 사용합니다. 아직 분은 꼭 참조하십시오.

(참고 정보)
slack api: Slash Commands
htps : // 아피. scck. 코 m / s ぁ sh 코만 ds

SlashCommands 만들기



설정 - 기본 정보 페이지를 표시하고 슬래시 명령을 선택합니다.



이제 Create New Command 버튼을 누르자.



"hi"라는 호소에 대해 인사말과 함께 에코백하는 명령을 만들어 봅시다. 예를 들어, 다음과 같은 느낌으로 작성해 보았습니다.

・Command:/hi
· Request URL : 시작한 서버의 끝점을 전체 경로로 지정합니다./testbot-cmd입니다.
· Short Description: 안녕
· Usage Hint : 전화에 응답합니다.



Save 버튼을 누릅니다.
설치된 앱을 업데이트해야 하므로 click here 링크를 클릭합니다. 또는 Setting-Install App을 선택하고 Reinstall App 버튼을 누릅니다.



그러면 아래와 같은 확인 페이지가 표시되므로 [허용] 버튼을 누릅니다.



이제 Slack 측을 준비했습니다.

서버측 준비



다음은 서버 측을 준비합니다.

이미 구현한 코드에 다음을 추가합니다.

controllers\slack_testbot\index.js
//・・・
app.command(async (body, web) =>{
    if(body.command === '/hi'){
        var hour = new Date().getHours();

        var greeting = 'こんにちは';
        if( 5 <= hour && hour <= 9 )
            greeting = 'おはよう';
        else if( 18 <= hour && hour < 5 )
            greeting = 'こんにちは';

        var message = {
            text: greeting + '' + (body.text ? (' ' + body.text + " です。") : '')
        };
        app.responseMessage(body.response_url, message );
    }
});
//・・・

app.command에 함수를 등록하면 명령이 입력될 때 콜백됩니다.

응답 메시지를 반환하는 방법은 세 가지가 있습니다.

・Confirm your receipt of the payload.
·Do something useful in response right away. : 즉시 응답 메시지를 반환합니다.
·Do something useful in response later. : 나중에 응답 메시지를 반환합니다.

slack-utils.js는 나중에 응답을 반환하는 방법을 사용합니다.
body.response_url에 나중에 반환할 URL이 있습니다. 그것을 사용하여 app.responseMessage를 호출하여 메시지를 반환합니다.

응답 메시지에 대한 자세한 내용은 이전과 마찬가지로 다음을 참조하십시오.

slack api: Reference Message payloads
htps : // 아피. scck. 코 m / 레후 렌세 / 메사 긴 g / 빠 y ぉ 아 d

동작 확인



이런 느낌으로 할 수 있었습니다.

입력 중.



응답을 받았습니다.



SlackBot용으로 유틸리티 slack-utils.js를 준비해 두었기 때문에, 비교적 간단하게 구현할 수 있게 된 것이 아닐까 생각합니다.

이상

좋은 웹페이지 즐겨찾기