#๐พ-core-development
1 messages ยท Page 3 of 1
i'm saying make the patch like js createElement(a.X, blah), ...Vencord.Api.MessageButtons.getEntries(), createElement(x.Y, moreBlah)
and that method just has to return an array of elements
yop
insane
gu
There is still some risk but it's small
ok?
but then u are probably paranoid
thats the same as saying theres a risk of using vencord
?
If you'd think it'd be dangerous you would probably be paranoid since it's a very small chance
bro really said Your device is at risk. By installing applications from unknown sources you put your device at risk for cyber attacks, malware, and data theft.
Well, client mods expose the possibilty of a dev capturing your data. But then again, most aren't made with evil intent and if they're open source, you can vet the code
If they're not, steer clear
well it is, but most of the time it's a small risk
naruhodo
it is react, so we can have state
good thinking
but that'd mean that i have to properly document and expose some stuff
agh
well if you're that scared then just leave
What? I never mentioned Vencord once
oh misread
anyways my point still stands for other projects
Just read the source for any kind of client mod, not just dicksort ones. Knowing what you inject is a good idea in general
alternatively, squash and merge
ven using yarn??? illegal
it was him
him
him
original video from narpy (with a cat instead of blahaj): https://www.youtube.com/watch?v=X8avbciUP3c&ab_channel=narpy
music: https://www.youtube.com/watch?v=kd4pXdLsvPY&t=0s&ab_channel=ikereviewsnumber2
blรฅhaj model: https://www.reddit.com/r/BLAHAJ/comments/rkul4y/blรฅhaj_now_on_ps1/
yarn v1 will be detonated
โญ
ok @quaint sapphire i think commands api done
check it out and see if u wantany changes
uhh actually i gotta add commands category ig
i will figure that out
but other than that please check
this is BUILT_IN_SECTIONS
ok pain im just keeping the command in normal section for now @quaint sapphire
iirc powercord/betterdiscord had other sections
but i fml cant find their code for that
and even if i find it, it will either be broken or use a huge lib
Enmity too
did you insert to the dict?
cause this doesnt work
iirc there are multiple dicts with the categories
maybe we could trick discord into thinking that it is an external integration
there is even a store for the categories iirc
by intercepting the api calls it makes for the categories
they dont have slash commands bruh
so many patches lmao
ven loves pnpm inject
wtf megu push perms but no admin
fr
npm inject ven
TRUE
pnpm impale
i am an edit person
mistake? what mistake? i only see the (edited) at the end
yea but we've found it already
builtin sections is the same module as built-in commands iirc
we might be able to send events to register applications (aka categories)
@austere talon
lemme attach a debugger there and see
APPLICATION_COMMAND_SEARCH_STORE_UPDATE 
my brain is too smooth to find out how to use them
t is the module this function is in...
so its weird that applications is passed the module
function updateRegistry(commands: ApplicationCommand[], applications: Application[], channelId: string)
presumably its just overwriting t lol
the thing is, will we have to do that on an interval?
just funny swc things 
cant you just patch this function and applications: [...t, { custom application }]
t is the module with that function
t is not the applications
dunno why it is named applications
it literally passes an array of applications tho
in the source it's literally just a function directly exported from a ts file
there is no class or anything
it's just a utility function
trol
i will replace eslint with ctrl k d
ctrl k deez nuts
why does the the ven ignore the second the
eslint deez nuts
I was so confused and then realised...
human brain moment
what
why does the the ven ignore the second the
Why do they call it oven when you of in the cold food of out hot eat the food?
true
because I decided it should be called oven
he looks like the when a was
isn't there a template workflow for lint check
has to be
does github actions have pnpm?
- why do people use actions/setup-node, actions comes with node
updated version maybe
h
megu actions
skill issue
how do u get it to comment the issues
I will set up an action that comments h whenever a pr is merged into main
trolley
epic
spaces between func name and params is evil
yes
powercord eslint config manages to combine all the worst rules
it's pretty funny
powercord eslint config be like
const s = 'i\'m in love with escaping \' quotes'```
@austere talon just for curiosity, if you have a component that you made, and would like add it to a patch, how would you do that?
like add ur own component to discord?
yes
put it on ur plugin object
wuh
renderBanana() {
return (<div></div>)
}```
then call it from the patch via Vencord.Plugins.plugins.YourPlugin.renderBanana()
makes sense ig
do plugins support tsx
okie i will use
just the index needs to export the plugin
plugins can be an entire react project 

