diff options
| author | Adelyn Breelove <[email protected]> | 2018-12-14 15:45:27 -0700 |
|---|---|---|
| committer | Adelyn Breelove <[email protected]> | 2018-12-14 15:45:27 -0700 |
| commit | a96b6386c0eeaa7ce3b65c39413cd89b7117ae0f (patch) | |
| tree | d32af9d773906375cd0d507c800c08655fd334c4 /lib | |
| parent | Improve endpoint module and add Message abstraction (diff) | |
| download | disml-a96b6386c0eeaa7ce3b65c39413cd89b7117ae0f.tar.xz disml-a96b6386c0eeaa7ce3b65c39413cd89b7117ae0f.zip | |
A few odds and ends
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/models.ml | 1 | ||||
| -rw-r--r-- | lib/s.ml | 75 |
2 files changed, 44 insertions, 32 deletions
diff --git a/lib/models.ml b/lib/models.ml index 1b23a21..250de34 100644 --- a/lib/models.ml +++ b/lib/models.ml @@ -1,4 +1,5 @@ module Make(H : S.Http) = struct + module Http = H module Activity = Activity.Make(H) module Attachment = Attachment.Make(H) module Ban = Ban.Make(H) @@ -18,7 +18,17 @@ module type Emoji = sig end module type Guild = sig end -module type Member = 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 Message = sig val add_reaction : Message_t.t -> Emoji_t.t -> Yojson.Safe.json Deferred.t @@ -42,37 +52,6 @@ module type Snowflake = sig end module type User = sig end -module type Models = sig - 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 Http = sig val token : string @@ -233,6 +212,38 @@ module type Http = sig 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 exception Invalid_Payload exception Failure_to_Establish_Heartbeat |