implemented collect_jokes

This commit is contained in:
2021-08-19 00:40:07 -05:00
parent 0bc306f353
commit 093fb4412b
3 changed files with 4 additions and 8 deletions

View File

@@ -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

View File

@@ -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<target>\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")}')

View File

@@ -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<emoji>\S+)\s*?(?:in the past (?P<days>\d+) days)?\??$',