#👾-core-development
1 messages · Page 143 of 1
actually i think they specifically mentioned that issue
hm?
i discussed it with them before and i think they actually mentioned tupperbox not having an API
then yeah its impossible
i mean can still do uhhh
pluralkit and other bots that do have APIs
and auto-nicknaming and switch tracking
can you add plugin in vencord? officialy
im not developing the hide channels plugin
it's not something i want to make
plurawrlkitty themselves have one :3
DAMNIUT I KEEP FORGETTING I HAVE THE CATSPEAK TEXTOPKLRWEACE
XDD
oh
well yes but i mean
gj
idk its available i added it to a server and tried it out
i think im using it there actually- i forget tho
hmm
shrug
i still think it would be a cool plugin to have
even if, for now, it was just a pluralkit helper
How can I update Menu.MenuCheckboxItem on click?
Currently it updates only when I close and open context menu again
import { Menu } from "@webpack/common";
import { addContextMenuPatch } from "@api/ContextMenu";
import { definePluginSettings } from "@api/Settings";
import definePlugin, { OptionType } from "@utils/types";
const settings = definePluginSettings({
foo: {
type: OptionType.BOOLEAN,
description: "",
default: false,
},
});
const contextItem = () => {
return <Menu.MenuItem
id="my-context"
label="TestMenu"
>
<Menu.MenuCheckboxItem
id="my-context-foo"
label="Foo"
checked={settings.store.foo}
action={() => settings.store.foo = !settings.store.foo}
/>
</Menu.MenuItem>;
};
export default definePlugin({
name: "ContextSelect",
description: "",
authors: [],
patches: [],
settings,
start() {
addContextMenuPatch("message", children => () => {
children.push(<Menu.MenuSeparator />, contextItem());
});
}
});
dunno, we haven't figured out a good way to do that
But is there any way of doing that? I'm ok even with a dirty workaround
Hi is it possible to do a plugin like when a friend :
Change statu / go in stream / screenshaare / hearing x on spotify etc ?
I don't think one is existin on vencord
what?
Yes having notification in desktop from friends, when they swap statu / online/offline/hearing x oon spotify / live on x etc
Its possible with another modclient but not available on vencord it can be cool
fix emoji has name default cause discord explod
step to reproduce:
- create emoji with name
default - search some emoji in chat by typing something like
:abcdef - watch your discord explod :trollface:
aint no way
LMFAO
cant recreate but i would believe discord is capable of pushing such a stable update
as comical as this would be to fix for them, we shouldn't really be writing patches for their own broken code in the first place (yes, we have other "fix" plugins, but in reality they're actually just features disguised as fixes), especially since what this targets will be fixed in one or two client versions
also, this doesn't seem to happen for everyone, so it would be confusing to introduce such a plugin to fix a non-issue.
yes, arguably, modding the client means we are having to deal and work with broken code sometimes, but we're mostly adding features or fixing minor things, not trying to fix critical bugs in the base client
Ig some people don’t have it because they don’t have an emoji in a server their in named ‘default’
and again, because this is happening, discord will most certainly push out an update to fix this, so it wouldnt even make it into vencord main before this becomes an unneeded patch most likely
i do
but it doesnt crash
so i dont know
selfbotting tupper's dms 
and there is an api to a certain extent, the dashboard exists
it's just not public or documented
(not as if that's a barrier to entry in vencord, considering the translation plugin uses a random google api that also isnt officially public or documented)
one day. i promise
soon™️
c2f7244 docs: remove discord invite at bottom of devins... - lewisakura
the CLI command was changed because the script is just a wrapper around downloading the CLI installer, which we recommend getting directly instead.
95% of systems where the gui doesn't work also have such old powershell, that Invoke-WebRequest and Invoke-Expression are not available, making the script / command not work. For that reason it was changed to manual download
makes sense
cause this isn't the support channel
i dont understand why that build on cloudflare failed
it spent a really long time doing something and then errored
as someone who's been working a decent amount of #🏥-vencord-support-🏥 lately this doesn't seem to be accurate, a lot of people have had success with the oneliner
i cant see the logs since i dont have admin rights on ven's account but
rerun the deploy!
there's a PR for the plugin but the select isn't mutually exclusive anymore (it decides to ping all or specific dynamically)
But what if I want to ping everyone except a specific person >:)
nice thanks
unselect them :)
But were they not mutually exclusive? :o
@turbid hatch users already use allowed_mentions (client just sets parse to everything) so as far as i can tell sending users & roles fields should be safe
use this for images, the site won't load them otherwise: https://github.com/Vendicated/Vencord/issues/1749
Steps To Reproduce
- Go to any channel/group/chat.
- Start typing an emoji name. For example
:sk(for the:skull:emoji) - Type another letter, try to delete one, etc. will make the app crash and you will be met with a white screen and sometimes a Vencord notification warning telling you the app crashed.
What was supposed to happen?
Once continuing to type the emoji name it should refresh the list of available emojis which appears above the chat box. It shows emojis with a ...
cannot repro latest vencord
having this happen as well joined to see if I could install previous version lol
Not vencord, discord issue
Some people have it some people don’t
It’s really inconsistent but it’s not a vencord bug
Prob some race condition
appears to only happen when an emoji is called default
Yeah
Someone said it happened to them and they didn’t have an emoji named default
regardless it's a discord bug
doesnt matter what the causes are right now, we know default triggers it but there are potentially other things
Add it to Tessie
Tessie w

