aboutsummaryrefslogtreecommitdiff
path: root/lib/models
diff options
context:
space:
mode:
authorAdelyn Breedlove <[email protected]>2018-12-14 16:49:37 -0700
committerAdelyn Breedlove <[email protected]>2018-12-14 16:49:37 -0700
commit41fbba7d0b7dd9fff8dcb9985a474cfbbd2408f2 (patch)
tree690861418bed15de47e7cf5672d96fdacc9abe5e /lib/models
parentMerge branch 'dev' of https://gitlab.com/Mishio595/disml into dev (diff)
parentA few metafile updates (diff)
downloaddisml-41fbba7d0b7dd9fff8dcb9985a474cfbbd2408f2.tar.xz
disml-41fbba7d0b7dd9fff8dcb9985a474cfbbd2408f2.zip
Merging
Diffstat (limited to 'lib/models')
-rw-r--r--lib/models/activity.ml2
-rw-r--r--lib/models/attachment.ml2
-rw-r--r--lib/models/ban.ml2
-rw-r--r--lib/models/channel.ml2
-rw-r--r--lib/models/embed.ml2
-rw-r--r--lib/models/emoji.ml2
-rw-r--r--lib/models/gen/activity.atd (renamed from lib/models/activity.atd)0
-rw-r--r--lib/models/gen/activity_j.ml (renamed from lib/models/activity_j.ml)0
-rw-r--r--lib/models/gen/activity_j.mli (renamed from lib/models/activity_j.mli)0
-rw-r--r--lib/models/gen/activity_t.ml (renamed from lib/models/activity_t.ml)0
-rw-r--r--lib/models/gen/activity_t.mli (renamed from lib/models/activity_t.mli)0
-rw-r--r--lib/models/gen/attachment.atd (renamed from lib/models/attachment.atd)0
-rw-r--r--lib/models/gen/attachment_j.ml (renamed from lib/models/attachment_j.ml)0
-rw-r--r--lib/models/gen/attachment_j.mli (renamed from lib/models/attachment_j.mli)0
-rw-r--r--lib/models/gen/attachment_t.ml (renamed from lib/models/attachment_t.ml)0
-rw-r--r--lib/models/gen/attachment_t.mli (renamed from lib/models/attachment_t.mli)0
-rw-r--r--lib/models/gen/ban.atd (renamed from lib/models/ban.atd)0
-rw-r--r--lib/models/gen/ban_j.ml (renamed from lib/models/ban_j.ml)0
-rw-r--r--lib/models/gen/ban_j.mli (renamed from lib/models/ban_j.mli)0
-rw-r--r--lib/models/gen/ban_t.ml (renamed from lib/models/ban_t.ml)0
-rw-r--r--lib/models/gen/ban_t.mli (renamed from lib/models/ban_t.mli)0
-rw-r--r--lib/models/gen/channel.atd (renamed from lib/models/channel.atd)0
-rw-r--r--lib/models/gen/channel_j.ml (renamed from lib/models/channel_j.ml)0
-rw-r--r--lib/models/gen/channel_j.mli (renamed from lib/models/channel_j.mli)0
-rw-r--r--lib/models/gen/channel_t.ml (renamed from lib/models/channel_t.ml)0
-rw-r--r--lib/models/gen/channel_t.mli (renamed from lib/models/channel_t.mli)0
-rw-r--r--lib/models/gen/embed.atd (renamed from lib/models/embed.atd)0
-rw-r--r--lib/models/gen/embed_j.ml (renamed from lib/models/embed_j.ml)0
-rw-r--r--lib/models/gen/embed_j.mli (renamed from lib/models/embed_j.mli)0
-rw-r--r--lib/models/gen/embed_t.ml (renamed from lib/models/embed_t.ml)0
-rw-r--r--lib/models/gen/embed_t.mli (renamed from lib/models/embed_t.mli)0
-rw-r--r--lib/models/gen/emoji.atd (renamed from lib/models/emoji.atd)0
-rw-r--r--lib/models/gen/emoji_j.ml (renamed from lib/models/emoji_j.ml)0
-rw-r--r--lib/models/gen/emoji_j.mli (renamed from lib/models/emoji_j.mli)0
-rw-r--r--lib/models/gen/emoji_t.ml (renamed from lib/models/emoji_t.ml)0
-rw-r--r--lib/models/gen/emoji_t.mli (renamed from lib/models/emoji_t.mli)0
-rw-r--r--lib/models/gen/guild.atd (renamed from lib/models/guild.atd)0
-rw-r--r--lib/models/gen/guild_j.ml (renamed from lib/models/guild_j.ml)0
-rw-r--r--lib/models/gen/guild_j.mli (renamed from lib/models/guild_j.mli)0
-rw-r--r--lib/models/gen/guild_t.ml (renamed from lib/models/guild_t.ml)0
-rw-r--r--lib/models/gen/guild_t.mli (renamed from lib/models/guild_t.mli)0
-rw-r--r--lib/models/gen/member.atd (renamed from lib/models/member.atd)0
-rw-r--r--lib/models/gen/member_j.ml (renamed from lib/models/member_j.ml)0
-rw-r--r--lib/models/gen/member_j.mli (renamed from lib/models/member_j.mli)0
-rw-r--r--lib/models/gen/member_t.ml (renamed from lib/models/member_t.ml)0
-rw-r--r--lib/models/gen/member_t.mli (renamed from lib/models/member_t.mli)0
-rw-r--r--lib/models/gen/message.atd (renamed from lib/models/message.atd)9
-rw-r--r--lib/models/gen/message_j.ml (renamed from lib/models/message_j.ml)317
-rw-r--r--lib/models/gen/message_j.mli (renamed from lib/models/message_j.mli)74
-rw-r--r--lib/models/gen/message_t.ml (renamed from lib/models/message_t.ml)14
-rw-r--r--lib/models/gen/message_t.mli (renamed from lib/models/message_t.mli)14
-rw-r--r--lib/models/gen/presence.atd (renamed from lib/models/presence.atd)0
-rw-r--r--lib/models/gen/presence_j.ml (renamed from lib/models/presence_j.ml)0
-rw-r--r--lib/models/gen/presence_j.mli (renamed from lib/models/presence_j.mli)0
-rw-r--r--lib/models/gen/presence_t.ml (renamed from lib/models/presence_t.ml)0
-rw-r--r--lib/models/gen/presence_t.mli (renamed from lib/models/presence_t.mli)0
-rw-r--r--lib/models/gen/reaction.atd (renamed from lib/models/reaction.atd)0
-rw-r--r--lib/models/gen/reaction_j.ml (renamed from lib/models/reaction_j.ml)0
-rw-r--r--lib/models/gen/reaction_j.mli (renamed from lib/models/reaction_j.mli)0
-rw-r--r--lib/models/gen/reaction_t.ml (renamed from lib/models/reaction_t.ml)0
-rw-r--r--lib/models/gen/reaction_t.mli (renamed from lib/models/reaction_t.mli)0
-rw-r--r--lib/models/gen/role.atd (renamed from lib/models/role.atd)0
-rw-r--r--lib/models/gen/role_j.ml (renamed from lib/models/role_j.ml)0
-rw-r--r--lib/models/gen/role_j.mli (renamed from lib/models/role_j.mli)0
-rw-r--r--lib/models/gen/role_t.ml (renamed from lib/models/role_t.ml)0
-rw-r--r--lib/models/gen/role_t.mli (renamed from lib/models/role_t.mli)0
-rw-r--r--lib/models/gen/snowflake.atd (renamed from lib/models/snowflake.atd)0
-rw-r--r--lib/models/gen/snowflake_j.ml (renamed from lib/models/snowflake_j.ml)0
-rw-r--r--lib/models/gen/snowflake_j.mli (renamed from lib/models/snowflake_j.mli)0
-rw-r--r--lib/models/gen/snowflake_t.ml (renamed from lib/models/snowflake_t.ml)0
-rw-r--r--lib/models/gen/snowflake_t.mli (renamed from lib/models/snowflake_t.mli)0
-rw-r--r--lib/models/gen/user.atd (renamed from lib/models/user.atd)0
-rw-r--r--lib/models/gen/user_j.ml (renamed from lib/models/user_j.ml)0
-rw-r--r--lib/models/gen/user_j.mli (renamed from lib/models/user_j.mli)0
-rw-r--r--lib/models/gen/user_t.ml (renamed from lib/models/user_t.ml)0
-rw-r--r--lib/models/gen/user_t.mli (renamed from lib/models/user_t.mli)0
-rw-r--r--lib/models/guild.ml2
-rw-r--r--lib/models/member.ml2
-rw-r--r--lib/models/message.ml43
-rw-r--r--lib/models/message.mli1
-rw-r--r--lib/models/presence.ml2
-rw-r--r--lib/models/reaction.ml2
-rw-r--r--lib/models/role.ml2
-rw-r--r--lib/models/snowflake.ml2
-rw-r--r--lib/models/user.ml2
85 files changed, 288 insertions, 210 deletions
diff --git a/lib/models/activity.ml b/lib/models/activity.ml
new file mode 100644
index 0000000..36b7d4b
--- /dev/null
+++ b/lib/models/activity.ml
@@ -0,0 +1,2 @@
+module Make(Http : S.Http) = struct
+end \ No newline at end of file
diff --git a/lib/models/attachment.ml b/lib/models/attachment.ml
new file mode 100644
index 0000000..36b7d4b
--- /dev/null
+++ b/lib/models/attachment.ml
@@ -0,0 +1,2 @@
+module Make(Http : S.Http) = struct
+end \ No newline at end of file
diff --git a/lib/models/ban.ml b/lib/models/ban.ml
new file mode 100644
index 0000000..36b7d4b
--- /dev/null
+++ b/lib/models/ban.ml
@@ -0,0 +1,2 @@
+module Make(Http : S.Http) = struct
+end \ No newline at end of file
diff --git a/lib/models/channel.ml b/lib/models/channel.ml
new file mode 100644
index 0000000..36b7d4b
--- /dev/null
+++ b/lib/models/channel.ml
@@ -0,0 +1,2 @@
+module Make(Http : S.Http) = struct
+end \ No newline at end of file
diff --git a/lib/models/embed.ml b/lib/models/embed.ml
new file mode 100644
index 0000000..36b7d4b
--- /dev/null
+++ b/lib/models/embed.ml
@@ -0,0 +1,2 @@
+module Make(Http : S.Http) = struct
+end \ No newline at end of file
diff --git a/lib/models/emoji.ml b/lib/models/emoji.ml
new file mode 100644
index 0000000..36b7d4b
--- /dev/null
+++ b/lib/models/emoji.ml
@@ -0,0 +1,2 @@
+module Make(Http : S.Http) = struct
+end \ No newline at end of file
diff --git a/lib/models/activity.atd b/lib/models/gen/activity.atd
index 8e02191..8e02191 100644
--- a/lib/models/activity.atd
+++ b/lib/models/gen/activity.atd
diff --git a/lib/models/activity_j.ml b/lib/models/gen/activity_j.ml
index eb1a62e..eb1a62e 100644
--- a/lib/models/activity_j.ml
+++ b/lib/models/gen/activity_j.ml
diff --git a/lib/models/activity_j.mli b/lib/models/gen/activity_j.mli
index c179efb..c179efb 100644
--- a/lib/models/activity_j.mli
+++ b/lib/models/gen/activity_j.mli
diff --git a/lib/models/activity_t.ml b/lib/models/gen/activity_t.ml
index 6bb2049..6bb2049 100644
--- a/lib/models/activity_t.ml
+++ b/lib/models/gen/activity_t.ml
diff --git a/lib/models/activity_t.mli b/lib/models/gen/activity_t.mli
index 6bb2049..6bb2049 100644
--- a/lib/models/activity_t.mli
+++ b/lib/models/gen/activity_t.mli
diff --git a/lib/models/attachment.atd b/lib/models/gen/attachment.atd
index 9757b49..9757b49 100644
--- a/lib/models/attachment.atd
+++ b/lib/models/gen/attachment.atd
diff --git a/lib/models/attachment_j.ml b/lib/models/gen/attachment_j.ml
index 28f909d..28f909d 100644
--- a/lib/models/attachment_j.ml
+++ b/lib/models/gen/attachment_j.ml
diff --git a/lib/models/attachment_j.mli b/lib/models/gen/attachment_j.mli
index 6b11b08..6b11b08 100644
--- a/lib/models/attachment_j.mli
+++ b/lib/models/gen/attachment_j.mli
diff --git a/lib/models/attachment_t.ml b/lib/models/gen/attachment_t.ml
index 0485dcc..0485dcc 100644
--- a/lib/models/attachment_t.ml
+++ b/lib/models/gen/attachment_t.ml
diff --git a/lib/models/attachment_t.mli b/lib/models/gen/attachment_t.mli
index 0485dcc..0485dcc 100644
--- a/lib/models/attachment_t.mli
+++ b/lib/models/gen/attachment_t.mli
diff --git a/lib/models/ban.atd b/lib/models/gen/ban.atd
index 0a87338..0a87338 100644
--- a/lib/models/ban.atd
+++ b/lib/models/gen/ban.atd
diff --git a/lib/models/ban_j.ml b/lib/models/gen/ban_j.ml
index e608f67..e608f67 100644
--- a/lib/models/ban_j.ml
+++ b/lib/models/gen/ban_j.ml
diff --git a/lib/models/ban_j.mli b/lib/models/gen/ban_j.mli
index 9449b5c..9449b5c 100644
--- a/lib/models/ban_j.mli
+++ b/lib/models/gen/ban_j.mli
diff --git a/lib/models/ban_t.ml b/lib/models/gen/ban_t.ml
index 7d9c5a0..7d9c5a0 100644
--- a/lib/models/ban_t.ml
+++ b/lib/models/gen/ban_t.ml
diff --git a/lib/models/ban_t.mli b/lib/models/gen/ban_t.mli
index 7d9c5a0..7d9c5a0 100644
--- a/lib/models/ban_t.mli
+++ b/lib/models/gen/ban_t.mli
diff --git a/lib/models/channel.atd b/lib/models/gen/channel.atd
index 6ab58cf..6ab58cf 100644
--- a/lib/models/channel.atd
+++ b/lib/models/gen/channel.atd
diff --git a/lib/models/channel_j.ml b/lib/models/gen/channel_j.ml
index 7369230..7369230 100644
--- a/lib/models/channel_j.ml
+++ b/lib/models/gen/channel_j.ml
diff --git a/lib/models/channel_j.mli b/lib/models/gen/channel_j.mli
index ec4048c..ec4048c 100644
--- a/lib/models/channel_j.mli
+++ b/lib/models/gen/channel_j.mli
diff --git a/lib/models/channel_t.ml b/lib/models/gen/channel_t.ml
index a5c9ce4..a5c9ce4 100644
--- a/lib/models/channel_t.ml
+++ b/lib/models/gen/channel_t.ml
diff --git a/lib/models/channel_t.mli b/lib/models/gen/channel_t.mli
index a5c9ce4..a5c9ce4 100644
--- a/lib/models/channel_t.mli
+++ b/lib/models/gen/channel_t.mli
diff --git a/lib/models/embed.atd b/lib/models/gen/embed.atd
index 0d3aed4..0d3aed4 100644
--- a/lib/models/embed.atd
+++ b/lib/models/gen/embed.atd
diff --git a/lib/models/embed_j.ml b/lib/models/gen/embed_j.ml
index 560c517..560c517 100644
--- a/lib/models/embed_j.ml
+++ b/lib/models/gen/embed_j.ml
diff --git a/lib/models/embed_j.mli b/lib/models/gen/embed_j.mli
index 8872d89..8872d89 100644
--- a/lib/models/embed_j.mli
+++ b/lib/models/gen/embed_j.mli
diff --git a/lib/models/embed_t.ml b/lib/models/gen/embed_t.ml
index 9eb5059..9eb5059 100644
--- a/lib/models/embed_t.ml
+++ b/lib/models/gen/embed_t.ml
diff --git a/lib/models/embed_t.mli b/lib/models/gen/embed_t.mli
index 9eb5059..9eb5059 100644
--- a/lib/models/embed_t.mli
+++ b/lib/models/gen/embed_t.mli
diff --git a/lib/models/emoji.atd b/lib/models/gen/emoji.atd
index 877323b..877323b 100644
--- a/lib/models/emoji.atd
+++ b/lib/models/gen/emoji.atd
diff --git a/lib/models/emoji_j.ml b/lib/models/gen/emoji_j.ml
index d621de2..d621de2 100644
--- a/lib/models/emoji_j.ml
+++ b/lib/models/gen/emoji_j.ml
diff --git a/lib/models/emoji_j.mli b/lib/models/gen/emoji_j.mli
index 596deeb..596deeb 100644
--- a/lib/models/emoji_j.mli
+++ b/lib/models/gen/emoji_j.mli
diff --git a/lib/models/emoji_t.ml b/lib/models/gen/emoji_t.ml
index 333939d..333939d 100644
--- a/lib/models/emoji_t.ml
+++ b/lib/models/gen/emoji_t.ml
diff --git a/lib/models/emoji_t.mli b/lib/models/gen/emoji_t.mli
index 333939d..333939d 100644
--- a/lib/models/emoji_t.mli
+++ b/lib/models/gen/emoji_t.mli
diff --git a/lib/models/guild.atd b/lib/models/gen/guild.atd
index c622eea..c622eea 100644
--- a/lib/models/guild.atd
+++ b/lib/models/gen/guild.atd
diff --git a/lib/models/guild_j.ml b/lib/models/gen/guild_j.ml
index 9f7b069..9f7b069 100644
--- a/lib/models/guild_j.ml
+++ b/lib/models/gen/guild_j.ml
diff --git a/lib/models/guild_j.mli b/lib/models/gen/guild_j.mli
index d430b2a..d430b2a 100644
--- a/lib/models/guild_j.mli
+++ b/lib/models/gen/guild_j.mli
diff --git a/lib/models/guild_t.ml b/lib/models/gen/guild_t.ml
index 9ffe83f..9ffe83f 100644
--- a/lib/models/guild_t.ml
+++ b/lib/models/gen/guild_t.ml
diff --git a/lib/models/guild_t.mli b/lib/models/gen/guild_t.mli
index 9ffe83f..9ffe83f 100644
--- a/lib/models/guild_t.mli
+++ b/lib/models/gen/guild_t.mli
diff --git a/lib/models/member.atd b/lib/models/gen/member.atd
index 11d8b62..11d8b62 100644
--- a/lib/models/member.atd
+++ b/lib/models/gen/member.atd
diff --git a/lib/models/member_j.ml b/lib/models/gen/member_j.ml
index 7fd4aec..7fd4aec 100644
--- a/lib/models/member_j.ml
+++ b/lib/models/gen/member_j.ml
diff --git a/lib/models/member_j.mli b/lib/models/gen/member_j.mli
index f160b6d..f160b6d 100644
--- a/lib/models/member_j.mli
+++ b/lib/models/gen/member_j.mli
diff --git a/lib/models/member_t.ml b/lib/models/gen/member_t.ml
index 6262e1b..6262e1b 100644
--- a/lib/models/member_t.ml
+++ b/lib/models/gen/member_t.ml
diff --git a/lib/models/member_t.mli b/lib/models/gen/member_t.mli
index 6262e1b..6262e1b 100644
--- a/lib/models/member_t.mli
+++ b/lib/models/gen/member_t.mli
diff --git a/lib/models/message.atd b/lib/models/gen/message.atd
index 1c90be9..8611f6a 100644
--- a/lib/models/message.atd
+++ b/lib/models/gen/message.atd
@@ -2,7 +2,6 @@ type snowflake <ocaml from="Snowflake" t="t"> = abstract
type user <ocaml from="User" t="t"> = abstract
type member <ocaml from="Member" t="t"> = abstract
type partial_member <ocaml from="Member" t="partial_member"> = abstract
-type role <ocaml from="Role" t="t"> = abstract
type attachment <ocaml from="Attachment" t="t"> = abstract
type embed <ocaml from="Embed" t="t"> = abstract
type reaction <ocaml from="Reaction" t="t"> = abstract
@@ -18,13 +17,13 @@ type t = {
?edited_timestamp: string option;
tts: bool;
mention_everyone: bool;
- mentions: user list;
- role_mentions: role list;
+ mentions: snowflake list;
+ ?role_mentions: snowflake list option;
attachments: attachment list;
embeds: embed list;
- reactions: reaction list;
+ ?reactions: snowflake list option;
?nonce: snowflake option;
pinned: bool;
- webhook_id: snowflake;
+ ?webhook_id: snowflake option;
kind <json name="type">: int;
} \ No newline at end of file
diff --git a/lib/models/message_j.ml b/lib/models/gen/message_j.ml
index 206d69c..faea836 100644
--- a/lib/models/message_j.ml
+++ b/lib/models/gen/message_j.ml
@@ -5,10 +5,6 @@ type user = User_t.t
type snowflake = Snowflake_t.t
-type role = Role_t.t
-
-type reaction = Reaction_t.t
-
type partial_member = Member_t.partial_member
type embed = Embed_t.t
@@ -26,17 +22,19 @@ type t = Message_t.t = {
edited_timestamp: string option;
tts: bool;
mention_everyone: bool;
- mentions: user list;
- role_mentions: role list;
+ mentions: snowflake list;
+ role_mentions: snowflake list option;
attachments: attachment list;
embeds: embed list;
- reactions: reaction list;
+ reactions: snowflake list option;
nonce: snowflake option;
pinned: bool;
- webhook_id: snowflake;
+ webhook_id: snowflake option;
kind: int
}
+type reaction = Reaction_t.t
+
type member = Member_t.t
let write_user = (
@@ -63,30 +61,6 @@ let read_snowflake = (
)
let snowflake_of_string s =
read_snowflake (Yojson.Safe.init_lexer ()) (Lexing.from_string s)
-let write_role = (
- Role_j.write_t
-)
-let string_of_role ?(len = 1024) x =
- let ob = Bi_outbuf.create len in
- write_role ob x;
- Bi_outbuf.contents ob
-let read_role = (
- Role_j.read_t
-)
-let role_of_string s =
- read_role (Yojson.Safe.init_lexer ()) (Lexing.from_string s)
-let write_reaction = (
- Reaction_j.write_t
-)
-let string_of_reaction ?(len = 1024) x =
- let ob = Bi_outbuf.create len in
- write_reaction ob x;
- Bi_outbuf.contents ob
-let read_reaction = (
- Reaction_j.read_t
-)
-let reaction_of_string s =
- read_reaction (Yojson.Safe.init_lexer ()) (Lexing.from_string s)
let write_partial_member = (
Member_j.write_partial_member
)
@@ -123,22 +97,6 @@ let read_attachment = (
)
let attachment_of_string s =
read_attachment (Yojson.Safe.init_lexer ()) (Lexing.from_string s)
-let write__8 = (
- Atdgen_runtime.Oj_run.write_list (
- write_reaction
- )
-)
-let string_of__8 ?(len = 1024) x =
- let ob = Bi_outbuf.create len in
- write__8 ob x;
- Bi_outbuf.contents ob
-let read__8 = (
- Atdgen_runtime.Oj_run.read_list (
- read_reaction
- )
-)
-let _8_of_string s =
- read__8 (Yojson.Safe.init_lexer ()) (Lexing.from_string s)
let write__7 = (
Atdgen_runtime.Oj_run.write_list (
write_embed
@@ -171,25 +129,9 @@ let read__6 = (
)
let _6_of_string s =
read__6 (Yojson.Safe.init_lexer ()) (Lexing.from_string s)
-let write__5 = (
- Atdgen_runtime.Oj_run.write_list (
- write_role
- )
-)
-let string_of__5 ?(len = 1024) x =
- let ob = Bi_outbuf.create len in
- write__5 ob x;
- Bi_outbuf.contents ob
-let read__5 = (
- Atdgen_runtime.Oj_run.read_list (
- read_role
- )
-)
-let _5_of_string s =
- read__5 (Yojson.Safe.init_lexer ()) (Lexing.from_string s)
let write__4 = (
Atdgen_runtime.Oj_run.write_list (
- write_user
+ write_snowflake
)
)
let string_of__4 ?(len = 1024) x =
@@ -198,11 +140,68 @@ let string_of__4 ?(len = 1024) x =
Bi_outbuf.contents ob
let read__4 = (
Atdgen_runtime.Oj_run.read_list (
- read_user
+ read_snowflake
)
)
let _4_of_string s =
read__4 (Yojson.Safe.init_lexer ()) (Lexing.from_string s)
+let write__5 = (
+ Atdgen_runtime.Oj_run.write_option (
+ write__4
+ )
+)
+let string_of__5 ?(len = 1024) x =
+ let ob = Bi_outbuf.create len in
+ write__5 ob x;
+ Bi_outbuf.contents ob
+let read__5 = (
+ fun p lb ->
+ Yojson.Safe.read_space p lb;
+ match Yojson.Safe.start_any_variant p lb with
+ | `Edgy_bracket -> (
+ match Yojson.Safe.read_ident p lb with
+ | "None" ->
+ Yojson.Safe.read_space p lb;
+ Yojson.Safe.read_gt p lb;
+ (None : _ option)
+ | "Some" ->
+ Atdgen_runtime.Oj_run.read_until_field_value p lb;
+ let x = (
+ read__4
+ ) p lb
+ in
+ Yojson.Safe.read_space p lb;
+ Yojson.Safe.read_gt p lb;
+ (Some x : _ option)
+ | x ->
+ Atdgen_runtime.Oj_run.invalid_variant_tag p x
+ )
+ | `Double_quote -> (
+ match Yojson.Safe.finish_string p lb with
+ | "None" ->
+ (None : _ option)
+ | x ->
+ Atdgen_runtime.Oj_run.invalid_variant_tag p x
+ )
+ | `Square_bracket -> (
+ match Atdgen_runtime.Oj_run.read_string p lb with
+ | "Some" ->
+ Yojson.Safe.read_space p lb;
+ Yojson.Safe.read_comma p lb;
+ Yojson.Safe.read_space p lb;
+ let x = (
+ read__4
+ ) p lb
+ in
+ Yojson.Safe.read_space p lb;
+ Yojson.Safe.read_rbr p lb;
+ (Some x : _ option)
+ | x ->
+ Atdgen_runtime.Oj_run.invalid_variant_tag p x
+ )
+)
+let _5_of_string s =
+ read__5 (Yojson.Safe.init_lexer ()) (Lexing.from_string s)
let write__3 = (
Atdgen_runtime.Oj_run.write_option (
Yojson.Safe.write_string
@@ -483,15 +482,17 @@ let write_t : _ -> t -> _ = (
write__4
)
ob x.mentions;
- if !is_first then
- is_first := false
- else
- Bi_outbuf.add_char ob ',';
- Bi_outbuf.add_string ob "\"role_mentions\":";
- (
- write__5
- )
- ob x.role_mentions;
+ (match x.role_mentions with None -> () | Some x ->
+ if !is_first then
+ is_first := false
+ else
+ Bi_outbuf.add_char ob ',';
+ Bi_outbuf.add_string ob "\"role_mentions\":";
+ (
+ write__4
+ )
+ ob x;
+ );
if !is_first then
is_first := false
else
@@ -510,15 +511,17 @@ let write_t : _ -> t -> _ = (
write__7
)
ob x.embeds;
- if !is_first then
- is_first := false
- else
- Bi_outbuf.add_char ob ',';
- Bi_outbuf.add_string ob "\"reactions\":";
- (
- write__8
- )
- ob x.reactions;
+ (match x.reactions with None -> () | Some x ->
+ if !is_first then
+ is_first := false
+ else
+ Bi_outbuf.add_char ob ',';
+ Bi_outbuf.add_string ob "\"reactions\":";
+ (
+ write__4
+ )
+ ob x;
+ );
(match x.nonce with None -> () | Some x ->
if !is_first then
is_first := false
@@ -539,15 +542,17 @@ let write_t : _ -> t -> _ = (
Yojson.Safe.write_bool
)
ob x.pinned;
- if !is_first then
- is_first := false
- else
- Bi_outbuf.add_char ob ',';
- Bi_outbuf.add_string ob "\"webhook_id\":";
- (
- write_snowflake
- )
- ob x.webhook_id;
+ (match x.webhook_id with None -> () | Some x ->
+ if !is_first then
+ is_first := false
+ else
+ Bi_outbuf.add_char ob ',';
+ Bi_outbuf.add_string ob "\"webhook_id\":";
+ (
+ write_snowflake
+ )
+ ob x;
+ );
if !is_first then
is_first := false
else
@@ -578,13 +583,13 @@ let read_t = (
let field_tts = ref (Obj.magic (Sys.opaque_identity 0.0)) in
let field_mention_everyone = ref (Obj.magic (Sys.opaque_identity 0.0)) in
let field_mentions = ref (Obj.magic (Sys.opaque_identity 0.0)) in
- let field_role_mentions = ref (Obj.magic (Sys.opaque_identity 0.0)) in
+ let field_role_mentions = ref (None) in
let field_attachments = ref (Obj.magic (Sys.opaque_identity 0.0)) in
let field_embeds = ref (Obj.magic (Sys.opaque_identity 0.0)) in
- let field_reactions = ref (Obj.magic (Sys.opaque_identity 0.0)) in
+ let field_reactions = ref (None) in
let field_nonce = ref (None) in
let field_pinned = ref (Obj.magic (Sys.opaque_identity 0.0)) in
- let field_webhook_id = ref (Obj.magic (Sys.opaque_identity 0.0)) in
+ let field_webhook_id = ref (None) in
let field_kind = ref (Obj.magic (Sys.opaque_identity 0.0)) in
let bits0 = ref 0 in
try
@@ -873,33 +878,39 @@ let read_t = (
);
bits0 := !bits0 lor 0x80;
| 11 ->
- field_role_mentions := (
- (
- read__5
- ) p lb
- );
- bits0 := !bits0 lor 0x100;
+ if not (Yojson.Safe.read_null_if_possible p lb) then (
+ field_role_mentions := (
+ Some (
+ (
+ read__4
+ ) p lb
+ )
+ );
+ )
| 12 ->
field_attachments := (
(
read__6
) p lb
);
- bits0 := !bits0 lor 0x200;
+ bits0 := !bits0 lor 0x100;
| 13 ->
field_embeds := (
(
read__7
) p lb
);
- bits0 := !bits0 lor 0x400;
+ bits0 := !bits0 lor 0x200;
| 14 ->
- field_reactions := (
- (
- read__8
- ) p lb
- );
- bits0 := !bits0 lor 0x800;
+ if not (Yojson.Safe.read_null_if_possible p lb) then (
+ field_reactions := (
+ Some (
+ (
+ read__4
+ ) p lb
+ )
+ );
+ )
| 15 ->
if not (Yojson.Safe.read_null_if_possible p lb) then (
field_nonce := (
@@ -916,21 +927,24 @@ let read_t = (
Atdgen_runtime.Oj_run.read_bool
) p lb
);
- bits0 := !bits0 lor 0x1000;
+ bits0 := !bits0 lor 0x400;
| 17 ->
- field_webhook_id := (
- (
- read_snowflake
- ) p lb
- );
- bits0 := !bits0 lor 0x2000;
+ if not (Yojson.Safe.read_null_if_possible p lb) then (
+ field_webhook_id := (
+ Some (
+ (
+ read_snowflake
+ ) p lb
+ )
+ );
+ )
| 18 ->
field_kind := (
(
Atdgen_runtime.Oj_run.read_int
) p lb
);
- bits0 := !bits0 lor 0x4000;
+ bits0 := !bits0 lor 0x800;
| _ -> (
Yojson.Safe.skip_json p lb
)
@@ -1221,33 +1235,39 @@ let read_t = (
);
bits0 := !bits0 lor 0x80;
| 11 ->
- field_role_mentions := (
- (
- read__5
- ) p lb
- );
- bits0 := !bits0 lor 0x100;
+ if not (Yojson.Safe.read_null_if_possible p lb) then (
+ field_role_mentions := (
+ Some (
+ (
+ read__4
+ ) p lb
+ )
+ );
+ )
| 12 ->
field_attachments := (
(
read__6
) p lb
);
- bits0 := !bits0 lor 0x200;
+ bits0 := !bits0 lor 0x100;
| 13 ->
field_embeds := (
(
read__7
) p lb
);
- bits0 := !bits0 lor 0x400;
+ bits0 := !bits0 lor 0x200;
| 14 ->
- field_reactions := (
- (
- read__8
- ) p lb
- );
- bits0 := !bits0 lor 0x800;
+ if not (Yojson.Safe.read_null_if_possible p lb) then (
+ field_reactions := (
+ Some (
+ (
+ read__4
+ ) p lb
+ )
+ );
+ )
| 15 ->
if not (Yojson.Safe.read_null_if_possible p lb) then (
field_nonce := (
@@ -1264,21 +1284,24 @@ let read_t = (
Atdgen_runtime.Oj_run.read_bool
) p lb
);
- bits0 := !bits0 lor 0x1000;
+ bits0 := !bits0 lor 0x400;
| 17 ->
- field_webhook_id := (
- (
- read_snowflake
- ) p lb
- );
- bits0 := !bits0 lor 0x2000;
+ if not (Yojson.Safe.read_null_if_possible p lb) then (
+ field_webhook_id := (
+ Some (
+ (
+ read_snowflake
+ ) p lb
+ )
+ );
+ )
| 18 ->
field_kind := (
(
Atdgen_runtime.Oj_run.read_int
) p lb
);
- bits0 := !bits0 lor 0x4000;
+ bits0 := !bits0 lor 0x800;
| _ -> (
Yojson.Safe.skip_json p lb
)
@@ -1286,7 +1309,7 @@ let read_t = (
done;
assert false;
with Yojson.End_of_object -> (
- if !bits0 <> 0x7fff then Atdgen_runtime.Oj_run.missing_fields p [| !bits0 |] [| "id"; "author"; "channel_id"; "content"; "timestamp"; "tts"; "mention_everyone"; "mentions"; "role_mentions"; "attachments"; "embeds"; "reactions"; "pinned"; "webhook_id"; "kind" |];
+ if !bits0 <> 0xfff then Atdgen_runtime.Oj_run.missing_fields p [| !bits0 |] [| "id"; "author"; "channel_id"; "content"; "timestamp"; "tts"; "mention_everyone"; "mentions"; "attachments"; "embeds"; "pinned"; "kind" |];
(
{
id = !field_id;
@@ -1314,6 +1337,18 @@ let read_t = (
)
let t_of_string s =
read_t (Yojson.Safe.init_lexer ()) (Lexing.from_string s)
+let write_reaction = (
+ Reaction_j.write_t
+)
+let string_of_reaction ?(len = 1024) x =
+ let ob = Bi_outbuf.create len in
+ write_reaction ob x;
+ Bi_outbuf.contents ob
+let read_reaction = (
+ Reaction_j.read_t
+)
+let reaction_of_string s =
+ read_reaction (Yojson.Safe.init_lexer ()) (Lexing.from_string s)
let write_member = (
Member_j.write_t
)
diff --git a/lib/models/message_j.mli b/lib/models/gen/message_j.mli
index e3a3e5b..04aa440 100644
--- a/lib/models/message_j.mli
+++ b/lib/models/gen/message_j.mli
@@ -5,10 +5,6 @@ type user = User_t.t
type snowflake = Snowflake_t.t
-type role = Role_t.t
-
-type reaction = Reaction_t.t
-
type partial_member = Member_t.partial_member
type embed = Embed_t.t
@@ -26,17 +22,19 @@ type t = Message_t.t = {
edited_timestamp: string option;
tts: bool;
mention_everyone: bool;
- mentions: user list;
- role_mentions: role list;
+ mentions: snowflake list;
+ role_mentions: snowflake list option;
attachments: attachment list;
embeds: embed list;
- reactions: reaction list;
+ reactions: snowflake list option;
nonce: snowflake option;
pinned: bool;
- webhook_id: snowflake;
+ webhook_id: snowflake option;
kind: int
}
+type reaction = Reaction_t.t
+
type member = Member_t.t
val write_user :
@@ -79,46 +77,6 @@ val snowflake_of_string :
string -> snowflake
(** Deserialize JSON data of type {!snowflake}. *)
-val write_role :
- Bi_outbuf.t -> role -> unit
- (** Output a JSON value of type {!role}. *)
-
-val string_of_role :
- ?len:int -> role -> string
- (** Serialize a value of type {!role}
- into a JSON string.
- @param len specifies the initial length
- of the buffer used internally.
- Default: 1024. *)
-
-val read_role :
- Yojson.Safe.lexer_state -> Lexing.lexbuf -> role
- (** Input JSON data of type {!role}. *)
-
-val role_of_string :
- string -> role
- (** Deserialize JSON data of type {!role}. *)
-
-val write_reaction :
- Bi_outbuf.t -> reaction -> unit
- (** Output a JSON value of type {!reaction}. *)
-
-val string_of_reaction :
- ?len:int -> reaction -> string
- (** Serialize a value of type {!reaction}
- into a JSON string.
- @param len specifies the initial length
- of the buffer used internally.
- Default: 1024. *)
-
-val read_reaction :
- Yojson.Safe.lexer_state -> Lexing.lexbuf -> reaction
- (** Input JSON data of type {!reaction}. *)
-
-val reaction_of_string :
- string -> reaction
- (** Deserialize JSON data of type {!reaction}. *)
-
val write_partial_member :
Bi_outbuf.t -> partial_member -> unit
(** Output a JSON value of type {!partial_member}. *)
@@ -199,6 +157,26 @@ val t_of_string :
string -> t
(** Deserialize JSON data of type {!t}. *)
+val write_reaction :
+ Bi_outbuf.t -> reaction -> unit
+ (** Output a JSON value of type {!reaction}. *)
+
+val string_of_reaction :
+ ?len:int -> reaction -> string
+ (** Serialize a value of type {!reaction}
+ into a JSON string.
+ @param len specifies the initial length
+ of the buffer used internally.
+ Default: 1024. *)
+
+val read_reaction :
+ Yojson.Safe.lexer_state -> Lexing.lexbuf -> reaction
+ (** Input JSON data of type {!reaction}. *)
+
+val reaction_of_string :
+ string -> reaction
+ (** Deserialize JSON data of type {!reaction}. *)
+
val write_member :
Bi_outbuf.t -> member -> unit
(** Output a JSON value of type {!member}. *)
diff --git a/lib/models/message_t.ml b/lib/models/gen/message_t.ml
index 2442d76..ce2d5a4 100644
--- a/lib/models/message_t.ml
+++ b/lib/models/gen/message_t.ml
@@ -5,10 +5,6 @@ type user = User_t.t
type snowflake = Snowflake_t.t
-type role = Role_t.t
-
-type reaction = Reaction_t.t
-
type partial_member = Member_t.partial_member
type embed = Embed_t.t
@@ -26,15 +22,17 @@ type t = {
edited_timestamp: string option;
tts: bool;
mention_everyone: bool;
- mentions: user list;
- role_mentions: role list;
+ mentions: snowflake list;
+ role_mentions: snowflake list option;
attachments: attachment list;
embeds: embed list;
- reactions: reaction list;
+ reactions: snowflake list option;
nonce: snowflake option;
pinned: bool;
- webhook_id: snowflake;
+ webhook_id: snowflake option;
kind: int
}
+type reaction = Reaction_t.t
+
type member = Member_t.t
diff --git a/lib/models/message_t.mli b/lib/models/gen/message_t.mli
index 2442d76..ce2d5a4 100644
--- a/lib/models/message_t.mli
+++ b/lib/models/gen/message_t.mli
@@ -5,10 +5,6 @@ type user = User_t.t
type snowflake = Snowflake_t.t
-type role = Role_t.t
-
-type reaction = Reaction_t.t
-
type partial_member = Member_t.partial_member
type embed = Embed_t.t
@@ -26,15 +22,17 @@ type t = {
edited_timestamp: string option;
tts: bool;
mention_everyone: bool;
- mentions: user list;
- role_mentions: role list;
+ mentions: snowflake list;
+ role_mentions: snowflake list option;
attachments: attachment list;
embeds: embed list;
- reactions: reaction list;
+ reactions: snowflake list option;
nonce: snowflake option;
pinned: bool;
- webhook_id: snowflake;
+ webhook_id: snowflake option;
kind: int
}
+type reaction = Reaction_t.t
+
type member = Member_t.t
diff --git a/lib/models/presence.atd b/lib/models/gen/presence.atd
index da9b3fd..da9b3fd 100644
--- a/lib/models/presence.atd
+++ b/lib/models/gen/presence.atd
diff --git a/lib/models/presence_j.ml b/lib/models/gen/presence_j.ml
index b4ea497..b4ea497 100644
--- a/lib/models/presence_j.ml
+++ b/lib/models/gen/presence_j.ml
diff --git a/lib/models/presence_j.mli b/lib/models/gen/presence_j.mli
index be68b3f..be68b3f 100644
--- a/lib/models/presence_j.mli
+++ b/lib/models/gen/presence_j.mli
diff --git a/lib/models/presence_t.ml b/lib/models/gen/presence_t.ml
index 940d986..940d986 100644
--- a/lib/models/presence_t.ml
+++ b/lib/models/gen/presence_t.ml
diff --git a/lib/models/presence_t.mli b/lib/models/gen/presence_t.mli
index 940d986..940d986 100644
--- a/lib/models/presence_t.mli
+++ b/lib/models/gen/presence_t.mli
diff --git a/lib/models/reaction.atd b/lib/models/gen/reaction.atd
index aa41483..aa41483 100644
--- a/lib/models/reaction.atd
+++ b/lib/models/gen/reaction.atd
diff --git a/lib/models/reaction_j.ml b/lib/models/gen/reaction_j.ml
index fe91833..fe91833 100644
--- a/lib/models/reaction_j.ml
+++ b/lib/models/gen/reaction_j.ml
diff --git a/lib/models/reaction_j.mli b/lib/models/gen/reaction_j.mli
index 0d6a598..0d6a598 100644
--- a/lib/models/reaction_j.mli
+++ b/lib/models/gen/reaction_j.mli
diff --git a/lib/models/reaction_t.ml b/lib/models/gen/reaction_t.ml
index 666030b..666030b 100644
--- a/lib/models/reaction_t.ml
+++ b/lib/models/gen/reaction_t.ml
diff --git a/lib/models/reaction_t.mli b/lib/models/gen/reaction_t.mli
index 666030b..666030b 100644
--- a/lib/models/reaction_t.mli
+++ b/lib/models/gen/reaction_t.mli
diff --git a/lib/models/role.atd b/lib/models/gen/role.atd
index a6bdcba..a6bdcba 100644
--- a/lib/models/role.atd
+++ b/lib/models/gen/role.atd
diff --git a/lib/models/role_j.ml b/lib/models/gen/role_j.ml
index a15b6cf..a15b6cf 100644
--- a/lib/models/role_j.ml
+++ b/lib/models/gen/role_j.ml
diff --git a/lib/models/role_j.mli b/lib/models/gen/role_j.mli
index b4ea78c..b4ea78c 100644
--- a/lib/models/role_j.mli
+++ b/lib/models/gen/role_j.mli
diff --git a/lib/models/role_t.ml b/lib/models/gen/role_t.ml
index a4e83c5..a4e83c5 100644
--- a/lib/models/role_t.ml
+++ b/lib/models/gen/role_t.ml
diff --git a/lib/models/role_t.mli b/lib/models/gen/role_t.mli
index a4e83c5..a4e83c5 100644
--- a/lib/models/role_t.mli
+++ b/lib/models/gen/role_t.mli
diff --git a/lib/models/snowflake.atd b/lib/models/gen/snowflake.atd
index 98dc032..98dc032 100644
--- a/lib/models/snowflake.atd
+++ b/lib/models/gen/snowflake.atd
diff --git a/lib/models/snowflake_j.ml b/lib/models/gen/snowflake_j.ml
index 80f6f63..80f6f63 100644
--- a/lib/models/snowflake_j.ml
+++ b/lib/models/gen/snowflake_j.ml
diff --git a/lib/models/snowflake_j.mli b/lib/models/gen/snowflake_j.mli
index fed97a4..fed97a4 100644
--- a/lib/models/snowflake_j.mli
+++ b/lib/models/gen/snowflake_j.mli
diff --git a/lib/models/snowflake_t.ml b/lib/models/gen/snowflake_t.ml
index a7bdb08..a7bdb08 100644
--- a/lib/models/snowflake_t.ml
+++ b/lib/models/gen/snowflake_t.ml
diff --git a/lib/models/snowflake_t.mli b/lib/models/gen/snowflake_t.mli
index a7bdb08..a7bdb08 100644
--- a/lib/models/snowflake_t.mli
+++ b/lib/models/gen/snowflake_t.mli
diff --git a/lib/models/user.atd b/lib/models/gen/user.atd
index 106b3b0..106b3b0 100644
--- a/lib/models/user.atd
+++ b/lib/models/gen/user.atd
diff --git a/lib/models/user_j.ml b/lib/models/gen/user_j.ml
index 552a20d..552a20d 100644
--- a/lib/models/user_j.ml
+++ b/lib/models/gen/user_j.ml
diff --git a/lib/models/user_j.mli b/lib/models/gen/user_j.mli
index 576768e..576768e 100644
--- a/lib/models/user_j.mli
+++ b/lib/models/gen/user_j.mli
diff --git a/lib/models/user_t.ml b/lib/models/gen/user_t.ml
index 294cf0a..294cf0a 100644
--- a/lib/models/user_t.ml
+++ b/lib/models/gen/user_t.ml
diff --git a/lib/models/user_t.mli b/lib/models/gen/user_t.mli
index 294cf0a..294cf0a 100644
--- a/lib/models/user_t.mli
+++ b/lib/models/gen/user_t.mli
diff --git a/lib/models/guild.ml b/lib/models/guild.ml
new file mode 100644
index 0000000..36b7d4b
--- /dev/null
+++ b/lib/models/guild.ml
@@ -0,0 +1,2 @@
+module Make(Http : S.Http) = struct
+end \ No newline at end of file
diff --git a/lib/models/member.ml b/lib/models/member.ml
new file mode 100644
index 0000000..36b7d4b
--- /dev/null
+++ b/lib/models/member.ml
@@ -0,0 +1,2 @@
+module Make(Http : S.Http) = struct
+end \ No newline at end of file
diff --git a/lib/models/message.ml b/lib/models/message.ml
new file mode 100644
index 0000000..29148ee
--- /dev/null
+++ b/lib/models/message.ml
@@ -0,0 +1,43 @@
+module Make(Http : S.Http) = struct
+ open Message_t
+
+ let add_reaction msg (emoji:Emoji_t.t) =
+ let e = match emoji.id with
+ | Some i -> Printf.sprintf "%s:%d" emoji.name i
+ | None -> emoji.name
+ in
+ Http.create_reaction msg.channel_id msg.id e
+
+ let remove_reaction msg (emoji:Emoji_t.t) (user:User_t.t) =
+ let e = match emoji.id with
+ | Some i -> Printf.sprintf "%s:%d" emoji.name i
+ | None -> emoji.name
+ in
+ Http.delete_reaction msg.channel_id msg.id e user.id
+
+ let clear_reactions msg =
+ Http.delete_reactions msg.channel_id msg.id
+
+ let delete msg =
+ Http.delete_message msg.channel_id msg.id
+
+ let pin msg =
+ Http.pin_message msg.channel_id msg.id
+
+ let unpin msg =
+ Http.unpin_message msg.channel_id msg.id
+
+ let reply msg cont =
+ let rep = `Assoc [("content", `String cont)] in
+ Http.create_message msg.channel_id rep
+
+ let set_content msg cont =
+ Message_j.string_of_t { msg with content = cont; }
+ |> Yojson.Safe.from_string
+ |> Http.edit_message msg.channel_id msg.id
+
+ let set_embed msg embed =
+ Message_j.string_of_t { msg with embeds = [embed]; }
+ |> Yojson.Safe.from_string
+ |> Http.edit_message msg.channel_id msg.id
+end \ No newline at end of file
diff --git a/lib/models/message.mli b/lib/models/message.mli
new file mode 100644
index 0000000..6f6242f
--- /dev/null
+++ b/lib/models/message.mli
@@ -0,0 +1 @@
+module Make(Http : S.Http) : S.Message \ No newline at end of file
diff --git a/lib/models/presence.ml b/lib/models/presence.ml
new file mode 100644
index 0000000..36b7d4b
--- /dev/null
+++ b/lib/models/presence.ml
@@ -0,0 +1,2 @@
+module Make(Http : S.Http) = struct
+end \ No newline at end of file
diff --git a/lib/models/reaction.ml b/lib/models/reaction.ml
new file mode 100644
index 0000000..36b7d4b
--- /dev/null
+++ b/lib/models/reaction.ml
@@ -0,0 +1,2 @@
+module Make(Http : S.Http) = struct
+end \ No newline at end of file
diff --git a/lib/models/role.ml b/lib/models/role.ml
new file mode 100644
index 0000000..36b7d4b
--- /dev/null
+++ b/lib/models/role.ml
@@ -0,0 +1,2 @@
+module Make(Http : S.Http) = struct
+end \ No newline at end of file
diff --git a/lib/models/snowflake.ml b/lib/models/snowflake.ml
new file mode 100644
index 0000000..36b7d4b
--- /dev/null
+++ b/lib/models/snowflake.ml
@@ -0,0 +1,2 @@
+module Make(Http : S.Http) = struct
+end \ No newline at end of file
diff --git a/lib/models/user.ml b/lib/models/user.ml
new file mode 100644
index 0000000..36b7d4b
--- /dev/null
+++ b/lib/models/user.ml
@@ -0,0 +1,2 @@
+module Make(Http : S.Http) = struct
+end \ No newline at end of file