#πͺ -progaming
1 messages Β· Page 15 of 1
/run hs main = putStrLn ('@': "everyone")
Here is your hs(9.0.1) output @dusty moth
@βeveryone
Does jsx spec mandate (is there a jsx spec) that body is equal to children= key or is that just react's implementation?
i need atSomeone for bunny
I have no idea but we must break it
trol
wtf is haskell
a programming language
api lets you do it
/run hs main = putStrLn$'@': "everyone"
Here is your hs(9.0.1) output @dusty moth
@βeveryone
query param is target_id
my token is uhh
its undocumented but used in the client
https://github.com/discord-userdoccers/discord-userdoccers/pull/264 
pro tip: let people do the digging for you by accident
i have a discord mod bot that just logs punishments instead of having cmds and dms ppl when theyre punished
wait a sec
i have a good idea @cerulean plover
i can turn that api response into a screenshot via httptoolkit
hmm?
forcefully editing the request
wut
oh?
brb
wouldnt it be easier to use vencord itself 
vencord doesn't have a plugin to filter automod by target id yet does it?
no
what i'm saying is just make a quick and dirty temporary plugin to patch where the api call is made
its only faster because you already have it setup
fair
I actually got a few things working right now in my userplugin
but..
anyone has an idea how to get the client to join a voice channel?
I tried this:
const ChannelActions: {
disconnect: () => void;
selectVoiceChannel: (channelId: string) => void;
} = findByPropsLazy("disconnect", "selectVoiceChannel");
[...]
ChannelActions.selectVoiceChannel(channelID);
but that doesn't seem to work at all. according to dev tools it tries to retrieve messages and gets an 404, no matter the channel used here
also, is there some kind of documentation on FluxDispatcher events?
there's ts typings for most flux event types
wdym
huge fluxEvents.d.ts file 
also FluxDispatcher.addInterceptor(console.warn) VERY useful to me 
W

FluxDispatcher._interceptors.pop()
that sure is helpful for the events
found out that way that discord actually calls AUDIO_TOGGLE_SELF_MUTE instead of AUDIO_SET_SELF_MUTE
wanted to see how to specifically set it tho
but toggling is nice as well for now
@cerulean plover I have so many clones of you
ok discord is behaving weird if I set the user volume like this:
FluxDispatcher.dispatch({
type: "AUDIO_SET_LOCAL_VOLUME",
volume,
userId: userid
});
i mean, it does set volume, but, eh, not to the value I give discord
git clone https://git.nin0.dev/nin0/zooter
@deep mulch Source code
how
You are a bot
yop
They do some maths on it before they set it, run it thru findByCode("Math.pow(10","50-50") and use the returned value
thanks, that worked
@royal nymph seen dm
youd just have to inject the web script and css wherever vencord normally injects it
i did it a while ago
nice, this is exactly what I need
what the fuck that is so insane
has anyone looked into how the signature for unverified_content inside a content inventory entry is generated? i wanted to look into screwing around with sending custom versions of these special embeds generated from the new activity view (see attached screenshot), but all entries have a signed key attached which the server checks against the other data in the request.
how do you even send a message like that?
scrolling makes it come down
and it just stays there
activity react reply experiment, i think
new activity layout thingy
got access yesterday
i was making an attempt to reverse how the signature was made on client but it was my first time working with deobufscated electron code, so you can probably assume it did not go well 
I love when a "production ready" framework uses a load of deprecated libraries that explicitly tell you not to use them
react native is just lovely
its generated on server
hm, wonder how it fetches the signature then
cause it sends it in the request body for sending the message so it has to get it from somewhere
if it aint broken dont fix it
svelte did this too lol
that's normal
that's awful lmfao
not really
Android also has a shit ton of deprecated stuff that's still widely used
cause its still useful and good
the only thing id be somewhat concerned about is inflight which apparently has a memory leak
Does it? When I use android tooling I don't really see any deprecation alerts.
because npm just loves to bomb you with those warnings
Also that's not a good thing. A library being still used even when it's deprecated just because it's been deemed "useful" is a terrible software development ethic.
I mean depending on libraries that are labeled as deprecated by the project author doesn't seem like a super great idea to me.
It sounds pretty reasonable to warn for that
what's the point of going over all usages of a library that still works just because it was deprecated
never said whether or not it's bad or good to warn about that
because it's a terrible idea. It's bad for security, amongst other things.
w h a t
doesn't apply to build tools lol
yeah most of those were babel plugins
oh no my build tool has a vulnerability where maliciously crafted input can crash it
someone might steal the source code and crash a build!!
what if your parser has this issue?
you paste code, your parser picks it up, and they pull an RCE on you?
what if it doesnt
don't paste malware code
some outdated build tools can actually cause vulnerabilitiea
what if someone sends you a virus and you double click it and they pull a RCE on you?
So your solution to avoiding RCEs in programs with KNOWN ISSUES is to "just don't let your parser parse the wrong thing"?
Hypothetical, of course, but not out of the realm of possibility due to your train of logic.
you use qubes
no im saying that depreciations and most vulnerabilities are irrelevant to build tools

