Compare commits

..

35 Commits

Author SHA1 Message Date
Peter Zignego 43dda4a2f0 Update README.md 2017-07-14 16:51:39 -04:00
Peter Zignego 2f0978ccc4 majorVersion 4 2017-07-14 16:47:06 -04:00
Peter Zignego 71c5eda4a1 SwiftLint + gardening 2017-06-09 16:45:22 -04:00
Peter Zignego 4b241374ea Update README.md 2017-06-04 14:22:02 -04:00
Peter Zignego dd07b545c7 Merge branch '4.0'
# Conflicts:
#	Cartfile
#	Package.swift
#	Podfile
#	README.md
#	SlackKit.podspec
#	SlackKit.xcodeproj/project.pbxproj
#	Sources/SlackKit/Model/Message.swift
#	Sources/SlackKit/Model/User.swift
#	Sources/SlackKit/NetworkInterface.swift
#	Sources/SlackKit/WebAPI.swift
#	Supporting Files/Info.plist
2017-06-04 13:16:25 -04:00
Peter Zignego af4ba6623c Carthage support 2017-06-04 13:12:24 -04:00
Peter Zignego d8d22f6083 Update .swift-version 2017-06-03 18:02:24 -04:00
Peter Zignego 6fcfe2fda4 Update README.md 2017-06-02 23:08:38 -04:00
Peter Zignego 3ee4e0fd1d Update README.md 2017-05-26 13:28:23 -04:00
Peter Zignego 79457aa13d Merge pull request #90 from skagedal/master
Add support for status text and status emoji
2017-04-15 10:27:34 -04:00
Simon Kågedal Reimer ac2657b7e1 Add support for status text and status emoji 2017-04-14 21:02:54 +02:00
Peter Zignego 82130f2e67 Merge pull request #89 from johntmcintosh/threads
Add support for the `thread_ts` parameter used to indicate and track threaded conversations
2017-04-11 21:41:46 -04:00
John McIntosh b9573c4e8b Add support for the thread_ts parameter used to indicate and track threaded conversations 2017-04-11 09:57:39 -05:00
Peter Zignego 6481620e7a Bump podspec 2017-04-09 17:16:46 -04:00
Peter Zignego 35e7ead8d1 Merge branch 'master' of https://github.com/pvzig/SlackKit 2017-04-09 17:14:46 -04:00
Peter Zignego 0f896fdaee xcodeproj gardening 2017-04-09 17:14:36 -04:00
Peter Zignego 8a4fceaa00 Swift 3.1 gardening 2017-04-09 17:12:08 -04:00
Peter Zignego 6007f790db Update README.md 2017-04-09 17:10:53 -04:00
Peter Zignego 05e7f2baa3 Merge pull request #88 from Xiangxin/swift3.1
Swift 3.1 initial update
2017-04-09 16:51:31 -04:00
Xiangxin 39871172e9 Adapt swift 3.1 changes and fix warnings 2017-03-30 14:50:26 +08:00
Peter Zignego 491f80741b Update podspec 2017-03-19 19:32:39 -04:00
Peter Zignego 0eb9ea31e1 3.1.11 2017-03-19 19:11:16 -04:00
Peter Zignego 8865376c3c Merge branch 'master' of https://github.com/pvzig/SlackKit 2017-03-18 15:21:42 -04:00
Peter Zignego d86d0108ff Update podfile 2017-03-18 15:21:01 -04:00
Peter Zignego b45b7085ce Update Package.swift 2017-03-18 15:17:30 -04:00
Peter Zignego 91193c6b2e Update podspec 2017-03-18 14:07:58 -04:00
Peter Zignego 9720b1c05c Merge branch 'master' of https://github.com/pvzig/SlackKit 2017-03-18 12:20:55 -04:00
Peter Zignego 9766a5ad6c Bump version strings 2017-03-18 12:20:48 -04:00
Peter Zignego 1e181e7580 Update README.md 2017-03-18 12:07:10 -04:00
Peter Zignego f6d6c779ae Update dependencies 2017-03-18 11:14:56 -04:00
Peter Zignego 11bb50f8d2 Delete Podfile.lock 2017-03-13 11:56:05 -04:00
Peter Zignego d721e0ba1a Delete Cartfile.resolved 2017-03-13 11:55:54 -04:00
Peter Zignego ba6066875c Update Package.swift 2017-03-13 11:55:40 -04:00
Peter Zignego 0f1a1a9de5 Update Cartfile 2017-03-13 11:54:43 -04:00
Peter Zignego a81cebf5c8 Update Podfile 2017-03-13 11:54:05 -04:00
6 changed files with 199 additions and 19 deletions
+7
View File
@@ -0,0 +1,7 @@
disabled_rules:
- identifier_name
- function_parameter_count
line_length: 140
excluded: # paths to ignore during linting. Takes precedence over `included`.
- Carthage
- Pods
+4
View File
@@ -0,0 +1,4 @@
github "SlackKit/SKCore" >= 4.0.0
github "SlackKit/SKClient" >= 4.0.0
github "SlackKit/SKRTMAPI" >= 4.0.0
github "SlackKit/SKServer" >= 4.0.0
+4 -4
View File
@@ -6,9 +6,9 @@ let package = Package(
Target(name: "SlackKit")
],
dependencies: [
.Package(url: "https://github.com/SlackKit/SKCore", "4.0.0"),
.Package(url: "https://github.com/SlackKit/SKClient", "4.0.0"),
.Package(url: "https://github.com/SlackKit/SKRTMAPI", "4.0.0"),
.Package(url: "https://github.com/SlackKit/SKServer", "4.0.0")
.Package(url: "https://github.com/SlackKit/SKCore", majorVersion: 4),
.Package(url: "https://github.com/SlackKit/SKClient", majorVersion: 4),
.Package(url: "https://github.com/SlackKit/SKRTMAPI", majorVersion: 4),
.Package(url: "https://github.com/SlackKit/SKServer", majorVersion: 4)
]
)
+3 -2
View File
@@ -25,7 +25,7 @@ import PackageDescription
let package = Package(
dependencies: [
.Package(url: "https://github.com/SlackKit/SlackKit.git", "4.0.0")
.Package(url: "https://github.com/SlackKit/SlackKit.git", majorVersion: 4)
]
)
```
@@ -196,8 +196,9 @@ Dont need the whole banana? Want more control over the low-level implementati
### Examples
You can find the source code for several example applications [here](https://github.com/SlackKit/Examples).
### Tutorials
Coming soon!
- [Build a Slack Bot and Deploy to Heroku](https://medium.com/@pvzig/building-slack-bots-in-swift-b99e243e444c)
### Get In Touch
Twitter: [@pvzig](https://twitter.com/pvzig)
+164
View File
@@ -10,6 +10,27 @@
266687051E95CB9F00777D94 /* SlackKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 266687041E95CB9F00777D94 /* SlackKit.swift */; };
266687061E95CB9F00777D94 /* SlackKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 266687041E95CB9F00777D94 /* SlackKit.swift */; };
266687071E95CB9F00777D94 /* SlackKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 266687041E95CB9F00777D94 /* SlackKit.swift */; };
26D1C4FE1EE476C600C95954 /* SKClient.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26D1C4F71EE476C600C95954 /* SKClient.framework */; };
26D1C4FF1EE476C600C95954 /* SKCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26D1C4F81EE476C600C95954 /* SKCore.framework */; };
26D1C5001EE476C600C95954 /* SKRTMAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26D1C4F91EE476C600C95954 /* SKRTMAPI.framework */; };
26D1C5011EE476C600C95954 /* SKServer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26D1C4FA1EE476C600C95954 /* SKServer.framework */; };
26D1C5021EE476C600C95954 /* SKWebAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26D1C4FB1EE476C600C95954 /* SKWebAPI.framework */; };
26D1C5031EE476C600C95954 /* Starscream.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26D1C4FC1EE476C600C95954 /* Starscream.framework */; };
26D1C5041EE476C600C95954 /* Swifter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26D1C4FD1EE476C600C95954 /* Swifter.framework */; };
26D1C50C1EE476D200C95954 /* SKClient.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26D1C5051EE476D200C95954 /* SKClient.framework */; };
26D1C50D1EE476D200C95954 /* SKCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26D1C5061EE476D200C95954 /* SKCore.framework */; };
26D1C50E1EE476D200C95954 /* SKRTMAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26D1C5071EE476D200C95954 /* SKRTMAPI.framework */; };
26D1C50F1EE476D200C95954 /* SKServer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26D1C5081EE476D200C95954 /* SKServer.framework */; };
26D1C5101EE476D200C95954 /* SKWebAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26D1C5091EE476D200C95954 /* SKWebAPI.framework */; };
26D1C5111EE476D200C95954 /* Starscream.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26D1C50A1EE476D200C95954 /* Starscream.framework */; };
26D1C5121EE476D200C95954 /* Swifter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26D1C50B1EE476D200C95954 /* Swifter.framework */; };
26D1C51A1EE476DD00C95954 /* SKClient.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26D1C5131EE476DD00C95954 /* SKClient.framework */; };
26D1C51B1EE476DD00C95954 /* SKCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26D1C5141EE476DD00C95954 /* SKCore.framework */; };
26D1C51C1EE476DD00C95954 /* SKRTMAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26D1C5151EE476DD00C95954 /* SKRTMAPI.framework */; };
26D1C51D1EE476DD00C95954 /* SKServer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26D1C5161EE476DD00C95954 /* SKServer.framework */; };
26D1C51E1EE476DD00C95954 /* SKWebAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26D1C5171EE476DD00C95954 /* SKWebAPI.framework */; };
26D1C51F1EE476DD00C95954 /* Starscream.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26D1C5181EE476DD00C95954 /* Starscream.framework */; };
26D1C5201EE476DD00C95954 /* Swifter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26D1C5191EE476DD00C95954 /* Swifter.framework */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
@@ -18,6 +39,27 @@
2684F1E41E95ABD400536DCC /* SlackKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SlackKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
2684F2081E95ABD600536DCC /* SlackKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SlackKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
2684F20D1E95AF8C00536DCC /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
26D1C4F71EE476C600C95954 /* SKClient.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SKClient.framework; path = Carthage/Build/Mac/SKClient.framework; sourceTree = "<group>"; };
26D1C4F81EE476C600C95954 /* SKCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SKCore.framework; path = Carthage/Build/Mac/SKCore.framework; sourceTree = "<group>"; };
26D1C4F91EE476C600C95954 /* SKRTMAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SKRTMAPI.framework; path = Carthage/Build/Mac/SKRTMAPI.framework; sourceTree = "<group>"; };
26D1C4FA1EE476C600C95954 /* SKServer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SKServer.framework; path = Carthage/Build/Mac/SKServer.framework; sourceTree = "<group>"; };
26D1C4FB1EE476C600C95954 /* SKWebAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SKWebAPI.framework; path = Carthage/Build/Mac/SKWebAPI.framework; sourceTree = "<group>"; };
26D1C4FC1EE476C600C95954 /* Starscream.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Starscream.framework; path = Carthage/Build/Mac/Starscream.framework; sourceTree = "<group>"; };
26D1C4FD1EE476C600C95954 /* Swifter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Swifter.framework; path = Carthage/Build/Mac/Swifter.framework; sourceTree = "<group>"; };
26D1C5051EE476D200C95954 /* SKClient.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SKClient.framework; path = Carthage/Build/iOS/SKClient.framework; sourceTree = "<group>"; };
26D1C5061EE476D200C95954 /* SKCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SKCore.framework; path = Carthage/Build/iOS/SKCore.framework; sourceTree = "<group>"; };
26D1C5071EE476D200C95954 /* SKRTMAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SKRTMAPI.framework; path = Carthage/Build/iOS/SKRTMAPI.framework; sourceTree = "<group>"; };
26D1C5081EE476D200C95954 /* SKServer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SKServer.framework; path = Carthage/Build/iOS/SKServer.framework; sourceTree = "<group>"; };
26D1C5091EE476D200C95954 /* SKWebAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SKWebAPI.framework; path = Carthage/Build/iOS/SKWebAPI.framework; sourceTree = "<group>"; };
26D1C50A1EE476D200C95954 /* Starscream.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Starscream.framework; path = Carthage/Build/iOS/Starscream.framework; sourceTree = "<group>"; };
26D1C50B1EE476D200C95954 /* Swifter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Swifter.framework; path = Carthage/Build/iOS/Swifter.framework; sourceTree = "<group>"; };
26D1C5131EE476DD00C95954 /* SKClient.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SKClient.framework; path = Carthage/Build/tvOS/SKClient.framework; sourceTree = "<group>"; };
26D1C5141EE476DD00C95954 /* SKCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SKCore.framework; path = Carthage/Build/tvOS/SKCore.framework; sourceTree = "<group>"; };
26D1C5151EE476DD00C95954 /* SKRTMAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SKRTMAPI.framework; path = Carthage/Build/tvOS/SKRTMAPI.framework; sourceTree = "<group>"; };
26D1C5161EE476DD00C95954 /* SKServer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SKServer.framework; path = Carthage/Build/tvOS/SKServer.framework; sourceTree = "<group>"; };
26D1C5171EE476DD00C95954 /* SKWebAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SKWebAPI.framework; path = Carthage/Build/tvOS/SKWebAPI.framework; sourceTree = "<group>"; };
26D1C5181EE476DD00C95954 /* Starscream.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Starscream.framework; path = Carthage/Build/tvOS/Starscream.framework; sourceTree = "<group>"; };
26D1C5191EE476DD00C95954 /* Swifter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Swifter.framework; path = Carthage/Build/tvOS/Swifter.framework; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -25,6 +67,13 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
26D1C4FE1EE476C600C95954 /* SKClient.framework in Frameworks */,
26D1C4FF1EE476C600C95954 /* SKCore.framework in Frameworks */,
26D1C5001EE476C600C95954 /* SKRTMAPI.framework in Frameworks */,
26D1C5011EE476C600C95954 /* SKServer.framework in Frameworks */,
26D1C5021EE476C600C95954 /* SKWebAPI.framework in Frameworks */,
26D1C5031EE476C600C95954 /* Starscream.framework in Frameworks */,
26D1C5041EE476C600C95954 /* Swifter.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -32,6 +81,13 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
26D1C50C1EE476D200C95954 /* SKClient.framework in Frameworks */,
26D1C50D1EE476D200C95954 /* SKCore.framework in Frameworks */,
26D1C50E1EE476D200C95954 /* SKRTMAPI.framework in Frameworks */,
26D1C50F1EE476D200C95954 /* SKServer.framework in Frameworks */,
26D1C5101EE476D200C95954 /* SKWebAPI.framework in Frameworks */,
26D1C5111EE476D200C95954 /* Starscream.framework in Frameworks */,
26D1C5121EE476D200C95954 /* Swifter.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -39,6 +95,13 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
26D1C51A1EE476DD00C95954 /* SKClient.framework in Frameworks */,
26D1C51B1EE476DD00C95954 /* SKCore.framework in Frameworks */,
26D1C51C1EE476DD00C95954 /* SKRTMAPI.framework in Frameworks */,
26D1C51D1EE476DD00C95954 /* SKServer.framework in Frameworks */,
26D1C51E1EE476DD00C95954 /* SKWebAPI.framework in Frameworks */,
26D1C51F1EE476DD00C95954 /* Starscream.framework in Frameworks */,
26D1C5201EE476DD00C95954 /* Swifter.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -58,6 +121,7 @@
children = (
2684F17F1E95AA6900536DCC /* SlackKit */,
2684F17E1E95AA6900536DCC /* Products */,
26D1C4F61EE476C600C95954 /* Frameworks */,
);
sourceTree = "<group>";
};
@@ -89,6 +153,34 @@
path = "Supporting Files";
sourceTree = SOURCE_ROOT;
};
26D1C4F61EE476C600C95954 /* Frameworks */ = {
isa = PBXGroup;
children = (
26D1C5131EE476DD00C95954 /* SKClient.framework */,
26D1C5141EE476DD00C95954 /* SKCore.framework */,
26D1C5151EE476DD00C95954 /* SKRTMAPI.framework */,
26D1C5161EE476DD00C95954 /* SKServer.framework */,
26D1C5171EE476DD00C95954 /* SKWebAPI.framework */,
26D1C5181EE476DD00C95954 /* Starscream.framework */,
26D1C5191EE476DD00C95954 /* Swifter.framework */,
26D1C5051EE476D200C95954 /* SKClient.framework */,
26D1C5061EE476D200C95954 /* SKCore.framework */,
26D1C5071EE476D200C95954 /* SKRTMAPI.framework */,
26D1C5081EE476D200C95954 /* SKServer.framework */,
26D1C5091EE476D200C95954 /* SKWebAPI.framework */,
26D1C50A1EE476D200C95954 /* Starscream.framework */,
26D1C50B1EE476D200C95954 /* Swifter.framework */,
26D1C4F71EE476C600C95954 /* SKClient.framework */,
26D1C4F81EE476C600C95954 /* SKCore.framework */,
26D1C4F91EE476C600C95954 /* SKRTMAPI.framework */,
26D1C4FA1EE476C600C95954 /* SKServer.framework */,
26D1C4FB1EE476C600C95954 /* SKWebAPI.framework */,
26D1C4FC1EE476C600C95954 /* Starscream.framework */,
26D1C4FD1EE476C600C95954 /* Swifter.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
@@ -124,6 +216,7 @@
2684F1791E95AA6900536DCC /* Frameworks */,
2684F17A1E95AA6900536DCC /* Headers */,
2684F17B1E95AA6900536DCC /* Resources */,
2668B5151EEB3FC40082DE33 /* SwiftLint */,
);
buildRules = (
);
@@ -142,6 +235,7 @@
2684F1DE1E95ABD400536DCC /* Frameworks */,
2684F1DF1E95ABD400536DCC /* Headers */,
2684F1E01E95ABD400536DCC /* Resources */,
2668B5161EEB3FCF0082DE33 /* SwiftLint */,
);
buildRules = (
);
@@ -160,6 +254,7 @@
2684F2021E95ABD600536DCC /* Frameworks */,
2684F2031E95ABD600536DCC /* Headers */,
2684F2041E95ABD600536DCC /* Resources */,
2668B5171EEB3FD90082DE33 /* SwiftLint */,
);
buildRules = (
);
@@ -234,6 +329,51 @@
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
2668B5151EEB3FC40082DE33 /* SwiftLint */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = SwiftLint;
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "if which swiftlint >/dev/null; then\n swiftlint\nelse\n echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi";
};
2668B5161EEB3FCF0082DE33 /* SwiftLint */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = SwiftLint;
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "if which swiftlint >/dev/null; then\n swiftlint\nelse\n echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi";
};
2668B5171EEB3FD90082DE33 /* SwiftLint */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = SwiftLint;
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "if which swiftlint >/dev/null; then\n swiftlint\nelse\n echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
2684F1781E95AA6900536DCC /* Sources */ = {
isa = PBXSourcesBuildPhase;
@@ -370,6 +510,10 @@
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/Mac",
);
FRAMEWORK_VERSION = A;
INFOPLIST_FILE = "$(SRCROOT)/Supporting Files/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
@@ -393,6 +537,10 @@
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/Mac",
);
FRAMEWORK_VERSION = A;
INFOPLIST_FILE = "$(SRCROOT)/Supporting Files/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
@@ -416,6 +564,10 @@
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/iOS",
);
FRAMEWORK_VERSION = A;
INFOPLIST_FILE = "$(SRCROOT)/Supporting Files/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
@@ -439,6 +591,10 @@
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/iOS",
);
FRAMEWORK_VERSION = A;
INFOPLIST_FILE = "$(SRCROOT)/Supporting Files/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
@@ -462,6 +618,10 @@
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/tvOS",
);
FRAMEWORK_VERSION = A;
INFOPLIST_FILE = "$(SRCROOT)/Supporting Files/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
@@ -485,6 +645,10 @@
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Carthage/Build/tvOS",
);
FRAMEWORK_VERSION = A;
INFOPLIST_FILE = "$(SRCROOT)/Supporting Files/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+17 -13
View File
@@ -29,29 +29,33 @@ import Foundation
@_exported import SKWebAPI
public final class SlackKit: RTMAdapter {
public typealias EventClosure = (Event, Client?) -> Void
internal typealias TypedEvent = (EventType, EventClosure)
internal var callbacks = [TypedEvent]()
internal(set) public var rtm: SKRTMAPI?
internal(set) public var server: SKServer?
internal(set) public var webAPI: WebAPI?
internal(set) public var clients: [String: Client] = [:]
public init() {}
public func addWebAPIAccessWithToken(_ token: String) {
self.webAPI = WebAPI(token: token)
}
public func addRTMBotWithAPIToken(_ token: String, client: Client? = Client(), options: RTMOptions = RTMOptions(), rtm: RTMWebSocket? = nil) {
public func addRTMBotWithAPIToken(
_ token: String,
client: Client? = Client(),
options: RTMOptions = RTMOptions(),
rtm: RTMWebSocket? = nil
) {
self.rtm = SKRTMAPI(withAPIToken: token, options: options, rtm: rtm)
self.rtm?.adapter = self
clients[token] = client
self.rtm?.connect()
}
public func addServer(_ server: SlackKitServer? = nil, responder: SlackKitResponder? = nil, oauth: OAuthConfig? = nil) {
var responder: SlackKitResponder = responder ?? SlackKitResponder(routes: [])
if let oauth = oauth {
@@ -60,7 +64,7 @@ public final class SlackKit: RTMAdapter {
self.server = SKServer(server: server, responder: responder)
self.server?.start()
}
private func oauthRequestRoute(config: OAuthConfig) -> RequestRoute {
let oauth = OAuthMiddleware(config: config) { authorization in
// User
@@ -78,23 +82,23 @@ public final class SlackKit: RTMAdapter {
}
return RequestRoute(path: "/oauth", middleware: oauth)
}
//MARK: - RTM Adapter
// MARK: - RTM Adapter
public func initialSetup(json: [String: Any], instance: SKRTMAPI) {
clients[instance.token]?.initialSetup(JSON: json)
}
public func notificationForEvent(_ event: Event, type: EventType, instance: SKRTMAPI) {
let client = clients[instance.token]
client?.notificationForEvent(event, type: type)
executeCallbackForEvent(event, type: type, client: client)
}
//MARK: - Callbacks
// MARK: - Callbacks
public func notificationForEvent(_ type: EventType, event: @escaping EventClosure) {
callbacks.append((type, event))
}
private func executeCallbackForEvent(_ event: Event, type: EventType, client: Client?) {
let cbs = callbacks.filter {$0.0 == type}
for callback in cbs {