aboutsummaryrefslogtreecommitdiff
path: root/lib/event.ml
diff options
context:
space:
mode:
authorMishio595 <[email protected]>2018-11-25 20:30:11 -0700
committerMishio595 <[email protected]>2018-11-25 20:30:11 -0700
commitffd7237f62ff8b286a05c9256ab90c92770241a9 (patch)
tree98aeaec02dfa0d291d69ff981f9ae17e46ba5b55 /lib/event.ml
parentconvert to client from client_ez (diff)
downloaddisml-ffd7237f62ff8b286a05c9256ab90c92770241a9.tar.xz
disml-ffd7237f62ff8b286a05c9256ab90c92770241a9.zip
More models, some dispatch rework starting
Diffstat (limited to 'lib/event.ml')
-rw-r--r--lib/event.ml113
1 files changed, 113 insertions, 0 deletions
diff --git a/lib/event.ml b/lib/event.ml
new file mode 100644
index 0000000..8b5b125
--- /dev/null
+++ b/lib/event.ml
@@ -0,0 +1,113 @@
+type t =
+| HELLO
+| READY
+| RESUMED
+| INVALID_SESSION
+| CHANNEL_CREATE
+| CHANNEL_UPDATE
+| CHANNEL_DELETE
+| CHANNEL_PINS_UPDATE
+| GUILD_CREATE
+| GUILD_UPDATE
+| GUILD_DELETE
+| GUILD_BAN_ADD
+| GUILD_BAN_REMOVE
+| GUILD_EMOJIS_UPDATE
+| GUILD_INTEGRATIONS_UPDATE
+| GUILD_MEMBER_ADD
+| GUILD_MEMBER_REMOVE
+| GUILD_MEMBER_UPDATE
+| GUILD_MEMBERS_CHUNK
+| GUILD_ROLE_CREATE
+| GUILD_ROLE_UPDATE
+| GUILD_ROLE_DELETE
+| MESSAGE_CREATE
+| MESSAGE_UPDATE
+| MESSAGE_DELETE
+| MESSAGE_BULK_DELETE
+| MESSAGE_REACTION_ADD
+| MESSAGE_REACTION_REMOVE
+| MESSAGE_REACTION_REMOVE_ALL
+| PRESENCE_UPDATE
+| TYPING_START
+| USER_UPDATE
+| VOICE_STATE_UPDATE
+| VOICE_SERVER_UPDATE
+| WEBHOOKS_UPDATE
+
+exception Invalid_Event of string
+
+let from_string = function
+ | "HELLO" -> HELLO
+ | "READY" -> READY
+ | "RESUMED" -> RESUMED
+ | "INVALID_SESSION" -> INVALID_SESSION
+ | "CHANNEL_CREATE" -> CHANNEL_CREATE
+ | "CHANNEL_UPDATE" -> CHANNEL_UPDATE
+ | "CHANNEL_DELETE" -> CHANNEL_DELETE
+ | "CHANNEL_PINS_UPDATE" -> CHANNEL_PINS_UPDATE
+ | "GUILD_CREATE" -> GUILD_CREATE
+ | "GUILD_UPDATE" -> GUILD_UPDATE
+ | "GUILD_DELETE" -> GUILD_DELETE
+ | "GUILD_BAN_ADD" -> GUILD_BAN_ADD
+ | "GUILD_BAN_REMOVE" -> GUILD_BAN_REMOVE
+ | "GUILD_EMOJIS_UPDATE" -> GUILD_EMOJIS_UPDATE
+ | "GUILD_INTEGRATIONS_UPDATE" -> GUILD_INTEGRATIONS_UPDATE
+ | "GUILD_MEMBER_ADD" -> GUILD_MEMBER_ADD
+ | "GUILD_MEMBER_REMOVE" -> GUILD_MEMBER_REMOVE
+ | "GUILD_MEMBER_UPDATE" -> GUILD_MEMBER_UPDATE
+ | "GUILD_MEMBERS_CHUNK" -> GUILD_MEMBERS_CHUNK
+ | "GUILD_ROLE_CREATE" -> GUILD_ROLE_CREATE
+ | "GUILD_ROLE_UPDATE" -> GUILD_ROLE_UPDATE
+ | "GUILD_ROLE_DELETE" -> GUILD_ROLE_DELETE
+ | "MESSAGE_CREATE" -> MESSAGE_CREATE
+ | "MESSAGE_UPDATE" -> MESSAGE_UPDATE
+ | "MESSAGE_DELETE" -> MESSAGE_DELETE
+ | "MESSAGE_BULK_DELETE" -> MESSAGE_BULK_DELETE
+ | "MESSAGE_REACTION_ADD" -> MESSAGE_REACTION_ADD
+ | "MESSAGE_REACTION_REMOVE" -> MESSAGE_REACTION_REMOVE
+ | "MESSAGE_REACTION_REMOVE_ALL" -> MESSAGE_REACTION_REMOVE_ALL
+ | "PRESENCE_UPDATE" -> PRESENCE_UPDATE
+ | "TYPING_START" -> TYPING_START
+ | "USER_UPDATE" -> USER_UPDATE
+ | "VOICE_STATE_UPDATE" -> VOICE_STATE_UPDATE
+ | "VOICE_SERVER_UPDATE" -> VOICE_SERVER_UPDATE
+ | "WEBHOOKS_UPDATE" -> WEBHOOKS_UPDATE
+ | ev -> raise (Invalid_Event ev)
+
+let to_string = function
+ | HELLO -> "HELLO"
+ | READY -> "READY"
+ | RESUMED -> "RESUMED"
+ | INVALID_SESSION -> "INVALID_SESSION"
+ | CHANNEL_CREATE -> "CHANNEL_CREATE"
+ | CHANNEL_UPDATE -> "CHANNEL_UPDATE"
+ | CHANNEL_DELETE -> "CHANNEL_DELETE"
+ | CHANNEL_PINS_UPDATE -> "CHANNEL_PINS_UPDATE"
+ | GUILD_CREATE -> "GUILD_CREATE"
+ | GUILD_UPDATE -> "GUILD_UPDATE"
+ | GUILD_DELETE -> "GUILD_DELETE"
+ | GUILD_BAN_ADD -> "GUILD_BAN_ADD"
+ | GUILD_BAN_REMOVE -> "GUILD_BAN_REMOVE"
+ | GUILD_EMOJIS_UPDATE -> "GUILD_EMOJIS_UPDATE"
+ | GUILD_INTEGRATIONS_UPDATE -> "GUILD_INTEGRATIONS_UPDATE"
+ | GUILD_MEMBER_ADD -> "GUILD_MEMBER_ADD"
+ | GUILD_MEMBER_REMOVE -> "GUILD_MEMBER_REMOVE"
+ | GUILD_MEMBER_UPDATE -> "GUILD_MEMBER_UPDATE"
+ | GUILD_MEMBERS_CHUNK -> "GUILD_MEMBERS_CHUNK"
+ | GUILD_ROLE_CREATE -> "GUILD_ROLE_CREATE"
+ | GUILD_ROLE_UPDATE -> "GUILD_ROLE_UPDATE"
+ | GUILD_ROLE_DELETE -> "GUILD_ROLE_DELETE"
+ | MESSAGE_CREATE -> "MESSAGE_CREATE"
+ | MESSAGE_UPDATE -> "MESSAGE_UPDATE"
+ | MESSAGE_DELETE -> "MESSAGE_DELETE"
+ | MESSAGE_BULK_DELETE -> "MESSAGE_BULK_DELETE"
+ | MESSAGE_REACTION_ADD -> "MESSAGE_REACTION_ADD"
+ | MESSAGE_REACTION_REMOVE -> "MESSAGE_REACTION_REMOVE"
+ | MESSAGE_REACTION_REMOVE_ALL -> "MESSAGE_REACTION_REMOVE_ALL"
+ | PRESENCE_UPDATE -> "PRESENCE_UPDATE"
+ | TYPING_START -> "TYPING_START"
+ | USER_UPDATE -> "USER_UPDATE"
+ | VOICE_STATE_UPDATE -> "VOICE_STATE_UPDATE"
+ | VOICE_SERVER_UPDATE -> "VOICE_SERVER_UPDATE"
+ | WEBHOOKS_UPDATE -> "WEBHOOKS_UPDATE" \ No newline at end of file