VASARAAAAAAAAAAAAAAAAAAA!!!!!!!!!!!!!!!
This commit is contained in:
@@ -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",
|
||||
|
||||
"What’s 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",
|
||||
"you’ve 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}"`;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 => { });
|
||||
|
||||
Reference in New Issue
Block a user