implemented collect_jokes
This commit is contained in:
@@ -4,7 +4,6 @@ from .base import Joke, GifJoke
|
|||||||
|
|
||||||
def collect_jokes():
|
def collect_jokes():
|
||||||
for name in dir(jokes):
|
for name in dir(jokes):
|
||||||
print(name)
|
|
||||||
try:
|
try:
|
||||||
if issubclass((j := getattr(jokes, name)), Joke):
|
if issubclass((j := getattr(jokes, name)), Joke):
|
||||||
yield j
|
yield j
|
||||||
|
|||||||
@@ -3,8 +3,7 @@ import re
|
|||||||
import discord
|
import discord
|
||||||
import stockquotes
|
import stockquotes
|
||||||
|
|
||||||
from .helpers import assify, unblack
|
from . import base, helpers
|
||||||
from . import base
|
|
||||||
|
|
||||||
|
|
||||||
# TODO implement new jokes
|
# TODO implement new jokes
|
||||||
@@ -48,7 +47,7 @@ class BlackJoke(base.Joke):
|
|||||||
return re.compile('black (\w+)', re.IGNORECASE)
|
return re.compile('black (\w+)', re.IGNORECASE)
|
||||||
|
|
||||||
async def respond(self, message: discord.Message, client: discord.Client, match: re.Match):
|
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:
|
if res is not None:
|
||||||
msg = await message.reply(res)
|
msg = await message.reply(res)
|
||||||
await msg.add_reaction(discord.utils.get(client.emojis, name='kaylon'))
|
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)
|
return re.compile('[ \-]ass[ \-](?P<target>\w+)', re.IGNORECASE)
|
||||||
|
|
||||||
async def respond(self, message: discord.Message, client: discord.Client, match: re.Match):
|
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:
|
if res is not None:
|
||||||
await message.reply(f'{res} {discord.utils.get(client.emojis, name="kaylon")}')
|
await message.reply(f'{res} {discord.utils.get(client.emojis, name="kaylon")}')
|
||||||
|
|
||||||
|
|||||||
@@ -20,9 +20,7 @@ class Kwaylon(discord.Client):
|
|||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
attrs = filter(lambda n: n.endswith('Joke') and n not in ['Joke', 'GifJoke'], dir(jokes))
|
self.jokes = list(jokes.collect_jokes())
|
||||||
attrs = map(lambda n: getattr(jokes, n)(), attrs)
|
|
||||||
self.jokes = list(attrs)
|
|
||||||
|
|
||||||
self.most_regex = re.compile(
|
self.most_regex = re.compile(
|
||||||
'^who is the most\s+(?P<emoji>\S+)\s*?(?:in the past (?P<days>\d+) days)?\??$',
|
'^who is the most\s+(?P<emoji>\S+)\s*?(?:in the past (?P<days>\d+) days)?\??$',
|
||||||
|
|||||||
Reference in New Issue
Block a user