you should look into some of the build tools you use and see how many depreciations they have suppressed
or look into android code and see there
So your solution to javascript libraries depending on packages with known issues is to launch an entirely different OS exclusively for development?
guys what if you install a babel plugin which replaces console.logs with malware
or look into any popular apps and see how much deprecated stuff they use
and it's deprecated
still using some deprecated things is very normal and done by the majority of platforms
you're just looking for reasons to shit on random js libs
no, you use qubes
even vencord uses some deprecated things...... so spooky
the usage of something with a known memory leak that explicitly tells you not to use it should be used in your development environment?
if a program is going to run for only 5 seconds then it doesn't really matter if it leaks
i'm a rust + nix developer
memory leaks in short running programs are literally irrelevant
anyway you do realise these are dependencies of dependencies of dependencies right?
The developer explicitly states not to use their library at all.
it's impossible to avoid some depreciations
do you even worry about memory leaks when coding since rust disables those
So? It's still code that's running.
no I Box::leak
you should try installing vencord dependencies and see how many deprecation warnings there are
ββ I β LATIN CAPITAL LETTER I
vch
ββ n β LATIN SMALL LETTER N
β o β LATIN SMALL LETTER O
β β SPACE
β I β LATIN CAPITAL LETTER I
β β SPACE
β ` β GRAVE ACCENT
β B β LATIN CAPITAL LETTER B
β o β LATIN SMALL LETTER O
β x β LATIN SMALL LETTER X
β : β COLON
β : β COLON
β l β LATIN SMALL LETTER L
β e β LATIN SMALL LETTER E
β a β LATIN SMALL LETTER A
β k β LATIN SMALL LETTER K
β ` β GRAVE ACCENT
library used for over a decade with no issues ever
maintainer moves on and deprecates it
STOP USING THIS LIBRARY THINK ABOUT SECURITY
vch
Result too long D:
It's still a package that will go unchecked, then suddenly a 0-day is found because there isn't anyone actively checking / supporting it, and then it suddenly matters.
r e a l
When you have a long chain of dependencies, security should absolutely be a concern and I won't take anyone seriously who claims the inverse. These are packages who's maintainers won't be checking for any sort of security threats.
package.json: Lines 92-97
"allowedDeprecatedVersions": {
"source-map-resolve": "*",
"resolve-url": "*",
"source-map-url": "*",
"urix": "*"
}
and you know that how? are these maintainers in the room with us rn?
I feel like very used deprecated stuff went through more audits than something released a week ago
^
switching from something that has been maintained for many years and audited extensively to a brand new library written by some random person no one has ever heard of just to dodge a deprecation is definitely good for security
Nope. That right there is exactly the problem. I've seen packages that are depreciated and are actually fine! But I've also seen deprecated packages with known vulnerabilities that haven't / won't be fixed because the maintainer doesn't care.
none of the ones you complained about have any security relevant issues
In fact half of the deprecated stuff in ur screenshot is just "this is now inbuilt, please switch to the new one"
maybe they need backwards compat
π§¨
There's a known memory leak in one of them, and the author has explicitly written a note to not use it. I wasn't complaining about that in the context of security. I'm complaining about that because you shouldn't use it. I don't know where the miscommunication is here.
i think removing that one dependency will fix all discord rn issues
^
Author: Do NOT use this library!
JS Developer: Awww no but I don't want to migrate π’π’π’
if there aren't any actual issues then what's the problem
the software works fine
The problem is that the author said do not use it
so do not use it
deprecation warnings
so scary
so
it still works
any dev can put a deprecation warning on anything
if the author if a library explicitly tells you to not use what they made, you don't use it. just because it "works" doesn't mean there isn't a serious security / performance / stability issue on the table here.
vencord runs fine
v+ brainrot
what the fuck?
πΊ
vencord works and is secure
wrong
A developer said not to use his library due to multiple reasons. You should not use that library. I'll chalk this up to a difference of opinion but that doesn't seem like an unreasonable train of thought to me.
guess you gotta use bonfire
if we find vulnerability or any performance issues arise we can talk about removing it
until then its not causing any issues
actually will cadence support iOS? Jetpack can compile to it right?
i don't have a mac
I don't really wanna talk about this further. I'd rather address issues before they become a problem.
I mean from a technical standpoint
technically yes it can
people tell you all the time not to use their software. often times whatever their reasoning is is completely negligible
would be a lot of work
"they said stop using it so stop using it" is a weird take
if a library works without problems for your use case why switch
https://discordapp.com/channels/1015060230222131221/1223973149222375536/1278445060014477345 I'm not talking about it further. if that's a risk you wanna take, that's fine :). Just not something that makes me too happy.
wait why is that?
how does it work? Akin to RN with native components?
example?
Found 99 vulnerabilities (84 moderately irrelevant, 15 highly irrelevant)
file handling is different, database implementations differ across platforms
not to mention ios is native and android is jvm
its not at all impossible but would require a lot of work
can that not be wrapped over? in flutter it's done via dart file stuff which works pretty much identically on every platform except web.
probably can
I gotcha
but my point isn't that its impossible
jetpack does seem promising
well more than that, isn't it common for android nowadays?
shoulda been flutter π’
play store is compose
oh I didn't know that
settings app is moving to compose
that's pretty cool
it's up to the end developer to decide this
if its really so bad then it wouldnt be in the library
of course if its marked deprecated i wouldnt expect help with a deprecated package/api
I swear I can't critize any part of javascript without instantly getting 5 people trying to argue with me
If it's okay to use, it shouldn't be deprecated. If the developer says you shouldn't use it, you shouldn't use it. If you want to use it, fantastic, I won't stop you.
I don't want to argue. I pointed out a problem, of which has been somewhat well documented in node's history. It's actually insane how much JS developers will just argue about trying to defend why their language is actually so good. I don't care. I pointed out a problem, you want to deny that problem.
Seriously, do you not have anything better to do? It's a problem with JS. I don't want to argue. My initial message was pointing out how I didn't like those messages in a "production ready" library. Is that all JS developers do? Just argue about how their language is actually good? Please find something better to do, all I want to do is point out a problem.
no i hate javascript and npm
my main point of contention is that "library developers know best" when you have some that privatize every single useful api and have the language then enforce it (not related to js but w/e)
you should all use my libraries ill promise to only steal your token once
could ask u the same
do you not have anything better to do than whine about Javascript in a random server you don't even actively talk in
no one is claiming js is better than other languages, you're the one going around calling languages shit and shilling flutter
(library developers never know best which is why true privates are such a bad concept)
yop
me! :3
I wouldn't want to stay on old library versions, simply because they don't update (and receive security fixes)
not like most security fixes are relevant to whatever I'm doing
i like being on newest version
but there might always be the one rare bug that does affect me
Also if it's a library and you're using npm...it could mayhaps affect downstream users if another dependency uses the bugged library
people use JS to use the good parts, not the bad parts
I don't use C so I can cast every pointer to be void* and cast them back when I feel like it. I don't use C so I can have 99% of my code be confusing preprocessor macros
can !== should, can !== will
I didn't say that. All I did was voice concerns that I didn't like something about a JavaScript library. I'm sorry you can't handle that. If someone criticizes flutter, I often agree as there are problems with it. If someone praises JavaScript, I don't have a problem with that, I've used JavaScript for a few years and it does a lot of cool stuff.
I've worked with people like you on programming projects and it's very obnoxious. Just learn how to take criticism, and grow up. For the sake of the rest of us.
yeah some parts of js are great. I've used it for a lot of stuff, and still use it to this day (albeit less so due to the nature of the projects I work on).
Yeah I'm pointing out that it's not very useful to call out the bad parts of JS because people aren't actively interested in using them
I was pointing out an issue with react native expo which is indeed used quite a lot
i havent wrote a js project of my own in so long
I gotta scroll up, one moment
I have the right to point out problems when I see them. It doesn't invalidate the ecosystem. It's exactly what it is- a problem. Not an unsolvable problem. Not a fundamental, unfixable issue, but a problem. People like august can't accept criticism to their ecosystem of choice. Any attack on the language is perceived as an attack on themselves, when in reality I just want to critic a single aspect of something.
where's the issue
Also half of that is Babel, and React Native uses a custom JS engine...soo maybe it's supposed to be there?
besides, most of those are transitive dependencies, I bet
I see this a lot when people only know a single language. It's not just JS developers, although it is more common in beginner languages like such. But it's often much more difficult to critic a language like JS because those who know it exclusively see it as a personal attack rather than an education critic of such.
I was referring to the other packages. It's really not that deep. Just a lot of concerning warnings of the usage of deprecated packages.
I think attacks on JS-the-language (not the ecosystem) are bogus because they usually focus in shit barely anyone uses
I mean like I'll critic JS where it's bad, and praise it where it's good
yeah, I bet a lot of those are dependencies of dependencies of ...
it's just that the former is too much for people like august to handle
You've seen the relevant xkcd?
not sure I fully understand the question
yeah I'm aware of it but what's the question?
I'm just pointing out that RN might be using a dependency that includes a dependency that happens to use a deprecated package
oh yeah I'm aware, I'd say it's likely but I haven't looked into the specifics of how this error is being caused
my concern was largely that, if it's not an issue, don't tell me there's some critical issue, if it is an issue, we should actually be resolving it
Regardless of how the dependency is being depended upon, it's still getting to my machine and running
this discussion was never intended to be insanely long, I just wanted to send a message with a concern I had with an error
i mean the simple answer to your concern is that it happens in a lot of languages, not just the javascript ecosystem, and most of the time the issues are unsolvable
you cant just upgrade the dependency or move away from it because most of the time it's not you who is adding it directly, it is something you are using, or a dep of a dep of a ... repeat forever
tons of frameworks have deprecation warnings pop up because a lot of people deprecate libraries as a "i'm not maintaining this anymore, here's a viable alternative, you should check that out instead" but there are also tons of unmaintained libraries still widely used that aren't deprecated
but in the end the person who has to deal with it is not you, most of the time, it is your upstream authors of the library you are using
and, a lot of the time, it is not viable to upgrade the dependencies of that library because of breaking changes
transitioning from one library to another is not just a drop in replacement, im sure you know that
and sometimes the library that is recommended with a deprecation notice doesnt fill the role of the original, or has a completely different API surface that requires different inputs to get the same outcome, and the development effort of working it out is too high
so you just stick with ol' reliable until it actually becomes a problem
and it goes on forever
The real purpose of private functions/fields in libraries has to do with intent.
"Hey, don't fucking use this. I am not going to promise it will be here even in the next commit."
privates are fine for API surfaces that are subject to heavy change and stuff that genuinely should never be used, but then you have people that make tons of stuff private and then dont expose a way of doing the thing in the library publicly when you could really do with it
so then you have to use reflection and whatnot to access it
i've had to do that a lot
especially in java libraries
but what if they completely drop it in the next minor or patch version lol
then i rewrite the code, either reimplementing the feature in my own codebase or using whatever they've provided this time around