bruhhhhh
time to embed xMeerkat into discord
Also updates BANger to use Xinto constant from utils

INSANE
does that even work
it should reuse the same string over and over again
Yop
It fills up memory and then electron relaunches
I think the relaunch happens because of ANR tho

OH FFS
because im stupid and dont know how to use git
just push to same branch
no need to close pr
yeah yeah, i had to remove an if statement too
lint --fix moment
If you want more control of the size you can just make a bunch of uintarrays or whatever they're called
sussy
you know it's a good lang when it has 3 morbillion different ways of memory leaking
you should obviously add an npm dep of pee.js so we can use it ootb for all our memory leaking needs
okay that is good
I love thjis
trol
You did indeed generate a memory leak
bruh this kinda sucks
I honestly prefer my method
btw when is ephemeral support going to be added
or wait
trol
you would have to make the command the type that has no response, and then call the send bot message func urself
yeah honestly I prefer the plugin as it is rn
no need for Buffer.alloc and shit like that
this one works perfectly as it both freezes and crashes the client
If you want more control of the size you can just make a bunch of uintarrays or whatever they're called
I don't think I'll ever need that, as I want the plugin to do more than just fill up memory (such as crashing and freezing, which it already does now)
quick question, why the fuck are you taking a plugin that's literally designed to fuck shit up so seriously
it has to do it in a stylish and epic and pro gamer way
If you want more control of the size you can just make a bunch of uintarrays or whatever they're called
I don't think I'll ever need that, as I want the plugin to do more than just fill up memory (such as crashing and freezing, which it already does now)
That's fair but if you allocate like a million megabytes i'm pretty sure the app is gonna crash and burn no matter what you do
i think eslint has some options for requiring types and stuff too, helpful for people just starting with typescript
quick question, why the fuck are you taking a plugin that's literally designed to fuck shit up so seriously
??? The only thing it'll do is crash discord
That's fair but if you allocate like a million megabytes i'm pretty sure the app is gonna crash and burn no matter what you do
I think that is fine unless maybe @Vendicated wants me to change that
its just a silly plugin
silly goofy plugin

thanks, ill look into it :)
it was broken by one of the latest discord updates which renamed some functions related to nitro
175c1a7 fix(plugin): fix stream quality bypass in nitro... - reflexguru
LGTM, although I wouldn't iterate over each character, is there a particular reason that you did it that way?
LGTM, although I wouldn't iterate over each word, is there a particular reason that you did it that way?
check the if statements. I'm uwuifying them by some rules, tho they're simple but they prevent words from being over-uwuified and being unreadable
for example, if we have uwu as the input, without the checks, it'd become "uwuwuwu"
could go overboard with the uwuifying take a look at this
https://aqua-lzma.github.io/OwOify/
OwO whats this? OwO Translator, browser and discord extension? Now everything is cyute! UwU

this should be easy enough to do actually
ill add the texts to the "endings" array too
I love and hate it
Why is penis not being replaced by bulge?
I COMPLETEKLY FORGOT ABOUT STUTTERING
oh no

I hate owo and uwu shit so much, but it has its comedic uses for sure
actually dont merge yet please, i forgot to add some features.
Wiven you'we so coow hehe OwO
you're welcome

OwO chu awe sooowo cyuutee >w<
OwO chu awe sooowo cyuutee >w<
Does JSL mean nothing to you?
I know nothing about it
You should watch Koe no Katachi. This was my only takeaway in JSL from the whole movie, I can call someone an idiot now 
Lit.: "Baka"
amazing
It's important to prioritize the right things in life. Like offending people and becoming a better pirate
awesome desktop app for anime is Miru
Honestly all I need is qBT, mpv and taiga
I even unlazied and fixed my broken script to handle playlist creation, updating and deleting
Animation studio production when
real
Downloads or streaming?
streaming

