diff options
Diffstat (limited to 'bot/exts/halloween/8ball.py')
| -rw-r--r-- | bot/exts/halloween/8ball.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/bot/exts/halloween/8ball.py b/bot/exts/halloween/8ball.py new file mode 100644 index 00000000..1df48fbf --- /dev/null +++ b/bot/exts/halloween/8ball.py @@ -0,0 +1,33 @@ +import asyncio +import json +import logging +import random +from pathlib import Path + +from discord.ext import commands + +log = logging.getLogger(__name__) + +with open(Path("bot/resources/halloween/responses.json"), "r", encoding="utf8") as f: + responses = json.load(f) + + +class SpookyEightBall(commands.Cog): + """Spooky Eightball answers.""" + + def __init__(self, bot: commands.Bot): + self.bot = bot + + @commands.command(aliases=('spooky8ball',)) + async def spookyeightball(self, ctx: commands.Context, *, question: str) -> None: + """Responds with a random response to a question.""" + choice = random.choice(responses['responses']) + msg = await ctx.send(choice[0]) + if len(choice) > 1: + await asyncio.sleep(random.randint(2, 5)) + await msg.edit(content=f"{choice[0]} \n{choice[1]}") + + +def setup(bot: commands.Bot) -> None: + """Spooky Eight Ball Cog Load.""" + bot.add_cog(SpookyEightBall(bot)) |