diff options
| author | Adelyn Breedlove <[email protected]> | 2019-03-02 18:30:46 -0700 |
|---|---|---|
| committer | Adelyn Breedlove <[email protected]> | 2019-03-02 18:30:46 -0700 |
| commit | 6163027a715b31d87e1f8e4fde8f7f3b4db2bc42 (patch) | |
| tree | d84b6f956fd43d8a3bb2dff3a1bde9e27dcc1cc2 /lib/models/channel | |
| parent | Style improvements who dis (diff) | |
| download | disml-6163027a715b31d87e1f8e4fde8f7f3b4db2bc42.tar.xz disml-6163027a715b31d87e1f8e4fde8f7f3b4db2bc42.zip | |
Initial Lwt changes. Successfully compiles
Diffstat (limited to 'lib/models/channel')
| -rw-r--r-- | lib/models/channel/channel.ml | 3 | ||||
| -rw-r--r-- | lib/models/channel/channel.mli | 17 | ||||
| -rw-r--r-- | lib/models/channel/channel_t.ml | 13 | ||||
| -rw-r--r-- | lib/models/channel/message/attachment.ml | 5 | ||||
| -rw-r--r-- | lib/models/channel/message/embed.ml | 13 | ||||
| -rw-r--r-- | lib/models/channel/message/message.ml | 2 | ||||
| -rw-r--r-- | lib/models/channel/message/message.mli | 22 | ||||
| -rw-r--r-- | lib/models/channel/message/message_t.ml | 11 | ||||
| -rw-r--r-- | lib/models/channel/message/reaction_t.ml | 5 |
9 files changed, 60 insertions, 31 deletions
diff --git a/lib/models/channel/channel.ml b/lib/models/channel/channel.ml index 47cf500..632570a 100644 --- a/lib/models/channel/channel.ml +++ b/lib/models/channel/channel.ml @@ -1,4 +1,3 @@ -open Core
include Channel_t
exception Invalid_message
@@ -51,5 +50,5 @@ let get_pins ch = Http.get_pinned_messages (get_id ch)
let bulk_delete msgs ch =
- let msgs = `List (List.map ~f:(fun id -> `Int id) msgs) in
+ let msgs = `List (List.map (fun id -> `Int id) msgs) in
Http.bulk_delete (get_id ch) msgs
\ No newline at end of file diff --git a/lib/models/channel/channel.mli b/lib/models/channel/channel.mli index 0d7431b..94022e7 100644 --- a/lib/models/channel/channel.mli +++ b/lib/models/channel/channel.mli @@ -1,4 +1,3 @@ -open Async
include module type of Channel_t
exception Invalid_message
@@ -27,20 +26,20 @@ val send_message : ?file:string ->
?tts:bool ->
t ->
- Message_t.t Deferred.Or_error.t
+ (Message_t.t, string) Lwt_result.t
(** [say str ch] is equivalent to [send_message ~content:str ch]. *)
-val say : string -> t -> Message_t.t Deferred.Or_error.t
+val say : string -> t -> (Message_t.t, string) Lwt_result.t
-val delete : t -> Channel_t.t Deferred.Or_error.t
-val get_message : id:Snowflake.t -> t -> Message_t.t Deferred.Or_error.t
+val delete : t -> (Channel_t.t, string) Lwt_result.t
+val get_message : id:Snowflake.t -> t -> (Message_t.t, string) Lwt_result.t
val get_messages :
?mode:[ `Before | `After | `Around ] ->
?id:Snowflake.t ->
?limit:int ->
t ->
- Message_t.t list Deferred.Or_error.t
-val broadcast_typing : t -> unit Deferred.Or_error.t
-val get_pins : t -> Message_t.t list Deferred.Or_error.t
-val bulk_delete : Snowflake.t list -> t -> unit Deferred.Or_error.t
+ (Message_t.t list, string) Lwt_result.t
+val broadcast_typing : t -> (unit, string) Lwt_result.t
+val get_pins : t -> (Message_t.t list, string) Lwt_result.t
+val bulk_delete : Snowflake.t list -> t -> (unit, string) Lwt_result.t
(* TODO more things related to guild channels *)
diff --git a/lib/models/channel/channel_t.ml b/lib/models/channel/channel_t.ml index e332c36..5c7aa86 100644 --- a/lib/models/channel/channel_t.ml +++ b/lib/models/channel/channel_t.ml @@ -1,4 +1,15 @@ -open Core
+let string_of_sexp = Base.String.t_of_sexp
+let sexp_of_string = Base.String.sexp_of_t
+let option_of_sexp = Base.Option.t_of_sexp
+let sexp_of_option = Base.Option.sexp_of_t
+let int_of_sexp = Base.Int.t_of_sexp
+let sexp_of_int = Base.Int.sexp_of_t
+let bool_of_sexp = Base.Bool.t_of_sexp
+let sexp_of_bool = Base.Bool.sexp_of_t
+let list_of_sexp = Base.List.t_of_sexp
+let sexp_of_list = Base.List.sexp_of_t
+
+module Option = Base.Option
exception Invalid_channel of Yojson.Safe.t
diff --git a/lib/models/channel/message/attachment.ml b/lib/models/channel/message/attachment.ml index d720a81..696df60 100644 --- a/lib/models/channel/message/attachment.ml +++ b/lib/models/channel/message/attachment.ml @@ -1,4 +1,7 @@ -open Core +let string_of_sexp = Base.String.t_of_sexp +let sexp_of_string = Base.String.sexp_of_t +let int_of_sexp = Base.Int.t_of_sexp +let sexp_of_int = Base.Int.sexp_of_t type t = { id: Snowflake.t; diff --git a/lib/models/channel/message/embed.ml b/lib/models/channel/message/embed.ml index 0dd7343..fdeed36 100644 --- a/lib/models/channel/message/embed.ml +++ b/lib/models/channel/message/embed.ml @@ -1,4 +1,13 @@ -open Core
+let string_of_sexp = Base.String.t_of_sexp
+let sexp_of_string = Base.String.sexp_of_t
+let option_of_sexp = Base.Option.t_of_sexp
+let sexp_of_option = Base.Option.sexp_of_t
+let int_of_sexp = Base.Int.t_of_sexp
+let sexp_of_int = Base.Int.sexp_of_t
+let bool_of_sexp = Base.Bool.t_of_sexp
+let sexp_of_bool = Base.Bool.sexp_of_t
+let list_of_sexp = Base.List.t_of_sexp
+let sexp_of_list = Base.List.sexp_of_t
type footer = {
text: string;
@@ -111,7 +120,7 @@ let image v e = { e with image = Some { default_image with url = Some v } } let thumbnail v e = { e with thumbnail = Some { default_image with url = Some v } }
let author f e = { e with author = Some (f default_author) }
let field (name, value, inline) e = { e with fields = { name; value; inline; }::e.fields }
-let fields l e = { e with fields = List.map ~f:(fun (name, value, inline) -> { name; value; inline; }) l }
+let fields l e = { e with fields = List.map (fun (name, value, inline) -> { name; value; inline; }) l }
let footer_text v f : footer = { f with text = v }
let footer_icon v f : footer = { f with icon_url = Some v }
diff --git a/lib/models/channel/message/message.ml b/lib/models/channel/message/message.ml index 41174e1..748a423 100644 --- a/lib/models/channel/message/message.ml +++ b/lib/models/channel/message/message.ml @@ -1,5 +1,3 @@ -open Core
-open Async
include Message_t
let add_reaction msg (emoji:Emoji.t) =
diff --git a/lib/models/channel/message/message.mli b/lib/models/channel/message/message.mli index 0eba3af..3e5f0de 100644 --- a/lib/models/channel/message/message.mli +++ b/lib/models/channel/message/message.mli @@ -1,27 +1,25 @@ -open Async
-
include module type of Message_t
(** Add the given emoji as a reaction. *)
-val add_reaction : t -> Emoji.t -> unit Deferred.Or_error.t
+val add_reaction : t -> Emoji.t -> (unit, string) Lwt_result.t
(** Remove the reaction. Must also specify the user. *)
-val remove_reaction : t -> Emoji.t -> User_t.t -> unit Deferred.Or_error.t
+val remove_reaction : t -> Emoji.t -> User_t.t -> (unit, string) Lwt_result.t
(** Remove all reactions from the message. *)
-val clear_reactions : t -> unit Deferred.Or_error.t
+val clear_reactions : t -> (unit, string) Lwt_result.t
(** Delete the message. *)
-val delete : t -> unit Deferred.Or_error.t
+val delete : t -> (unit, string) Lwt_result.t
(** Pin the message. *)
-val pin : t -> unit Deferred.Or_error.t
+val pin : t -> (unit, string) Lwt_result.t
(** Unping the message. *)
-val unpin : t -> unit Deferred.Or_error.t
+val unpin : t -> (unit, string) Lwt_result.t
(** Sugar for [Channel_id.say msg.channel_id content]. *)
-val reply : t -> string -> t Deferred.Or_error.t
+val reply : t -> string -> (t, string) Lwt_result.t
(** Sugar for [Channel_id.send_message ?embed ?content ?file ?tts msg.channel_id]. *)
val reply_with :
@@ -30,10 +28,10 @@ val reply_with : ?file:string ->
?tts:bool ->
t ->
- Message_t.t Deferred.Or_error.t
+ (Message_t.t, string) Lwt_result.t
(** Set the content of the message. *)
-val set_content : t -> string -> t Deferred.Or_error.t
+val set_content : t -> string -> (t, string) Lwt_result.t
(** Set the embed of the message. *)
-val set_embed : t -> Embed.t -> t Deferred.Or_error.t
+val set_embed : t -> Embed.t -> (t, string) Lwt_result.t
diff --git a/lib/models/channel/message/message_t.ml b/lib/models/channel/message/message_t.ml index 31fc88c..5963ee2 100644 --- a/lib/models/channel/message/message_t.ml +++ b/lib/models/channel/message/message_t.ml @@ -1,4 +1,13 @@ -open Core
+let string_of_sexp = Base.String.t_of_sexp
+let sexp_of_string = Base.String.sexp_of_t
+let option_of_sexp = Base.Option.t_of_sexp
+let sexp_of_option = Base.Option.sexp_of_t
+let int_of_sexp = Base.Int.t_of_sexp
+let sexp_of_int = Base.Int.sexp_of_t
+let bool_of_sexp = Base.Bool.t_of_sexp
+let sexp_of_bool = Base.Bool.sexp_of_t
+let list_of_sexp = Base.List.t_of_sexp
+let sexp_of_list = Base.List.sexp_of_t
type t = {
id: Message_id.t;
diff --git a/lib/models/channel/message/reaction_t.ml b/lib/models/channel/message/reaction_t.ml index e8ec5a0..9843fc4 100644 --- a/lib/models/channel/message/reaction_t.ml +++ b/lib/models/channel/message/reaction_t.ml @@ -1,4 +1,7 @@ -open Core
+let option_of_sexp = Base.Option.t_of_sexp
+let sexp_of_option = Base.Option.sexp_of_t
+let int_of_sexp = Base.Int.t_of_sexp
+let sexp_of_int = Base.Int.sexp_of_t
type reaction_event = {
user_id: User_id_t.t;
|