diff options
| author | Mishio595 <[email protected]> | 2018-11-17 19:49:45 -0700 |
|---|---|---|
| committer | Mishio595 <[email protected]> | 2018-11-17 19:49:45 -0700 |
| commit | d92fe94da312c0a69dbe9bd7c2e525c594f20e40 (patch) | |
| tree | ccd4a634996d97e4ba89f92cd904fbb0632f2fa4 /lib/model | |
| parent | stupid dune-project file... (diff) | |
| download | disml-d92fe94da312c0a69dbe9bd7c2e525c594f20e40.tar.xz disml-d92fe94da312c0a69dbe9bd7c2e525c594f20e40.zip | |
Rewrite from Lwt to Async
Diffstat (limited to 'lib/model')
| -rw-r--r-- | lib/model/channel.ml | 1 | ||||
| -rw-r--r-- | lib/model/emoji.ml | 1 | ||||
| -rw-r--r-- | lib/model/guild.ml | 26 | ||||
| -rw-r--r-- | lib/model/member.ml | 1 | ||||
| -rw-r--r-- | lib/model/message.ml | 1 | ||||
| -rw-r--r-- | lib/model/presence.ml | 1 | ||||
| -rw-r--r-- | lib/model/role.ml | 1 | ||||
| -rw-r--r-- | lib/model/user.ml | 26 | ||||
| -rw-r--r-- | lib/model/voiceState.ml | 1 |
9 files changed, 59 insertions, 0 deletions
diff --git a/lib/model/channel.ml b/lib/model/channel.ml new file mode 100644 index 0000000..eb6679e --- /dev/null +++ b/lib/model/channel.ml @@ -0,0 +1 @@ +type t
\ No newline at end of file diff --git a/lib/model/emoji.ml b/lib/model/emoji.ml new file mode 100644 index 0000000..eb6679e --- /dev/null +++ b/lib/model/emoji.ml @@ -0,0 +1 @@ +type t
\ No newline at end of file diff --git a/lib/model/guild.ml b/lib/model/guild.ml new file mode 100644 index 0000000..6345c17 --- /dev/null +++ b/lib/model/guild.ml @@ -0,0 +1,26 @@ +type t = { + afk_channel_id: int option; + afk_timeout: int; + application_id: int option; + channels: Channel.t list; + default_message_notifications: int; + emojis: Emoji.t list; + explicit_content_filter: int; + features: string list; + icon: string option; + id: int; + joined_at: string; + large: bool; + member_count: int; + members: Member.t list; + mfa_level: int; + name: string; + owner_id: int; + presences: Presence.t list; + region: string; + roles: Role.t list; + splash: string option; + system_channel_id: int option; + verification_level: int; + voice_states: VoiceState.t list; +} diff --git a/lib/model/member.ml b/lib/model/member.ml new file mode 100644 index 0000000..eb6679e --- /dev/null +++ b/lib/model/member.ml @@ -0,0 +1 @@ +type t
\ No newline at end of file diff --git a/lib/model/message.ml b/lib/model/message.ml new file mode 100644 index 0000000..eb6679e --- /dev/null +++ b/lib/model/message.ml @@ -0,0 +1 @@ +type t
\ No newline at end of file diff --git a/lib/model/presence.ml b/lib/model/presence.ml new file mode 100644 index 0000000..eb6679e --- /dev/null +++ b/lib/model/presence.ml @@ -0,0 +1 @@ +type t
\ No newline at end of file diff --git a/lib/model/role.ml b/lib/model/role.ml new file mode 100644 index 0000000..eb6679e --- /dev/null +++ b/lib/model/role.ml @@ -0,0 +1 @@ +type t
\ No newline at end of file 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 diff --git a/lib/model/voiceState.ml b/lib/model/voiceState.ml new file mode 100644 index 0000000..eb6679e --- /dev/null +++ b/lib/model/voiceState.ml @@ -0,0 +1 @@ +type t
\ No newline at end of file |