본문 바로가기

Tool/Slack

Slack 봇] 봇 만들기 - 2 [Slash Commands 사용하기]

Api 페이지에서 생성한 앱을 들어가서 Slash Commands 메뉴를 접근

Create New Command를 클릭 한다.

Slack 세팅 창

  • Command : Slack 채팅 창에서 쓰일 /명령어 입니다.
  • Request URL : 커멘드 입력시 호출 되는 Url 입니다.
    • 외부에서 호출을 받기위해서는 로컬환경에서 추가적인 세팅을 해야 합니다.
    • 저는 ngrok 을 이용하여 세팅했습니다.
    • ngrok 은 로컬에서도 외부 호출을 전달 받을 수 있게 하는 프로그램 입니다. (추후 사용 설명을 올리도록 하겠습니다.)
  • Short Description : 명령어의 설명 입니다.
  • Usage Hint : 커멘드의 힌트를 보여 줍니다.

설정 완료 후 상기와 같은 경고 창이 뜬다면

reinstall your app 을 클릭하여 앱을 재 설치를 하면됩니다.

내 워크스페이스에서 작업 수행이 추가되어 재 설치를 진행하게 되는 겁니다.

package com.hongjewon.comm.domain.slack

import com.hongjewon.comm.service.slack.SlackService
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController

@RestController()
@RequestMapping("/slack")
class SlackController {

    @Autowired
    lateinit var slackService: SlackService

    @RequestMapping("/events")
    fun callSlashCommand() {
        slackService.sendSlackMessage(channel = "private-chat-test", message = "안녕?")
    }
}

상기 코드와 같이 url 세팅 합니다.

이제 Slack 에서 확인해 봅니다.

슬래쉬 커맨드가 설정된 것을 확인 할 수 있고 실행을 해보면

이렇게 메시지를 전달 받을 수 있습니다.