Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 72866262d2 | |||
| acabbb6c03 | |||
| cf0675dac2 | |||
| 1cffa0ba74 |
@@ -152,6 +152,7 @@ SlackKit currently supports the a subset of the Slack Web APIs that are availabl
|
||||
- channels.setPurpose
|
||||
- channels.setTopic
|
||||
- chat.delete
|
||||
- chat.meMessage
|
||||
- chat.postMessage
|
||||
- chat.update
|
||||
- emoji.list
|
||||
|
||||
@@ -47,11 +47,10 @@ internal extension Dictionary where Key: ExpressibleByStringLiteral, Value: Any
|
||||
for key in self.keys {
|
||||
if let value = self[key] as? String, let encodedValue = value.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlHostAllowed) {
|
||||
requestString += "&\(key)=\(encodedValue)"
|
||||
} else if let value = self[key] as? Int {
|
||||
} else if let value = self[key] {
|
||||
requestString += "&\(key)=\(value)"
|
||||
}
|
||||
}
|
||||
|
||||
return requestString
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,6 +36,7 @@ internal enum Endpoint: String {
|
||||
case ChannelsSetTopic = "channels.setTopic"
|
||||
case ChatDelete = "chat.delete"
|
||||
case ChatPostMessage = "chat.postMessage"
|
||||
case ChatMeMessage = "chat.meMessage"
|
||||
case ChatUpdate = "chat.update"
|
||||
case DNDInfo = "dnd.info"
|
||||
case DNDTeamInfo = "dnd.teamInfo"
|
||||
@@ -231,6 +232,16 @@ public final class WebAPI {
|
||||
}
|
||||
}
|
||||
|
||||
public func sendMeMessage(_ channel: String, text: String, success: (((ts: String?, channel: String?))->Void)?, failure: FailureClosure?) {
|
||||
let parameters: [String: Any?] = ["channel": channel, "text": text.slackFormatEscaping]
|
||||
networkInterface.request(.ChatMeMessage, token: token, parameters: WebAPI.filterNilParameters(parameters), successClosure: {
|
||||
(response) -> Void in
|
||||
success?((ts: response["ts"] as? String, response["channel"] as? String))
|
||||
}) {(error) -> Void in
|
||||
failure?(error)
|
||||
}
|
||||
}
|
||||
|
||||
public func updateMessage(_ channel: String, ts: String, message: String, attachments: [Attachment?]? = nil, parse:ParseMode = .None, linkNames: Bool = false, success: ((_ updated: Bool)->Void)?, failure: FailureClosure?) {
|
||||
let parameters: [String: Any?] = ["channel": channel, "ts": ts, "text": message.slackFormatEscaping, "parse": parse.rawValue, "link_names": linkNames, "attachments": encodeAttachments(attachments)]
|
||||
networkInterface.request(.ChatUpdate, token: token, parameters: WebAPI.filterNilParameters(parameters), successClosure: {
|
||||
|
||||
Reference in New Issue
Block a user