【SwiftPM】Swift에서도 Slack Bot을 만들고 싶다
10096 단어 AdventCalendarSwiftbot슬랙SwiftPM
소개
핫 페퍼 뷰티에서 iOS 개발을 담당하는 @ 소토 자키입니다.
엔지니어의 커뮤니케이션 툴이라고 하면 Slack입니다만, iOS 엔지니어라도 평상시 쓰고 있는 언어(Swift)로 Slack Bot를 만들고 싶다!
그런 이유로 이번에는 iOS 엔지니어라면 모두 좋아하는 Swift로 Slack Bot을 만들어 보겠습니다!
환경
버전
Swift
3.0.1
Xcode
8.1
완성된 것
swift
라는 발언에 대해 Bot이 GitHub URL을 대답합니다.
사전 준비
여기에서 Bot API Token을 받으세요.
htps : // my. scck. 코 m / 세 r ゔ 세 s / w / 보트
API Token은 다음과 같은 형식으로 제공됩니다.xoxb-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
여기서 Icon등의 설정도 해 두면 좋다고 생각합니다.
Slack Bot 만드는 법
이번에는 Swift로 작성된 Slack Client 용 라이브러리가 있으므로 이것을 사용합니다.
htps : // 기주 b. 코 m / pv 및 g / S ぁ c 도금 t
iOS 개발로 일반적인 라이브러리 관리의 CocoaPods, Carthage로 설치할 수 있습니다만,
이번은 모처럼이므로 Swift와 동시에 공개된 Swift Package Manageer (SwiftPM)를 사용해 보겠습니다.
프로젝트 설정
먼저 SwiftPM을 사용하여 프로젝트를 생성합니다.
$ mkdir SwiftBot
$ cd SwiftBot
$ swift package init --type executable
$ swift build
$ ./.build/debug/SwiftBot
Hello, world!
여기까지 Hello World가되어 있습니다. SwiftPM도 상당히 편리하네요!
SlackKit 추가
Package.swift를 편집하여 SlackKit을 추가합니다.
Package.swiftimport PackageDescription
let package = Package(
name: "SwiftBot",
dependencies: [
.Package(url: "https://github.com/pvzig/SlackKit.git", majorVersion: 3)
]
)
추가한 후 다시 빌드하여 라이브러리를 추가할 수 있습니다.
$ swift build
Xcode 프로젝트 만들기
iOS 개발에서 친숙한 Xcode로 편집하고 싶은 분은 Xcode 프로젝트도 생성합니다.
Xcode 프로젝트 생성도 SwiftPM에서 쉽게 할 수 있습니다!
$ swift package generate-xcodeproj
Swift Bot 구현
프로젝트를 열고 소스를 다음과 같이 편집합니다.
API Token을 Slack에서 얻은 것으로 바꾸십시오.
Sources/main.swiftimport Foundation
import SlackKit
class SwiftBot: MessageEventsDelegate {
let bot: SlackKit
init(token: String) {
bot = SlackKit(withAPIToken: token)
bot.onClientInitalization = { (client: Client) in
client.messageEventsDelegate = self
}
}
func received(_ message: Message, client: Client) {
guard let text = message.text, let channel = message.channel else { return }
if text == "swift" {
client.webAPI.sendMessage(channel,
text: "https://github.com/apple/swift",
asUser: true,
success: nil,
failure: nil)
}
}
func sent(_ message: Message, client: Client) {}
func changed(_ message: Message, client: Client) {}
func deleted(_ message: Message?, client: Client) {}
}
print("SwiftBot is Running")
let bot = SwiftBot(token: "xoxb-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
RunLoop.main.run()
여기에서는 MessageEventsDelegate를 준수하는 SwiftBot 클래스를 정의합니다.
4개의 Delegate Method가 준비되어 있습니다만, received 메소드내에서 Slack의 발언을 감시해 응답하고 있습니다.
SlackKit은 다른 Delegate를 제공하므로 자세한 내용은 htps : // 기주 b. 이 m / pv와 g / S ぁ c 도금 t을 참조하십시오.
Bot 시작
XcodeのRun(Cmd + R)
또는
$ swift build
$ ./.build/debug/SwiftBot
SwiftBot is Running
로 시작할 수 있습니다.
지금까지 Slack에서 온라인 상태인지 확인하십시오.
Bot 응답
Slack의 적절한 채널에 Bot을 초대하고 "swift"라고 말하십시오.
제대로 작동하고 Bot가 swift의 GitHub 저장소 URL을 반환했습니다!
끝에
Swift에서 Slack Bot을 만드는 방법을 소개했습니다.
CI와 fastlane 등을 연계하면 재미 있군요!
Reference
이 문제에 관하여(【SwiftPM】Swift에서도 Slack Bot을 만들고 싶다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sotozaki/items/e39a7bdd8de6be9cf725
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
버전
Swift
3.0.1
Xcode
8.1
완성된 것
swift
라는 발언에 대해 Bot이 GitHub URL을 대답합니다.
사전 준비
여기에서 Bot API Token을 받으세요.
htps : // my. scck. 코 m / 세 r ゔ 세 s / w / 보트
API Token은 다음과 같은 형식으로 제공됩니다.xoxb-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
여기서 Icon등의 설정도 해 두면 좋다고 생각합니다.
Slack Bot 만드는 법
이번에는 Swift로 작성된 Slack Client 용 라이브러리가 있으므로 이것을 사용합니다.
htps : // 기주 b. 코 m / pv 및 g / S ぁ c 도금 t
iOS 개발로 일반적인 라이브러리 관리의 CocoaPods, Carthage로 설치할 수 있습니다만,
이번은 모처럼이므로 Swift와 동시에 공개된 Swift Package Manageer (SwiftPM)를 사용해 보겠습니다.
프로젝트 설정
먼저 SwiftPM을 사용하여 프로젝트를 생성합니다.
$ mkdir SwiftBot
$ cd SwiftBot
$ swift package init --type executable
$ swift build
$ ./.build/debug/SwiftBot
Hello, world!
여기까지 Hello World가되어 있습니다. SwiftPM도 상당히 편리하네요!
SlackKit 추가
Package.swift를 편집하여 SlackKit을 추가합니다.
Package.swiftimport PackageDescription
let package = Package(
name: "SwiftBot",
dependencies: [
.Package(url: "https://github.com/pvzig/SlackKit.git", majorVersion: 3)
]
)
추가한 후 다시 빌드하여 라이브러리를 추가할 수 있습니다.
$ swift build
Xcode 프로젝트 만들기
iOS 개발에서 친숙한 Xcode로 편집하고 싶은 분은 Xcode 프로젝트도 생성합니다.
Xcode 프로젝트 생성도 SwiftPM에서 쉽게 할 수 있습니다!
$ swift package generate-xcodeproj
Swift Bot 구현
프로젝트를 열고 소스를 다음과 같이 편집합니다.
API Token을 Slack에서 얻은 것으로 바꾸십시오.
Sources/main.swiftimport Foundation
import SlackKit
class SwiftBot: MessageEventsDelegate {
let bot: SlackKit
init(token: String) {
bot = SlackKit(withAPIToken: token)
bot.onClientInitalization = { (client: Client) in
client.messageEventsDelegate = self
}
}
func received(_ message: Message, client: Client) {
guard let text = message.text, let channel = message.channel else { return }
if text == "swift" {
client.webAPI.sendMessage(channel,
text: "https://github.com/apple/swift",
asUser: true,
success: nil,
failure: nil)
}
}
func sent(_ message: Message, client: Client) {}
func changed(_ message: Message, client: Client) {}
func deleted(_ message: Message?, client: Client) {}
}
print("SwiftBot is Running")
let bot = SwiftBot(token: "xoxb-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
RunLoop.main.run()
여기에서는 MessageEventsDelegate를 준수하는 SwiftBot 클래스를 정의합니다.
4개의 Delegate Method가 준비되어 있습니다만, received 메소드내에서 Slack의 발언을 감시해 응답하고 있습니다.
SlackKit은 다른 Delegate를 제공하므로 자세한 내용은 htps : // 기주 b. 이 m / pv와 g / S ぁ c 도금 t을 참조하십시오.
Bot 시작
XcodeのRun(Cmd + R)
또는
$ swift build
$ ./.build/debug/SwiftBot
SwiftBot is Running
로 시작할 수 있습니다.
지금까지 Slack에서 온라인 상태인지 확인하십시오.
Bot 응답
Slack의 적절한 채널에 Bot을 초대하고 "swift"라고 말하십시오.
제대로 작동하고 Bot가 swift의 GitHub 저장소 URL을 반환했습니다!
끝에
Swift에서 Slack Bot을 만드는 방법을 소개했습니다.
CI와 fastlane 등을 연계하면 재미 있군요!
Reference
이 문제에 관하여(【SwiftPM】Swift에서도 Slack Bot을 만들고 싶다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sotozaki/items/e39a7bdd8de6be9cf725
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
여기에서 Bot API Token을 받으세요.
htps : // my. scck. 코 m / 세 r ゔ 세 s / w / 보트
API Token은 다음과 같은 형식으로 제공됩니다.
xoxb-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
여기서 Icon등의 설정도 해 두면 좋다고 생각합니다.
Slack Bot 만드는 법
이번에는 Swift로 작성된 Slack Client 용 라이브러리가 있으므로 이것을 사용합니다.
htps : // 기주 b. 코 m / pv 및 g / S ぁ c 도금 t
iOS 개발로 일반적인 라이브러리 관리의 CocoaPods, Carthage로 설치할 수 있습니다만,
이번은 모처럼이므로 Swift와 동시에 공개된 Swift Package Manageer (SwiftPM)를 사용해 보겠습니다.
프로젝트 설정
먼저 SwiftPM을 사용하여 프로젝트를 생성합니다.
$ mkdir SwiftBot
$ cd SwiftBot
$ swift package init --type executable
$ swift build
$ ./.build/debug/SwiftBot
Hello, world!
여기까지 Hello World가되어 있습니다. SwiftPM도 상당히 편리하네요!
SlackKit 추가
Package.swift를 편집하여 SlackKit을 추가합니다.
Package.swiftimport PackageDescription
let package = Package(
name: "SwiftBot",
dependencies: [
.Package(url: "https://github.com/pvzig/SlackKit.git", majorVersion: 3)
]
)
추가한 후 다시 빌드하여 라이브러리를 추가할 수 있습니다.
$ swift build
Xcode 프로젝트 만들기
iOS 개발에서 친숙한 Xcode로 편집하고 싶은 분은 Xcode 프로젝트도 생성합니다.
Xcode 프로젝트 생성도 SwiftPM에서 쉽게 할 수 있습니다!
$ swift package generate-xcodeproj
Swift Bot 구현
프로젝트를 열고 소스를 다음과 같이 편집합니다.
API Token을 Slack에서 얻은 것으로 바꾸십시오.
Sources/main.swiftimport Foundation
import SlackKit
class SwiftBot: MessageEventsDelegate {
let bot: SlackKit
init(token: String) {
bot = SlackKit(withAPIToken: token)
bot.onClientInitalization = { (client: Client) in
client.messageEventsDelegate = self
}
}
func received(_ message: Message, client: Client) {
guard let text = message.text, let channel = message.channel else { return }
if text == "swift" {
client.webAPI.sendMessage(channel,
text: "https://github.com/apple/swift",
asUser: true,
success: nil,
failure: nil)
}
}
func sent(_ message: Message, client: Client) {}
func changed(_ message: Message, client: Client) {}
func deleted(_ message: Message?, client: Client) {}
}
print("SwiftBot is Running")
let bot = SwiftBot(token: "xoxb-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
RunLoop.main.run()
여기에서는 MessageEventsDelegate를 준수하는 SwiftBot 클래스를 정의합니다.
4개의 Delegate Method가 준비되어 있습니다만, received 메소드내에서 Slack의 발언을 감시해 응답하고 있습니다.
SlackKit은 다른 Delegate를 제공하므로 자세한 내용은 htps : // 기주 b. 이 m / pv와 g / S ぁ c 도금 t을 참조하십시오.
Bot 시작
XcodeのRun(Cmd + R)
또는
$ swift build
$ ./.build/debug/SwiftBot
SwiftBot is Running
로 시작할 수 있습니다.
지금까지 Slack에서 온라인 상태인지 확인하십시오.
Bot 응답
Slack의 적절한 채널에 Bot을 초대하고 "swift"라고 말하십시오.
제대로 작동하고 Bot가 swift의 GitHub 저장소 URL을 반환했습니다!
끝에
Swift에서 Slack Bot을 만드는 방법을 소개했습니다.
CI와 fastlane 등을 연계하면 재미 있군요!
Reference
이 문제에 관하여(【SwiftPM】Swift에서도 Slack Bot을 만들고 싶다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sotozaki/items/e39a7bdd8de6be9cf725
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
먼저 SwiftPM을 사용하여 프로젝트를 생성합니다.
$ mkdir SwiftBot
$ cd SwiftBot
$ swift package init --type executable
$ swift build
$ ./.build/debug/SwiftBot
Hello, world!
여기까지 Hello World가되어 있습니다. SwiftPM도 상당히 편리하네요!
SlackKit 추가
Package.swift를 편집하여 SlackKit을 추가합니다.
Package.swift
import PackageDescription
let package = Package(
name: "SwiftBot",
dependencies: [
.Package(url: "https://github.com/pvzig/SlackKit.git", majorVersion: 3)
]
)
추가한 후 다시 빌드하여 라이브러리를 추가할 수 있습니다.
$ swift build
Xcode 프로젝트 만들기
iOS 개발에서 친숙한 Xcode로 편집하고 싶은 분은 Xcode 프로젝트도 생성합니다.
Xcode 프로젝트 생성도 SwiftPM에서 쉽게 할 수 있습니다!
$ swift package generate-xcodeproj
Swift Bot 구현
프로젝트를 열고 소스를 다음과 같이 편집합니다.
API Token을 Slack에서 얻은 것으로 바꾸십시오.
Sources/main.swiftimport Foundation
import SlackKit
class SwiftBot: MessageEventsDelegate {
let bot: SlackKit
init(token: String) {
bot = SlackKit(withAPIToken: token)
bot.onClientInitalization = { (client: Client) in
client.messageEventsDelegate = self
}
}
func received(_ message: Message, client: Client) {
guard let text = message.text, let channel = message.channel else { return }
if text == "swift" {
client.webAPI.sendMessage(channel,
text: "https://github.com/apple/swift",
asUser: true,
success: nil,
failure: nil)
}
}
func sent(_ message: Message, client: Client) {}
func changed(_ message: Message, client: Client) {}
func deleted(_ message: Message?, client: Client) {}
}
print("SwiftBot is Running")
let bot = SwiftBot(token: "xoxb-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
RunLoop.main.run()
여기에서는 MessageEventsDelegate를 준수하는 SwiftBot 클래스를 정의합니다.
4개의 Delegate Method가 준비되어 있습니다만, received 메소드내에서 Slack의 발언을 감시해 응답하고 있습니다.
SlackKit은 다른 Delegate를 제공하므로 자세한 내용은 htps : // 기주 b. 이 m / pv와 g / S ぁ c 도금 t을 참조하십시오.
Bot 시작
XcodeのRun(Cmd + R)
또는
$ swift build
$ ./.build/debug/SwiftBot
SwiftBot is Running
로 시작할 수 있습니다.
지금까지 Slack에서 온라인 상태인지 확인하십시오.
Bot 응답
Slack의 적절한 채널에 Bot을 초대하고 "swift"라고 말하십시오.
제대로 작동하고 Bot가 swift의 GitHub 저장소 URL을 반환했습니다!
끝에
Swift에서 Slack Bot을 만드는 방법을 소개했습니다.
CI와 fastlane 등을 연계하면 재미 있군요!
Reference
이 문제에 관하여(【SwiftPM】Swift에서도 Slack Bot을 만들고 싶다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sotozaki/items/e39a7bdd8de6be9cf725
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ swift package generate-xcodeproj
프로젝트를 열고 소스를 다음과 같이 편집합니다.
API Token을 Slack에서 얻은 것으로 바꾸십시오.
Sources/main.swift
import Foundation
import SlackKit
class SwiftBot: MessageEventsDelegate {
let bot: SlackKit
init(token: String) {
bot = SlackKit(withAPIToken: token)
bot.onClientInitalization = { (client: Client) in
client.messageEventsDelegate = self
}
}
func received(_ message: Message, client: Client) {
guard let text = message.text, let channel = message.channel else { return }
if text == "swift" {
client.webAPI.sendMessage(channel,
text: "https://github.com/apple/swift",
asUser: true,
success: nil,
failure: nil)
}
}
func sent(_ message: Message, client: Client) {}
func changed(_ message: Message, client: Client) {}
func deleted(_ message: Message?, client: Client) {}
}
print("SwiftBot is Running")
let bot = SwiftBot(token: "xoxb-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
RunLoop.main.run()
여기에서는 MessageEventsDelegate를 준수하는 SwiftBot 클래스를 정의합니다.
4개의 Delegate Method가 준비되어 있습니다만, received 메소드내에서 Slack의 발언을 감시해 응답하고 있습니다.
SlackKit은 다른 Delegate를 제공하므로 자세한 내용은 htps : // 기주 b. 이 m / pv와 g / S ぁ c 도금 t을 참조하십시오.
Bot 시작
XcodeのRun(Cmd + R)
또는
$ swift build
$ ./.build/debug/SwiftBot
SwiftBot is Running
로 시작할 수 있습니다.
지금까지 Slack에서 온라인 상태인지 확인하십시오.
Bot 응답
Slack의 적절한 채널에 Bot을 초대하고 "swift"라고 말하십시오.
제대로 작동하고 Bot가 swift의 GitHub 저장소 URL을 반환했습니다!
끝에
Swift에서 Slack Bot을 만드는 방법을 소개했습니다.
CI와 fastlane 등을 연계하면 재미 있군요!
Reference
이 문제에 관하여(【SwiftPM】Swift에서도 Slack Bot을 만들고 싶다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sotozaki/items/e39a7bdd8de6be9cf725
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
XcodeのRun(Cmd + R)
$ swift build
$ ./.build/debug/SwiftBot
SwiftBot is Running
Slack의 적절한 채널에 Bot을 초대하고 "swift"라고 말하십시오.
제대로 작동하고 Bot가 swift의 GitHub 저장소 URL을 반환했습니다!
끝에
Swift에서 Slack Bot을 만드는 방법을 소개했습니다.
CI와 fastlane 등을 연계하면 재미 있군요!
Reference
이 문제에 관하여(【SwiftPM】Swift에서도 Slack Bot을 만들고 싶다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sotozaki/items/e39a7bdd8de6be9cf725
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(【SwiftPM】Swift에서도 Slack Bot을 만들고 싶다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sotozaki/items/e39a7bdd8de6be9cf725텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)