#👾-core-development
1 messages · Page 59 of 1
that's where PermissionsStore come in
now i think about it... that wouldn't make any sense lol
MANAGE_MESSAGES * 0x0000000000002000 (1 << 13)
ty!
PermissionsStore.can lets you check if a specific channel has a permssision bitfield
yeah i was just using that! tysm!
PermissionsStore.can(channel, 1n << 13n)
better to use a constant or maybe even have an enum (if ts works like that??) for other plugins to use
yeah I did
oh this can be changed then lol
but a lot of plugins just hardcode it cause its easier
PermissionsBits was just added by PermViewer
bleh
**messageClickActions.ts: **Line 30
const MANAGE_CHANNELS = 1n << 4n;
lazy programming™ :p
how is it lazy
its not
weird that the types library we use for discord did not have them already
cause its purely typings
enums can be typed as well
now ive got my main pc back, gotta fix my discord update script to include the vencord installer 
i'm not trying to criticise whoever wrote the code, i think it's bad to potentially duplicate constants across plugins though
we hardcoded it to avoid having to webpack search
but now it's a Common so it doesnt matter
still would be better to have something usable by multiple plugins
ye
it's most likely not going to change though, there isn't much of an issue
see i only care about this stuff if i'm a mod lmao
this wasn't deleted tho?
discord be like
it's not ever gonna change*
yeah... it's just not something which would make sense to
nah it doesnt make the emoji gray
applying greyscale to a grey emoji does not change it for obvious reason

the message logger makes the emoji grey
i make the emoji gay
:3
ye
huh, this screenshot has the entire message red
is that custom css?
it's default?
^ meant this one
lol
ven
got trolled by a grayscale emoji
do you have any recommendations when implementing vencord installer cli into my update script
why are you re-installing on every update tho?
Message Logger Test (i'm not a moderator)
omderator
it still applied... hmm
- not a debian based distro
- rsync
I've used vencord on arch linux and I didn't have to re-install vencord on update?
ohh, i made a stupid mistake
what distro are you even using?
it doesn't apply if you're a moderator
and rsync shits itself whenever vencord is installed
so im just gonna skip rsync and reapply vencord over a clean installation directory
so you are uninstalling and re-installing discord?
that aint updating bro
love that font
font designer enters the chat: that font is horrible and here are 50 reasons why
if i dont rerun the installer then im not actually updating anything because the app.asar doesnt get updated xdd
maybe choose a better distro next time
i use fedora because debian based distros have trash package management, and i want something that has some level of package availability without something breaking every two minutes
cant believe you said that about apt
all my homies hate apt
eh, I've used fedora before, dnf sucks
worst package manager I've used
tf ym
all hail arch and yay
im not a femboy i dont use arch xdd
that doesn't make yay bad, so why not hail both yay and paru?
mf made that statement in this server
I haven't used paru tbh, yay never left me unsatisfied to even want to try another aur helper
pacman >>
yeah i like yay
dont forget about debian https://media.discordapp.net/attachments/839367089801527306/1006782840131821600/unknown.png
man, people still use apt-get till this day
because so many online tutorials still have it
tbh, debian aint that bad if you use it in combination with apx (a distrobox wrapper for package managers) the vanilla os package manager
as long as you can use apx, you can have the best of all worlds
stable base system, and the AUR
meanwhile i just use COPR
this is really useful if you are stuck on a bad outdated distro and you want to quickly use a package w/o upgrading the entire thing
whenever I use it I just alias it to apx --aur cause I only need it for arch packages lol
mfw asking for recommendations for my update script turned into package manager wars
just don't use vencord, problem solved
jk
you can always just do what the installer does within ur script
no need to use the installer
since you are a linux user, it shouldn't be that hard for you, right?
im gonna use the installer cli binary to do the heavy lifting
my script is just curling, validating and updating
oopsies
oops i unplugged shard 853
le epic troll
oh i have a better idea
i will make the installer first try github api then if it fails fall back to vencord api
so we minimise load on vencord api while having a fallback for github
no why would i do that
because rate limit & some isps block it
has you seen support lmao
do you really think i would bother adding a fallback and making my own github api proxy if there weren't issues with github
jiiiiiiiiiiiiiiiiiiii
Yes 
jiiiiiiiiiiii
Still waiting for timezone plugin to be approved like 
there's no timezone plugin
perhaps you might be referring to the popular timedones plugin?
Yes
The pr
Which is dead like me inside
Vencord has everything except that plugin which I use daily
It's amazing to kiss my homies gn knowing the time they sleep 😪
should be fixed now assuming you use install.sh
please verify and comment if it's still broken
You mean merging pull request to the main?
It isn't hard but ig it's incomplete or something
And I'm too lazy to build vencord again only to use timezone plugin
its finished
Also thanks for updating the branch
Another day of building vencord again
lol
Good luck with that
how
I need to learn typescript 
the previous commit had no lint issues
and this is an update
@austere talon
sighs
ven casually making breaking changes
yes
Guess I'm not building vencord again 
one sec, will fix
Ah
thats what we call a breaking change
Waltuh

well, revanced patches don't always work with the latest version of an app, so you most likely downloaded the wrong apk
pushed the fix
Well they added a patch for an app that isn't in the main branch
So I forked the repo and merged dev to main and then built the patches
Then in the manager I set the repo to mine and tried patching
Ended up not working
At least the patch loads
I'll build vencord again
that has nothing to do with what I said
the version of the apk you use, could be the problem
I was talking about building the app myself
I really feel like smth gets lost in translation or smth
Nah I'm just sleepy but just hope it works
define "app"
since you said "building the app myself" I can only assume it is open source
Oh you mean the stock apps used for patching
the base apk
Yeah thst
It's from apkmirror and the readme suggests it supports all versions
This adds support for Discord's new global display name feature rolled out ahead of the new username system, and makes it prefer the global display name over the username like the stock client does.
Nah I was talking about using the dev branch locally since it's not merged yet to build apps
Anyway gn
Ok, this has been on-hold for so long.
I will make it ready for review so that it may get merged a bit faster.
This is not fully ready yet, although it is fully functional.
Is there a css snippet that actuallyy works when it comes to removing the nitro gift on the message bar?
yes but #🏥-vencord-support-🏥
Before anyone reviews the code, just note that I already did a refactor (here) waiting to be merged into the PR.
I really hope this is the correct channel for this, if not please tell me where this should go instead 😅 Anyways, onto the question:
Has anyone messed around with the soundboard aka voice channel effects yet?
I'm curious as to how sending works (to play a full song), but god I hate reversing webpack. I was trying to find usages to a method with no results, and now I just found out that those methods are wrapped once again by webpack (checking #assets first would've made my life slightly easier).
This lead me to something, but this code confuses me even more
(obfuscated method name with 4 args, which seems to do something useful, but I have no idea what to do with it)
However, I did find a VoiceChannelEffectsStore store, but unfortunately contains nothing useful to send an effect.
is this a selfbot?
hmm
..no? In that case, "Emote Cloner" would be selfbotting too.
at least, I don't intend it to be. If it is classified as a selfbot, I'll just leave it and don't do it. Don't wanna risk a ban for that 🤷
Voice Channel Effects have nothing to do with the soundboard
and the soundboard is done server side
your client just sends a request to play
Ah, I got them mixed up then, damn.
so you cant play custom stuff with it
I just have a server and added a lot of sounds to it, with this plugin I intend to play each of them sequentially at the correct time so it acts like a full song. So, really, I'm just trying to find the function that runs when you click on a sound to make it play.
ohh I see
I know it's a little stupid and I should use a system-wide soundboard for that, but I'm just doing it for fun since I'm bored 
Oh, I get it now. Playing a sound effect using the soundboard uses voice channel effects "behind the scenes" (according to the api route and code that sends the request, that is)
that's trivial
playLocal = Vencord.Webpack.findByCode(`type:"GUILD_SOUNDBOARD_SOUND_PLAY_LOCALLY"`)
playRemote = Vencord.Webpack.findByCode(`.SOUNDBOARD_PLAY`)
chanId = "1015931590741872713"
guildId = "1015931589865246730"
for (let sound of Vencord.Webpack.findByProps("getSounds").getSoundsForGuild(guildId)) {
await new Promise(r => setTimeout(r, 400));
sound = {
"soundId": sound.soundId
}
playLocal(chanId, sound)
playRemote(chanId, sound, false, guildId)
}
this is a snippet that plays all sounds in a specific guild (not written by me)
figure the rest out urself
Thank you!
Interesting, looks like I was on the right path then with my own research. I got playLocal and playRemote, but not getSounds.
oh trol
whys playLocal and playRemote seperate
play for others but not yourself

