aboutsummaryrefslogtreecommitdiff
path: root/lib/model/user.ml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/model/user.ml')
-rw-r--r--lib/model/user.ml26
1 files changed, 26 insertions, 0 deletions
diff --git a/lib/model/user.ml b/lib/model/user.ml
new file mode 100644
index 0000000..182ea6a
--- /dev/null
+++ b/lib/model/user.ml
@@ -0,0 +1,26 @@
+type t = {
+ id: int;
+ username: string;
+ discriminator: string;
+ avatar: string option;
+ bot: bool;
+}
+
+let from_json term =
+ let module J = Yojson.Basic.Util in
+ let id = J.member "id" term
+ |> J.to_string
+ |> int_of_string
+ in
+ let username = J.member "username" term
+ |> J.to_string in
+ let discriminator = J.member "discriminator" term
+ |> J.to_string in
+ let avatar = J.member "avatar" term
+ |> J.to_string_option in
+ let bot = J.member "bot" term
+ |> J.to_bool in
+ { id; username; discriminator; avatar; bot; }
+
+let tag user =
+ user.username ^ user.discriminator