forked from LibreGaming/matchbot
43 lines
1008 B
Clojure
43 lines
1008 B
Clojure
;; SPDX-License-Identifier: Apache-2.0
|
|
;; SPDX-FileCopyrightText: 2022 Sebastian Crane <seabass-labrax@gmx.com>
|
|
|
|
(ns bot
|
|
(:require [clojure.string :as str]
|
|
[game]
|
|
[irclj.core]))
|
|
|
|
(defn sorted-players-of-game [state game]
|
|
(->> game
|
|
(str/lower-case)
|
|
(keyword)
|
|
(game/get-players-of-game state)
|
|
(sort)))
|
|
|
|
(defn match-string [state game _]
|
|
(str "Anyone ready for "
|
|
game
|
|
"? "
|
|
(str/join " " (sorted-players-of-game state game))))
|
|
|
|
(defn list-players-string [state game _]
|
|
(let [players (str/join (map #(str " _" % "_")
|
|
(sorted-players-of-game state game)))]
|
|
(str "Players of "
|
|
game
|
|
":"
|
|
players)))
|
|
|
|
(defn add-player-string [_ game player]
|
|
(str "Added "
|
|
player
|
|
" to the list of players for "
|
|
game
|
|
"!"))
|
|
|
|
(defn remove-player-string [_ game player]
|
|
(str "Removed "
|
|
player
|
|
" from the list of players for "
|
|
game
|
|
"!"))
|