all repos — stealth-developers @ 85ecb273d60ce580e746f38712354e8cec2ec832

feat: meow command 2
vi v@vt3e.cat
Sat, 21 Mar 2026 03:34:49 +0000
commit

85ecb273d60ce580e746f38712354e8cec2ec832

parent

97f556a2435eebc9c3bda71df3eee5bd82ae452f

1 files changed, 71 insertions(+), 33 deletions(-)

jump to
M src/interactions/commands/meow.tssrc/interactions/commands/meow.ts

@@ -8,13 +8,7 @@ import Uwuifier from "uwuifier";

const commandData = new SlashCommandBuilder() .setName("meow") - .setDescription("mrrp~") - .addStringOption((option) => - option - .setName("text") - .setDescription("The text to meowify") - .setRequired(true), - ); + .setDescription("mrrp~"); const meowVariants = [ "meow",

@@ -36,35 +30,80 @@ "mweow",

"mwow", "mrrah", "mrawr", + "myaa", + "mrao", + "chirp", + "chirrup", + "trill", + "brr", + "brrp", + "ekekek", + "mrrrow", + "rawr", + "rowl", + "yowl", + "caterwaul", + "purr", + "purrr", + "prrrr", + "rrrr", + "mew mew", + "squeek", + "squeak", + "mrrp mrrp", + "brrrt", + "prrow", + "meep", + "mrrph", + "blepp", + "raow", + "reow", + "mrrup", + "mrraah", + "mowww", + "mao", ]; -const suffixes = ["~", "!!", "!?", "?!", "...", "!11", ""]; -const prefixes = ["m-", "", ""]; -const emoticons = [">w<", "^w^", "=^w^=", "ฅ^•ﻌ•^ฅ", "(=^・ェ・^=)", ""]; +const suffixes = ["~", "!!", "!?", "?!", "...", "!11", "", "♡", "✧"]; +const prefixes = ["m-", "", "", ""]; +const emoticons = [ + ">w<", + "^w^", + "=^w^=", + "ฅ^•ﻌ•^ฅ", + "(=^・ェ・^=)", + "(=^‥^=)", + "ฅ(•ㅅ•❀)ฅ", + "₍˄·͈༝·͈˄₎", + "(ΦωΦ)", + "(=①ω①=)", + "~(=^‥^)ノ", + "", +]; -function meowify(input: string): string { - const words = input.toLowerCase().split(/\s+/); +function generateMeow(): string { + const wordCount = Math.floor(Math.random() * 6) + 3; // 3-8 meows + const words: string[] = []; - return ( - words - .map((word) => { - const prefix = prefixes[Math.floor(Math.random() * prefixes.length)]; - const meow = - meowVariants[Math.floor(Math.random() * meowVariants.length)]; - const suffix = suffixes[Math.floor(Math.random() * suffixes.length)]; + for (let i = 0; i < wordCount; i++) { + const prefix = prefixes[Math.floor(Math.random() * prefixes.length)]; + const meow = meowVariants[Math.floor(Math.random() * meowVariants.length)]; + const suffix = suffixes[Math.floor(Math.random() * suffixes.length)]; - // sometimes extend the meow with repeated letters - const extendedMeow = - Math.random() > 0.6 - ? meow.replace(/[aeiouw]/g, (m) => - m.repeat(Math.floor(Math.random() * 3) + 1), - ) - : meow; + // sometimes extend the meow with repeated letters + const extendedMeow = + Math.random() > 0.5 + ? meow.replace(/[aeiourw]/g, (m) => + m.repeat(Math.floor(Math.random() * 4) + 1), + ) + : meow; - return `${prefix}${extendedMeow}${suffix}`; - }) - .join(" ") + - (Math.random() > 0.7 + words.push(`${prefix}${extendedMeow}${suffix}`); + } + + return ( + words.join(" ") + + (Math.random() > 0.4 ? ` ${emoticons[Math.floor(Math.random() * emoticons.length)]}` : "") );

@@ -76,9 +115,8 @@ interaction: ChatInputCommandInteraction,

) { const uwuifier = new Uwuifier(); - const text = interaction.options.getString("text", true); - const meowifiedText = meowify(text); - const uwuifiedMeowText = uwuifier.uwuifySentence(meowifiedText); + const meowText = generateMeow(); + const uwuifiedMeowText = uwuifier.uwuifySentence(meowText); const blacklistedWords = [ "twerks",