diff --git a/src/bot.clj b/src/bot.clj index 68cf6d3..47d7aa2 100644 --- a/src/bot.clj +++ b/src/bot.clj @@ -13,13 +13,13 @@ (game/get-players-of-game state) (sort))) -(defn match-string [state game _] +(defn match-string [& {:keys [state game]}] (str "Anyone ready for " game "? " (str/join " " (sorted-players-of-game state game)))) -(defn list-players-string [state game _] +(defn list-players-string [& {:keys [state game]}] (let [players (str/join (map #(str " _" % "_") (sorted-players-of-game state game)))] (str "Players of " @@ -27,21 +27,21 @@ ":" players))) -(defn add-player-string [_ game player] +(defn add-player-string [& {:keys [game player]}] (str "Added " player " to the list of players for " game "!")) -(defn remove-player-string [_ game player] +(defn remove-player-string [& {:keys [game player]}] (str "Removed " player " from the list of players for " game "!")) -(defn list-games-string [state _ _] +(defn list-games-string [& {:keys [state]}] (str "Games with a list of players: " (str/join ", " @@ -63,21 +63,21 @@ (if game (condp = command "!match" - (match-string @state game nil) + (match-string :state @state :game game) "!add" (do (swap! state game/add-player-of-game game-keyword sender) - (add-player-string nil game sender)) + (add-player-string :game game :player sender)) "!players" - (list-players-string @state game nil) + (list-players-string :state @state :game game) "!remove" (do (swap! state game/remove-player-of-game game-keyword sender) - (remove-player-string nil game sender)) + (remove-player-string :game game :player sender)) nil) (condp = command "!list" - (list-games-string @state nil nil) + (list-games-string :state @state) nil)))) diff --git a/test/bot_test.clj b/test/bot_test.clj index 60bb12b..e21ab55 100644 --- a/test/bot_test.clj +++ b/test/bot_test.clj @@ -11,23 +11,23 @@ (deftest match-string-test (is (= '"Anyone ready for quasi-Rts? 123 abc" - (match-string test-state "quasi-Rts" nil)))) + (match-string :state test-state :game "quasi-Rts")))) (deftest list-players-string-test (is (= "Players of HYPOTHETICAL-shooter: _123_ _abc_ _xyz_" - (list-players-string test-state "HYPOTHETICAL-shooter" nil)))) + (list-players-string :state test-state :game "HYPOTHETICAL-shooter")))) (deftest add-player-string-test (is (= "Added abc to the list of players for Quasi-Rts!" - (add-player-string nil "Quasi-Rts" "abc")))) + (add-player-string :game "Quasi-Rts" :player "abc")))) (deftest remove-player-string-test (is (= "Removed abc from the list of players for hypothetical-shooter!" - (remove-player-string nil "hypothetical-shooter" "abc")))) + (remove-player-string :game "hypothetical-shooter" :player "abc")))) (deftest list-games-string-test (is (= "Games with a list of players: hypothetical-shooter, imaginary-rpg, quasi-rts" - (list-games-string test-state nil nil)))) + (list-games-string :state test-state)))) (deftest split-message-test (is (= {:command "!match" :game "Quasi-Rts" :game-keyword :quasi-rts}