From d92fe94da312c0a69dbe9bd7c2e525c594f20e40 Mon Sep 17 00:00:00 2001 From: Mishio595 Date: Sat, 17 Nov 2018 19:49:45 -0700 Subject: Rewrite from Lwt to Async --- lib/model/channel.ml | 1 + lib/model/emoji.ml | 1 + lib/model/guild.ml | 26 ++++++++++++++++++++++++++ lib/model/member.ml | 1 + lib/model/message.ml | 1 + lib/model/presence.ml | 1 + lib/model/role.ml | 1 + lib/model/user.ml | 26 ++++++++++++++++++++++++++ lib/model/voiceState.ml | 1 + 9 files changed, 59 insertions(+) create mode 100644 lib/model/channel.ml create mode 100644 lib/model/emoji.ml create mode 100644 lib/model/guild.ml create mode 100644 lib/model/member.ml create mode 100644 lib/model/message.ml create mode 100644 lib/model/presence.ml create mode 100644 lib/model/role.ml create mode 100644 lib/model/user.ml create mode 100644 lib/model/voiceState.ml (limited to 'lib/model') 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 -- cgit v1.2.3