Swiftpack.co - Package - SlackKit/SKRTMAPI

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.4.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", .upToNextMinor(from: "4.1.0"))
	]
)

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()

Github

link
Stars: 5
Help us keep the lights on

Dependencies

Used By

Total: 0

Releases

4.1.2 - Mar 28, 2018

  • Text escaping fixes

4.1.1 - Feb 8, 2018

  • VaporEngineRTM improvements thanks to @caiofbpa

4.1.0 - Feb 8, 2018

  • Convert to Swift 4
  • Convert to use vapor/engine websockets on linux (thanks @yukiasai 🎉)

4.0.3 - Jul 15, 2017

  • Add support for rtm.connect

4.0.2 - Jul 14, 2017

  • Keep Package.swift up to date by using majorVersion: 4