just you mentioning reflection made it obvious
because in the end it is my fault for using library internals
right
:3
i've never had to do it in .NET libraries since they're actually well made so i just wanted to clarify
(.NET reflection is ace as well)
i forgor .net exists
Yeah all comes down to intent
react suffered from the "making stuff private and then not exposing any proper way of doing the thing" issue
they seem to have improved that
do not use or you will be fired internals were actually really useful in some use cases, mainly by component authors who wanted to do some whacky stuff
now they have a semi-private api for some of the stuff that used to be in there, where it's clear that you should ideally not be using it but they still let you use it
wait people used those internals?
yeah
What sort of wacky stuff was in there?
ReactCurrentOwner springs to mind
wat dat do
what we talkin abt
it was a property that was set to the current component that was being constructed at the time
that sounds really wacky
lol
anyway
happens
but yeah you can use it to write really weird and interesting hooks
__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
yes it is peak hilarity
why did you render uses the internals to
well
explain why a component rendered lol
because there is literally no other way, react doesnt expose this information on purpose
yep
will i be fired
you will be fired
Hm but you wouldn't need to know this on code that's actually shipped to the user
oh fuck
π₯
better not use those
correct
this is a debug-time library
react still doesnt expose this information 
just as it should be, for stuff shipped to the user
at least in kotlin we have the internal modifier
something you can just suppress if you know what you're doing
you may still end up needing reflection though since idea/as will pressure you into privating lots of time
yeah
as?
android studio
uhh not really
is it this again xd
there is no official lsp
huh
buh
probably because Jetbrains only cares about its own IDE lol
yeah
that's exactly it
they want you to use the official kotlin plugin bundled with idea and android studio
idea is a pretty good program but its still a bit of an asshole move
yop
they have it tied in to the IDE
uses PSI thing
all language support in jb ides are like that
had an argument over this in ts and # vs ts private with vendy
@frosty obsidian we will make better LSP
api/build.gradle.kts: Lines 46-55
introspection {
endpointUrl = "https://api.github.com/graphql"
headers = mapOf(
// GLOOM_INTROSPECTION_TOKEN Should be set to the authorization token obtained after
// logging in to the mobile client, it should start with "gho_"
"Authorization" to "Bearer ${System.getenv("GLOOM_INTROSPECTION_TOKEN")}",
"User-Agent" to "Apollo GQL Introspection"
)
schemaFile = file("src/commonMain/graphql/com/materiiapps/gloom/gql/schemas/github.schema.graphqls")
}
what's that
its used to generate the schema file
i think the non public stuff is exposed bc of enterprise
bc companies can host it themselves
is it not just the api
its server side rendering
it probably gets the data from the server then
their data api is so limited
@frosty obsidian i might use jsonpath in the serializer idk
might be really slow with the huge json bodies
dumb youtube changes the api structure too much
even if you set the version
@frosty obsidian kotlinx serialization errors are so awful
kotlinx.serialization.MissingFieldException: Field 'sources' is required for type with serial name 'dev.zt64.hyperion.api.network.dto.ApiImage', but it was missing at path: $.header
got no idea why
you don't provide a default value for sources
its there
show
it shouldnt error
@Serializable
internal data class ApiImage(
@JsonNames("thumbnails")
val sources: List<ApiImageSource>
)
yes
kotlinx serialization is not designed for this awful kind of api
i hate youtube so much
I've just been doing a million refractors for gloom
how
ugh
http toolkit with its stupid pay walled dark mode
nothing else as easy as it
thiis is why i lost interest before cause the api is so god damn annoying to deal with
wtf?
$14/mo
@deep mulch i love updating compose multiplatform and all the backgrounds disappearing
how
what did you update to
slight chance it may be due to using now deprecated constructor
this is so disappointing how limited youtubes own public api is
like if youre gonna make a public api at least put the effort in to make it complete
hatred
guh
idk
guh
gotta make this ugly thing work
whats that for
neat
i cant figure out how to make a json factory that uses ktx serialization
fusdhgfgsdvbhfbwhje
fucking fuck
cant do anything right
UGH
WHY IS THIS SO HARD
dont java or whatever
all you know is class infrastructure
but you suck at actually programming
are you finally working on gloom again?
which option would be used for a #π-textreplace-rules submission?
(idk what channel to ask this in)
What's the difference between options 4 and 7 and 9
idk these options confuse meβ¦
They only change the name of the thread. Picking 5 is probably the most accurate
bro gonna get me no-mod mail role π π

