#👾-core-development

1 messages · Page 53 of 1

fleet depot
#

hey ven could we get a "check for updates" in the new toolbox blobcatcozy

charred monolithBOT
limber skiff
woeful sable
charred monolithBOT
charred monolithBOT
#

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;
}
charred monolithBOT
cunning canyon
shut verge
#

:(

charred monolithBOT
ripe void
#

Is this channel only for Vencord or also for Vencord Desktop?

cunning canyon
#

both

charred monolithBOT
limber skiff
charred monolithBOT
charred monolithBOT
cunning canyon
#

lmao

austere talon
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

austere talon
#

what are the other predicates?

limber skiff
#

no idea

#

theres this one at least

austere talon
#

what does that mean

limber skiff
#

idk lmao

austere talon
#

I think it's safe to just assume G is shiftKey

limber skiff
#

it is

austere talon
#

So change the code to V = true && !H ...

austere talon
#

why

#

that's kinda pointless imo

#

if it makes the patch more complex

limber skiff
#

just a small nickpick lol

#

I will add comments to the patch

austere talon
#

Also wow shift key pressed is super useful hook for me I will remember that

limber skiff
#

true the whole module is that

austere talon
limber skiff
#

meh

#

its already complex

#

comments will help though

austere talon
#

huhh wdym already complex

limber skiff
#

the second match already makes it complex

austere talon
#
match: /(?<=keyboardModeRnabled\}\)\),\i=(\i)&&!/,
replace: "true&&!"
limber skiff
#

oh

#

I didnt do that cuz I wanted to make sure it wouldnt break if something got in the way of that

austere talon
#

what does o and r mean

austere talon
#

oh wait

#

show emoji picker

limber skiff
#

does this help

austere talon
#

what's the difference between isExpanded and showMoreUtilities

limber skiff
#

idk either lol

#

but it uses isExpanded to show the other stuff

#

it's like children: [isExpanded ? ...<a lot of children> : null, rest]

austere talon
#

does changing showMoreUtilities instead work

limber skiff
#

nope

austere talon
#

oh did u try

limber skiff
#

no need to try lol

#

children: [isExpanded ? ...<a lot of children> : null, ...Vencord.Api]

austere talon
#

see how showMoreUtilities is used

#

discords code works in straaaange ways

#

wouldn't surprise me if they had duplicate logic

limber skiff
#

ah

#

I see

#

it's this

austere talon
# limber skiff

Also I remember this function being ultra deranged from when I wrote Message popover patch

limber skiff
#

_ is showMoreUtilities

austere talon
#

ohhh

austere talon
#

discord nice name

#

"showContextMenu" would be so much better name

austere talon
limber skiff
#

I need to start putting comments with what I'm matching in my patches

#

anyone trying to fix shc will have no idea

austere talon
limber skiff
#

yeah lol

austere talon
#

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

limber skiff
#

it's not that bad

austere talon
limber skiff
#

hmhm

#

I wonder if that wont make performance go brrr

