#πΎ-core-development
1 messages Β· Page 51 of 1
yea
i got it to work how i want i think
hell yeah
the ugly way but
now saves profile outside of component
i try not to
Why's that
I have a way better way for u
a lot of my typescript code is hacked together
const [signal, refetchProfile] = useReducer(x => x + 1, 0);
useAwaiter(..., { deps: [signal] });```
do this instead
now you can just call refetchProfile() whenever
but u need to call it after the value in the DataStore has been updated
yeah
ok yay that works exactly how i want
react hooks are really something else
you can tell I don't spend too much time doing react
the most annoying thing about react hooks is that u can't call them conditionally
you always have to call the same amount of hooks
if I have this, how can I declare profile as type Profile:
const profiles = await getProfiles();
for (const profile in profiles) {
yeah
for ... of not for ... in
its a Profiles[]
thanks lmao
me when 2 letters mess it up
for in is for looping over property names
which in the case of an array will loop over the indexes :)

I'll work on this more tomorrow... all I have to do really is:
get encrypt and decrypt working with profiles- add colors for different profiles
- color picker in add profile menu (not a big deal if I can't get it to work/not possible, hex codes are fine)
what does 2 mean
do u mean make the context menu not go off screen?
even discords own context menus do that lmao
lmaoo
the colour picker is a bit hard to use since you need to make a regex patch to obtain it (cause its not exported)
discord moment
ummm
- The test are failing hehe
- Please add regex support it should be easy and it will be kewl
Sighhh π₯Ί

Ah yes
GirlΒ² β’οΈ
i mean...blame the browser, all extensions have this shitty thing called reload
while it can be automated, it is a necessary process
Discord Account
ππ£. ππππππ₯#9300 (@"Kotlin Enthusiast" in Vencord discord)
What is it that you'd like to see?
I find that I don't care when people edit their messages, I mainly use the message logger plugin to keep track of deleted messages.
With that in mind, I find it quite annoying to have to right click -> remove message history for messages, as the circles I find myself in tend to edit their messages 3, 4, 5, even 6+ times in some cases, and it can become quite spammy.
...
me when
.messagelogger-edited {
display: none;
}
@deep glade ^
Oh, that is perfect for me <3
(Thanks for the ping @βββββflag btw)
need to figure out how to set message colors
any reason for the closure? just curious
i changed branch name and it auto close lol, will reopen later when array option is done
added a plugin which replaces tiktok urls on send to tiktokez which embeds videos which you can play back. this is pretty much a copy of fxtwitter
whyre there like 50 tiktok embedders lmao
where did the text replace plugin go? lmao
also, instead of replacing the link, it would be better if it edited the embed
(cause that would fix a lot more issues)
Hi, can you modify ShowHiddenChannels to add a last message relative timestamp (based on last message id) and a button to copy last message ID in the hidden channel screen? This data is already provided by the channels api.
@austere talon profiles and colors implemented!!!
Hello, where can I install the cli, please reply and send the link :)
On Tue, Apr 25, 2023 at 9:23β―PM V @.***> wrote:
use the cli
β
Reply to this email directly, view it on GitHub
https://github.com/Vencord/Installer/issues/58#issuecomment-1521783743,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A7NKQBCZBRVPVLV25PI2TPTXC7F3JANCNFSM6AAAAAAXK3RBJU
.
You are receiving this because you authored the thread.Message ID:
@.***>
you should add Instagram aswell, (Instagramez.com)
I wish there was a way to make the context not overflow
specific Text replace plugins are no longer accepted, wait for generic text replace
tbh @cunning canyon it doesn't seem like array option will be done any time soon
So we can probably just merge it how it is for now

mmm
does this mean u have different profiles per server
alright, but I feel like someone is definitely gonna request being able to always use a specific profile for a specific server/channel

the selected profile persists so
it can always be switched
I'm debating wether it should toggle when changing profile
its just annoying because once you have 3 profiles you cant delete them because it overflows
make the profiles a separate tab
as in
right click your chat box and there's some option that opens a second menu
u could have it like that
do you have an example of a plugin that does that
yes
the greet plugin
but it's really easy, you just nest MenuItems
<MenuItem ...>
<MenuItem ...>
</MenuItem>```
oh
the outside MenuItem doesn't need an action in this case
that's creepy
i tab away and then tab back and i've been possessed
i wonder if they'll even be able to open their terminal
i edited ur reply because there's no way in hell someone who can't even find the cli knows how to run a cli program

