#πŸͺ…-progaming

1 messages Β· Page 7 of 1

blazing haven
#

yes

alpine lily
random crypt
blazing haven
#

you don't have to answer lol

random crypt
#

ohh wait

upper glen
#

the pronoundb plugin is unnecessary since discord introduced it as a native plugin but it has a few features discord doesn't like displaying pronouns in chat for easier viewing w/o opening a profile for that

random crypt
alpine lily
#

wondering if there's a language barrier, if so we might have to change up how we speak. In case you're translating blobcatcozy

blazing haven
alpine lily
upper glen
alpine lily
#

eh it's whatevs

#

PronounDB is a plugin to show pronouns in the chat

random crypt
blazing haven
alpine lily
#

you can see it in all profiles normally thanks to Discord's update a while back

random crypt
upper glen
random crypt
blazing haven
#

LMFAO

grand garnet
#

Who are you and why are you being so weird

alpine lily
#

dancesu yes

random crypt
#

can u help me with coding please\

blazing haven
#

😭

alpine lily
grand garnet
#

Not you, Flether lol

random crypt
alpine lily
random crypt
#

just curious about thing on internet

random crypt
alpine lily
#

blobcatcozy sorry, I only use Discord for IRL work

#

also I had a wrong link earlier

random crypt
alpine lily
alpine lily
random crypt
random crypt
alpine lily
#

yeah, 21 sip_FB

random crypt
random crypt
alpine lily
#

Foxy_SaluteO7 USA

random crypt
random crypt
alpine lily
#

Data Entry, Washington (not DC)

random crypt
random crypt
random crypt
still jolt
#

that job title sounds as boring as it could possibly be

random crypt
alpine lily
#

wont bore you, but basically just take info and put it into a different system to save the data

alpine lily
#

Patient records, user info, etc etc

#

yep pretty much

still jolt
#

Shouldn't that be script work

alpine lily
random crypt
alpine lily
#

cant let them know I have it all scripted lmao

still jolt
#

lmfao yep

grand garnet
#

based af

random crypt
random crypt
alpine lily
still jolt
#

soooo free money basically?

random crypt
#

whats lmfao and lmao????

random crypt
random crypt
alpine lily
# random crypt wdym?

when I don't want to do work, I just let a script run and it read the info, and puts it where it needs to go. No human interaction

I have to put in fake errors every so often cus it works too well hehe

alpine lily
alpine lily
#

I usually just use urban dictionary, I like that

random crypt
alpine lily
#

all the script does

still jolt
#

teaching yourself the art of scripting ain't that hard

alpine lily
#

I have a manual script that's just a few keybinds set to just find a slot when I hit it, I type something (like Patient Name) > then hit the next tab to zoom me over to the next field

random crypt
#

sorry

alpine lily
#

when I wanna actually do stuff I just use the manual script hehe

alpine lily
random crypt
alpine lily
#

if something is blank, in terms it wouldn't really be an error, just empty. Like having a box with nothing in it, that box can be anything you want

random crypt
#

anyone can help me with the odins project please

#

anyone here?

#

😭 πŸ’”

grand garnet
#

You need to read it yourself, and if you need help with a particular part, ask about that part

random crypt
#

in the odin project?

grand garnet
#

Since you’ve not programmed before, the foundations course

random crypt
formal belfry
#

πŸ₯Ά

grand garnet
#

lmfao

random crypt
worthy sun
#

you're welcome

still jolt
#

vesktop wayland support when

#

welp you made me switch to wayland/sway now, let's see how many stupid issues I run into now ;-;

#

(except for obs not working)

ivory heath
#

OBS does work with pipewire

still jolt
#

(and flameshot not working)

#

and my keyboard layouts not working

#

ffs

still jolt
final night
#

How in the ever living fuck do I install an extension I compiled myself to firefox (not developer edition), perminantly

#

I can install it in developer firefox after
about:config set xpinstall.signatures.required to false
and adding

"browser_specific_settings": {
    "gecko": {
        "id": "insert your email here"
    }
},

to the manifest.json

#

how the fuck do I install it in NORMAL firefox

#

about:debugging#/runtime/this-firefox lets me load it temporarily, but not PERMANENTLY

#

ALL I want to do is modify a SINGLE FUNCTION

#

PLEASE help

final night
#

Ok so it turns out its very easy to switch to firefox developer edition seamlessly

#

just go to about:profiles and change it to use your normal firefox pfofile
make a backup before you do this, as vanilla firefox won't want to use it after developer editon touches it

royal nymph
final night
still jolt
#

you don't

final night
still jolt
#

I guess you do then Β―_(ツ)_/Β―

final night
winged mantle
#

that's for accessing a nullable property

final night
#

! asserts its not null/undefined

#

regardless of context

winged mantle
#

and i don't think you can use it on an object literal

final night
winged mantle
#

setting a key on an object?

#

{
test!: "value"
}

#

i get a syntax error

final night
#

where value is Thing | undefined

final night
winged mantle
#

but the image prop doesn't exist in the first place

viscid grove
#

they stay when I click them

formal belfry
#

oh

#

well

#

I figured it out yeah

#

but it asks me for a fucking credit card so I just noped out anyway

#

I just looooove how enshittified everything is

#

I have literally went through the effort of pirating literally everything I have ever bought due to paranoia that it will get taken away from me because of some bullshit

winged mantle
worthy sun
#

WHY DID YOU CANCEL

winged mantle
#

the screen recorder on gnome is weird and skips the first seconds

#

i did ok first time

worthy sun
#

oh ok blobcatcozy

winged mantle
#

i find it weird that these felt like the best colours

grand garnet
#

balges hanceled

viscid grove
#

and error msgs show up on other pages

#

and bookmarklets do work on the page

rustic turret
#

you can overwrite console.error

viscid grove
#

