aboutsummaryrefslogtreecommitdiff
path: root/lib/models/message.ml
diff options
context:
space:
mode:
authorAdelyn Breedlove <[email protected]>2018-12-15 18:02:29 +0000
committerAdelyn Breedlove <[email protected]>2018-12-15 18:02:29 +0000
commit910ce60bba69b961c82e29ff1bb63bf4d3fe5519 (patch)
tree690861418bed15de47e7cf5672d96fdacc9abe5e /lib/models/message.ml
parentMerge branch 'patch-1' into 'master' (diff)
parentMerging (diff)
downloaddisml-910ce60bba69b961c82e29ff1bb63bf4d3fe5519.tar.xz
disml-910ce60bba69b961c82e29ff1bb63bf4d3fe5519.zip
Merge branch 'dev' into 'master'
Merge first semi-usable state of dev-branch in a while See merge request Mishio595/disml!10
Diffstat (limited to 'lib/models/message.ml')
-rw-r--r--lib/models/message.ml43
1 files changed, 43 insertions, 0 deletions
diff --git a/lib/models/message.ml b/lib/models/message.ml
new file mode 100644
index 0000000..29148ee
--- /dev/null
+++ b/lib/models/message.ml
@@ -0,0 +1,43 @@
+module Make(Http : S.Http) = struct
+ open Message_t
+
+ let add_reaction msg (emoji:Emoji_t.t) =
+ let e = match emoji.id with
+ | Some i -> Printf.sprintf "%s:%d" emoji.name i
+ | None -> emoji.name
+ in
+ Http.create_reaction msg.channel_id msg.id e
+
+ let remove_reaction msg (emoji:Emoji_t.t) (user:User_t.t) =
+ let e = match emoji.id with
+ | Some i -> Printf.sprintf "%s:%d" emoji.name i
+ | None -> emoji.name
+ in
+ Http.delete_reaction msg.channel_id msg.id e user.id
+
+ let clear_reactions msg =
+ Http.delete_reactions msg.channel_id msg.id
+
+ let delete msg =
+ Http.delete_message msg.channel_id msg.id
+
+ let pin msg =
+ Http.pin_message msg.channel_id msg.id
+
+ let unpin msg =
+ Http.unpin_message msg.channel_id msg.id
+
+ let reply msg cont =
+ let rep = `Assoc [("content", `String cont)] in
+ Http.create_message msg.channel_id rep
+
+ let set_content msg cont =
+ Message_j.string_of_t { msg with content = cont; }
+ |> Yojson.Safe.from_string
+ |> Http.edit_message msg.channel_id msg.id
+
+ let set_embed msg embed =
+ Message_j.string_of_t { msg with embeds = [embed]; }
+ |> Yojson.Safe.from_string
+ |> Http.edit_message msg.channel_id msg.id
+end \ No newline at end of file