#๐พ-core-development
1 messages ยท Page 66 of 1
[Vencord] Branch dev was force-pushed to 42d8211
mhm
i pushed a commit, then immediately after force pushed, overriding that commit
lil' silly
afterwards the github mirror finished
but at the same time codeberg was mirroring the latest commit to github
so that triggered workflow again, while codeberg sync is also triggered
so it just pushes back and forth
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 ```
unconstifies your enums
let enum {} when
i did a thing
not the same thing
scarlet is insaner ```ts
export default { Skinning: () => require("./src/plugins/Skinning").default, UX: () => require("./src/plugins/UX").default, Web: () => require("./src/plugins/Web.tsx").default }
require().default
crash handler should be a core too
couldn't these checks be removed? If the delete message button exists, you have perms
The Button also exists for your own Messages when you donโt have perms
okay I did my best to type those components, idk if I got everything correctly though
u can?
worsk
@oblique hound ?
Suppressing works
im probably not understanding correctly 
you don't seem to check for embeds perms tho
so wdym?
is there any instance where u can suppress embeds but not delete or vice verca?
When you have the Manage Message Perm it doesnโt matter if you have embed perms or not. Since you can Edit the flags. But when you donโt have the Manage Message Perms and also not the Embed perms then you canโt Unsuppress
wouldnt it be simpler to just check embed perms
For the current user yes. But not for messages by other
When I send a Message and have Perms to embed then it shows the Button. But when youโre the author and I have Embed perms it would also show
You mean replacing the manage message check with canEmbed check right?
yes and using the existance of the delete button
if (!deleteItem) return;
if (message.author.id === UserStore.getCurrentUser().id && !hasEmbedPerms()) return;
way simpler
Ye. Got confused b4 ๐
all good :P we both got confused
f1349a2 Remove Cloud Sync notification - Vendicated
a4191c9 Settings: add custom sections support (#1270) - AAGaming00
386dfe3 ViewRaw: Add setting for swapping left/right cl... - RadNotRed
ab3e993 ViewRaw: Remove less properties from author - Vendicated
42d8211 Fix disabling plugins whose stop() errors - Vendicated
my man just add \ before the emoji and get the id its not rocket science
โญ
literally 1984
meow
oh my lord kiss the ground
meow
This helps improve SEO by adding some structured data tags to the page. This adds a WebSite schema (which makes it easier for Google to know the site name and canonical in the event that it gets confused) and, specifically for the FAQ page, the FAQPage structured data which can be rendered as those FAQ dropdowns in Google search. Even if they don't get rendered, it contributes to SEO greatly (according to, well, Google).
why is this needed? so you can obtain raw html?
correct - Astro collections don't give you access to the raw HTML content (only the component) so we have to use Astro's glob to import them and do it that way
it really is balls but it is genuinely the only way of doing it
i tried stringifying the <Content/> you get out of it but of course that doesnt work xd
im pretty sure this is what's recommended by astro anyway so
I saw this Replugged plugin which features the same functionality but it has a better icon, I was wondering if the icon could be replaced with this Replugged one.
should update read all to read all dms too
Often people install for Discord in order to get some functions from a Nitro subscription for free using other methods.
๐ก My suggestion is to make one of the functions of Nitro, namely the ability to split one huge message into several and send them with the right delay.
The idea is taken from an already existing plugin: SplitLargeMessage (BD/Powercord)
One of the reasons people install third-party clients for Discord is to get some features from a Nitro subscription using methods other than buying a subscription.
๐ก I propose to implement this idea, namely the ability to split one huge message into several and send them with the right delay for the Discord API.
The idea is taken from an already existing plugin: SplitLargeMessages (BD/PowerCord)
Did he just post 2 of the same requests
This idea was formed based on my previous idea: link
The idea for the plugin is to divide the file into several parts and rename files with a different extension, for example: Filename-Part-ID.filepart
After that, you can try to visually fold them into 1 file and mark them with a symbol for convenience. When downloading, the plugin will combine them into 1 file, downloading them separately.
ehar
Replacement of fps values, resolution and presets (fps+resolution) for the screenshare.
Plugin implementation: replacing the settings to start screenshare, and then checking from time to time from repeated replacement by Discord
Before making a discussion, please do your due diligence and look for existing PRs that might already implement what you want.
Didn't find any similar, split large files.
arjix try not to be mean and wrong at once challenge
The idea for the plugin: a special button to select a specific Hypesquad house.
I think this is implemented through: WebpackModules.getByProps(joinHypeSquadOnline).joinHypeSquadOnline({houseID: "HOUSE_[1-3]",});
The idea for the plugin: the built-in command /eval
like a js function: eval()
Why not just open console?
This includes:
- Discord Status (in footer can be discord.com/tos, discord.com/guidelines and support.discord.com)
- IP with ping to Discord Services
- ...
useless, just open devtools
there's already a snippet in the snippets channel for this
how does this person manage to open like 6 dumb requests in a row
I actually tried to not be mean, other than the ๐ emoji used
but darn was I wrong
Well, that is even dumber tbh, my brain autocorrected your request to one that makes more sense.
But I am sorry for getting this wrong
7th one is #1283 but somehow doesnt show here
epic argument
abusing discords cdn is a great idea I will make that plugin
There was such a plugin for this and more
https://github.com/Vendicated/Vencord/pull/730
Dunno why the author closed it
Icon here for anyone that can't be arsed to search for it
looks like it is the same icon in inbox button
Would a plugin that uses the WYSIWYG toolbar suit your needs?
I was thinking something like that
why?
Commits/PRs from forked repositories will not create a preview. Support for this will come in the future.

terrible
is this really necessary here? It seems obsolete as this info is already obtainable via og tags
surprisingly, yes! if you have it in open graph and structured data it increases google's reliability at actually detecting your site information (because at the minute it doesnt know the site is called "Vencord", its just "vencord.dev")
google so dumb ๐
tbh i don't like having the entire content duplicated when every normal user can't see it
but ig brotli should compress it pretty well?
idk if it would be worth to detect crawlers and only return that data to crawlers
looking a bit into this cause i didn't know about it until now and all the google examples put this in the head instead of body. Is that of relevance? Maybe we should do the same
looking a bit into this cause i didn't know about it until now and all the google examples put this in the head instead of body. Is that of relevance? Maybe we should do the same
can go in both, as long as it exists.
search engines don't really like if you do that anyways
I don't think it'd be a big deal in this case but eh
Wait why do we have a read all button when there's always the inbox read all button that comes with discord
Unless ig you could separate it by saying the plugin only reads server notifs and the discord one readsall both
I mean it's nice for quick access
one click instead of 3
I see
This code would create a vanilla client
let _mods = webpackChunkdiscord_app.push([[Symbol()],{},({c})=>Object.values(c)]);
webpackChunkdiscord_app.pop();
const findByProps = (...props) => {
for (let m of _mods) {
try {
if (!m.exports || m.exports === window) continue;
if (props.every((x) => m.exports?.[x])) return m.exports;
for (let ex in m.exports) {
if (props.every((x) => m.exports?.[ex]?.[x])) return m.e...
most sane first discussion
whar
why would you need that
this is bad, the content should be directly accessible on the site. You can probably use the details tag to achieve smth like this:
<details>
<summary>Cool stuff</summary>
<details>
<summary>Cool stuff</summary>
Hi (sadly not recursive, would be funny)
</detail>
</details>
Example of what it can do
let _mods = webpackChunkdiscord_app.push([[Symbol()],{},({c})=>Object.values(c)]);
webpackChunkdiscord_app.pop();
const findByProps = (...props) => {
for (let m of _mods) {
try {
if (!m.exports || m.exports === window) continue;
if (props.every((x) => m.exports?.[x])) return m.exports;
for (let ex in m.exports) {
if (props.every((x) => m.exports?.[ex]?.[x])) return m.exports[ex];
...
okay but what is the relevance of that for this repo / discussion ?
@turbid hatch seems to be working https://search.google.com/test/rich-results/result/r%2Ffaq?id=a1XPjmcIxieibRT0KbQSCA
although this is kinda bad
we probably need to make the faq questions make sense out of context
also this is bad lmao
the discord read all button from the inbox does not read ALL
it only reads like 100 notifs, you have to spam it in order to read them all
itll autostrip this garbage dwdw
i believe it shows under the vencord site
so it should make sense?
but we could edit it
I don't know... Anyway, there's a Vanilla Client on Discord
????? lmao
what is this guy high on???
I think a parameter to see the status of Discord would be nice
"I think a setting to see Discord status would be nice, or something on the top right like a network bar and when you click on it you see Discord status"
If discord was down I'd rather use an external site to be sure
Than going through discord
I was just thinking of integrating the status website into Discord.
I was just thinking of integrating the status website into Discord.
this idea seems really pointless
like if you can access discord it clearly works
if you can't access it, it clearly doesn't
so it doesn't seem very useful, just open in ur browser for more info 
also there are webhooks for down notifications so just add it to some channel
โฆrformance
- Added checking for development environment
- Removed var declarations and replaced with const and let
- Initialized traces and logger variables based on IS_DEV
- Replaced empty function declarations with an arrow function (noop)
- Used a ternary operator to conditionally assign noop or the trace functions to beginTrace, finishTrace, and noopTracer.
- Reformatted the code to improve readability and maintainability.
is it possible to make a css snippet to change text color if the profile color is above some brightness? i dont know how to do the later part
or to like
make the colors be above some contrast
this rewrites perfectly good code to be worse and sounds ai generated. Please don't use ai to contribute
lmaooooooooooooo
their account is so weird but they dont seem like a bot
some ppl reported bots making prs like that before lmao
guh
did u acciently forcepush overwrite it

yes
ye
do u need help restoring it
they made this pr for contrib badge ๐ญ
maybe we should add a new rule u only get contrib badge if u wrote original code
aka not rewriting existing code
to prevent pointless prs like that
makes sense
i was cleaning stuff up cuz i had unnecessary branches and was trying to sync to main
i merged my maindev w my newest changes on toolbox and then force synced...
but everything's just living peacefully in maindev now
which text?
no
javascript
gpt says
.profile {
/* Replace this with the appropriate selector for your profile element */
}
.profile-text {
color: #000; /* Default text color */
}
.profile[data-color] {
/* Get the brightness of the profile color */
--red: calc(var(--color) / 65536);
--green: calc((var(--color) / 256) % 256);
--blue: calc(var(--color) % 256);
--brightness: calc((var(--red) * 299) + (var(--green) * 587) + (var(--blue) * 114)) / 1000;
/* Change text color based on brightness */
--threshold: 128; /* Adjust this value as desired */
color: var(--brightness, 0) >= var(--threshold) ? #000 : #fff;
}
lmao i wish that worked
ternaries in css
@austere talon use
const unpackRgb = (colour: number) =>
[0, 1, 2]..reduce((rgb, i) => [(colour >> 8 * i & 0xff) / 0xff, ...rgb], [] as number[]);
const relativeLuminance = (colour: number) => {
const [r, g, b] = unpackRgb(colour)
.map((x) => x <= 0.03928 ? x / 12.92 : ((x + 0.055) / 1.055) ** 2.4);
return r * 0.2126 + g * 0.7152 + b * 0.0722;
};
STOP USING AI FOR CODE
ITS SO FUCKING STUPID
STOP
vee ๐ข 
true!
I can barely take this entire screenshot seriously
use our support channel please
i was doing something but it was ugly and didnt work on all higher brightness
it seems a bit complicated to do on css
instead of detecting brightness does discord somehow detect between a light profile and a dark profile and then you could make css for both ?
i dont think discord detects that
it does
oh
or
i feel like when ive changed my profile color it has changed my text
the background thing?
sync
let me check
whar
i mean that kinda works
but not exactly
it just made it dark
i dont mind the flashbangs i just want to be able to read
issue with your theme
yeah i guess i cant do much about that
check the theme-light class
figured it out, thanks!
?
Because it's a option, but okay. I un check
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 ```
None
None
font-weight: bold;
color: purple;
resetSocketOnError Cannot access 'Lme' before initialization ReferenceError: Cannot access 'Lme' before initialization
at Module.default (WebpackModule318477:2:50)
at VencordWeb:12:719
at VencordWeb:5:9101
at [vencord.lazy.get] (VencordWeb:5:7464)
at zr.<computed> [as get] (VencordWeb:5:7875)
at Object.handleProtoChange (VencordWeb:42:20780)
at CONNECTION_OPEN (WebpackModule473419:2:5858)
at https://canary.discord.com/assets/09ed287617ab14a55772.js:9779:975
at https://canary.discord.com/assets/09ed287617ab14a55772.js:9769:847
at n (https://canary.discord.com/assets/09ed287617ab14a55772.js:9779:952) ```
A way to simply wipe all your message from a server. This has been done already and is known as Undiscord. I personally think having this built into the client would be really useful and save quite a bit of time.
read our rules + duplicate
this should be a plugin request on the main repo
linux font look
Discord Account
No response
What is it that you'd like to see?
More customisation for the ImageZoom plugin would be great - I had 2 extra settings in mind.
- Option to be able to use a square lens.
A square lens makes it significantly easier to read text. Similar to Lighty's plugin for BD, BetterImageViewer. - Ability to change scaling algorithm.
I would like to be able to choose nearest neighbour for...
@austere talon
what's ur version
181.4
update to 182
I uninstalled 10* apps just to test this
I hate android 
I delted half of the apps on my phone and still cant update discord
what the hellll
<@&1118512958293688412>ending.machine
love

Discord Account
sutnax#0010
What is it that you'd like to see?
This feature would be awesome since i love avatar decorations but i don't have Nitro.
Request Agreement
- [X] This is not a plugin request
this could be seen as an enhancement to fakenitro tbh
it'd make more sense as another plugin like fakeprofilethemes
only having you see it is pointless
i wonder if it's css-able
yes but only u see it
Technically, it is not that obvious for the average Joe, since they are not requesting for a new plugin, but an update to an existing plugin.
But, it does not change any of the plugin's existing behaviour, so it does not really count as a plugin update, but a plugin feature.
And plugin features could be considered as plugins that happen to be under the same plugin.
stop @quaint sapphire
chill yo ass cuh
?
Was I rude in any way shape or form?
I only explained why the issue was closed, since the person that made it probably did not understand
And I was not being rude or sarcastic
motherfucker
this is mod abuse
I was well behaved
thank you for encouraging to not be well behaved
really weird, unnecessary, passive aggressive sounding comment
is it really that hard for you to just be normal
it was not passive aggressive
you assumed it was passive aggressive
because you have all my previous talking behaviour in context
it IS passive aggressive sounding. you ALWAYS sound passive aggressive
god i don't wanna have to argue with you all the time
just be normal, am i really asking for too much
I was normal and I gave a friendly explanation why the issue was closed
I explained the thought process of why it was considered a plugin request
if that is passive aggressive, then you have some problem in ur head
in fact, you are the rude one, closing issues w/o giving explanations
for it to be passive aggressive it is required for aggression to be within what I sent
where did you find any aggression?
like really
i'm not sure about passive-aggressive, if anything it just sounded slightly patronising
its all in your head
I always treat users as people that might not have the same brain capacity as me.
(No I did not say that my brain capacity is high)
is it my pfp that makes you think I am aggressive?
I admit it might set the mood like that
oh my god you are arguing again
because this is unfair
you treat me like a criminal
when all I did was be friendly
like jesus
new pfp, do I look less aggressive now?
i'm really sorry but i'll permanently mute you (already have). i don't want to have to do this but i already gave you more than enough chances and you're still constantly arguing and being overly and needlessly aggressive. many people cannot feel welcome if you behave this way, even i personally don't feel comfortable with it
please refrain from commenting on other people's issues or pull requests on github. you can still open pull requests and open your own issues if you want. but also if you keep being this way on github i might have to block your access there as well
moving on...
i just got an idea
couldn't we use codeowners feature to automatically request reviews when someone touches a plugin?
The people you choose as code owners must have write permissions for the repository
never fucking mind average shithub
@turbid hatch i wonder why it only shows 2 faq items
is that google limiting it?
as to not have massive wall
but yeah i see them too so that's working
I do not have the free time to do the changes I want, but it can already be considered ready, so you can review it and stuff.
context-sensitive
they'll switch them up as needed
google is really fuckin' weird
no idea how any of it works lol
i just know it does

ohhh yeah i just got pronouns
discord feature
we should probably update pronoundb
Prefer Discord Pronouns
Prefer PronounDB pronouns
but aaaaa how will we do it in chat
I saw some discussion about letting bots access pronouns in the discord API server so maybe they will add it to the users object? maybe?
I HOPE
@woeful sable do ur thing ๐
pronosnansansa in user object

you're literally discord staff
oh wait that's dolfies
its all a coverup
No idea, but I'd REALLY like to see this plugin be a thing.
If anyone has some pointers towards how to use this manually, I'd be very happy.
Just modifying the video bitrate would be enough for me, actually.

ShowHiddenChannels (had no effect):
ID: 14096
Match: /if\(![A-Za-z_$][\w$]*&&![A-Za-z_$][\w$]*(?=.{0,50}?selectVoiceChannel\(([A-Za-z_$][\w$]*)\.id\))/
None
font-weight: bold;
color: purple;
resetSocketOnError Cannot access 'Bme' before initialization ReferenceError: Cannot access 'Bme' before initialization
at Module.default (WebpackModule308799:2:50)
at VencordWeb:12:719
at VencordWeb:5:9101
at [vencord.lazy.get] (VencordWeb:5:7464)
at zr.<computed> [as get] (VencordWeb:5:7875)
at Object.handleProtoChange (VencordWeb:42:20780)
at CONNECTION_OPEN (WebpackModule473419:2:5858)
at https://discord.com/assets/1b3bcc3b010e45b48367.js:9785:324
at https://discord.com/assets/1b3bcc3b010e45b48367.js:9775:299
at n (https://discord.com/assets/1b3bcc3b010e45b48367.js:9785:301) ```
ShowHiddenChannels (had no effect):
ID: 14096
Match: /if\(![A-Za-z_$][\w$]*&&![A-Za-z_$][\w$]*(?=.{0,50}?selectVoiceChannel\(([A-Za-z_$][\w$]*)\.id\))/
None
font-weight: bold;
color: purple;
resetSocketOnError Cannot access 'Bme' before initialization ReferenceError: Cannot access 'Bme' before initialization
at Module.default (WebpackModule308799:2:50)
at VencordWeb:12:719
at VencordWeb:5:9101
at [vencord.lazy.get] (VencordWeb:5:7464)
at zr.<computed> [as get] (VencordWeb:5:7875)
at Object.handleProtoChange (VencordWeb:42:20780)
at CONNECTION_OPEN (WebpackModule473419:2:5858)
at https://canary.discord.com/assets/69536501f6ac6dce6b9a.js:9785:324
at https://canary.discord.com/assets/69536501f6ac6dce6b9a.js:9775:299
at n (https://canary.discord.com/assets/69536501f6ac6dce6b9a.js:9785:301) ```
replace: "case \"MUTUAL_GDMS\":return $self.renderMutualGDMs($1,$2);"
this looks pretty bad. .+ is really dangerous (even with ?) and you should avoid it if possible
no need to match either of these
match: /(?<={user:(\i),onClose:(\i)}\);)(?=case \i\.\i\.MUTUAL_FRIENDS)/,
thank you, pretty cool!!
this is called internal for a reason, you shouldn't use it in ur plugin
return openModal(modalProps=> (
description: "The image size to use",
as mentioned below, plugins shouldn't use this. Use findStoreLazy instead
you could make this slightly prettier like so:
options: [128, 256, 512, 1024, 2048, 4096].map(n => ({ label: n, value: n }))
* example how a stream key could look like: `call(type of connection):1116549917987192913(channelId):305238513941667851(ownerId)`
looks good other than the small nitpicks i commented. Please also fix conflicts!
I can make this change for the sake of the website (makes sense) but what will the bot print on discord's side?
on like 23rd thought i could just take this entire part out of that faq answer
cuz 1) doesn't seem frequent enough and 2) it's a reallllly long blurb
Does someone know if there is a problem if I add the type number to that interface? The file is located in src/utils/types.ts
why are you changing types
Never mind it actually conflicts with other plugins I'll just convert my number to a string. Thx anyways ๐
yeah it should be a string
@3941
You can use philhk's fork directly, follow this: https://github.com/Vendicated/Vencord/blob/main/docs/1_INSTALLING.md
Installation is exactly the same as that guide, except you replace
git clone https://github.com/Vendicated/Vencord
with philhk's fork:
git clone https://github.com/philhk/Vencord
It basically says for itself, it open Spotify links in the Spotify Desktop App instead of in your default browser.
Link to the plugin: https://github.com/Strencher/BetterDiscordStuff/tree/master/OpenSpotifylinksInSpotify
absolutely in favour of having more than 5 accounts
how does one deal with lazy loaded modules
oh wait does it just not matter, it patches when it patches
yes
how is this not a bot
It's not a plugin request its a feature request for a plugin that already exists for FakeNitro
Welp, my comment explaining why it is a plugin request was deleted.
๐
are they still
oh my god
creepy attempt to act kind
@austere talon ๐ฅด

open steam links in the desktop app instead browser so you can view profiles without logging into the web app
if possibly add that for spotify aswell, dont have a source for that though
link to the plugin -> https://github.com/mwittrien/BetterDiscordAddons/tree/master/Plugins/OpenSteamLinksInApp
a small clickable "message" icon, next to someones name in the voice channel so you can press that to chat with someone instead of going on the profile to then send a message
link to the plugin -> https://github.com/hobbica98/ClickToChat-BetterDiscord-Plugin
I just made a quick plugin to replace the maximum with Number.POSITIVE_INFINITY, I will pr it later
I will probably also add token login to it because that doesn't sound hard
eh i dont think either of those things are good
noone should have more than 5 accounts and token login is a pretty clear sign they're stolen accounts
remember you can continue PRs yourself if you wish
i will probably continue API if no one else does
That's assuming I know a lot more than absolutely 0 units of anything ๐
Byeah they can always be continued~
i will probably work on it untless someone beats me to it
Why shouldn't they
People can have as many accounts as possible, who cares
you don't need more than 5 accounts
if you do it's a pretty obvious sign you're doing something shady imo

As the title states, the MuteNewGuild plugin should have more options:
- Highlight Notifications
- Mobile Push Notifications
- Mute New Events
- Show All Channels
- Hide Muted Channels
Similar to this Replugged plugin:
https://github.com/Tharki-God/DefaultServerSettings
None
None
font-weight: bold;
color: purple;
resetSocketOnError Cannot access 'BEe' before initialization ReferenceError: Cannot access 'BEe' before initialization
at Module.default (WebpackModule308799:2:50)
at VencordWeb:12:719
at VencordWeb:5:9153
at [vencord.lazy.get] (VencordWeb:5:7516)
at jr.<computed> [as get] (VencordWeb:5:7927)
at Object.handleProtoChange (VencordWeb:42:20780)
at CONNECTION_OPEN (WebpackModule473419:2:5858)
at https://discord.com/assets/622085a2839f6a641aa7.js:9789:975
at https://discord.com/assets/622085a2839f6a641aa7.js:9779:847
at n (https://discord.com/assets/622085a2839f6a641aa7.js:9789:952) ```
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 ```
Thank you so much @EyeDeck !
I did run into an ExecutionPolicy issue, but after setting it to unrestricted temporarily it all worked just fine!
Discord Account
bittersweetcandyshop
What is it that you'd like to see?
InvisibleChat is nice, but my gf and I use it to avoid her super creepy mom and having to type a password everytime is bothering.
Same for those just trying to avoid discord ToS by sending questionable links in chat.
What I would like to see is being able to set a list of passwords to attempt against a user for when a client recognizes they sent an encrypted message. A nice bonus would be setting a defaul...
for the saved in settings:
I have a very long list I don't want to have to wait for to clear before being prompted to manually enter the password
is bro depressed or something?
they left I would assume
prob
so he is indeed depressed
I wouldn't assume he's depressed considering he has been like this for a long time now
this is really bad because it doesn't actually address the root of the problem, which is the fact that rpc has 0 validation. it would be much better to add proper validation so we don't even have to help people with it
"missing large image tooltip"
"-1 is not a valid timestamp"
"blah is not a valid url"
Ok so i'm trying to make a plugin that hides messages sent from webhooks (like the GitHub one above this message lol), and I can't seem to find a way to change the contents of messages in chat. I'm looking for a way to set the contents of the message to empty or to just hide the message entirely? any help? I am able to identify the message as being from a webhook, I just can't seem to find a way to block it
why do u wanna hide webhook messages
bc they're annoying sometimes
u might be able to do it with css
how would I apply CSS to just one message though
make messages like these disappear
If i could display none this one message, that would achieve my goal
so clearly its about one specific message and not all webhook messages?
I phrased it poorly
This is for all webhook messages
How would I locate the html element?
no
you could patch the message component and return null if its a webhook messsage
It doesn't seem easy to find my way around the minified code
use react devtoolsa
I don't even know what to search for or where to start here
ctrl shift i
I know how to open the devtools, i meant how to make the Components appear
this
I just don't have that
I've poked around a bit, and I was able to use the react component menu to find out where it is in the hierarchy, but I just don't understand how my code is supposed to do that, or how my code is supposed to edit it
I can see the message ID in the react component props, but I'm not sure how to filter react components by props, if that's even how to approach this
i'll see what I can do
I am trying to patch it, but all i have to go off of is this one page doc. I'm what to set the regex to, or how to have it inject the code. I think I can see what to add to the function to have it detect the webhook, but i'm not really sure. With no documentation and no other plugins to base myself from, I'm kind of stuck.
I would imagine that I would add a check for n.author.bot and n.webhookId there
you kinda just have to improvise
but there are many plugins to use for understanding patching better
what plugins modify the messages of others?
the concept is pretty simple, u just need to understand discords code and know regex decently well
not sure how that could best be documented better
a lot of them use message decoration api
message decoration api has the patch
ok well I guess I can use the decoration API. Since there's no documentation on it, can you point me towards a plugin that uses it, so I can see how it's implimented?
you can't use the decoration api
it's for message decorations
decorations are stuff like embeds, buttons, etc
got it
it can only add stuff not remove stuff
as for finding plugins that use it, just use search in ur ide
yeah I found it
I recently moved api and core plugins to src/plugins/_api and src/plugins/_core respectively. companion should support those paths for patch testing
It would be useful to add plugin actions like "Enable Plugin" and "Disable Plugin" at the top of definePlugin calls
It's very easy to forget to add api plugins to your plugin's dependencies which leads to confusing breakage of plugins. It would be good if companion could detect this and warn you
It should detect calls to apis and check if your plugin object has it listed as dependency. if not, it should display an error. it's probably easiest to hardcode apis that require you to add a dependency but parsing apis dynamically would be even better
what's the best way to add CSS to the page or an element? I figured that I can use document.querySelector to get the message element, and add display:none to it
I see a styles API hang on
ok well I tried what I could with it, this is super annoying
I GOT IT TO WORK
JS query selector + HTML style tag
this is some of the worst code I have ever written
javascript
it's TS, you know what I mean
still javascript but slightly less unusable
I'm used to calling the queryselector the JS query selector
this code is terrible. the code will not work without a one millisecond delay
if i comment this out, the code stops working. kill me now
ok so I added the ability for it to hide not just new messages, but already-sent ones too, and then I went to a channel with nothing but webhooks... the scrolling speed
I should probably add a rate limit
I just have it wait 100ms before hiding a previously sent message
works well enough
I can probably lower that to 50ms too
ok well there we go, that's a plugin
i have made a plugin, not too bad. I just needed to avoid patching since I couldn't get that lol
ok well i have just realized that my plugin does not, in fact, work
it cannot tell the difference between bots and webhooks
the webhookId property always returns undefined regardless of if the message was sent by a bot or webhook
i think it's a vencord bug
check how MoreUserTags sees if a user is a webhook or not
I copy-pasted from MoreUserTags. Doesnt work for me but works when in MoreUserTags? very confusing but it does rule out vencord
are you checking for it correctly? it's there for me
I'm not patching, I'm using flux
ah mb
I keep staring at the MoreUserTags plugin code to check webhooks and I keep getting more confused. It starts out with the function getTags getting called with patching, and it's really hard for me to follow from there. I don't understand how it gets the user object from the patching or how that user object is different from the one flux gives
this should just work, but the flux user object just gives undefined for webhookId no matter what.
when this fires, it logs undefined which is annoying to no end
I am pretty sure this is a Vencord bug
inb4 that message just isnt a webhook message
lol
it's a webhook message for sure
just double checked to make sure too
OH MY GOD
i just fixed the vencord bug
the what bug
hang on
it's in the discord-types node module
add webhook_id: string | undefined; to line 96 of Vencord/node_modules/.pnpm/discord-types@1.3.26/node_modules/discord-types/general/Message.d.ts
thats not how it works
u cant just edit node_modules like that
those types are heavily outdated
say what you want, it fixed my issue
u write them :P
guh
is discord-types outdated or is it just vencord having an ancient version
discord-types outdated
that package was made way before swc happened
and has never properly been updated
it's missing any fields that were added in the last year or so
oh
i've been meaning to pr to it for ages but i don't think anyone but us even uses it
so it's probably better to just get rid of it and have our own types in vencord repo
@vencord/discord-types when
never
having a node module for it is pointless and makes it harder to maintain
just having it in maion repo is better
/ monorepo
fair
Voice Channels have a chat built in, which friends of mine often use, if they don't want to talk, but still hear me.
So, they use the voicechat for their answers. But, those are easy to miss.
Would it be possible to read out messages of the current voice channel?
Things that would make this plugin even nicer:
- Selectable TTS Voices for each person (Male, female etc.; Maybe automatically assigning using PronounDB??)
- Volume Controls
- Muting messages of certain users
- Actually nice T...
options: ["128", "256", "512", "1024", "2048", "4096"].map(n => ({ label: n, value: n, default: n === "1024" }))
trolley
Hi! I don't think this plugin is very mergeable for various reasons:
- It uses a suspicious seeming api that will likely die sooner or later
- Especially with arjix suggestion (and other people will likely also request it), this comes dangerously close to AnimatedStatus which is against our rules
- It doesn't seem very useful to me. Who would want an ai generated status?
Thanks for your effort anyway! If you want to publish this in the #third-party-plugins channel on discord, feel free...
remind me to look at https://github.com/Vendicated/Vencord/pull/917 later
a1fabcd UnsuppressEmbeds: Support dms - Vendicated
55af40e MessageLogger: Add user ignore list (#1275) - kbd0t
e8d90d2 feat(plugin): BiggerStreamPreview (#1222) - philhk
2039e10 Codeberg Mirror: Hopefully fix race condition - Vendicated
555cf64 BiggerStreamPreview: Hide element if no stream ... - Vendicated
Closing as I don't think anyone cares about this feature anymore and I don't feel like having to resolve conflicts while waiting for this to not be merged.
Discord Account
skyrider1570
What is it that you'd like to see?
The plugin is great but at the moment it seems to be unable to remove thesame tracking stuff from any twitter URL I post that uses "vx" and "fx" for example
https://twittervx.com/Dexerto/status/1669345035639492609?t=2c86_jcBxl9gK7EhefNT6Q&s=33,
https://fxtwitter.com/NoContextHumans/status/1669279210609729536?t=PDA9-QyuwOY03_IfwPy9pA&s=19 and
https://vxtwitter.com/NoContextHumans/status/1669279210609729536?t=PDA9-Q...
actually real
the curse of active single-maintainer projects
i feel bad for ven its probably tiring
ya
but still its too long for me to want to keep caring about maintaining a PR that has been finished for 2+ months
yea just unfortunate
reviewing 50+ prs is pretty hard
especially since there are already 470 merged prs
that's a lot
@austere talon I might make a PR to MessageLogger that makes edit logging better (click on the edited button and open a modal with diffs and the ability to read each message object if you want. rather than rendering each version of the message which imo is not great)
yeye do
does that even need to be optional, pretty sure thats just an objectively better way of handling it
if it doesn't get in the way / alter old behaviour, no
ah okay so people should be able to switch it to how it was
okay
also I might work on it I might not, but would actual message logging be on the table? It would respect rate-limits and have legality warnings
depending on your juristiction its completely legal as a party to a conversation to record it
could even have a thing that renders the logs like a thread
@austere talon
discord casually not notifying me about any of this
channel didnt even have unreads

persistent?
no
discord shitcode funny
that raises a lot of privacy issues, possible gdpr violation, may be illegal in some jurisdictions, also not very useful imo
would it be okay in #1032200195582197831 ?
uh
not really
do you really think it's useful
when do you actually care about deletes after restart
and why not just screenshot in that case
yeah, for recording a conversation that someone unstable might decide to nuke later
that you need as evidence
why do you need something as evidence ๐ง
and why not just use discord chat exporter in that case
thats a thing?
ye
aight I guess its not really needed then
disocrd chat exporter โค๏ธ
although this is technically 
but not risky for account
could make that into a vencord plugin actually
didn't you just get done saying that it can't be a plugin?
actually I had a idea for chat exporting 
chat exporter is different
just make it log all messages into somewhere and as long as you scroll up
it will write new ones
so its technically not selfbotting
i don't think anyone could reasonably argue against chat exporting
considering you could just screenshot

yeah chat exporting is what I meant
message logger is a bit more questionable if you log permanently
well chat exporting is essentially permanent message logging
since edits and deletions can happen afterwards
anyways so I go back to my original question then
can chat exporting be in vencord?
because I might work on it at some point
if it's ร la ^, sure
though doing so as well as that might be tough
its quite a bit of work yeah, but its something I may work on at some point
could do keybinds and overlay stuff and context menu options and whatnot
do it all up
might even do some ffmpeg-wasm downscaling of attachments if I'm feeling inspired
at that point it might be a bit too much to be included in vencord itself, but external plugin loading is being worked onโข
Is it possible to add the animated status plugin?
Is there some main todo list of things to be added?
anything we use
?
whar?
What do you mean โanything we useโ? Iโm trying to see whatโs planned to be added to vencord
Best bet is check PRs in the GitHub
then why did u reply to that message lol
anyway, uh not really
see the issues for stuff to work on, though some of it may already have prs
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 ```
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 ```
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 ```
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 ```
be9b5db PronounDB: Source pronouns from both PronounDB ... - Vendicated
Limitations: Pronouns are stored in user profiles, not the user obejct. This means that we don't have access to Discord pronouns in chat, only once you open someone's profile
someone smart look over this code real quick to ensure i didnt brainfart
@limber skiff
works fine for me
looking
before it got guild profile or user profile
then pronouns from that
which isntcorrect
cause u can have guild profile without overwritten pronouns
guhhhhhhhhhhhhhhhhhhhhhhhhhh
oH
dang that's right
I think this should be
export function getCachedPronouns(id: string, discordPronouns: string): string | null {
if (settings.store.pronounSource === PronounSource.PreferDiscord && discordPronouns)
return discordPronouns;
const cached = cache[id];
if (cached && cached !== "unspecified") return cached;
return discordPronouns || null;
}
- return discordPronouns || cached || null;
+ return discordPronouns || null;
so we return null instead of unspecified
its handled further up
well it could also be handled further down but thats how it was previously
okay seems good
lmao i was literally looking at how discord delivers pronouns to do something with pronoundb, i go and check the repo, > 4 minutes ago
lmao
it's a bit limited unfortunately
we don't have access to discord pronouns until you open someone's profile
yes in the user object
Can't get much more bloated
unfortunately they don't, but they might
there were talks about it in the api server apparently
Would be nice
I was almost hoping they'd add an aria element somewhere nice so I could add it pronoundb style using my theme
Hah, like that's ever gonna happen
the plugin adds them to chat
but unfortunately only works once you opened their profile once
we could fetch everyone's profile but that's api spam ๐
thanks nookies
add different sections for gifs kinda like https://cdn.discordapp.com/attachments/1116320259008364554/1119467237401690152/image.png
but let us customize them yeah?
breh i spent like 2 minutes trying to resize the picture in pizture only to realize it means the silly image preview when you hover someones screenshare
Here's my plugin, HideWebhooks. It automatically hides webhook messages, unless the webhook ID is added to the whitelist in the plugin preference pane. Enjoy!
found a bug that I have realized is going to be a royal PITA
i am better off waiting for Vencord to update the type definitions than fixing it on my plugin
because I have no eta on this, i've closed the PR for now
realized the bug was much smaller than I thought before
Discord Account
@danilwhale
What happens when the bug or crash occurs?
nitro themes again don't work with fakenitro
What is the expected behaviour?
select nitro theme and it would enable forever, not for 10 nanoseconds
How do you recreate this bug or crash?
(assumes that you already enabled fakenitro)
- open user settings
- open appearance
- select theme you want
- look how your theme disappears
Errors
[discord_protos.discord_users.v1.PreloadedUserSettings...
Didn't mean to leave that in, that was my initial attempt of pushing the member count above the member list
thank you discord, for putting something out of place that already had its position moved anyway https://the.yog.zone/VfLE3Um.png
not even themed correctly, average discord moment
wait wdym
suppress embeds is added by venchord
but it shouldn't be there blehh
yes, but now its between remove reactions and remove all reactions lol
fuck if i know
i made a snippet to fix the inconsistencies in context menus
ic
also for reference, the full context menu for that previous screenie https://the.yog.zone/k7EXpD8.png
oh nah not those, im talkin about the fact that discord added the remove reaction type option, but left the arrow white
bit of tomfoolery

I'm basically asking for a port of the BetterDiscord plugin of the same name.
The plugin:
- Adds the account's online Status in Chat
BetterDiscord plugin link: https://github.com/Strencher/BetterDiscordStuff/tree/master/StatusEverywhere
PlatformIndicators..?
already a thing via platform indicators
Discord Account
lovelydumpling
What happens when the bug or crash occurs?
Particularly when encrypting links that don't have an embed, such as direct links to files and some websites.
If the link has an embed, such as a site preview or image, then it seems to work just fine.
This happens both on Discord Stable and on Vencord Desktop.
What is the expected behaviour?
I expect the message to be decrypted and show the message with the link.
How do you recreate this...
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 ```
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 ```
This plugin might be on the riskier side as it'd be sending requests in ways a vanilla client wouldn't.
As usual, the discord API has a good feature, but it's not implemented in the UI in any way - you can search for messages in a thread by just passing the thread channel ID to the search API endpoint. It has been several years since discord implemented threads, and this still isn't possible from the UI, so I've given up hope for them adding this feature.
It'd be nice to have this in a ...
Discord Account
LeoTheSmart#7576
What is it that you'd like to see?
I would absolutely love to see BetterDiscord Plugins compatible with Vencord!
Request Agreement
- [X] This is not a plugin request
ven will add bdcompat to rule 9
Duplicate and not planned. Bd and Vc function in very different ways so this would basically require writing an entire mini-bd inside vencord. I also consider it an anti feature since so many betterdiscord plugins are of very low quality
This modification probably can be included in a more general screenshare enhancer plugin like #730 (though idk why this one got closed unfortunately)
A example for this kind of functionality can be found here
we will require commits to have [unskip ci] for ci to work
what if vencord docs starlight
https://starlight.astro.build/
oooooooooooooooh
i hate react
I desperately needed documentation when making my plugin lol, this would be amazing
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 ```
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 ```
i used to give my friends cool badges and change their profile pictures to funny stuff lol
now i wanna use it to hide statuses of people i dont like >:|
It basically says for itself, it open Spotify links in the Spotify Desktop App instead of in your default browser. Edit: Whoops, the title was supposed to be "OpenSpotifyLinksInSpotify", apologies for the mistake.
Link to the plugin: https://github.com/Strencher/BetterDiscordStuff/tree/master/OpenSpotifylinksInSpotify
Oh, didn't know that existed, thanks.
Im an idiot and keep accidentally clicking the super react button, it be neat to simply disable it.
Discord Account
LeoTheSmart#7576
What is it that you'd like to see?
For example the ping sound etc. I would love to see that!
Request Agreement
- [X] This is not a plugin request
- [X] This is not a plugin request
Sorry Vendicated, I was confused on where to post. Anyways, I want to see a feature or plugin that consists in changing the Discord sounds like the ping sound etc.
all good 
Though it would still be nice to have this as a separate plugin.
Translte plugin should also translate embeds
in what context
this isn't nodejs
window.close() might work
or DiscordNative.app.quit()
though discord native is desktop only
.
This can be done with css. Or use an already built theme for it https://github.com/D3SOX/complementary-discord-theme/blob/master/hide-nitro-upselling.theme.scss
Super Reactions can be disabled through the experiments menu. They are called Burst Reactions IIRC

What
Ah
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 ```
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 ```
are yall gonna merge any pulls at all
You should see the ones that have been merged
yes.
ok
is there a way i can also contribute to this pr?
https://github.com/Vencord/plugin-template
This is already usable, it just loads every .js file in VencordDir/plugins like normal plugins
TODO:
Add some way to add plugins via Vencord settings
A...
Hi! I don't think this should be merged because it's really niche and will just cause stupid people to enable it then be confused why some messages are gone. I can still give you feedback if you would like though, also if you would like to post it in #third-party-plugins just let me know!
i was kinda expecing you to push more changes. Should we not remove the filename param? seeing how useless it is
If any of the code sucks, let me know so I could fix it
I didn't originally code this for TS, but I've tested it and I know it functions as intended
why not just do this via css?
you cxan still just do it via settings!
Seeing as this isn't very useful, I'll be closing this. You can just set the lens size setting to this number and get the same effect
Thank you regardless!!
This has been implemented partially so I'll be closing this. Thanks anyway for your effort!
finish the darn plugin
Please explain a bit what this plugin does
Also based on a very quick skim of the code, this would require a full rewrite to be anywhere near mergeable.
- You should not use raw dom manipulation, especially not via polling. Use patches instead
- This plugin seems to allow remote code execution which needs to be fixed
- You should use Vencord's css bundling instead of adding it manually
Don't tell me that ๐ญ
I'll see what I could do later on
im surprised replugged officially approved this plugin
since it contains remote code execution
**index.ts: **Lines 96-100
fetch(data.servers[i].logoURL)
.then((response) => response.text())
.then((response) => {
document.getElementsByClassName(serverName)[0].innerHTML = response;
});
someone could make logoURL https://gist.githubusercontent.com/Vendicated/513f3270d9ab398569f47321fb21eaa0/raw/759a046860626418e37a3cfa876bd800da229ba7/gistfile1.txt at any time
which would be prevented by csp on vencord but replugged just strips csp so it would be vulnerable
@still condor you should address this issue
very scary
after some more research it doesn't seem to be approved so that's good. I was misled by this link working but i guess it just allows you to add arbitrary repos
There's no remote code execution
This is not true. You fetch logoURL as text then set an element's innerHTML to this response. If logoURL returns vulnerable html like <img src="banana" onerror="alert('pwned')">, it leads to remote code execution.
You're also using svgs which are inherently vulnerable to xss https://research.securitum.com/do-you-allow-to-load-svg-files-you-have-xss/
For proper security, you need to stop using svg and use something safe like png or webp
you should not be doing this with raw dom. Use react state for this instead
This is not true. You fetch logoURL as text then set an element's innerHTML to this response. If logoURL returns vulnerable html like
<img src="banana" onerror="alert('pwned')">, it leads to remote code execution.You're also using svgs which are inherently vulnerable to xss [research.securitum.com/do-you-allow-to-load-svg-files-you-have-xss](https://research.securitum.co...
avoid hardcoding colours. Always use Discord's css varialbles for proper theme support
doing it like this with styles is kinda bad. it would be better to use a react state and conditionally render instead. You can look at the ExpandableHeader component for an example on this
return ids.filter(id => !GuildMemberStore.isMember(guildId, id));
pretty cool plugin!!
you cxan still just do it via settings!
I see no such option to set it to 10K.
Vencord.Settings.plugins.ImageZoom.size = 10_000
in devtools
Well, this means it is not easily available, but alright I guess. Thanks for taking the time to review it!
Self-explanatory. There was a plugin on BetterDiscord that did this, but it's been broken for a while.
they want to automate it while playing game
as in
if u launch game it sets ur status to dnd



