diff options
Diffstat (limited to 'lib/s.ml')
| -rw-r--r-- | lib/s.ml | 331 |
1 files changed, 168 insertions, 163 deletions
@@ -4,57 +4,54 @@ module type Token = sig val token : string end -module type Handler = sig - val handle_event : - 'a -> - 'b -> - unit +module type Activity = sig end + +module type Attachment = sig end + +module type Ban = sig end + +module type Channel = sig end + +module type Embed = sig end + +module type Emoji = sig end + +module type Guild = sig end + +module type Member = sig + (* val add_role : Member_t.t -> Role_t.t -> Yojson.Safe.json Deferred.t + val remove_role : Member_t.t -> Role_t.t -> Yojson.Safe.json Deferred.t + val ban : ?reason:string -> ?days:int -> Member_t.t -> Yojson.Safe.json Deferred.t + val ban : ?reason:string -> Member_t.t -> Yojson.Safe.json Deferred.t + val kick : ?reason:string -> Member_t.t -> Yojson.Safe.json Deferred.t + val mute : Member_t.t -> Yojson.Safe.json Deferred.t + val deafen : Member_t.t -> Yojson.Safe.json Deferred.t + val unmute : Member_t.t -> Yojson.Safe.json Deferred.t + val undeafen : Member_t.t -> Yojson.Safe.json Deferred.t *) end -module type Dispatch = sig - type dispatch_event = - | HELLO of Yojson.Safe.json - | READY of Yojson.Safe.json - | RESUMED of Yojson.Safe.json - | INVALID_SESSION of Yojson.Safe.json - | CHANNEL_CREATE of Channel_t.t - | CHANNEL_UPDATE of Channel_t.t - | CHANNEL_DELETE of Channel_t.t - | CHANNEL_PINS_UPDATE of Yojson.Safe.json - | GUILD_CREATE of Guild_t.t - | GUILD_UPDATE of Guild_t.t - | GUILD_DELETE of Guild_t.t - | GUILD_BAN_ADD of Ban_t.t - | GUILD_BAN_REMOVE of Ban_t.t - | GUILD_EMOJIS_UPDATE of Yojson.Safe.json - | GUILD_INTEGRATIONS_UPDATE of Yojson.Safe.json - | GUILD_MEMBER_ADD of Member_t.t - | GUILD_MEMBER_REMOVE of Member_t.t - | GUILD_MEMBER_UPDATE of Member_t.t - | GUILD_MEMBERS_CHUNK of Member_t.t list - | GUILD_ROLE_CREATE of Role_t.t (* * Guild.t *) - | GUILD_ROLE_UPDATE of Role_t.t (* * Guild.t *) - | GUILD_ROLE_DELETE of Role_t.t (* * Guild.t *) - | MESSAGE_CREATE of Message_t.t - | MESSAGE_UPDATE of Message_t.t - | MESSAGE_DELETE of Message_t.t - | MESSAGE_BULK_DELETE of Message_t.t list - | MESSAGE_REACTION_ADD of (* Message.t * *) Reaction_t.t - | MESSAGE_REACTION_REMOVE of (* Message.t * *) Reaction_t.t - | MESSAGE_REACTION_REMOVE_ALL of (* Message.t * *) Reaction_t.t list - | PRESENCE_UPDATE of Presence_t.t - | TYPING_START of Yojson.Safe.json - | USER_UPDATE of Yojson.Safe.json - | VOICE_STATE_UPDATE of Yojson.Safe.json - | VOICE_SERVER_UPDATE of Yojson.Safe.json - | WEBHOOKS_UPDATE of Yojson.Safe.json - - exception Invalid_event of string - - val event_of_string : contents:string -> string -> dispatch_event - val dispatch : ev: -> string -> unit +module type Message = sig + val add_reaction : Message_t.t -> Emoji_t.t -> Yojson.Safe.json Deferred.t + val remove_reaction : Message_t.t -> Emoji_t.t -> User_t.t -> Yojson.Safe.json Deferred.t + val clear_reactions : Message_t.t -> Yojson.Safe.json Deferred.t + val delete : Message_t.t -> Yojson.Safe.json Deferred.t + val pin : Message_t.t -> Yojson.Safe.json Deferred.t + val unpin : Message_t.t -> Yojson.Safe.json Deferred.t + val reply : Message_t.t -> string -> Yojson.Safe.json Deferred.t + val set_content : Message_t.t -> string -> Yojson.Safe.json Deferred.t + val set_embed : Message_t.t -> Embed_t.t -> Yojson.Safe.json Deferred.t end +module type Presence = sig end + +module type Reaction = sig end + +module type Role = sig end + +module type Snowflake = sig end + +module type User = sig end + module type Http = sig val token : string @@ -80,163 +77,171 @@ module type Http = sig end (* Auto-generated signatures *) - val get_gateway : unit -> Yojson.Safe.json Async.Deferred.t - val get_gateway_bot : unit -> Yojson.Safe.json Async.Deferred.t - val get_channel : string -> Yojson.Safe.json Async.Deferred.t + val get_gateway : unit -> Yojson.Safe.json Conduit_async.io + val get_gateway_bot : unit -> Yojson.Safe.json Conduit_async.io + val get_channel : int -> Yojson.Safe.json Conduit_async.io val modify_channel : - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t - val delete_channel : string -> Yojson.Safe.json Async.Deferred.t - val get_messages : string -> Yojson.Safe.json Async.Deferred.t - val get_message : string -> string -> Yojson.Safe.json Async.Deferred.t + int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io + val delete_channel : int -> Yojson.Safe.json Conduit_async.io + val get_messages : int -> Yojson.Safe.json Conduit_async.io + val get_message : int -> int -> Yojson.Safe.json Conduit_async.io val create_message : - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t + int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io val create_reaction : - string -> string -> string -> Yojson.Safe.json Async.Deferred.t + int -> int -> string -> Yojson.Safe.json Conduit_async.io val delete_own_reaction : - string -> string -> string -> Yojson.Safe.json Async.Deferred.t + int -> int -> string -> Yojson.Safe.json Conduit_async.io val delete_reaction : - string -> - string -> string -> string -> Yojson.Safe.json Async.Deferred.t + int -> int -> string -> int -> Yojson.Safe.json Conduit_async.io val get_reactions : - string -> string -> string -> Yojson.Safe.json Async.Deferred.t - val delete_reactions : - string -> string -> Yojson.Safe.json Async.Deferred.t + int -> int -> string -> Yojson.Safe.json Conduit_async.io + val delete_reactions : int -> int -> Yojson.Safe.json Conduit_async.io val edit_message : - string -> - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t - val delete_message : - string -> string -> Yojson.Safe.json Async.Deferred.t + int -> int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io + val delete_message : int -> int -> Yojson.Safe.json Conduit_async.io val bulk_delete : - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t + int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io val edit_channel_permissions : - string -> - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t - val get_channel_invites : string -> Yojson.Safe.json Async.Deferred.t + int -> int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io + val get_channel_invites : int -> Yojson.Safe.json Conduit_async.io val create_channel_invite : - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t + int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io val delete_channel_permission : - string -> string -> Yojson.Safe.json Async.Deferred.t - val broadcast_typing : string -> Yojson.Safe.json Async.Deferred.t - val get_pinned_messages : string -> Yojson.Safe.json Async.Deferred.t - val pin_message : string -> string -> Yojson.Safe.json Async.Deferred.t - val unpin_message : - string -> string -> Yojson.Safe.json Async.Deferred.t - val group_recipient_add : - string -> string -> Yojson.Safe.json Async.Deferred.t + int -> int -> Yojson.Safe.json Conduit_async.io + val broadcast_typing : int -> Yojson.Safe.json Conduit_async.io + val get_pinned_messages : int -> Yojson.Safe.json Conduit_async.io + val pin_message : int -> int -> Yojson.Safe.json Conduit_async.io + val unpin_message : int -> int -> Yojson.Safe.json Conduit_async.io + val group_recipient_add : int -> int -> Yojson.Safe.json Conduit_async.io val group_recipient_remove : - string -> string -> Yojson.Safe.json Async.Deferred.t - val get_emojis : string -> Yojson.Safe.json Async.Deferred.t - val get_emoji : string -> string -> Yojson.Safe.json Async.Deferred.t + int -> int -> Yojson.Safe.json Conduit_async.io + val get_emojis : int -> Yojson.Safe.json Conduit_async.io + val get_emoji : int -> int -> Yojson.Safe.json Conduit_async.io val create_emoji : - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t + int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io val edit_emoji : - string -> - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t - val delete_emoji : string -> string -> Yojson.Safe.json Async.Deferred.t - val create_guild : - Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t - val get_guild : string -> Yojson.Safe.json Async.Deferred.t + int -> int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io + val delete_emoji : int -> int -> Yojson.Safe.json Conduit_async.io + val create_guild : Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io + val get_guild : int -> Yojson.Safe.json Conduit_async.io val edit_guild : - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t - val delete_guild : string -> Yojson.Safe.json Async.Deferred.t - val get_guild_channels : string -> Yojson.Safe.json Async.Deferred.t + int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io + val delete_guild : int -> Yojson.Safe.json Conduit_async.io + val get_guild_channels : int -> Yojson.Safe.json Conduit_async.io val create_guild_channel : - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t + int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io val modify_guild_channel_positions : - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t - val get_member : string -> string -> Yojson.Safe.json Async.Deferred.t - val get_members : string -> Yojson.Safe.json Async.Deferred.t + int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io + val get_member : int -> int -> Yojson.Safe.json Conduit_async.io + val get_members : int -> Yojson.Safe.json Conduit_async.io val add_member : - string -> - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t + int -> int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io val edit_member : - string -> - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t - val remove_member : - string -> string -> Yojson.Safe.json Async.Deferred.t + int -> int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io + val remove_member : int -> int -> Yojson.Safe.json Conduit_async.io val change_nickname : - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t + int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io val add_member_role : - string -> string -> string -> Yojson.Safe.json Async.Deferred.t + int -> int -> int -> Yojson.Safe.json Conduit_async.io val remove_member_role : - string -> string -> string -> Yojson.Safe.json Async.Deferred.t - val get_bans : string -> Yojson.Safe.json Async.Deferred.t - val get_ban : string -> string -> Yojson.Safe.json Async.Deferred.t + int -> int -> int -> Yojson.Safe.json Conduit_async.io + val get_bans : int -> Yojson.Safe.json Conduit_async.io + val get_ban : int -> int -> Yojson.Safe.json Conduit_async.io val guild_ban_add : - string -> - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t - val guild_ban_remove : - string -> string -> Yojson.Safe.json Async.Deferred.t - val get_roles : string -> Yojson.Safe.json Async.Deferred.t + int -> int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io + val guild_ban_remove : int -> int -> Yojson.Safe.json Conduit_async.io + val get_roles : int -> Yojson.Safe.json Conduit_async.io val guild_role_add : - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t + int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io val guild_roles_edit : - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t + int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io val guild_role_edit : - string -> - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t - val guild_role_remove : - string -> string -> Yojson.Safe.json Async.Deferred.t - val guild_prune_count : string -> Yojson.Safe.json Async.Deferred.t + int -> int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io + val guild_role_remove : int -> int -> Yojson.Safe.json Conduit_async.io + val guild_prune_count : int -> Yojson.Safe.json Conduit_async.io val guild_prune_start : - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t - val get_guild_voice_regions : - string -> Yojson.Safe.json Async.Deferred.t - val get_guild_invites : string -> Yojson.Safe.json Async.Deferred.t - val get_integrations : string -> Yojson.Safe.json Async.Deferred.t + int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io + val get_guild_voice_regions : int -> Yojson.Safe.json Conduit_async.io + val get_guild_invites : int -> Yojson.Safe.json Conduit_async.io + val get_integrations : int -> Yojson.Safe.json Conduit_async.io val add_integration : - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t + int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io val edit_integration : - string -> - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t - val delete_integration : - string -> string -> Yojson.Safe.json Async.Deferred.t - val sync_integration : - string -> string -> Yojson.Safe.json Async.Deferred.t - val get_guild_embed : string -> Yojson.Safe.json Async.Deferred.t + int -> int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io + val delete_integration : int -> int -> Yojson.Safe.json Conduit_async.io + val sync_integration : int -> int -> Yojson.Safe.json Conduit_async.io + val get_guild_embed : int -> Yojson.Safe.json Conduit_async.io val edit_guild_embed : - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t - val get_vanity_url : string -> Yojson.Safe.json Async.Deferred.t - val get_invite : string -> Yojson.Safe.json Async.Deferred.t - val delete_invite : string -> Yojson.Safe.json Async.Deferred.t - val get_current_user : unit -> Yojson.Safe.json Async.Deferred.t + int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io + val get_vanity_url : int -> Yojson.Safe.json Conduit_async.io + val get_invite : string -> Yojson.Safe.json Conduit_async.io + val delete_invite : string -> Yojson.Safe.json Conduit_async.io + val get_current_user : unit -> Yojson.Safe.json Conduit_async.io val edit_current_user : - Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t - val get_guilds : unit -> Yojson.Safe.json Async.Deferred.t - val leave_guild : string -> Yojson.Safe.json Async.Deferred.t - val get_private_channels : unit -> Yojson.Safe.json Async.Deferred.t - val create_dm : Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t + Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io + val get_guilds : unit -> Yojson.Safe.json Conduit_async.io + val leave_guild : int -> Yojson.Safe.json Conduit_async.io + val get_private_channels : unit -> Yojson.Safe.json Conduit_async.io + val create_dm : Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io val create_group_dm : - Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t - val get_connections : unit -> Yojson.Safe.json Async.Deferred.t - val get_user : string -> Yojson.Safe.json Async.Deferred.t - val get_voice_regions : unit -> Yojson.Safe.json Async.Deferred.t + Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io + val get_connections : unit -> Yojson.Safe.json Conduit_async.io + val get_user : int -> Yojson.Safe.json Conduit_async.io + val get_voice_regions : unit -> Yojson.Safe.json Conduit_async.io val create_webhook : - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t - val get_channel_webhooks : string -> Yojson.Safe.json Async.Deferred.t - val get_guild_webhooks : string -> Yojson.Safe.json Async.Deferred.t - val get_webhook : string -> Yojson.Safe.json Async.Deferred.t + int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io + val get_channel_webhooks : int -> Yojson.Safe.json Conduit_async.io + val get_guild_webhooks : int -> Yojson.Safe.json Conduit_async.io + val get_webhook : int -> Yojson.Safe.json Conduit_async.io val get_webhook_with_token : - string -> string -> Yojson.Safe.json Async.Deferred.t + int -> string -> Yojson.Safe.json Conduit_async.io val edit_webhook : - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t + int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io val edit_webhook_with_token : - string -> - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t - val delete_webhook : string -> Yojson.Safe.json Async.Deferred.t + int -> string -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io + val delete_webhook : int -> Yojson.Safe.json Conduit_async.io val delete_webhook_with_token : - string -> string -> Yojson.Safe.json Async.Deferred.t + int -> string -> Yojson.Safe.json Conduit_async.io val execute_webhook : - string -> - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t + int -> string -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io val execute_slack_webhook : - string -> - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t + int -> string -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io val execute_git_webhook : - string -> - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t + int -> string -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io val get_audit_logs : - string -> Yojson.Safe.json -> Yojson.Safe.json Async.Deferred.t + int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io +end + +module type Models = sig + module Http : Http + module Activity : Activity + module Attachment : Attachment + module Ban : Ban + module Channel : Channel + module Embed : Embed + module Emoji : Emoji + module Guild : Guild + module Member : Member + module Message : Message + module Presence : Presence + module Reaction : Reaction + module Role : Role + module Snowflake : Snowflake + module User : User +end + +module type Handler = sig + val handle_event : + Event.t -> + unit +end + +module type Handler_f = sig + module Make(Models : Models) : Handler +end + +module type Dispatch = sig + val dispatch : ev:string -> string -> unit end module type Sharder = sig |