all repos — stealth-developers @ a88cb6d6fdb8fefce32b232c66d882b9cbf80dd1

feat: uwuify command
vi v@vt3e.cat
Sat, 21 Mar 2026 03:24:59 +0000
commit

a88cb6d6fdb8fefce32b232c66d882b9cbf80dd1

parent

de6df0112179e6b09758cb0da72ca1854368eda9

3 files changed, 55 insertions(+), 0 deletions(-)

jump to
M bun.lockbun.lock

@@ -10,6 +10,7 @@ "drizzle-orm": "^1.0.0-beta.12-a5629fb",

"nanoid": "^5.1.6", "pino": "^10.3.0", "pino-pretty": "^13.1.3", + "uwuifier": "^4.2.2", "zod": "^4.3.6", }, "devDependencies": {

@@ -410,6 +411,8 @@

"undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], "uuid": ["uuid@8.3.2", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="], + + "uwuifier": ["uwuifier@4.2.2", "", {}, "sha512-Fhtj3Yg3rrDTEs+L1fqkgM3VYGJrP4U9GY+4fPdw08T5kzOB8NSosZnZfa5Zhv1Hh7NCpH5G6t1DIZyM1wPK1w=="], "web-streams-polyfill": ["web-streams-polyfill@3.3.3", "", {}, "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw=="],
M package.jsonpackage.json

@@ -30,6 +30,7 @@ "drizzle-orm": "^1.0.0-beta.12-a5629fb",

"nanoid": "^5.1.6", "pino": "^10.3.0", "pino-pretty": "^13.1.3", + "uwuifier": "^4.2.2", "zod": "^4.3.6" } }
A src/interactions/commands/uwuify.ts

@@ -0,0 +1,51 @@

+import config from "@/config"; +import { text } from "@/utils/components"; +import { tsExact, tsRelative } from "@/utils/profile"; +import { + type ChatInputCommandInteraction, + type Client, + ContainerBuilder, + SlashCommandBuilder, +} from "discord.js"; +import Uwuifier from "uwuifier"; + +const commandData = new SlashCommandBuilder() + .setName("uwuify") + .setDescription(`ok`) + .addStringOption((option) => + option + .setName("text") + .setDescription("The text to uwuify") + .setRequired(true), + ); + +async function execute( + _client: Client, + interaction: ChatInputCommandInteraction, +) { + const uwuifier = new Uwuifier(); + + const text = interaction.options.getString("text", true); + const uwuifiedText = uwuifier.uwuifySentence(text); + + const blacklistedWords = [ + "twerks", + "sees bulge", + "notices buldge", + "starts twerking", + ]; + + const finalText = blacklistedWords.reduce((acc, word) => { + return acc.replace(new RegExp(word, "gi"), "----"); + }, uwuifiedText); + + await interaction.reply({ + content: finalText, + allowedMentions: { users: [interaction.user.id] }, + }); +} + +export default { + data: commandData, + execute, +};