i mean it isnt an only changes the name thing
mostly just helps mods 
i need to talk to a moderator
do go with the generic talk to mods option though
okaiβ¦ Iβm murdering both of you if I get punished though 
The role for all the snippet channels is the same
#1256395889354997771 is still a case by case thing
I know I have the role to post in any of those channels. I just donβt wanna post something there without permission or approval.

can anyone here jsx :3
i need a like popup with an input box, a done button, and a cancel button (basically just window.prompt) but uh idk how to do ts π
so just use window.prompt?
its disabled
(it does nothing besides show an error that it wont ever be supported in console)
I didn't quite get that
Works on my machine
if you need an actual dialog there's the <dialog> element
it doesnt work on any machine just discord web π
kk and like how would i use that
Non-firefox browsers do not matter though
wdym
it doesn't really matter
?
what are you doing? react?
yeah
yeah you can do this in react, just handle state for it in idiomatic react fashion
javascript:
const dialog: HTMLDialogElement | null = document.querySelector('#dialog');
const showDialogButton: HTMLButtonElement | null = document.querySelector('#show');
if (showDialogButton && dialog) {
showDialogButton.addEventListener('click', () => {
dialog.showModal();
});
}
const closeDialogButton: HTMLButtonElement | null = document.querySelector('#close');
if (closeDialogButton && dialog) {
closeDialogButton.addEventListener('click', () => {
dialog.close();
});
}
and html:
<button id="show">Show Dialog</button>
<dialog icon="dialog">
<p>super epix dialog</p>
<button id="close">Close</button>
</dialog>
react:
const MyDialog: React.FC = () => {
const dialogRef = useRef<HTMLDialogElement>(null);
const showDialog = () => {
dialogRef.current?.showModal();
};
const closeDialog = () => {
dialogRef.current?.close();
};
return (
<>
<button onClick={showDialog}>Show Dialog</button>
<dialog ref={dialogRef}>
<p>This is a dialog box.</p>
<button onClick={closeDialog}>Close</button>
</dialog>
</>
);
};
You should try to just learn react itβs not that difficult!
react handles state for you so you don't do this event listener jank
yeah I suggest learning react
i hate css and html
You wonβt improve from copying code from the internet
should i try hating react too
nothing to hate about css and html
HTML and css are the easiest parts of web development!!
React is legit really good
wdym
Especially compared to raw dom manipulation
Don't know how it compares to other frameworks though
Only compared to raw dom manipulation
I prefer quite literally anything else
xd
nothing, you should start learning basics, like html, css and javascript, I can recommend https://web.dev, https://javascript.info and lastly, https://react.dev for react when you're done with the first 3
Mdn is also invaluable
ik how to js html and css
i just hate them besides js
css isnt that bad either once you get into it
hating on html and css just sounds like not knowing it enough to me
no
its just that
i hate to spend time making minor changes to css
just for it to look a tiny bit better
I mean, you're going to spend time using css to make your site pretty
lack of experience isn't a excuse to hate it
have you seen my website
not yet
oh yeah lmao it's slightly fucked
sorry but i dislike sites that take over your scroll
discord doesnt take over your scroll
then how does it use a custom scroll bar
cuz to disable the existing one youd need to do overflow-y: none
everything is freely scrollable, unlike your site where every time you scroll it scrolls to a certain distance
.... you can style scroll bars using css
yes
The CSS scrollbars styling module defines properties that you can use for visual styling of scrollbars. You can customize the width of the scrollbar as required. You can also customize the color of the scrollbar track, which is the background of the scrollbar, and the color of the scrollbar thumb, which is the draggable handle of the scrollbar.
here is how discord does it
scrollbar hijacking is bad
Not only does it feel awful it also puts you into the same boat as stupid companies which think they need to make the most complicated site ever to grab your attention like a TikTok video
yeah
yipee
hows progress? are you working on explore/search first or issues first?
or something different?
so far just refactors
reorganizing the codebase
once thats done I'd like to redo the profile screen
i get the refactors but why focus on the profile screen afterwards
I hate how loose it is tbh
sometimes your code shouldn't work
html is great in getting pretty much everything to run
but I'd prefer my app not try to render something that is completely broken
of course there are definitely situations where that's useful
mfw
its just been bugging me
@frosty obsidian bugs inside you
and the lack of some relatively important github features isnt?
@deep mulch duke inside you
how
java runs on everything
@frosty obsidian you use catppuccin in intellij right
do popups ever appear like half transparent for you
ill see if i can screenshot
honestly not really?
not that they aren't important
but they just don't occupy my mind as much
wong you are silly
yeah
ok i couldnt get screenshot in time
yop
hello i am new to regex but i wanted to make a very nice text replace rule for yxtwitter but also include the original
so what i currently have to work with is
and replaced with
it works but i'm wondering if there's a way to have the replaced outcome paste the second link a line below the first one
you prob want to just use https://regex101.com to test your regexes
it does work just wondering if the formatting could be modified
cuz currently if i were to use it this would be the outcome
and its kinda link spaghetti and i wanted to make it at least look half nice with one link being a line below the other
smh
regexr on top
i use pcre and pcre2 semi-frequently and regex 101 has both
php π
apparently (?m) allows regex to detect multiple lines but i'm not sure if there's a way to output multiple lines
is this just a discord moment
make sure to use ECMA script, not pcre
not sure wym (my entire experience with this is about 10 mins of fiddling around)
.
regex has different versions
because different languages/libraries implement it differently
discord uses javascript
so make sure to select javascript (ecmascript) here
Vecord doesn't want to work at all on my discord
top right if you are using regexr
π #π₯-vencord-support-π₯
(Auto-response invoked by @lavish frigate)
I see, so ?m wouldn't work
nope
since it's not ecma
darn
welp I guess what I got rn does enough
might fiddle around and see if there was any way to output it in multiple lines still though
(?m) is just a modifier change, you can also just do this:
the character between the tests is a new line, not a space
dang doesnt look like using that can make the output 2 lines but ty
yeah nvm, the input doesnt support new lines, those were 2 spaces π
LOL
you can have
\n
\r\n
fuck \r
nop
\r can and will go burn in die
nuh, windwos forever <3
carriage return isn't a windows only thing
it's quite useful for cli's because what it does is go to the start of the current line
yeah the fact that windows requires a carriage return to do a newline correctly sucks
but don't blame \r blame windows
i think that isn't really necessary anymore
its probably still the default but windows handles both line endings
apps still save as crlf but pretty much everything understands both like endings
its really only programs that need to work on much older windows versions that have to worry about it
Hello
you use a typewriter
@deep mulch im adding compact number formatting
needs different code depending on the platform and api version
is compact nuimber formatting different for other localizations
yes
works
beautiful
@deep mulch you love android compatibility
jvm
android doesn't support the java equivalent
probably only available in newer java version
guhh
where was the cpp guy
I hate this layout
The wasted space is wild
the wasted space in question being the window that tells me what errors and warnings there are
?
legitimate question btw
is this for problems?

theres no line there
thats for problems
you can tell by the fact its labeled "problems"
yes there is
my rectangle made it kind of hard to see though
k
what's it for then if you're going to be like this
idk
that could just be where the preview would be if i had it shown
yeah any right side windows take up everything to that line
Do you have a big monitor?
depends on how you define big
this is intellij but the space on the right seperated by the line isn't very big
(but this is also a fairly small laptop
oh maybe that line is the max width a line should be
its 24in
that's much bigger than my big laptop screen so that's big
by this, do you mean a vscode like preview?
its a visual preview of certain kinds of files
like vector images or layout xmls
oh that
so we have the emojis download script but I don't know how to modify it to work with stickers
I am not really sure what bit I need for this
look at the code for emote cloner
I looked at the emoji cloner code
It seems stickerstore is stored elsewhere
which is a huge problem
cause I don't know where it's stored in vencord
what
enable console shortcuts
and Stores.StickerStore
this is a guild sticker collection
I was refering to the js snippets of emoji downloader
also the method that it relied on was:
Vencord.Webpack.Common.EmojiStore.getGuilds()
which doesn't have stickers
It would also be cool to somehow extract the unicode that discord uses into json too
i noticed something UnicodeEmoji()
it would be nice to see how the client sees the outputted json
this is (kinda) the correct answer, it's a visual guide that's displayed at a certain line width to help you format your code better. you can customize and change the position of the lines (or remove them altogether) in Settings > Editor > Code Style
I turned it off cause it's ugly 
I thought it was the minimum width for a while when I was first programming
It is! You aren't allowed to make lines shorter than 80 chars
Pad your lines with zwsp's to get to 80 chars
wait are zwsps rendered like regular spaces in text editors
buh
some show them as a normal space but with some kind of error around them
idk, i use neovim in vsocde, so its weird
Jetbrains IDEs also type out the character name (like ZWSP not sure exactly)
i was right
look at other plugins
Alr thanks but is there no official doc for that?
The current doc is pretty limited.
if you need docs for such basic things then you're in the wrong place
since you'll also have to reverse engineer discord's code
Well what I meant was the settings modal.
once again look at the code
is there an easy way to convert a tampermonkey userscript to a vencord plugin?
nvm it wouldnt work
so I had this idea to block specific user's profile pictures, and replace it with another picture
idk everyone else was alright
I think you should be lobotomized for even asking
fair enough
You can do that very easily with css
img[src*='avatars/866084333809958922/'] {
content: url('https://cdn.discordapp.com/avatars/683171006717755446/762584460155a3b8815c406a0f1b544c.webp?size=128');
}
just used my pfp because it's right here, but you can use any image
Y'all i dont know if this is what the channel is about, but im wondering if u guys know how to make a mirror in unity (c++)
can someone help me with setting up venbot
can someone help me setting up venbot?
i need help with setting up the variables in .env and running it
wdym?
index.ts: Lines 23-36
const settings = definePluginSettings({
domain: {
type: OptionType.BOOLEAN,
default: true,
description: "Remove the untrusted domain popup when opening links",
restartNeeded: true
},
file: {
type: OptionType.BOOLEAN,
default: true,
description: "Remove the 'Potentially Dangerous Download' popup when opening links",
restartNeeded: true
}
});
Check that plugin and see how it's done
btw you may need to put your user ID in quotes
iirc both work
devs constant uses bigint
n constructs a bigint while quotes construct a string
its better to keep it consistent
oh itc use that ig
i love bigint
Is there a way to check whether a channel is viewable when lurking a server via an endpoint? rn what im doing is sending a messages request and if it fails then that means I can't access it but im afraid if I do that too much I might hit cloudflare fail limit right?
I've tried checking https://github.com/Vendicated/Vencord/blob/main/src/plugins/showHiddenChannels/index.tsx but it seems it grabs the info from within the client rather than making some call/request
oh ok
worry about hitting the cf limit is insane
you should more so be worried about discord antispam
but i doubt that even applies to message sending/viewing
a guy on dmdgo told me that it does but I guess I will find out
and i was worried about cf limit because I plan on scaling this a lot
but I should just use proxys instead I think right

π₯Ί
if you really dont want to make a failing requests you can also just... check the users permissions against the channel permissions
How can I get the users permissions?
I want to stay as a lurker and avoid joining a server because that could trigger captcha and verification, and because of that I can't get a user's list of guilds. I have also tried getting the list of channels of a guild, but that only returns the overwritten permissions and not the computed permissions for my user
the fuck are you trying to do
exporting chatlogs
from servers on discovery
most of the info I got is from https://docs.discord.sex/
creepy
NOOO
I knew someone was gonna mention that site
and its so disgusting
but no im in no way gonna use it to stalk like that guy did
I just want to index the public servers since theres lots of info gated behind discord
specially on ml/ai
can't you check the permissions instead?
uh nvm
π
calculate yourself? you dont have any roles so should be fairly easy
Its not for a dataset for training
Its to look for bug fixes or papers discussion
what
nothing
Does anyone know why tabs aren't showing from txt file previews?
for example this as a file:
a b
it's only in the display
if you download it, it does have the tabs
interesting that aliucord file preview also has the same issue
and bunny (no space whatsoever)
update your package.json
with what
this is my package.json
{
"name": "dumbbot",
"version": "1.0.0",
"description": "",
"main": "src/index.js",
"scripts": {
"dev": "nodemon index.js",
"register": "node deploy-cmds.js",
"start": "node ."
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"discord.js": "^14.15.3",
"dotenv": "^16.4.5",
"fs": "0.0.1-security",
"path": "^0.12.7",
"random": "^4.1.0"
},
"devDependencies": {
"eslint": "^9.9.1",
"nodemon": "^3.1.4"
}
}
nono wait
it's not updated
lemme sync changes
@grim flare updated
clone it now
also make a pull request with the changes if you can
dafq happened
im not getting any errors
the structure should look like the one i have
actually
it errors this
Error: Cannot find module 'C:\Users\Davide\OneDrive\Desktop\dumbBot\src\index.js'
at Module._resolveFilename (node:internal/modules/cjs/loader:1145:15)
at Module._load (node:internal/modules/cjs/loader:986:27)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:174:12)
at node:internal/main/run_main_module:28:49 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}
when i run the bot
i use pnpm by the way
o
still works
no push perms btw
but heres what my package.json is
{
"name": "dumbbot",
"version": "1.0.0",
"description": "",
"main": "src/index.js",
"scripts": {
"dev": "nodemon src/index.js",
"register": "node src/deploy-cmds.js",
"start": "node src/index.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"discord.js": "^14.15.3",
"dotenv": "^16.4.5",
"fs": "0.0.1-security",
"path": "^0.12.7",
"random": "^4.1.0"
},
"devDependencies": {
"eslint": "^9.9.1",
"nodemon": "^3.1.4"
}
}
i havent really changed anything other than the dir
how do i give them to u
still the same error btw
what
yeah actually idk even what is happening
i even tried running it from src/
it still works on my end

