aboutsummaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorAdelyn Breedlove <[email protected]>2019-01-13 16:51:04 -0700
committerAdelyn Breedlove <[email protected]>2019-01-13 16:51:04 -0700
commitc5bfc108ca6a1e7a21492b4318de78a74ed801f9 (patch)
tree191164d198c07cf388d9aae8a54013e5613c272c /bin
parentMore deserialization fixes (diff)
downloaddisml-c5bfc108ca6a1e7a21492b4318de78a74ed801f9.tar.xz
disml-c5bfc108ca6a1e7a21492b4318de78a74ed801f9.zip
Add deriving sexp to models
Diffstat (limited to 'bin')
-rw-r--r--bin/handler.ml73
1 files changed, 37 insertions, 36 deletions
diff --git a/bin/handler.ml b/bin/handler.ml
index 43d908e..5afbbee 100644
--- a/bin/handler.ml
+++ b/bin/handler.ml
@@ -8,7 +8,8 @@ module Make(Models : Disml.S.Models) = struct
if String.is_prefix ~prefix:"!ping" msg.content then
Message.reply msg "Pong!" >>> ignore
else if String.is_prefix ~prefix:"!spam" msg.content then
- List.range 0 20
+ let count = String.chop_prefix_exn ~prefix:"!spam" msg.content |> String.strip |> Int.of_string in
+ List.range 0 count
|> List.iter ~f:(fun i -> Message.reply msg (string_of_int i) >>> ignore)
else if String.is_prefix ~prefix:"!list" msg.content then
let count = String.chop_prefix_exn ~prefix:"!list" msg.content |> String.strip |> Int.of_string in
@@ -24,39 +25,39 @@ module Make(Models : Disml.S.Models) = struct
Message.reply msg list >>> ignore
let handle_event = function
- | HELLO _ -> print_endline "Received HELLO"
- | READY _ -> print_endline "Received READY"
- | RESUMED _ -> print_endline "Received RESUMED"
- | INVALID_SESSION _ -> print_endline "Received INVALID_SESSION"
- | CHANNEL_CREATE _ -> print_endline "Received CHANNEL_CREATE"
- | CHANNEL_UPDATE _ -> print_endline "Received CHANNEL_UPDATE"
- | CHANNEL_DELETE _ -> print_endline "Received CHANNEL_DELETE"
- | CHANNEL_PINS_UPDATE _ -> print_endline "Received CHANNEL_PINS_UPDATE"
- | GUILD_CREATE _ -> print_endline "Received GUILD_CREATE"
- | GUILD_UPDATE _ -> print_endline "Received GUILD_UPDATE"
- | GUILD_DELETE _ -> print_endline "Received GUILD_DELETE"
- | GUILD_BAN_ADD _ -> print_endline "Received GUILD_BAN_ADD"
- | GUILD_BAN_REMOVE _ -> print_endline "Received GUILD_BAN_REMOVE"
- | GUILD_EMOJIS_UPDATE _ -> print_endline "Received GUILD_EMOJIS_UPDATE"
- | GUILD_INTEGRATIONS_UPDATE _ -> print_endline "Received GUILD_INTEGRATIONS_UPDATE"
- | GUILD_MEMBER_ADD _ -> print_endline "Received GUILD_MEMBER_ADD"
- | GUILD_MEMBER_REMOVE _ -> print_endline "Received GUILD_MEMBER_REMOVE"
- | GUILD_MEMBER_UPDATE _ -> print_endline "Received GUILD_MEMBER_UPDATE"
- | GUILD_MEMBERS_CHUNK _ -> print_endline "Received GUILD_MEMBERS_CHUNK"
- | GUILD_ROLE_CREATE _ -> print_endline "Received GUILD_ROLE_CREATE"
- | GUILD_ROLE_UPDATE _ -> print_endline "Received GUILD_ROLE_UPDATE"
- | GUILD_ROLE_DELETE _ -> print_endline "Received GUILD_ROLE_DELETE"
- | MESSAGE_CREATE msg -> check_command msg; print_endline "Received MESSAGE_CREATE"
- | MESSAGE_UPDATE _ -> print_endline "Received MESSAGE_UPDATE"
- | MESSAGE_DELETE _ -> print_endline "Received MESSAGE_DELETE"
- | MESSAGE_BULK_DELETE _ -> print_endline "Received MESSAGE_BULK_DELETE"
- | MESSAGE_REACTION_ADD _ -> print_endline "Received MESSAGE_REACTION_ADD"
- | MESSAGE_REACTION_REMOVE _ -> print_endline "Received MESSAGE_REACTION_REMOVE"
- | MESSAGE_REACTION_REMOVE_ALL _ -> print_endline "Received MESSAGE_REACTION_REMOVE_ALL"
- | PRESENCE_UPDATE _ -> print_endline "Received PRESENCE_UPDATE"
- | TYPING_START _ -> print_endline "Received TYPING_START"
- | USER_UPDATE _ -> print_endline "Received USER_UPDATE"
- | VOICE_STATE_UPDATE _ -> print_endline "Received VOICE_STATE_UPDATE"
- | VOICE_SERVER_UPDATE _ -> print_endline "Received VOICE_SERVER_UPDATE"
+ | HELLO _ -> print_endline "Received HELLO"
+ | READY _ -> print_endline "Received READY"
+ | RESUMED _ -> print_endline "Received RESUMED"
+ | INVALID_SESSION _ -> print_endline "Received INVALID_SESSION"
+ | CHANNEL_CREATE _ -> print_endline "Received CHANNEL_CREATE"
+ | CHANNEL_UPDATE _ -> print_endline "Received CHANNEL_UPDATE"
+ | CHANNEL_DELETE _ -> print_endline "Received CHANNEL_DELETE"
+ | CHANNEL_PINS_UPDATE _ -> print_endline "Received CHANNEL_PINS_UPDATE"
+ | GUILD_CREATE _ -> print_endline "Received GUILD_CREATE"
+ | GUILD_UPDATE _ -> print_endline "Received GUILD_UPDATE"
+ | GUILD_DELETE _ -> print_endline "Received GUILD_DELETE"
+ | GUILD_BAN_ADD _ -> print_endline "Received GUILD_BAN_ADD"
+ | GUILD_BAN_REMOVE _ -> print_endline "Received GUILD_BAN_REMOVE"
+ | GUILD_EMOJIS_UPDATE _ -> print_endline "Received GUILD_EMOJIS_UPDATE"
+ | GUILD_INTEGRATIONS_UPDATE _ -> print_endline "Received GUILD_INTEGRATIONS_UPDATE"
+ | GUILD_MEMBER_ADD _ -> print_endline "Received GUILD_MEMBER_ADD"
+ | GUILD_MEMBER_REMOVE _ -> print_endline "Received GUILD_MEMBER_REMOVE"
+ | GUILD_MEMBER_UPDATE _ -> print_endline "Received GUILD_MEMBER_UPDATE"
+ | GUILD_MEMBERS_CHUNK _ -> print_endline "Received GUILD_MEMBERS_CHUNK"
+ | GUILD_ROLE_CREATE _ -> print_endline "Received GUILD_ROLE_CREATE"
+ | GUILD_ROLE_UPDATE _ -> print_endline "Received GUILD_ROLE_UPDATE"
+ | GUILD_ROLE_DELETE _ -> print_endline "Received GUILD_ROLE_DELETE"
+ | MESSAGE_CREATE msg -> check_command msg; print_endline "Received MESSAGE_CREATE"
+ | MESSAGE_UPDATE _ -> print_endline "Received MESSAGE_UPDATE"
+ | MESSAGE_DELETE _ -> print_endline "Received MESSAGE_DELETE"
+ | MESSAGE_BULK_DELETE _ -> print_endline "Received MESSAGE_BULK_DELETE"
+ | MESSAGE_REACTION_ADD _ -> print_endline "Received MESSAGE_REACTION_ADD"
+ | MESSAGE_REACTION_REMOVE _ -> print_endline "Received MESSAGE_REACTION_REMOVE"
+ | MESSAGE_REACTION_REMOVE_ALL _ -> print_endline "Received MESSAGE_REACTION_REMOVE_ALL"
+ | PRESENCE_UPDATE _ -> print_endline "Received PRESENCE_UPDATE"
+ | TYPING_START _ -> print_endline "Received TYPING_START"
+ | USER_UPDATE _ -> print_endline "Received USER_UPDATE"
+ | VOICE_STATE_UPDATE _ -> print_endline "Received VOICE_STATE_UPDATE"
+ | VOICE_SERVER_UPDATE _ -> print_endline "Received VOICE_SERVER_UPDATE"
| WEBHOOKS_UPDATE _ -> print_endline "Received WEBHOOKS_UPDATE"
-end \ No newline at end of file
+end