austere talon
#
/,\2=(\i)&&!(?=.+?isExpanded:(\i),)/```
#

try it and see

austere talon
#

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 AyameLaugh

#

I'm surprised that didn't cause any errors or even crashes

limber skiff
#

this doesnt work 😔

#

this didnt either

#

wait I dumb

austere talon
limber skiff
#

nvm it still doesnt

limber skiff
#

I just changed \i to .

austere talon
#

and does it work

limber skiff
#

nope

austere talon
#

why

limber skiff
#

no idea

austere talon
#
match: /isExpanded:(\i),(?<=\1=\i&&(!.+);.+?)/,
replace: "isExpanded:$2,",
#

typing these on my phone lmao

limber skiff
#

whats that for

#

o

#

I see

#

that worked

austere talon
#

it matches isExpanded: V then walks back to find V = G && (...) and changes the code to isExpanded: ...

#

oh but remove ; from capture (I edited)

fleet depot
limber skiff
#

can I not keep the current 😢

austere talon
#

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

limber skiff
#

true

#

thats a good point

austere talon
#

btw did u look at my message events patch

#

I already merged it but still

limber skiff
#

okay I simplified it

limber skiff
#

and you merged 😢

#

I was sleeping 😴

austere talon
#

cause I'm matching 5 different groups and have to change the function to an async function and my replacement is only way later

woeful sable
austere talon
limber skiff
#

how fast is it?

austere talon
#

So I decided to keep them in one patch

austere talon
limber skiff
#

let me see how long it takes

austere talon
#

but yeah with the new patch you can now patch messages with attachments and also access/modify the uploads

limber skiff
#

yeah the speed is good

austere talon
#

it matches like at least 1000 characters so I'm surprised

limber skiff
#

hmm

#

let me take a look

#

ok I know how to simplify it

austere talon
limber skiff
#

let me do it

austere talon
#

if that's what u wanna do

lament flame
#

austere talon
#

Also I think my message events update broke fake nitro stickers lmao

woeful sable
#

it does that when using normal discord stickers

limber skiff
austere talon
austere talon
#

or just fails

woeful sable
#

fails

#

I'd show but I have nitro

austere talon
#

ohhh I know why

grave mangoBOT
austere talon
#

666

austere talon
gleaming stump
#

@austere talon how to get more badage?

austere talon
#

donate or contribute

gleaming stump
austere talon
#

Code

gleaming stump
#

oh

#

i can sometimes

woeful sable
gleaming stump
limber skiff
#

yep

woeful sable
limber skiff
#

did it

#

silly ven

#

no need to match a billion vars

#

just match this lol

#

and this

austere talon
limber skiff
#

the other does

#

o

#

I am missing one thing

charred monolithBOT
#

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...
limber skiff
#

uploads...

woeful sable
austere talon
#

wow that person wrote detailed vencord instructions in their repo

#

they have better documentation than we do azu_laugh

gleaming stump
charred monolithBOT
woeful sable
gleaming stump
limber skiff
#

okay done

#

I think it's better

austere talon
#

you won't get a badge for making a theme

austere talon
gleaming stump
limber skiff
#

it's why more readable

#

let me show you

woeful sable
#

because that's not actually contributing to vencord itself

limber skiff
gleaming stump
limber skiff
#

make a plugin

woeful sable
#

ask the cutie @austere talon

limber skiff
#

or fix one

austere talon
#

if u don't know how to code forget about it

woeful sable
#

I will get bug hunter badge

austere talon
gleaming stump
limber skiff
#

it's fine though

austere talon
#

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

limber skiff
#

yeah but you can just easily look down til you find getSendMessageOptionsForReply for example

gleaming stump
#

mm

limber skiff
#

idk seems way more readable for me

#

I can barely understand what the current version is doing

charred monolithBOT
lime stone
#

i was just wondering if there's a better way this could've been done

austere talon
#

no cause its not exported

lime stone
#

the main issue is you need to restart for the settings to show properly, but yes this makes sense :(

charred monolithBOT
#

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...
woeful sable
#

no way

charred monolithBOT
lime stone
#

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

#

basically it’s kind of annoying to go back and forth if you have a lot of rules

jagged cloak
#

yes I was just complaining about that last night

lime stone
#

which format do you think would be best?

jagged cloak
#

it should just interpret the format currently in the channel

#

tbh

#

self explanatory

charred monolithBOT
lime stone
#

it doesn’t seem to be standardised though

austere talon
jagged cloak
#

or pasting the whole thing into the first box would populate the other boxes

#

the

lime stone
jagged cloak
austere talon
jagged cloak
#

o ye

austere talon
#

I would just add a button to the message accessories

#

should be pretty simple with the message accessories api

lime stone
#

i mean inside the settings dialog too

austere talon
#

we would have to make a standardised format for button tho

lime stone
jagged cloak
#
Find: 
Replace:
(Only if includes?):

(comments)

#

but just come up with smth better if you don't want to use weird text thing

lime stone
#

how do you know if it’s regex?

#

this seems very janky xD

limber skiff
#

Find as string/Find as regex?

lime stone
#

a language with keywords made up of multiple english words one of which is capitilised doesn’t seem like the best thing to parse

limber skiff
#

wdym it's so simple

lime stone
#

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

austere talon
lime stone
austere talon
lime stone
#

that’s why i think the option would be handy!

#

i can’t think of how you’d implement it

charred monolithBOT
austere talon
lime stone
#

ah

#

still you may want it in your message but not the code

charred monolithBOT
charred monolithBOT
charred monolithBOT
lime stone
#

is this a nice feature?

#

oh should've shown it better

austere talon
#

yeah that's neat

lime stone
#

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)

austere talon
#

i think those titles are kinda pointless

#

just use placeholders

lime stone
#

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

charred monolithBOT
#

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 ...

lime stone
#

hm, not if it was empty

quick ibex
#

@cunning canyon why am I listed in text replace

#

lol

austere talon
#

gooofy ahh

quick ibex
charred monolithBOT
jagged cloak
#

lol???

stark flint
jagged cloak
#

yes

stark flint
charred monolithBOT
woeful sable
#

time to contribute

woeful sable
#

how does one test vencord plugins?

royal bane
woeful sable
#

👍

charred monolithBOT
lime stone
#

am i going mad?

woeful sable
#

is there not a toggle?

sour drum
#

yeah I feel like I saw it (as an option)

charred monolithBOT
#

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.

cunning canyon
fleet depot
woeful sable
#

agreed

austere talon
#

not possible without api abuse

fleet depot
#

Sadge

frail skyBOT
#
Bad Patches

None

Bad Starts

None

Discord Errors

None

#
Bad Patches

None

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 [kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping ```
limber skiff
#

