Compare commits

...
3 changed files with 20 additions and 6 deletions
+1
View File
@@ -19,6 +19,7 @@ class PostHighscores(commands.Cog, name="Post Highscores"):
self.bot = bot
@commands.command(name="post-scores")
@commands.has_permissions(administrator=True)
async def post_highscores(self, ctx: commands.Context):
"""
A command which posts the highscore in the designated channel.
+1
View File
@@ -27,6 +27,7 @@ class Score(commands.Cog, name="Score"):
Usage:
```
?score "Boss Name" "Category" "score"
This command still works if you prefer to use it over the ui.
```
"""
verification_channel_id = highscores_data["verification_channel_id"]
+18 -6
View File
@@ -72,16 +72,28 @@ async def submit_score(
@param boss: the boss to add score to
@param category: the category to add score to
@param user: user who submitted score
@param score: score (int) to add
@param score: score to add
"""
# TODO update user submission to not have dupe users
# hardmode category, must have different category variable for config access.
if category.find("Hardmode ") != -1:
config_category = category.replace("Hardmode ", "")
else:
config_category = category
# capping to 12 characters because runescape names are 12 characters long.
user = user[:12]
# create score tuple for either time or int
# define sort index
if highscores_config["categories"][category]["is_time_record"]:
minutes = score.split(":")[0]
seconds = score.split(":")[1]
score_seconds = int(minutes) * 60 + int(seconds)
if highscores_config["categories"][config_category]["is_time_record"]:
if score.find(":") == -1:
score_seconds = float(score)
else:
minutes = score.split(":")[0]
seconds = score.split(":")[1]
score_seconds = int(minutes) * 60 + float(seconds)
score_tuple = (user, score, score_seconds)
sort_index = 2
@@ -95,7 +107,7 @@ async def submit_score(
# sort scores.
scores.sort(
key=lambda x: x[sort_index],
reverse=not highscores_config["categories"][category]["ascending"],
reverse=not highscores_config["categories"][config_category]["ascending"],
)
# enforce highscore size