1
0
Fork 0

am amy!!!!!

This commit is contained in:
amy 2024-12-22 20:33:33 +03:30
parent 0024187d2d
commit 0a80079600
No known key found for this signature in database
8 changed files with 1238 additions and 54 deletions

122
plugins/uwuifier/index.jsx Normal file
View file

@ -0,0 +1,122 @@
const {
http: { intercept },
util: { log }
} = shelter;
const endings = [
"rawr x3",
"OwO",
"UwU",
"o.O",
"-.-",
">w<",
"(⑅˘꒳˘)",
"(ꈍᴗꈍ)",
"(˘ω˘)",
"(U ᵕ U❁)",
"σωσ",
"òωó",
"(///ˬ///✿)",
"(U ﹏ U)",
"( ͡o ω ͡o )",
"ʘwʘ",
":3",
":3", // important enough to have twice
":3", // important enough to have thrice
"XD",
"nyaa~~",
"mya",
">_<",
"😳",
"🥺",
"😳😳😳",
"rawr",
"^^",
"^^;;",
"(ˆ ﻌ ˆ)♡",
"^•ﻌ•^",
"/(^•ω•^)",
"(✿oωo)"
];
const replacements = [
["small", "smol"],
["cute", "kawaii"],
["fluff", "floof"],
["love", "luv"],
["stupid", "baka"],
["what", "nani"],
["meow", "nya"],
["hello", "hewwo"],
];
function selectRandomElement(arr) {
const randomIndex = Math.floor(Math.random() * arr.length);
return arr[randomIndex];
}
// returns true if all characters in the string are the same
// "aaaaaaaaaaaaa" -> true
// "aaaaaaaaaaaab" -> false
const isOneCharacterString = (str) => {
return str.split('').every((char) => char === str[0]);
};
function replaceString(inputString) {
let replaced = false;
for (const replacement of replacements) {
const regex = new RegExp(`\\b${replacement[0]}\\b`, "gi");
if (regex.test(inputString)) {
inputString = inputString.replace(regex, replacement[1]);
replaced = true;
}
}
return replaced ? inputString : false;
}
function uwuify(message) {
const rule = /\S+|\s+/g;
const words = message.match(rule);
let answer = "";
if (words === null) return "";
for (let i = 0; i < words.length; i++) {
if (isOneCharacterString(words[i]) || words[i].startsWith("https://")) {
answer += words[i];
continue;
}
if (!replaceString(words[i])) {
answer += words[i]
.replace(/n(?=[aeo])/g, "ny")
.replace(/l|r/g, "w");
} else answer += replaceString(words[i]);
}
answer += " " + selectRandomElement(endings);
return answer;
}
const unintercept = intercept(
"post",
/\/channels\/\d+\/messages/,
(req, send) => {
let newContent = req?.body?.content;
log(newContent);
if (!newContent) {
return send(req);
}
if (newContent.startsWith("!u ")) {
newContent = newContent.replace("!u ", "", 1)
req.body.content = uwuify(newContent.toLowerCase());
}
return send(req);
}
);
export function onUnload() {
log("Goodbye, Wowwd fwom shewtew! ^^;;")
unintercept()
}