Add batting stats to /player
This commit is contained in:
parent
48b10bfaec
commit
125a4b5918
@ -375,6 +375,8 @@ class Players(commands.Cog):
|
||||
if interaction.channel.name in ['paper-dynasty-chat', 'pd-news-ticker']:
|
||||
ephemeral = True
|
||||
|
||||
await interaction.response.defer(ephemeral=ephemeral)
|
||||
|
||||
this_player = fuzzy_search(player_name, self.player_list)
|
||||
if not this_player:
|
||||
await interaction.response.send_message(f'No clue who that is.')
|
||||
@ -385,7 +387,7 @@ class Players(commands.Cog):
|
||||
if this_cardset:
|
||||
all_params = [('name', this_player), ('cardset_id', this_cardset['id'])]
|
||||
else:
|
||||
await interaction.response.send_message(f'I couldn\'t find {cardset} cardset.')
|
||||
await interaction.edit_original_response(content=f'I couldn\'t find {cardset} cardset.')
|
||||
return
|
||||
else:
|
||||
all_params = [('name', this_player)]
|
||||
@ -396,9 +398,9 @@ class Players(commands.Cog):
|
||||
|
||||
all_embeds = []
|
||||
for x in all_cards:
|
||||
all_embeds.extend(await get_card_embeds(x))
|
||||
all_embeds.extend(await get_card_embeds(x, include_stats=True))
|
||||
logging.debug(f'embeds: {all_embeds}')
|
||||
await interaction.response.send_message(content=None, embeds=all_embeds, ephemeral=ephemeral)
|
||||
await interaction.edit_original_response(content=None, embeds=all_embeds)
|
||||
|
||||
@app_commands.command(name='record', description='Display team record against AI teams')
|
||||
@app_commands.checks.has_any_role(PD_PLAYERS_ROLE_NAME)
|
||||
|
||||
17
helpers.py
17
helpers.py
@ -1518,7 +1518,7 @@ async def share_channel(channel, user, read_only=False):
|
||||
await channel.set_permissions(user, read_messages=True, send_messages=not read_only)
|
||||
|
||||
|
||||
async def get_card_embeds(card) -> list:
|
||||
async def get_card_embeds(card, include_stats=False) -> list:
|
||||
embed = discord.Embed(
|
||||
title=f'{card["player"]["p_name"]}',
|
||||
color=int(card['player']['rarity']['color'], 16)
|
||||
@ -1528,6 +1528,9 @@ async def get_card_embeds(card) -> list:
|
||||
embed.set_author(name=card['team']['lname'], url=IMAGES['logo'], icon_url=card['team']['logo'])
|
||||
embed.set_footer(text=f'Paper Dynasty Season {card["team"]["season"]}', icon_url=IMAGES['logo'])
|
||||
|
||||
if include_stats:
|
||||
b_query = await db_get('plays/batting', params=[('player_id', card['player']['player_id'])])
|
||||
|
||||
# embed.add_field(
|
||||
# name='Cardset',
|
||||
# value=f'{card["player"]["cardset"]["name"]} '
|
||||
@ -1575,6 +1578,18 @@ async def get_card_embeds(card) -> list:
|
||||
else:
|
||||
embed.set_thumbnail(url=IMAGES['logo'])
|
||||
|
||||
if include_stats and b_query['count'] > 0:
|
||||
b = b_query['stats'][0]
|
||||
batting_string = f'```\n' \
|
||||
f' AVG OBP SLG\n' \
|
||||
f' {b["avg"]:.3f} {b["obp"]:.3f} {b["slg"]:.3f}\n``````\n' \
|
||||
f' OPS wOBA\n' \
|
||||
f' {b["ops"]:.3f} {b["woba"]:.3f}\n``````\n' \
|
||||
f' PA H RBI 2B 3B HR SB\n' \
|
||||
f'{b["pa"]: >3} {b["hit"]: ^3} {b["rbi"]: ^3} {b["double"]: >2} {b["triple"]: >2} ' \
|
||||
f'{b["hr"]: >2} {b["sb"]: >2}```\n'
|
||||
embed.add_field(name='Batting Stats', value=batting_string, inline=False)
|
||||
|
||||
if not card['player']['image2']:
|
||||
return [embed]
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user