aboutsummaryrefslogtreecommitdiffstats
path: root/bot
diff options
context:
space:
mode:
authorGravatar Shom770 <[email protected]>2021-12-28 00:28:33 -0500
committerGravatar Shom770 <[email protected]>2022-02-09 18:13:37 -0500
commitb6685b2acffc7958c0f960b3ab04ada731500d24 (patch)
tree5af9ce8d979a663f6f8cb296857913b519876d64 /bot
parentfull refactor complete (diff)
remove UserScore
Diffstat (limited to 'bot')
-rw-r--r--bot/exts/events/trivianight/__init__.py7
-rw-r--r--bot/exts/events/trivianight/_questions.py7
-rw-r--r--bot/exts/events/trivianight/_scoreboard.py18
3 files changed, 11 insertions, 21 deletions
diff --git a/bot/exts/events/trivianight/__init__.py b/bot/exts/events/trivianight/__init__.py
index 87de18e0..e69de29b 100644
--- a/bot/exts/events/trivianight/__init__.py
+++ b/bot/exts/events/trivianight/__init__.py
@@ -1,7 +0,0 @@
-class UserScore:
- """Marker class for passing into the scoreboard to add points/record speed."""
-
- __slots__ = ("user_id",)
-
- def __init__(self, user_id: int):
- self.user_id = user_id
diff --git a/bot/exts/events/trivianight/_questions.py b/bot/exts/events/trivianight/_questions.py
index 7fb6dedf..0835d762 100644
--- a/bot/exts/events/trivianight/_questions.py
+++ b/bot/exts/events/trivianight/_questions.py
@@ -7,7 +7,6 @@ from discord.ui import Button, View
from bot.constants import Colours, NEGATIVE_REPLIES
-from . import UserScore
from ._game import AlreadyUpdated, Question, QuestionClosed
from ._scoreboard import Scoreboard
@@ -154,18 +153,18 @@ class QuestionView(View):
for user_id, answer in guesses.items():
if dict(self.question.answers)[answer[0]] == self.question.correct:
scoreboard.assign_points(
- UserScore(int(user_id)),
+ int(user_id),
points=(1 - (answer[-1] / self.question.time) / 2) * self.question.max_points,
speed=answer[-1]
)
elif answer[-1] <= 2:
scoreboard.assign_points(
- UserScore(int(user_id)),
+ int(user_id),
points=-(1 - (answer[-1] / self.question.time) / 2) * self.question.max_points
)
else:
scoreboard.assign_points(
- UserScore(int(user_id)),
+ int(user_id),
points=0
)
diff --git a/bot/exts/events/trivianight/_scoreboard.py b/bot/exts/events/trivianight/_scoreboard.py
index babd1bd6..d9107dca 100644
--- a/bot/exts/events/trivianight/_scoreboard.py
+++ b/bot/exts/events/trivianight/_scoreboard.py
@@ -7,8 +7,6 @@ from discord.ui import Button, View
from bot.bot import Bot
from bot.constants import Colours, NEGATIVE_REPLIES
-from . import UserScore
-
class ScoreboardView(View):
"""View for the scoreboard."""
@@ -145,22 +143,22 @@ class Scoreboard:
self._points = {}
self._speed = {}
- def assign_points(self, user: UserScore, *, points: int = None, speed: float = None) -> None:
+ def assign_points(self, user_id: int, *, points: int = None, speed: float = None) -> None:
"""
Assign points or deduct points to/from a certain user.
This method should be called once the question has finished and all answers have been registered.
"""
- if points is not None and user.user_id not in self._points.keys():
- self._points[user.user_id] = points
+ if points is not None and user_id not in self._points.keys():
+ self._points[user_id] = points
elif points is not None:
- self._points[user.user_id] += self._points[user.user_id]
+ self._points[user_id] += self._points[user_id]
- if speed is not None and user.user_id not in self._speed.keys():
- self._speed[user.user_id] = [1, speed]
+ if speed is not None and user_id not in self._speed.keys():
+ self._speed[user_id] = [1, speed]
elif speed is not None:
- self._speed[user.user_id] = [
- self._speed[user.user_id][0] + 1, self._speed[user.user_id][1] + speed
+ self._speed[user_id] = [
+ self._speed[user_id][0] + 1, self._speed[user_id][1] + speed
]
async def display(self) -> tuple[Embed, View]: