이제 SlackBot을 만들어 보았습니다 : Slash Commands
이제 다시 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를 준비해 두었기 때문에, 비교적 간단하게 구현할 수 있게 된 것이 아닐까 생각합니다.
이상
Reference
이 문제에 관하여(이제 SlackBot을 만들어 보았습니다 : Slash Commands), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/poruruba/items/b386247d8ace78488f67
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
다음은 서버 측을 준비합니다.
이미 구현한 코드에 다음을 추가합니다.
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를 준비해 두었기 때문에, 비교적 간단하게 구현할 수 있게 된 것이 아닐까 생각합니다.
이상
Reference
이 문제에 관하여(이제 SlackBot을 만들어 보았습니다 : Slash Commands), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/poruruba/items/b386247d8ace78488f67
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(이제 SlackBot을 만들어 보았습니다 : Slash Commands), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/poruruba/items/b386247d8ace78488f67텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)