# SKWebAPI Make requests to the [Slack Web API](https://api.slack.com/web) in Swift. ## Installation
Swift Package Manager Add SlackKit as a dependency to your Package.swift and specify SKWebAPI as a target dependency: ```swift import PackageDescription let package = Package( name: "SampleApp", products: [ .executable( name: "SampleApp", targets: ["SampleApp"]), ], dependencies: [ .package(url: "https://github.com/pvzig/SlackKit.git", .upToNextMinor(from: "4.2.0")), ], targets: [ .target( name: "SampleApp", dependencies: ["SKWebAPI"]) ] ) ```
Carthage Add SlackKit to your Cartfile: ``` github "pvzig/SlackKit" ``` and run ``` carthage bootstrap ``` Drag the built SKWebAPI.framework and it's dependency SKCore.framework into your Xcode project.
CocoaPods Add SKWebAPI to your Podfile: ``` use_frameworks! pod 'SlackKit/SKWebAPI' ```
## Usage To use the library in your project import it: #### Carthage & SPM ```swift import SKWebAPI ``` #### CocoaPods ```swift import SlackKit ``` ### The Basics Initialize an instance of `SKWebAPI` with a Slack auth token and make your requests: ```swift let webAPI = WebAPI(token: xoxp-SLACK_AUTH_TOKEN) webAPI.authenticationTest(success: { (user, team) in print("\(user) - \(team)") }, failure: nil) ``` ### Web API Methods SlackKit currently supports the a subset of the Slack Web API that is available to bot users: | Web APIs | | ------------- | | `api.test`| | `api.revoke`| | `auth.test`| | `channels.history`| | `channels.info`| | `channels.list`| | `channels.mark`| | `channels.create`| | `channels.invite`| | `channels.setPurpose`| | `channels.setTopic`| | `chat.delete`| | `chat.meMessage`| | `chat.postMessage`| | `chat.update`| | `emoji.list`| | `files.comments.add`| | `files.comments.edit`| | `files.comments.delete`| | `files.delete`| | `files.info`| | `files.upload`| | `groups.close`| | `groups.history`| | `groups.info`| | `groups.list`| | `groups.mark`| | `groups.open`| | `groups.setPurpose`| | `groups.setTopic`| | `im.close`| | `im.history`| | `im.list`| | `im.mark`| | `im.open`| | `mpim.close`| | `mpim.history`| | `mpim.list`| | `mpim.mark`| | `mpim.open`| | `oauth.access`| | `pins.add`| | `pins.list`| | `pins.remove`| | `reactions.add`| | `reactions.get`| | `reactions.list`| | `reactions.remove`| | `rtm.start`| | `stars.add`| | `stars.remove`| | `team.info`| | `users.getPresence`| | `users.info`| | `users.list`| | `users.setActive`| | `users.setPresence`|