forked from julienXX/clj-slack
/
reminders.clj
40 lines (31 loc) · 1.14 KB
/
reminders.clj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
(ns clj-slack.reminders
(:require [clj-slack.core :refer [slack-request stringify-keys]])
(:refer-clojure :exclude [list]))
(defn add
"This method creates a reminder.
Optional arguments are:
- user: The user who will receive the reminder. If no user is specified, the reminder will go to user who created it."
([connection text time]
(add connection text time {}))
([connection text time optionals]
(->> optionals
stringify-keys
(merge {"text" text
"time" time})
(slack-request connection "reminders.add"))))
(defn complete
"This method completes a reminder."
[connection reminder]
(slack-request connection "reminders.complete" {"reminder" reminder}))
(defn delete
"This method deletes a reminder."
[connection reminder]
(slack-request connection "reminders.delete" {"reminder" reminder}))
(defn info
"This method returns information about a reminder."
[connection reminder]
(slack-request connection "reminders.info" {"reminder" reminder}))
(defn list
"This method lists all reminders created by or for a given user."
[connection]
(slack-request connection "reminders.list"))