diff options
| author | Adelyn Breedlove <[email protected]> | 2019-01-16 23:36:59 -0700 |
|---|---|---|
| committer | Adelyn Breedlove <[email protected]> | 2019-01-16 23:36:59 -0700 |
| commit | 6354dbd89d354e5e2499b4c2bea5d5fa95e020df (patch) | |
| tree | a0fd199097bdc675628d5bd735017d92d2067e08 /lib/models/message.ml | |
| parent | Merge branch 'switch-to-deriving_yojson' into 'master' (diff) | |
| download | disml-6354dbd89d354e5e2499b4c2bea5d5fa95e020df.tar.xz disml-6354dbd89d354e5e2499b4c2bea5d5fa95e020df.zip | |
eliminate all functors in favour of a simpler approach
Diffstat (limited to 'lib/models/message.ml')
| -rw-r--r-- | lib/models/message.ml | 82 |
1 files changed, 40 insertions, 42 deletions
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 |