diff options
Diffstat (limited to 'lib/models/member_t.ml')
| -rw-r--r-- | lib/models/member_t.ml | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/lib/models/member_t.ml b/lib/models/member_t.ml new file mode 100644 index 0000000..e6edb61 --- /dev/null +++ b/lib/models/member_t.ml @@ -0,0 +1,43 @@ +open Core + +type partial_member = { + nick: string option [@default None]; + roles: Snowflake.t list; + joined_at: string; + deaf: bool; + mute: bool; +} [@@deriving sexp, yojson { strict = false}] + +type member = { + nick: string option [@default None]; + roles: Snowflake.t list; + joined_at: string; + deaf: bool; + mute: bool; + user: User_t.t; +} [@@deriving sexp, yojson { strict = false}] + +type member_wrapper = { + guild_id: Snowflake.t; + user: User_t.t; +} [@@deriving sexp, yojson { strict = false }] + +type member_update = { + guild_id: Snowflake.t; + roles: Snowflake.t list [@default []]; + user: User_t.t; + nick: string option [@default None]; +} [@@deriving sexp, yojson { strict = false}] + +type t = { + nick: string option [@default None]; + roles: Snowflake.t list; + joined_at: string; + deaf: bool; + mute: bool; + user: User_t.t; + guild_id: Snowflake.t; +} [@@deriving sexp, yojson { strict = false}] + +let wrap ~guild_id ({nick;roles;joined_at;deaf;mute;user}:member) = + {nick;roles;joined_at;deaf;mute;user;guild_id}
\ No newline at end of file |