aboutsummaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorAdelyn Breedlove <[email protected]>2019-01-13 23:52:45 +0000
committerAdelyn Breedlove <[email protected]>2019-01-13 23:52:45 +0000
commitd95f0342f9cf2280b5d9794ab638c16a59c02a69 (patch)
tree191164d198c07cf388d9aae8a54013e5613c272c /bin
parentMerge branch 'dev' into 'master' (diff)
parentAdd deriving sexp to models (diff)
downloaddisml-d95f0342f9cf2280b5d9794ab638c16a59c02a69.tar.xz
disml-d95f0342f9cf2280b5d9794ab638c16a59c02a69.zip
Merge branch 'switch-to-deriving_yojson' into 'master'
Switch to deriving yojson See merge request Mishio595/disml!12
Diffstat (limited to 'bin')
-rw-r--r--bin/handler.ml75
1 files changed, 38 insertions, 37 deletions
diff --git a/bin/handler.ml b/bin/handler.ml
index 5b22527..5afbbee 100644
--- a/bin/handler.ml
+++ b/bin/handler.ml
@@ -4,11 +4,12 @@ module Make(Models : Disml.S.Models) = struct
open Models
open Disml.Event
- let check_command (msg:Disml.Message_t.t) =
+ let check_command (msg:Message.t) =
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