discord breaking itself

#

😂

limber skiff
austere talon
charred monolithBOT
limber skiff
#

setting for everything

charred monolithBOT
#
[Vencord/Desktop] New tag created: v0\.2\.0
#

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

charred monolithBOT
charred monolithBOT
#

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.

limber skiff
#

what

charred monolithBOT
unreal crown
limber skiff
#

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

charred monolithBOT
unreal crown
#

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

limber skiff
#

yeah nothing we can do

unreal crown
#

i mean it's fixable but not necessarily a bug with the toggle

limber skiff
#

do you have the view raw plugin?

unreal crown
#

yes

limber skiff
#

check the json of one of those grouped messages

#

one that should not be silent

#

look for the flags

#

what does it show?

unreal crown
#

no need to check. i understand the flags

limber skiff
#

If it's 0 it's not silent 😊

unreal crown
#

yes. i'll probably close the issue but i have another issue with the persistence setting 8)

limber skiff
#

wdym

unreal crown
#

persistence setting behaves strangely with newly created channels

limber skiff
#

🤔

#

I cant see how it would

#

video would be appreciated

unreal crown
#

ya i can, i havent nailed down the steps yet

charred monolithBOT
quick ibex
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
cunning canyon
lime stone
#

done

charred monolithBOT
lime stone
#

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

cunning canyon
jagged cloak
#

ye

lime stone
#

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?

cunning canyon
#

hmmm idk

#

is it necessary, most of the time it will become id number

jagged cloak
#

true

lime stone
#

not necessarily

#

if you're looking through old messages

charred monolithBOT
lime stone
#

as a random example, i'm sure nobody here minds because it's public

jagged cloak
#

well if you reload the client it'll just be numbers

#

unless they're your friend/mutual or something I guess

lime stone
#

no mutual servers

#

they left a while ago

#

i think it's because messages are visible

austere talon
#

how do you even get an unverified connection @lime stone

#

I looked at so many profiles and couldn't find one

lime stone
#

look at katyln's

cunning canyon
#

lmao

austere talon
#

ah the Skype ones?

lime stone
#

yea

#

🍋

#

it's not just me who thinks the skype logo looks like a lemon right?

austere talon
#

erm

lime stone
#

not many people then

#

it's also possible for steam to be unverified

charred monolithBOT
lime stone
#

stole an icon

austere talon
#

what for

lime stone
#

for leaving the server

#

i feel like this is logical?

austere talon
#

ohh

#

mmm

#

maybe put it before the name

#

and its not properly aligned ccLaugh (u probably know)

austere talon
#

you can look at platform indicators for how to align it!!

lime stone
#

i wanted to make it look like one of the badges

#

ooh i forgot about that :P

austere talon
grave mangoBOT
austere talon
#

do this and make the height & width 20px

#

and it will be properly aligned

lime stone
#

wait can i use the decorations api?

#

that will make it easier!

#

i was doing a patch :p

austere talon
#

yes u can

grave mangoBOT
austere talon
lament nimbus
#

@verbal pumice

crude mist
woeful sable
#

wtf

inland zinc
verbal pumice
crude mist
crude mist
#

I can be on 5 accounts at once

fleet depot
#

What's the point of bluecord

#

It looks exactly the same

verbal pumice
#

it comes with a free token stealer

fleet depot
fleet depot
verbal pumice
#

locked behind developer options for me

fleet depot
#

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

charred monolithBOT
#

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?

  1. Go to a server that stickers
  2. Go to DM's or another server
  3. Try sending a sticker in DM's or another srvr

...

woeful sable
crude mist
fleet depot
#

Probably shouldn't

#

Neat u can

charred monolithBOT
crude mist
charred monolithBOT
fleet depot
wind flame
#

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

charred monolithBOT
nocturne haven
wind flame
#

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?

royal bane
#

lol

wind flame
austere talon
#

u can find docs on github trol

wind flame
#

ahh thx

grave mangoBOT
# wind flame https://github.com/Vendicated/Vencord/blob/main/docs/2_PLUGINS.md

**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)
austere talon
wind flame
#

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

austere talon
#

u build from source or wait until we finish & merge third party plugin support

