diff --git a/SKWebAPI/Sources/Endpoint.swift b/SKWebAPI/Sources/Endpoint.swift index 784b20e..b5b4cab 100755 --- a/SKWebAPI/Sources/Endpoint.swift +++ b/SKWebAPI/Sources/Endpoint.swift @@ -35,6 +35,7 @@ public enum Endpoint: String { case channelsSetTopic = "channels.setTopic" case chatDelete = "chat.delete" case chatPostMessage = "chat.postMessage" + case chatPostEphemeral = "chat.postEphemeral" case chatMeMessage = "chat.meMessage" case chatUpdate = "chat.update" case conversationsList = "conversations.list" diff --git a/SKWebAPI/Sources/WebAPI.swift b/SKWebAPI/Sources/WebAPI.swift index f5e1768..2747f22 100755 --- a/SKWebAPI/Sources/WebAPI.swift +++ b/SKWebAPI/Sources/WebAPI.swift @@ -312,6 +312,34 @@ extension WebAPI { failure?(error) } } + + public func sendEphemeral( + channel: String, + text: String, + user: String, + asUser: Bool? = nil, + attachments: [Attachment?]? = nil, + linkNames: Bool? = nil, + parse: ParseMode? = nil, + success: (((ts: String?, channel: String?)) -> Void)?, + failure: FailureClosure? + ) { + let parameters: [String: Any?] = [ + "token": token, + "channel": channel, + "text": text, + "user": user, + "as_user": asUser, + "attachments": encodeAttachments(attachments), + "link_names": linkNames, + "parse": parse?.rawValue, + ] + networkInterface.request(.chatPostEphemeral, parameters: parameters, successClosure: {(response) in + success?((ts: response["sendMessage"] as? String, response["channel"] as? String)) + }) {(error) in + failure?(error) + } + } public func sendMeMessage( channel: String,