so that's what those websites are doing?
is there a way to unoverride it (make the errors show)?
It's kinda annoying not being able to see error msgs here, it was confusing me for like 10 mins earlier

serene elk
#

console.error = console.prototype.error

#

just a guess

hollow viper
wanton osprey
#

what is currenlty the most well-maintained list of mappings of discord classes?

#

for theme development

#

but if there's anything better, i'd love to hear abou it

dawn ermine
#

Is this programming chanel for all langauges? and is it for only vencord related stuff?

frosty obsidian
#

its for anything

dawn ermine
#

ok cool, thanks

ember hound
#

hello

#

where is discord_desktop_core

magic shale
#

?

ember hound
#

im trying to reverse engineer discord

#

right now the updater is working

#

but it cant launch the app itself

quick crow
royal nymph
#

find it yourself

#

there are various tools for searching files on your system

#

just google how to do it

still jolt
#

find / -name

#

Β―_(ツ)_/Β―

blazing haven
#

groundhog day moment

ember hound
#

i found it

#

but it still says cannot find module

#

~/.config/discord/0.0.54/modules/discord_desktop_core

#

my version is set (spoofed) to 0.0.396

#

so why not rename

#

IT WORKS

#

got into the login screen

#

it also uses pure electron

#

29

#

unlike the newer versions

#

this one can be downgradable

#

might make mods

#

you only need a copy of build_info.json and discord's modules folder

#

to run it

#

it took a few minutes (errors) to launch

#

killing kwallet fixed the errors

scarlet marten
#

Hi, guys. Who knows how to transfer the "voice activity" plugin to vencord ? I have a js code.

ember hound
#

is it betterdiscord?

keen galleon
#

Is the fact that the compiler throws Unexpected tokens when you use a custom getter inside a function a compiler bug?

fun foo(name: String) {
 val bar get() = "explode" + name // Unexpected tokens
}
keen galleon
#

it does not work

ember hound
#

im banned from using krisp

#

how?

#

well i get a 403 while downloading discord_krisp-0.zip

dusty moth
#

only fields

ember hound
#

heres what i get

royal nymph
#

skill issue

ember hound
#

imagine not getting banned from krisp

magic shale
keen galleon
#

so bad

still jolt
wheat kernel
#

krisp is very useful lol

still jolt
#

echo canceller Β―_(ツ)_/Β―

median root
#

yo i made a base64 plugin that uses the same span as the translation plugin however te base64 plugin always breaks the translation plugin, is there anyway to fix this other than constantly disabling and renabling it?

#

wait lemme send the code

#
const messagePatch: NavContextMenuPatchCallback = (children, { message }) => {
    if (!message.content) return;

    const group = findGroupChildrenByChildId("copy-text", children);
    if (!group) return;

    group.splice(
        group.findIndex(c => c?.props?.id === "copy-text") + 1,
        0,
        <Menu.MenuItem
            id="vc-base64dec"
            label="Decode"
            icon={QuoteIcon}
            action={() => {
                const accessoryId = `vc-translation-${message.id}`;
                handleDecodeMessage(message.id, message.content);
            }}
        />
    );
};

const TranslationSetters = new Map<string, (v: string | undefined) => void>();

function handleDecodeMessage(messageId: string, encodedMessage: string) {
    const decodedMessage = decode(encodedMessage);
    TranslationSetters.get(messageId)?.(decodedMessage);
}

function TranslationAccessory({ message }: { message: Message }) {
    const [translation, setTranslation] = useState<string | undefined>();

    useEffect(() => {
        TranslationSetters.set(message.id, setTranslation);

        return () => {
            TranslationSetters.delete(message.id);
        };
    }, [message.id]);

    if (!translation) return null;

    return (
        <span className="vc-base64-accessory" data-accessory-id={`vc-translation-${message.id}`}>
            {translation}
            <button onClick={() => setTranslation(undefined)}>Dismiss</button>
        </span>
    );
}
median root
# median root ```ts const messagePatch: NavContextMenuPatchCallback = (children, { message }) ...
export default definePlugin({
    name: "Base 64",
    description: "Adds the ability to decode a base64 message",
    authors: [Devs.Samwich],
    dependencies: ["CommandsAPI"],
    contextMenus: {
        "message": messagePatch,
    },
    start() {
        addAccessory("vc-translation", (props) => <TranslationAccessory message={props.message} />);
    },
    stop() {
        removeAccessory("vc-translation");
    },
    commands: [
        {
            name: "Encode",
            description: "Base64 encoding",
            options: [
                {
                    name: "message",
                    description: "Message to be encoded",
                    type: ApplicationCommandOptionType.STRING,
                    required: true,
                }
            ],
            execute: opts => ({
                content: encode(findOption(opts, "message", "")),
            }),
        },
        {
            name: "Decode",
            description: "Base 64 decoding but as a message",
            inputType: ApplicationCommandInputType.BUILT_IN,
            options: [
                {
                    name: "message",
                    description: "Message to be decoded",
                    type: ApplicationCommandOptionType.STRING,
                    required: true,
                },
                {
                    name: "send",
                    description: "Do you want the decoded message to be sent?",
                    type: ApplicationCommandOptionType.BOOLEAN,
                    required: false,
                }
            ],
median root
# median root ```ts export default definePlugin({ name: "Base 64", description: "Adds ...
execute: (opts) => {
                const message = findOption(opts, "message", "");
                const send = findOption(opts, "send", false);
                const decodedMessage = atob(message);
                const channel = SelectedChannelStore.getChannelId();
                if (!send) {
                    sendBotMessage(
                        channel,
                        {
                            content: decodedMessage,
                            author: UserStore.getCurrentUser()
                        }
                    );
                } else {
                    sendMessage(channel, {
                        content: decodedMessage,
                    });
                }
            }
        }
    ]
});
#

forgive the horrible code

#

i just need to know if theres a workaround to breaking the translation plugin

#

as it uses the same span

