Ktor와 Bolt로 시작하는 Slack 애플리케이션으로 시작하기
Ktor 및 Bolt 정보
Bolt는 슬랙 응용 개발을 간단하게 하기 위한 프레임워크로 다양한 언어를 지원한다.java-slack-sdk 1.3.0 Ktolin의 웹 프레임워크 Ktor를 지원합니다.물론 코틀린도 이용할 수 있고 샘플 코드도 몇 개 제공되니 궁금하신 분들은 보세요.
이번에 슬랙
/hello
에 입력하면 제작Hello World
해서 돌아오는 슬랙봇 앱을 만든다.전체 단계는 다음과 같습니다.1. Slack Bot App 로그인
Slack 응용 프로그램 만들기
Slack API로 마이그레이션하고 Create New App을 선택합니다.
AppName 및 Development Slack Workspace 를 지정한 후 Create Apps 를 선택합니다.
권한 설정
프로그램이 만들어졌기 때문에 다음 권한을 설정합니다.OAuth &Permmision으로 마이그레이션합니다.Bot Token Scopes에 권한
chat:write
을 등록합니다.작업공간에 설치
권한 설정이 완료되었기 때문에 작업 공간에 프로그램을 설치합니다.Settings>Basic Information>Install your app를 선택합니다.
Install to Workspace 를 선택합니다.
Allow를 선택합니다.
컨트롤 토큰
Ktor에서 Slack Bot을 사용하려면 Bot User OAuth Access Token과 Signing Secret을 미리 제어해야 합니다.OAuth &Permissions 를 선택합니다.Bot User OAuth Access Token을 제어합니다.
그런 다음 Settings>Basic Information 을 선택합니다.App Credentials의 Signing Secret을 제어합니다.
2. Ktor 플러그인 설치
여기서부터 Ktor와 Bolt를 사용하여 프로그램을 만들지만, Ktor 플러그인을 사용하면 Ktor 프로젝트의 초기 형태를 간단하게 만들 수 있습니다.다음은 IntelliJ IDEA를 사용하는 단계에 대한 설명입니다.
Ktor 플러그인을 설치합니다.
새 Ktor 프로젝트
프로젝트의 초기 형태를 간단하게 완성하였다.
3. Ktor와 Bolt를 통한 애플리케이션 개발
여기서부터 슬랙에
/hello
를 입력하면 되돌려주는 슬랙봇 앱을 제작Hello World
한다.Ktor와 Bolt의 의존 관계를 추가합니다.build.gradle
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
implementation "io.ktor:ktor-server-netty:$ktor_version"
implementation "ch.qos.logback:logback-classic:$logback_version"
implementation("com.slack.api:bolt-ktor:1.3.0")
implementation("io.ktor:ktor-server-netty:$ktor_version")
testImplementation "io.ktor:ktor-server-tests:$ktor_version"
}
이어 슬랙에서 수락/hello
했을 때 슬랙봇이 되돌아오는 처리Hello World
를 기술했다.Application.kt
import com.slack.api.bolt.App
import com.slack.api.bolt.ktor.respond
import com.slack.api.bolt.ktor.toBoltRequest
import com.slack.api.bolt.util.SlackRequestParser
import io.ktor.application.*
import io.ktor.routing.*
import io.ktor.server.engine.*
import io.ktor.server.netty.*
fun main() {
val app = App()
val requestParser = SlackRequestParser(app.config())
app.command("/hello") { req, ctx ->
ctx.ack("Hello World")
}
val server = embeddedServer(Netty, port = 3000) {
routing {
post("/slack/events") {
respond(call, app.run(toBoltRequest(call, requestParser)))
}
}
}
server.start()
}
Environment variables로 이동하고 SLACK 제어BOT_TOKIO 및 SLACK -SIGNING_SECRET 등록Ktor에서 시작한 Bolt 애플리케이션ngrok에 액세스하기 위해Application.전달된 URL을 가져오려면 kt를 실행합니다.Slack API 화면으로 돌아가서 Features > Slash Commands 에서Create New Command 를 선택하십시오.Command
/hello
, Request URLhttps://{ドメイン}/slack/events
에서 Save를 선택합니다.Install Apps로 전환한 후 Reinstall Apps를 선택합니다.그런 다음 Reinstall to Workspace 를 선택합니다.지정된 작업공간의 Slack에서
/hello
명령을 실행한 후표시
Hello World
.총결산
거의 슬랙 앱의 설정 소개이고 볼트도 Ktor를 지원하며 Ktor의 슬랙 앱은 개발하기 쉽다.이번에는 닿지 않았지만 모태를 만들 때Kotlin DSL 지원 Block Kit 해봤기 때문에 쉽게 기술할 수 있었다.가능하면 해보세요.
Reference
이 문제에 관하여(Ktor와 Bolt로 시작하는 Slack 애플리케이션으로 시작하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/tommykw/articles/bb2da67093b247텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)