#👾-core-development
1 messages · Page 53 of 1
What should the plugin/feature do?
- Show message buttons all the time without holding Shift
Possible links to any existing plugins for other mods that could be used as inspiration!
- https://betterdiscord.app/plugin/Show All Message Buttons
- https://github.com/kyza-betterdiscord/ShowAllMessageButtons
I see the same request but it in the wrong category so i make a new one 🙏
I will make

You can do this really easily with some css
/* Hide Nitro gift button */
button[aria-label="Send a gift"] {
display: none;
}
/* Hide GIF picker button */
button[aria-label="Open GIF picker"] {
display: none;
}
/* Hide sticker picker button */
button[aria-label="Open sticker picker"] {
display: none;
}
/* Hide annoying sticker popup window that appears when you type */
.da-channelTextArea>.container-JHR0NT {
display: none;
}
Bump.
I have been waiting for this one for a long time.
The plugin is functional but the time does not show up on the profile everywhere.
shows here

but does not show up here.


they dont have a pc :(
:(
Is this channel only for Vencord or also for Vencord Desktop?
both
1: it only works in profile popout modal
2: utc offsets are kinda horrible because of summer time etc, they will be out of sync at some times

Also what about the option to add 24 hour time?
See [this message](#1032200195582197831 message) on the Vencord server
if you want help, please use our support channel or open a proper report
lmao
open a pr 
why is this so complicated, why doesn't a plain patch work? @limber skiff
let me show you
G is a state that returns if the shiftKey is pressed
I only want to make that one true
the rest of the predicates I'm keeping
at first I only changed the second match G to true
but I ended up changing the one defining g to not leave a state going around
what are the other predicates?
what does that mean
idk lmao
I think it's safe to just assume G is shiftKey
it is
^^
Also wow shift key pressed is super useful hook for me I will remember that
true the whole module is that
I still think u should just replace G with true and call it a day so the patch isn't complex
huhh wdym already complex
the second match already makes it complex
oh
I didnt do that cuz I wanted to make sure it wouldnt break if something got in the way of that
what does o and r mean
doubt they will change the logic
oh wait
show emoji picker
what's the difference between isExpanded and showMoreUtilities
idk either lol
but it uses isExpanded to show the other stuff
it's like children: [isExpanded ? ...<a lot of children> : null, rest]
does changing showMoreUtilities instead work
nope
oh did u try
no need to try lol
children: [isExpanded ? ...<a lot of children> : null, ...Vencord.Api]
see how showMoreUtilities is used
discords code works in straaaange ways

wouldn't surprise me if they had duplicate logic
Also I remember this function being ultra deranged from when I wrote Message popover patch
_ is showMoreUtilities
ohhh
wdym
the function that houses all this logic
I need to start putting comments with what I'm matching in my patches
anyone trying to fix shc will have no idea
it even helps urself tbh
yeah lol
sometimes I look at month old patches I wrote and wonder wtf I was cooking
it also helps new developers understand what's going on better
it's not that bad
u can use back reference in regex for this btw
but adding the general purpose is already better than nothing
makes it easier to know which patch isn't working correctly when a specific feature breaks
do u use BetterRoleDot
cause BetterRoleDots click dot for role colour feature completely broke without the patch breaking and turns out my regex wasn't specific enough so it instead added a random onClick listener to some different component in the same file 
I'm surprised that didn't cause any errors or even crashes
use this
nvm it still doesnt
and does it work
nope
why
no idea
match: /isExpanded:(\i),(?<=\1=\i&&(!.+);.+?)/,
replace: "isExpanded:$2,",
typing these on my phone lmao
but try this
it matches isExpanded: V then walks back to find V = G && (...) and changes the code to isExpanded: ...
oh but remove ; from capture (I edited)
Okii
can I not keep the current 😢

it just seems really overengineered to me
there's 0 gain from removing the hook code
and will just make it more likely to break if they ever use that state a second time or smth like that
not really I didnt feel like simplifying it rn
and you merged 😢
I was sleeping 😴
tbh i don't think you can simply it
cause I'm matching 5 different groups and have to change the function to an async function and my replacement is only way later
omg is this for the
I could have made the regex simpler by splitting the async patch and the actual patch into two patches but then if the first one fails the second one will throw errors
how fast is it?
So I decided to keep them in one patch
oh I didn't test but it shouldn't be slow
let me see how long it takes
I got impatient and wanted to merge a bunch of prs so I just did it

but yeah with the new patch you can now patch messages with attachments and also access/modify the uploads
yeah the speed is good
it matches like at least 1000 characters so I'm surprised
how?
let me do it
don't do this tho
if that's what u wanna do
♥
it does that when using normal discord stickers
its not
can u look into this too
does it send fake sticker then say the warning?
or just fails
ohhh I know why
cause this changes our own copy of extra https://github.com/Vendicated/Vencord/blob/main/src/plugins/fakeNitro.tsx#L666
**fakeNitro.tsx: **Line 666
delete extra.stickerIds;
666
the fix is probably to change it to extra.stickerIds.length = 0
@austere talon how to get more badage?
donate or contribute
what contribute?
Code
I answered you yesterday and someone else has before
heehee sorry
yep

did it
silly ven
no need to match a billion vars
just match this lol
and this
that doesn't have attachments nor channel Id
I have worked on a plugin called Friend Notifications, it's like the steam feature that when a friend comes online you get a little pop up that tells you they came online.
https://github.com/axu5/friendNotifications
Similar (but not exactly) to request 10 in discussion https://github.com/Vendicated/Vencord/discussions/653.
Details
- A friend comes online, notifications should come up (on by default)
- A friend goes offline (this should be turned off by default as it could be annoying...
uploads...
I've mentioned this before
wow that person wrote detailed vencord instructions in their repo
they have better documentation than we do 
can i create theme ?
feel free to open a pull request
yes?
ohh nice i can create themes
you won't get a badge for making a theme
why 😔
because that's not actually contributing to vencord itself
ok ok
How much is needed get badge?
make a plugin
ask the cutie @austere talon
or fix one
that has so many .+? tho
u can gift me badge 🥺
dunno I find that kinda harder to follow with so many .+?
cause its hard to know where it starts and stops

I would just leave it the way it is for now
yeah but you can just easily look down til you find getSendMessageOptionsForReply for example
mm
idk seems way more readable for me
I can barely understand what the current version is doing
https://github.com/Vendicated/Vencord/pull/807 i notice here it uses a patch to get the colour picker widget
i was just wondering if there's a better way this could've been done
no cause its not exported
the main issue is you need to restart for the settings to show properly, but yes this makes sense :(
I have worked on a plugin called Friend Notifications, it's like the steam feature that when a friend comes online you get a little pop up that tells you they came online.
Similar (but not exactly) to request 10 in discussion https://github.com/Vendicated/Vencord/discussions/653.
Details
- A friend comes online, notifications should come up (on by default)
- A friend goes offline (this should be turned off by default as it could be annoying, but the option should be there)
- Add user...
no way
You should move the author entries under the Devs variable in constants
You should use the flux property within the plugin schema to subscribe to events
export default definePlugin({
// ...
flux: {
PRESENCE_UPDATES: presenceUpdate
}
Using a .css file would be preferred over style tags. You can make a css file in the plugin's directory, import it here (only needs to be imported once per plugin) and it should work fine
would a copy and paste all button be useful for textreplace?
i can implement that (i think)
wait - i should elaborate - i mean copy and paste as json
or some other format that would work well in #🗒-textreplace-rules
basically it’s kind of annoying to go back and forth if you have a lot of rules
yes I was just complaining about that last night
which format do you think would be best?
it should just interpret the format currently in the channel
tbh
self explanatory
it doesn’t seem to be standardised though
the
indeed
that's true then you're need one
yeah I already mentioned adding a button in that channel
o ye
I would just add a button to the message accessories
should be pretty simple with the message accessories api
i mean inside the settings dialog too
we would have to make a standardised format for button tho
so you can copy your settings if that makes sense
then paste into #🗒-textreplace-rules
Find:
Replace:
(Only if includes?):
(comments)
but just come up with smth better if you don't want to use weird text thing
Find as string/Find as regex?
a language with keywords made up of multiple english words one of which is capitilised doesn’t seem like the best thing to parse
wdym it's so simple
lol
find(_regex?) “string” replace “string” (only_if_includes “string”?)
maybe this?
probably bad though
noooo
textreplace also needs a way to exclude code blocks :p
it ignores every message in #🗒-textreplace-rules
as you can see it affected this
cause this isn't #🗒-textreplace-rules
that’s why i think the option would be handy!
i can’t think of how you’d implement it
a button in the message input bar to toggle replacements on and off
What should I do with the patches? For now I just removed them but I'm not exactly sure what it does/ or how to make them "robust."
if your plugin doesn't have patches then u don't have to worry about it
Just wanted to add that at the moment pressing Delete to remove a tracked user will immediately remove them regardless of whether or not you decide to Save & Close. Making it respect Save & Close / Cancel is not currently planned for this PR though 😅
yeah that's neat
any suggestions?
maybe this is clearer
hm, i think it was better before
since the placeholders had info
(unless you use placeholders as an example)
yea
Type a message and Result?
i wonder how you’d make it update with the rules
i guess it’s not too important
i feel like it may create lag if there are a lot of rules
Discord Account
colton#8259
What happens when the bug or crash occurs?
Silent Message Toggle button visual don't represent actual state of toggle.
2-parter:
In some cases I cannot disable the silent functionality via the button.
In some cases the button shows disabled when functionality is actually enabled.
What is the expected behaviour?
Silent Message Toggle should begin with silent messages disabled (it does).
When you hit the button it should enable the functionality ...
hm, not if it was empty
Perhaps due to this line in combination with other problematic lines which I have yet to find:
https://github.com/Vendicated/Vencord/blob/bd95a25f4c111c3d0e2564fb1bfcf5b8e12e87de/src/plugins/silentMessageToggle.tsx#L54
@SylveonBottle you may be interested in tracking my fix for this feature:
https://github.com/Vendicated/Vencord/issues/1032
gooofy ahh
Lol???
lol???
isn't it like the 30th time this is requested
yes

Hello, it would be awesome if you could add a plugin that lets us hide the servers we don't want to see but still want to be a member of (because of the server's emojis for example). Thank you!
time to contribute
how does one test vencord plugins?
you can look at the pinned message in #1032200195582197831 to get started
👍
i wanted to make this... but i could've sworn this was an option!
is there not a toggle?
yeah I feel like I saw it (as an option)
Basically says what it does in the title, allows you to search through ALL of your Server's and DM's for a specific keyword. You can select either Server's, DM's, or Both. Discord used to have this feature, but it got removed. Currently, there is no plugin that enables the ability to do this.
when i try to do it i just copy paste your fxtwitter lol
That would be helpful
agreed
not possible without api abuse
Sadge
None
None
None
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 is intended 😢
It is not really a bug because when I made it I intentionally made the button disable after you sent a message. I can make this a choosen behavior with a setting though
setting for everything
I added a portable build in https://github.com/Vencord/Desktop/commit/6a67f07a9e506a442fb0efdae09dc28cb757a9b9, so you don't have to install it if you don't want to
However, as of now it will still write settings to AppData/Roaming. It would be cool to make it write its settings to the directoy the EXE is in or smth like that
Should be trivial by just using the PORTABLE_EXECUTABLE_DIR environment variable, see https://www.electron.build/configuration/nsis#portable
without massive css of course :3
In the least rude way possible, I'm wondering if anyone at all would want that as default behavior. It seems unintuitive.
If the button is disabled at that point, why even have it visible, clickable, and changing visually on each click? Also, is it really a "toggle" if it can't be turned off?
The main reason I created this issue is because there is a secondary issue with the persistence setting functioning in an unintuitive way - which should be addressed after this is resolved.
Also, the fact that the button is intentionally disabled after sending a message doesn't really explain why it changes itself visually at that point.
what
It is disabling
the icon represents exactly if its enabled or not
it's not desynced
discord is just grouping your messages and doesnt show the timestamp/icon
but those messages arent silent
You enable silent message, send one and the plugins disables it
you have to enable again if you want to send another
hmm my issue is with discord itself then - the grouping of messages is inconsistent
the first normal message is degrouped - then afterwards there is no degrouping
yeah nothing we can do
i mean it's fixable but not necessarily a bug with the toggle
do you have the view raw plugin?
yes
check the json of one of those grouped messages
one that should not be silent
look for the flags
what does it show?
no need to check. i understand the flags
If it's 0 it's not silent 😊
yes. i'll probably close the issue but i have another issue with the persistence setting 8)
wdym
persistence setting behaves strangely with newly created channels
ya i can, i havent nailed down the steps yet
Closing issue, discussed in discord. This is an issue arising from stable discord inconsistently grouping messages based on flags.
Kek, I don't deserve to be there so if you want to remove me do so freely
the first one is implemented in the installer, i think
2nd is in the installer, i think
Bump. I have been waiting for this one for a long time.
Currently waiting on #696 for the sweet sweet arrays, as separating by , isn't ideal for the user.
Please also add regex support.
That is also planned, and #696 will also add OptionType.REGEX
Currently waiting on https://github.com/Vendicated/Vencord/pull/696 for the sweet sweet arrays, as separating by , isn't ideal for the user.
Could have just used a custom component, but yee, sweet sweet arrays.
Passing in the force updater seems hacky and may be slightly broken :woman_shrugging:
@lime stone oh since you pr it, help me remove samu from author list
context: #👾-core-development message
done
lol, i had an idea for a plugin so i think i’m going to implement it: WhoLeft, basically something which changes the name colour of members who are not in the server or group chat
the colour picker though
maybe this should be a standard option type
how about add that yellow ! icon next to name instead of change color name
ye
ohh
that's smart
it's amazing how much less painful typescript is than javascript xd
still feels like an inconsistent mess
what about in mentions then?
true
Can you please add more feature to fake nitro or seperate plugin like Custom Screenshare FPS, Custom Bitrate, Screen share audio source which betterdiscord plugin already has.

as a random example, i'm sure nobody here minds because it's public
well if you reload the client it'll just be numbers
unless they're your friend/mutual or something I guess
I only added it because there was no toast... i didn't use a toast because it was inconsistent with Discord's ui where they have a balloon

I did add a toast!
i like toast, ty! so yeah, it's redundant now
Another tweak i'd make is replacing (unverified) with a tick icon next to the username but this seems like an improvement!
how do you even get an unverified connection @lime stone
I looked at so many profiles and couldn't find one
look at katyln's
lmao
ah the Skype ones?
erm
2 votes and 2 comments so far on Reddit
not many people then
it's also possible for steam to be unverified
add a plugin for creating dm folders
I dont like the idea of adding yourself to the plugin author list if you just removed/changed some text, it's missleading that you are one of the plugin authors cuz you barely did a thing
what for
ohh
mmm
maybe put it before the name
and its not properly aligned
(u probably know)
yes it's mildly annoying
you can look at platform indicators for how to align it!!
**platformIndicators.tsx: **Lines 42-47
style={{
marginLeft: wantMargin ? 4 : 0,
verticalAlign: "top",
position: "relative",
top: wantMargin ? 1 : 0,
}}
wait can i use the decorations api?
that will make it easier!
i was doing a patch :p
yes u can
idk who added this comment but u literally have access to the name of the setting in ur closure https://github.com/Vendicated/Vencord/blob/main/src/plugins/platformIndicators.tsx#L241
**platformIndicators.tsx: **Line 241
// onChange doesn't give any way to know which setting was changed, so restart required

@verbal pumice
wtf
Bro didn't read faq 
real
Support has already been added on the nixpkgs side. Webcord-vencord is now a package in the nixos unstable branche.
Closing as this is resolved.
Correct
it comes with a free token stealer
Also more importantly is that... A Samsung thing? To allow 5 windows at once?
Amazing 
i think floating windows are an android thing
locked behind developer options for me
Oh wack
Found it as well
I can't see it being useful except maybe this case where you can show off different apps
But that is neat you can do it at all
Discord Account
Henonicks#7989
What happens when the bug or crash occurs?
Every time I try to send a sticker from another server (with FakeNitro plugin enabled) there is an issue sending it
What is the expected behaviour?
It has to send a link to the png of a sticker from another server I'm trying to send instead
How do you recreate this bug or crash?
- Go to a server that stickers
- Go to DM's or another server
- Try sending a sticker in DM's or another srvr
...
Writing this for a friend who asked me how to change it
do you mean the splash screen? aka shiggy?
Only missing Desktop Settings setting
good program
You can TECHNICALLY have infinite windows open at once, but ram
Crazy
Probably shouldn't
Neat u can
Eh, it doesnt do much
no it's because I messed it up lol

question is there a plugin that allows me to create hot keys for opening like the settings faster, or join a vc on key press, would be really convenient to have
Settings can be opened via ctrl + ,
mhh does would the vencord api allow me to create new hotkeys?
also is there a documentation of the api?
or what api are vencord plugins using?
wait some js snippets suggest we can use the document so this means everything I want to do is possible is there any documentation on how to create plugins using vencord?
wow
lol
u can find docs on github 
ahh thx
**2_PLUGINS.md: **
# Plugins Guide
Welcome to Megu's Plugin Guide! In this file, you will learn about how to write your own plugin!
You don't need to run `pnpm build` every time you make a change. Instead, use `pnpm watch` - this will auto-compile Vencord whenever you make a change. If using code patches (recommended), you will need to CTRL+R to load the changes.
## Plugin Entrypoint
> If it doesn't already exist, create a folder called `userplugins` in the `src` directory of this repo.
1. Create a folder in `src/userplugins/` with the name of your plugin. For example, `src/userplugins/epicPlugin/` - All of your plugin files will go here.
2. Create a file in that folder called `index.ts`
3. In `index.ts`, copy-paste the following template code:
```ts
import definePlugin from "@utils/types";
export default definePlugin({
name: "Epic Plugin",
description: "This plugin is absolutely epic",
authors: [
{
id: 12345n,
name: "Your Name",
},
],
// Delete `patches` if you are not using code patches, as it will make
// your plugin require restarts, and your stop() method will not be
... (86 lines left)

mhh how do i get my plugin to show up in the plugin list, u guys wont accept my plugin since its pretty unique starting a screenshare of a specific window as hotkey
u build from source or wait until we finish & merge third party plugin support
Sharing desktop audio on discord from Linux has always been a mess. for a lot of time it was impossible unless we passed the sound though the mic.
There is a solution though, which is this: https://github.com/edisionnano/Screenshare-with-audio-on-Discord-with-Linux
but it requieres setting up a script in the web browser, there is a client called Discord-screenaudio that allows this by default, but it's just a web page version, and there isn't all the features you can expect from the officia...
Discord Account
! RusticGGG#1234
What happens when the bug or crash occurs?
A Video Explination is in the attatched link. When using hte GifPaste Plugin and editing your profile banner on servers or globally, using the gif selector once you click on a gif you like the gif link will be pasted into a textbot rather than previewing your banner.
What is the expected behaviour?...
Made a KeybindsAPI, it is an open pull request
My estimate is that it will be forgotten and will be reviewed or even merged in about 4-5 years
None
None
font-weight: bold;
color: purple;
Cannot access 'wue' before initialization ReferenceError: Cannot access 'wue' before initialization
at Module.default (WebpackModule355896:2:50)
at VencordWeb:12:719
at VencordWeb:5:8731
at [vencord.lazy.get] (VencordWeb:5:7801)
at mr.<computed> [as get] (VencordWeb:5:8212)
at Object.handleProtoChange (VencordWeb:33:21418)
at CONNECTION_OPEN (WebpackModule473419:2:5858)
at https://discord.com/assets/7359e643162186631ca2.js:9313:766
at https://discord.com/assets/7359e643162186631ca2.js:9303:818
at n (https://discord.com/assets/7359e643162186631ca2.js:9313:743) ```
None
None
font-weight: bold;
color: purple;
Cannot access 'wue' before initialization ReferenceError: Cannot access 'wue' before initialization
at Module.default (WebpackModule355896:2:50)
at VencordWeb:12:719
at VencordWeb:5:8731
at [vencord.lazy.get] (VencordWeb:5:7801)
at mr.<computed> [as get] (VencordWeb:5:8212)
at Object.handleProtoChange (VencordWeb:33:21418)
at CONNECTION_OPEN (WebpackModule473419:2:5858)
at https://canary.discord.com/assets/d61c43629b977ff41b71.js:9315:766
at https://canary.discord.com/assets/d61c43629b977ff41b71.js:9305:818
at n (https://canary.discord.com/assets/d61c43629b977ff41b71.js:9315: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:21296)
at CONNECTION_OPEN (WebpackModule473419:2:5858)
at https://canary.discord.com/assets/d61c43629b977ff41b71.js:9315:766
at https://canary.discord.com/assets/d61c43629b977ff41b71.js:9305:818
at n (https://canary.discord.com/assets/d61c43629b977ff41b71.js:9315:743)
at t._dispatch (https://canary.discord.com/assets/d61c43629b977ff41b71.js:9316:83)
at https://canary.discord.com/assets/d61c43629b977ff41b71.js:9315:429
at i.log (https://canary.discord.com/assets/d61c43629b977ff41b71.js:9305:782)
at t._dispatchWithLogging (https://canary.discord.com/assets/d61c43629b977ff41b71.js:9315:368)
at t._dispatchWithDevtools (https://canary.discord.com/assets/d61c43629b977ff41b71.js:9314:797) ```
Getting the same error here!
Getting the same error here!
Thought it only happened to me :)
I believe that there are many new and exciting features that could be added to the Fake Nitro plugin, and I think it would be beneficial to focus on some critical ones. It would be great if we could have access to any feature that is currently behind the paywall of Discord Nitro, but for free. Specifically, I think we should have the ability to use more text characters, as the current limit of 600 is inadequate. Increasing it to 4000 characters would greatly enhance our experience, but only w...
This man believes in a lot of stuff that cannot come true... Char limit is dictated by discord servers, so no way to edit that.
Super reactions are moderated by the discord servers, so no way to send those.
Banners, once again, are dictated by the servers, so you cannot change those. But there is another plugin called USRBG which lets you change your banner for others that have the plugin, which is a pretty good alternative in my mind.
Again, text limit dictated by discord servers... This rea...
Additionally, some of these features are already requested and have a discussion already open, so instead of opening a new discussion, look thru open discussions to upvote them instead.
Their whole text read as AI generated... Just me?
the 4th one has "Please refer to the attached image for a better understanding." lol
google translate not good enough anymore
my guess is they have a hard time with english
Idk they see a little bit of the impossible made possible and then think all of it can be made possible
of the stupid things ive been seeing this one doesn't seem that egregious lol
kinda funny tho
the majority of these are not possible, the rest are duplicates
same issue on my end. Thought it was a linux thing
You can try using Armcord which has Vencord as a option.
doesn't have screensharing audio on Linux
Does latest chromium on Linux have screensharing audio? if so, you could just use discord web
Is there any way you can do this? It would be really cool!!
Sometimes I just log into discord and it's back to being normal discord, so I have to go back here and reinstall it. Please fix this!
already a vencord plugin
some people really need glasses
vencords reinstall process is the sanest ive seen 
(go back where???)
you can just run the exe you used to install it again, no need to redownload it from the github! plus your settings, plugins, and customcss will all be saved upon re-installing so do not fret :)
wrong repo and not doable, just repatch if it happens
wtf is this change why is it expected for you to join a discord server instead of having preset rules
@marsh otter since im not logged into github right now, i interpreted it as merely a recommendation for a place to look. You can, of course, make them yourself or share some elsewhere.
they left
L
because rules are opiniated and there are infinite possible rules so including presets is senseless
joining the server is just a way to find rules created by other people, similar to how you can find custom css snippets, you don't have, you can just write your own rules 🤷♂️
this is so weird to me like it's literally a discord mod ofc we're gonna use a discord server for community resources??
one could say that plugins are opinionated as well, but yeah
@limber skiff ur recent pr changes the patch to pass the raw objects instead of using the merge Objects stuff right?
So modifying them has an effect
yes sir
tbh could have kept merge object logic
I think just had to change fake nitro to set array length to 0
it's fine though
I don't even know if it's possible to do something like this but it seemed useful to me because I wanted to do it and I couldn't
huh i swear you could do this already
bug ig not
oh its in the worst context menu possible
oh
I was thinking more of a button on purpose
To do it
I didn't know I could turn it down like this 😭
i had used it but forgot lol
Like this one but vertically
ye just edit post to clarify
okay
yeah
Hello, I have a question, can anyone help me?
#🏥-vencord-support-🏥 + dont ask to ask
thanks and ok
Well, hello i want to suggest good plugin - https://betterdiscord.app/plugin/Translator its very good plugin for everyone, you can easy translate
@austere talon make vencord desktop allow copying the link of an embed
@austere talon have people pr their text replace rules as the only way to add them 
horrid
i wonder how difficult it'd be to add ways to import from vendetta plugin and vice versa
to vencord?
yeah
from vd to vencord and vice versa
for my vendetta plugin I have exporting the json of a rule and also allow importing a rule from a message by holding on it
i miss this plugin from betterdiscord
Adds a `` tag around the reminder to use raw links for themes.
Should be at least a little helpful to users that tend to gloss over small text.
Preview:

the old system
GrammarCorrect is a simple plugin that fixes you flaws in typing i think it will be some what useful in vencord lol
/**
- @name GrammarCorrect
- @version 1.0.5
- @description Corrects your grammar mistakes just like Grammarly
- @author QWERT
- @source https://github.com/QWERTxD/BetterDiscordPlugins/GrammarCorrect
- @updateUrl https://raw.githubusercont...
he could not have sent that in a worse way
Why send the source link when you can send THE source
both links are 404s, maybe it was deleted
Discord Account
StormCrasher783#9544
What happens when the bug or crash occurs?
it just doesent work. when i download it, it never actually does anything. redownloaded 5 times.
What is the expected behaviour?
im a noob at coding so idk
How do you recreate this bug or crash?
click download vencord.
Errors
Replace this text with your crash-log.
Request Agreement
- [X] I am using Discord Stable or tried on Stable and this bug happens there as well
Lets you format your messages with buttons and adds more formatting options.
The linked readme has very through feature explanations with text and gifs.
A similar plugin exists for BetterDiscord: https://github.com/rauenzi/BetterDiscordAddons/tree/master/Plugins/BetterFormattingRedux
god there are 5k dead banner links out of 34k usrbg banners
how did u check
fetch each one that is discord link
I can help you modify the patches if you want.
I moved the modal to the emoji picker but I have 2 problems here, maybe you can help:
- I don't know how to move the "7TV" tab in the picker after the "Emoji" so it won't conflict with your plugin. If I try to move it after the "Emoji" tab, it somehow moves outside the nav entirely.

- I don't know how to open the picker wit...
why not do this in settings?
u mean make it as option?
no
do it in settings
instead of during replacements
I think text inputs take a serialise prop
iirc
just make that replace the newlines
2.96MB -> 2.29MB
talk to that Sarah person on BD
wait wdym by dead banners
the banner link itself is dead or the user is dead?
banner link
user i check first 6k users it only like 7 of them return 404 so i give up 
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 ```
0a89d09 style(Settings): Make the text about raw theme ... - JSEverything
8813f81 ShowConnections: Remove "(click to copy/open)" ... - AutumnVN
lmao workflows doesnt like me merging so quickly
review eta never :trollface:
nice
Everyone who does not have the plugin will still see the link, it just looks bad
EmojiReplacer does it so the emoji is deleted from the message, the message is sent and the emoji is sent in another message right after so it looks nice
its probably merge able
totally agree this would make a nice edition, currently have Canary installed with better discord so I can still benefit from devil bros personal pins, but use vencord as main since its more stable then betterdiscord.
Bump. I would like this plugin as well. I dislike the default Discord notification sound. When I used to use BD this plugin was always on.
Any chromium based browser including electron.
I currently use the web version but due to some of it's (intentionnal) limitations, I thought it could be interesting to have a Vencord plugin
bug with relationship notifier: switching accounts makes it says you leave a bunch of servers and arent friends with people, obviously not expected behaviour
maybe a discord bug but when switching accounts your fake nitro theme is removed and replaced with whatever normal theme you had before, if it is a discord bug then maybe vencord could still fix it
first is known, second is not a bug
alr thanks 👍
@twilit abyss hello
fixed the patches
figure out the rest urself
(I added an active prop to the chatIcon, use it instead of the tooltip thingy)
PS: Ur component is currently ugly, you should change it
Discord Account
Homeknopf#5982
What happens when the bug or crash occurs?
VcNarrator does not find all windows Narrators. I am not sure if it is impossible use Natural Narrators/Voices. (((It also did not found the Desktop Voices)))
Plugin:

Windows settings:

The plugin just uses the speechSynthesis Web api to retrieve voices, so it's out of our control
https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis/getVoices
try using https://github.com/Vencord/Desktop and see if it has them (it uses the latest electron version). If it does, then it's just because Discord's electron is outdated, if it doesn't, natural voices are likely just not supported inside Electron.
I googled a bit and according to some issue on the edge webview repo, natural voices are an online service that costs money, so it might be disabled in electron by design
It definitely works in edge (and maybe chrome and friends) so you cou...
that should already be fixed
you're likely using outdated vencord
I think this doesn't have the same hover colour os the others? please fix that if applicable
@cunning canyon how did u make this svg btw
did u use some tool to convert png to svg
no right? can't be, the svg is too sane for that
hm, i think they don't usually look good because they make it smooth
i found one but the converted svg is just a lot of horizontal strokes, then i "redraw" it manually to make it become fill so it will same as other icons
idk why it doesnt change color in vanilla, it is fill="currentColor" same as others tho @austere talon
the others probably have a class this one doesn't
it changes hover color fine on my theme
@austere talon I made a nice hook for discord's stores, should I add it to the utils?
usage:
you give the store name, and a callback that uses the store
import { findStore } from "@webpack";
import { React } from "@webpack/common";
export const useStore = <T>(storeName: string, cb: (store: any) => T) => {
const [store, setStore] = React.useState<any>();
const [value, setValue] = React.useState<T>();
const callback = React.useCallback(() => setValue(cb(store)), [storeName, cb]);
React.useEffect(() => {
setStore(findStore(storeName));
}, [storeName]);
React.useEffect(() => {
if (!store) return;
store.addChangeListener(callback);
return () => store.removeChangeListener(callback);
}, [store]);
return value;
};
others are just iconWrapper and clickable too
very nice work actually but discord already has almost the same hook 😭
const activities = useStateFromStores([PresenceStore], () => PresenceStore.getActivities(...))```
Nooo
@austere talon ok it is missing this class in svg, but what can i use instead of... hardcode it
get it
ah ill check for an update now
findByProps("container", "hamburger", "iconBadge", "divider", "icon").icon
HAMBURGER
tbh
just use css and do it urself
.urThing {
color: var(--interactive-normal);
}
.urThing:hover {
color: var(--interactive-active);
}
i think these are the classes but not entirely sure lmao
btw while youre at it, can you add a id to the outer element?
so people can theme it with css
actually nah no need
they can use
[aria-label="Vencord Toolbox"]```
although ig if you want, adding a proper id/class would be better
.vc-toolbox {}
@limber skiff
seems good
i love function composition
why skip ci though
cause not that important
probably gonna merge some actual features soon
but yeah now we know why some people got rate limited so hard lmao
cause it sends 5 billion requests
is it just me who doesnt like making a separate folder for plugins so i prefer not to use css

idk why tbh
you are not alone
i feel like we could refactor some huge plugins into a folder tho
I hate plugins that need a folder just cuz of css
like fakeNitro is kinda deranged
WTF SO MEAN
merge my pr that adds more
could definitely split up the code

NO
yES
nope
ok but for real
when permissions viewer
I havent changed that code in ages 😢
im waiting for https://github.com/microsoft/TypeScript/pull/53542 to arrive in vscode so i can do https://github.com/Vendicated/Vencord/issues/962
I didnt even know that was a thing
its super new
see this move to new file
that creates a file
but it doesnt let u move to an existing file
ugh
wait maybe i just have to update vscode
it was added a week ago
explosion
should i hop on nightly
yea
nice
natural voices are an online service
Most are, however there are exactly three voices that run locally (as far as I am aware). I cut of my internet and they still worked.
The three voices :
https://support.microsoft.com/en-us/windows/appendix-a-supported-languages-and-voices-4486e345-7730-53da-fcfe-55cc64300f01#natural_voices
With more natural voices, Narrator users can enjoy...
trying to fix this but i have no clue how to differentiate between these two possible events (note how one has super low online count)
#🏥-vencord-support-🏥 message
bruh
theres this event but its legit never fired
wtf even is the "id" prop in those events
its not a valid snowflake
Since https://flathub.org/en-GB/apps/xyz.armcord.ArmCord is there I doubt it would be problematic.
oh i got it
listen to channel select too
const { id: channelId, guild_id: guildId } = useStateFromStores([SelectedChannelStore], () => getCurrentChannel());
const channelMemberProps = useStateFromStores(
[ChannelMemberStore],
() => ChannelMemberStore.getProps(guildId, channelId) as { groups: { count: number; }[]; }
);
const total = useStateFromStores(
[GuildMemberCountStore],
() => GuildMemberCountStore.getMemberCount(guildId) as number
);
if (total == null) return null;
console.log(channelMemberProps);
const online = channelMemberProps.groups.reduce((count, curr) => count + curr.count, 0);
just had to completely rewrite
nice
yikes
oh i know
poor shiggy, shiggy cannot be replaced
this will only work for messages, not other links like bios. I think a click listener on the window that checks if the target is an a would be better as it covers all links
you didn't even use ur css class lmao, u just forgot to remove the icon- class from svg thats why it worked
anyway i fixed it
3a54a24 VencordToolbox: Change img icon to svg (#1059) - AutumnVN
0b2c3c8 MemberCount: Fix not properly updating on chann... - Vendicated
fucking hell, mine is better but there is no point in having a custom hook when this works
im legit gonna cry
i felt like i was the smartest man in the world for a second
how is urs better?
you can change the store and cb in the same hook
how is that useful? its not
but imagine if you had a dropdown of stores
and you used the value of the dropdown in the hook
it would work
that aint useful in any way
but useEffect is that cool
im guessing you mean something like this?
also, SpotifyStore would need to be updated, maybe somehow use an href here instead of an onclick?
i tried changing it but i hate working with js/ts in general.
also, SpotifyStore would need to be updated, maybe somehow use an href here instead of an onclick?

also, SpotifyStore would need to be updated, maybe somehow use an href here instead of an onclick?
...
@austere talon you must review now
https://github.com/Vendicated/Vencord/pull/958
As the plugin stands, to line break you type \n in the replacement entry for text. Working well, however, when you save and close, and open it again, the \n disappears when you check it again.
This makes it difficult for editing large bodies of text, having to remember where your linebreaks are. My suggestion is to keep the \n in the replacement text so that it can be easier to edit the text again.
Discord Account
ꜱᴏᴍᴇᴛʜɪɴɢ#0001
What happens when the bug or crash occurs?

There is apparently 221 people online where there's not.
What is the expected behaviour?
All the people that have their status not set to Offline be called "Online"
How do you recreate this bug or crash?
- Go to a channel.
Errors
[Spellchecker] sh is not a valid locale.
U...
Currently, the silent message toggle is automatically disabled after sending a message, so you have to click on the toggle every time you send another message.
I've added an option in settings to allow users to keep it enabled after sending a message.
It was kind of useful knowing which would be copied vs which would open a tab. Not a huge issue, but there's information lost due to this PR.
The OP is trying to avoid the link being there in the first place with this suggestion. If the plugin doesn't offer fake nitro emojis when there is message content, then the link never gets embedded.
searching == false?
Really?
Why not just !searching?
I'd suggest making the picker to be an infinite scroll instead of pagination.
I'd suggest making the picker to be an infinite scroll instead of pagination.
I can't request all emotes from 7TV. That's why there's a pagination
@twilit abyss
Uhh, you can fetch the next page when the user scrolls to the bottom
That's what we call infinite scroll
And just extend the array of emotes with the next page
There is a hook named useIntersect iirc
You can use it to see if the user has reached the bottom by having an element at the bottom with that hook
I can do it tomo if you don't want to do it urself
I can try to do it today later
You can look at my plugin ThemeStore
Although the recent commits removed the auto pagination, if you look at a past commit you will find it
Okay, thanks 
**Store.tsx: **
/*
* Vencord, a modification for Discord's desktop app
* Copyright (c) 2023 Vendicated and contributors
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import "./style.css";
import { classNameFactory } from "@api/Styles";
import ErrorBoundary from "@components/ErrorBoundary";
import { handleComponentFailed } from "@components/handleComponentFailed";
import { Logger } from "@utils/index";
import { LazyComponent } from "@utils/misc";
import { useIntersection } from "@utils/react";
import { findByProps } from "@webpack";
import { Flex, Forms, React, Text } from "@webpack/common";
import { getThemes, ThemeSearchResult } from "../API";
... (98 lines left)
You don't have to save each page in an array like I did, I only did that to preserve the page numbers
A single array with all the emoji should suffice






