Skip to content

Commit

Permalink
Merge pull request #21 from probablyjassin:enh/list
Browse files Browse the repository at this point in the history
Enh/list
  • Loading branch information
probablyjassin authored Nov 4, 2024
2 parents 3d7c842 + ccd8af6 commit 5a31fa3
Showing 1 changed file with 41 additions and 11 deletions.
52 changes: 41 additions & 11 deletions cogs/mogi/list_mogi.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from discord import slash_command, Option
from discord import slash_command, Option, AllowedMentions
from discord.ext import commands

from utils.command_helpers.checks import is_mogi_open
Expand All @@ -18,20 +18,24 @@ async def l(
name="context",
description="extra context to give the list",
required=False,
choices=["tablestring", "mmr"],
choices=["tablestring", "usernames", "mmr"],
),
):
if len(ctx.mogi.players) == 0:
return await ctx.respond("No players in this mogi.")

list_of_players = ""

# Tablestring
if context == "tablestring":

# FFA
if ctx.mogi.format == 1 or ctx.mogi.format == None:
list_of_players = "\n\n".join(
[f"{player.name} +" for player in ctx.mogi.players]
)

# Teams
else:
for i, team in enumerate(ctx.mogi.teams):
list_of_players += f"{ctx.mogi.team_tags[i]}\n"
Expand All @@ -40,23 +44,47 @@ async def l(
)
list_of_players += "\n\n"

# Usernames
elif context == "usernames":

# FFA
if ctx.mogi.format == 1 or ctx.mogi.format == None:
list_of_players = "\n".join(
[
(f"`{i+1}.` <@{player.discord_id}>")
for i, player in enumerate(ctx.mogi.players)
]
)

# Teams
else:
for i, team in enumerate(ctx.mogi.teams):
list_of_players += f"{ctx.mogi.team_tags[i]}\n"
list_of_players += "\n".join(
[(f"• <@{player.discord_id}>") for player in team]
)
list_of_players += "\n\n"

# Normal and MMR
else:

# FFA
if ctx.mogi.format == 1 or ctx.mogi.format == None:
list_of_players = "\n".join(
[
(
f"{i+1}. {player.name}"
f"`{i+1}.` {player.name}"
if context != "mmr"
else f"{i+1}. {player.name} ({player.mmr})"
else f"`{i+1}.` {player.name} ({player.mmr})"
)
for i, player in enumerate(ctx.mogi.players)
]
)

# Teams
else:
for i, team in enumerate(ctx.mogi.teams):
list_of_players += f"{ctx.mogi.team_tags[i]}\n"
list_of_players += f"### {ctx.mogi.team_tags[i]}\n"
list_of_players += "\n".join(
[
(
Expand All @@ -69,21 +97,23 @@ async def l(
)
list_of_players += "\n\n"

# MMR info at the end
max_mmr_player, min_mmr_player = max(
ctx.mogi.players, key=lambda x: x.mmr
), min(ctx.mogi.players, key=lambda x: x.mmr)

list_of_players += (
f"""\n
Average MMR: {round( sum( [player.mmr for player in ctx.mogi.players] ) / len(ctx.mogi.players) )}
Highest MMR: {max_mmr_player.name}: {max_mmr_player.mmr}
Lowest MMR: {min_mmr_player.name}: {min_mmr_player.mmr}
"""
f"\n-# Average MMR: {round( sum( [player.mmr for player in ctx.mogi.players] ) / len(ctx.mogi.players) )} \n"
f"-# Highest MMR: {max_mmr_player.name}: {max_mmr_player.mmr} \n"
f"-# Lowest MMR: {min_mmr_player.name}: {min_mmr_player.mmr} \n"
if context == "mmr"
else ""
)

await ctx.respond(f"Players in this mogi:\n{list_of_players}")
await ctx.respond(
f"Players in this mogi:\n{list_of_players}",
allowed_mentions=AllowedMentions.none(),
)


def setup(bot: commands.Bot):
Expand Down

0 comments on commit 5a31fa3

Please sign in to comment.