From 6354dbd89d354e5e2499b4c2bea5d5fa95e020df Mon Sep 17 00:00:00 2001 From: Adelyn Breedlove Date: Wed, 16 Jan 2019 23:36:59 -0700 Subject: eliminate all functors in favour of a simpler approach --- lib/models/message.ml | 82 +++++++++++++++++++++++++-------------------------- 1 file changed, 40 insertions(+), 42 deletions(-) (limited to 'lib/models/message.ml') diff --git a/lib/models/message.ml b/lib/models/message.ml index bce361c..6cb54b4 100644 --- a/lib/models/message.ml +++ b/lib/models/message.ml @@ -1,42 +1,40 @@ -module Make(Http : S.Http) = struct - open Async - include Message_t - - let add_reaction msg (emoji:Emoji.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) (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 = - to_yojson { msg with content = cont; } - |> Http.edit_message msg.channel_id msg.id - - let set_embed msg embed = - to_yojson { msg with embeds = [embed]; } - |> Http.edit_message msg.channel_id msg.id -end \ No newline at end of file +open Async +include Message_t + +let add_reaction msg (emoji:Emoji.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) (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 = + to_yojson { msg with content = cont; } + |> Http.edit_message msg.channel_id msg.id + +let set_embed msg embed = + to_yojson { msg with embeds = [embed]; } + |> Http.edit_message msg.channel_id msg.id \ No newline at end of file -- cgit v1.2.3