aboutsummaryrefslogtreecommitdiff
path: root/lib/model/user.ml
diff options
context:
space:
mode:
authorAdelyn Breedlove <[email protected]>2018-11-18 19:05:53 +0000
committerAdelyn Breedlove <[email protected]>2018-11-18 19:05:53 +0000
commit84d98bd3b227ac2bba5163d4e616d73e355494ee (patch)
tree7ec65e89673ad8d9e70b12482206e27e9fa77704 /lib/model/user.ml
parentMerge branch 'dev' into 'master' (diff)
parentEvent dispatch and client abstraction (diff)
downloaddisml-84d98bd3b227ac2bba5163d4e616d73e355494ee.tar.xz
disml-84d98bd3b227ac2bba5163d4e616d73e355494ee.zip
Merge branch 'dev' into 'master'
Add event dispatch and the Client module See merge request Mishio595/disml!4
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