aboutsummaryrefslogtreecommitdiff
path: root/lib/s.ml
diff options
context:
space:
mode:
authorAdelyn Breelove <[email protected]>2018-12-12 15:23:14 -0700
committerAdelyn Breelove <[email protected]>2018-12-12 15:23:14 -0700
commitc046760eb599e42226c683aecbe33753dfc4d500 (patch)
tree69b2be155e7dfc52710cb5b7700c31fab633896c /lib/s.ml
parentWork on event dispatch and add model derives (diff)
downloaddisml-c046760eb599e42226c683aecbe33753dfc4d500.tar.xz
disml-c046760eb599e42226c683aecbe33753dfc4d500.zip
Complete event dispatch
Diffstat (limited to 'lib/s.ml')
-rw-r--r--lib/s.ml44
1 files changed, 44 insertions, 0 deletions
diff --git a/lib/s.ml b/lib/s.ml
index eec72e1..95eaee3 100644
--- a/lib/s.ml
+++ b/lib/s.ml
@@ -15,6 +15,50 @@ module type Handler = sig
unit
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
+ | CHANNEL_UPDATE of Channel.t
+ | CHANNEL_DELETE of Channel.t
+ | CHANNEL_PINS_UPDATE of Yojson.Safe.json
+ | GUILD_CREATE of Guild.t
+ | GUILD_UPDATE of Guild.t
+ | GUILD_DELETE of Guild.t
+ | GUILD_BAN_ADD of Ban.t
+ | GUILD_BAN_REMOVE of Ban.t
+ | GUILD_EMOJIS_UPDATE of Yojson.Safe.json
+ | GUILD_INTEGRATIONS_UPDATE of Yojson.Safe.json
+ | GUILD_MEMBER_ADD of Member.t
+ | GUILD_MEMBER_REMOVE of Member.t
+ | GUILD_MEMBER_UPDATE of Member.t
+ | GUILD_MEMBERS_CHUNK of Member.t list
+ | GUILD_ROLE_CREATE of Role.t (* * Guild.t *)
+ | GUILD_ROLE_UPDATE of Role.t (* * Guild.t *)
+ | GUILD_ROLE_DELETE of Role.t (* * Guild.t *)
+ | MESSAGE_CREATE of Message.t
+ | MESSAGE_UPDATE of Message.t
+ | MESSAGE_DELETE of Message.t
+ | MESSAGE_BULK_DELETE of Message.t list
+ | MESSAGE_REACTION_ADD of (* Message.t * *) Reaction.t
+ | MESSAGE_REACTION_REMOVE of (* Message.t * *) Reaction.t
+ | MESSAGE_REACTION_REMOVE_ALL of (* Message.t * *) Reaction.t list
+ | PRESENCE_UPDATE of Presence.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:Yojson.Safe.json -> string -> dispatch_event
+ val dispatch : ev:string -> Yojson.Safe.json -> unit
+end
+
module type Http = sig
val token : string