Jello
guess you are jello if you leave that quickly after messaging
discor moment lmaoo
i mean it makes sense tbh
if you get the event from some other user you only wanna play locally

ah well yeah
Sorry sorry if my code was super ugly x)
And ty c:
That the best plugin I never see
inb4 even more false detections with these latest 2 commits
real
None
None
font-weight: bold;
color: purple;
[kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping ```
reference error suddenly gone lmao
ShowHiddenChannels (had no effect):
ID: 14096
Match: /(?=\|\|[A-Za-z_$][\w$]*\.default\.selectVoiceChannel\(([A-Za-z_$][\w$]*)\.id\))/
ShowHiddenChannels (had no effect):
ID: 14096
Match: /(?<=\|\|[A-Za-z_$][\w$]*\.default\.selectVoiceChannel\(([A-Za-z_$][\w$]*)\.id\);!__OVERLAY__&&\()/
None
font-weight: bold;
color: purple;
Cannot access 'ufe' before initialization ReferenceError: Cannot access 'ufe' before initialization
at Module.default (WebpackModule276171:2:50)
at VencordWeb:12:719
at VencordWeb:5:8750
at [vencord.lazy.get] (VencordWeb:5:7113)
at Er.<computed> [as get] (VencordWeb:5:7524)
at Object.handleProtoChange (VencordWeb:33:23261)
at CONNECTION_OPEN (WebpackModule473419:2:5858)
at https://canary.discord.com/assets/cf23181d396a73116f2a.js:9376:975
at https://canary.discord.com/assets/cf23181d396a73116f2a.js:9367:82
at n (https://canary.discord.com/assets/cf23181d396a73116f2a.js:9376:952) ```
permissions + u really shouldnt
i always keep uac off
it's not very useful
it is???!
not running every app as admin if it wants is very useful
anyway i think even with UAC disabled it shouldnt run the installer as admin
doesn't do much in the name of security
especially with the amount of bypasses and the fact you can persist admin privileges forever with one allow
thats just not true but alright
what's not true 
I definitely think it should be enabled by default
but I personally don't find it worth the minor annoyance
"someone might break my lock and break into my house so i might as well keep the door wide open"

locks only keep honest people out
hmm set it to never notify doesnt force admin for me and vencord installer still works fine
only when disable it with regedit then it forces admin everything
only the latter is truly disabling it
Merge when broken SHC patches reach stable
why did you open a duplicate of your own issue?
Works for me too, likely an issue on Last.fm's or your end. Nothing we can do
this is very out of scope for the plugin considering Spotify does not provide lyrics via their api. There also aren't any good free lyrics apis so you'd either have to pay for an api key or we'd have to scrape a site like genius which isn't possible without running into cors issues
Just google the lyrics
lol i accidently reproduced this silly with
[class*=animator] {
transform: none !important;
}
reading that gave me deja vu
almost like that exact conversation happened 1:1 before
why?
could it not be feasibly done?
colin has started to show signs of tyranny so I kinda wanna jump ship
and manually porting everything is annoying
the majority of practical replugged plugins already have an alternative in vencord
iirc the new replugged plugins use patches just like vencord
so it could be possible
I mean...it can't be that annoying
oh nvm
they still have injectors
didn't they plan to migrate to patches?
injectors are only based when in C# and Java
One great library for this on C# is https://harmony.pardeike.net/articles/intro.html
and thats how I cracked a game
lol
Error: Invalid plugin src/plugins/customRPC.tsx, because no default export called 'definePlugin' found
ven what the hell is this and why can't we
const plugin = definePlugin(...);
export default plugin;

you added 2 words too many there /j
ok but really mixins are the only cool part of java imo
True
maybe 32bit chromium only has that limit on windows?
oh lol
messed up the codeblock poor thing
thanks!
is it automated?
turns out opening quickswitcher is more of a pain than I thought
Yes, it is
The plugin explicitly sends Discord API requests to add the emotes to your own server.
i mean your idea
is it automated?
i think they're so'ing
you can't so when the so is already sowed
It does exactly what your client would do if you were to upload the file.
It's not iterating through every emote in a server and cloning it
ye
Hmm, I'm not sure then. It just "clicks" on all of the soundboard sounds at the exact timing. Could argue that's the same as emote cloner then, since it's a legitimate action.
I think if you're making requests in a way not tied to any human-created event that's a selfbot technically?
idk
I'm not making requests tho
you are...
i think it does end with some kind of request
I'm just invoking the button handler, so yes that does end with a request
It's a legitimate action, but if you insist it's a selfbot then I won't risk a ban for it. I mentioned this before, I was just doing this for fun and rather not get a ban 🤷
i don't know if using an ahk script to auto send messages would be allowed, hmmm
doesn't sound like a bright idea
it wouldn't
So is an ahk script that right clicks to download an emoji and then uploads it to your server, also not allowed? Personally I don't see a difference between this and the emote cloner (both do a legit client action and with a bit of skill is humanly possible), but that's me
i don't want to act like a moderator though, it just all begun when i asked a question
Ah, hmm yeah that makes sense then
can bots use the soundboard?
no
:(
Even tho emote cloner does the same, I'll just leave it alone
i'm not trying to tell you what to do
there's a difference between 1 api request and api abuse
it seems kind of selfbot-like though
for example an actual discord bot sending a message every minute in a channel is also against discord tos unless it's for a good reason
but... i feel like the moderators would've pointed something out by now because there's a no selfbot rule 🤷♀️
There's like 50 emotes in a server tho, that's 50 API requests. The song I'm playing is split into 32 sounds, so that equals to 32 API requests. There's a 5s interval between them.
???
It's 1 single request. It doesn't clone every emote
it clones 1 single emote that you right click and press clone on
Yeah and that's why I'm leaving it alone, I don't wanna get banned :p
Ah, I see. I got that wrong then, my bad.
ok... i'm just worried that i may be wrong since i don't know much
refer to my previous message. even a 1 minute delay would most likely be considered api abuse
That makes sense
What you're saying does make sense, though.
ok, fair enough!
ven is smart though, i feel like there may be something we're missing
anyways does someone want to figure out how quick-switcher is triggered? https://discord.com/assets/88eee2c31f8053b80db5.js
lmao

genuine question?
Yeah. Trying to add global shortcuts to Vencord Desktop
Based scpsl enjoyer wtf
just not sure what exactly triggers quick-switcher (wanting to add Ctrl + T)
ooh
Based Official Server host 

Redline or whatever dumdum tbh, I don't understand why you would have multiple official servers if you own the servers that they are ran on
Official ≠ Verified
And they don't own the servers.
It's the same way that Rust does it
There are a total of 7 Official server hosts (each with 2 servers) so a total of 14 actual official servers
From my understanding, the servers in the official tab are ran by redline on their servers, and just have other people managing them
Like I said
Official servers aren't hosted by NW (NW does host 2 official servers, but the rest are all hosted by individual communities)
¯_(ツ)_/¯
I'm too dumb to understand how scpsl functions
The same way Rust functions
Never touched rust in my life... I really want to tho
Heard it was on sale, but I don't have a windows pc
and CS:S/GO servers (they just don't have 'Official' servers)
And same way minecraft servers work too... except mojang doesn't list all active servers
🤨
what
I think I found the quickswitcher thingy
I think that's just the flux event no?
the same function most likely also opens it
yep
running Vencord.Webpack.findByCode("type:\"QUICKSWITCHER_SHOW\"")() opens it for me

aww i'm glad i could help
it works 
replugged has so little plugins
if anything, we'd add compatibility for BD, not replugged
but vencord functions entirely differently than these mods and compatibility for other mods' plugins would be an absolute nightmare both from code side and support side. if you really want to, just load both in parallel
I wonder what Global Keybinds exist
Error: Invalid plugin src/plugins/customRPC.tsx, because no default export called 'definePlugin' found
ven what the hell is this and why can't we
const plugin = definePlugin(...); export default plugin;
there's no reason to need to do that
there's a difference between sending dozens of requests with no user interaction and sending one single request when the user explicitly presses a button
in any case spamming soundboard is whatever, do it if u want but spam like that won't be accepted as vencord plugin
...so it's not against tos?
Yeah that makes sense
I misunderstood what emote cloner did and thus thought it was fine, but it's not
emote cloner clones one single emote when u right click and click clone, not all of them 
Yeah xd
it might or might not be but it hardly matters cause its such a small thing
id be lying if i said i didn't send all soundboard sounds once 
That explains where you got that snippet from then 
I think there's normally a condition that needs to be false for it to run

it's a hasLayers thingy
idk when it's false though :p
oh, probably when settings are open
you can't normally do this

yeah layers are any sort of modals
settings, server settings, some modal like user profile, etc
it doesn't count user profile here
you can open quick switcher with them open
okay fair
VirusTotal
@austere talon this are the malware anylisis of the latest cli installer
what's the point of sending this
false positives, ignore
Ok
yes
that's why i don't bother
it's pointless
the gui installer is only flagged by one single instance, the cli by 5
when it's literally the same code except cli has less code
cli inherently malicious

less code is more malicious MY GOD!!!!
but when i compile the binaries my av does not flag it. sus
it's literally built by github actions
make you're sure doing the same step the workflow does
so generate winres, build for 32bit instead of 64 bit (this plays an important part, it didn't flag 64 bit nearly as much), pass the same linker flags
i just run "go build --tags cli" and run the exe built
i acutally thought ou used vms to publish the pacakges
vms?
that is a very different build, obviously it's gonna have differing detections
like i said do this
but why even bother
who cares about false detections
yea lol
even the mozilla firefox installer had a false detection when i checked it out of curiosity
:)
oof
It looks like discord-types needs to be updated, this definitely works though.
I don't know if anything else is outdated in it, but this has been added now.
Swishilicous/discord-types#2
Ven will not pet an animal for the next decade if this PR is not reviewed and merged soon.
a fate worse than death
NMO!
every time someone asks for merge a pr gets delayed by one month
I asked for a review and a merge
Yo is anyone else having an issue where Discord randomly disconnects you if you have devtools opened? This is driving me nuts lmao
whenever you open the dev tools, discord hides your token
if you reload discord w/o closing the dev tools, then your token is gone, and you are logged out
it is an intended behaviour by discord to prevent dumb users from getting their tokens and giving it to scammers
as a side effect of disabling discord's warnings when you open the dev tools, discord does not remove your token
yo thx
WHY
LET IT DIE
LET IT DIE LET IT DIE LET IT SHRIVEL UP AND DIE
you love 1.2GB ram
you only have 4gb?
laughs in 8gb RAM + the ability to extend it by 5gb by using the internal storage
how do i make vencord plugins
short answer: you don't
long answer: you can make ur plugins, and then die waiting for ven to merge them
anyways, first step would be to clone the repo and install a dev build
timed out for a day for making a joke about merging 

git clone ...
cd Vencord
pnpm install
pnpm build
pnpm inject
if you want to make plugins, then you should already know that ... should be the repo link instead
and you should install pnpm first
- don't make ur PR on the main branch
there's also a few docs in the repo if you want to read those
if you actually want someone to review ur PR
**2_PLUGINS.md: **
# Plugins Guide
Welcome to Megu's Plugin Guide! In this file, you will learn about how to write your own plugin!
You don't need to run `pnpm build` every time you make a change. Instead, use `pnpm watch` - this will auto-compile Vencord whenever you make a change. If using code patches (recommended), you will need to CTRL+R to load the changes.
## Plugin Entrypoint
> If it doesn't already exist, create a folder called `userplugins` in the `src` directory of this repo.
1. Create a folder in `src/userplugins/` with the name of your plugin. For example, `src/userplugins/epicPlugin/` - All of your plugin files will go here.
2. Create a file in that folder called `index.ts`
3. In `index.ts`, copy-paste the following template code:
```ts
import definePlugin from "@utils/types";
export default definePlugin({
name: "Epic Plugin",
description: "This plugin is absolutely epic",
authors: [
{
id: 12345n,
name: "Your Name",
},
],
patches: [],
// Delete these two below if you are only using code patches
... (82 lines left)
sometimes i wish bot wouldn't do this
but the markdown is
i just have to remember to use angle brackets i think
@austere talon learn how to escape backticks please
I think you are already doing smth about them, but it doesn't work
ok, @fleet depot if you surround the link with <>, it will not trigger the bot
do i have to reinstall vencord every time i want to make a plugin
it wasn't a joke 😭, its the truth
uhh, define what reinstall means to you
you only inject once if that's the question
and you re-build it as many times as you want
how do i rebuild
pnpm build
i just have to remember to use angle brackets i think
that's what i meant by angle brackets yeah
ooooh, I didn't know they had a proper name
I just call them less than and more than
use pnpm --watch and all you need to do is reload and it'll show your changes
pnpm watch, dunno what pnpm --watch is
oh whoops
that's what i meant
right right
pnpm build --watch
that's what i was messing up
@burnt bough ok so, when you inject vencord, all it does is add some code that loads vencord from your dist folder
if you delete the dist folder, then discord will not open
or I dunno
never tried that
anyways
that means that whenever you build, you can reload discord and it will have the latest changes from ur code (if you built it that is)
hot-reloading is not a thing vencord has
only for css
yeah
not my bot
huh
ok so is there any documentation
^
anywhere
proper documentation? no
look at plugin code
just look at other plugins
and just try to know what it means?
ask questions
and if you know regex, it should be easy to learn to patch
regex101 and regexpr are your friends
im not good with regex
well, if you don't require patches then thats fine
patches?
patches modify discord's code
using regex
we can do anything we want with them
are patches important
if you need to modify discord's code, then yes
plugins that use the existing APIs usually don't need patches
how many existing apis are there
like the MoreCommands plugin
APIs are just plugins, they all have the prefix api
they are easy to find
well, thats just the core of the APIs
ok
or state what exactly you're trying to do
you can intercept any message the user sends and edit it (or cancel the action)
you can intercept any message the user edits and edit it (or cancel the action)
you can add a button to the vencord toolbox
you can add items to the context menu
you can add commands like /lenny
you can add user badges
too many to say
just explore
ok
an API for keybinds is also pending to be reviewed and merged
how long will it take to be merged
that is not up to me
ok
besides all the APIs you can use a lot of discord's internals
one example is Party Mode https://github.com/Vendicated/Vencord/pull/1161
it doesn't use any patches and it is a proper plugin
Since I added the onChange callback, this no longer applies.
description: "Party intensity",
Since you defined a type for it, you should export the actual store just like the other ones.
Use the actual store from src/webpack/common/stores.ts (after you've defined it there ofc)
Error: Invalid plugin src/plugins/customRPC.tsx, because no default export called 'definePlugin' found
ven what the hell is this and why can't we
It's called "can't be arsed to handle that edge case"
pretty sure that's intentional not an edge case
since definePlugin gives you plugin name description and authors
oh i didn't see the discussion
yeah you shouldn't need to do that but should be able to xd
Well, sometimes you may want to access the plugin from places that this does not have ur plugin.
One example is within flux events, they are their own objects, so they don't have access to the plugin object.
One easy solution would be to first make a constant and then export it.
Another solution is to fucking use the global Vencord.Plugins.plugins["whatever"]
Or to have all ur state outside of the plugin.
Having all ur state outside of the plugin can be messy if the plugin is small enough imo
And using globals means that if you change the plugin name, you also have to change the global usage.
One solution to that is to make a constant for the plugin name but guess what?
Ven couldn't be arsed to check that as well, if it ain't a string literal then it says that it ain't valid.
oh i see
So yeah, you either bypass the accidental restrictions ven made, or you abide by them and write code you don't like and/or is prone to breaking if you are not careful enough.
i was gonna make a comment about this and then i realised plugin. here is redundant since settings is not defined in the definePlugin()
damn you sleepy brain
@austere talon can you make flux events give the plugin instance?
You know
definePlugin({
flux: {
smth: (plugin, eventData) => {}
}
})
Cause the object flux is a different object instance technically, so this refers to it rather than the plugin.
Don't ask "why?" or "what do you want to do?", please
I don't even need to give an example
But if you want one, look at GxMod
It should be pretty obvious that it is annoying to not be able to access members of the plugin.
i agree
Discord Account
Oto#6032
What happens when the bug or crash occurs?
The bug is, i enabled translucid window but it dosnt work, i relaunched my pc and discord. (ps : i'm on macos)
What is the expected behaviour?
The bug is, i enabled translucid window but it dosnt work, i relaunched my pc and discord. (ps : i'm on macos)
How do you recreate this bug or crash?
- Go on macos
- Download vencord
- enable translucid mode
- look it dosnt work
Errors
Replace t...
i would just move the things outside of your plugin and use top level variables / functions instead
working with this in js is so painful
this is just js's fault
ShowHiddenChannels (had no effect):
ID: 14096
Match: /(?=\|\|[A-Za-z_$][\w$]*\.default\.selectVoiceChannel\(([A-Za-z_$][\w$]*)\.id\))/
ShowHiddenChannels (had no effect):
ID: 14096
Match: /(?<=\|\|[A-Za-z_$][\w$]*\.default\.selectVoiceChannel\(([A-Za-z_$][\w$]*)\.id\);!__OVERLAY__&&\()/
ShowHiddenChannels (had no effect):
ID: 695358
Match: /(?<=renderHeaderToolbar=function.+?case [A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*\.GUILD_FORUM:if\(![A-Za-z_$][\w$]*\){)(?=.+?;(.+?{channel:([A-Za-z_$][\w$]*)},"notifications"\)\)))/
None
font-weight: bold;
color: purple;
Cannot access 'bfe' before initialization ReferenceError: Cannot access 'bfe' before initialization
at Module.default (WebpackModule286498:2:50)
at VencordWeb:12:719
at VencordWeb:5:8750
at [vencord.lazy.get] (VencordWeb:5:7113)
at Er.<computed> [as get] (VencordWeb:5:7524)
at Object.handleProtoChange (VencordWeb:33:23261)
at CONNECTION_OPEN (WebpackModule473419:2:5858)
at https://discord.com/assets/3e55a38022c158d6e8ed.js:9383:278
at https://discord.com/assets/3e55a38022c158d6e8ed.js:9373:270
at n (https://discord.com/assets/3e55a38022c158d6e8ed.js:9383:255) ```
ShowHiddenChannels (had no effect):
ID: 14096
Match: /(?=\|\|[A-Za-z_$][\w$]*\.default\.selectVoiceChannel\(([A-Za-z_$][\w$]*)\.id\))/
ShowHiddenChannels (had no effect):
ID: 14096
Match: /(?<=\|\|[A-Za-z_$][\w$]*\.default\.selectVoiceChannel\(([A-Za-z_$][\w$]*)\.id\);!__OVERLAY__&&\()/
ShowHiddenChannels (had no effect):
ID: 695358
Match: /(?<=renderHeaderToolbar=function.+?case [A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*\.GUILD_FORUM:if\(![A-Za-z_$][\w$]*\){)(?=.+?;(.+?{channel:([A-Za-z_$][\w$]*)},"notifications"\)\)))/
None
font-weight: bold;
color: purple;
Cannot access 'bfe' before initialization ReferenceError: Cannot access 'bfe' before initialization
at Module.default (WebpackModule286498:2:50)
at VencordWeb:12:719
at VencordWeb:5:8750
at [vencord.lazy.get] (VencordWeb:5:7113)
at Er.<computed> [as get] (VencordWeb:5:7524)
at Object.handleProtoChange (VencordWeb:33:23261)
at CONNECTION_OPEN (WebpackModule473419:2:5858)
at https://canary.discord.com/assets/cb713f8022795155fa87.js:9383:278
at https://canary.discord.com/assets/cb713f8022795155fa87.js:9373:270
at n (https://canary.discord.com/assets/cb713f8022795155fa87.js:9383:255) ```
cause the name is auto generated by discords bundler
-
What should the plugin/feature do?
Allow you to download files like videos, zips, etc without having to open the browser -
How does it work?
Instead of clicking the "Download" button that shows up whenever you hover over a file to open a link in your browser, it should rather install it without opening a link. -
Possible links to any existing plugins for other mods that could be used as inspiration!
There was a deprecated plugin on BetterDiscord that functioned exactly the same, h...
bypass onboarding, membership screening, verification level
i thought i already rejected this idea because its not really much effort to build it yourself
i do not see the benefit of us making prebuilt images when we won't even use them
images for what?
docker?
@austere talon I am loading all the modules that have "svg" in them
should it be a setting?
also, I think 261 is the limit of how many icons there are
(keep in mind that I said icons and not assets)
oh yeah, another solution that I forgot to say and works well with ven's restrictions is what I do on GxMod
I first define the plugin
and then export it
actually nope
there is one more restriction
ffs
@austere talon come on man
plugins have to be reviewed either way, who is supposed to benefit from this?
fuck you
found the loophole
you are promoting cursed code with ur restrictions
Adds a button to the User Context Menu for bots. This opens a link to invite the bot.
You can find this plugin here: https://github.com/A-Trash-Coder/Quick-Bot-Invite
I feel attacked by that GIF, it is so frustrating to watch someone struggle when hovering over a menu.
only 1% can press (impossible challenge)
what's the point of this
why do people not want to open their browser
it makes 0 difference
that restriction isn't there to annoy you, it's so that your plugin is parseable by CI to auto generate https://vencord.dev/plugins.json
feel free to remove some restrictions by making https://github.com/vendicated/vencord/blob/main/scripts/generatePluginList.ts smarter
rn I'm making the companion smarter, well, im trying at least
ill make that smarter later
it would also be useful to add plugin utilities to the companion
like a button to enable a plugin so you don't have to do it in client
is there a way to open this?
you want to open the invite modal?
ayo
I can offer Chinese translations
PS: You forgot to add esbuild to your deps, lol
I had enough typescript AST for the day, that's all.
lock files are meant to be checked into version control
yeah it's painful
PS: You forgot to add esbuild to your deps, lol
because i have esbuild installed globally lol
well I aint a madman like you
what does ur code do exactly?
it uhh, checks if a node is a variable, if it is, it finds all the variable declarations (cause js allows const a = 1, b = 2;)
and if a variable declaration is an object literal that has the type PluginDef somewhere within it, it adds that object literal to a variable for it to be processed by ur original code
basically
const a: PluginDef = { patches: [] }
is now detected
(well, you have to add the other properties to satisfy the type)
const a: Partial<PluginDef> = { patches: [] }
is also detected
(on purpose)
should this not rather be the following?
const t = recursivelyFindType(type, typeName);
if (t) return t;
It is recursive, and it is at the bottom of the function, so it is the same.
it's inside a loop over node.types so you would want to keep checking more types if the first type doesn't match, no?
i'm not fully sure how node.types works
if (isTypeReferenceNode(type) && type.typeArguments) {
for (const typeArg of type.typeArguments) {
this is for generics?
like Foo<PluginDef>
yeah
that can probably be removed
Partial<PluginDef> works bc of it
sure
we wouldn't want to add it to Record<string, PluginDef>
well i guess the further code wouldn't match that anyway but yeah
i guess there's no reason to restrict it
so just leave it nvm
god this code is so unreadable
not your fault, just typescript AST moment
I think it's the LSP protocol that is like that
thanks
this is pretty cool too https://github.com/Vencord/Companion/issues/1
also i wanna incorporate proper patch helper into the companion
like a modal that has inputs similar to patchhelper
and shows you the matches, diff, etc
it's because we have to bundle typescript
and it's so big
3.4mb minified size
vscode doesnt let u access typescript AST / its typescript module
so u gotta bundle ur own
what if it is fetched at runtime?
or just like with python linters, it requires the local package to be installed or smth
how would this work?
would we only allow it for exported methods in a PluginDef?
would be nice if pnpm watch or the companion restarted the discord client on build
that would restart discord a looooot
why not just press ctrl r manually
i wouldnt mind integrating it somehow but not on pnpm watch
maybe yarn build --restart
after the 20th time within an hour it gets tiring
not really doable
however could be integrated into companion
we could add buttons in this bar
when you press the build button it builds and restarts connected clients
what
how are we gonna make reloads faster
use vencord desktop & an alt account with little guilds for faster reload
[Plugin] Toggle HugeText
when enabled it will always place a hugetext modifier before text "# (text)"
no + use text replace
its 200mb
That's actually a lot
I only have 7 gigs free on my SSD
Are you a gamer?
Or are you running neural networks on ur PC?
Cause if not, then it's a lot
for some reason i get worried when my disk usage hits 50%, so i clean up everything i dont need anymore
i really don't have a reason to worry
I only clean up when it reaches 500 mb free
yep
seems it's quite complicated
discord user gone too
https://i.imgur.com/F6HhC1F.png
I spotted this bug on Vencord Desktop
80 gigs is loads
Vencord desctop is only like 200mb iirc
So like
U have loads left
How
How can we magically make it reload faster
Lmfao
?
Just install openasar then
Its an option in vencord installer
its desktop only
but as an alternative, you could embed this card 👇
https://discord.gg/vencord
if that's close enough
i mean getting it to appear as part of a plugin
i realise the web version of discord wouldn't be able to have the server
basically i'm trying to make it appear when you click on an invite link in someone's bio!
discord removed the thing which allowed you to join within the app too
it had no confirmation tbf
opening that modal is pretty easy iirc
just a flux dispatch
but desktop only like i said
in what sense?
is there a widget that's available not on desktop?
I feel like i could try recreating the dialog...
return sr.Z.resolveInvite(n, "Game SDK").then((function(e) {
var t = e.invite
, n = e.code;
if (null == t)
throw new Ka.Z(M.lTL.INVALID_INVITE,"Invalid invite id: ".concat(n));
var o = (0,
eu.s0)(r)
, i = o.context
, a = o.lock;
return new Promise((function(e) {
v.Z.dispatch({
type: "INVITE_MODAL_OPEN",
invite: t,
code: n,
context: i,
resolve: e
})
}
)).then(a)
}
))
the entire modal is desktop only
ah, so it's in a desktop-only module or something?
just this
Huh, that's surprising
Ig the web version does not use a modal but an entirely different app
well you can still join servers without the app
but yes
Dev tools
what?
bruh
thats the installer
make app use it too wen 
I had put the store here at the beginning but I preferred to put it in the plugin directly because this store is only used for the party mode and I will surely be the only one to use it
Then please remove the type from @webpack/common/stores as it is not really useful.
Discord Account
nasko222#1337
What happens when the bug or crash occurs?
I tried to inspect element something and I got logged out of my account, and needed to log back in
What is the expected behaviour?
I expected Inspect element to work fine, However it works fine after I logged back in, It also happened the first time to my friend who also used Vencord, but no longer happens now
How do you recreate this bug or crash?
- CTRL + SHIFT + I
- Inspect element on somethi...
This is not a bug. This happens b/c whenever dev tools is open, discord hides your token to prevent dumb users from being scammed. if your discord reloads for any reason (such as running out of memory due to having the dev tools open), discord can't find your token and you are logged out.
Fix: enable the NoDevtoolsWarning plugin
Adds a plugin that adds a command called "define" to define a word using the Free Dictionary API.
after patching my discord client with the vencord installer, i get this error when i try to run discord :
Uncaught Exception:
Error [ERR_REQUIRE_ESM]: require() of ES Module /home/chokerman/.config/Vencord/dist/patcher.js from /opt/discord/resources/app.asar/index.js not supported.
patcher.js is treated as an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which declares all .js files in that package scope as ES modules.
Instead rename...
delete ~/package.json
how do you create a a powershell gui install command with a fork of vencord
there is no good way to do that. you have to fork the repo and change the urls
what urls do i have to change because i want to be able to have it still work for people that can't run the gui and also people that can at the same time
i just need to know what urls to change thats it
just need to know what urls i need to change after forking the repo and i know you can do so what urls do i need to change
why
because i know for the gui you do environment variables but what do i do for cli without gui
despair
why are you like this
huh'
Lmao

i did not spam you said you have to fork the repo and change the urls and then just didn't answer how unless you add easy plugin install to vencord then you should have a guide or something telling people how to install a vencord fork as cli no gui
NO WAY
my brain had a stroke reading that omg
is he expecting to get spoonfed or something
But why does it need to fork the installer
😭
There is already a command for the powershell
I don't get it
Imagine if it is a scammer trying to token log people by installing custom vencord builds
For all purposes this was a joke
But for real many scammers upload their tools on github
Claiming it's for "educational" purposes
Like, even if it was for educational purposes, you are enabling others to scam people
I've seen many password stealer scripts that are for "educational" purposes
Like getting all the cookies and detect crypto wallets
Nah I did not kill these people Mr officer, I merely pulled the trigger for educational purposes.
ShowHiddenChannels (had no effect):
ID: 14096
Match: /(?=\|\|[A-Za-z_$][\w$]*\.default\.selectVoiceChannel\(([A-Za-z_$][\w$]*)\.id\))/
ShowHiddenChannels (had no effect):
ID: 14096
Match: /(?<=\|\|[A-Za-z_$][\w$]*\.default\.selectVoiceChannel\(([A-Za-z_$][\w$]*)\.id\);!__OVERLAY__&&\()/
ShowHiddenChannels (had no effect):
ID: 695358
Match: /(?<=renderHeaderToolbar=function.+?case [A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*\.GUILD_FORUM:if\(![A-Za-z_$][\w$]*\){)(?=.+?;(.+?{channel:([A-Za-z_$][\w$]*)},"notifications"\)\)))/
None
font-weight: bold;
color: purple;
Cannot access 'Bfe' before initialization ReferenceError: Cannot access 'Bfe' before initialization
at Module.default (WebpackModule248059:2:50)
at VencordWeb:12:719
at VencordWeb:5:8750
at [vencord.lazy.get] (VencordWeb:5:7113)
at Er.<computed> [as get] (VencordWeb:5:7524)
at Object.handleProtoChange (VencordWeb:33:23261)
at CONNECTION_OPEN (WebpackModule473419:2:5858)
at https://discord.com/assets/ad1fde4a477ddef962ae.js:9368:278
at https://discord.com/assets/ad1fde4a477ddef962ae.js:9358:270
at n (https://discord.com/assets/ad1fde4a477ddef962ae.js:9368:255) ```
ec091a7 Fix SHC broken patches; Sort PermViewer channel... - Nuckyz
screenshakeEnabledLocations: [true, true, true],
ShowHiddenChannels (had no effect):
ID: 14096
Match: /(?=\|\|[A-Za-z_$][\w$]*\.default\.selectVoiceChannel\(([A-Za-z_$][\w$]*)\.id\))/
ShowHiddenChannels (had no effect):
ID: 14096
Match: /(?<=\|\|[A-Za-z_$][\w$]*\.default\.selectVoiceChannel\(([A-Za-z_$][\w$]*)\.id\);!__OVERLAY__&&\()/
ShowHiddenChannels (had no effect):
ID: 695358
Match: /(?<=renderHeaderToolbar=function.+?case [A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*\.GUILD_FORUM:if\(![A-Za-z_$][\w$]*\){)(?=.+?;(.+?{channel:([A-Za-z_$][\w$]*)},"notifications"\)\)))/
None
font-weight: bold;
color: purple;
Cannot access 'Bfe' before initialization ReferenceError: Cannot access 'Bfe' before initialization
at Module.default (WebpackModule248059:2:50)
at VencordWeb:12:719
at VencordWeb:5:8750
at [vencord.lazy.get] (VencordWeb:5:7113)
at Er.<computed> [as get] (VencordWeb:5:7524)
at Object.handleProtoChange (VencordWeb:33:23261)
at CONNECTION_OPEN (WebpackModule473419:2:5858)
at https://canary.discord.com/assets/4435b6beafe942541243.js:9369:278
at https://canary.discord.com/assets/4435b6beafe942541243.js:9359:270
at n (https://canary.discord.com/assets/4435b6beafe942541243.js:9369:255) ```
he's a known idiot
they have done the same on pretty much every server
lmfao
from BD: replaces the default Google Text Search with a custom Search Engine.
ideally instead of all these toggles, maybe just have the user paste in a dummy %s search for their preferred engine?
from personal experience, i can say that gnome 40 on wayland OR x11 is broken as fuck, especially with scaling and a high res display. i've used fedora for a year before switching back, this happened with other apps as well. i have not found a fix.
my only advice is to switch to something more user-friendly like zorin, i can't tell you if this is fixable or not.
from personal experience, i can say that gnome 40
Have you tried updating to the latest gnome (theyre at 44 now iirc)
from personal experience, i can say that gnome 40
Have you tried updating to the latest gnome (theyre at 44 now iirc)
44 was broken as well, generally everything under the 4x umbrella seems to be broken.
Zorin uses GNOME and XFCE tho...
from personal experience, i can say that gnome 40
Have you tried updating to the latest gnome (theyre at 44 now iirc)
44 was broken as well, generally everything under the 4x umbrella seems to be broken.
you sure that ain't a GPU driver issue instead?
from personal experience, i can say that gnome 40
Have you tried updating to the latest gnome (theyre at 44 now iirc)
44 was broken as well, generally everything under the 4x umbrella seems to be broken.
you sure that ain't a GPU driver issue instead?
official nvidia? pretty sure it wasnt. it works perfectly file under zorin.
I had two strokes trying to read that.
how is "official nvidia" a question? what does it ask?
you say that it works fine under ZorinOS, and you also say that it doesn't work fine under GNOME 4x
now I am not a detective, but I assume you did a full linux re-install when you switched to or from GNOME 4x
you can't really blame GNOME, and say that Zorin works well, if you did not use the same installation of linux
who knows what driver version you used on ZorinOS and what driver version ...
i used the official nvidia drivers, for a nvidia gpu, on both fedora and zorin. zorin doesn't use gnome 4x, it uses a significantly older version.
everything except for the gnome version was the same, it has to be that.
I did not question if you used the official drivers or not.
I questioned if the package versions were exactly the same.
And even if they were, the driver could be corrupted in some way.
I've never had issues with GNOME.
Why? Because I've never had an nvidia gpu, or amd gpu for that matter.
I did not question if you used the official drivers or not. I questioned if the package versions were exactly the same.
And even if they were, the driver could be corrupted in some way.
you sure that ain't a GPU driver issue instead?
i am pretty fucking sure it wasn't a driver issue, both drivers were the exact same. i doubt the driver got corrupted in a way that broke these select few applications in that exact same way, without changing the checksum. the only difference betwe...
Bro, you distro hopped, there is no way all the packages are the same version.
Bro, you distro hopped, there is no way all the packages are the same version.
why are we even arguing about this, i literally just mentioned that it works perfectly on zorin.
Look, issues like this happen on windows as well, and re-installing the exact same version of windows fixes those issues.
You can never be too sure of what the reason is.
Look, issues like this happen on windows as well, and re-installing the exact same version of windows fixes those issues. You can never be too sure of what the reason is.
You chose to blame GNOME out of anything.
because gnome was the most significant thing that's different between the 2, but sure, i can go ahead and try reinstalling fedora again, but i doubt it was corrupted in the first place.
poor gnome
gnome on fedora sucks donkey ass
honestly
it looks good, but that's it
hm whats bad?
app indicators are gone, the "official" extension adding them back is broken
weird visual bugs that don't appear on any other gnome version
- wayland windows are sometimes blurry for no apparent reason
- x11 title bars don't scale with the rest of the display, being mega small for me
etc
with "app indicators are gone", i mean GONE
there is no official support for them anymore
they are straight up removed
but useful
i don't want to guess if toolbox is still running in the background, i want to kill it when im done
why do you want it to run in the background though?
i don't
that's why i need the app indicators
i want to close it entirely when im done
there is no option to not make it run in the background
oh, well i think that's the issue with the software
the app indicator it used at least let me close it entirely
but that broke on gnome 40
usually you need app indicators if an app stays running, but apps which do that are quite annoying with app indicators too
but tbf without app indicators you probably have to manually kill them :p
exactly
i dont want to bother opening the system monitor, finding that sneaky background process and killing it
i want to right click on the app indicator and click close
toolbox?
jetbrains toolbox
idfk, it just runs in the background
i guess to allow easy access to tools but launching it takes mere seconds
the devs had a brainfart moment
but it's a genuinely nice tool, keeps the ides up to date and manages projects
so i enjoy using it, but keeping it running in the background is not something i want to do
its more about updating them, but the launcher also helps because the ides are stored on a separate drive and don't get picked up by the gnome launcher for some reason
hmm, i'm pretty sure you can have autoupdate without a user-facing launcher
You are focusing on the wrong part
It can act as a launcher, but it's not a launcher
It's for managing jetbrains IDEs
Uninstall them, install them, update them, use preview versions etc
It installs them in a portable way, unlike system packages
Just make desktop files in .local/shared/applications iirc
Because if enabled, it can auto update the IDEs in the background
so it's like eclipse's annoying oomph thing?
I've never used eclipse
pretty sure you have to manually update
Other than android studio, jetbrains IDEs don't auto update, you either run the installer for a newer version or use the toolbox
Yeah running the installer for a newer version is technically updating
well
I just wanted to say that it's not part of the IDE to update

zorin
Ooh




