Connect to the Slack Real Time Messaging API
Swift Ruby
Switch branches/tags
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
SKRTMAPI.xcodeproj
Sources/SKRTMAPI
Supporting Files
.gitignore
.swiftlint.yml
Cartfile
LICENSE
Package.swift
Podfile
README.md
SKRTMAPI.podspec

README.md

SKRTMAPI: SlackKit RTM Module

Swift Version Plaforms License MIT SwiftPM compatible Carthage compatible CocoaPods compatible

A module for connecting to the Slack Real Time Messaging API.

Installation

CocoaPods

Add SKRTMAPI to your pod file:

use_frameworks!
pod 'SKRTMAPI'

and run

# Use CocoaPods version >= 1.1.0
pod install

Carthage

Add SKRTMAPI to your Cartfile:

github "SlackKit/SKRTMAPI"

and run

carthage bootstrap

Drag the built SKRTMAPI.framework into your Xcode project.

Swift Package Manager

Add SKRTMAPI to your Package.swift

import PackageDescription
  
let package = Package(
	dependencies: [
		.Package(url: "https://github.com/SlackKit/SKRTMAPI.git", majorVersion: 4)
	]
)

Run swift build on your application’s main directory.

To use the library in your project import it:

import SKRTMAPI

Usage

Initialize an instance of SKRTMAPI with a Slack auth token:

let rtm = SKRTMAPI(token: "xoxb-SLACK_AUTH_TOKEN")
rtm.connect()

If your bot doesn't need any state information when you connect, pass false for the withInfo parameter:

let rtm = SKRTMAPI(token: "xoxb-SLACK_AUTH_TOKEN")
rtm.connect(withInfo: false)

Customize the connection with RTMOptions:

let options = RTMOptions(simpleLatest: false, noUnreads: false, mpimAware: true, pingInterval: 30, timeout: 300, reconnect: true)
let rtm = SKRTMAPI(token: "xoxb-SLACK_AUTH_TOKEN", options: options)
rtm.connect()

Provide your own web socket implementation by conforming to RTMWebSocket:

public protocol RTMWebSocket {
    init()
    var delegate: RTMDelegate? { get set }
    func connect(url: URL)
    func disconnect()
    func sendMessage(_ message: String) throws
}
let rtmWebSocket = YourRTMWebSocket()
let rtm = SKRTMAPI(token: "xoxb-SLACK_AUTH_TOKEN", rtm: rtmWebSocket)
rtm.connect()