yea all good i saw edited by you
can't wait to get another comment saying "where do i run this"
i generally just don't reply to stuff like this because if someone isn't able to read basic instructions I'm not very keen on helping them haha
yeaaaahhh
i happen to be procrastinating work right now so this is at least more productive than going through all my unreads in all my servers again
my favourite type of person is one that posts a screenshot of a very obvious error that literally tells you how to solve it
and goes "waaaah how to fix this π"
"why does this no work"
[please close discord in the tray before patching]
i love when i just type exactly what i see in the image and they go ohhhhhhh
lol all the time
thats so me
that is so me
with anything that is more than just basic instructions
or anything not related to software
this operation isn't atomic, you should use DataStore.update() instead to avoid possible race conditions
const hasPublic = p.some(p => p.name === "Public");
this update call will break attachments, could encrypted messages possibly contain attachments?
return addProfile(publicProfile);
there is no need for these awaits
action={() =>
removeProfile(currentProfile)
.then(() => setCurrentProfile("Public"))
.then(refetchProfile)
}
same as above, use DataStore.update
can there be duplicate profile names? If yes, this would cause ui glitches when you add duplicate keys
case in point 
#π₯-vencord-support-π₯ message
lol i was just about to say
this should be handled in the addProfile function.. let me know if it needs improving though
i mean, downloading it and playing it afterwards doesn't sound like a bad idea. I understand it's a bit different from real soundboard, but i'd still say it's better than nothing...
how would I persist attachments?
did most of the suggestions except that one
the thing is i dont really know lmao
the problem is that MESSAGE_UPDATE expects an api message
but the message u have is a processed message
:3
Inspired by Magane for BD, this plugin adds sticker packs from other social media platforms.
For now only LINE sticker packs will be supported, but we are open to ideas on more sticker providers.
TODO:
- [X] Integrate with the built-in expression picker (that's what discord calls it)
- [ ] Finish the UI
no screenshots for now, as it is still in development
filter doesn't mutate the array, so this will do nothing! What you instead want is something like
return old?.filter(p => p.name !== name) ?? [];
My good sir, upon close scrutiny of the particulars encompassed within this pull request, it has become strokes beard pensively abundantly clear that the legal and ethical ramifications inherent herein simply cannot be disregarded.
As evidenced by the commit history for this repository, readily available here, this code has been derived from [Eggcrypt]...
they sure do love their beard
they reacted to their own message
but yes i don't feel like introducing a license violation
however
this seems to be
fake
meowcrypt is older than "eggcrypt" by a week
also like powercord lol what
im trying to find evidence but i think this is a troll
https://github.com/BrylanBristopherNFTs/eggcrypt lol me when nfts and hong kong nonsense
an hour later the repo was published

quite odd
this is the oldest mention (and first google result) i found of "eggcrypt"
https://www.reddit.com/r/jailbreak/comments/g83ehp/release_eggcrypt_public_beta_by_castyte_encrypt/

@BrylanBristopherNFTs This PR is older than your linked repo. Please provide real evidence or stop trolling.
such a weird license too
wtf is going on from l44 to l156
why would anyone go through that much effort for a little trolling
My sincerest apologies, in my previous missives on this topic I neglected to mention that the maintainers of Eggcrypt recently released updated source code under the auspices of βProject Beijingβ which implements several new security features that may be of interest.
In particular, this new release of Eggcrypt utilizes an in-house pseudo-Mandarin encoding solution to provide an additional layer of plausible deniability for encrypted communications. Users of the novel Project Beijing edit...
yeah nah
shakes head gravely
@BrylanBristopherNFTs This PR is older than your linked repo. Please provide real evidence or stop trolling.
The linked repository was around for years. I have simply just now updated it. It is my understanding you have used an old copy of eggcrypt which was also under the same license.
lmao
that would "explain" the 2020-2021 copyright notices on the files i guess...
but this is so troll
@BrylanBristopherNFTs This PR is older than your linked repo. Please provide real evidence or stop trolling.
The linked repository was around for years. I have simply just now updated it. It is my understanding you have used an old copy of eggcrypt which was also under the same license.
Your account is a week old. Goodbye.
loool it's the post you sent
lmaooo
lmaoooo
reddit.com/r/jailbreak/comments/g83ehp/release_eggcrypt_public_beta_by_castyte_encrypt
Here is the original which you have based your code upon
There is very obviously no source code here.
this guy 
this guy is actually
i swear what he is doing is edging legality
(it's illegal)
exactly
yeah it's so obvious
why are u feeding the trolls
I can't block him from the repo :)
you can just ignore it or mention me or similar
yeah reported them
My good sir, upon close scrutiny of the particulars encompassed within this pull request, it has become strokes beard pensively abundantly clear that the legal and ethical ramifications inherent herein simply cannot be disregarded.
As evidenced by the commit history for this repository, readily available here, this code has been derived from [Eggcryp...
shigs shiggy shiggily
oh that makes sense lmao
Well howdy there partner! tips cowboy hat Looks like ya'll done gone and decrypted that egg-crypt doohickey. Must've taken a whole heap of effort and smarts to unscramble that there techno-wizardry. I hear they really muddled up the insides to keep folks from peekin' under the hood.
No matter how slick ya'll are at coverin' your tracks though, takin' someone else's code without askin' still ain't right. My associates and I are gonna have to ask ya kindly to mosey on over to that repo...
bro
im just gonna start deleting them now
LMAO
"anonymous associate" can we ip ban users lol
vencord repo in vencord org never
im very glad i got subscribed to this pr π
lol
dont waste ur time / give dumb people attention
mfs were harassing me in my discord about code i never used
just ignore, github support takes care of it 
thats probably because powercord plugin was named that xd
it's on the nft dude's profile
yeah it was originally called eggcrypt
o
the pr is older than the repo

if they spoke like a normal human i'd actualyl put effort into verifying their claim
however they are acting like a 5 year old
so i will not
click test patch
yeah but it still wasnt their code 
does it work
i mean fwiw the powercord code there has a 2021 copyright notice, however fake that may be
i cant connect my client
pnpm watch
was just the same name and public key
u need to pnpm watch then this option when right clicking settings cog
and encryption algo, now its all different
oh right
lmao
i dont even need to it just connects itself
yeah the code all looks unique
yeah same
so by changing the key & algo there's literally nothing that links to the old project
yeah, u only need that if u open vscode after discord

yeah even if it was still called eggcrypt it wouldn't be DMCA worthy
reply moment
what
m
m
m
enable companion plugin 
m
m
gonna assume you replied to the wrong message lol
oh right
thanks
Patch failed: Replacement 1 failed: SyntaxError: Unexpected token 'if'
if
not the if statement π
'if'
trolled by if
oh
also ur patch wont work
because you're changing this to return dispatch({}),if(
thats not valid js syntax
like getting a component to use it for whatever
for example if you wanted to use these of the textarea
although i could just use whatever dom event
actually i think i tried to patch one of these directly before and gave up for whatever reason so

that shouldnt be too hard
well getting the component is harder
but u can technically just use dom for it
what exactly are u trying to do
there's likely a better solution
As an established and respected software engineer, I feel compelled to comment on the troubling matters surrounding this Pull Request and its dubious origins.
At IBM, transparency and ethical conduct are of paramount importance in all of our business operations, especially open-source software development. We strive to build trusted relationships with both users and the greater technical community through a commitment to responsible disclosure and strict compliance with all legal obligat...
lmaoo
dude
i just locked the pr for now lol I'm gonna unlock once github support responded

can u still push commits to a locked pr i have no clue
yea
pretty much have a function run when i'm typing something
except i use silent typing so startTyping is already off
its a secret
animal making keylogger 
no
cause it doesnt really matter xd
i'm making an update to my userplugin that sends a typing indicator through osc
what is wrong with these people
but funnee
i dont get it
theyre insane
what they are doing is illegal, right?
bro has no evidence to back his claims either
impersonation is indeed illegal
not impersonation, using legal (empty) threats to force someone to do something
I have a feeling claiming something as your copyright when it indeed is not is illegal
pretending to be an IBM employee is impersonation
oh
I didnt get to read that one in time
Patch failed: Replacement 1 failed: SyntaxError: missing ) after argument list
dispatch({type:\"GUILD_JOIN\",guildId:$1,lurker:$2,source:$3,loadId:$4}); if($2){$self.patchLurk($1)}
what are u trying to do anyway
patchLurk(id) {
findByProps("getGuildsTree").getGuildsTree().root.children.unshift({ type: "guild", id, unavailable: false, children: [] });
findByProps("getGuildCount").getGuild(id).joinedAt = new Date;
findByProps("lurkingGuildIds").lurkingGuildIds().pop();
findByProps("joinGuild").transitionToGuildSync(id);
}
whats the whole guild lurking thing I don't get it
you want to run something after the event gets emitted?
yeah
why not subscribe to the event then
what the guy said is omega illegal wtf
I should report to IBM and have them tear him a new legal hole 
flux: {
GUILD_JOIN({ guildId }) {
console.log(guildId);
}
}
this will run whenever that event is emitted
can u stop talking about this now it's offtopic and kinda annoying
oh cool, then i dont need to do any patches right
yeah
alr
Jup coding π
barley
horror
NO WAY
@shut ridge you will merge immediately
how
i think u pinged the wrong person
by hacking ven
@limber skiff what the hell
im trying to find the code that updates messages
but i literally cannot find it
i checked every single MESSAGE_UPDATE handler
none of them do it
i found the function that modifies messages which we could patch to do nothing if it's already a proper message
but i dont weanna do that
in the MessagesStore
ye but i called MessageStore.emitChange() after updating store
and it just didnt do it
idk
there is so method there that calls all hooks for changes
I was manually firing it
function updateMessage(channelId, id, updater) {
let store = wreq(815678).Z.getOrCreate(channelId)
if (!store?.has(id)) return false;
store = store.update(id, m => (updater(m),m))
wreq(815678).Z.commit(store)
}
this can update messages without breaking shit but it doesnt rerender the component
note how it doesnt break attachments but it also doesnt update until i hover
lol you can just change the message obj prop on the cache and it works too
wait wdym
cache.getMessage(...).content = "as"
whats cache
MessageStore?
oh yeah MessageStore.getMessage() just returns MessageActionCreator.getOrCreate(channelId).get(id)
ye
if you want when I get home I can send you my testing stuff
that will be in like 3 hours
well this func is what's fucking up the message
you can find it by searching for !=e.edited_timestamp
we could just patch it to do nothing if the passed message is already proper format
would probably work
@calm shore YOU
MessageUpdaterAPI
yop I got to that too
scary
real
but call stack horrible you cant find where it's called from
wait show me the prototype of this
thats message store
invokeAll
does nothing
that's what I was calling
I was going to manually step the call stack til I found something useful
// This feels strange - but no one knows why it's like this.
least buggy discord code
what's this
okay but why did you post that
yea
how the
wtf lmao
discord messed up and leaked their sourcemaps ages ago
yeah lol
some people downloaded everything
broo
I need
do you have them?
nuh uh
π
π
sending them in a public place is probably unwise tho
true
anonfiles
how tf can you edit files in chrome devtools
i saw fiery do it when he streamed
but it doesn't let me edit
magic
like he just edited a file in the sources tab
oh it happens to me too
i thought u could
like u saw me try it and it just froze
idk I just can lmao
does it work tho
I never tested
like does it actually change the code


do u not have the super old ones
no
that looks unrelated
ez
you will slowly send all files.,.,.
/UalaFbnez1/discord_src_and_auttaja_website_7z
yeah it does make sense
it's the one time you should actually use != over !==
it's way better than checking for both lol
i would usually just
- foo.bar != null
+ !!foo.bar
but that will also be false for falsy values
like 0, "", etc
js moment
no thats a useful thing in most cases
and actually the same in c and many other languages :P
o
enable overrides
iirc you have to set a folder
where it saves the files to
i already figured it out
k
but doesnt work 
rip
it hard freezes discord and u have to close it from task manager
lmao
the will never remove the now obsolete electron 13 fix
wait discord has a multi instance flag
i never knew
we do a little
ye but it's rarely used or mentioned
PronounDB (had no effect):
ID: 507250
Match: /\(0,.\.jsx\)\((?<PronounComponent>[A-Za-z_$][\w$]*\..),(?<pronounProps>{currentPronouns.+?:(?<fullProps>[A-Za-z_$][\w$]*)\.pronouns.+?})\)/
UserVoiceShow (had no effect):
ID: 1764
Match: /,{user:\w{1,2}}\)(?!;case)/
WebContextMenus (had no effect):
ID: 638525
Match: /(?<=showApplicationCommandSuggestions;)if\(![A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*\)/
WebContextMenus (had no effect):
ID: 638525
Match: /("submit-button".+?)(\(0,[A-Za-z_$][\w$]*\.jsx\)\([A-Za-z_$][\w$]*\.MenuGroup,\{children:[A-Za-z_$][\w$]*\}\),){2}/
PronounDB (found no module):
ID: -
Match: .Messages.USER_POPOUT_PRONOUNS
None
ViewIcons (had no effect):
ID: 74188
Match: /style:.{0,10}\{\},([A-Za-z_$][\w$]*)\)/
PronounDB (had no effect):
ID: 507250
Match: /\(0,.\.jsx\)\((?<PronounComponent>[A-Za-z_$][\w$]*\..),(?<pronounProps>{currentPronouns.+?:(?<fullProps>[A-Za-z_$][\w$]*)\.pronouns.+?})\)/
UserVoiceShow (had no effect):
ID: 1764
Match: /,{user:\w{1,2}}\)(?!;case)/
WebContextMenus (had no effect):
ID: 759725
Match: /return [A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*\?(?=\(0,[A-Za-z_$][\w$]*\.jsxs?\)\([A-Za-z_$][\w$]*\.Menu)/
WebContextMenus (had no effect):
ID: 638525
Match: /(?<=showApplicationCommandSuggestions;)if\(![A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*\)/
WebContextMenus (had no effect):
ID: 638525
Match: /("submit-button".+?)(\(0,[A-Za-z_$][\w$]*\.jsx\)\([A-Za-z_$][\w$]*\.MenuGroup,\{children:[A-Za-z_$][\w$]*\}\),){2}/
PronounDB (found no module):
ID: -
Match: .Messages.USER_POPOUT_PRONOUNS
None
Cannot use SettingsStoreAPI without setting as dependency.
A plugin for Vencord that allows you to favorite Video and Audio from discord. Like this better discord plugin.
https://github.com/0x03c/FavoriteMedia
Would be cool to see something like this in Vencord if possible.
tho ig this one is pretty badly named
oh wait this one has been brought up 3x
why did u reply to the issue I already closed like half an hour ago xD
hm
oh
cuz i didn't see when you closed it oop
oh also cuz i couldn't comment and tell the person it was a duplicate π
so i commented here instead

the horror
this server was just my personal test server before I repurposed it to vencord server I think that's why Aliucord plugins is here

Hello, I just clicked on the link, and downloaded the file and did not
work. I tried the Powershell thing still did not work I got this error on
Powershell
On Thu, Apr 27, 2023 at 12:32β―AM Rendundakat @.***>
wrote:
https://github.com/Vencord/Installer/releases/download/v1.2.8/VencordInstallerCli.exe
β
Reply to this email directly, view it on GitHub
https://github.com/Vencord/Installer/issues/58#issuecomment-1523721512,
or unsubscribe
<https://github.com/notifications...
Hello, The CLI Version did not work, I tried the Powershell one, but I got
this error. Please Reply to me and help me with this problem. Thank You :).
[image: image.png]
On Thu, Apr 27, 2023 at 12:32β―AM Rendundakat @.***>
wrote:
https://github.com/Vencord/Installer/releases/download/v1.2.8/VencordInstallerCli.exe
β
Reply to this email directly, view it on GitHub
https://github.com/Vencord/Installer/issues/58#issuecomment-1523721512,
or unsubscribe
<https://github.com...
you love [image: image.png]
how exactly does vencord allow imports from @whatever/whatever?
(ping on reply or i'll break your kneecaps :P)
yeah but that only does for typing, no?
because i tried that in bandager and it works for types but when running it throws a MNF error or whatever it's called on node
apparently there's something called tsc-alias which seemingly does what i want
yeah
there's a lot of packages that fix this issue but there isn't any near perfect
some things work on some but not others
node has path aliases built in as well
does it?
At the moment, when using the fake nitro plugin to send emojis, it will replace the emoji by a link to an image of the emoji, this works perfectly fine when the link is the only thing in the message because image links show as the linked image. But when you type a message and add an emoji at the end, it shows as a link and the embed.
A solution to a part of this is to use a "trick" that I've seen in a YouTube video of NTTS. So it consists into adding :
`||β||||β||||β||||β||||β||||β||||β||...
why dont they just press enter at the end of message and send emoji alone ???
i'm guessing it's because github web has the author as your nickname
so ven uses github web a lot??
i find that hard to believe
oh wait that's basically all pr merges xd
PR merges don't create a commit cause I use rebase merge
maybe now but not previously
I think V is my github account, Ven is my Linux git profile, Vendicated is my windows git profile
ohh
fun
so it's three setups :P
This is incredibly spammy, inconsistent on different platforms, and causes lag to some.
why does noone ever think of just sending emojis as attachments
oh cause rounded ig
@austere talon when we face CORS issues, is it with you to use a proxy?
elaborate
on what?
why are u facing cors issues
cause the webserver sends non-permissive cors headers?
(or doesn't send, which is the same)
Me and @quaint sapphire are working on a sticker pack plugin
and we are implementing the "auto download sticker pack from LINE" function
Obviously, the original source does not send a CORS header with 'https://discord.com' lul
@quaint sapphire suggests that we should use a cors proxy
and i think that we modify the response at client side is more elegant (but somehow looks dangerous? idk)
I did not refuse bc of safety
but a plugin is not important enough to have that much power
mixing plugin specific code with vencord core code is smth I want to avoid
as it makes it harder to merge

one other issue is that vencord works for web as well, and modifying headers is smth we can't really do on web
well, we can do it, but not w/o extension specific APIs
well, most plugins that contact an API have control over the webserver


is it just me or does the lock icon seem slightly too big
there's no margin between the header and "name" which looks a bit strange. Why not put some padding on the modal content itself (and remove the margin on the colour text input)

themes never 
I think it would be nice to add an additional "Edit current profile" option
additionally, there seems to be an incompatibility between MessageLogger and this plugin, I wonder how we could best solve that

might be bc it is filled
it just looks kinda fat
i think the lock icon could use a slight diet (or maybe use a (simplistic) cat icon it'd be cute)

why is styling inputs so painful
You know what would be cool is for option A to make the "Edited" text actually useful you could click on that and it show the full history
why don't they let u just change the colours of default inputs
u have to reimplement checkboxes from scratch...
having a plugin to replace the embed link with the media itself is much more consistent, i requested it here if anyone wants to upvote it https://github.com/Vendicated/Vencord/discussions/936
fake nitro already does this
What are the timezones based on? I noticed a lot of example cities missing (e.g. Montgomery) and am wondering whether there is a reason for that.
The timezones are taken from Intl, a JavaScript built-in library.
One possible reason for a city missing is that multiple cities can have the same timezone and there is no point having many cities.
For example Greece has only one timezone, there is no reason to have more cities than Athens.
But yeah, Intl is where we are getting the timezones from.
(If you are talking about the website TimezoneDB then I don't know)
Not the timedones again
the text colour seems to revert to white if you switch channels then come back. I think a good fix to the last 2 issues would be patching the message content component instead of actually updating the message text
looks good other than that small nit
stop posting aboput timedones! i mtired of seeing it!
I have no idea how I would even begin to implement this feature but I think it'd be a nice enhancement to be able to edit the data of a message and have it update in the client, for example, if you switched the bot boolean inside the author object to true, then it'd show the bot tag next to the user's name that bots and webhooks have on Discord. You'd also be able to edit the content of other's messages without using something as tedious as Inspect Element. Overall, it isn't a very impo...
it hard crashes every time i open it 
only in elements tab π
new electron versions hate
The idea is to have quick actions here, and any plugin can specify one more actions that will automatically appear here

the forbidden module
wtf is that
yeah
it's just a lazy imported module
why is it like that lmao
esbuild recognises that path is dead so it doesn't include it
and null is the best alternative to make it still compile
insane
this is the input code
(void 0).launch
but yeah the idea is that plugins can add stuff here
ooo nice
like reconnect dev companion
I mean if you wanted you wouldnt even need an api
idk what to use as icon for this cause it should fit with discord's icon
contextMenuAPI gang
yes
definePlugin({
quickActions: {
"Reconnect Dev Companion"() {
console.log("cliiick")
}
}
})
and then it adds that as button
maybe a + icon
ohh nice
I see
is it just me or does this look megu cursed
cause of the "..."()
It does

I never thought of that
yeahr
one thing only actually
how are you calling loadItems without wrapping the await in parenthesis
lmao yeah kinda but dw
π
- As mentioned on discord, please fix the alignment

- Adding a replacement for "ass" will also replace "bass". It would be good to have a way to make it only replace full words (this is super easy with regex \b)
- Why do regex replacements not support "only if includes"? You can do it with lookarounds but that's very ugly...
other than that, looks good!
how do i create like a store for a plugin
something that persists between refreshes
literally just want to store a single int
settings
so very description
as any
aaaaa
type it properly!!!
nuh uh
what
Vencord.Plugins.plugins does not have exact types, it only has the base plugin type
so to use custom plugin specific properties u need to cast
you will use plugin classes 
that won't change anything and classes suck massive dick
Would have proper types
that already works now
you don't need to use classes for that
then why are you doing as any
because it doesn't matter
what
idek i wrote the code at like midnight
lmfao
still havent figured out a good way to edit a clyde message
ViewIcons (had no effect):
ID: 74188
Match: /style:.{0,10}\{\},([A-Za-z_$][\w$]*)\)/
PronounDB (had no effect):
ID: 507250
Match: /\(0,.\.jsx\)\((?<PronounComponent>[A-Za-z_$][\w$]*\..),(?<pronounProps>{currentPronouns.+?:(?<fullProps>[A-Za-z_$][\w$]*)\.pronouns.+?})\)/
UserVoiceShow (had no effect):
ID: 1764
Match: /,{user:\w{1,2}}\)(?!;case)/
WebContextMenus (had no effect):
ID: 759725
Match: /return [A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*\?(?=\(0,[A-Za-z_$][\w$]*\.jsxs?\)\([A-Za-z_$][\w$]*\.Menu)/
WebContextMenus (had no effect):
ID: 638525
Match: /(?<=showApplicationCommandSuggestions;)if\(![A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*\)/
WebContextMenus (had no effect):
ID: 638525
Match: /("submit-button".+?)(\(0,[A-Za-z_$][\w$]*\.jsx\)\([A-Za-z_$][\w$]*\.MenuGroup,\{children:[A-Za-z_$][\w$]*\}\),){2}/
PronounDB (found no module):
ID: -
Match: .Messages.USER_POPOUT_PRONOUNS
None
Cannot use SettingsStoreAPI without setting as dependency.
ViewIcons (had no effect):
ID: 74188
Match: /style:.{0,10}\{\},([A-Za-z_$][\w$]*)\)/
PronounDB (had no effect):
ID: 507250
Match: /\(0,.\.jsx\)\((?<PronounComponent>[A-Za-z_$][\w$]*\..),(?<pronounProps>{currentPronouns.+?:(?<fullProps>[A-Za-z_$][\w$]*)\.pronouns.+?})\)/
UserVoiceShow (had no effect):
ID: 1764
Match: /,{user:\w{1,2}}\)(?!;case)/
WebContextMenus (had no effect):
ID: 759725
Match: /return [A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*\?(?=\(0,[A-Za-z_$][\w$]*\.jsxs?\)\([A-Za-z_$][\w$]*\.Menu)/
WebContextMenus (had no effect):
ID: 638525
Match: /(?<=showApplicationCommandSuggestions;)if\(![A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*\)/
WebContextMenus (had no effect):
ID: 638525
Match: /("submit-button".+?)(\(0,[A-Za-z_$][\w$]*\.jsx\)\([A-Za-z_$][\w$]*\.MenuGroup,\{children:[A-Za-z_$][\w$]*\}\),){2}/
PronounDB (found no module):
ID: -
Match: .Messages.USER_POPOUT_PRONOUNS
None
Type 'OptionType.BIGINT' is not assignable to type 'OptionType.STRING | OptionType.NUMBER | OptionType.BOOLEAN | OptionType.SELECT | OptionType.SLIDER | OptionType.COMPONENT'.
can i not use BIGINT in plugin settings?
okay im done now 
might be because ur default is not a bigint
try changing it to 8189n
(im also definitely not merging that plugin
)
yeah its just for me
this a bug or am i going crazy?
it's just a bug in vencord types
use the options: property on ur plugin instead
definePlugin({
options: {
capabilities: {
type: OptionType.BIGINT,
...
}
},
})
u can then access it via Settings.plugins.YourPluginName.capabilities
alr thanks
actually scratch that just pull and it should work properly

do u have ur console filtered
fuck yes thank goodness
0cc3901 MuteNewGuilds: add toggles for guild, everyone,... - carince
c1fca76 SilentMessageToggle: Add missing dependency on ... - Vendicated
this is really deranged, why don't u use a hideWarning flag instead lmao
use Discord's timestamp component to do this, either manually using the timestamp component (see message logger) or just using Parser.parse("<t:128919281>")
import { Settings } from "@api/settings";
if (user.lastReviewID !== 0)
showToast("You have new reviews on your profile!");
import { Tooltip } from "@webpack/common";
what's spacing? Do you mean padding/margin? If so, please change it to that
const Section = LazyComponent(() => findByCode("().lastSection"));
i think this might throw an ugly csp error because Discord doesn't allow inline handler script, please verify if this is the case by checking the console for errors
kind of jank animation for some reason probably my fault. thank you nookies for basically doing this for me :)
works well if you have the floating folders css where folders float over the rest of the window.
https://github.com/Redundakitties/quickCSS-snippets/blob/master/snippets/floatingfolders.css
OR
if you turn on dedicated sidebar for folders + no animation in the Betterfolders plugin
that looks really laggy lmao
oh that's what u said
but idk what it is
but when the plugin uses it it works perfectly
and when i use it it borks
i think it has to do with the click action
def
no idea, maybe @agile gull can help
hmM
perhaps something that isnt useful in the moment can be a day later? idk personally i was very disappointed when i found out vencord logger deletes logged messages after restarting discord. also irritating how there's no actual log but that makes sense cause ur only gonna have like 10 max logged messages at a time probably
oh i'm one thousand
i just found something really weird
has anyone gotten a false positive on an invisible chat before
i asked the person who sent it and they had no idea what i was talking about (i don't think they're trolling)
yet i still have this lock icon next to their message
it means their message has zero width chars
more precisely, the message matches this regex https://github.com/Vendicated/Vencord/blob/main/src/plugins/invisibleChat/index.tsx#L142
**index.tsx: **Line 142
INV_REGEX: new RegExp(/( \u200c|\u200d |[\u2060-\u2064])[^\u200b]/),
did they copy a channel mention or
yep
it might be that discord uses a char like that in it
is this no access for u
try copying from it and see if you get the same
it's #Unknown for me interestingly. b'yeah either one
no access might just be #1070019701662560286
i think they're different. cuz the guy must have copied it exactly to have picked up the WJ and also on my phone the one he saw as no access also showed to me as #No Access
the first one I sent is a message link the second one a channel mention
they're both just #Uknowns to me
Unlown
is this no access or unknown
okie makes sense
channels of servers you're not in are unknown
channels you don't have perms to se are no access
it's #v part 2 lol
forgot about that
is this no access
ye
that's what I thought
Yep
the previous ones I sent are from different server
I did completely forget i had that on
also everyone one of these fancy channel links has the WJ
I have it on too from testing stuff related to it
@fleet depot time to test ping
but I actually hate that plugin lmao
So pointless to see hidden channels and it just clutters ur discord with unnecessary channels you can't use anyway

nothing in ping ig
tru they can be very annoying
idk when i saw vencord had it even tho BD removed it i enabled it just for the "that's cool it's back" vibes but then never disabled it
no bully show hidden channels I spent so much time on it π
if you hadn't made it imagine how many plugin requests we'd get all demanding it
lmaoo
nah its a good plugin I just don't personally like it
I never used the BD hidden channels plugin either
lol I have it enabled but I barely use too
oh I didnt make it originally
that's why I'm not the first dev in the plugin dev list
but I did completely rewrite it
yeah usually the order of the authors tells you who made it originally 
but nookies is insane and rewrites plugins
that'd be nice but don't waste ur time on the Web context menus ones they're literally false positives somehow
idk my force chunk loader is broken or smth
ye
bleh because I had similar review types in aliucord too, I didnt want to add 2 params to url. its not that bad this way
wha,then it will show "new reviews available" on every boot.
the !==0 check only exists because if its first time getting data or if you have 0 reviews it will show all the time
I would love to see Simple Discord Crypt in Vencord.
With betterdiscord i currently use: SimpleDiscordCrypt with this loader plugin.
Hey there, first of all i really like Vencord ! the project is criminally underrated and it doesn't get the recognition it deserves!
I wanted to support the project by translating the Installer in French to make it more accessible. I created a '''FR''' folder where i translated cli.go, find_discord.go, gui.go, patcher.go, self_updater.go and util.go. I translated the readme as well.
I didn't use GO in my life so I didn't know how to make the installer detect the language of the system an...
Ah, probably an artifact of refactoring :P
I suppose I could have presets.
Don't repeatedly fetch modules on an event.
Fetch them once.
import { findByPropsLazy } from "@webpack";
const getGuildsTree = findByPropsLazy("getGuildsTree");
const getGuildCount = findByPropsLazy("getGuildCount");
const lurkingGuildIds = findByPropsLazy("lurkingGuildIds");
const joinGuild = findByPropsLazy("joinGuild");
export default definePlugin({
name: "PermLurk",
description: "allows you to perm lurk guilds",
authors: [Devs.Jup],
flux: ...
oh








