Compare commits
2 Commits
a1fe5ff70c
...
ee6245d77a
| Author | SHA1 | Date | |
|---|---|---|---|
| ee6245d77a | |||
| bd1dc3190c |
@@ -1,7 +1,7 @@
|
||||
(ns riot.commands
|
||||
#_{:clj-kondo/ignore [:refer-all]}
|
||||
(:require [riot.core :refer :all]
|
||||
[riot.data :refer :all]
|
||||
[riot.riot-data :refer :all]
|
||||
[riot.riot-api :refer :all]
|
||||
[clojure.pprint :as pp]
|
||||
[clojure.string :as s]
|
||||
@@ -42,6 +42,10 @@
|
||||
(System/exit 1)))))) ;; If not playing, return 1
|
||||
|
||||
(comment
|
||||
(reset! debug true)
|
||||
|
||||
(some? (is-playing? "Walid Georgey" "EUW"))
|
||||
|
||||
(cmd-check-playing "Walid Georgey" "EUW") ;; This kills the REPL
|
||||
(cmd-check-playing "Walid Georgey" "EUW" :continuous true :max 2) ;; Infinite loop if max is nil
|
||||
)
|
||||
@@ -63,17 +67,20 @@
|
||||
(print "CSV"))
|
||||
|
||||
(defn get-matches
|
||||
[player-name player-tag & {:keys [lol tft since]
|
||||
[player-name player-tag & {:keys [lol tft since max]
|
||||
:or {lol true
|
||||
tft true
|
||||
;since nil
|
||||
since "today"
|
||||
max 10
|
||||
}
|
||||
:as params}]
|
||||
(let [millis (process-time-literal since)]
|
||||
(when @debug (println "Parsed date:" millis))
|
||||
(cond-> []
|
||||
lol (concat (map get-lol-match-data
|
||||
(get-lol-matches (lol-get-uuid player-name player-tag) :count 10)))
|
||||
(get-lol-matches (lol-get-uuid player-name player-tag) :count max :startTime millis)))
|
||||
tft (concat (map get-tft-match-data
|
||||
(get-tft-matches (tft-get-uuid player-name player-tag) :count 10)))))
|
||||
(get-tft-matches (tft-get-uuid player-name player-tag) :count max :startTime millis))))))
|
||||
|
||||
(comment
|
||||
(get-matches "Walid Georgey" "EUW")
|
||||
@@ -81,11 +88,12 @@
|
||||
|
||||
|
||||
(defn cmd-show-matches
|
||||
[player-name player-tag & {:keys [lol tft format since]
|
||||
[player-name player-tag & {:keys [lol tft format since max]
|
||||
:or {lol true
|
||||
tft true
|
||||
format :table
|
||||
;since (- (/ (System/currentTimeMillis) 1000) (* 60 60 24))
|
||||
since "today"
|
||||
max 10
|
||||
}
|
||||
:as params}]
|
||||
(when @debug
|
||||
@@ -100,5 +108,5 @@
|
||||
|
||||
(comment
|
||||
(set-riot-api-key :RIOT_DEV_KEY "RGAPI-9fcdee6d-620f-443e-959f-b43fc445f51b")
|
||||
(cmd-show-matches "Walid Georgey" "EUW")
|
||||
(cmd-show-matches "Walid Georgey" "EUW" :since "yesterday" :max 2)
|
||||
)
|
||||
@@ -24,7 +24,7 @@
|
||||
[KEYS default-key key]
|
||||
(if-let [value (get-key-from-env key)]
|
||||
(reset! (key KEYS) value)
|
||||
(if-let [value_dev (get-key-from-env key)]
|
||||
(if-let [value_dev (get-key-from-env default-key)]
|
||||
(reset! (default-key KEYS) value_dev)
|
||||
nil)))
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
(ns riot.riot-api
|
||||
(:require [riot.core :refer :all]
|
||||
[riot.riot-config :refer :all]))
|
||||
(:require [riot.core :refer :all]))
|
||||
|
||||
|
||||
;;
|
||||
@@ -14,6 +13,465 @@
|
||||
;; Maps with keys and supported endpoints are in a separated file (riot-data.clj)
|
||||
;;
|
||||
|
||||
|
||||
;;
|
||||
;; API KEYS
|
||||
;;
|
||||
|
||||
(def RIOT-KEYS {:RIOT_DEV_KEY (atom nil)
|
||||
:RIOT_LOL_KEY (atom nil)
|
||||
:RIOT_TFT_KEY (atom nil)})
|
||||
|
||||
;;
|
||||
;; KNOWN ENDPOINTS
|
||||
;;
|
||||
;; Each endpoint has a URL with path params (denoted as keywords, with ':') and
|
||||
;; some informative metadata about parameters and some logical grouping.
|
||||
;;
|
||||
;; For now, metadata is optional and it is not used in the core, but is very
|
||||
;; usefull for programmers like you.
|
||||
|
||||
(def ENDPOINTS
|
||||
{;; account v1
|
||||
:account-by-puuid
|
||||
{:uri "https://europe.api.riotgames.com/riot/account/v1/accounts/by-puuid/:puuid"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["account"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:lol-account-by-riot-id
|
||||
{:uri "https://europe.api.riotgames.com/riot/account/v1/accounts/by-riot-id/:player-name/:player-tag"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "account"]
|
||||
:path-params {:player-name {:required true :type :string}
|
||||
:player-tag {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:account-active-shards
|
||||
{:uri "https://europe.api.riotgames.com/riot/account/v1/active-shards/by-game/:game/by-puuid/:puuid"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["account"]
|
||||
:path-params {:game {:required true :type :string}
|
||||
:puuid {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; LOL status v4
|
||||
:lol-status
|
||||
{:uri "https://euw1.api.riotgames.com/lol/status/v4/platform-data"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "status"]
|
||||
:path-params {}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; champion-mastery-v4
|
||||
:champion-mastery-by-puuid
|
||||
{:uri "https://euw1.api.riotgames.com/lol/champion-mastery/v4/champion-masteries/by-puuid/:puuid"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "champion-mastery"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:champion-mastery-by-puuid-and-champion
|
||||
{:uri "https://euw1.api.riotgames.com/lol/champion-mastery/v4/champion-masteries/by-puuid/:puuid/by-champion/:championId"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "champion-mastery"]
|
||||
:path-params {:puuid {:required true :type :string}
|
||||
:championId {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:champion-mastery-by-puuid-top
|
||||
{:uri "https://euw1.api.riotgames.com/lol/champion-mastery/v4/champion-masteries/by-puuid/:puuid/top"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "champion-mastery"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {:count {:required false :type :int :default 3}}
|
||||
:header-params {}}
|
||||
|
||||
;; champion v3
|
||||
:champion-rotations
|
||||
{:uri "https://euw1.api.riotgames.com/lol/platform/v3/champion-rotations"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "champion"]
|
||||
:path-params {}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; summoner v4
|
||||
:summoner-by-puuid
|
||||
{:uri "https://euw1.api.riotgames.com/lol/summoner/v4/summoners/by-puuid/:puuid"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "summoner"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; leage v4
|
||||
:league-challenger-by-queue
|
||||
{:uri "https://euw1.api.riotgames.com/lol/league/v4/challengerleagues/by-queue/:queue"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "league"]
|
||||
:path-params {:queue {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:league-all-by-puuid
|
||||
{:uri "https://euw1.api.riotgames.com/lol/league/v4/entries/by-puuid/:puuid"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "league"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:league-all-queue-tier-division
|
||||
{:uri "https://euw1.api.riotgames.com/lol/league/v4/entries/:queue/:tier/:division"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "league"]
|
||||
:path-params {:queue {:required true :type :string}
|
||||
:tier {:required true :type :string}
|
||||
:division {:required true :type :string}}
|
||||
:query-params {:page {:required false :type :int :default 1}}
|
||||
:header-params {}}
|
||||
|
||||
:league-grandmaster-by-queue
|
||||
{:uri "https://euw1.api.riotgames.com/lol/league/v4/grandmasterleagues/by-queue/:queue"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "league"]
|
||||
:path-params {:queue {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:league-by-id
|
||||
{:uri "https://euw1.api.riotgames.com/lol/league/v4/leagues/:league-id"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "league"]
|
||||
:path-params {:league-id {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:league-by-queue
|
||||
{:uri "https://euw1.api.riotgames.com/lol/league/v4/masterleagues/by-queue/:queue"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "league"]
|
||||
:path-params {:queue {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; league-exp v4
|
||||
:league-exp-by-queue-tier-division
|
||||
{:uri "https://euw1.api.riotgames.com/lol/league-exp/v4/entries/:queue/:tier/:division"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "league"]
|
||||
:path-params {:queue {:required true :type :string}
|
||||
:tier {:required true :type :string}
|
||||
:division {:required true :type :string}}
|
||||
:query-params {:page {:required false :type :int :default 1}}
|
||||
:header-params {}}
|
||||
|
||||
;; clash v1
|
||||
:clash-by-puuid
|
||||
{:uri "https://euw1.api.riotgames.com/lol/clash/v1/players/by-puuid/:puuid"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "clash"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:clash-by-team
|
||||
{:uri "https://euw1.api.riotgames.com/lol/clash/v1/teams/:team-id"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "clash"]
|
||||
:path-params {:team-id {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:clash-tournaments
|
||||
{:uri "https://euw1.api.riotgames.com/lol/clash/v1/tournaments"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "clash"]
|
||||
:path-params {}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:clash-tournaments-by-team
|
||||
{:uri "https://euw1.api.riotgames.com/lol/clash/v1/tournaments/by-team/:team-id"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "clash"]
|
||||
:path-params {:team-id {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:clash-tournaments-by-tournament
|
||||
{:uri "https://euw1.api.riotgames.com/lol/clash/v1/tournaments/:tournament-id"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "clash"]
|
||||
:path-params {:tournament-id {:required true :type :int}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; Match v5
|
||||
:lol-matches-by-puuid
|
||||
{:uri "https://europe.api.riotgames.com/lol/match/v5/matches/by-puuid/:puuid/ids"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "match"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {:startTime {:required false :type :long}
|
||||
:endTime {:required false :type :long}
|
||||
:queue {:required false :type :int}
|
||||
:type {:required false :type :string}
|
||||
:start {:required false :type :int :default 0}
|
||||
:count {:required false :type :int :default 20 :min 0 :max 100}}
|
||||
:header-params {}}
|
||||
|
||||
:lol-match-replays-by-puuid
|
||||
{:uri "https://europe.api.riotgames.com/lol/match/v5/matches/by-puuid/:puuid/replays"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "match"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:lol-match-by-id
|
||||
{:uri "https://europe.api.riotgames.com/lol/match/v5/matches/:match-id"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "match"]
|
||||
:path-params {:match-id {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:lol-match-timeline-by-id
|
||||
{:uri "https://europe.api.riotgames.com/lol/match/v5/matches/:match-id/timeline"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "match"]
|
||||
:path-params {:match-id {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; LOL challenges v1
|
||||
:lol-challenges-config
|
||||
{:uri "https://euw1.api.riotgames.com/lol/challenges/v1/challenges/config"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "challenges"]
|
||||
:path-params {}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:lol-challenge-config-by-id
|
||||
{:uri "https://euw1.api.riotgames.com/lol/challenges/v1/challenges/:challenge-id/config"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "challenges"]
|
||||
:path-params {:challenge-id {:required true :type :long}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:lol-challenges-percentiles
|
||||
{:uri "https://euw1.api.riotgames.com/lol/challenges/v1/challenges/percentiles"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "challenges"]
|
||||
:path-params {}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:lol-challenges-percentiles-by-id
|
||||
{:uri "https://euw1.api.riotgames.com/lol/challenges/v1/challenges/:challenge-id/percentiles"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "challenges"]
|
||||
:path-params {:challenge-id {:required true :type :long}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:lol-challenge-leaderboard
|
||||
{:uri "https://euw1.api.riotgames.com/lol/challenges/v1/challenges/:challenge-id/leaderboards/by-level/:level"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "challenges"]
|
||||
:path-params {:challenge-id {:required true :type :long}
|
||||
:level {:required true :type #{"NONE" "IRON" "BRONZE" "SILVER" "GOLD" "PLATINUM" "DIAMOND" "MASTER" "GRANDMASTER" "CHALLENGER" "HIGHEST_NOT_LEADERBOARD_ONLY" "HIGHEST" "LOWEST"}}}
|
||||
:query-params {:limit {:required false :type :int}}
|
||||
:header-params {}}
|
||||
|
||||
:lol-challenge-by-puuid
|
||||
{:uri "https://euw1.api.riotgames.com/lol/challenges/v1/player-data/:puuid"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "challenges"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; LOL champion mastery v4
|
||||
:lol-champion-mastery-by-puuid
|
||||
{:uri "https://euw1.api.riotgames.com/lol/champion-mastery/v4/champion-masteries/by-puuid/:puuid"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "champion-mastery"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:lol-champion-mastery-by-puuid-champion
|
||||
{:uri "https://euw1.api.riotgames.com/lol/champion-mastery/v4/champion-masteries/by-puuid/:puuid/by-champion/:champion-id"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "champion-mastery"]
|
||||
:path-params {:puuid {:required true :type :string}
|
||||
:champion-id {:required true :type :int}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:lol-champion-mastery-by-puuid-top
|
||||
{:uri "https://euw1.api.riotgames.com/lol/champion-mastery/v4/champion-masteries/by-puuid/:puuid/top"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "champion-mastery"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {:count {:required false :type :int :default 3}}
|
||||
:header-params {}}
|
||||
|
||||
:lol-champion-mastery-scores-by-puuid
|
||||
{:uri "https://euw1.api.riotgames.com/lol/champion-mastery/v4/scores/by-puuid/:puuid"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "champion-mastery"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; spectator v5
|
||||
|
||||
:lol-spectator
|
||||
{:uri "https://euw1.api.riotgames.com/lol/spectator/v5/active-games/by-summoner/:puuid"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "spectator"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
|
||||
;;
|
||||
;; TFT
|
||||
;;
|
||||
|
||||
;; account v1
|
||||
:tft-account-by-riot-id
|
||||
{:uri "https://europe.api.riotgames.com/riot/account/v1/accounts/by-riot-id/:player-name/:player-tag"
|
||||
:api-key :RIOT_TFT_KEY
|
||||
:groups ["tft" "account"]
|
||||
:path-params {:player-name {:required true :type :string}
|
||||
:player-tag {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; tft status v1
|
||||
:tft-status
|
||||
{:uri "https://euw1.api.riotgames.com/tft/status/v1/platform-data"
|
||||
:api-key :RIOT_TFT_KEY
|
||||
:groups ["tft" "status"]
|
||||
:path-params {}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; TFT summoner v1
|
||||
:tft-summoner-by-puuid
|
||||
{:uri "https://euw1.api.riotgames.com/tft/summoner/v1/summoners/by-puuid/:puuid"
|
||||
:api-key :RIOT_TFT_KEY
|
||||
:groups ["tft" "summoner"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; TFT match v1
|
||||
:tft-matches-by-puuid
|
||||
{:uri "https://europe.api.riotgames.com/tft/match/v1/matches/by-puuid/:puuid/ids"
|
||||
:api-key :RIOT_TFT_KEY
|
||||
:groups ["tft" "match"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {:startTime {:required false :type :long}
|
||||
:endTime {:required false :type :long}
|
||||
:queue {:required false :type :int}
|
||||
:type {:required false :type :string}
|
||||
:start {:required false :type :int :default 0}
|
||||
:count {:required false :type :int :default 20 :min 0 :max 100}}
|
||||
:header-params {}}
|
||||
|
||||
|
||||
:tft-match-by-id
|
||||
{:uri "https://europe.api.riotgames.com/tft/match/v1/matches/:match-id"
|
||||
:api-key :RIOT_TFT_KEY
|
||||
:groups ["tft" "match"]
|
||||
:path-params {:match-id {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; TFT espectator v5
|
||||
|
||||
:tft-spectator
|
||||
{:uri "https://euw1.api.riotgames.com/lol/spectator/tft/v5/active-games/by-puuid/:puuid"
|
||||
:api-key :RIOT_TFT_KEY
|
||||
:groups ["tft" "spectator"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; TFT league v1
|
||||
:tft-league-by-puuid
|
||||
{:uri "https://euw1.api.riotgames.com/tft/league/v1/by-puuid/:puuid"
|
||||
:api-key :RIOT_TFT_KEY
|
||||
:groups ["tft" "spectator"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:tft-league-challenger
|
||||
{:uri "https://euw1.api.riotgames.com/tft/league/v1/challenger"
|
||||
:api-key :RIOT_TFT_KEY
|
||||
:groups ["tft" "spectator"]
|
||||
:path-params {}
|
||||
:query-params {:ranked {:required false :type #{"RANKED_TFT" "RANKED_TFT_DOUBLE_UP"}}}
|
||||
:header-params {}}
|
||||
|
||||
:tft-league-by-tier-division
|
||||
{:uri "https://euw1.api.riotgames.com/tft/league/v1/entries/:tier/:division"
|
||||
:api-key :RIOT_TFT_KEY
|
||||
:groups ["tft" "league"]
|
||||
:path-params {:tier {:required true :type :string}
|
||||
:division {:required true :type :string}}
|
||||
:query-params {:queue {:required false :type #{"RANKED_TFT" "RANKED_TFT_DOUBLE_UP"} :default "RANKED_TFT"}
|
||||
:page {:required false :type int :default 1}}
|
||||
:header-params {}}
|
||||
|
||||
:tft-league-grandmaster-by-queue
|
||||
{:uri "https://euw1.api.riotgames.com/tft/league/v1/grandmaster"
|
||||
:api-key :RIOT_TFT_KEY
|
||||
:groups ["tft" "league"]
|
||||
:path-params {}
|
||||
:query-params {:queue {:required false :type #{"RANKED_TFT" "RANKED_TFT_DOUBLE_UP"} :default "RANKED_TFT"}}
|
||||
:header-params {}}
|
||||
|
||||
:tft-league-master-by-queue
|
||||
{:uri "https://euw1.api.riotgames.com/tft/league/v1/master"
|
||||
:api-key :RIOT_TFT_KEY
|
||||
:groups ["tft" "league"]
|
||||
:path-params {}
|
||||
:query-params {:queue {:required false :type #{"RANKED_TFT" "RANKED_TFT_DOUBLE_UP"} :default "RANKED_TFT"}}
|
||||
:header-params {}}
|
||||
|
||||
:tft-league-top-rated-ladders
|
||||
{:uri "https://euw1.api.riotgames.com/tft/league/v1/rated-ladders/:queue/top"
|
||||
:api-key :RIOT_TFT_KEY
|
||||
:groups ["tft" "league"]
|
||||
:path-params {:queue {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; END OF ENDPOINT DEFINITIONS
|
||||
})
|
||||
|
||||
|
||||
;;
|
||||
;; MAIN API FUNCTIONS
|
||||
;;
|
||||
|
||||
; Not needed, but useful
|
||||
(def get-riot-api-key (partial get-api-key RIOT-KEYS :RIOT_DEV_KEY))
|
||||
|
||||
|
||||
@@ -1,454 +0,0 @@
|
||||
(ns riot.riot-config)
|
||||
|
||||
;;
|
||||
;; API KEYS
|
||||
;;
|
||||
|
||||
(def RIOT-KEYS {:RIOT_DEV_KEY (atom nil)
|
||||
:RIOT_LOL_KEY (atom nil)
|
||||
:RIOT_TFT_KEY (atom nil)})
|
||||
|
||||
;;
|
||||
;; KNOWN ENDPOINTS
|
||||
;;
|
||||
;; Each endpoint has a URL with path params (denoted as keywords, with ':') and
|
||||
;; some informative metadata about parameters and some logical grouping.
|
||||
;;
|
||||
;; For now, metadata is optional and it is not used in the core, but is very
|
||||
;; usefull for programmers like you.
|
||||
|
||||
(def ENDPOINTS
|
||||
{;; account v1
|
||||
:account-by-puuid
|
||||
{:uri "https://europe.api.riotgames.com/riot/account/v1/accounts/by-puuid/:puuid"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["account"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:lol-account-by-riot-id
|
||||
{:uri "https://europe.api.riotgames.com/riot/account/v1/accounts/by-riot-id/:player-name/:player-tag"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "account"]
|
||||
:path-params {:player-name {:required true :type :string}
|
||||
:player-tag {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:account-active-shards
|
||||
{:uri "https://europe.api.riotgames.com/riot/account/v1/active-shards/by-game/:game/by-puuid/:puuid"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["account"]
|
||||
:path-params {:game {:required true :type :string}
|
||||
:puuid {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; LOL status v4
|
||||
:lol-status
|
||||
{:uri "https://euw1.api.riotgames.com/lol/status/v4/platform-data"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "status"]
|
||||
:path-params {}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; champion-mastery-v4
|
||||
:champion-mastery-by-puuid
|
||||
{:uri "https://euw1.api.riotgames.com/lol/champion-mastery/v4/champion-masteries/by-puuid/:puuid"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "champion-mastery"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:champion-mastery-by-puuid-and-champion
|
||||
{:uri "https://euw1.api.riotgames.com/lol/champion-mastery/v4/champion-masteries/by-puuid/:puuid/by-champion/:championId"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "champion-mastery"]
|
||||
:path-params {:puuid {:required true :type :string}
|
||||
:championId {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:champion-mastery-by-puuid-top
|
||||
{:uri "https://euw1.api.riotgames.com/lol/champion-mastery/v4/champion-masteries/by-puuid/:puuid/top"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "champion-mastery"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {:count {:required false :type :int :default 3}}
|
||||
:header-params {}}
|
||||
|
||||
;; champion v3
|
||||
:champion-rotations
|
||||
{:uri "https://euw1.api.riotgames.com/lol/platform/v3/champion-rotations"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "champion"]
|
||||
:path-params {}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; summoner v4
|
||||
:summoner-by-puuid
|
||||
{:uri "https://euw1.api.riotgames.com/lol/summoner/v4/summoners/by-puuid/:puuid"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "summoner"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; leage v4
|
||||
:league-challenger-by-queue
|
||||
{:uri "https://euw1.api.riotgames.com/lol/league/v4/challengerleagues/by-queue/:queue"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "league"]
|
||||
:path-params {:queue {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:league-all-by-puuid
|
||||
{:uri "https://euw1.api.riotgames.com/lol/league/v4/entries/by-puuid/:puuid"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "league"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:league-all-queue-tier-division
|
||||
{:uri "https://euw1.api.riotgames.com/lol/league/v4/entries/:queue/:tier/:division"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "league"]
|
||||
:path-params {:queue {:required true :type :string}
|
||||
:tier {:required true :type :string}
|
||||
:division {:required true :type :string}}
|
||||
:query-params {:page {:required false :type :int :default 1}}
|
||||
:header-params {}}
|
||||
|
||||
:league-grandmaster-by-queue
|
||||
{:uri "https://euw1.api.riotgames.com/lol/league/v4/grandmasterleagues/by-queue/:queue"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "league"]
|
||||
:path-params {:queue {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:league-by-id
|
||||
{:uri "https://euw1.api.riotgames.com/lol/league/v4/leagues/:league-id"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "league"]
|
||||
:path-params {:league-id {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:league-by-queue
|
||||
{:uri "https://euw1.api.riotgames.com/lol/league/v4/masterleagues/by-queue/:queue"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "league"]
|
||||
:path-params {:queue {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; league-exp v4
|
||||
:league-exp-by-queue-tier-division
|
||||
{:uri "https://euw1.api.riotgames.com/lol/league-exp/v4/entries/:queue/:tier/:division"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "league"]
|
||||
:path-params {:queue {:required true :type :string}
|
||||
:tier {:required true :type :string}
|
||||
:division {:required true :type :string}}
|
||||
:query-params {:page {:required false :type :int :default 1}}
|
||||
:header-params {}}
|
||||
|
||||
;; clash v1
|
||||
:clash-by-puuid
|
||||
{:uri "https://euw1.api.riotgames.com/lol/clash/v1/players/by-puuid/:puuid"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "clash"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:clash-by-team
|
||||
{:uri "https://euw1.api.riotgames.com/lol/clash/v1/teams/:team-id"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "clash"]
|
||||
:path-params {:team-id {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:clash-tournaments
|
||||
{:uri "https://euw1.api.riotgames.com/lol/clash/v1/tournaments"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "clash"]
|
||||
:path-params {}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:clash-tournaments-by-team
|
||||
{:uri "https://euw1.api.riotgames.com/lol/clash/v1/tournaments/by-team/:team-id"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "clash"]
|
||||
:path-params {:team-id {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:clash-tournaments-by-tournament
|
||||
{:uri "https://euw1.api.riotgames.com/lol/clash/v1/tournaments/:tournament-id"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "clash"]
|
||||
:path-params {:tournament-id {:required true :type :int}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; Match v5
|
||||
:lol-matches-by-puuid
|
||||
{:uri "https://europe.api.riotgames.com/lol/match/v5/matches/by-puuid/:puuid/ids"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "match"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {:startTime {:required false :type :long}
|
||||
:endTime {:required false :type :long}
|
||||
:queue {:required false :type :int}
|
||||
:type {:required false :type :string}
|
||||
:start {:required false :type :int :default 0}
|
||||
:count {:required false :type :int :default 20 :min 0 :max 100}}
|
||||
:header-params {}}
|
||||
|
||||
:lol-match-replays-by-puuid
|
||||
{:uri "https://europe.api.riotgames.com/lol/match/v5/matches/by-puuid/:puuid/replays"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "match"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:lol-match-by-id
|
||||
{:uri "https://europe.api.riotgames.com/lol/match/v5/matches/:match-id"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "match"]
|
||||
:path-params {:match-id {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:lol-match-timeline-by-id
|
||||
{:uri "https://europe.api.riotgames.com/lol/match/v5/matches/:match-id/timeline"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "match"]
|
||||
:path-params {:match-id {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; LOL challenges v1
|
||||
:lol-challenges-config
|
||||
{:uri "https://euw1.api.riotgames.com/lol/challenges/v1/challenges/config"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "challenges"]
|
||||
:path-params {}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:lol-challenge-config-by-id
|
||||
{:uri "https://euw1.api.riotgames.com/lol/challenges/v1/challenges/:challenge-id/config"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "challenges"]
|
||||
:path-params {:challenge-id {:required true :type :long}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:lol-challenges-percentiles
|
||||
{:uri "https://euw1.api.riotgames.com/lol/challenges/v1/challenges/percentiles"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "challenges"]
|
||||
:path-params {}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:lol-challenges-percentiles-by-id
|
||||
{:uri "https://euw1.api.riotgames.com/lol/challenges/v1/challenges/:challenge-id/percentiles"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "challenges"]
|
||||
:path-params {:challenge-id {:required true :type :long}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:lol-challenge-leaderboard
|
||||
{:uri "https://euw1.api.riotgames.com/lol/challenges/v1/challenges/:challenge-id/leaderboards/by-level/:level"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "challenges"]
|
||||
:path-params {:challenge-id {:required true :type :long}
|
||||
:level {:required true :type #{"NONE" "IRON" "BRONZE" "SILVER" "GOLD" "PLATINUM" "DIAMOND" "MASTER" "GRANDMASTER" "CHALLENGER" "HIGHEST_NOT_LEADERBOARD_ONLY" "HIGHEST" "LOWEST"}}}
|
||||
:query-params {:limit {:required false :type :int}}
|
||||
:header-params {}}
|
||||
|
||||
:lol-challenge-by-puuid
|
||||
{:uri "https://euw1.api.riotgames.com/lol/challenges/v1/player-data/:puuid"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "challenges"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; LOL champion mastery v4
|
||||
:lol-champion-mastery-by-puuid
|
||||
{:uri "https://euw1.api.riotgames.com/lol/champion-mastery/v4/champion-masteries/by-puuid/:puuid"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "champion-mastery"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:lol-champion-mastery-by-puuid-champion
|
||||
{:uri "https://euw1.api.riotgames.com/lol/champion-mastery/v4/champion-masteries/by-puuid/:puuid/by-champion/:champion-id"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "champion-mastery"]
|
||||
:path-params {:puuid {:required true :type :string}
|
||||
:champion-id {:required true :type :int}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:lol-champion-mastery-by-puuid-top
|
||||
{:uri "https://euw1.api.riotgames.com/lol/champion-mastery/v4/champion-masteries/by-puuid/:puuid/top"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "champion-mastery"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {:count {:required false :type :int :default 3}}
|
||||
:header-params {}}
|
||||
|
||||
:lol-champion-mastery-scores-by-puuid
|
||||
{:uri "https://euw1.api.riotgames.com/lol/champion-mastery/v4/scores/by-puuid/:puuid"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "champion-mastery"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; spectator v5
|
||||
|
||||
:lol-spectator
|
||||
{:uri "https://euw1.api.riotgames.com/lol/spectator/v5/active-games/by-summoner/:puuid"
|
||||
:api-key :RIOT_LOL_KEY
|
||||
:groups ["lol" "spectator"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
|
||||
;;
|
||||
;; TFT
|
||||
;;
|
||||
|
||||
;; account v1
|
||||
:tft-account-by-riot-id
|
||||
{:uri "https://europe.api.riotgames.com/riot/account/v1/accounts/by-riot-id/:player-name/:player-tag"
|
||||
:api-key :RIOT_TFT_KEY
|
||||
:groups ["tft" "account"]
|
||||
:path-params {:player-name {:required true :type :string}
|
||||
:player-tag {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; tft status v1
|
||||
:tft-status
|
||||
{:uri "https://euw1.api.riotgames.com/tft/status/v1/platform-data"
|
||||
:api-key :RIOT_TFT_KEY
|
||||
:groups ["tft" "status"]
|
||||
:path-params {}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; TFT summoner v1
|
||||
:tft-summoner-by-puuid
|
||||
{:uri "https://euw1.api.riotgames.com/tft/summoner/v1/summoners/by-puuid/:puuid"
|
||||
:api-key :RIOT_TFT_KEY
|
||||
:groups ["tft" "summoner"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; TFT match v1
|
||||
:tft-matches-by-puuid
|
||||
{:uri "https://europe.api.riotgames.com/tft/match/v1/matches/by-puuid/:puuid/ids"
|
||||
:api-key :RIOT_TFT_KEY
|
||||
:groups ["tft" "match"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {:startTime {:required false :type :long}
|
||||
:endTime {:required false :type :long}
|
||||
:queue {:required false :type :int}
|
||||
:type {:required false :type :string}
|
||||
:start {:required false :type :int :default 0}
|
||||
:count {:required false :type :int :default 20 :min 0 :max 100}}
|
||||
:header-params {}}
|
||||
|
||||
|
||||
:tft-match-by-id
|
||||
{:uri "https://europe.api.riotgames.com/tft/match/v1/matches/:match-id"
|
||||
:api-key :RIOT_TFT_KEY
|
||||
:groups ["tft" "match"]
|
||||
:path-params {:match-id {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; TFT espectator v5
|
||||
|
||||
:tft-spectator
|
||||
{:uri "https://euw1.api.riotgames.com/lol/spectator/tft/v5/active-games/by-puuid/:puuid"
|
||||
:api-key :RIOT_TFT_KEY
|
||||
:groups ["tft" "spectator"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; TFT league v1
|
||||
:tft-league-by-puuid
|
||||
{:uri "https://euw1.api.riotgames.com/tft/league/v1/by-puuid/:puuid"
|
||||
:api-key :RIOT_TFT_KEY
|
||||
:groups ["tft" "spectator"]
|
||||
:path-params {:puuid {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
:tft-league-challenger
|
||||
{:uri "https://euw1.api.riotgames.com/tft/league/v1/challenger"
|
||||
:api-key :RIOT_TFT_KEY
|
||||
:groups ["tft" "spectator"]
|
||||
:path-params {}
|
||||
:query-params {:ranked {:required false :type #{"RANKED_TFT" "RANKED_TFT_DOUBLE_UP"}}}
|
||||
:header-params {}}
|
||||
|
||||
:tft-league-by-tier-division
|
||||
{:uri "https://euw1.api.riotgames.com/tft/league/v1/entries/:tier/:division"
|
||||
:api-key :RIOT_TFT_KEY
|
||||
:groups ["tft" "league"]
|
||||
:path-params {:tier {:required true :type :string}
|
||||
:division {:required true :type :string}}
|
||||
:query-params {:queue {:required false :type #{"RANKED_TFT" "RANKED_TFT_DOUBLE_UP"} :default "RANKED_TFT"}
|
||||
:page {:required false :type int :default 1}}
|
||||
:header-params {}}
|
||||
|
||||
:tft-league-grandmaster-by-queue
|
||||
{:uri "https://euw1.api.riotgames.com/tft/league/v1/grandmaster"
|
||||
:api-key :RIOT_TFT_KEY
|
||||
:groups ["tft" "league"]
|
||||
:path-params {}
|
||||
:query-params {:queue {:required false :type #{"RANKED_TFT" "RANKED_TFT_DOUBLE_UP"} :default "RANKED_TFT"}}
|
||||
:header-params {}}
|
||||
|
||||
:tft-league-master-by-queue
|
||||
{:uri "https://euw1.api.riotgames.com/tft/league/v1/master"
|
||||
:api-key :RIOT_TFT_KEY
|
||||
:groups ["tft" "league"]
|
||||
:path-params {}
|
||||
:query-params {:queue {:required false :type #{"RANKED_TFT" "RANKED_TFT_DOUBLE_UP"} :default "RANKED_TFT"}}
|
||||
:header-params {}}
|
||||
|
||||
:tft-league-top-rated-ladders
|
||||
{:uri "https://euw1.api.riotgames.com/tft/league/v1/rated-ladders/:queue/top"
|
||||
:api-key :RIOT_TFT_KEY
|
||||
:groups ["tft" "league"]
|
||||
:path-params {:queue {:required true :type :string}}
|
||||
:query-params {}
|
||||
:header-params {}}
|
||||
|
||||
;; END OF ENDPOINT DEFINITIONS
|
||||
})
|
||||
@@ -1,8 +1,10 @@
|
||||
(ns riot.data
|
||||
(ns riot.riot-data
|
||||
(:require [riot.core :refer :all]
|
||||
[riot.riot-api :refer :all]
|
||||
[clojure.string :as s]
|
||||
[tick.core :as t]))
|
||||
[tick.core :as t]
|
||||
[timewords.core :as tw])
|
||||
(:import [java.util Date]))
|
||||
|
||||
;;
|
||||
;; High functions to work with RIOT API.
|
||||
@@ -11,7 +13,7 @@
|
||||
;; of riot-api's functions
|
||||
|
||||
|
||||
(declare format-millis format-duration)
|
||||
(declare format-millis format-duration process-time-literal)
|
||||
|
||||
;; Get matches list
|
||||
|
||||
@@ -223,4 +225,16 @@
|
||||
)
|
||||
|
||||
|
||||
(defn process-time-literal
|
||||
[str-time]
|
||||
(let [udate (tw/parse str-time)]
|
||||
(when udate
|
||||
(t/long (t/instant udate)))))
|
||||
|
||||
(comment
|
||||
(t/long (t/instant (tw/parse "Now")))
|
||||
|
||||
(process-time-literal "Today")
|
||||
)
|
||||
|
||||
;;
|
||||
Reference in New Issue
Block a user