From 093fb4412b436bff2dc9f068cfd7fb1b203c3eed Mon Sep 17 00:00:00 2001 From: jsl12 Date: Thu, 19 Aug 2021 00:40:07 -0500 Subject: [PATCH] implemented collect_jokes --- kwaylon/jokes/__init__.py | 1 - kwaylon/jokes/jokes.py | 7 +++---- kwaylon/kwaylon.py | 4 +--- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/kwaylon/jokes/__init__.py b/kwaylon/jokes/__init__.py index ce764cd..2045240 100644 --- a/kwaylon/jokes/__init__.py +++ b/kwaylon/jokes/__init__.py @@ -4,7 +4,6 @@ from .base import Joke, GifJoke def collect_jokes(): for name in dir(jokes): - print(name) try: if issubclass((j := getattr(jokes, name)), Joke): yield j diff --git a/kwaylon/jokes/jokes.py b/kwaylon/jokes/jokes.py index 8c864aa..65c2723 100644 --- a/kwaylon/jokes/jokes.py +++ b/kwaylon/jokes/jokes.py @@ -3,8 +3,7 @@ import re import discord import stockquotes -from .helpers import assify, unblack -from . import base +from . import base, helpers # TODO implement new jokes @@ -48,7 +47,7 @@ class BlackJoke(base.Joke): return re.compile('black (\w+)', re.IGNORECASE) async def respond(self, message: discord.Message, client: discord.Client, match: re.Match): - res = unblack(message.content) + res = helpers.unblack(message.content) if res is not None: msg = await message.reply(res) await msg.add_reaction(discord.utils.get(client.emojis, name='kaylon')) @@ -60,7 +59,7 @@ class AssJoke(base.Joke): return re.compile('[ \-]ass[ \-](?P\w+)', re.IGNORECASE) async def respond(self, message: discord.Message, client: discord.Client, match: re.Match): - res = assify(message.content) + res = helpers.assify(message.content) if res is not None: await message.reply(f'{res} {discord.utils.get(client.emojis, name="kaylon")}') diff --git a/kwaylon/kwaylon.py b/kwaylon/kwaylon.py index dd05a27..86498a7 100644 --- a/kwaylon/kwaylon.py +++ b/kwaylon/kwaylon.py @@ -20,9 +20,7 @@ class Kwaylon(discord.Client): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - attrs = filter(lambda n: n.endswith('Joke') and n not in ['Joke', 'GifJoke'], dir(jokes)) - attrs = map(lambda n: getattr(jokes, n)(), attrs) - self.jokes = list(attrs) + self.jokes = list(jokes.collect_jokes()) self.most_regex = re.compile( '^who is the most\s+(?P\S+)\s*?(?:in the past (?P\d+) days)?\??$',