charred monolithBOT
#

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?

https://user-images.githubusercontent.com/117849843/236055870-db44f8e5-a83f-4b89-9e89-a097f19c7bbe.mp4

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?...

quaint sapphire
#

My estimate is that it will be forgotten and will be reviewed or even merged in about 4-5 years

charred monolithBOT
charred monolithBOT
frail skyBOT
#
Bad Patches

None

Bad Starts

None

Discord Errors
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) ```
#
Bad Patches

None

Bad Starts

None

Discord Errors
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) ```
austere talon
#

how do these only happen in workflow

#

goofy ahhh

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
#

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...

charred monolithBOT
#

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...

quick ibex
#

Their whole text read as AI generated... Just me?

cunning canyon
#

the 4th one has "Please refer to the attached image for a better understanding." lol

charred monolithBOT
fleet depot
#

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

charred monolithBOT
austere talon
#

some people really need glasses

fleet depot
#

(go back where???)

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
cunning bobcat
#

@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.

cunning canyon
#

they left

somber ginkgo
#

L

charred monolithBOT
charred monolithBOT
lime stone
#

I use Discord but I don't want to join servers

#

xd

charred monolithBOT
#

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 🤷‍♂️

austere talon
# charred monolith

this is so weird to me like it's literally a discord mod ofc we're gonna use a discord server for community resources??

quaint sapphire
charred monolithBOT
austere talon
#

@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

limber skiff
#

yes sir

#

tbh could have kept merge object logic

#

I think just had to change fake nitro to set array length to 0

charred monolithBOT
limber skiff
#

it's fine though

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
jagged cloak
#

huh i swear you could do this already

#

bug ig not

#

oh its in the worst context menu possible

radiant reef
#

oh

jagged cloak
#

why is it even there no one will right click the album art

#

lmfaooo

radiant reef
#

I was thinking more of a button on purpose

#

To do it

#

I didn't know I could turn it down like this 😭

jagged cloak
#

i had used it but forgot lol

radiant reef
#

Like this one but vertically

jagged cloak
#

ye just edit post to clarify

radiant reef
#

okay

jagged cloak
#

if anyone ever feels like doing it they wiill

#

or ig its doable with css maybe

radiant reef
#

mhh

#

the name of the thing

#

is it a slider?

jagged cloak
#

yeah

charred monolithBOT
woeful sable
#

Hello, I have a question, can anyone help me?

jagged cloak
woeful sable
charred monolithBOT
quaint sapphire
#

@austere talon make vencord desktop allow copying the link of an embed

junior olive
#

@austere talon have people pr their text replace rules as the only way to add them trol

austere talon
#

horrid

junior olive
#

i wonder how difficult it'd be to add ways to import from vendetta plugin and vice versa

quaint sapphire
#

also grammar corrections dont show up when you right click

#

nothing shows up

junior olive
#

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

limber skiff
#

oh

#

you mean text replace rules

#

I thought you meant plugins

charred monolithBOT
charred monolithBOT
royal bane
#

he could not have sent that in a worse way

stark flint
#

Why send the source link when you can send THE source

weak edge
#

both links are 404s, maybe it was deleted

stark flint
charred monolithBOT
#

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
charred monolithBOT
cunning canyon
#

god there are 5k dead banner links out of 34k usrbg banners

charred monolithBOT
austere talon
cunning canyon
#

fetch each one that is discord link

charred monolithBOT
#

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:

  1. 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.
  2. I don't know how to open the picker wit...
austere talon
#

why not do this in settings?

cunning canyon
#

u mean make it as option?

austere talon
#

no

#

do it in settings

#

instead of during replacements

#

I think text inputs take a serialise prop

#

iirc

#

just make that replace the newlines

cunning canyon
austere talon
#

talk to that Sarah person on BD

#

wait wdym by dead banners

#

the banner link itself is dead or the user is dead?

cunning canyon
#

banner link

#

user i check first 6k users it only like 7 of them return 404 so i give up trolley

frail skyBOT
#
Bad Patches