I think I can make crash handler close the emoji popout and recover successfully
maybe clear the text being typed too
i can't get my plugin to work on the discord client. any ideas why? it doesn't show up in the pkugin list
i got mentioned
@limber skiff if it's you maybe you could help me with the issue i followed the 1_INSTALLATION but i don't see the changes on my client even after CTRL + R
@austere talon can we have a push to main, this last commits helps with discord emoji picker crashing
it runs on the default folder for some reason and not the dev folder. why? it doesn't work :<
Read the warning on top of the guide you read and also read rule 5
oh okay
how do i access discord source code?
You cant
so how do i make patches
can you show me an example so i'd understand the basic idea of patching?
i looked but didn't understand how they found the patches
oh
so should i use the web and not the app?
can we go to dms? @spark pivot
if it's okay
because i found what i was looking for but how do i find the patch
read this, its pretty useful for all client mod devs
https://docs.betterdiscord.app/plugins/advanced/webpack
tyyyyyyyy
Create your own presets to reply to recurring questions in DMs with one click.
Demonstration
https://github.com/Vendicated/Vencord/assets/30734036/ee22cbe5-a9f1-448c-991e-34e86b95a47e
just use MessageTags?
These is a great starting point
https://github.com/Vendicated/Vencord/blob/main/docs/2_PLUGINS.md
https://github.com/Vendicated/Vencord/blob/main/CONTRIBUTING.md
However it only scratches the surface, there is a lot that could be added there
MessageTags basically does this
If you wanted a UI version (why) you could just add a button next to the message box
Ye i looked at that but betterdiscord covers way better than this. Also, I'm trying to find a way to call my function the render of the member rows. Will look at that tomorrow because it’s getting easier than before (I'm looking at the code of roleColorsEverywhere)
Ty for the help tho :)
Adding react components is usually performed via vencord api, rather than a patch. MessageLogger adds a decent context menu, you might wanna look at that
Can you send me a link?
Btw i don’t want to add a component there but to check whether the user is blocked or not and render it accordingly.
It patches there i see
NoBlockedMessages might be helpful
https://github.com/Vendicated/Vencord/blob/main/src/plugins/noBlockedMessages/index.ts
This is the wrong link but found it anyway
Btw what is this?
Oops, edited in case someone else is curious
It's not documented, but actually it's one of the most helpful things that you are gonna be using to access internal methods and fields. The basic explanation is written in javadoc in @webpack, but as a practical example, here: #👾-core-development message
what
javadoc?
@warped turret about that?
Nvm saw you explained
this comment block is called javadoc, no?
jsdoc
but the syntax is the same, alright I'll keep in mind
javascript is just java
@wind pecan
I fixed CustomSounds but i pinged you in the wrong channel and i realised it would get lost 😭
sorry for double ping
huh, there's still a merge conflict after merging
what github
all good, glad to hear it!
now to try and finish the plugin! 🎉 🎉 🎉
wish me luck
i will probably forget about it again xD
hey @limber skiff it's getting pretty close to december, is there any chance you can review it today or tmrw? I'm sorry to keep asking
why is this needed @junior olive
ah
I'm aware this has probably been suggested, considered and, likely, denied due to security concerns or whatever... But would importing online plugins from links (such as Online Themes) be useful?
afaik the only way of installing user plugins is cloning the repo, adding, building and injecting, and the vast majority of users find that a hassle/too complicated to do, so this would probably help user plugins be used more... However there could be security implications, even though the risk is similar to downloading, cloning, manually adding it and pnpm building
no
why wouldn't you just have a plugin folder like bd?
and that PR was closed iirc
@junior olive im like half way into reviewing but I need to eat rn so I'm gonna resume later
if they use win 7 one line wont work
no worries, just please don't forget
enjoy ur food!
would it work if it wasn't using the shortened commands
iirc it throws could not create ssl/tls something because old powershell
does decor on vendetta use zustand too
what was easier to make vendetta or vencord
vencord once i got the hang of the api
they were both easy i just had prerequisite api knowledge on vendetta
does vendetta version even have all the feats
yep
looking at your patches I feel like it would be a bit complicated to do with monkey patching
A lot of the patches are done differently
like the vendetta ver still does hacky userstore shit
and probably will continue
oh
and you can ignore the UI related ones as i made the ui myself on vendetta (it was pre-them adding a ui)
i can prolly use their ui now but ill wait until i redo vendetta ver entirely
force loading isnt a thing on mobile
I know
everything gets loaded
Oh
we have full range 🔥
naw not worth it
lucky 😒
true
kinda
they use hermes
which compiles to bytecode
it can be turned back into pseudojs
can you send a screenshot of how it looks
In a bit yeah
terrible
it's like assembly in js
anyway tbh decor is kinda overengineered / convoluted
how do yall even find stuff to monkey patch
how
we have modules we can look through just like webpack
is it like how modding used to be done
Yes
yeah that's what I thought
and if your module isn't ui related, chances are it's the same as on desktop
yes
damn it would be a disaster if it was mangled
yeah how would you even find stuff without it
it kinda is if no variable has a proper name
I only discovered what webpack .O did cuz ven found the documentation for it
Why do you think no variables have proper names
module exports are usually proper names
I knew it had to do with chunks but I had no idea what it did with them
I dont think it's like that
I'm talking about if it was like that
ah
like if in a future they mangled them
well it's not xd
that would be a issue
but thankfully they haven't ‼️
can you please elaborate in what sense (the api, the ui, what) i have not waited a month to get told that
it's just really overengineered
i haven't looked in a while but you definitely do not need zustand for example
zustand is nice and makes state easy as fuck
doesn't react already do that?
no the auth store and users decors don't need to be zustand and we can change that but seriously it's fine
i'd rather use zustand than deal with global state management myself
no point reinventing the wheel
react does not have a state manager built in thus why flux was invented
but then redux and zustand came around and deprecated flux
brother you just need a super simple hashmap and a force updater
it's like 10 lines of code

