""" Fun extension for qrm --- Copyright (C) 2019-2020 Abigail Gold, 0x5c This file is part of discord-qrm2 and is released under the terms of the GNU General Public License, version 2. """ import random import discord.ext.commands as commands import common as cmn class FunCog(commands.Cog): def __init__(self, bot: commands.Bot): self.bot = bot with open("resources/words") as words_file: self.words = words_file.read().lower().splitlines() @commands.command(name="xkcd", aliases=["x"], category=cmn.cat.fun) async def _xkcd(self, ctx: commands.Context, number: str): """Looks up an xkcd comic by number.""" await ctx.send("http://xkcd.com/" + number) @commands.command(name="tar", category=cmn.cat.fun) async def _tar(self, ctx: commands.Context): """Returns xkcd: tar.""" await ctx.send("http://xkcd.com/1168") @commands.command(name="xd", hidden=True, category=cmn.cat.fun) async def _xd(self, ctx: commands.Context): """ecks dee""" await ctx.send("ECKS DEE :smirk:") @commands.command(name="funetics", aliases=["fun"], category=cmn.cat.fun) async def _funetics_lookup(self, ctx: commands.Context, *, msg: str): """Generates fun/wacky phonetics for a word or phrase.""" with ctx.typing(): result = "" for char in msg.lower(): if char.isalpha(): result += random.choice([word for word in self.words if word[0] == char]) else: result += char result += " " embed = cmn.embed_factory(ctx) embed.title = f"Funetics for {msg}" embed.description = result.title() embed.colour = cmn.colours.good await ctx.send(embed=embed) def setup(bot: commands.Bot): bot.add_cog(FunCog(bot))