aboutsummaryrefslogtreecommitdiff
path: root/lib/models/channel/message/message.ml
diff options
context:
space:
mode:
authorAdelyn Breedlove <[email protected]>2019-01-27 14:09:33 -0700
committerAdelyn Breedlove <[email protected]>2019-01-27 14:09:33 -0700
commitfbd3597c7ab798cf10a447eb2b477dd4e3ed6d33 (patch)
tree16d1ef889e9c6f1090dd911e6fb31392625066c2 /lib/models/channel/message/message.ml
parenthopeful reconnection fix (diff)
downloaddisml-fbd3597c7ab798cf10a447eb2b477dd4e3ed6d33.tar.xz
disml-fbd3597c7ab798cf10a447eb2b477dd4e3ed6d33.zip
Switch to ID abstractions internally
Diffstat (limited to 'lib/models/channel/message/message.ml')
-rw-r--r--lib/models/channel/message/message.ml61
1 files changed, 29 insertions, 32 deletions
diff --git a/lib/models/channel/message/message.ml b/lib/models/channel/message/message.ml
index 39ee0f3..a64c09d 100644
--- a/lib/models/channel/message/message.ml
+++ b/lib/models/channel/message/message.ml
@@ -1,70 +1,67 @@
-open Core
open Async
include Message_t
let add_reaction msg (emoji:Emoji.t) =
+ let `Message_id id = msg.id in
+ let `Channel_id channel_id = msg.channel_id in
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
+ Http.create_reaction channel_id id e
let remove_reaction msg (emoji:Emoji.t) (user:User_t.t) =
+ let `Message_id id = msg.id in
+ let `Channel_id channel_id = msg.channel_id in
+ let `User_id user_id = user.id in
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
+ Http.delete_reaction channel_id id e user_id
let clear_reactions msg =
- Http.delete_reactions msg.channel_id msg.id
+ let `Message_id id = msg.id in
+ let `Channel_id channel_id = msg.channel_id in
+ Http.delete_reactions channel_id id
let delete msg =
- Http.delete_message msg.channel_id msg.id
+ let `Message_id id = msg.id in
+ let `Channel_id channel_id = msg.channel_id in
+ Http.delete_message channel_id id
let pin msg =
- Http.pin_message msg.channel_id msg.id
+ let `Message_id id = msg.id in
+ let `Channel_id channel_id = msg.channel_id in
+ Http.pin_message channel_id id
let unpin msg =
- Http.unpin_message msg.channel_id msg.id
+ let `Message_id id = msg.id in
+ let `Channel_id channel_id = msg.channel_id in
+ Http.unpin_message channel_id id
-let reply msg cont =
- let rep = `Assoc [("content", `String cont)] in
- Http.create_message msg.channel_id rep
-
+let reply msg content =
+ Channel_id.say content msg.channel_id
-let reply_with ?embed ?content ?file ?(tts=false) msg =
- let embed = match embed with
- | Some e -> Embed.to_yojson e
- | None -> `Null in
- let content = match content with
- | Some c -> `String c
- | None -> `Null in
- let file = match file with
- | Some f -> `String f
- | None -> `Null in
- let () = match embed, content with
- | `Null, `Null -> raise Channel.Invalid_message
- | _ -> () in
- Http.create_message (msg.channel_id) (`Assoc [
- ("embed", embed);
- ("content", content);
- ("file", file);
- ("tts", `Bool tts);
- ])
+let reply_with ?embed ?content ?file ?tts msg =
+ Channel_id.send_message ?embed ?content ?file ?tts msg.channel_id
let set_content msg cont =
+ let `Message_id id = msg.id in
+ let `Channel_id channel_id = msg.channel_id in
to_yojson { msg with content = cont; }
- |> Http.edit_message msg.channel_id msg.id
+ |> Http.edit_message channel_id id
let set_embed msg embed =
+ let `Message_id id = msg.id in
+ let `Channel_id channel_id = msg.channel_id in
to_yojson { msg with embeds = [embed]; }
- |> Http.edit_message msg.channel_id msg.id
+ |> Http.edit_message channel_id id
\ No newline at end of file