aboutsummaryrefslogtreecommitdiff
path: root/lib/event.ml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/event.ml')
-rw-r--r--lib/event.ml21
1 files changed, 13 insertions, 8 deletions
diff --git a/lib/event.ml b/lib/event.ml
index bbb0ebf..988e017 100644
--- a/lib/event.ml
+++ b/lib/event.ml
@@ -39,11 +39,16 @@ type t =
exception Invalid_event of string
-let wrap_role Role_t.{ id; role; } =
- let open Role_t in
- let guild_id = id in
- let {id;name;colour;hoist;position;permissions;managed;mentionable} = role in
- {id;name;colour;hoist;position;permissions;managed;mentionable;guild_id}
+let wrap_role_update Role_t.{ id; role; } =
+ let open Role_t in
+ let guild_id = id in
+ let {id;name;colour;hoist;position;permissions;managed;mentionable} = role in
+ {id;name;colour;hoist;position;permissions;managed;mentionable;guild_id}
+
+let wrap_role_with_id ~guild_id role =
+ let open Role_t in
+ let {id;name;colour;hoist;position;permissions;managed;mentionable} = role in
+ {id;name;colour;hoist;position;permissions;managed;mentionable;guild_id}
let event_of_string ~contents t = match t with
| "HELLO" -> HELLO (Yojson.Safe.from_string contents)
@@ -65,9 +70,9 @@ let event_of_string ~contents t = match t with
| "GUILD_MEMBER_REMOVE" -> GUILD_MEMBER_REMOVE (Member_j.t_of_string contents)
| "GUILD_MEMBER_UPDATE" -> GUILD_MEMBER_UPDATE (Member_j.t_of_string contents)
| "GUILD_MEMBERS_CHUNK" -> GUILD_MEMBERS_CHUNK (Yojson.Safe.(from_string contents |> Util.to_list) |> List.map ~f:(fun m -> Yojson.Safe.to_string m |> Member_j.t_of_string))
- | "GUILD_ROLE_CREATE" -> GUILD_ROLE_CREATE (Role_j.role_update_of_string contents |> wrap_role)
- | "GUILD_ROLE_UPDATE" -> GUILD_ROLE_UPDATE (Role_j.role_update_of_string contents |> wrap_role)
- | "GUILD_ROLE_DELETE" -> GUILD_ROLE_DELETE (Role_j.role_update_of_string contents |> wrap_role)
+ | "GUILD_ROLE_CREATE" -> GUILD_ROLE_CREATE (Role_j.role_update_of_string contents |> wrap_role_update)
+ | "GUILD_ROLE_UPDATE" -> GUILD_ROLE_UPDATE (Role_j.role_update_of_string contents |> wrap_role_update)
+ | "GUILD_ROLE_DELETE" -> GUILD_ROLE_DELETE (Role_j.role_update_of_string contents |> wrap_role_update)
| "MESSAGE_CREATE" -> MESSAGE_CREATE (Message_j.t_of_string contents)
| "MESSAGE_UPDATE" -> MESSAGE_UPDATE (Message_j.t_of_string contents)
| "MESSAGE_DELETE" -> MESSAGE_DELETE (Message_j.t_of_string contents)