aboutsummaryrefslogtreecommitdiff
path: root/lib/s.ml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/s.ml')
-rw-r--r--lib/s.ml331
1 files changed, 168 insertions, 163 deletions
diff --git a/lib/s.ml b/lib/s.ml
index 32347cb..afe4209 100644
--- a/lib/s.ml
+++ b/lib/s.ml
@@ -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