VASARAAAAAAAAAAAAAAAAAAA!!!!!!!!!!!!!!!

This commit is contained in:
2025-05-29 15:24:24 +03:00
parent e2fc98a0c1
commit a013a3136d
5 changed files with 104 additions and 19 deletions

BIN
bun.lockb

Binary file not shown.

View File

@@ -10,6 +10,7 @@
"typescript": "^5"
},
"dependencies": {
"@ocbwoy3/libocbwoy3": "^0.0.5",
"@types/commander": "^2.12.5",
"@types/dotenv": "^8.2.3",
"@types/sharp": "^0.32.0",

View File

@@ -2,30 +2,108 @@
import { $ } from "bun";
const birthday = new Date(2009, 7, 16);
const age = Math.floor(
(Date.now() - birthday.getTime()) / (1000 * 60 * 60 * 24 * 365)
);
const isBirthday =
birthday.getDate() === new Date().getDate() &&
birthday.getMonth() === new Date().getMonth();
const isLatvian = Intl.DateTimeFormat()
.resolvedOptions()
.timeZone.startsWith("Europe/Riga");
function getOrdinalSuffix(day: number): string {
const j = day % 10,
k = day % 100;
if (j === 1 && k !== 11) return "st";
if (j === 2 && k !== 12) return "nd";
if (j === 3 && k !== 13) return "rd";
return "th";
}
// chatgpt
function chooseRandom(array: string[]): string {
if (isBirthday)
return `Is it your ${age}${getOrdinalSuffix(age)} birthday?`;
if (array.length === 0) throw new Error("lol");
const index =
crypto.getRandomValues(new Uint32Array(4)).reduce((a, b) => a + b) %
array.length;
return array[index];
}
const splashes = [
"not ben shaped pear-o",
"Keep on ricing yo' Hyprland",
"Let's make today even better!",
"\"I use Nix, btw!\" - OCbwoy3",
"I use Nix, btw!",
"Nix beats arch",
"You like kissing boys, don't you?",
"Now with gay furries :3",
"Now with femboys :3",
"\"iUseNixBTW\" You literally... Roblox?",
"is it just me or the arch/nix pipeline turned me into a closeted femboy?",
"the nix pipeline is real",
"Anti-OCbwoy3-ifier MV2 Premium.xpi",
"Do crabs think fish are flying?",
"Don't forget to water your thoughts.",
"Fox detected. Please pet gently.",
// Venting ones
"mount /dev/boyfriend ~",
isLatvian
? "Latvia.. I hate it here, I wanna move." /* extremely accurate unbiased content coming from a latvian himself */
: "NOT going back Latvia.",
"rm -rf ~",
// Minecraft (DEI ones)
"Amplify and listen to BIPOC voices!",
"Support the BIPOC community and creators!",
"Contains infinite genders!",
"Remember to use gender neutral pronouns!",
"You are valid!",
"I'm glad you're here!",
"You are welcome here!",
"Your gender is valid!",
// Regretevator ones
"dr! ar u sure i cant drink 20 blogsy's??",
"That subway wuz so dark! Can't have a party withowt silly litez!",
"Blogsy is so AWESOME!",
"My life is liek a video game i think",
"Whats yer favorite type o wood?",
"Everybody knows th best kind o buildin is made outta grit and woodwork!",
// Me IRL
"tfw Hyprland boots faster than I do",
"everyone gangsta till your free trial of life ends",
// Reality
"flake 'flake:self' does not provide attribute 'willpower'",
"copilot stop writing my thoughts",
"404: purpose not found",
"respawn button greyed out",
"youve reached the end of the existential demo",
"feeling like an empty JSON object"
];
const debug: boolean = false as false | true;
if (debug === true) {
splashes.forEach(async(a)=>{
await $`notify-send "Welcome to... your PC?" "${a}"`;
})
splashes.forEach(async (a) => {
await $`notify-send "Welcome to Hyprland!" "${a}"`;
});
} else {
const randomSplash = splashes[Math.floor(Math.random() * splashes.length)];
await $`notify-send "Welcome to... your PC?" "${randomSplash}"`;
}
const randomSplash = chooseRandom(splashes);
await $`notify-send "Welcome to Hyprland!" "${randomSplash}"`;
}

View File

@@ -1,6 +1,9 @@
import { promises as fs } from "fs";
import * as path from "path";
import * as os from "os";
import { setConsoleTitle } from "@ocbwoy3/libocbwoy3";
setConsoleTitle("Roblox Studio patcher");
const SIGNATURE = Buffer.from([
0x48, 0x81, 0xEC, 0x40, 0x03, 0x00, 0x00, 0x84, 0xD2, 0x74, 0x05, 0xE8

View File

@@ -3,6 +3,9 @@ import { configDotenv } from "dotenv";
import { homedir } from "os";
import { readdirSync, readFileSync, statSync } from "fs";
import { join } from "path";
import { setConsoleTitle } from "@ocbwoy3/libocbwoy3";
setConsoleTitle("R2 Uploader");
try {
const start = Date.now();
@@ -34,12 +37,12 @@ try {
let [ _, regretevator, floorNum ] = latestFile.match(/\-(regretevator)\-?([0-9]+)?\.png$/) || [];
// the devs changed rich presence, what's the point of parsing the filename if tuxstrap doesn't update the state file anymore?
if (regretevator === "regretevator") {
latestFile = latestFile.replace(`-regretevator${floorNum ? `-${floorNum}` : ""}.png`,".png")
// OR i could keep the filename and have my worker parse the filename
if (floorNum) {
urlParams = `?floor=${floorNum}`
} else {
urlParams = ``
}
}
@@ -52,7 +55,7 @@ try {
} catch (e_) {
const cx = `${e_}`.toLowerCase();
if (cx.includes("enable r2") && cx.includes("cloudflare dashboard")) {
$`notify-send "Cloudflare" "bro u mf didnt pay for r2 >:(<br/><small>${`${e_}`}</small>"`.nothrow().catch(a => { });
$`notify-send "Cloudflare" "You owe Cloudflare money!! >:(<br/><small>${`${e_}`}</small>"`.nothrow().catch(a => { });
process.exit(0);
}
$`notify-send "Screenshot" "${`${e_}`}"`.nothrow().catch(a => { });