aboutsummaryrefslogtreecommitdiff
path: root/lib/model/user.ml
diff options
context:
space:
mode:
authorMishio595 <[email protected]>2018-11-17 19:49:45 -0700
committerMishio595 <[email protected]>2018-11-17 19:49:45 -0700
commitd92fe94da312c0a69dbe9bd7c2e525c594f20e40 (patch)
treeccd4a634996d97e4ba89f92cd904fbb0632f2fa4 /lib/model/user.ml
parentstupid dune-project file... (diff)
downloaddisml-d92fe94da312c0a69dbe9bd7c2e525c594f20e40.tar.xz
disml-d92fe94da312c0a69dbe9bd7c2e525c594f20e40.zip
Rewrite from Lwt to Async
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