diff options
-rw-r--r-- | bot/exts/events/trivianight/_questions.py | 13 | ||||
-rw-r--r-- | bot/exts/events/trivianight/trivianight.py | 17 |
2 files changed, 23 insertions, 7 deletions
diff --git a/bot/exts/events/trivianight/_questions.py b/bot/exts/events/trivianight/_questions.py index 6937d8ec..8b4df74d 100644 --- a/bot/exts/events/trivianight/_questions.py +++ b/bot/exts/events/trivianight/_questions.py @@ -162,7 +162,7 @@ class Questions: If the number parameter is specified, it'll head to that specific question. """ - if all("visited" in question.keys() for question in self.questions): + if all("visited" in question.keys() for question in self.questions) and number is None: return Embed( title=choice(NEGATIVE_REPLIES), description="All of the questions in the question bank have been used.", @@ -179,7 +179,7 @@ class Questions: self.questions[question_number]["visited"] = True self.view.current_question = self.questions[question_number] - def list_questions(self) -> str: + def list_questions(self) -> Union[Embed, str]: """ Lists all questions from the question bank. @@ -188,11 +188,16 @@ class Questions: - Question description - If the question was already 'visited' (displayed) """ + if not self.questions: + return Embed( + title=choice(NEGATIVE_REPLIES), + description="No questions are currently loaded in!", + color=Colours.soft_red + ) spaces = len(sorted(self.questions, key=lambda question: len(question['description']))[-1]["description"]) + 3 formatted_string = "" for question in self.questions: - question_description = question['description'].replace("\u200b", "") - formatted_string += f"`Q{question['number']}: {question_description!r}" \ + formatted_string += f"`Q{question['number']}: {question['description']}" \ f"{' ' * (spaces - len(question['description']) + 2)}" \ f"|` {':x:' if not question.get('visited') else ':checkmark:'}\n" diff --git a/bot/exts/events/trivianight/trivianight.py b/bot/exts/events/trivianight/trivianight.py index 62b619e8..37a29222 100644 --- a/bot/exts/events/trivianight/trivianight.py +++ b/bot/exts/events/trivianight/trivianight.py @@ -30,7 +30,15 @@ class TriviaNight(commands.Cog): @commands.group() async def trivianight(self, ctx: commands.Context) -> None: """No-op subcommand group for organizing different commands.""" - return + cog_description = Embed( + title="What is .trivianight?", + description=( + "This 'cog' is for the Python Discord's TriviaNight (date tentative)! Compete against other" + "players in a trivia about Python!" + ), + color=Colours.soft_green + ) + await ctx.send(embed=cog_description) @trivianight.command() async def load(self, ctx: commands.Context) -> None: @@ -88,8 +96,11 @@ class TriviaNight(commands.Cog): @trivianight.command() async def list(self, ctx: commands.Context) -> None: """Displays all the questions from the question bank.""" - formatted_string = self.questions.list_questions() - await ctx.send(formatted_string) + question_list = self.questions.list_questions() + if isinstance(question_list, Embed): + await ctx.send(embed=question_list) + + await ctx.send(question_list) @trivianight.command() async def stop(self, ctx: commands.Context) -> None: |