royal nymph
#

what?

#

you're using the translate plugins accessory id

#

ofc it overrides it

cerulean plover
halcyon spire
#

how do i check if a user has nitro

frosty obsidian
#

premium_type i think

#

just check if its not 0

viscid grove
magic shale
#

random react question: what's the best practice for updating a component with an external variable? this is my solution right now, but i'm not sure if it's the best practice

export default function CanvasToolbar() {
    const [selected, setSelected] = useState<CanvasNode | undefined>(undefined);

    function onSelect() {
        setSelected(Mouse.selected);
    }

    useEffect(() => {
        Mouse.events.on("select", onSelect);

        return () => {
            Mouse.events.off("select", onSelect);
        };
    }, []);

    return (<div>{selected?.name ?? "None"}</div>}
}
halcyon spire
frosty obsidian
#

its right there

magic shale
#

premiumType > 0

halcyon spire
#

i saw someone say that premiumType was like the old version or something

frosty obsidian
halcyon spire
#

which was why i was confused

frosty obsidian
#

in the api responses it's snake case but everywhere else it's camel cased

halcyon spire
#

ah okay

#

is there a way to get a server id from a message object? theres channel_id but no server id

still flax
#

does message.guildId not work?

ember hound
woeful arrow
#

why do I get <@&1027248917756268596> error when I join a discord clan

cerulean plover
woeful arrow
#

oh hell nah did I ping someone

cerulean plover
#

you pinged a role

woeful arrow
#

does someone have this role

nimble bone
#

you didn't ping

#

anyone

cerulean plover
#

idk wait and find out trolley

woeful arrow
#

Nice

#

so anyone know how to fix <@&1027248917756268596> error

nimble bone
#

what is <@&1027248917756268596> error

woeful arrow
#

check it I posted a screen

cerulean plover
#
    const selected = useSyncExternalStore((onSelect) => {
        Mouse.events.on("select", onSelect);
        return () => {
            Mouse.events.off("select", onSelect);
        };
    }, () => Mouse.selected);
#

Try this

magic shale
#

that's much better, thanks

frosty obsidian
#

usually libraries will cache it for you though

#

or no

#

fetch the channel

#

channels have guild id

halcyon spire
#

thank chuu <3

quick crow
frosty obsidian
#

messages don't have guild id

quick crow
#

OH

#

My scroll to bottom didn't scroll all the way to the bottom πŸ’€

winged mantle
#

iirc gateway message events have it

winged mantle
winged mantle
#

i could not read

#

blobcatcozy i love fixing dumb edgecases

#

i have a message in one of my servers that has a non-bot webhook meowlien

#

idk if it's intended functionality -- it just came from a server i subscribed to

#

but i don't think there's an option to have the author proxy instead of showing the server

magic shale
cerulean plover
#

ugh

#

pain

magic shale
#

nvm im double stupid

#

it works

wheat kernel
wheat kernel
#

where crossposted messages would have both a webhook ID and regular author

winged mantle
#

ah πŸ—Ώ

woven mesa
#

gm

median root
#

and I do know it is the plugin I showed that breaks it

waxen rune
#

ok

finite isle
#

i hate duke

still jolt
#

good to know

slender axle
winged mantle
#

is this maybe bad practice blobcatcozy

#

in theory the time will vary based on how many characters match

#

but cmon

frosty obsidian
#

you love

surreal condor
#

guessing flexbox and when you hide it set overflow: hidden on a while width goes down

#

then when you are done unhiding remove overflow:hidden

formal belfry
#

thanks but i should have deleted my message, i got a solution :)

surreal condor
#

oh ok :3 meow

formal belfry
#

i love making websites nobody will use

native spruce
frosty obsidian
winged mantle
#

doing stuff like this without proper research is how you end up with problems later on i think

winged mantle
#

store list of valid access tokens for auth 😭

#

which somehow feels very dumb

blazing haven
winged mantle
#

they're already random though so why would you hash

blazing haven
winged mantle
#

huh? that's because people reuse passwords. people don't reuse tokens 😭

blazing haven
#

oh, those kinda tokens, i was thinking you were doing smth else and of another type of token

royal nymph
#

store tokens hashed MikuWhat25ji

#

how are you gonna use them then

winged mantle
#

but doesn't that achieve exactly nothing

#

you generate random bytes as hex

#

then you store the hash as hex

frosty obsidian
#

jwts are signed anyways

winged mantle
#

what's the point using jwt with database

frosty obsidian
#

are you not doing jwt

winged mantle
#

i'm not

frosty obsidian
#

i thought you were

#

nvm then

winged mantle
#

you can't manually expire unless you store everything you want to invalidate

#

which is just pointless because the main thing jwt achieves is not needing db lookup, right?

frosty obsidian
#

storing data within the token

winged mantle
#

which allows you to not need a db lookup

#

you might as well put the data in db

frosty obsidian
#

when i used it i just made the payload a user id and a token id

#

which i could use for invalidation

#

auth is weird and im glad i don't have to deal with it anymore

royal nymph
#

if you don't need to do that, why not just generate random bytes as token

#

that's what vencloud does

#

it doesn't store ur oauth token

winged mantle
#

i doubt that would be too vulnerable - it's not like you'd be able to measure the time it takes to compare strings to brute force?

#

it's over http soo

#

oh yeah

#

hasing it is pointless

#

somebody else was suggesting it

royal nymph
#

i mean if u really don't need the tokens and just need to check if u have them or not then hashing isn't a bad idea

#

for slightly better security if u ever get hacked

winged mantle
#

how does it improve seucirty

#

if there's a data breach

#

what are people gonna do? use the token on other sites

#

😭

royal nymph
#

they can use them to access whatever the tokens are allowed to access

winged mantle
#

good point

#

however if they could read the tokens they could likely also write them (e.g. in sql injections)

winged mantle
#

