Current section
Files
Jump to
Current section
Files
lib/hirez.ex
defmodule Exrez.Hirez do
import Exrez, only: [api_call: 2, api_call: 3]
def ping(platform), do: api_call(platform, "ping")
def test_session(platform), do: api_call(platform, "testsession")
def server_status(platform) do
case api_call(platform, "gethirezserverstatus") do
{:ok, [status]} -> {:ok, status}
result -> result
end
end
def data_used(platform) do
case api_call(platform, "getdataused") do
{:ok, [used]} -> {:ok, used}
result -> result
end
end
def demo_details(platform, match_id) do
case api_call(platform, "getdemodetails", "/#{match_id}") do
{:ok, [details]} -> {:ok, details}
result -> result
end
end
def pro_league(platform) do
api_call(platform, "getesportsproleaguedetails")
end
def friends(platform, player) do
case platform do
:paladins_pc -> api_call(:paladins_pc, "getfriends", "/#{player}")
:smite_pc -> api_call(:smite_pc, "getfriends", "/#{player}")
_ -> {:err, "Friend list endpoint is PC-exclusive."}
end
end
def god_ranks(platform, player) do
api_call(platform, "getgodranks", "/#{player}")
end
def gods(platform, language \\ 1) do
api_call(platform, "getgods", "/#{language}")
end
def god_skins(platform, god_id, language \\ 1) do
api_call(platform, "getgodskins", "/#{god_id}/#{language}")
end
def items(platform, language \\ 1) do
api_call(platform, "getitems", "/#{language}")
end
def match_details(platform, match_id) do
api_call(platform, "getmatchdetails", "/#{match_id}")
end
def match_details_batch(platform, match_ids) do
api_call(platform, "getmatchdetailsbatch", "/#{Enum.join(match_ids, ",")}")
end
def match_player_details(platform, match_id) do
api_call(platform, "getmatchplayerdetails", "/#{match_id}")
end
def match_ids_by_queue(platform, queue, date, hour) do
api_call(platform, "getmatchidsbyqueue", "/#{queue}/#{date}/#{hour}")
end
def league_leaderboard(platform, queue, tier, season) do
api_call(platform, "getleagueleaderboard", "/#{queue}/#{tier}/#{season}")
end
def league_seasons(platform, queue) do
api_call(platform, "getleagueseasons", "/#{queue}")
end
def match_history(platform, player) do
api_call(platform, "getmatchhistory", "/#{player}")
end
def player_info_xb_ns(platform, player_name) do
api_call(platform, "getplayeridinfoforxboxandswitch", "/#{player_name}")
end
def player(platform, player, portal_id) do
case api_call(platform, "getplayer", "/#{player}/#{portal_id}") do
{:ok, [player_info]} -> {:ok, player_info}
result -> result
end
end
def player(platform, player) do
case api_call(platform, "getplayer", "/#{player}") do
{:ok, [player_info]} -> {:ok, player_info}
result -> result
end
end
def player_id_by_portal_user_id(platform, portal_id, portal_user_id) do
api_call(platform, "getplayeridbyportaluserid", "/#{portal_id}/#{portal_user_id}")
end
def player_ids_by_gamertag(platform, portal_id, gamer_tag) do
api_call(platform, "getplayeridsbygamertag", "/#{portal_id}/#{gamer_tag}")
end
def player_loadouts(platform, player, language \\ 1) do
api_call(platform, "getplayerloadouts", "/#{player}/#{language}")
end
def player_status(platform, player) do
case api_call(platform, "getplayerstatus", "/#{player}") do
{:ok, [status]} -> {:ok, status}
result -> result
end
end
def queue_stats(platform, player, queue) do
api_call(platform, "getqueuestats", "/#{player}/#{queue}")
end
def team_details(platform, clan_id) do
case api_call(platform, "getteamdetails", "/#{clan_id}") do
{:ok, [details]} -> {:ok, details}
result -> result
end
end
def team_players(platform, clan_id) do
api_call(platform, "getteamplayers", "/#{clan_id}")
end
def search_teams(platform, team) do
api_call(platform, "searchteams", "/#{team}")
end
def player_achievements(platform, player_id) do
api_call(platform, "getplayerachievements", "/#{player_id}")
end
def patch_info(platform), do: api_call(platform, "getpatchinfo")
end