aboutsummaryrefslogtreecommitdiff
path: root/lib/model/user.ml
blob: 182ea6a6b26b37ba129f1fc9766a82288c5acb8e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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