aboutsummaryrefslogtreecommitdiff
path: root/lib/models/guild
diff options
context:
space:
mode:
authorMatias Goldfeld <[email protected]>2021-02-07 20:21:47 -0500
committerMatias Goldfeld <[email protected]>2021-02-07 20:21:47 -0500
commitb2f081fff12093a7d3434859ebd621608dde6c7d (patch)
tree5ea4f7d6ff82727d62b01fb2d234a4f8ab66aa2b /lib/models/guild
parentRemoved generated version numbers (diff)
downloaddisml-master.tar.xz
disml-master.zip
Reverted earlier changes for goodHEADorigin/masterorigin/HEADmaster
Diffstat (limited to 'lib/models/guild')
-rw-r--r--lib/models/guild/ban_t.ml2
-rw-r--r--lib/models/guild/ban_t.mli2
-rw-r--r--lib/models/guild/guild.ml10
-rw-r--r--lib/models/guild/guild_t.ml6
-rw-r--r--lib/models/guild/guild_t.mli6
-rw-r--r--lib/models/guild/member.ml16
-rw-r--r--lib/models/guild/member_t.ml10
-rw-r--r--lib/models/guild/member_t.mli10
-rw-r--r--lib/models/guild/role_t.ml4
-rw-r--r--lib/models/guild/role_t.mli4
10 files changed, 36 insertions, 34 deletions
diff --git a/lib/models/guild/ban_t.ml b/lib/models/guild/ban_t.ml
index 518b93e..2ebc91d 100644
--- a/lib/models/guild/ban_t.ml
+++ b/lib/models/guild/ban_t.ml
@@ -3,4 +3,4 @@ open Core
type t = {
reason: string option [@default None];
user: User_t.t;
-} [@@deriving sexp, yojson] \ No newline at end of file
+} [@@deriving sexp, yojson { strict = false; exn = true }] \ No newline at end of file
diff --git a/lib/models/guild/ban_t.mli b/lib/models/guild/ban_t.mli
index 37e5cfa..63d8ca8 100644
--- a/lib/models/guild/ban_t.mli
+++ b/lib/models/guild/ban_t.mli
@@ -1,4 +1,4 @@
type t = {
reason: string option; (** The reason for the ban. *)
user: User_t.t; (** The banned user. *)
-} [@@deriving sexp, yojson] \ No newline at end of file
+} [@@deriving sexp, yojson { exn = true }] \ No newline at end of file
diff --git a/lib/models/guild/guild.ml b/lib/models/guild/guild.ml
index f67d5c2..95485a4 100644
--- a/lib/models/guild/guild.ml
+++ b/lib/models/guild/guild.ml
@@ -89,7 +89,7 @@ let request_members guild =
Http.get_members (get_id guild)
let set_afk_channel ~id guild = Http.edit_guild (get_id guild) (`Assoc [
- ("afk_channel_id", `Intlit (Int64.to_string id));
+ ("afk_channel_id", `Int id);
])
let set_afk_timeout ~timeout guild = Http.edit_guild (get_id guild) (`Assoc [
@@ -113,14 +113,16 @@ let unban_user ~id ?reason guild =
let get_member ~(id:User_id_t.t) guild =
match List.find ~f:(fun m -> User_id.compare m.user.id id = 0) guild.members with
| Some m -> Deferred.Or_error.return m
- | None -> Http.get_member (get_id guild) (User_id.get_id id)
+ | None ->
+ let `User_id id = id in
+ Http.get_member (get_id guild) id
let get_channel ~(id:Channel_id_t.t) guild =
let `Channel_id id = id in
- match List.find ~f:(fun c -> Int64.(Channel_t.get_id c = id)) guild.channels with
+ match List.find ~f:(fun c -> Channel_t.get_id c = id) guild.channels with
| Some c -> Deferred.Or_error.return c
| None -> Http.get_channel id
(* TODO add HTTP fallback *)
let get_role ~(id:Role_id.t) guild =
- List.find ~f:(fun r -> Int64.(Role_id.get_id r.id = Role_id.get_id id)) guild.roles
+ List.find ~f:(fun r -> Role_id.get_id r.id = Role_id.get_id id) guild.roles
diff --git a/lib/models/guild/guild_t.ml b/lib/models/guild/guild_t.ml
index 4445ce2..afe3d19 100644
--- a/lib/models/guild/guild_t.ml
+++ b/lib/models/guild/guild_t.ml
@@ -3,7 +3,7 @@ open Core
type unavailable = {
id: Guild_id_t.t;
unavailable: bool [@default false];
-} [@@deriving sexp, yojson]
+} [@@deriving sexp, yojson { strict = false; exn = true }]
type pre = {
id: Guild_id_t.t;
@@ -31,7 +31,7 @@ type pre = {
member_count: int option [@default None];
members: Member_t.member list [@default []];
channels: Channel_t.channel_wrapper list [@default []];
-} [@@deriving sexp, yojson]
+} [@@deriving sexp, yojson { strict = false; exn = true }]
type t = {
id: Guild_id_t.t;
@@ -59,7 +59,7 @@ type t = {
member_count: int option [@default None];
members: Member_t.t list;
channels: Channel_t.t list;
-} [@@deriving sexp, yojson]
+} [@@deriving sexp, yojson { strict = false; exn = true }]
let wrap ({id;name;icon;splash;owner_id;region;afk_channel_id;afk_timeout;embed_enabled;embed_channel_id;verification_level;default_message_notifications;explicit_content_filter;roles;emojis;features;mfa_level;application_id;widget_enabled;widget_channel_id;system_channel_id;large;member_count;members;channels}:pre) =
let `Guild_id id = id in
diff --git a/lib/models/guild/guild_t.mli b/lib/models/guild/guild_t.mli
index 42a0669..7327be9 100644
--- a/lib/models/guild/guild_t.mli
+++ b/lib/models/guild/guild_t.mli
@@ -1,7 +1,7 @@
type unavailable = {
id: Guild_id_t.t;
unavailable: bool;
-} [@@deriving sexp, yojson]
+} [@@deriving sexp, yojson { exn = true }]
(** Used internally. *)
type pre = {
@@ -30,7 +30,7 @@ type pre = {
member_count: int option;
members: Member_t.member list;
channels: Channel_t.channel_wrapper list;
-} [@@deriving sexp, yojson]
+} [@@deriving sexp, yojson { exn = true }]
(** A Guild object *)
type t = {
@@ -59,7 +59,7 @@ type t = {
member_count: int option; (** Total number of members in the guild. *)
members: Member_t.t list; (** List of guild members. *)
channels: Channel_t.t list; (** List of guild channels. *)
-} [@@deriving sexp, yojson]
+} [@@deriving sexp, yojson { exn = true }]
val wrap : pre -> t
val get_id : t -> Snowflake.t \ No newline at end of file
diff --git a/lib/models/guild/member.ml b/lib/models/guild/member.ml
index e680ecc..c5a7455 100644
--- a/lib/models/guild/member.ml
+++ b/lib/models/guild/member.ml
@@ -2,19 +2,19 @@ include Member_t
let add_role ~(role:Role_t.t) member =
let `Guild_id guild_id = member.guild_id in
- let user_id = User_id.get_id member.user.id in
+ let `User_id user_id = member.user.id in
let `Role_id role_id = role.id in
Http.add_member_role guild_id user_id role_id
let remove_role ~(role:Role_t.t) member =
let `Guild_id guild_id = member.guild_id in
- let user_id = User_id.get_id member.user.id in
+ let `User_id user_id = member.user.id in
let `Role_id role_id = role.id in
Http.remove_member_role guild_id user_id role_id
let ban ?(reason="") ?(days=0) member =
let `Guild_id guild_id = member.guild_id in
- let user_id = User_id.get_id member.user.id in
+ let `User_id user_id = member.user.id in
Http.guild_ban_add guild_id user_id (`Assoc [
("delete-message-days", `Int days);
("reason", `String reason);
@@ -22,7 +22,7 @@ let ban ?(reason="") ?(days=0) member =
let kick ?reason member =
let `Guild_id guild_id = member.guild_id in
- let user_id = User_id.get_id member.user.id in
+ let `User_id user_id = member.user.id in
let payload = match reason with
| Some r -> `Assoc [("reason", `String r)]
| None -> `Null
@@ -30,28 +30,28 @@ let kick ?reason member =
let mute member =
let `Guild_id guild_id = member.guild_id in
- let user_id = User_id.get_id member.user.id in
+ let `User_id user_id = member.user.id in
Http.edit_member guild_id user_id (`Assoc [
("mute", `Bool true);
])
let deafen member =
let `Guild_id guild_id = member.guild_id in
- let user_id = User_id.get_id member.user.id in
+ let `User_id user_id = member.user.id in
Http.edit_member guild_id user_id (`Assoc [
("deaf", `Bool true);
])
let unmute member =
let `Guild_id guild_id = member.guild_id in
- let user_id = User_id.get_id member.user.id in
+ let `User_id user_id = member.user.id in
Http.edit_member guild_id user_id (`Assoc [
("mute", `Bool false);
])
let undeafen member =
let `Guild_id guild_id = member.guild_id in
- let user_id = User_id.get_id member.user.id in
+ let `User_id user_id = member.user.id in
Http.edit_member guild_id user_id (`Assoc [
("deaf", `Bool false);
])
diff --git a/lib/models/guild/member_t.ml b/lib/models/guild/member_t.ml
index 0724e54..4e01b9a 100644
--- a/lib/models/guild/member_t.ml
+++ b/lib/models/guild/member_t.ml
@@ -6,7 +6,7 @@ type partial_member = {
joined_at: string;
deaf: bool;
mute: bool;
-} [@@deriving sexp, yojson]
+} [@@deriving sexp, yojson { strict = false; exn = true }]
type member = {
nick: string option [@default None];
@@ -15,19 +15,19 @@ type member = {
deaf: bool;
mute: bool;
user: User_t.t;
-} [@@deriving sexp, yojson]
+} [@@deriving sexp, yojson { strict = false; exn = true }]
type member_wrapper = {
guild_id: Guild_id_t.t;
user: User_t.t;
-} [@@deriving sexp, yojson]
+} [@@deriving sexp, yojson { strict = false; exn = true }]
type member_update = {
guild_id: Guild_id_t.t;
roles: Role_id.t list [@default []];
user: User_t.t;
nick: string option [@default None];
-} [@@deriving sexp, yojson]
+} [@@deriving sexp, yojson { strict = false; exn = true }]
type t = {
nick: string option [@default None];
@@ -37,7 +37,7 @@ type t = {
mute: bool;
user: User_t.t;
guild_id: Guild_id_t.t;
-} [@@deriving sexp, yojson]
+} [@@deriving sexp, yojson { strict = false; exn = true }]
let wrap ~guild_id ({nick;roles;joined_at;deaf;mute;user}:member) =
{nick;roles;joined_at;deaf;mute;user;guild_id = `Guild_id guild_id} \ No newline at end of file
diff --git a/lib/models/guild/member_t.mli b/lib/models/guild/member_t.mli
index 170504f..abfc1af 100644
--- a/lib/models/guild/member_t.mli
+++ b/lib/models/guild/member_t.mli
@@ -4,7 +4,7 @@ type partial_member = {
joined_at: string;
deaf: bool;
mute: bool;
-} [@@deriving sexp, yojson]
+} [@@deriving sexp, yojson { exn = true }]
type member = {
nick: string option;
@@ -13,19 +13,19 @@ type member = {
deaf: bool;
mute: bool;
user: User_t.t;
-} [@@deriving sexp, yojson]
+} [@@deriving sexp, yojson { exn = true }]
type member_wrapper = {
guild_id: Guild_id_t.t;
user: User_t.t;
-} [@@deriving sexp, yojson]
+} [@@deriving sexp, yojson { exn = true }]
type member_update = {
guild_id: Guild_id_t.t;
roles: Role_id.t list;
user: User_t.t;
nick: string option;
-} [@@deriving sexp, yojson]
+} [@@deriving sexp, yojson { exn = true }]
(** A member object. *)
type t = {
@@ -36,6 +36,6 @@ type t = {
mute: bool; (** Whether the user is muted. *)
user: User_t.t; (** The underlying user object for the member. *)
guild_id: Guild_id_t.t; (** The guild ID in which the member exists. *)
-} [@@deriving sexp, yojson]
+} [@@deriving sexp, yojson { exn = true }]
val wrap : guild_id:Snowflake.t -> member -> t \ No newline at end of file
diff --git a/lib/models/guild/role_t.ml b/lib/models/guild/role_t.ml
index 6f27483..2927c20 100644
--- a/lib/models/guild/role_t.ml
+++ b/lib/models/guild/role_t.ml
@@ -9,7 +9,7 @@ type role = {
permissions: Permissions.t;
managed: bool;
mentionable: bool;
-} [@@deriving sexp, yojson]
+} [@@deriving sexp, yojson { strict = false; exn = true }]
type t = {
id: Role_id.t;
@@ -21,7 +21,7 @@ type t = {
managed: bool;
mentionable: bool;
guild_id: Guild_id_t.t;
-} [@@deriving sexp, yojson]
+} [@@deriving sexp, yojson { strict = false; exn = true }]
let wrap ~guild_id ({id;name;colour;hoist;position;permissions;managed;mentionable}:role) =
{id;name;colour;hoist;position;permissions;managed;mentionable;guild_id = `Guild_id guild_id} \ No newline at end of file
diff --git a/lib/models/guild/role_t.mli b/lib/models/guild/role_t.mli
index 630ba53..98c1559 100644
--- a/lib/models/guild/role_t.mli
+++ b/lib/models/guild/role_t.mli
@@ -8,7 +8,7 @@ type role = {
permissions: Permissions.t;
managed: bool;
mentionable: bool;
-} [@@deriving sexp, yojson]
+} [@@deriving sexp, yojson { exn = true }]
(** A role object. *)
type t = {
@@ -21,7 +21,7 @@ type t = {
managed: bool; (** Whether the guild is managed by an integration. *)
mentionable: bool; (** Whether the role can be mentioned. *)
guild_id: Guild_id_t.t; (** The guild ID this role belongs to. *)
-} [@@deriving sexp, yojson]
+} [@@deriving sexp, yojson { exn = true }]
(** Convenience method to produce {!t} from {!role} and a snowflake. *)
val wrap : guild_id:Snowflake.t -> role -> t \ No newline at end of file