aboutsummaryrefslogtreecommitdiffstats
path: root/bot/exts/evergreen/catify.py
diff options
context:
space:
mode:
Diffstat (limited to 'bot/exts/evergreen/catify.py')
-rw-r--r--bot/exts/evergreen/catify.py86
1 files changed, 0 insertions, 86 deletions
diff --git a/bot/exts/evergreen/catify.py b/bot/exts/evergreen/catify.py
deleted file mode 100644
index 32dfae09..00000000
--- a/bot/exts/evergreen/catify.py
+++ /dev/null
@@ -1,86 +0,0 @@
-import random
-from contextlib import suppress
-from typing import Optional
-
-from discord import AllowedMentions, Embed, Forbidden
-from discord.ext import commands
-
-from bot.bot import Bot
-from bot.constants import Cats, Colours, NEGATIVE_REPLIES
-from bot.utils import helpers
-
-
-class Catify(commands.Cog):
- """Cog for the catify command."""
-
- @commands.command(aliases=("ᓚᘏᗢify", "ᓚᘏᗢ"))
- @commands.cooldown(1, 5, commands.BucketType.user)
- async def catify(self, ctx: commands.Context, *, text: Optional[str]) -> None:
- """
- Convert the provided text into a cat themed sentence by interspercing cats throughout text.
-
- If no text is given then the users nickname is edited.
- """
- if not text:
- display_name = ctx.author.display_name
-
- if len(display_name) > 26:
- embed = Embed(
- title=random.choice(NEGATIVE_REPLIES),
- description=(
- "Your display name is too long to be catified! "
- "Please change it to be under 26 characters."
- ),
- color=Colours.soft_red
- )
- await ctx.send(embed=embed)
- return
-
- else:
- display_name += f" | {random.choice(Cats.cats)}"
-
- await ctx.send(f"Your catified nickname is: `{display_name}`", allowed_mentions=AllowedMentions.none())
-
- with suppress(Forbidden):
- await ctx.author.edit(nick=display_name)
- else:
- if len(text) >= 1500:
- embed = Embed(
- title=random.choice(NEGATIVE_REPLIES),
- description="Submitted text was too large! Please submit something under 1500 characters.",
- color=Colours.soft_red
- )
- await ctx.send(embed=embed)
- return
-
- string_list = text.split()
- for index, name in enumerate(string_list):
- name = name.lower()
- if "cat" in name:
- if random.randint(0, 5) == 5:
- string_list[index] = name.replace("cat", f"**{random.choice(Cats.cats)}**")
- else:
- string_list[index] = name.replace("cat", random.choice(Cats.cats))
- for element in Cats.cats:
- if element in name:
- string_list[index] = name.replace(element, "cat")
-
- string_len = len(string_list) // 3 or len(string_list)
-
- for _ in range(random.randint(1, string_len)):
- # insert cat at random index
- if random.randint(0, 5) == 5:
- string_list.insert(random.randint(0, len(string_list)), f"**{random.choice(Cats.cats)}**")
- else:
- string_list.insert(random.randint(0, len(string_list)), random.choice(Cats.cats))
-
- text = helpers.suppress_links(" ".join(string_list))
- await ctx.send(
- f">>> {text}",
- allowed_mentions=AllowedMentions.none()
- )
-
-
-def setup(bot: Bot) -> None:
- """Loads the catify cog."""
- bot.add_cog(Catify())