#๐พ-core-development
1 messages ยท Page 55 of 1
A
- B [smth like this had a higher z-index]
-
- child
-
- child
- C
-
- child [you are here]
Eh, they can all be 1 and the button can be 2
Have ya tried using !important
wait i was joking when i said to add that @austere talon 
makes sense though
ServerListAPI (had no effect):
ID: 118442
Match: /(Messages\.SERVERS,children:)(.+?default:return null\}\}\)\))/
WebContextMenus (had no effect):
ID: 567068
Match: /(?<=showApplicationCommandSuggestions;)if\(![A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*\)/
None
font-weight: bold;
color: purple;
[kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping ```
oh yeah time to fix those
wait it works fine for me
??
oh inside
nothing uses that
ServerListAPI (had no effect):
ID: 118442
Match: /(Messages\.SERVERS,children:)(.+?default:return null\}\}\)\))/
WebContextMenus (had no effect):
ID: 567068
Match: /(?<=showApplicationCommandSuggestions;)if\(![A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*\)/
None
font-weight: bold;
color: purple;
[kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping ```
d5c3505 experiments: Add a warning card to experiments ... - Vendicated
should have done this earlier tbh
a plugin that adds some utilities for images/videos (gallery, download, reverse search, zoom, copy, etc.)
and can also zoom into images soon along with the name of the file and size.
the existing plugin on BD: https://betterdiscord.app/plugin/ImageUtilities
if this could be done from zero in typescript, it could honestly be a nice addition for the plugins list.
dont get the husk on this one what did that plugin do
duplicate
there are like 9 requests for that
and most of its features already in vencord
Hey can you add more translation languages โโsuch as French or Italian...?
lmao
ok this feature is already there. my bad
@austere talon Hello,
Thanks for the Translate plugin.
But I wish there were also options for DeepL or GPT.
wrong vee at first 
all of these features exist already as plugins
GPT
what
literally all of these already exist as plugin
didn't work because i couldn't find a way to find out which members had been fetched and which hadn't
(assuming fetch is the right word, also my brain farted a lot of times there)
````I want you to act as an ${lang} translator, spelling corrector and improver. I will speak to you in any language and you will detect the language, translate it and answer in the corrected and improved version of my text, in ${lang}. I want you to replace my simplified A0-level words and sentences with more beautiful and elegant, upper level ${lang} words and sentences. Keep the meaning same, but make them more literary. I want you to only reply the correction, the improvements and nothing else, do not write explanations. My first sentence is '${text}'```
add util for fetching users when
GPT translates much more successfully than translation services such as Google Translate and DeepL.
doesn't whisper do a good job at translating as a model?
just run it on discord, it only needs like 2-4 gb just to run a model
Of course, in this example, the key is requested for DeepL iTranslate, Yandex, Papago and Baidu, not for GPT. But I think it can be easily added to ChatGPT.
openai plugin to generate messages based on the conversation context would go crazy
yeah but its not sent as the user
i might make that later it'd be a great meme
exactly
exactly why im making it
would you merge
i wanna see people in the support channel using it to write messages
catgpt translator
i am not home and wont be until later today
meow meow meow meow mew mew meow meow purrr purr meow meow :3
@austere talon github finally did it
https://github.blog/2023-03-07-file-editing-on-github-mobile-keeps-leveling-up/
this is good even if you dont plan to edit files on ur phone
cause it means they will improve the code reader
i hope
man I wish the github mobile app was open source
I'd have contributed so much to it
1fe7f3c ViewIcons: More consistent context menu position - Vendicated
why? need all caps because people are genuinely blind/dumb
<Link href="https://github.com/AutumnVN/usrbg#how-to-request-your-own-usrbg-banner">CLICK HERE TO GET YOUR OWN BANNER</Link>
393f767 USRBG: Hide Nitro badge if banner's source is U... - TheKodeToad
i cannot reproduce any of this at all. Please provide more info about how you're using Discord, what themes and css you're using, etc
This pr is a poor bandaid fix and doesn't actually address the root issue (of not properly closing the profile popout)
this replacement is extremely specific which will make it break very easily. Try making it less specific, only match the part you actually need and make use of wildcards
avoid using the Vencord global, import the functions you need
addPreSendListener((channelId, message, _extra) => {
instead of adding a plain object here, add yourself to the Devs constant and reference that
remove this option. Have a constant unchangeable delay that is guaranteed to not get you ratelimited
please avoid using var unless you have a good reason to. this should be a const
you can use sleep from utils instead
Please limit the amount of messages that can be sent. For example, limit it at 5 messages. That is plenty and anything higher has high spam potential
omg 1100
@austere talon lmao the skip ci commit broke the pr
test status will never be reported
wdym
lmaoo

push another commit
I honestly don't see the point of this plugin.
2 years ago it would make sense but, nowadays, discord prompts you to send a huge message as a file
Yeah, it might be inconvenient for mobile users, but I doubt anyone on mobile is willing to read a message longer than 2000/4000 characters.
Plus sending a giant blob of text as a file makes the chat look cleaner as well.
or amend the current one
^ I do agree with this, why would you not just send your message as a text file?
0c54b1f [skip ci] Fix InvisibleChat button being added ... - Nuckyz
@limber skiff we will make chat bar api NOW
tbh
addChatBarIcon(() => <ChatBarIcon />, ChatBarIconLocation.ONLY_CHAT)
smth like this
would probably be best

you talking about these?
I might as well work on that
it'd be really easy
I'm already doing no worries
MoreStickers and SevenTVEmotes are unique
as they integrate with the expression picker
(thats what discord calls it)
wtf
kk
there's like 4 plugins that have this patch copy pasted
https://github.com/Vendicated/Vencord/blob/main/src/plugins/invisibleChat/index.tsx#L138-L144
**index.tsx: **Lines 138-144
{
find: ".activeCommandOption",
replacement: {
match: /(.)\.push.{1,30}disabled:(\i),.{1,20}\},"gift"\)\)/,
replace: "$&;try{$2||$1.push($self.chatBarIcon(arguments[0]))}catch{}",
}
},
the api would just need to change it to ```js
$1.push(...$self.buildChatbarIcons(arguments[0]))
trivial
and then export a component the plugins can use aka this
https://github.com/Vendicated/Vencord/blob/main/src/plugins/invisibleChat/index.tsx#L67-L114
except take the variable props as props
this is half-assed
wtf is the taco icon
wdym
MoreStickers
?
yes but the outside Tooltip div, Button, div are all boilerplate
only the svg (and some props to the parents) need to be variable
okay I see
in any case if you do make an api, I would remake Discord's buttons for this proeprly
this is a proper patch for the chat bar icon
(but uhh, in this case it is specific to mimic the stickers button)
wtf is that
checks for message submit perms
a patch
we already check too
before you push the icon?
E = (0,
r.jsx)(Hi.Z, {
className: np().stickerIcon,
winking: j,
color: O ? Eb.JX.PREMIUM_TRIAL_TUTORIAL : "currentColor"
});
return (0,
r.jsx)("div", {
className: a()(ui.CT, np().buttonContainer),
ref: t,
children: (0,
r.jsx)(wh, {
innerClassName: a()(np().button, np().stickerButton, (S = {},
Sb(S, np().stickerButtonWithNotification, m),
Sb(S, np().stickerButtonTilted, j && !b),
S)),
onClick: C,
isActive: b,
"aria-label": X.Z.Messages.STICKER_BUTTON_LABEL,
"aria-expanded": b,
"aria-haspopup": "dialog",
"aria-controls": s,
sparkle: !1,
notification: null,
children: O ? (0,
r.jsx)(ah.Z, {
tutorialType: oh.K.STICKER_PICKER,
text: X.Z.Messages.PREMIUM_TRIAL_TUTORIAL_STICKER_TOOLTIP.format(),
unformattedText: X.Z.Messages.PREMIUM_TRIAL_TUTORIAL_STICKER_TOOLTIP_UNFORMATTED,
children: E
}) : E
})
looks like our Component would be like
function ChatBarComponent() {
return (
<div className={buttonContainer}>
<wh ...>
<PluginSvg />
</wh>
</div>
)
}
what
well, in this case we clone the sticker button, thats why I also patch the component for it
yes but the average USRBG user needs youtube clickbait to even find the button
ok so wh is the button component I see
it's not exported which is pain but it has a lot of logic including all the hover stuff
where's the tooltip though
so grabbing it is simpler than remaking it probably
they don't have it
only this has a tooltip
and is not part of the button array iirc
wh takes onMouseOver and onMouseLeave
should I make an API to integrate with the expression picker?
so you can use your own tooltip
I will see how the gift button does it
seems too niche
2 plugins already do it (still PRs tho)
<Tooltip>
{(props) => <wh {...props} />}
</Tooltip>
favourite media could also use it
whats the other one
which has been on hold for months now, right?
if 3 plugins have a use for it, then I believe an API is not such a bad thing
the chat bar icon stuff could be part of this API
having an API for this also guarantees that plugins won't interfere with each other
also, this is cursed
tooltip but no highlighting if you are on the edge?
(the gift icon also does that)
so does everything
well actually
they highlight before you even hover over them
the GIF icon is weird
it does highlight on the edge
but it highlights even more once you hover over it
they dont.
same for sticker icon
holy shit
@austere talon I'd like to remind you that another API is still not reviewed and is waiting for a review or getting merged
keybinds api https://github.com/Vendicated/Vencord/pull/981
I bet someone in 2 months will make a new keybinds api PR because this will have not been merged yet
just search for Tooltip
and see what other plugins do
Enable the use of soundboard sounds from other servers.
Not possible. It is checked serverside.
78th issue for that crap
I think it would be a great addition to Vencord if this plugin were to be added: https://betterdiscord.app/plugin/EditUsers
This BetterDiscord plugin lets users edit various attributes of other users profiles. These changes are local only, and are not shared with the edited user. This is great for removing unwanted content from users profiles without needing to beg them.
this is like the fifth duplicate request for this. please check whether the request already exists before making one
couldn't this get you banned anyways? they might have some warnings about bandwidth usage, kind of the same as twitch does, so even if it's a good idea, i don't think it'd be worth the risk...
About
This plugin aims to integrate discord with Opera GX's Mods.
What is an Opera GX mod?
They are extensions that can be installed on Opera GX (the browser) to customize the appearance and feel.
They are pretty nice since they usually have background music and keyboard sounds.
You can find more here!
Disclaimer
I won't accept any help for this PR other than reviews by the maintainers.
Please don't spam the comments with "when will this be rea...
opera gx 
I don't understand the hate
is it bc it is advertised as a gaming browser?
Let me get this straight with you, this plugin will offer way more advanced theming capabilities.
anyone can make their own mod
https://github.com/opera-gaming/gxmods
Don't hate this just bc of opera gx
heck, discord "mod"s for opera gx already exist (albeit they all suck)
and how does that relate to a vencord plugin that only gets themes from it?
am I talking to a wall?
the plugin only gets the themes from the theme store ffs
i also plan to allow loading local themes
but what?
I don't want you to suggest me what to do
If I did not enjoy doing this, I wouldn't do it.
It is the best use of my time.
and how does that carry on to a plugin that does not give data to opera?
not even ur ip, I use a cors proxy
OperaGX is spyware and their marketing and the community surrounding it are annoying
and why the
?
the plugin itself is not spyware
the community is toxic indeed, but I don't have to participate in the community to use the browser, so that is not a valid point
besides, this is a vencord plugin, not the browser
bro
i just reproduced that settings issue
if u get a ping while in plugins page it clears filter & scrolls u up
wtf
yep
lmaooo
Changelog:
- Added Settings page to select weather blocked messages can be opened or cant
- changed how css is loaded
- add tooltip
- fix button so it works :/
- cleanup css and remove uneeded css
- make the bar better positioned and fix the sizing
release as userplugin for ppl who use discord in browser lmao
oh wait browser nerds cant use 3p plugins anyway lmaooo
venchord desktop finish when
- changes timestamps from hh:mm to date (more sane)
- updates oauth url to new one
- updates "review @user" component to new discord one
- checks if user is banned on launch,if banned show a modal
- removes some unneccesary webpack searchs
- also prevents "Enter" button in textbox creating new lines
;
you should use proper links (a) instead of buttons
why is it a mix of snake and camel case wtf
wtf boom
@median rapids ive mainly been donowalling cause i cant test it at all
i have analytics off
are these identifiers? aka case foo.bar.BLOCKED
If so:
match: /toString\(\)\}\);case (\i\.\i\.BLOCKED)/,
don't hardcode minified variable names like "t" here
shouldn't this be
id => RelationshipStore.getRelationshipType(id) === 5 /* IMPLICIT */
avoid pointless variables
return ChannelStore.getSortedPrivateChannels().some(channel => channel.recipients.includes(userId));
btw lint is failing @quaint sapphire
Gonna close this because it's not the right way of fixing it as mentioned above. Please still provide more info / open a proper fix pr if you can figure it out yourself
@jagged cloak did u wanna make https://github.com/Vendicated/Vencord/pull/1072 more generic?
meh
im thinking like
could have an action with settings dropdowns for every enabled plugin 
if you want generic
add a category like
Settings Quick Access
Plugin1
Plugin2
Configure plugins >
ah yeah
and configure plugins is one of these
with every enabled plugin that has settings
or opens a modal maybe
cause there might be a shit ton of plugins lmao
yeah lol
i dont see people adding a bunch of plugins though its supposed to be quick access lol
nah i meant the dropdown
like this haha
imagine having 50 plugins there
ShowHiddenChannels (had no effect):
ID: 688941
Match: /"recents".+?null,(?=.{0,120}?channelId:([A-Za-z_$][\w$]*)\.id)/
None
font-weight: bold;
color: purple;
[kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping ```
OMG
no way
ShowHiddenChannels (had no effect):
ID: 688941
Match: /"recents".+?null,(?=.{0,120}?channelId:([A-Za-z_$][\w$]*)\.id)/
None
font-weight: bold;
color: purple;
[kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping ```
you will fix
you probably just have to make the quantifier bigger
i dont even use shc
or just make it infinite
grrr
HOW DOES IT HAVE SO MANY PATCHES
it supports viewing all types of channels
fixes a hundred unread issues
and other stuff
@limber skiff speedrun 
nice
why are so many people allergic to newlines
@verbal pumice please use more newlines in ur code ๐
split up each small section of code
makes it so much more readable
blessing and a curse
i absolutely hate the way prettier looks but i do have to say it's better in big projects with many contributors
i would never use prettier in my own private project but if i remade vencord from scratch i would use prettier because it's painful when people pr terribly formatted code
yeah
i wish prettier allwoed you to override its behaviour
that's how intellij formatter works
it has its own defaults but if you manually add say a newline it accepts it and leaves it like that, aka it lets u override the default manually
doing the same with prettier, prettier goes 
@austere talon add no trailing comma rule
๐
PORTUGUESE
i enabled auto translate to portuguese to torture my friend
forgor to disable
good
portuguese is not torture ๐
i love translate plugin idk why i didnt make it earlier
so good
wait i should add to README
yop checking now 
but fr can we have no trailling comma rule
vou aprender portugues logo
LOGO PORTUGUรS
does logo both mean logo and soon
lmao
yes
I thought it would've meant later
depends on the context
Maybe a better solution would be to only select the message text with the following selector
That is what I meant! Essentially, instead of making a very broad filter, then :not'ing specific stuff like this pr does, I would prefer making the selector more specific like that instead
I like ActivityIcons! But what's the point of ShowAllActivities? this info is already available from the Activities tab in the profile. Is that just for the mini popout?
Why not make these separate plugins like the BD plugin? I think i would prefer that
If it's about reusing state, you can import files from other plugins just fine
converted this to a draft again until they re-release it lmao
this is now available as ValidUser!
No, the whole point of this function is to figure out what users Discord treats as implicit relationships and insert them into cache. nonFriendAffinities is just user affinities that you do not have an existing real relationship with.
Implicit relationships aren't actually stored as relationships on Discord's end, so they aren't sent in READY or normal GET /users/@me/relationships calls. Implicit relationships themselves are a GameSDK artifact that was kept alive when they added the ...
Oopsies, forgot to change that after testing
description: "Automatically disable the silent message toggle again after sending one",
63387a4 silentMessageToggle: Add setting to disable aut... - SupertigerDev
3c7496a TextReplace: Visible Linebreak in settings (#1063) - AutumnVN
@austere talon what does \i do?
that suggestion breaks the code
\i matches identifiers/names
that suggestion breaks the code
yes because i changed it to match the entire thing as one group
ah
\i will match M and pJs
is this a vencord-specific thing
yes
react state
i know next to nothing about react
i tried calling the .reset() function but it didn't do anything ๐
u can just run it urself locally
pnpm test
but sure, just did!
@median rapids ur other patches use .{1,3} and [^;]+ a lot
those can also mostly become \i
also + is very dangerous, always use +?
+ = greedy, wants to match as much as possible
+? = lazy, wants to match as little as possible
oh TIL
ill change what i can !!
Closing because this isn't something we can fix on our end. Hopefully a future Electron version will fix it
thats what i was saying lol
but ig they added username to it
in older it was just the discrim
i think i got all the changeable ones 
7dcd32e PlatformIndicators: Fix weird spacing in badges - Vendicated
replace: 'toString()});case $1.IMPLICIT:return "Implicit โ "+arguments[1];case $1.BLOCKED'
now you don't need any of their jazz
replace: ";case $1.IMPLICIT:return $2.type===5"
using lookarounds, you can avoid just replacing Discord's code with itself
match: /(?<=case (\i\.\i)\.BLOCKED:return (\i)\.type===\i\.\i\.BLOCKED)/,
now you don't need any of their jazz
replace: ";case $1.IMPLICIT:return $2.type===5"
now you don't need any of their jazz
@limber skiff isnt thsi already a feature https://github.com/Vendicated/Vencord/issues/897
theyre actually pretty simple once u get the gist of it and super powerful @median rapids
(?=) is a lookahead
(?<=) is a lookbehind
like the names imply, they look ahead and behind
/a(?=b)/ matches a followed by b (but only matches the a, not the b)
/(?<=a)b/ matches b but only if it it's preceded by a
there are also negative (negated) lookarounds (?!) and (?<!) which do the same but negated, so /a(?!b)/ is a not followed by b
then there's also putting lookbehinds after the match instead of before which is even more powerful and which you'll see in a lot of vencord patches: /a(?<=ba)/. This will first find a, then walk back to find ba. It's the same in this case, but you could for example do smth like /banana(?<=function (\i).+?banana)/ which will first find banana, then walk back until it finds the first named function, which is incredibly useful for capturing variable/function names
oo interesting
I'll do more research on them then inevitably forget everything about them in situations where I'd want them
ty!!
Adds a new behavior option to NoReplyMention that lets you avoid pinging only specific users instead of only not pinging specific users.
Note: Not sure if I was supposed to add myself to the author list or not, looking through commit history it seems like I am.
it's a bit hard to follow for me what this is trying to accomplish. isn't this already a feature if you enable the invert shift behaviour option?
Looks like it sorry. Haven't updated in a while so its not in my main browser, and misunderstood what it was doing while writing the pr.
ooo no need to apologise, thanks for your work anyway!
Actually thats not quite right. Inverting shift just makes shit clicking the reply button not work. I'll check how the options interact and see if I need to change anything (I assume it works the way it does for a reason but idk)
yeah
ffs lol
tbh i don't use the no reply mention plugin so I have no idea how it works honestly
I think my pr intends to do the same thing, the existing setting just dosen't actually work
so I just removed it and made the logic more readable (no ternary with comparisons)
I just use it to avoid getting muted by a bot in another server, so I'd rather just exclude the specific people that the bot mutes you for pinging
it is
the bot I mean
that sounds like those people are really annoying people you probably don't want to be around ngl
well the reasoning is people not reading the project wiki and then pinging the dev for help so I understand it
I guess, we have the same problem here and it's mentioned in #rules but that should only apply to
hi @crude drum how to download vencord??
and not replies
I'd assume its due to people trying to ping without it looking like pinging by replying like
oh by the way how do i install
doubt
its his server ยฏ_(ใ)_/ยฏ
they probably just have like
if (message.mentions(staff))
message.author.mute()
yeah they do
this is what it shows now, since I couldn't figure out if the other option was actually supposed to do anything else
stupid regardless, I don't understand people who hate reply pings
I'm literally replying to you, why would I not mention u
idk some people really dont like them for some reason, its surprisingly common
heck, I need to make a patch to force ping me if someone replies and turns it off
the other option inverts the normal behaviour
the normal behaviour:
reply = ping
shift reply = no ping
the behaviour with the invert option off:
reply = no ping
shift reply = no ping
the behaviour with the invert option on:
reply = no ping
shift reply = ping
yes
I want that too, I hate when people reply without reply ping
the worst part is that the message isnt even highlighted
lol yeah
I have about 0 experience with js so IDK how that will go. I'm currently editing this in emacs with no syntax highlighting just loading it into chromium lol
I used to use nvim but this works slightly better for me
so whats the point of having that option? the behavior with it on is what happened before it existed and the behavior with it off just removes the shift function
I can put it back, just not sure what the reason for it to exist is
do you know if its even possible to search message history for replies that dont ping to add them to inbox and such?
if its not caught in real time
This pr seems to work fine in its current state with inverseShiftReply as mentioned on the discord, and does not overlap feature wise.
(added for the benefit of anyone reading the issue)
I like ActivityIcons! But what's the point of ShowAllActivities? this info is already available from the Activities tab in the profile. Is that just for the mini popout?
yeah it is just for the mini popout
Why not make these separate plugins like the BD plugin? I think i would prefer that
If it's about reusing state, you can import files from other plugins just fine
sure thing, in one PR or two?
About ActivityIcons:
-
It shouldn't show the rpc icon at first. Example if user is only listening to spotify, shows only the headphone icon, not rpc icon & headphone icon.
-
Use rpc icon for rpc activity instead of controller icon.
-
If user are only playing a detected game, it should show controller icon instead of nothing. (Currently it only shows that when you have another activity at the same time)
its funny how discord has registered a keybind for the soundboard, but no callback exists
so the keybind is disabled
fuck
ffs
whitespace is what caused it
actually wait
nvm
It shouldn't show the rpc icon at first. Example if user is only listening to spotify, shows only the headphone icon, not rpc icon & headphone icon.
Sure
Use rpc icon for rpc activity instead of controller icon.
Huh?
I never used the controller icon for rpc activity.
I only use it when an activity is of the type "playing".
Don't blame my plugin if people have "playing" as the activity type in their rich presence.
If user are only playing a detected game, it should show ...
@cunning canyon I think you are a little bit confused
one activity can have two icons, if it is the only activity and it is a game or music
i think your 3rd point in the comment is wrong
PS: Doesn't work well with nitro profiles that are in white mode.
about 3rd look at polar guy in donor role, it doesnt show controller icon
or z 3kh0
really weird
ok I think I know the reason
discord doesn't show an icon at all
even with the plugin off
I only replace the icon component that discord shows
if it doesn't show it, then its not a bug of the plugin
but yeah I will try and fix
Don't blame my plugin if people have "playing" as the activity type in their rich presence.
but the rpc like vscode, premid,... all are playing by default, i think these should show as rpc icon instead of controller like detected game.
discord checks if any of the activities match a specific condition before rendering the icon
function i(e) {
return null != e && e.type !== r.IIU.CUSTOM_STATUS && (null != e.details || null != e.assets && (null != e.assets.large_image || null != e.assets.small_text) || null != e.party || null != e.secrets || null != e.state)
}
t.some(i)
ig I can patch that
there is no difference between a detected game and vscode
am I going to use AI to guess which title is a game and which is not?
did a message of mine vanish?
doesnt this check if it is rpc
are you ignorant or are you doing this on purpose?
a game can have, and will have rich presence
not having a platform means its not xbox/playstation or some edge case
I could assume that an activity is not a game
and then someone else would come and say "hey, this is a game, why is it displaying as an activity"?
do you know how irritating it is when someone keeps sending messages to convince me to do smth that I am already working on?
and on top of that I can't justifiably get angry at you because I never said that I am working on it
please stop
@cunning canyon look man, I don't know what witchery the BD plugin does, but there really is no way to differentiate between vscode and vrchat
and vrchat is a game
the activity says it is a game, I can't do anything about that
you either have no game controllers, or only game controllers
in what language is vencord writen
?
oh i thought like c or something like that
ok thx
doesnt work explode
I tried to both add button inside <a> component and add "href" to buttons props
does flux care if i dispatch and subscribe events other than discord's one? is there anything stopping me from using flux in my own components
why ask when you can try and tell us!
but legit I haven't seen any event declaration in flex, only listeners and emitters
probably used the wrong word for it
no
you can do whatever you want with flux
I think that error is only caused by vencord tester
it force loads every single chunk so it causes weird false errors

you can fix this by using the proper css variables
you can dispatch whatever you want, so yes you can make your own events
but I would usually avoid it, as there are better ways to do stuff imo
unless you have a good use case
asked more out of curiosity than having an actual use case tbh
you're being really rude for no reason arjix
he's not trying to convince you to do anything nor being ignorant, he's just giving you feedback for your plugin and isn't all knowing
Using the middle mouse button to scroll isn't supported by default and you need a plugin for that.
--enable-blink-features=MiddleClickAutoscroll
might work
Alternatively this chrome extension https://github.com/Pauan/AutoScroll
lol what was this referring to
Showing the RPC icon vs showing the controller icon when the "Playing" status isn't or is a game
ah ok
ig you could check if the application is a title in discords RegisteredGameStore or whatever it's called
since vscode wouldn't be in there but GTAV or vrc would be
bd plugin is just if it has assets/details then rpc icon else controller icon
but i guess he doesn't like that or something
~~```js
const isGame = findStore("RunningGameStore").getRunningGames().find(game => game.id === "some id") != null;
that's how you find if an application is rpc or a game
Is there something wrong with my local dev env, or did someone break the build?
โฒ [WARNING] Use "src/api/Settings.ts" instead of "src/api/settings.ts" to avoid issues with case-sensitive file systems [different-path-case]
src/userplugins/animatedStatus/index.ts:19:47:
19 โ import { definePluginSettings, Settings } from "@api/settings";
โต ~~~~~~~~~~~~~~~
โฒ [WARNING] Use "src/api/Settings.ts" instead of "src/api/settings.ts" to avoid issues with case-sensitive file systems [different-path-case]
src/userplugins/animatedStatus/index.ts:19:47:
19 โ import { definePluginSettings, Settings } from "@api/settings";
โต ~~~~~~~~~~~~~~~
โ [ERROR] No matching export in "src/utils/Logger.ts" for import "default"
src/userplugins/animatedStatus/index.ts:20:7:
20 โ import Logger from "@utils/Logger";
โต ~~~~~~
โ [ERROR] No matching export in "src/utils/Logger.ts" for import "default"
src/userplugins/animatedStatus/index.ts:20:7:
20 โ import Logger from "@utils/Logger";
โต ~~~~~~
I refactored utils recently and you haven't updated your code
So, no one else is getting the "no matching export" error when building latest main branch?
it gives the raw text
animatedStatus is also against rules 
In any case you need to just update your imports, they have moved slightly
@austere talon discord added a way to copy the raw text lmao
yeah I saw
view raw still useful tho
they've had copy text on mobile for ages
surprised it took them this long to port it to desktop
and it copied raw?
ye
yeah I barely used RN
this only checks your own activity, doesnt it?
oh there is the game list on their api https://discord.com/api/v10/applications/detectable
that wont work though
people can add custom games
we still want to display those with the icon controller
lol discord is adding a badge for migrating username
I wonder if the badge will have your old name
I kinda wanna port some plugins to BD 
just to test the waters, I wanna see what the post swc DX is like
thanks, everyone.
called it
its toggleable
no way they were stupid enough to make it permanent
also, is it worth submitting a PR to update the .eslintrc.json because I keep seeing this and it makes me sad:
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
(that last line should be indented 1 space, at least IMHO)
wdym?
no
why do you want to maintain a 3tb json of games manually
wdym context
there's no context!
hmm in that case how about just do like bd plugin does ^

**Status.tsx: **
import { FC } from "react";
import { useLanyard } from "react-use-lanyard";
const Status: FC = () => {
const { loading, status } = useLanyard({
userId: "694604709591384226",
socket: true,
});
const getColor = () => {
switch (status?.discord_status) {
case "online":
return {
status: "online",
color: "text-green-600",
};
case "idle":
return {
status: "idle",
color: "text-yellow-700",
};
case "dnd":
return {
status: "busy",
color: "text-red-700",
};
default:
return {
status: "offline",
color: "text-grey-500",
... (35 lines left)
Yeah just use a case for each game name and have a 5TB plugin
the plugin should work for any game
do you really think hardcoding thousands of games is a good idea
:^)
there needs to be a generic way to detect it
does work on soundboard go on?
?
what do you mean?
If you're talking about global soundboard for FakeNitro, not possible
i mean use sounds from different servers
I'm sure it would've been figured out instantly if that's how it worked
There's a reason it's still an ongoing topic :P
that isn't actually a thing tho
oh no dolfies is typing
what does he know that we don't know
just check if the app id is in GET /applications/detectable
the client stores that somewhere
yeah that was already mentioned above
but that data is likely in the native discord part aka discord rpc, not the renderer
So we can't access it without loading that massive json into ram
yeah but it's better than nothing
I'm pretty sure it's stored in the app
I'll look later!!
You can say that about so many plugins
I don't see the issue

does anyone remember where discord stores people activities
presence store?
pretty simple, wrap it in your own component
<div class="vc-someplugin-wrapper">
<div class="wrapper-2892c">
then .vc-someplugin-wrapper [class^=wrapper]
you are right that's the closest we can get
it doesnt work
Oh
I did say that I had no justifiable reason to be angry at him
@limber skiff
what's the meaning ๐ญ
Discord Account
Iokza#9141
What is it that you'd like to see?
English :
I think it would be cool to be able to apply our own plugins from an interface where we could add our own plugins or BetterDiscord plugins! Either through a kind of Repo plugin or like for the themes from the github links in RAW mode!
French :
Je pense que ce serais cool de pouvoir appliquer nos propres plugins depuis une interface oรน on pourrait ajouter nos propres plugins ou des plugins de BetterDis...
simple plugin that sorts emoji autocomplete results to show favorite emojis at the top.
adding your own plugins is already planned and in the works, but BetterDiscord plugins will never be supported
function isGame(activity) {
return !!(Vencord.Webpack.findStore('GameStore').games.find(app => app.id == activity.application_id) || Vencord.Webpack.findStore('RunningGameStore').getOverrides().find(override => override.name == activity.name))
}
should work
hi, where I put the #๐-textreplace-rules
in the TextReplace plugin's settings
okok thank you
It would be awesome to make a fake-nitro plugin to use all servers soundboard audio effects! Since i think it's possible, please add it! <3 Love and peace
another one
not again
broo there is no way
maybe add a note in the ui at this point
replace this with FAKE NITRO SOUNDBOARD IS NOT POSSIBLE
Using the middle mouse button to scroll isn't supported by default and you need a plugin for that.
That is a linux issue and not a discord issue imo.
The middle click button on linux is by default behaving as the paste button. (no such button exists, but thats what its called)
Have you tried changing how the middle click behaves?
It's something the browser or site needs to implement. I think webcord has an option to enable some kind of flag.
I'd rather you use [role="article"] > div > .vc-betterblockedusers-main
2fdc00b BadgesAPI: Fix canary crash (new pomelo badge, ... - Vendicated
Gonna close this because it's not the right way of fixing it as mentioned above. Please still provide more info / open a proper fix pr if you can figure it out yourself
For some reason I can't reproduce it now.. Weird because I had been experiencing it for a while and I have not changed anything within Vencord. Although my whole local cache got restored (when I got banned) so maybe the issue had something to do with that? No clue tbh
@austere talon will review, literally less than 20 lines of actual code
should be merged with split messages i think
you plan to merge that?
ew
Honestly I don't get why
image utilities is fine being split into multiple plugins, but you want to merge two not so related plugins?
what
Split more than 10 attachments into multiple messages
split more than 2k/4k chars into multiple mesages
almost the same thing
and why are the image related plugins not merged?
because they have entirely different purposes
smh
I don't like the code of split large messages, I don't want my plugin to be contaminated by it
then rewrite it
sry, hafta go
it would make sense for these two plugins to be combined imo
shrimply merge every vencord plugin into a single one
good luck thinking of a name that convers both of them
features determined by plugin settings
SplitMessages?

TRUE
maybe the plugin can even patch the vencord settings to show its settings in its own page
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 ```
and to make it easier for the user, separate them into uniquely named settings groups that show their features
and- ah shit i just reinvented plugins
MoreUserTags (had no effect):
ID: 175072
Match: /(switch\(([A-Za-z_$][\w$]*)\){.+?)case ([A-Za-z_$][\w$]*)\.BOT:default:([A-Za-z_$][\w$]*)=([A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*\.Messages)\.BOT_TAG_BOT/
MoreUserTags (had no effect):
ID: 175072
Match: /([A-Za-z_$][\w$]*)=([A-Za-z_$][\w$]*)===[A-Za-z_$][\w$]*\.ORIGINAL_POSTER/
MoreUserTags (had no effect):
ID: 175072
Match: /children:\[(?=[A-Za-z_$][\w$]*,\(0,[A-Za-z_$][\w$]*\.jsx\)\("span",{className:[A-Za-z_$][\w$]*\(\)\.botText,children:([A-Za-z_$][\w$]*)}\)\])/
None
font-weight: bold;
color: purple;
Cannot access 'ofe' before initialization ReferenceError: Cannot access 'ofe' before initialization
at Module.default (WebpackModule138875:2:50)
at VencordWeb:12:719
at VencordWeb:5:8698
at [vencord.lazy.get] (VencordWeb:5:7061)
at xr.<computed> [as get] (VencordWeb:5:7472)
at Object.handleProtoChange (VencordWeb:33:21924)
at CONNECTION_OPEN (WebpackModule473419:2:5858)
at https://canary.discord.com/assets/f0ca2c7879b7ea45f5f9.js:9360:766
at https://canary.discord.com/assets/f0ca2c7879b7ea45f5f9.js:9350:818
at n (https://canary.discord.com/assets/f0ca2c7879b7ea45f5f9.js:9360:743)
%c[GatewaySocket]
font-weight: bold;
color: purple;
Cannot read properties of undefined (reading 'appearance') TypeError: Cannot read properties of undefined (reading 'appearance')
at Object.handleProtoChange (VencordWeb:33:21802)
at CONNECTION_OPEN (WebpackModule473419:2:5858)
at https://canary.discord.com/assets/f0ca2c7879b7ea45f5f9.js:9360:766
at https://canary.discord.com/assets/f0ca2c7879b7ea45f5f9.js:9350:818
at n (https://canary.discord.com/assets/f0ca2c7879b7ea45f5f9.js:9360:743)
at t._dispatch (https://canary.discord.com/assets/f0ca2c7879b7ea45f5f9.js:9361:83)
at https://canary.discord.com/assets/f0ca2c7879b7ea45f5f9.js:9360:429
at i.log (https://canary.discord.com/assets/f0ca2c7879b7ea45f5f9.js:9350:782)
at t._dispatchWithLogging (https://canary.discord.com/assets/f0ca2c7879b7ea45f5f9.js:9360:368)
at t._dispatchWithDevtools (https://canary.discord.com/assets/f0ca2c7879b7ea45f5f9.js:9359:797) ```
uh ohhh
would a plugin or a feature of a plugin that always enables the aria-controls attribute on elements regardless of focus be viable?
your plugin will now not be merged for 9 weeks
its accessibility stuff, but its useful for identifying elements using css
open devtools and look at the attributes of the elements that make up the sidebar in user settings, then click between them, as an example
there was a time when the attribute was always there, but they changed it so it only shows when the thing its representing is focused
uhhhh
this is not good
that's a bad function to error (it can brick your client)
huh?
wdym its fine
Folder casing doesn't seem to be right I'll fix this later when I'm on pc
Should be as simple as making the name smt else and then changing it again
switched to camelCasing this pr is fully ready now!
(unless vee ends up finding bad code D: )
what would that do?
aria-* attributes are purely for semantics, they don't alter behaviour
better theming selectors
what r u talking about?
do u mean the funny Cannot access 'ofe' before initialization
i'm pretty sure that's an error related to discord_rpc not being a thing lol
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 ```
yes and then the handleConnectionOpen for fake nitro failing
fix the fake nitro one

i made bd plugins today to test what it's like
regex patching is so much nicer, monkey patching is horror
If I have time
MoreUserTags (had no effect):
ID: 175072
Match: /(switch\(([A-Za-z_$][\w$]*)\){.+?)case ([A-Za-z_$][\w$]*)\.BOT:default:([A-Za-z_$][\w$]*)=([A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*\.Messages)\.BOT_TAG_BOT/
MoreUserTags (had no effect):
ID: 175072
Match: /([A-Za-z_$][\w$]*)=([A-Za-z_$][\w$]*)===[A-Za-z_$][\w$]*\.ORIGINAL_POSTER/
MoreUserTags (had no effect):
ID: 175072
Match: /children:\[(?=[A-Za-z_$][\w$]*,\(0,[A-Za-z_$][\w$]*\.jsx\)\("span",{className:[A-Za-z_$][\w$]*\(\)\.botText,children:([A-Za-z_$][\w$]*)}\)\])/
None
font-weight: bold;
color: purple;
Cannot access 'ofe' before initialization ReferenceError: Cannot access 'ofe' before initialization
at Module.default (WebpackModule138875:2:50)
at VencordWeb:12:719
at VencordWeb:5:8698
at [vencord.lazy.get] (VencordWeb:5:7061)
at xr.<computed> [as get] (VencordWeb:5:7472)
at Object.handleProtoChange (VencordWeb:33:21924)
at CONNECTION_OPEN (WebpackModule473419:2:5858)
at https://canary.discord.com/assets/621d1db1347e5e19e8d9.js:9360:766
at https://canary.discord.com/assets/621d1db1347e5e19e8d9.js:9350:818
at n (https://canary.discord.com/assets/621d1db1347e5e19e8d9.js:9360:743) ```
I'm leaving for travel at 1am (it's 9pm rn)
where u heading
the thing about this
the error is getting thrown inside the handleConnectionOpen
...why
oh wait
it's cuz it's trying to find the proto
โจ
@Vendicated can you pls merge this? Thanks
This .ico file has multiple version of the ico, for better display in the taskbar.
Changes discord's message text font to add bold letters to the first half of each word as shown in the attached image
-
Visually changes all message text
-
Option to add your own custom font for it to apply to
threw the fix for canary in here LordEliasTM/Vencord#2 - should work for both canary and stable
also broke settings on canary 
wait no it broke everything where badges are shown
because nvm discord undid the change while i was working on a fixargs passed into here is now ~~just the user object~~ the badge component's props instead of BadgeUserArgs
why are you using an || instead of &&?
just curious
@quaint sapphire you clearly do not know the cutecord lore ๐บ
if its the BD cutecord, I did know it, but its been so long I've forgotten it
i feel insulted
what a throwback
Can't build your vencord fork:
`Build failed with 3 errors:
src/plugins/betterMicrophone.desktop/logger/index.ts:19:7: ERROR: No matching export in "src/utils/Logger.ts" for import "default"
src/plugins/betterScreenshare.desktop/logger/index.ts:19:7: ERROR: No matching export in "src/utils/Logger.ts" for import "default"
src/plugins/philsPluginLibrary/discordModules/components.tsx:19:9: ERROR: No matching export in "src/utils/misc.tsx" for import "LazyComponent"
2 warnings and 3 errors...
already fixed
oh
Applies the role color to chat messages.
Current state of PR does not update the chat messages when members are cached or roles change/update color, so you need to hover over the message for them to update correctly. Need to find an efficient way of triggering an update only for the users' messages.
A plugin that allows you to compress the pictures you send
Could possibly be implemented with https://github.com/GoogleChromeLabs/squoosh
Discord Account
Dea#9535
What is it that you'd like to see?
Problem
Now with 122+ plugins, the 2x61 plugin list in Vencord is becoming difficult to parse through. The average consumer isn't going to read commit histories in the repo or updater to see if new plugins get added (actually just me / skill issue). This results in new plugins that get added to get buried and making the list more unbearable to read through.
Solution 1
On the client, add a Hide button somewhere t...
This also causes issues when jumping to an old message. It will not scroll all way to the message.
a plugin that would add a button to loop a video next to the pause video button
tbh maybe it's actually time to improve the plugin list
perhaps move to another place with more space
add images
make the boolean option a switch ๐
lol yeah
me making settings component for switch before realizing i really ain't reinventing the wheel for no reason
9538838 EmoteCloner: Add sticker cloning capabilities - Vendicated
Should probably rename the plugin. But to what?
Discord Account
spooky soapยฎ#6676
What happens when the bug or crash occurs?
it crashes when I even select another server or a dm
or go into user settings n shit
What is the expected behaviour?
it just crashes
How do you recreate this bug or crash?
random
Errors
Routing/Utils] transitionTo - Transitioning to /channels/1095049221545132213/1095049221545132216
fd1f9ea7de3b25548016.js:5487 [Routing/Utils] transitionTo - Transitioning to /channels/11069175227600...
just jeep it named emotecloner lol
people not good enough to tias that it it also clones stickers have skill issue
f05feb0 Don't add clone button to lottie stickers - Vendicated
1ec28a3 EmoteCloner: Add Sticker cloning (#1118) - Vendicated
this is when u type in chat right?
Experiencing the same issue.
Already fixed. If you're using Desktop/Firefox, just update
If you're using chromium (installed from https://chrome.google.com/webstore/detail/vencord-web/cbghhgpcnddeihccjmnadmkaejncjndb), you'll have to wait for google to approve the update which might take up to a few days ๐คท๐ปโโ๏ธ
someone fix whoreacted shenanigans
crashing for me as well when trying to open settings using the web version
read 2 comments above ๐
when the user doesn't read the reply from the dev and just adds another useless comment to the post

is that regarding the pr
if anyone wishes to hear their own name on join this should work
Can someone help me, i wanna start making plugins but i don't know how to start
there are some docs on the repo but they are really outdated
after you have a quick read it's best to look for an existing plugin that's closest to what you want to add and look at how it works
where can i find my downloaded plugins?
yes
clone the repo, https://github.com/Vendicated/Vencord
Can't build your vencord fork:
`Build failed with 3 errors: src/plugins/betterMicrophone.desktop/logger/index.ts:19:7: ERROR: No matching export in "src/utils/Logger.ts" for import "default" src/plugins/betterScreenshare.desktop/logger/index.ts:19:7: ERROR: No matching export in "src/utils/Logger.ts" for import "default" src/plugins/philsPluginLibrary/discordModules/components.tsx:19:9: ERROR: No matching export in "src/utils/misc.tsx" for import "LazyComponent" 2 warnings and 3 erro...
that ain't really a concept here
you don't download plugins
you build vencord with external plugins if that is what you meant
the plugins bundled with vencord are in the source code of vencord
so you can't have vencord w/o having plugins






should be below guhgaming