zustand is fine..
its not like im adding dependencies (type dependency doesn't really count) it's using stuff in discord
(all three of these are in the client)
can you make the other 2 stores not zustand then
I do not live in JavaScript land 😭 discord already seems to use flux though
unless it's gonna be way worse, I don't actually know
i mean sure i had them as zustand stores for consistency and just.. ease
I mean auth store does use zustand persist right
ehh it's whatever keep them as zustand
thanks
it's gonna take a lot of work to change prob
I already have some stuff I will request changes that will make the plugin less confusing
it's not tons but i think they're fine as zustand its just like.. you couldn't have told me this a month ago?
@junior olive does discord use zustand to persist store stuff
ntts will be so happy when the merge button is hit lol
me too
only 2 calls?
definition and usage
idk if they use it more i don't have everything loaded
why
curious

NoTrack (found no module):
ID: -
Match: window.DiscordSentry=
None
None
None
NoTrack (found no module):
ID: -
Match: window.DiscordSentry=
None
None
None
Just as an FYI, this PR isn't ready as-is. The documentation for portainer needs to be added. I'll write the documentation if the PR becomes approved.
@junior olive BRO
wassup
THE UI IS SO FUCKING GOOD HOLY SHIT
:DDD thanks
You should put your images here instead https://github.com/Vendicated/Vencord/issues/1749
FluxDispatcher.dispatch({ type: "USER_SETTINGS_MODAL_SET_SECTION", section: "Profile Customization" });
usersDecorations.set(userId, { asset: decoration, fetchedAt: new Date() });
set({ usersDecorations });
useEffect(() => {
const destructor = useUsersDecorationsStore.subscribe(
state => {
if (!user) return;
const newDecorAvatarDecoration = state.getAsset(user.id);
if (!newDecorAvatarDecoration) return;
if (decorAvatarDecoration !== newDecorAvatarDecoration) setDecorAvatarDecoration(newDecorAvatarDecoration);
}
);
if (user) {
const { fetch: fe...
import { Flex } from "@components/Flex";
import { findByCodeLazy } from "@webpack";
LMAO HERE WE GOO
LOL DISCORD

@limber skiff for all the set and map concerns: https://docs.pmnd.rs/zustand/guides/maps-and-sets-usage
you know this is actually
a surprisingly short list
messagetags wont work lol, ima find a plugin rq
does that mean you need to create a new
Following React's best practices, you should create a new Map/Set when updating them:
horror
i was just following this
it's fine though you can keep creating a new one
bet
you can still apply the rest of those suggestions since removing the creation of the new maps or sets is only a part of it

also
i have them in the decor repo cuz idk im tryna keep the decor assets all there
shrug
maybe you should move the file that creates cl into the ui folder
yeah we wanna have our assets in one place
wrong
another pr has this
i have this util until their pr gets merged
and then decor switches
ugh
what else uses it
how do i install vencord dev
well
vencloud
ok
why make zustand common? what else uses it
YOU CAN DO THIS??
how do i install devbuild
nothing but it's too generic to be inside a plugin
vns
it's like each plugin defining their own search for React
yes
what
receive always fucking trips me up
who can help me
ok this review isnt so bad
how do i install devbuild
@limber skiff i fix all this then merge ⁉️
how do you be patient
I will do quick look then sure

no more waiting
ok, is there a youtube tutorial then
no
well I cant cherry pick autumn commit sadly
lets use custom util then move to autumns when theyre merged its fine
nah I will just do it
oh ok
should i move to ui/index.ts
before it was 3 files 💀
the util, then one for each require
sure
horror
ok
I hate too many files
i love files
someone made a plugin and it had like 60 files
thats so decor core
how do i install devbuild
yeah
no one even answered 
should i use waitFor or just findByLazy @limber skiff
lazy
ok
is there like a tutorial
Have you tried asking #🏥-vencord-support-🏥 rather than channels that aren't #🏥-vencord-support-🏥
hi lain
hello
@limber skiff are you going to bed soon do i need to rush
I'm not
ok cool ill take it patiently
[p
there @junior olive
omg epic
ill use

actually
@limber skiff maybe a util to open a invite modal or transition would be useful
how does devbuild even work
a developer builds it
wdym
like
rn i believe theres 2 diff buttons that attempt to join decor's server OR transition to the server(?)
wait
i think im hallucinating
nah
react
o? ok
wait no
lmao
the same place useStateFromStores is
stores.ts
sure
well idk if export works but id assume
ill try
it seems fiine
ok just the grimy suggestions left
(grimy bc theyre big)
@limber skiff y use fluxdispatcher to go to profile settings?
it's how discord does it
oh fr ok
we are so close
decor
<img width="692" alt="modal" src="https://github.com/Vendicated/Vencord/assets/30497388/74fe8a9e-a2a2-4b29-bc10-9eaa58208ad4">
<img width="372" alt="chat-2" src="https://github.com/Vendicated/Vencord/assets/30497388/b0c4c4c8-8723-42a8-b50f-195ad4e26136">
@junior olive I really think that should be if (object)
my guy installed devbuild to get a third-party plugin that is already in vencord
on the destructor it should setUrl to null if the object wasnt null, if you dont now url points to a revoked objectUrl
if object is null url is already null lol
how so?
undefined = nothing selected
null = none selected (remove decoration)
object = decoration
tryingDecoration != null ? decorationToAvatarDecoration(tryingDecoration) : tryingDecoration
wont it go into true if it's undefined?
typeof tryingDecoration !== "undefined" ? tryingDecoration !== null ? bla(tryingDecoration) : null : undefined
literally same thing as tryingDecoration != null ? bla(tryingDecoration) : tryingDecoration
what ab undefined case
no
it's !=
it's actually good
its good but make it more verbose 😵
nop
yop
if you know what != null does you completely understand that
anyways
i think that setUrl null was meant to handle if the hook is passed nothing
it clears the hook url
hm
yeah
ok
up to you
you forgot one thing
i did it its just not pushed
ah
I see
there
oh lol
sorry wasnt sure if u were looking at it as i pushed
Oh wait
maybe i did forget a little bit 1s
yeah my bad i did miss that let me do that rq
yeah you did lol
did it
hm
what about it
yeah
lmao what happened
idk
it's in the persist method
lmao
make your filter more exact
change it to this
[zustand persist middleware]
LOL
what's the difference between the raw sku id and the other
its used in the get avatar deco url patch
raw will return asset whereas decor will manipulate it
(to turn it into a link to the cdn)
bc i moved show auth modal
xd
I was being blind
"transparent" and "macOSTranslucency" set to true in settings.json on their respective platforms.
Discord on mac:
Vesktop on mac:
Discord on Linux:
Vesktop on Linux:
make a const now = Date.now() here
@limber skiff or new Date()?
lmao I clicked on the wrong side
i like new date
ok ill change the other one then
done
i found a bug i will fix
done
well idk lemme check a alt
ok yeah its fiine
why doesnt props.onClose work
we might actually want to make the transition happen regardless
bc on my alt it closed to the user settings
welll hmm
my account that wasnt in the decor server joined decor, instead of going to the decor server it only went to the user profile layer
bc that doesnt get popped
tho i was thinking for the join in there it WOULDNT transition
but tbh idk if it should
it doesnt pop settings when in the invite modal path
anyways i think we do this
it transitions but it doesnt pop all layers
i think we make it pop for consistent behavior
we need a way to confirm they joined
there isnt a good way
lets just not pop
it's better to not pop cuz if they refuse to join it's going to end up closing all their stuff if we popped
uhhh
if we refuse to authorize we create a promise that never resolves
idk if it has a cancel callback lmao
oh hmm
lmao does invite modal closes all modals after it
horror
nothing we can do welp
I mean
or we can just open the modal again
oh wait
there we go
yeah glhf
idk if this will work
thats kinda wacky
I think it's the only way
the onclose = in subscribe is confusing the hell out of me
it subscribes to invite modal close it always fire on accept, refuse, close, etc
it's just making onClose equal the function lol
yeah i get it now
let me test
yop
i don't think it needs to be
theres a toast for a failed auth, nothing if cancelled i think its fiine
why should i add a .catch
i suppose
wait this is fire
just .catch(() => void) ? ig
does => void work
() => {}
hmm it is partially working
it didnt return true for accepted though
ok I know why
maybe this
worked
he didnt bring pizza 💔
how the heck do I make a .patch of 3 files
qhar
is the saga over
maybe
am i finally going to stop getting emails
bro just added 10mb to vencord
good
its been 84 years
thank you nookies.
well i guess that means i have to as well now
do you have a pr to be merged too?
branch but yeah
true
i should go merge the server ratelimits in preparation for the text to speechening
what's that?
@mortal fractal he doesn't know..
I actually don't know
i shrimply wrote my own implementation
ill let cyn take the reigns
oh you wrote decor too?
they wrote the plugin for hh3
what does hh3 mean
vencord's structure and working is loosely based off of hh3
it happened because i forgot to reinvite ven once we moved off of gitlab
hh3 is the name of the mod they develop
inside joke with the creator's old username
lmao
NoTrack (found no module):
ID: -
Match: window.DiscordSentry=
extractAndLoadChunks(["openAvatarDecorationModal:"], /\.el\("(.+?)"\)(?<=(\i)\.el.+?)\.then\(\2\.bind\(\2,"\1"\)\)/)
extractAndLoadChunks(["stickerInspected]:"], /\.el\("(.+?)"\)(?<=(\i)\.el.+?)\.then\(\2\.bind\(\2,"\1"\)\)/)
None
None
LOL
wait
it works fine on my end ???
silly nookies
NoTrack (found no module):
ID: -
Match: window.DiscordSentry=
extractAndLoadChunks(["openAvatarDecorationModal:"], /\.el\("(.+?)"\)(?<=(\i)\.el.+?)\.then\(\2\.bind\(\2,"\1"\)\)/)
extractAndLoadChunks(["stickerInspected]:"], /\.el\("(.+?)"\)(?<=(\i)\.el.+?)\.then\(\2\.bind\(\2,"\1"\)\)/)
None
None
to be fair I didnt test that part
the extractAndLoadChunks
(in the reporter)
in the code I tested
imagine ur plugin getting merged and then immediately causing reporter issues 😭
yes
ok good
thank you nookies 🙏
NoTrack (found no module):
ID: -
Match: window.DiscordSentry=
None
None
None
NoTrack (found no module):
ID: -
Match: window.DiscordSentry=
None
None
None
I'm tired of that bad patch
new ones yes
idk how to make an image for that
Finally got around to pr'ing this
:D
lets see what discord refuses to fix
now i just wait for main release
NoTrack (found no module):
ID: -
Match: window.DiscordSentry=
None
None
None
NoTrack (found no module):
ID: -
Match: window.DiscordSentry=
None
None
None
wtf is this code block
honestly not too bad
like relatively it is a bigger plugin (still smaller than shc..) but it's not actually that big for what it does
shc lovely
yeaghj rip
u know nookies we could maybe make the decor patches a little smaller
let the bundler minify shit
well maybe
it's whatever
didnt u say u like function replacements bc it lets bundler minify
we shall not touch them anymore
thank you again 🙏
very nice plugin 
time to pr another 2 plugins (not)
discord rolled back the stupid change that one of them got rid of
the other i need to polish more
what was it
the slide in for avatar decos on profiles
what's wrong with this codeblock
does it need to be on new line
yea
i think
test```
no its fine wtf
no that's for github
oh true
markdown
i frogot
this is the other one
bring back border based on avatar deco
because discord removed it 
lolwtf
oh
could it be the list
I think it actually needs a new line
oh lmao
NoTrack (found no module):
ID: -
Match: ```
window.DiscordSentry=
None
None
None
NoTrack (found no module):
ID: -
Match: ```
window.DiscordSentry=
None
None
None
LMAO
thats nice 😭
maybe u need another escape??
for the first char idk
AH WAIT
DOES THAT ONLY REPLACE THE FIRST CODEBLOCK THING?
wdym
but there arent even extra ```
true wtf
let me show you
github mkdwn just bad iggg
i feel liek this is lists fucking shit up
maybe lists not playing nice with multiline
Dillinger is an online cloud based HTML5 filled
Markdown Editor. Sync with Dropbox, Github, Google Drive or OneDrive.
Convert HTML to Markdown. 100% Open Source!
it needs to match the number of spaces
????
or kinda match
wait no it still doesnt work
shhhh
wtf nookies..
im getting a cookie cutter to chop up nookies
NO
TELL ME YOU DIDNT PULL THAT
okay honestly I dont want to deal with that weird markdown error rn
@austere talon we baking good tonight
sugar cookies clear
On Linux desktop, notification badges don't work for most people because there isn't a good standard. The library that Electron calls (libunity) is old and not many people have it. We don't have much control over the panel image either because that's controlled by the .desktop file. Personally, I find myself relying on notification badges frequently. System tray icon is easily modifiable, unlike the main panel.
This PR:
- Adds support for unread message and notification badges in the sy...
hi all :3 if anyone has time could they test the PR above on non-KDE linux desktops and windows? ^
man this fix would be really nice rn lmao
now typing in any emoji causes the crash
just leave guilds with a "default" emoji
turns out a server i was in intentionally created a ":default:" emoji

discord
Ven ven ven
badges will be moved from github to https://badges.vencord.dev/badges.csv
i already moved them
just need to write code for @nimble pendant to be able to easily manage badges
(reason being that we can no longer use discord cdn, so we will serve the files ourself)
i clicked the first link before thinking and ended up downloading it so i had a look through it- seems kinda insane
i mean it makes sense- can people have as many badges as they want?
idk my brain would assume it'd be best to have badges that people can opt into- but this is a much cooler system tbf
whar?
this is donor badges
you can choose anything u want
idk i might be rambling a bit
generally 2
me
oh lol
I am the Ven
time to donate 7 times to get v e n c o r d badges





