Made gamemode and map filter for /stats
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
def getgamemodeid(givengamemode):
|
||||
gamemode_dict = {
|
||||
'attrition': 'aitdm',
|
||||
'bounty hunt': 'at',
|
||||
'one in the chamber': 'chamber',
|
||||
'amped hardpoint': 'cp',
|
||||
'capture the flag': 'ctf',
|
||||
'frontier defense': 'fd',
|
||||
'free for all': 'ffa',
|
||||
'frontier war': 'fw',
|
||||
'gungame': 'gg',
|
||||
'infection': 'inf',
|
||||
'last titan standing': 'lts',
|
||||
'marked for death': 'mfd',
|
||||
'pilots vs. pilots': 'ps',
|
||||
'sticks and stones': 'sns',
|
||||
'skirmish': 'tdm',
|
||||
'titan brawl': 'ttdm'
|
||||
}
|
||||
gamemodeid = ""
|
||||
gamemode = ""
|
||||
for gamemode_in_dict in gamemode_dict:
|
||||
if(givengamemode.lower().replace(" ", "") in gamemode_in_dict.lower().replace(" ", "")):
|
||||
gamemodeid = gamemode_dict[gamemode_in_dict]
|
||||
gamemode = gamemode_in_dict
|
||||
break
|
||||
|
||||
return gamemodeid, gamemode
|
||||
@@ -0,0 +1,34 @@
|
||||
def getmapid(givenmap):
|
||||
map_dict = {"angel city": "angel_city",
|
||||
"black water canal":"black_water_canal",
|
||||
"coliseum":"coliseum",
|
||||
"pillars": "coliseum_column",
|
||||
"colony":"colony02",
|
||||
"complex":"complex3",
|
||||
"crashsite":"crashsite3",
|
||||
"drydock":"drydock",
|
||||
"eden":"eden",
|
||||
"forwardbase kodai":"forwardbase_kodai",
|
||||
"glitch":"glitch",
|
||||
"boomtown":"grave",
|
||||
"homestead":"homestead",
|
||||
"deck":"lf_deck",
|
||||
"meadow": "lf_meadow",
|
||||
"stacks":"lf_stacks",
|
||||
"township":"lf_township",
|
||||
"trafic":"lf_traffic",
|
||||
"uma":"lf_uma",
|
||||
"relic":"relic02",
|
||||
"rise":"rise",
|
||||
"exoplanet":"thaw",
|
||||
"wargames":"wargames"}
|
||||
mapid = ""
|
||||
mapname = ""
|
||||
for mapname_in_dict in map_dict:
|
||||
if(givenmap.lower().replace(" ", "") in mapname_in_dict.lower().replace(" ", "")):
|
||||
mapid = map_dict[mapname_in_dict]
|
||||
mapname = mapname_in_dict
|
||||
break
|
||||
|
||||
return mapid, mapname
|
||||
|
||||
+10
-6
@@ -7,18 +7,22 @@ from Reuse.makePiechart import make_donut_chart
|
||||
from Reuse.valuesChartGamemode import valueschartgamemode
|
||||
from Reuse.valuesChartWeapon import valueschartweapon
|
||||
|
||||
async def get_allplayer_stats(s, playerids, weaponid = "", weaponname= "",server = ""):
|
||||
async def get_allplayer_stats(s, playerids, weaponid = "", weaponname= "",server = "", mapid = "" ,mapname = "", gamemodeid = "",gamemode = ""):
|
||||
tasks = []
|
||||
for playerid in playerids:
|
||||
task = asyncio.create_task(getstats(s, playerid, weaponid, server), name=playerid)
|
||||
task = asyncio.create_task(getstats(s, playerid, weaponid, server, mapid, gamemodeid), name=playerid)
|
||||
tasks.append(task)
|
||||
res = await asyncio.gather(*tasks)
|
||||
if(server == ""):
|
||||
server = "All"
|
||||
if(weaponname == ""):
|
||||
weaponname = "Any"
|
||||
if(mapname == ""):
|
||||
mapname = "All"
|
||||
if(gamemode == ""):
|
||||
gamemode = "Any"
|
||||
|
||||
botmessage = discord.Embed(title="Stats", description=f"**Server:** {server}\n**Weapon:** {weaponname}", colour=discord.Colour.orange())
|
||||
botmessage = discord.Embed(title="Stats", description=f"**Server:** {server}\n**Weapon:** {weaponname}\n**Gamemode:** {gamemode}\n**Map:** {mapname}", colour=discord.Colour.orange())
|
||||
if(weaponname != "Any"):
|
||||
if(requests.head(f"https://toneapi.github.io/ToneAPI_webclient/weapons/{weaponid}.png").status_code == 200):
|
||||
botmessage.set_thumbnail(url=f"https://toneapi.github.io/ToneAPI_webclient/weapons/{weaponid}.png")
|
||||
@@ -33,15 +37,15 @@ async def get_allplayer_stats(s, playerids, weaponid = "", weaponname= "",server
|
||||
if(server == "All" and weaponname != "Any"):
|
||||
labels, values, colors = valueschartgamemode(playerid, weaponid)
|
||||
else:
|
||||
labels, values, colors = valueschartweapon(playerid, server)
|
||||
labels, values, colors = valueschartweapon(playerid, server, mapid, mapname, gamemodeid, gamemode)
|
||||
botmessage, img_file = make_donut_chart(botmessage, labels, values, colors)
|
||||
return botmessage, img_file
|
||||
else:
|
||||
img_file = ""
|
||||
return botmessage, img_file
|
||||
|
||||
async def getstats(s, playerid, weaponid = "", server = ""):
|
||||
payload = {'player': playerid, 'weapon': weaponid, 'server': server}
|
||||
async def getstats(s, playerid, weaponid = "", server = "", mapid = "" , gamemodeid = ""):
|
||||
payload = {'player': playerid, 'weapon': weaponid, 'server': server, 'gamemode': gamemodeid, 'map' : mapid}
|
||||
async with s.get('https://tone.sleepycat.date/v2/client/players', params=payload) as r:
|
||||
response = await r.json()
|
||||
if(response == {}):
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user