aboutsummaryrefslogtreecommitdiffstats
path: root/bot/exts/valentines/pickuplines.py
blob: 74c7e68bcd66a53f9a82425a22aa8d4baf94d90a (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
34
35
36
37
38
39
40
41
42
43
44
import logging
import random
from json import load
from pathlib import Path

import discord
from discord.ext import commands

from bot.constants import Colours

log = logging.getLogger(__name__)

with open(Path("bot/resources/valentines/pickup_lines.json"), "r", encoding="utf8") as f:
    pickup_lines = load(f)


class PickupLine(commands.Cog):
    """A cog that gives random cheesy pickup lines."""

    def __init__(self, bot: commands.Bot):
        self.bot = bot

    @commands.command()
    async def pickupline(self, ctx: commands.Context) -> None:
        """
        Gives you a random pickup line.

        Note that most of them are very cheesy.
        """
        random_line = random.choice(pickup_lines['lines'])
        embed = discord.Embed(
            title=':cheese: Your pickup line :cheese:',
            description=random_line['line'],
            color=Colours.pink
        )
        embed.set_thumbnail(
            url=random_line.get('image', pickup_lines['placeholder'])
        )
        await ctx.send(embed=embed)


def setup(bot: commands.Bot) -> None:
    """Pickup lines Cog load."""
    bot.add_cog(PickupLine(bot))