diff options
| author | Mishio595 <[email protected]> | 2018-11-29 18:10:45 -0700 |
|---|---|---|
| committer | Mishio595 <[email protected]> | 2018-11-29 18:10:45 -0700 |
| commit | eaccd45894e5b519bca82662d0b950b5f1d9c598 (patch) | |
| tree | 0d08c556ca3a0399c0be1169d5f0da57b618812b /lib/s.ml | |
| parent | Try to make it a more properly structured lib (diff) | |
| download | disml-eaccd45894e5b519bca82662d0b950b5f1d9c598.tar.xz disml-eaccd45894e5b519bca82662d0b950b5f1d9c598.zip | |
Fix all the errors from coding without merlin
Diffstat (limited to 'lib/s.ml')
| -rw-r--r-- | lib/s.ml | 215 |
1 files changed, 189 insertions, 26 deletions
@@ -6,6 +6,8 @@ module type Token = sig end module type Http = sig + val token : string + module Base : sig exception Invalid_Method @@ -13,20 +15,177 @@ module type Http = sig val process_url : string -> Uri.t val process_request_body : Yojson.Basic.json -> Cohttp_async.Body.t - val process_request_headers : unit -> Headers.t + val process_request_headers : unit -> Header.t val process_response : Cohttp_async.Response.t * Cohttp_async.Body.t -> - Yojson.Basic.json + Yojson.Basic.json Deferred.t val request : ?body:Yojson.Basic.json -> - [ `Delete | `Get | `Patch | `Post | `Put ] -> + [> `DELETE | `GET | `PATCH | `POST | `PUT ] -> string -> Yojson.Basic.json Deferred.t end - (* TODO add abstraction sigs *) + (* Auto-generated signatures *) + val get_gateway : unit -> Yojson.Basic.json Async.Deferred.t + val get_gateway_bot : unit -> Yojson.Basic.json Async.Deferred.t + val get_channel : string -> Yojson.Basic.json Async.Deferred.t + val modify_channel : + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val delete_channel : string -> Yojson.Basic.json Async.Deferred.t + val get_messages : string -> Yojson.Basic.json Async.Deferred.t + val get_message : string -> string -> Yojson.Basic.json Async.Deferred.t + val create_message : + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val create_reaction : + string -> string -> string -> Yojson.Basic.json Async.Deferred.t + val delete_own_reaction : + string -> string -> string -> Yojson.Basic.json Async.Deferred.t + val delete_reaction : + string -> + string -> string -> string -> Yojson.Basic.json Async.Deferred.t + val get_reactions : + string -> string -> string -> Yojson.Basic.json Async.Deferred.t + val delete_reactions : + string -> string -> Yojson.Basic.json Async.Deferred.t + val edit_message : + string -> + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val delete_message : + string -> string -> Yojson.Basic.json Async.Deferred.t + val bulk_delete : + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val edit_channel_permissions : + string -> + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val get_channel_invites : string -> Yojson.Basic.json Async.Deferred.t + val create_channel_invite : + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val delete_channel_permission : + string -> string -> Yojson.Basic.json Async.Deferred.t + val broadcast_typing : string -> Yojson.Basic.json Async.Deferred.t + val get_pinned_messages : string -> Yojson.Basic.json Async.Deferred.t + val pin_message : string -> string -> Yojson.Basic.json Async.Deferred.t + val unpin_message : + string -> string -> Yojson.Basic.json Async.Deferred.t + val group_recipient_add : + string -> string -> Yojson.Basic.json Async.Deferred.t + val group_recipient_remove : + string -> string -> Yojson.Basic.json Async.Deferred.t + val get_emojis : string -> Yojson.Basic.json Async.Deferred.t + val get_emoji : string -> string -> Yojson.Basic.json Async.Deferred.t + val create_emoji : + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val edit_emoji : + string -> + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val delete_emoji : string -> string -> Yojson.Basic.json Async.Deferred.t + val create_guild : + Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val get_guild : string -> Yojson.Basic.json Async.Deferred.t + val edit_guild : + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val delete_guild : string -> Yojson.Basic.json Async.Deferred.t + val get_guild_channels : string -> Yojson.Basic.json Async.Deferred.t + val create_guild_channel : + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val modify_guild_channel_positions : + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val get_member : string -> string -> Yojson.Basic.json Async.Deferred.t + val get_members : string -> Yojson.Basic.json Async.Deferred.t + val add_member : + string -> + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val edit_member : + string -> + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val remove_member : + string -> string -> Yojson.Basic.json Async.Deferred.t + val change_nickname : + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val add_member_role : + string -> string -> string -> Yojson.Basic.json Async.Deferred.t + val remove_member_role : + string -> string -> string -> Yojson.Basic.json Async.Deferred.t + val get_bans : string -> Yojson.Basic.json Async.Deferred.t + val get_ban : string -> string -> Yojson.Basic.json Async.Deferred.t + val guild_ban_add : + string -> + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val guild_ban_remove : + string -> string -> Yojson.Basic.json Async.Deferred.t + val get_roles : string -> Yojson.Basic.json Async.Deferred.t + val guild_role_add : + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val guild_roles_edit : + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val guild_role_edit : + string -> + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val guild_role_remove : + string -> string -> Yojson.Basic.json Async.Deferred.t + val guild_prune_count : string -> Yojson.Basic.json Async.Deferred.t + val guild_prune_start : + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val get_guild_voice_regions : + string -> Yojson.Basic.json Async.Deferred.t + val get_guild_invites : string -> Yojson.Basic.json Async.Deferred.t + val get_integrations : string -> Yojson.Basic.json Async.Deferred.t + val add_integration : + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val edit_integration : + string -> + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val delete_integration : + string -> string -> Yojson.Basic.json Async.Deferred.t + val sync_integration : + string -> string -> Yojson.Basic.json Async.Deferred.t + val get_guild_embed : string -> Yojson.Basic.json Async.Deferred.t + val edit_guild_embed : + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val get_vanity_url : string -> Yojson.Basic.json Async.Deferred.t + val get_invite : string -> Yojson.Basic.json Async.Deferred.t + val delete_invite : string -> Yojson.Basic.json Async.Deferred.t + val get_current_user : unit -> Yojson.Basic.json Async.Deferred.t + val edit_current_user : + Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val get_guilds : unit -> Yojson.Basic.json Async.Deferred.t + val leave_guild : string -> Yojson.Basic.json Async.Deferred.t + val get_private_channels : unit -> Yojson.Basic.json Async.Deferred.t + val create_dm : Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val create_group_dm : + Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val get_connections : unit -> Yojson.Basic.json Async.Deferred.t + val get_user : string -> Yojson.Basic.json Async.Deferred.t + val get_voice_regions : unit -> Yojson.Basic.json Async.Deferred.t + val create_webhook : + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val get_channel_webhooks : string -> Yojson.Basic.json Async.Deferred.t + val get_guild_webhooks : string -> Yojson.Basic.json Async.Deferred.t + val get_webhook : string -> Yojson.Basic.json Async.Deferred.t + val get_webhook_with_token : + string -> string -> Yojson.Basic.json Async.Deferred.t + val edit_webhook : + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val edit_webhook_with_token : + string -> + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val delete_webhook : string -> Yojson.Basic.json Async.Deferred.t + val delete_webhook_with_token : + string -> string -> Yojson.Basic.json Async.Deferred.t + val execute_webhook : + string -> + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val execute_slack_webhook : + string -> + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val execute_git_webhook : + string -> + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t + val get_audit_logs : + string -> Yojson.Basic.json -> Yojson.Basic.json Async.Deferred.t end module type Sharder = sig @@ -37,29 +196,15 @@ module type Sharder = sig val start : ?count:int -> - string -> + unit -> t Deferred.t - val set_status : - status:Yojson.Basic.json -> - t -> - (Shard.shard Shard.t) list Deferred.t - - val set_status_with : - f:(Shard.shard -> Yojson.Basic.json) -> - t -> - (Shard.shard Shard.t) list Deferred.t - - val request_guild_members : - ?query:string -> - ?count:string -> - guild:Snowflake.t -> - t -> - (Shard.shard Shard.t) list Deferred.t - module Shard : sig type shard - type 'a t + type 'a t = { + mutable state: 'a; + mutable binds: ('a -> unit) list; + } val bind : f:('a -> unit) -> @@ -78,13 +223,31 @@ module type Sharder = sig val request_guild_members : ?query:string -> ?limit:int -> - guild:Snowflake.t + guild:Snowflake.t -> + shard -> + shard Deferred.t val create : url:string -> shards:int * int -> - token:string -> unit -> - t Deferred.t + shard Deferred.t end + + val set_status : + status:Yojson.Basic.json -> + t -> + Shard.shard list Deferred.t + + val set_status_with : + f:(Shard.shard -> Yojson.Basic.json) -> + t -> + Shard.shard list Deferred.t + + val request_guild_members : + ?query:string -> + ?limit:int -> + guild:Snowflake.t -> + t -> + Shard.shard list Deferred.t end
\ No newline at end of file |