all repos — stealth-developers @ 8199683b527f1f06beacd568dc6e141904b7961e

apps/bot/src/feats/misc/meow.ts (view raw)

 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
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
import { kitten } from "@/client";

export const meowCommand = kitten.command("meow", {
	description: "mrrrp mew",
	async run(interaction) {
		const meowVariants = [
			"meow",
			"mew",
			"mrrow",
			"mrow",
			"mrrp",
			"miau",
			"miu",
			"nya",
			"mya",
			"mraow",
			"meowdy",
			"mrrr",
			"prrt",
			"prrp",
			"mreow",
			"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 wordCount = Math.floor(Math.random() * 15) + 3;
		const words: string[] = [];

		for (let i = 0; i < wordCount; i++) {
			const prefix = prefixes[Math.floor(Math.random() * prefixes.length)] as string;
			const meow = meowVariants[Math.floor(Math.random() * meowVariants.length)] as string;
			const suffix = suffixes[Math.floor(Math.random() * suffixes.length)] as string;

			// 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;

			words.push(`${prefix}${extendedMeow}${suffix}`);
		}

		const content =
			words.join(" ") +
			(Math.random() > 0.4 ? ` ${emoticons[Math.floor(Math.random() * emoticons.length)]}` : "");

		interaction.reply({ content });
	},
});