SKRTMAPI 已被整合到 SlackKit 中。

一个用于连接到 Slack 实时消息 API 的模块。

安装

CocoaPods

将 SKRTMAPI 添加到你的 pod 文件

use_frameworks!
pod 'SKRTMAPI'

并运行

# Use CocoaPods version >= 1.4.0
pod install

Carthage

将 SKRTMAPI 添加到你的 Cartfile

github "SlackKit/SKRTMAPI"

并运行

carthage bootstrap

将构建的 SKRTMAPI.framework 拖拽到你的 Xcode 项目中。

Swift Package Manager

将 SKRTMAPI 添加到你的 Package.swift

import PackageDescription
  
let package = Package(
	dependencies: [
		.package(url: "https://github.com/pvzig/SKRTMAPI.git", .upToNextMinor(from: "4.1.0"))
	]
)

在你的应用主目录中运行 swift build

要在你的项目中使用该库,请导入它

import SKRTMAPI

用法

使用 Slack 授权令牌初始化 SKRTMAPI 的一个实例

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

如果你的机器人连接时不需要任何状态信息,请为 withInfo 参数传递 false

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

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

通过遵循 RTMWebSocket 来提供你自己的 WebSocket 实现

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