is there just a secure way to check whether a list contains something in sql

winged mantle
#

i think it might just be checking

slender axle
#

hey ya'll, did the docker image for vencloud get moved? I've had a broken instance for a while and am finally looking into setting it up again, but the docker image I'm trying to pull just doesn't exist anymore

#

vencord/backend (pulling from docker hub)

royal nymph
#

i don't think it's published anywhere?

slender axle
#

oh, I have to build it myself? gotcha

#

got it working, thanks!

#

so I know custom builds aren't really supported, but I was wondering if it was possible to use a custom build of vencord with vesktop? I have a lot of custom plugins that I use and would like them on my linux devices as well. I'd expect I'd need to compile vesktop from source, but the source directions don't include an obvious way to change the location vencord is installed from (if that is indeed how it works, that is)

still jolt
#

scroll down in vesktop settings

slender axle
#

oh

still jolt
#

from there you can set the vencord dist location (which you get from building vencord ;p)

slender axle
#

oh that's simpler than I was expecting, thanks!

viscid grove
#

~~How can I get the src of these imgs and log them all to console joined by \n in one line?
I tried using .map and .forEach, but couldn't get it to work

javascript: console.log(document.querySelectorAll("table.wikitable tbody tr td:first-child img"));
```~~
solved in below msg
#

oh with Array.from

javascript: console.log(Array.from(document.querySelectorAll("table.wikitable tbody tr td:first-child img")).map(img => img.src).join("\n"));
serene elk
#

what's the output of just console.log(Array.from(...))?

viscid grove
#

oh

#

well it wouldn't have the src's

#

doesn't really matter though
i just needed to extract image links from a wiki rq

final night
#

as long as your selector is correct that should just work

viscid grove
#

one line of code

viscid grove
final night
final night
viscid grove
#

oh
that one works

#

yeah that was the solution

final night
#

ah

#

next time make it more clear you found the soluton

#

the edit you did now is good

viscid grove
#

found pretty much the same thing on stackoverflow and made that

final night
#

[...querySelectorAll()].map
is also an option

viscid grove
#

the square brackets?

final night
#

the [...NotArray]

#

just a shorter Array.from

viscid grove
#

ah cool

#

oh with the ... too?

final night
#

yes\

#

you need the spread operater

viscid grove
#

ok

final night
cerulean plover
#

useless fact

#

[..."testing"] does the same thing as "testing".split("")

blazing haven
#

|| /jk ||

still jolt
#

Microsoft unveiled it's new Copilot-plus PC that features a Snapdragon ARM chip and is tightly integrated with artificial intelligence. Take a look at the future of computing with AI

#tech #ai #thecodereport

πŸ’¬ Chat with Me on Discord

https://discord.gg/fireship

πŸ”— Resources

Copilot Plus PC https://blogs.microsoft.com/blog/2024/05/20/introdu...

β–Ά Play video
balmy lintel
royal nymph
#

the spread operator correctly handles unicode while split doesn't

#

ve

console.log("spread", [..."πŸ† hello"])
console.log("split", "πŸ† hello".split(""))
elder yarrowBOT
cerulean plover
wheat kernel
worthy sun
#

good language

still flax
#

Is anyone aware of some resources to learn more about electron apps? a quick search didn't reveal much

spring pilot
tame marsh
royal nymph
#

omg

zinc stag
#

meow machine

atomic brook
wheat kernel
#

why is spread the fastest 😭

atomic brook
#

Idk, but 4ms difference isn't that much

atomic brook
blazing haven
#

= better

#

xd

wheat kernel
#

real

calm ruin
buoyant trellis
#

nothing will ever be deleted/get major change in js because of backwards compatibility

crimson cave
#

and split isnt

buoyant trellis
#

you can add features

#

but if you add something, it is basically final

royal nymph
#

it makes sense probably?

spread just calls the string iterator which yields all the codepoints in the string. that should be faster than scanning the entire string and comparing against your needle

whole cove
final night
#

Not cute enough

frosty obsidian
#

vencord if it was corporate

final night
native spruce
#

Vencord+

royal nymph
final night
#

BetterBencord

#

Tempted to open a pull request to remove my plugin from their fork

frosty obsidian
#

vencord but with a plugin that vee didn't merge

#

(will not be supported for more than a couple months at best)

final night
#

how do I PR a repo that I already have forked

#

like how do I fork equicord so I can remove clienttheme from it

final night
frosty obsidian
#

i don't think they are required to remove your plugin

whole cove
final night
#

That is true

frosty obsidian
#

the license permits them to keep it

final night
frosty obsidian
#

yeah armcords cool

whole cove
#

but armcord doesn't

#

so...

whole cove
final night
#

armcord isn't anticute

whole cove
still flax
wanton totem
royal nymph
#

who

#

tbh i was just joking cause i think vencord+ was first

#

mantis fork

wanton totem
#

Think their name was foxstorm1

royal nymph
#

oh

#

why annoying

wanton totem
#

I genuinely just used it because they wrote it

royal nymph
#

infighting in equicord uh oh!

wanton totem
#

They said they won't touch it anymore tho lol so we good for now

#

I do also need to rewrite the readme and fix the installer stuff

#

I forgot I even had a website tf

#

I should shut that off

cerulean plover
#

guh

#

can't believe corporate vencord exists

wanton totem
#

just killed it for 2 weeks or more

#

(I want to focus on converting my js to ts)

grand garnet
#

what does this even mean

native spruce
grand garnet
#

and what it says is not a lot

native spruce
#

seems pretty understandable

#

they're pausing development for the time being due to some events

wanton totem
wicked stump
#

I messed around and published a package using JSR tonight

#

I am a massive, massive fan

zinc stag
wicked stump
#

it's so much better than npm's dx in pretty much every conceivable way, it took like 10 minutes to go from empty directory to packaged being auto published from github actions

cerulean plover
#

what "recent events"

cerulean plover
#

i mean idc that my stuff is in there i just don't use it blobcatcozy

formal belfry
cerulean plover
olive niche
#

replugged is just modern powercork

#

always has been

whole cove
#

replugged is not too bad tbh

tame marsh
solid tide
calm ruin
#

I dont think thats the definition of "nazi"

#

And I wouldnt say colin is super racist or transphobic

winged mantle
#

nazi might be a stretch but they do seem pretty bigoted iirc

solid tide
#

we can argue over words, but that kind of combination of bigoted stuff is typical neo-nazi stuff... could say MAGA instead, as he's shown himself to be a pretty big trump supporter

#

but you are insane if you claim that he is not super racist and transphobic. he was literally one of the people who harassed maisy and made her eol vendetta and disappear from the internet. and there was plenty of racism and other stuff on his twitter.

calm ruin
#

I discussed that before on different server but nobody bothered to send screenshots

#

I think he said some stuff to maisy about transistion but I still dont know what he said about it

solid tide
#

i don't have screenshots of the maisy situation either, i asked back then. but it was backed up by multiple people that he said stuff like maisy was "groomed into" being trans. i doubt people would lie about this, but either way this is just the icing on the cake, there's plenty of evidence of him liking/retweeting transphobic, racist and other bigoted/right wing bs.

calm ruin
#

Not supporting transexuality!=transphobia

winged mantle
#

"not supporting you being alive isn't wishing you were dead"

#

i guess not actively showing support i.e saying pro-trans stuff isn't transphobia

calm ruin
#

I never said something like that

#

You are trying to dramatize it

winged mantle
#

sounds like a similar thing tbh

calm ruin
#

Not supporting transexuality doesnt mean "lets kill them all"

winged mantle
#

what does it mean then?

calm ruin
#

You can be aganist it by just trying to convince people to not do it

winged mantle
#

that's transphobic

calm ruin
#

No?

#

So you are telling me everyone has to blindly say its a good thing and otherwise you sre transphobic

#

Transphobia is harrassing bullying trans people etc. Not this

nimble bone
#

even shelter could be better

winged mantle
#

i don't think there's anything more i can say

calm ruin
#

For me same

#

Anyway lets not get this heated up again πŸ₯΄

winged mantle
#

πŸ₯΄

calm ruin
#

Vencord took off and people either sticked into betterdiscord ot Vencord

nimble bone
#

yop

calm ruin
#

Replugged took long time to rewrite

nimble bone
#

I used replugged for one day

#

when vee timed me out

calm ruin
#

By the time they finished it, it was late

nimble bone
#

yop

#

to this day settings ui crashes if you don't open after few seconds

winged mantle
#

@nimble bone is it true you are blocked from husk

nimble bone
#

@calm ruin I was wondering

#

do you love windows 11

calm ruin
#

Mixed

#

I like the new explorer tabs and upgraded native apps like note pad taskmanager

#

But I hate how them implemented AI into everything

#

And also start menu

#

So sticking to w10 until its over

golden narwhal
#

who wants to help me make a uhhh

#

android version of discord client

#

i have the files and stuff i just don't know how to make it android

#

people keep telling me it's gonna eol

cerulean plover
cerulean plover
calm ruin
#

NO

solid tide
calm ruin
#

gender change is not something very simple

#

if you didnt make your mind completely then you shouldnt do it

royal nymph
#

ShiggyTrans chat this is programming

calm ruin
#

and if you did why are you complaining some persons words

blazing haven
#

true

#

speaking of

#

is there like a proper way to modularize ur code base to account for subcommands using discord.js

#

or am i just retarded

royal nymph
#

step 1: don't use discord.js

still jolt
#

actually discord.js is one of the nicer libs I've tried

blazing haven
#

what is the best lib to use if you want to use js

glacial mirage
wicked stump
#

discord.js try not to split into a billion seperate modules with utility functions for everything (impossible)

warm vigil
#

i forgot the function to fetch a guild member

#

does anyone kno

crimson cave
#

discord.js more like discord.java

still jolt
#

guild.members.fetch(id)?

warm vigil
#

webpackcord

royal nymph
warm vigil
#

like i think it's part of GuildMemberStore i forgot i'm dumb as hell

royal nymph
#

or maybe detritus

still jolt
#

https://discord.com/api/v9/users/734373931783553095/profile?with_mutual_guilds=true&with_mutual_friends=true&with_mutual_friends_count=false&guild_id=1015060230222131221

#

that's what vesktop sent in ctrl+shift+i Β―_(ツ)_/Β―

warm vigil
#

i meant the action creator shit

#

but thanks for the effort

blazing haven
winged mantle
#

eris has more active dev

blazing haven
#

discord.js and oceanic.js only ones that are usable (if you use js)

winged mantle
#

oceanic sometimes breaks blobderpy

#

idk if discord.js does

#

well obviously i mean in major ways

#

reactions are broken in the latest version and no new version has been released since the fix which is kind of annoying

blazing haven
#

actually

#

seyfert looks cool too

winged mantle
#

their memory usage benchmarks are weird
it shows them as lowest obvs
then oceanic as higher than discord.js which i don't think can possibly be true 😭

mellow phoenix
finite isle
wheat kernel
#

if you need to fetch it use the gateway

winged mantle
dusty moth
solid tide
#

why is neovim being dumb

atomic brook
solid tide
#

it thinks the // inside the string is the start of a comment

#

in fact, there seems to be more wrong there

atomic brook
#

Do you use tree sitter?

solid tide
#

i don't think so, my setup is pretty basic because lazy

atomic brook
#

Parser are written in C as far as i know and it structures your code for highlighting instead of doing regex

solid tide
#

ok just installed treesitter and the typescript parser, looks much better now

winged mantle
solid tide
#

it said the filetype was typescript shrug

#

but anyway, solved with treesitter now

viscid grove
solid tide
#

hi

blazing haven
pearl stagBOT
# blazing haven https://infosec.exchange/@bontchev/112494759440985111

Oh, cool somebody finally figured it out...

As you probably know, the Microsoft Security Center has an API that lets you query which AV is installed and whether it is up-to-date.

What is less well-known, is that it also has another, not publicly known API, that lets you tell it "I'm installing another AV now, please disable Defender". This is what all other AV products use. Microsoft has provided to them documentation of this API but under NDA.

Many years ago, I made a proof-of-concept - a small VBScript script that would use this API via WMI to "install" an imaginary AV, thus turning off Defender - but since it was based on information learned under NDA, I obviously couldn't make it public.

Now somebody has reverse-engineered the API from AVAST and has done pretty much the same (albeit a bit over-complicated) in C++:

https://github.com/es3n1n/no-defender

rustic turret
surreal condor
neon bear
surreal condor
neon bear
#

An 80s movie

#

It's an iconic movien

#

There were laws.made because of that movie

#

"Backdoors are not secrets."

surreal condor
#

:3

neon bear
#

War Games

#

:3

surreal condor
#

:3

finite isle
#

discord.js server

spring pilot
royal nymph
#

red is kinda real tho

ivory heath
#

arch wiki FRFR

finite isle
royal nymph
# royal nymph red is kinda real tho

you husk but i really can't stand people who don't do their own research

like often people ask questions they could just copy paste into google and find the answer

#

help vampires

finite isle
#

ive had countless issues where i google it

#

first link is a reddit post

#

and only comment is "lol google it you tard"

magic shale
#

The worst is when the only result is a reddit post that matches your exact problem and the only comment is β€œsame”

blazing haven
finite isle
#

to understand recursion, see my message above

surreal condor
#

*** stack smashing detected ***

median root
#

yo i wanna try porting some third party plugins into a user app thing but can they open modals?

#

if they cant open modals ill need to recode some parts of it

cerulean plover
median root
cerulean plover
#

nop

#

you're best off sending an ephemeral message and playing around with those new gallery components

median root
#

my friends dunno how to get the dev build of vencord and they want the quoter plugin so i was gunna port it

cerulean plover
#

why do you need a modal for that

#

You want context menu commands

median root
#

not having to recode it

ocean vine
#

computer

median root
#

uuh eblaborate

still jolt
#

computer nyaboom

ocean vine
median root
#

i am literally nothing without one

still jolt
blazing haven
#

big company does evil things

#

more news at 11

#

cf just as garbo as google

still jolt
blazing haven
ivory heath
# still jolt https://robindev.substack.com/p/cloudflare-took-down-our-website

They were extraordinarily underpaying for the traffic cloudflare was dealing with. I assume cloudflare themselves tried to contact them before and it got swept under the rug or there is missing context. I forgot the first email was 2 weeks eariler and "We politely declined, a bit confused as to the tone of the email."

#

the contract being whatever cloudflare thinks you'll pay is just how its done as well

#

I mean its why there is no specifc pricing on cloudclares website. its customer specifc

#

I guess cloudflare could have been more clear on the "problem" with their account

blazing quartz
ivory heath
#

The biggest issues ive seen from cloudflare is their services dying like twice due to internal mismanagement and them breaking their own no censorship guidlines

blazing haven
#

you get elected (in 2025)

blazing quartz
#

(they're making an exception for you)

blazing haven
#

(racism)

worthy sun
#

who want they stack smashed

cerulean plover
#

i would rather my services be bombed by some non-megacorp

cerulean plover
#

can you find me wireguard obfuscation magic

still jolt
#

there

shell crag
# still jolt https://robindev.substack.com/p/cloudflare-took-down-our-website

from the comments i've read the one that makes the most sense to me is:

cloudflare automatic "upgrade to enterprise" triggered
they look closely at the site and discover its a casino/gambling site
they dont want to take legal risk or ip reputation or whatever so they suspend them
failure to communicate the actual reason for suspension

ivory heath
shell crag
#

yeah but i dont see why cloudflare would just throw away their contract and not negotiate with them

#

at the end

ivory heath
#

I assume the casino part did play a role in that

royal nymph
#

tbf casinos deserve no rights

#

i think cloudflare did right

ivory heath
#

cloudflare for a good part decides what gets to get hosted on the internet and i would prefer that they kept their no censorship internal guidline but they broke it with kiwifarms

#

Cloudflare as a company has the right to pick and chose who they want to host as a private company however i do think there is a moral obligation for them to be indifferent of all possible customers

royal nymph
#

i think a company with this much influence should lose the choice to decide who they want to host or not host

#

for the greater good of humanity

ivory heath
#

Unfortunately most of the world has lost the ability to understand that supporting something in any way is not explicitly endorsing it.

pine coyote
#

where's the dum bot

winged mantle
#

@pearl stag hi

pearl stagBOT
#

No

Sent from my iPhone.

winged mantle
#

alive

solid tide
#

@pearl stag bye

#

see, the thing about the whole cloudflare situation is:

  1. they were definitely super shitty and untransparent, they should not have arbitrary unwritten limits on their "free" plan and intentionally be vague about it.
  2. it seems like the casino was probably running afoul of several regulations, so it kinda makes sense why they didn't want to risk having them as a customer anymore, especially if they don't pay for BYOI (bring your own ip) which reduces would reduce potential reputation harm to cloudflare ips. but then again, they were not transparent about this in the slightest, they just said "you have to pay up because we said so".
  3. neutrality is a good idea for the most part, but they very much should be allowed to suspend service in certain cases like clear unambiguous ToS violations, e.g. outright malware (for non-educational purposes), or illegal stuff, or stuff like kiwifarms which causes a lot of real world harm (ironically, they dragged their feet a lot on this one, themselves trying to take neutrality to the extreme to the point of platforming literal nazis, despite nobody forcing them to do so).
royal nymph
#

i think this "nobody forcing them to platform literal nazis" is very dangerous

once they start doing that, they're essentially policing what content is allowed and what isn't and that can quickly lead to them censoring innocent content

it's the same reason why freedom of speech is so important, even if it means people can say dumb opinions

#

yes kiwifarms bad but we should really not have a company as powerful as cloudflare policing what content is allowed and what isn't

#

no company or government can be trusted with that

solid tide
#

their argument was similar, except it was not about leading to themselves deciding to self-censor more broad categories of consent (which makes little sense), but rather making it easier for governments to try to persuade them to censor content by pointing to the fact that they've censored content before. which, don't get me wrong, is an understandable concern, but honestly the harm done by kiwifarms far outweighs the risk of them having a harder time fighting requests to censor content. no offense, but if you start a sentence with "yes, kiwifarms is bad, but", you've completely lost the plot.

royal nymph
#

agree to disagree

wheat kernel
#

they had enough incentive already that they would probably have kept them as a customer on the enterprise plan if they were just upfront

keen galleon
#

the article only shows communication with cf sales rep which is weird since in a situation like that with the heavy regulations you wouldnt send only sales reps to communicate with them

crisp ridge
#

Hi

frosty obsidian
#

don't

blazing haven
still jolt
#

3:

median root
#

ok outta curiosity is there any reason we cant just inject vencord onto a rooted phones discord like we would do on any other arm processor?

magic shale
#

Vf mobile

#

Damn doesn’t work here

#

Well discord desktop and the discord app are made completely differently, there’s no good way to inject vencord into it

royal nymph
still jolt
#

me when vf mobile

median root
royal nymph
#

yes

median root
#

i mean like inject it directly into the app with a rooted phone

#

any reason what wouldnt work?

royal nymph
#

becsuse it's an entirely different app with different framework

#

pyoncord exists

median root
#

nah i wwasnt actually gunna do it i was js curious

median root
#

or issit just the framework

buoyant trellis
#

it is made with react native, js is compiled into some bytecode (or at least not directly viewable), it doesn't use html (div etc), so everything must be made specifically to it

median root
#

like for a rooted and unrooted device its injected directly in but how?

solid tide
median root
solid tide
#

they just modify the java code of discord or whatever it is presumably

#

idek

#

maybe not because cross platform mods exist and ios isn't java

#

probably something with react directly

nimble bone
formal belfry
#

Do you think it would be possible to automatically block any user who spams NSFW discord links?

native spruce
#

how would you even...? Detect that

quick crow
#

^

#

Also why not just manually block then

#

Seems like a lot of effort

finite isle
keen galleon
#

doesnt discord prevent the link to embed if its nsfw on a channel thats not

#

i know its not 100% accurate but

royal nymph
#

ye

#

but for that to work it has to flag it as such

blazing haven
#

also what is spam: 1 link? 5 links? in what time span? who defines what url is nsfw? some urls host both sfw and nsfw content lol

median root
#

Or you could make the user add a blacklist however I still think a database or dictionary is more viable

#

Then you can just use the api to extract the server name from the invite link

#

I took it from this stack overflow link

formal belfry
#

Do you know how to disable cors limit from discord ?

median root
#

Sending it from a server apparently

#

I hate cors too

#

Or use an api

formal belfry
#

bruh

median root
#

Apis always bypass cors

formal belfry
#

i wanted to make a non vencord script that use my server things

#

discord api ?

#

or other api ?

#

because i made a thing to use cors on a nodejs server

median root
#

Discord api exists last I checked

#

Wym use ur server things

formal belfry
#

i absolutly need to fetch some data from a replit express server

median root
#

From replit or discord

formal belfry
#

i need

#

to fetch a json

median root
#

Like where are you sending thr request from

formal belfry
#

from my replit

#

Its a tampermonkey script

#

So I can't use vencord

median root
#

Does replit not have an api you can use?

formal belfry
#

nope

#

because of discord cors

#

wait

#
VM14924 43455.8c79ce3.js:23 Refused to connect to 'mywebsiteurldontmindi putted real link' because it violates the following Content Security Policy directive: "connect-src 'self' https://status.discordapp.com https://status.discord.com https://support.discordapp.com https://support.discord.com https://discordapp.com https://discord.com https://discord-attachments-uploads-prd.storage.googleapis.com https://cdn.discordapp.com https://media.discordapp.net https://images-ext-1.discordapp.net https://images-ext-2.discordapp.net https://router.discordapp.net wss://*.discord.gg https://best.discord.media https://latency.discord.media wss://*.discord.media wss://dealer.spotify.com https://api.spotify.com https://music.amazon.com/embed/oembed https://sentry.io https://api.twitch.tv https://api.stripe.com https://api.braintreegateway.com https://client-analytics.braintreegateway.com https://*.braintree-api.com https://www.googleapis.com https://*.algolianet.com https://*.hcaptcha.com https://hcaptcha.com https://*.algolia.net ws://127.0.0.1:* http://127.0.0.1:*".
median root
#

Discord cors only happens if you are making a fetch request i think

formal belfry
median root
#

Wait what's the current code ur using?

formal belfry
#

a simple fetch

#

like

median root
#

Well there's always curl to get html and regex to parse

#

Always a healthy thing to rely on

formal belfry
#

we can use curl in JS ???

#

vanilla js also

#

don't forget this is a tampermonkey script

median root
#

Are you fetching the tampermonkey script or is the code run there

#

Wait js to confirm ur current code uses a fetch request??

formal belfry
median root
#

So why not just fetch('replit link'l

formal belfry
#

i did

#

but

#

cors

formal belfry
#

because replit does not figure in the authorized website

median root
formal belfry
#

testing the

fetch('http://ip-api.com/json')
.then( response => response.json() )
.then( data => console.log(data) )

#

VM14924 43455.8c79ce3e1753b38de4a4.js:23 Refused to connect to 'http://ip-api.com/json' because it violates the document's Content Security Policy.

median root
#

Tried a proxy server or using like replits weird api?

stoic helm
#

just ignore this person because they dont know what theyre talking about

#

iirc GM_fetch bypasses cors?

#

look that up in tamper/greasemonkey docs

royal nymph
royal nymph
#

GM_fetch bypasses CSP too

formal belfry
royal nymph
stoic helm
#

nope, only for tamper/greasemonkey

formal belfry
#

oh wait

#

okay

royal nymph
solid tide
#

"helpee" is... not wrong but super unusual

formal belfry
#

okay i tried

#

yay

#

thank u

stoic helm
#

ofc :D

median root
#

so i just gave up on it

stoic helm
#

if you tried the same thing and failed, why would you attempt to help someone else with it

stoic helm
#

the answer is in this convo, u just need to find it :3

#

hide and seek

final night
royal nymph
#

honestly i never saw anyone saying helpee but like a payer is someone who pays and a payee is someone you pay, so a helper is someone who helps while a helpee is someone you help HarukaWink

#

idc if it's a word or not, im saying it anyway blobcatcozy

median root
#

quickquestion what version is my pnpm supposed to be?

#

oh and also does pnpm have ot be install explicitly through npm or can i install it using curl or corepack

still jolt
#

whar

median root
stoic helm
#

hehe christmas lights

civic oak
#

Is Krisp working with the latest update?

buoyant trellis
#

Are you a troll?

still jolt
#

why not?

blazing haven
buoyant trellis
median root
#

not a troll just really bad at doing what i do best

still jolt
#

look, imho finding a something in a known piece of html via regex is not bad

#

I just don't exactly know what you wanna do

still jolt
#

a message on discord

median root
median root
#

||please tell me i got someone||

final night
#

I parse HTML with regex in one of my side projects because I only need to grab small strings from the response text

dusty moth
winged mantle
balmy lintel
pine reef
#

do y'all know how to retrieve messages through commandline

#

like I know how to post a message via commandline

#

just not the opposite

#

I've got the channel id for the channel I want to see and my token

quick crow
#

That may be a bad idea

pine reef
#

just as a one-off

quick crow
#

Fucking with the api can be risky

wicked stump
#

easy way to get your account disabled but in any case the endpoint you want is GET /channels/:channelid/messages

#

optionally add /:messageid to the end to get a specific messahe

frosty obsidian
wicked stump
#

oop

pine reef
#

how would I do that in bash

#

and ah

wicked stump
#

actually do it with a user token then 🚎

pine reef
#

well that's what im doing

frosty obsidian
#

user accounts have to use /channel/:channelId/messages?limit=1&around=:msgId

pine reef
#

oh is that how it works?

#

interesting

frosty obsidian
#

thats how message link embeds work

#

yes

pine reef
#

it looks like it's just the message id appended

wicked stump
frosty obsidian
#

make sure to add the x-super-props header though

#

less risky

pine reef
#

jesus christ that's a huge fucking man page

frosty obsidian
#

its not a heavily monitored route anyways though

wicked stump
frosty obsidian
#

also for future reference just refer to https://docs.discord.sex

Discord Userdoccers

You’ve found the Unofficial Discord User API Documentation! These pages are dedicated to showing you all the ways that you can use Discord to make cool stuff. It is not an official source of informati...

pine reef
#

.sex.........

frosty obsidian
#

don't let the domain fool you

pine reef
#

yeah right now I'm using

curl https://discord.com/api/v9/channels/<channel-id>/messages \
-H "Content-Type: application/json" \
-H "Authorization: <token>" \
-d '{"content": "<message>"}'
frosty obsidian
#

don't need -d

#

get requests can't have data

pine reef
#

also I found out the extremely annoying way that single quotes are '"'"' inside your message

pine reef
#

noted

frosty obsidian
#

yeah GET requests can't have bodies

#

i think curl just ignores though

frosty obsidian
pine reef
#

wdym

#

oh I can't send images here lmfao

#

is it square cuz you're on mobile

frosty obsidian
#

whar

#

no the embeds image doesn't properly use a safe area

pine reef
#

ah

#

also, I tried to run the message post script without -d and it dumped a huge json and said curl: (3) URL using bad/illegal format or missing URL at the end

wicked stump
#

did you remove the json data after the -d as well

pine reef
#

I did not

#

I guess I should have for the GET request

wheat kernel
frosty obsidian
#

i already corrected

wheat kernel
#

it doesnt show up on subpages either

#

cuz i thought it was annoying

frosty obsidian
#

i think i lost the project file for the logo

#

could see if the svg is hiding somewhere

wheat kernel
#

i think you sent it to arhsm or something

#

the svg is in the repo no

frosty obsidian
#

as a react svg yeah

#

too lazy to convert back

#

i probably have it on disk anyways

#

yeah i think someone just slapped the logo on a blurple bg

pine reef
#

looks easy enough to remake tbh

frosty obsidian
#

i don't remember the font

pine reef
#

only thing is just the door(?) book which is just a trapezoid with rounded corners

pine reef
frosty obsidian
#

its a book

frosty obsidian
#

can't use ginto bc its paid

pine reef
#

yea fair

frosty obsidian
#

area least likely to get clipped

#

its where you're supposed to put important information

wheat kernel
#

bestie have u seen my website

frosty obsidian
wheat kernel
#

safe area is not in my vocab

royal nymph
pine reef
#

this is what filmmakers had to go through in the transition from 4:3 to 16:9 or vice versa

finite isle
wanton osprey
#

is there some good way to update a json file using the js dot notation?

#

like a cli or vs code extension

#

for example i wanna set the key of `obj1.obj2.obj3=whatever'

#

or something lilike that

#

typing it out is pain

upper glen
#

jq

dusty moth