diff options
| -rw-r--r-- | bot/exts/events/trivianight/_scoreboard.py | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/bot/exts/events/trivianight/_scoreboard.py b/bot/exts/events/trivianight/_scoreboard.py index 583532a3..56a86029 100644 --- a/bot/exts/events/trivianight/_scoreboard.py +++ b/bot/exts/events/trivianight/_scoreboard.py @@ -15,6 +15,15 @@ class ScoreboardView(View): super().__init__() self.bot = bot + @staticmethod + def _int_to_ordinal(number: int) -> str: + """Converts an integer into an ordinal number, i.e. 1 to 1st.""" + suffix = ["th", "st", "nd", "rd", "th"][min(number % 10, 4)] + if (number % 100) in {11, 12, 13}: + suffix = "th" + + return str(number) + suffix + async def create_main_leaderboard(self) -> Embed: """ Helper function that iterates through `self.points` to generate the main leaderboard embed. @@ -89,31 +98,19 @@ class ScoreboardView(View): color=Colours.soft_red ) - suffix = ["th", "st", "nd", "rd", "th"][min(int(points_rank) % 10, 4)] - if (int(points_rank) % 100) in {11, 12, 13}: - suffix = "th" - - points_rank = str(points_rank) + suffix - rank_embed.add_field( name="Total Points", value=( - f"You got {points_rank} place" + f"You got {self._int_to_ordinal(int(points_rank))} place" f" with {self.points[member.id]:.1f} points." ), inline=False ) - suffix = ["th", "st", "nd", "rd", "th"][min(int(speed_rank) % 10, 4)] - if (int(speed_rank) % 100) in {11, 12, 13}: - suffix = "th" - - speed_rank = str(speed_rank) + suffix - rank_embed.add_field( name="Average Speed", value=( - f"You got {speed_rank} place" + f"You got {self._int_to_ordinal(int(speed_rank))} place" f" with a time of {(self.speed[member.id][1] / self.speed[member.id][0]):.1f} seconds." ), inline=False |