I wanted to use av1 to save storage but dont have decent hardware
anyways no ads and decent quality 
there aren't any good consumer level av1 encoders
also av1 decoding would murder the battery of any mobile users

AV1 implementations are not yet mature. It's a good option for streaming, but calling it good quality doesn't sit well with my precious encoding effort
lol
anime download sites encourage a lot more legal trouble than streaming sites
:>
Torrents are a pretty safe option
ye
Doubly so for VPN users
but im not talking about torrents
Hence my need for qBT 
๐ค
my anime site doesn't work properly atm
and i cba to fix it
so its functionally dead
user count
Oh damn, gigachad Wollfram patched the DFTTest2 filter within hours of a bug report
It's in a state of suspended animation for a yet unknown amount of time 
troley
Nice stats. What site do you run if I may ask?
its a lot of effort maintaining a streaming site
kitsune
but it's REALLY dead and has been for a while
I'm aware. So is fansubbing, yet we do it out of love for the media
extensive system & ui designs for a rewrite exist
but just no time and effort to do it
That sounds hella familiar 
wonder how many months this has been up while the i do not upgrade anything 

Chad move
"we're not maintaining v1 while working on v2" does not guarantee v2 will ever happen. Smart move
crazy
and then i lost motivation โจ
the only usable thing from kitsune atm is a transmission lib i made
https://www.npmjs.com/package/@kitsunetv/transmission
it has a very specific use-case so it's missing a bunch of things
Honestly though, I prefer spending what little time I have on a digital legacy. At least that'll benefit someone
Much better than burdening society with offspring
Download more storage
true
download more ram
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
this is how i'd refactor this
const endings = [
"owo", "UwU",
">w<", "^w^",
"โwโ", "โwโ",
"๐จ๐๐จ", "(ยด๊ณ`)",
"โฅ(ใU ฯ Uใ)",
"(หฮตห)", "*screams*",
"*twerks*", "*sweats*",
];
let text = "Hello there, how are you?"
Array.from(text.matchAll(/[A-Za-z]+/g)).map(([word]) => {
if (/[OU]w[OU]/.test(word)) return [word, word];
let uwuified = word;
if (word.includes("u")) uwuified = word.replace("u", "UwU");
els...
that doesnt include the word replacements, also you missed a few checks
that doesnt include the word replacements, also you missed a few checks
yes, i did not see your commits when i was doing my refactor
that doesnt include the word replacements, also you missed a few checks
checks like?
words shorter than 3 characters are dismissed, checking if the word has been already uwuified to not uwuify it again
also, the letter o or u may not exist in a word, but you change isOwo to true either way, so you ignore some words
yop based
checking if the word has been already uwuified
lmao, you don't know how to chain if statements together?
if (true) {}
else if (true) { /* this wont run, because the previous if condition was true */ }
since you split on space

words like love! wont be replaced, because "love!" != "love"
somewhat intentional. to prevent over-uwufying
checking if the word has been already uwuified
lmao, you don't know how to chain if statements together?
if (true) {} else if (true) { /* this wont run, because the previous if condition was true */ }
that is actually something I missed in my code. i have to check for isowo in at least have of the statements to again, prevent overuwuifying
gosh give me a break im dyslexic
and have anxiety
and have adhd
im just fucked ok gimme a break
smh
If I were you I'd move the if statements that don't use isOwo up, and just return instead of relying on isOwo
its good enough nowwww
@Vendicated don't merge until the line count is at 69 once again
so are you
woah @fierce gale starred crazy

when merge
merge wha
UWUIFIER
When the line count is at 69 once again
i will literally steal your cock
You can reduce the line count by removing the newlines in the endings array
i will literally steal your cock
that's not much nice, stealing cocks is bad
It would be interesting to have a plugin/css that puts all the discord user settings within tabs in the discord home menu.
wha
docs docs docs docd
docs docs docs docs
cocks
๐
gluck gluck
you love
@austere talon loves megus installation guide
i love github's diff viewer
no in this case it's mostly just because github is deranged
it's a block edit so no, its normal
if it was one line then it would be different
whyre you using split diff view
because it's the default and i don't use it enough to care
unified + ignore whitespace changes
i told u
@umbral hedge W docs docs docs docs
A necessity for any OSS project tbh
I don't wanna go too in depth since most stuff is example'd in the existing plugins
I'll go read 'em
but i think its good to guide people into at least starting one
Deffo is a good introduction
Deffo is good for introduction
we don't need this, just tell aspiring plugin devs to get gud
we don't need this, just tell aspiring plugin devs to get gud
:trollface:
you will continue the plugin guide plugin guide plugin guide plugin guide
same
i accidentally made the comment on the commit and not the PR
github is really quite goofy
I think I'd add one or two real-world examples from very minimal existing plugins tbh
As in, the short patch lines. The ABC one is... Not very helpful imo
(might also wanna link a regex cheat sheet, or some regex testing env)
yop
https://regex101.com is already in CONTRIBUTING.md
Where the fuck do I find messages
what
someone didn't read the docs well enough
But what if I want to write plugins without contributing?
complete and utter skill issue
also you legally can't because vencord is licensed under GPL3
and we WILL sue you if we must
(real)
I legally can if I don't redistribute my plugin for a fee or publicly
Since then the private use clause kicks in, leaving me under no obligation to share the code I write until I make it available to the whole world
I have no fucking clue what I am doingโข๏ธ
I think I found what i need
But cant be 100% sure
trol
Apparently already patched by MessageEventsAPI so I must be in the somewhat correct place
as long as you're not redistributing modified repo privately then no problem
just share patches instead
gplv3 gon
I mean you can
i don't care i'm gonna sue regardless
Got sidetracked
ven will blindly merge my token logger
anyway the sole reason I chose gpl was because powercord Cynthia kept crying about gpl and how it apparently isn't a valid license for discord mods (bullshit) and I wanted to be a little silly

how
and why
now if you want to change license you have to ask every contributor if they approve 
it apparently isn't a valid license for discord mods
lmao
"discord is proprietary so you can't make something for it with gpl"
complete and utter skill issue on sleepycat's part
Google vs Oracle

Giant Penis License
but it doesn't work that way lmaooo
if I were a discord copyright holder and distributed the gpl thing together with it then yeah
Vencord doesn't contain proprietary code 
iirc you need to use GPL to link with GPL code but not the other way around?
idk ianal
something something linking to proprietary apps something except I'm literally only distributing the gpl part. Yes I wouldn't be able to distribute prebuilt client that contains discord and my mod but I can't do that anyway cause discord isn't mine so the entire argument is just dumb lmao
anyways it looks like there is no counter for the sticker ratelimit thing in the app 
cynthia dum
megu cum
can you believe GPL wasn't made with the ability to runtime patch and hook into proprietary code in mind
isn't agpl for linking without same license
And this is why I'll neber contribute. Well, this and JS
Affero is a lot more lenient, yes
okay so i now have legal footing to sue again?
MIT and Apache too. Mozilla is based
you have to license it under GPL private or not 
Also yes, you can use a GPL program to modify non-GPL stuff
There are other options. Not many, but still
no that's LGPL
oh what's agpl then
same as gpl plus network counts as distribution
meaning if an api is agpl everyone consuming the api has a right to the source code
meanwhile with gpl the source code only has to be distributed along with the application so if you host it on your server you don't have to give anyone the source code
Also think about something like databases
basically if you in any way interact with an agpl program over network you have a right to the license
so agpl is useful for websites, apis, servers, anything network related
settings page crashes on AliuRN 
doesn't
does
do u have an outdated build in /sdcard/AliucordRN
that folder doesn't get deleted
cring
e
kk ill delete old folder
not cringe
that folder contains settings, plugins, etc
people will cry if that folder gets deleted
plus it's less than a MB so who cares

no fun
i hate smart lock so much
it auto logs me in on a throwaway acc i use for uni
it doesn't even give me the option to say no
i open the app and it just logs me in
normally it asks
samsungware
it seems to only do it with discord
google*
megu will give me their uni discord account name
Eitther way it's malware
what is
i love getting mysterious white screen for a few seconds when going on the login page
Smart lock
aliucordrn stealing my username and password 
(and aliucord, hang the dev
)
hug the dev*
Both?
ok so im guessing its normal that the aliucord submenus dont actually open
yop
nvm seems to just be broken on first login
worked after restarting

Time to ammend the troubleshooting section
"try reinstalling and then try restarting again"

and that the fork starception starts
plinko ๐คจ
@gentle sierra This for you
I guess
ty
possibly make this remove ptb links as well?
does it remove on send or on copy?
onSend
ah
that's a bit uglier visually but i guess that'll do fine
Will do now. Plinko, I guess
thanks anyways
Thank you
probably best to check for discord.com/discordapp.com only, so it won't mess with random stuff
/(https?:\/\/)\w+.(discord\w*\.com.*)/ => $1Vencord.$2
Added
Updated to remove PTB from onSend event, and also made it check for discord. and discordapp.
This has another benefit btw. It'll break a fair few scam links too
I broke it LL

nvm broke it. Plinko, I guess
GG
Comment of shame
never NEVER mind it was just disabled cause of new plugin name
yeah
very pride in you
that was a rollercoaster of emotions
@austere talon you better accept this pr, best pr i have ever created ๐ญ
what's Plinko?
idk if that would be good idea, because that becomes wishywashy with other discord apps iirc
anything you put in front of discord.com is a valid prefix yes
counterpoint: https://๐๐๐๐๐.discord.com
MOTHERFUCKIGN PUNYCODE
nvm, i forgot developer isnt a subdomain
punycode ruining my point fr
didnt know anything is a valid prefix
damn
^
because no onReceive event
I was working on it
but stopped to work on the canary remover
even tho it is one line of code
and i lost the code
what?
what what
slight issue: that's not how the vencord message events api works
it only gives you messages that you're trying to send atm
^
if you want all messages you can subscribe to MESSAGE_CREATE event
thats literally what i was doing
then you should understand what I'm saying
whatever
how is this so difficult to grasp
it isnt, its just that i dont want to dedicate brain power to it rn
Can I just point out that vendy's prefix is the only one that actually works with the embed thing?
whoa
is that a plugin or what?
seems cool
also if you break punycode enough it also doesn't work
That's a pluginnye
next plugin idea: add a custom prefix to message links
just got it, neat
they all work
just the plugin doesn't handle them correctly or smth
idk i made it ages ago
Maybe time for an update lol
https://๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐ฅบ๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐ฅบ๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐ฅบ๐๐๐๐๐๐๐๐๐๐๐ฅบ๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐.discord.com/channels/1015060230222131221/1015063227299811479/1028082279534309446
Oh that one worked
Pattern.compile("https?://(?:\\w+\\.)?discord(?:app)?\\.com/channels/(\\d{17,19}|@me)/(\\d{17,19})/(\\d{17,19})(?!>)")
that should work fine
-35 characters available to edit with
theyre default emotes
it resolves itself after i add a character lol
Lol
no these aren't the emotes
they're the actual unicode characters
Discord being a well made app challenge (impossible)
doesnt work on pc
same thing
Try slash evasion
xn--ts9h
oh how i love punycode
Eewwwwwww ๐คข
i know that they work like that lol
do i do it?
yeah it uses your system emoji font
How do I install twemoji systemwide this making me wanna puke
\๐
\๐ just deal with it
actually idk what my system emoji font is
noto probably
I wanna switch OS's but there's no compatibily with my device
So I'm stuck with default Samsung emoji
@austere talon so you want me to make my plugin so that it removes any subdomain?
Wat Linux is this? Looks cool
Grrr I hat autocorrect sometimes
Really dude, you gonna correct the word hate?
ArchCraft
Never heard of it. Been meaning to install arch though
docs docs docs docs
docs docs docs docs
megus guide isn't idiot proof because people will run commands outside of vencord folder and wonder why no work
D:
I wonder how they get vencord to work at all
not yte
waiting
alr
I literally loaded into Desktop client when this got pushed lol
why do people even care about canary/ptb links
i genuinely have no clue
just made it because someone asked
what?
Thought I made it stop matching unrelated links
yeah it only matches with discord. and discordapp.
anything else is probably a phising site
https://%28/w+/.)?discord(?:app)?.com/channels/(?:\d{17,20}|@me)/\d{17,20}/\d{17,20}
what?
i dont really see the point tho
cnaary
trol
anyways, i guess adding /channels/ as one final hurdle to filter out completely unrelated shit is good enough
Cuz canary links open canary discord. even if youre on stable. Again, if discord was a well made app....

Noice
discord sub ๐ณ
what kinda sandwich is a discord sub
guys lets not get too excited
Discord dom ๐
it stands for submissive, not subdomain
discord switch
Wait discord is copying Nintendo
no
A person who vaccilates between dominant and submissive roles within sexual relations.
Ah yes, a bird, no a plane, no...its a joke that flew over your head
I can type I swear
Welp, guess what I'm boutta do
what ss software are you using tf
only seen image borders on sharex
but the os you are using doesnt look like windows
there we go
@austere talon https://regexr.com/6vlv8
wtf
feels bad directly taking your regex
why
what the fuck
Just give credit
your regex brokie
why
Not my problem, backing out.
missing a chunk of beginning
or smth
ehh ill figure
show error
I mean, might work in code and not in browser where i am testing
do what it says
escape the slashes
and %28 is supposed to be (
https://(aa.com
mmm
idk why it work now, earlier it was changing the ( lol
nah all good
alr
all done ig
discord checks for
/^\/(invite|template)\/([a-zA-Z0-9-]+)\/?$/
/^\/channels\/([0-9]+|@me)\/([0-9]+)$/
/^/events/(\d+)(?:/)(\d+)?/
on discord.com and discordapp.com and just ignores the subdomains

trol
That's probably because it doesn't match the invite template
it does
Isn't that usually discord.gg slash someinvite?
the point of the plugin is to cut out canary and ptb
preventing this is offtopic for the plugin

๐
๐

it's a pr
pull it
the term is merge
pull and push it
bop it
squash itt
plugin to reply to messages using telegram keybinds (ctrl + direction)
sleep well
Adds a convenience property css to PluginDef which is added as a style tag to the head when starting.
Adding it as a property allows for people to either embed it within the plugin file or put it externally, like at plugins/messageLogger/index.css which then can be imported as import css from './index.css'
epic lint fail
epic
it's the Spotify Plugin
To see what this does and doesnt filter, click the below link
oopsie
https://regexr.com/6vlv8
Slightly confused here - if people wanted to mutate document.head in start() and stop(), we aren't stopping them. CSS Modules are practical for loading CSS in TSX files, and can easily be applied to document.head, SoI'm unsure of the use-case for the PluginDef.css property.
LOL WHAT
๐

WHAT IS THIS BRO LMAOOO https://github.com/yazukii/GeorgeAssistant/blob/48f539ab6c35388e8ed439e069018976c1764a1e/index.js
absolutely insane

I hope without the George Floyd part 
Deffo without the George Floyd part
God do I even wanna check what those gifs and videos are
it was for a minecraft mod clients discord server
It got common keywords from your messages and gave you a retar role if those keywords matched a common question
Wouldnt even give you an answer

And also, everything used its own client.on
I LOVE EDGY HUMOR
I think i still have the source
@swift fjord will selfhost
nop
cum assistant
kids these days automating racism
never heard of a switch statement
Top coder moment

RETARD
ven when pulling my plugin
soon

Reading these comments was a rollercoaster. Plinko, I guess
@austere talon hop on
did u implement css modules


