diff options
Diffstat (limited to 'lib/models')
| -rw-r--r-- | lib/models/activity.ml | 2 | ||||
| -rw-r--r-- | lib/models/attachment.ml | 2 | ||||
| -rw-r--r-- | lib/models/ban.ml | 2 | ||||
| -rw-r--r-- | lib/models/channel.ml | 2 | ||||
| -rw-r--r-- | lib/models/embed.ml | 2 | ||||
| -rw-r--r-- | lib/models/emoji.ml | 2 | ||||
| -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.ml | 2 | ||||
| -rw-r--r-- | lib/models/member.ml | 2 | ||||
| -rw-r--r-- | lib/models/message.ml | 43 | ||||
| -rw-r--r-- | lib/models/message.mli | 1 | ||||
| -rw-r--r-- | lib/models/presence.ml | 2 | ||||
| -rw-r--r-- | lib/models/reaction.ml | 2 | ||||
| -rw-r--r-- | lib/models/role.ml | 2 | ||||
| -rw-r--r-- | lib/models/snowflake.ml | 2 | ||||
| -rw-r--r-- | lib/models/user.ml | 2 |
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 |