aboutsummaryrefslogtreecommitdiff
path: root/lib/s.ml
diff options
context:
space:
mode:
authorAdelyn Breedlove <[email protected]>2019-01-28 10:31:51 -0700
committerAdelyn Breedlove <[email protected]>2019-01-28 10:31:51 -0700
commit8662e92987c437f59d09896a247ec2b5d82c4528 (patch)
treef004cc14598351d4ad6b19d8e993d2f629c5e738 /lib/s.ml
parentAdd more docs (diff)
downloaddisml-8662e92987c437f59d09896a247ec2b5d82c4528.tar.xz
disml-8662e92987c437f59d09896a247ec2b5d82c4528.zip
Publish docs updates
Diffstat (limited to 'lib/s.ml')
-rw-r--r--lib/s.ml182
1 files changed, 91 insertions, 91 deletions
diff --git a/lib/s.ml b/lib/s.ml
index 85256cd..05eee18 100644
--- a/lib/s.ml
+++ b/lib/s.ml
@@ -1,92 +1,92 @@
-open Async
-
-module type HasSnowflake = sig
- type t [@@deriving sexp, yojson]
- val get_id : t -> Snowflake.t
-end
-
-module type ChannelImpl = sig
- type t
- exception Invalid_message
- exception No_message_found
-
- (** Advanced message sending.
-
- Raises {!Invalid_message} if one of content or embed is not set.
-
- {3 Examples}
- {[
- open Core
- open Disml
-
- let check_command (msg : Message.t) =
- if String.is_prefix ~prefix:"!hello" msg.content then
- let embed = Embed.(default |> title "Hello World!") in
- Channel_id.send_message ~embed msg.channel_id >>> ignore
-
- Client.message_create := check_command
- ]}
- *)
- val send_message :
- ?embed:Embed.t ->
- ?content:string ->
- ?file:string ->
- ?tts:bool ->
- t ->
- Message_t.t Deferred.Or_error.t
-
- (** [say str ch] is equivalent to [send_message ~content:str ch]. *)
- val say : string -> t -> Message_t.t Deferred.Or_error.t
-
- val delete : t -> Channel_t.t Deferred.Or_error.t
- val get_message : id:Snowflake.t -> t -> Message_t.t Deferred.Or_error.t
- val get_messages :
- ?mode:[ `Before | `After | `Around ] ->
- ?id:Snowflake.t ->
- ?limit:int ->
- t ->
- Message_t.t list Deferred.Or_error.t
- val broadcast_typing : t -> unit Deferred.Or_error.t
- val get_pins : t -> Message_t.t list Deferred.Or_error.t
- (* TODO more things related to guild channels *)
-end
-
-module type GuildImpl = sig
- open Async
-
- type t
- val ban_user : id:Snowflake.t -> ?reason:string -> ?days:int -> t -> unit Deferred.Or_error.t
- val create_emoji : name:string -> image:string -> t -> Emoji.t Deferred.Or_error.t
- val create_role :
- name:string ->
- ?colour:int ->
- ?permissions:int ->
- ?hoist:bool ->
- ?mentionable:bool ->
- t ->
- Role_t.t Deferred.Or_error.t
- val create_channel : mode:[ `Text | `Voice | `Category ] -> name:string -> t -> Channel_t.t Deferred.Or_error.t
- val delete : t -> unit Deferred.Or_error.t
- val get_ban : id:Snowflake.t -> t -> Ban_t.t Deferred.Or_error.t
- val get_bans : t -> Ban_t.t list Deferred.Or_error.t
- val get_emoji : id:Snowflake.t -> t -> Emoji.t Deferred.Or_error.t
- val get_invites : t -> Yojson.Safe.json Deferred.Or_error.t
- val get_prune_count : days:int -> t -> int Deferred.Or_error.t
- val get_webhooks : t -> Yojson.Safe.json Deferred.Or_error.t
- val kick_user : id:Snowflake.t -> ?reason:string -> t -> unit Deferred.Or_error.t
- val leave : t -> unit Deferred.Or_error.t
- val list_voice_regions : t -> Yojson.Safe.json Deferred.Or_error.t
- val prune : days:int -> t -> int Deferred.Or_error.t
- val request_members : t -> Member_t.t list Deferred.Or_error.t
- val set_afk_channel : id:Snowflake.t -> t -> Guild_t.t Deferred.Or_error.t
- val set_afk_timeout : timeout:int -> t -> Guild_t.t Deferred.Or_error.t
- val set_name : name:string -> t -> Guild_t.t Deferred.Or_error.t
- val set_icon : icon:string -> t -> Guild_t.t Deferred.Or_error.t
- val unban_user : id:Snowflake.t -> ?reason:string -> t -> unit Deferred.Or_error.t
-end
-
-module type UserImpl = sig
- type t
- (* val private_channel : t -> Channel_t.t *)
- (* val send : t -> Yojson.Safe.json Deferred.Or_error.t *)
+open Async
+
+module type HasSnowflake = sig
+ type t [@@deriving sexp, yojson]
+ val get_id : t -> Snowflake.t
+end
+
+module type ChannelImpl = sig
+ type t
+ exception Invalid_message
+ exception No_message_found
+
+ (** Advanced message sending.
+
+ Raises {!Invalid_message} if one of content or embed is not set.
+
+ {3 Examples}
+ {[
+ open Core
+ open Disml
+
+ let check_command (msg : Message.t) =
+ if String.is_prefix ~prefix:"!hello" msg.content then
+ let embed = Embed.(default |> title "Hello World!") in
+ Channel_id.send_message ~embed msg.channel_id >>> ignore
+
+ Client.message_create := check_command
+ ]}
+ *)
+ val send_message :
+ ?embed:Embed.t ->
+ ?content:string ->
+ ?file:string ->
+ ?tts:bool ->
+ t ->
+ Message_t.t Deferred.Or_error.t
+
+ (** [say str ch] is equivalent to [send_message ~content:str ch]. *)
+ val say : string -> t -> Message_t.t Deferred.Or_error.t
+
+ val delete : t -> Channel_t.t Deferred.Or_error.t
+ val get_message : id:Snowflake.t -> t -> Message_t.t Deferred.Or_error.t
+ val get_messages :
+ ?mode:[ `Before | `After | `Around ] ->
+ ?id:Snowflake.t ->
+ ?limit:int ->
+ t ->
+ Message_t.t list Deferred.Or_error.t
+ val broadcast_typing : t -> unit Deferred.Or_error.t
+ val get_pins : t -> Message_t.t list Deferred.Or_error.t
+ (* TODO more things related to guild channels *)
+end
+
+module type GuildImpl = sig
+ open Async
+
+ type t
+ val ban_user : id:Snowflake.t -> ?reason:string -> ?days:int -> t -> unit Deferred.Or_error.t
+ val create_emoji : name:string -> image:string -> t -> Emoji.t Deferred.Or_error.t
+ val create_role :
+ name:string ->
+ ?colour:int ->
+ ?permissions:int ->
+ ?hoist:bool ->
+ ?mentionable:bool ->
+ t ->
+ Role_t.t Deferred.Or_error.t
+ val create_channel : mode:[ `Text | `Voice | `Category ] -> name:string -> t -> Channel_t.t Deferred.Or_error.t
+ val delete : t -> unit Deferred.Or_error.t
+ val get_ban : id:Snowflake.t -> t -> Ban_t.t Deferred.Or_error.t
+ val get_bans : t -> Ban_t.t list Deferred.Or_error.t
+ val get_emoji : id:Snowflake.t -> t -> Emoji.t Deferred.Or_error.t
+ val get_invites : t -> Yojson.Safe.json Deferred.Or_error.t
+ val get_prune_count : days:int -> t -> int Deferred.Or_error.t
+ val get_webhooks : t -> Yojson.Safe.json Deferred.Or_error.t
+ val kick_user : id:Snowflake.t -> ?reason:string -> t -> unit Deferred.Or_error.t
+ val leave : t -> unit Deferred.Or_error.t
+ val list_voice_regions : t -> Yojson.Safe.json Deferred.Or_error.t
+ val prune : days:int -> t -> int Deferred.Or_error.t
+ val request_members : t -> Member_t.t list Deferred.Or_error.t
+ val set_afk_channel : id:Snowflake.t -> t -> Guild_t.t Deferred.Or_error.t
+ val set_afk_timeout : timeout:int -> t -> Guild_t.t Deferred.Or_error.t
+ val set_name : name:string -> t -> Guild_t.t Deferred.Or_error.t
+ val set_icon : icon:string -> t -> Guild_t.t Deferred.Or_error.t
+ val unban_user : id:Snowflake.t -> ?reason:string -> t -> unit Deferred.Or_error.t
+end
+
+module type UserImpl = sig
+ type t
+ (* val private_channel : t -> Channel_t.t *)
+ (* val send : t -> Yojson.Safe.json Deferred.Or_error.t *)
end \ No newline at end of file