None

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 [kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping ```
#
Bad Patches

None

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 [kb store] KeybindStore: Looking for callback action SOUNDBOARD_HOLD but it doesn't exist in this version. Skipping ```
austere talon
#

lmao workflows doesnt like me merging so quickly

charred monolithBOT
fleet depot
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
woeful sable
#

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

woeful sable
#

alr thanks 👍

charred monolithBOT
quaint sapphire
#

@twilit abyss hello

#

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

charred monolithBOT
charred monolithBOT
charred monolithBOT
quaint sapphire
jagged cloak
quaint sapphire
#

well, I suggest forking the MoreStickers PR as it is more complete

#

but yeah

twilit abyss
charred monolithBOT
#

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...

austere talon
#

you're likely using outdated vencord

charred monolithBOT
austere talon
#

@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

lime stone
#

hm, i think they don't usually look good because they make it smooth

cunning canyon
#

idk why it doesnt change color in vanilla, it is fill="currentColor" same as others tho @austere talon

charred monolithBOT
austere talon
#

the others probably have a class this one doesn't

cunning canyon
#

it changes hover color fine on my theme

quaint sapphire
#

@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;
};
cunning canyon
austere talon
#
const activities = useStateFromStores([PresenceStore], () => PresenceStore.getActivities(...))```
quaint sapphire
#

Nooo

cunning canyon
#

@austere talon ok it is missing this class in svg, but what can i use instead of... hardcode it

limber skiff
#

get it

woeful sable
limber skiff
#

findByProps("container", "hamburger", "iconBadge", "divider", "icon").icon

#

HAMBURGER

charred monolithBOT
austere talon
#

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

limber skiff
#

true

#

super dumb class

#

simple stuff

austere talon
#

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 {}

charred monolithBOT
austere talon
#

@limber skiff

limber skiff
#

seems good

austere talon
#

i love function composition

limber skiff
#

why skip ci though

austere talon
#

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

limber skiff
#

yeah

#

and that's why it says that also failed

#

whew

austere talon
#

is it just me who doesnt like making a separate folder for plugins so i prefer not to use css

#

idk why tbh

limber skiff
#

you are not alone

austere talon
#

i feel like we could refactor some huge plugins into a folder tho

limber skiff
#

I hate plugins that need a folder just cuz of css

austere talon
#

like fakeNitro is kinda deranged

limber skiff
#

WTF SO MEAN

austere talon
limber skiff
#

merge my pr that adds more

austere talon
#

could definitely split up the code

limber skiff
austere talon
limber skiff
#

yES

austere talon
#

we will delete fakeNitro

#

too deranged

limber skiff
#

nope

#

ok but for real

#

when permissions viewer

#

I havent changed that code in ages 😢

austere talon
#
GitHub

Tell us all about it. Currently, utils are extremely messy. For instance, we have a dedicated file for react utils, except the majority of react stuff is in utils/misc Utils should be refactored so...

limber skiff
#

I didnt even know that was a thing

austere talon
#

its super new

#

see this move to new file

#

that creates a file

#

but it doesnt let u move to an existing file

limber skiff
#

ugh

austere talon
#

wait maybe i just have to update vscode

#

it was added a week ago

#

explosion

#

should i hop on nightly

limber skiff
#

yea

austere talon
#

the icon goes hard wtf

limber skiff
#

nice

austere talon
#

ignore that i highlighted the wrong one

#

wow it sucks

charred monolithBOT
#

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

https://support.microsoft.com/en-us/windows/complete-guide-to-narrator-e4397a0d-ef4f-b386-d8ae-c172f109bdb1

With more natural voices, Narrator users can enjoy...

charred monolithBOT
austere talon
#

theres this event but its legit never fired

#

wtf even is the "id" prop in those events

#

its not a valid snowflake

charred monolithBOT
austere talon
#

oh i got it

austere talon
#
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

limber skiff
#

nice

austere talon
#

note how it flickers between total count and online for a sec tho lol

#

goofy

limber skiff
#

yikes

austere talon
#

oh i know

lime stone
charred monolithBOT
quaint sapphire
#

im legit gonna cry

#

i felt like i was the smartest man in the world for a second

quaint sapphire
#

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

charred monolithBOT
charred monolithBOT
charred monolithBOT
quaint sapphire
charred monolithBOT
#

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.

charred monolithBOT
#

Discord Account

ꜱᴏᴍᴇᴛʜɪɴɢ#0001

What happens when the bug or crash occurs?

image

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?

  1. Go to a channel.

Errors

[Spellchecker] sh is not a valid locale.
U...
jagged cloak
#

me when sh is not a valid locale

#

discord been there for so long

charred monolithBOT
charred monolithBOT
quaint sapphire
#

@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

twilit abyss
#

I can try to do it today later

quaint sapphire
#

You are legit 30 mins before the day changes

#

Wdym today?

#

Lol

twilit abyss
#

yeah you're right

#

I'll just do it later

quaint sapphire
#

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

twilit abyss
#

Okay, thanks xslash3Peepi

quaint sapphire
grave mangoBOT
# quaint sapphire https://github.com/Vendicated/Vencord/blob/fed6d740d42547f258fc76958a2b240f00f2b...

**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)
quaint sapphire
#

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

charred monolithBOT