probably a misconfiguration?
yep
i invited you as a collab
try running from the migration branch
?
oh
the migration branch works
can you make a pr to merge it into the main branch
also while you're here
#π₯-vencord-support-π₯ message
i dont use vesktop
oh ok
why are there multiple files
i will delete the .js ones
do you have ts-node installed?
no...
thats why
i'm installing it with pnpm
lemme see if it works now
wtf
42 client.once(event.name, (...args) => event.execute(...args));
~~~~~~~
src/index.ts:44:26 - error TS7019: Rest parameter 'args' implicitly has an 'any[]' type.
44 client.on(event.name, (...args) => event.execute(...args));
~~~~~~~
at createTSError (C:\Users\Davide\OneDrive\Desktop\dumbBot\node_modules\.pnpm\ts-node@10.9.2_@types+node@22.5.2_typescript@5.5.4\node_modules\ts-node\src\index.ts:859:12)
at reportTSError (C:\Users\Davide\OneDrive\Desktop\dumbBot\node_modules\.pnpm\ts-node@10.9.2_@types+node@22.5.2_typescript@5.5.4\node_modules\ts-node\src\index.ts:863:19)
at getOutput (C:\Users\Davide\OneDrive\Desktop\dumbBot\node_modules\.pnpm\ts-node@10.9.2_@types+node@22.5.2_typescript@5.5.4\node_modules\ts-node\src\index.ts:1077:36)
at Object.compile (C:\Users\Davide\OneDrive\Desktop\dumbBot\node_modules\.pnpm\ts-node@10.9.2_@types+node@22.5.2_typescript@5.5.4\node_modules\ts-node\src\index.ts:1433:41)
at Module.m._compile (C:\Users\Davide\OneDrive\Desktop\dumbBot\node_modules\.pnpm\ts-node@10.9.2_@types+node@22.5.2_typescript@5.5.4\node_modules\ts-node\src\index.ts:1617:30)
at Module._extensions..js (node:internal/modules/cjs/loader:1416:10)
at Object.require.extensions.<computed> [as .ts] (C:\Users\Davide\OneDrive\Desktop\dumbBot\node_modules\.pnpm\ts-node@10.9.2_@types+node@22.5.2_typescript@5.5.4\node_modules\ts-node\src\index.ts:1621:12)
at Module.load (node:internal/modules/cjs/loader:1208:32)
at Function.Module._load (node:internal/modules/cjs/loader:1024:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:174:12) {
diagnosticCodes: [ 7006, 7006, 7019, 7019 ]
}
welcome to typescript
now this is where i leave you be
thats a type error btw
do i follow that guide
where
ts errors should show up in your IDE already
use google to fix them
src/index.ts:44:26 - error TS7019: Rest parameter 'args' implicitly has an 'any[]' type.
dont forget to install types for packages that dont have them yet
(they should alr have types)
Find TypeScript starter projects: from Angular to React or Node.js and CLIs.
@grim flare
i'm having so many issues
wanna do a shared code session on vscode
install this
Name: Live Share
https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare
noExplicitAny 
i recommend you do not ask random ass people to do shared code sessions (yearning for the day someone completely destroys your pc with this)
You can turn off terminal access
as in, stop them writing into your terminal
iirc terminals are set to read only by default 
DONT count on that
exactly
1 minor bug and boom
someone runs rm -rf / on your computer
@frosty obsidian
@deep mulch sentenced to debug coroutines for a week
Better than debugging threads
they're both asynchronous programming
Yeah but coros are domesticated asynchrony
genuine question, im dumb and i wanna learn C, but idk what i should try to make, uhm i know like the basics for C and would like some sugestions
make a very simple cli text editor
Why do you want to learn such an archaic language
what else wshould i learn
i know python basics
id rather kill myself then learn java or JS
heres why
fuck wrong channel
its very shrimple
theres not really anything to learn
its so shrimple
adventofcode like always
c string manip 
π
make tic tac toe or smth idk
that was my first c project
Done that in one day
I wont use C in aoc again
1st day of optional html/css classes and i've been told they were expecting a bit of experience. i have been staring at my screen for a solid hour wondering how these people are resizing several images at once.
so yeah its going awesome :D
how long do yall think it will take me to figure out
You mean you are receiving education in html/css, or that you are learning about html class attribute
its just called "frontend" and i think its meant to be html/css education
remember your solution randomiser
generated new random solution every time
if you had run it often enough eventually it would have gotten the correct solution 
use unsafe rust, without safe rust
you will
only unsafe operations can be used

