aboutsummaryrefslogtreecommitdiffstats
path: root/bot/seasons/evergreen/magic_8ball.py
blob: 0b4eeb627b3dc678921c88ad525fbfd87ac88fb9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import json
import logging
import random
from pathlib import Path

from discord.ext import commands

log = logging.getLogger(__name__)


class Magic8ball(commands.Cog):
    """A Magic 8ball command to respond to a user's question."""

    def __init__(self, bot):
        self.bot = bot
        with open(Path("bot", "resources", "evergreen", "magic8ball.json"), "r") as file:
            self.answers = json.load(file)

    @commands.command(name="8ball")
    async def output_answer(self, ctx, *, question):
        """Return a magic 8 ball answer from answers list."""
        if len(question.split()) >= 3:
            answer = random.choice(self.answers)
            await ctx.send(answer)
        else:
            await ctx.send("Usage: .8ball <question> (minimum length of 3 eg: `will I win?`)")


def setup(bot):
    """Magic 8ball cog load."""

    bot.add_cog(Magic8ball(bot))
    log.info("Magic8ball cog loaded")