slack 새로운 기능! message button을 사용하여 botkit을 레벨 업!

개요



2016/06/21에 Slack의 「 What's New 」보다 Slack의 투고에 버튼을 붙일 수 있는 것을 알았습니다.
local의 botkit 단체로 이쪽의 기능을 시도할 수 있을까 생각했는데, https의 대응 서버가 필요하다고 하는 것이었으므로,
https 서버를 간편하게 시험하기 위해 Heroku의 free 플랜을 사용하여 도전해 보았습니다.



절차



샘플 코드 얻기



botkit 샘플 가 있었기 때문에 빌려, message_button 의 구현을 조금만 추기하고 있습니다.
htps : // 기주 b. 이 m/하카 또 루이/sぁck_메사게_부트톤. 기 t
※샘플의 Procfile을 보면 worker가 아니고 Heroku에서 https의 리퀘스트를 받아들일 필요가 있기 때문에 web로 기동하기로 하고 있습니다.

Heroku로 앱 등록하기



Heroku의 앱을 만드는 방법은 길어지므로 생략합니다.
Qiita에서 기사를 올리고있는 분이 많이 있으므로 그쪽을 참고하십시오.
Heroku에서 앱을 만든 후 settings에서 Heroku Domain( ${APP_NAME}.herokuapp.com )을 삼가해 주십시오.

Slack으로 앱 등록하기



botkit 단독으로 message_button을 사용할 수 없으므로 slack의 CreateApp에서 app로 등록해야합니다.
App Name 등은 적당히 결정하고, Redirect URI(s)에는 Heroku Domain에/oauth를 더한 URL( https://${APP_NAME}.herokuapp.com/oauth )
앱 등록 후 Bot Users에서 bot의 이름을 적당하게 설정합니다.
마지막으로 'App credentials'를 열고 Client ID와 Client Secret을 삼가합니다.



Heroku 앱 설정



Heroku의 app 환경 변수에 앞서 둔 변수 "clientId"와 "clientSecret"을 등록합니다.



Heroku에 배포



앱을 배포하여 WebServer가 실행 중인지 확인합니다.


슬랙 앱 설정



"Interactive Messages"의 RequestURL에 Heroku Domain에/slack/receive를 더한 URL( https://${APP_NAME}.herokuapp.com/slack/receive )을 등록해 주세요.
※Heroku에서 WebServer가 일어나고 있는 상태가 아니면 등록할 수 없었습니다.

슬랙 앱으로 팀에 등록



Heroku Domain에/login을 더한 URL( https://${APP_NAME}.herokuapp.com/login )을 브라우저등에서 열어, 자신의 팀에 app등록해 주세요.
문제없이 등록할 수 있다면 bot이 다음과 같은 발언을 합니다.


버튼을 사용해보십시오



button이라고 발언하면 bot이 버튼 첨부의 투고를 해 오므로, 버튼을 눌러 봐 주세요.
누른 버튼의 이름을 bot이 대답할 수 있으면 성공입니다!

마지막으로



botkit의 conversation도 좋습니다만, button을 사용할 수 있는 편이 보다 조작을 직관적으로 할 수 있게 된다고 생각합니다.
heroku도 botkit도 초보자로 아직 불명한 부분도 많이 있으므로, 지적 있으면 코멘트에 남겨 주세요.

좋은 웹페이지 즐겨찾기