diff options
| author | Adelyn Breedlove <[email protected]> | 2018-12-15 18:02:29 +0000 |
|---|---|---|
| committer | Adelyn Breedlove <[email protected]> | 2018-12-15 18:02:29 +0000 |
| commit | 910ce60bba69b961c82e29ff1bb63bf4d3fe5519 (patch) | |
| tree | 690861418bed15de47e7cf5672d96fdacc9abe5e /lib/models/message.ml | |
| parent | Merge branch 'patch-1' into 'master' (diff) | |
| parent | Merging (diff) | |
| download | disml-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.ml | 43 |
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 |