#๐Ÿ‘พ-core-development

1 messages ยท Page 66 of 1

austere talon
#

STOP

#

๐Ÿ˜ญ

#

i think i caused an infinite loop in the codeberg mirror sync

charred monolithBOT
austere talon
#

fwehiujfegwihujefwhujiwefuji

#

i cancelled workflow

#

that's fucking hilarious

fleet depot
#

[Vencord] Branch dev was force-pushed to 42d8211

austere talon
#

basically

#

you see how it's force pushing back and ofrth

fleet depot
#

mhm

austere talon
#

i pushed a commit, then immediately after force pushed, overriding that commit

fleet depot
#

lil' silly

austere talon
#

afterwards the github mirror finished

#

but at the same time codeberg was mirroring the latest commit to github

#

so that triggered workflow again, while codeberg sync is also triggered

#

so it just pushes back and forth

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

sobbing

charred monolithBOT
rigid venture
#

unconstifies your enums

charred monolithBOT
olive aurora
#

let enum {} when

austere talon
#

i did a thing

olive aurora
#

I just realised you can export * from but u still cant import * from

#

crying

austere talon
#

import * as banana

olive aurora
#

not the same thing

olive aurora
# austere talon

trolley scarlet is insaner ```ts
export default { Skinning: () => require("./src/plugins/Skinning").default, UX: () => require("./src/plugins/UX").default, Web: () => require("./src/plugins/Web.tsx").default }

#

require().default

limber skiff
austere talon
#

can u not suppress embeds on ur own messages without manage messages?

#

thats dumb

charred monolithBOT
austere talon
oblique hound
#

Suppressing works

austere talon
#

im probably not understanding correctly blehhhhhh

oblique hound
#

But not Unsuppressing

#

Unless you have perms to Embed

austere talon
#

you don't seem to check for embeds perms tho

#

so wdym?

#

is there any instance where u can suppress embeds but not delete or vice verca?

charred monolithBOT
oblique hound
# austere talon so wdym?

When you have the Manage Message Perm it doesnโ€™t matter if you have embed perms or not. Since you can Edit the flags. But when you donโ€™t have the Manage Message Perms and also not the Embed perms then you canโ€™t Unsuppress

austere talon
#

wouldnt it be simpler to just check embed perms

oblique hound
#

For the current user yes. But not for messages by other

austere talon
#

?

#

if u can delete other's messages u have mod

oblique hound
# austere talon ?

When I send a Message and have Perms to embed then it shows the Button. But when youโ€™re the author and I have Embed perms it would also show

#

You mean replacing the manage message check with canEmbed check right?

austere talon
#

yes and using the existance of the delete button

oblique hound
#

Oh these two together

#

I think that should work

austere talon
#
if (!deleteItem) return;
if (message.author.id === UserStore.getCurrentUser().id && !hasEmbedPerms()) return;
#

way simpler

oblique hound
#

Ye. Got confused b4 ๐Ÿ˜…

austere talon
#

all good :P we both got confused

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
lament wren
#

โญ

charred monolithBOT
charred monolithBOT
charred monolithBOT
verbal pumice
#

literally 1984

charred monolithBOT
lime stone
#

meow

quaint sapphire
#

fuck that plugin

woeful sable
#

oh my lord kiss the ground

inland fable
#

meow

charred monolithBOT
#

This helps improve SEO by adding some structured data tags to the page. This adds a WebSite schema (which makes it easier for Google to know the site name and canonical in the event that it gets confused) and, specifically for the FAQ page, the FAQPage structured data which can be rendered as those FAQ dropdowns in Google search. Even if they don't get rendered, it contributes to SEO greatly (according to, well, Google).

charred monolithBOT
turbid hatch
#

it really is balls but it is genuinely the only way of doing it

#

i tried stringifying the <Content/> you get out of it but of course that doesnt work xd

#

im pretty sure this is what's recommended by astro anyway so

charred monolithBOT
woeful sable
charred monolithBOT
#

One of the reasons people install third-party clients for Discord is to get some features from a Nitro subscription using methods other than buying a subscription.
๐Ÿ’ก I propose to implement this idea, namely the ability to split one huge message into several and send them with the right delay for the Discord API.

The idea is taken from an already existing plugin: SplitLargeMessages (BD/PowerCord)

wanton wasp
#

Did he just post 2 of the same requestshusk

charred monolithBOT
#

This idea was formed based on my previous idea: link

The idea for the plugin is to divide the file into several parts and rename files with a different extension, for example: Filename-Part-ID.filepart

After that, you can try to visually fold them into 1 file and mark them with a symbol for convenience. When downloading, the plugin will combine them into 1 file, downloading them separately.

olive aurora
#

ehar

charred monolithBOT
olive aurora
#

arjix try not to be mean and wrong at once challenge

charred monolithBOT
austere talon
#

how does this person manage to open like 6 dumb requests in a row

quaint sapphire
charred monolithBOT
cunning canyon
quaint sapphire
olive aurora
#

abusing discords cdn is a great idea I will make that plugin

cunning canyon
#

looks like it is the same icon in inbox button

charred monolithBOT
charred monolithBOT
austere talon
#

Commits/PRs from forked repositories will not create a preview. Support for this will come in the future.

#

terrible

charred monolithBOT
austere talon
#

google so dumb ๐Ÿ’”

#

tbh i don't like having the entire content duplicated when every normal user can't see it

#

but ig brotli should compress it pretty well?

#

idk if it would be worth to detect crawlers and only return that data to crawlers

charred monolithBOT
golden gulch
#

I don't think it'd be a big deal in this case but eh

turbid hatch
#

Google specifically says don't do that

#

it kills your SEO

fleet depot
#

Unless ig you could separate it by saying the plugin only reads server notifs and the discord one readsall both

woeful sable
#

one click instead of 3

fleet depot
#

I see

charred monolithBOT
#

This code would create a vanilla client

let _mods = webpackChunkdiscord_app.push([[Symbol()],{},({c})=>Object.values(c)]);
webpackChunkdiscord_app.pop();

const findByProps = (...props) => {
    for (let m of _mods) {
        try {
            if (!m.exports || m.exports === window) continue;
            if (props.every((x) => m.exports?.[x])) return m.exports;

            for (let ex in m.exports) {
                if (props.every((x) => m.exports?.[ex]?.[x])) return m.e...
verbal pumice
#

most sane first discussion

woeful sable
#

whar

charred monolithBOT
#

Example of what it can do

let _mods = webpackChunkdiscord_app.push([[Symbol()],{},({c})=>Object.values(c)]);
webpackChunkdiscord_app.pop();

const findByProps = (...props) => {
    for (let m of _mods) {
        try {
            if (!m.exports || m.exports === window) continue;
            if (props.every((x) => m.exports?.[x])) return m.exports;

            for (let ex in m.exports) {
                if (props.every((x) => m.exports?.[ex]?.[x])) return m.exports[ex];
   ...
austere talon
#

although this is kinda bad

#

we probably need to make the faq questions make sense out of context

#

also this is bad lmao

quaint sapphire
#

it only reads like 100 notifs, you have to spam it in order to read them all

fleet depot
#

Ohh

#

I've never had more than 100

#

Or if I have i didn't use it

#

Gotcha

turbid hatch
turbid hatch
#

so it should make sense?

#

but we could edit it

charred monolithBOT
jagged cloak
#

????? lmao

drifting beacon
#

what is this guy high on???

charred monolithBOT
woeful sable
# charred monolith

"I think a setting to see Discord status would be nice, or something on the top right like a network bar and when you click on it you see Discord status"

fleet depot
#

If discord was down I'd rather use an external site to be sure

#

Than going through discord

woeful sable
charred monolithBOT
austere talon
#

this idea seems really pointless

#

like if you can access discord it clearly works

#

if you can't access it, it clearly doesn't

#

so it doesn't seem very useful, just open in ur browser for more info festivehehe

#

also there are webhooks for down notifications so just add it to some channel

fleet depot
#

closing it for now, will reopen

#

lost in sauce

charred monolithBOT
#

โ€ฆrformance

  • Added checking for development environment
  • Removed var declarations and replaced with const and let
  • Initialized traces and logger variables based on IS_DEV
  • Replaced empty function declarations with an arrow function (noop)
  • Used a ternary operator to conditionally assign noop or the trace functions to beginTrace, finishTrace, and noopTracer.
  • Reformatted the code to improve readability and maintainability.
little wing
#

is it possible to make a css snippet to change text color if the profile color is above some brightness? i dont know how to do the later part

#

or to like

#

make the colors be above some contrast

olive aurora
#

their account is so weird but they dont seem like a bot

#

some ppl reported bots making prs like that before lmao

woeful sable
#

guh

austere talon
fleet depot
#

yes

austere talon
#

uh

#

do u still jhave it locally?

fleet depot
#

ye

austere talon
#

do u need help restoring it

fleet depot
#

nu

#

all is good

austere talon
#

maybe we should add a new rule u only get contrib badge if u wrote original code

#

aka not rewriting existing code

#

to prevent pointless prs like that

fleet depot
#

makes sense

fleet depot
# fleet depot all is good

i was cleaning stuff up cuz i had unnecessary branches and was trying to sync to main
i merged my maindev w my newest changes on toolbox and then force synced...

#

but everything's just living peacefully in maindev now

woeful sable
#

gpt says

.profile {
  /* Replace this with the appropriate selector for your profile element */
}

.profile-text {
  color: #000; /* Default text color */
}

.profile[data-color] {
  /* Get the brightness of the profile color */
  --red: calc(var(--color) / 65536);
  --green: calc((var(--color) / 256) % 256);
  --blue: calc(var(--color) % 256);
  --brightness: calc((var(--red) * 299) + (var(--green) * 587) + (var(--blue) * 114)) / 1000;

  /* Change text color based on brightness */
  --threshold: 128; /* Adjust this value as desired */
  color: var(--brightness, 0) >= var(--threshold) ? #000 : #fff;
}
olive aurora
#

lmao i wish that worked

#

ternaries in css

#

@austere talon use

const unpackRgb = (colour: number) =>
    [0, 1, 2]..reduce((rgb, i) => [(colour >> 8 * i & 0xff) / 0xff, ...rgb], [] as number[]);

const relativeLuminance = (colour: number) => {
    const [r, g, b] = unpackRgb(colour)
        .map((x) => x <= 0.03928 ? x / 12.92 : ((x + 0.055) / 1.055) ** 2.4);
    return r * 0.2126 + g * 0.7152 + b * 0.0722;
};
austere talon
#

ITS SO FUCKING STUPID

#

STOP

fleet depot
#

vee ๐Ÿ’ข

#

highly amusing

woeful sable
#

vee ๐Ÿ’ข shiggy

fleet depot
#

true!

woeful sable
little wing
#

theme i am using doesnt let me read

little wing
#

i was doing something but it was ugly and didnt work on all higher brightness

#

it seems a bit complicated to do on css

fleet depot
little wing
#

i dont think discord detects that

olive aurora
#

it does

little wing
#

oh

woeful sable
#

or

fleet depot
#

i feel like when ive changed my profile color it has changed my text

little wing
#

the background thing?

woeful sable
#

you could open discord settings

#

and click

olive aurora
fleet depot
#

^ ye

#

that's what i was thinking of

woeful sable
little wing
#

let me check

little wing
#

i mean that kinda works

#

but not exactly

#

it just made it dark

#

i dont mind the flashbangs i just want to be able to read

woeful sable
#

issue with your theme

little wing
#

yeah i guess i cant do much about that

olive aurora
#

check the theme-light class

fleet depot
#

oo

#

neat

charred monolithBOT
little wing
charred monolithBOT
charred monolithBOT
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;
 resetSocketOnError Cannot access 'Lme' before initialization ReferenceError: Cannot access 'Lme' before initialization
    at Module.default (WebpackModule318477:2:50)
    at VencordWeb:12:719
    at VencordWeb:5:9101
    at [vencord.lazy.get] (VencordWeb:5:7464)
    at zr.<computed> [as get] (VencordWeb:5:7875)
    at Object.handleProtoChange (VencordWeb:42:20780)
    at CONNECTION_OPEN (WebpackModule473419:2:5858)
    at https://canary.discord.com/assets/09ed287617ab14a55772.js:9779:975
    at https://canary.discord.com/assets/09ed287617ab14a55772.js:9769:847
    at n (https://canary.discord.com/assets/09ed287617ab14a55772.js:9779:952) ```
charred monolithBOT
charred monolithBOT
quick cosmos
charred monolithBOT
charred monolithBOT
charred monolithBOT
#

Discord Account

No response

What is it that you'd like to see?

More customisation for the ImageZoom plugin would be great - I had 2 extra settings in mind.

  1. Option to be able to use a square lens.
    A square lens makes it significantly easier to read text. Similar to Lighty's plugin for BD, BetterImageViewer.
  2. Ability to change scaling algorithm.
    I would like to be able to choose nearest neighbour for...
topaz widget
#

@austere talon

crude hearth
#

IT WORKS AT SHITTY REACT NATIVE TOO

#

WHATS BROKEN

austere talon
#

what's ur version

crude hearth
#

181.4

austere talon
#

update to 182

crude hearth
#

I uninstalled 10* apps just to test this

#

I hate android husk

#

I delted half of the apps on my phone and still cant update discord

#

what the hellll

topaz widget
#

<@&1118512958293688412>ending.machine

crude hearth
#

love

austere talon
charred monolithBOT
charred monolithBOT
charred monolithBOT
verbal pumice
#

this could be seen as an enhancement to fakenitro tbh

olive aurora
#

it'd make more sense as another plugin like fakeprofilethemes

#

only having you see it is pointless

verbal pumice
#

i wonder if it's css-able

austere talon
#

yes but only u see it

charred monolithBOT
#

Technically, it is not that obvious for the average Joe, since they are not requesting for a new plugin, but an update to an existing plugin.

But, it does not change any of the plugin's existing behaviour, so it does not really count as a plugin update, but a plugin feature.

And plugin features could be considered as plugins that happen to be under the same plugin.

austere talon
#

stop @quaint sapphire

olive aurora
#

chill yo ass cuh

quaint sapphire
#

?

#

Was I rude in any way shape or form?

#

I only explained why the issue was closed, since the person that made it probably did not understand

#

And I was not being rude or sarcastic

#

motherfucker

#

this is mod abuse

#

I was well behaved

#

thank you for encouraging to not be well behaved

austere talon
#

really weird, unnecessary, passive aggressive sounding comment

#

is it really that hard for you to just be normal

quaint sapphire
#

it was not passive aggressive

charred monolithBOT
quaint sapphire
#

you assumed it was passive aggressive

#

because you have all my previous talking behaviour in context

austere talon
#

it IS passive aggressive sounding. you ALWAYS sound passive aggressive

#

god i don't wanna have to argue with you all the time

#

just be normal, am i really asking for too much

quaint sapphire
#

I was normal and I gave a friendly explanation why the issue was closed

#

I explained the thought process of why it was considered a plugin request

#

if that is passive aggressive, then you have some problem in ur head

#

in fact, you are the rude one, closing issues w/o giving explanations

#

for it to be passive aggressive it is required for aggression to be within what I sent

#

where did you find any aggression?

#

like really

lime stone
#

i'm not sure about passive-aggressive, if anything it just sounded slightly patronising

quaint sapphire
#

its all in your head

quaint sapphire
#

is it my pfp that makes you think I am aggressive?
I admit it might set the mood like that

austere talon
#

oh my god you are arguing again

quaint sapphire
#

because this is unfair

#

you treat me like a criminal

#

when all I did was be friendly

#

like jesus

#

new pfp, do I look less aggressive now?

austere talon
#

i'm really sorry but i'll permanently mute you (already have). i don't want to have to do this but i already gave you more than enough chances and you're still constantly arguing and being overly and needlessly aggressive. many people cannot feel welcome if you behave this way, even i personally don't feel comfortable with it

please refrain from commenting on other people's issues or pull requests on github. you can still open pull requests and open your own issues if you want. but also if you keep being this way on github i might have to block your access there as well

#

moving on...

i just got an idea

#

couldn't we use codeowners feature to automatically request reviews when someone touches a plugin?

#

The people you choose as code owners must have write permissions for the repository
never fucking mind average shithub clownin

#

@turbid hatch i wonder why it only shows 2 faq items

#

is that google limiting it?

#

as to not have massive wall

#

but yeah i see them too so that's working

charred monolithBOT
turbid hatch
#

they'll switch them up as needed

austere talon
#

oh

#

ok

turbid hatch
#

google is really fuckin' weird

#

no idea how any of it works lol

#

i just know it does

jagged cloak
austere talon
#

ohhh yeah i just got pronouns

#

discord feature

#

we should probably update pronoundb

#

Prefer Discord Pronouns
Prefer PronounDB pronouns

#

but aaaaa how will we do it in chat

lament nimbus
#

I saw some discussion about letting bots access pronouns in the discord API server so maybe they will add it to the users object? maybe?

austere talon
#

I HOPE

austere talon
lament nimbus
#

How does vencord have more prs than issues

#

That's funny

austere talon
#

pronosnansansa in user object

#

you're literally discord staff

#

oh wait that's dolfies

olive aurora
#

its all a coverup

charred monolithBOT
charred monolithBOT
median rapids
frail skyBOT
#
Bad Patches

ShowHiddenChannels (had no effect):
ID: 14096
Match: /if\(![A-Za-z_$][\w$]*&&![A-Za-z_$][\w$]*(?=.{0,50}?selectVoiceChannel\(([A-Za-z_$][\w$]*)\.id\))/

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 resetSocketOnError Cannot access 'Bme' before initialization ReferenceError: Cannot access 'Bme' before initialization
    at Module.default (WebpackModule308799:2:50)
    at VencordWeb:12:719
    at VencordWeb:5:9101
    at [vencord.lazy.get] (VencordWeb:5:7464)
    at zr.<computed> [as get] (VencordWeb:5:7875)
    at Object.handleProtoChange (VencordWeb:42:20780)
    at CONNECTION_OPEN (WebpackModule473419:2:5858)
    at https://discord.com/assets/1b3bcc3b010e45b48367.js:9785:324
    at https://discord.com/assets/1b3bcc3b010e45b48367.js:9775:299
    at n (https://discord.com/assets/1b3bcc3b010e45b48367.js:9785:301) ```
#
Bad Patches

ShowHiddenChannels (had no effect):
ID: 14096
Match: /if\(![A-Za-z_$][\w$]*&&![A-Za-z_$][\w$]*(?=.{0,50}?selectVoiceChannel\(([A-Za-z_$][\w$]*)\.id\))/

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 resetSocketOnError Cannot access 'Bme' before initialization ReferenceError: Cannot access 'Bme' before initialization
    at Module.default (WebpackModule308799:2:50)
    at VencordWeb:12:719
    at VencordWeb:5:9101
    at [vencord.lazy.get] (VencordWeb:5:7464)
    at zr.<computed> [as get] (VencordWeb:5:7875)
    at Object.handleProtoChange (VencordWeb:42:20780)
    at CONNECTION_OPEN (WebpackModule473419:2:5858)
    at https://canary.discord.com/assets/69536501f6ac6dce6b9a.js:9785:324
    at https://canary.discord.com/assets/69536501f6ac6dce6b9a.js:9775:299
    at n (https://canary.discord.com/assets/69536501f6ac6dce6b9a.js:9785:301) ```
charred monolithBOT
charred monolithBOT
charred monolithBOT
fleet depot
#

jumpscare

#

i actually completely forgot about that PR between the two I made

charred monolithBOT
fleet depot
# charred monolith

on like 23rd thought i could just take this entire part out of that faq answer

#

cuz 1) doesn't seem frequent enough and 2) it's a reallllly long blurb

cold patio
#

Does someone know if there is a problem if I add the type number to that interface? The file is located in src/utils/types.ts

tidal cloud
#

why are you changing types

cold patio
#

Never mind it actually conflicts with other plugins I'll just convert my number to a string. Thx anyways ๐Ÿ™‚

verbal pumice
#

why would you change it

#

you can just write "0" instead of 0 if you really need it

austere talon
#

yeah it should be a string

charred monolithBOT
charred monolithBOT
charred monolithBOT
lament nimbus
#

how does one deal with lazy loaded modules

#

oh wait does it just not matter, it patches when it patches

charred monolithBOT
verbal pumice
#

how is this not a bot

charred monolithBOT
royal bane
#

are they still

olive aurora
#

oh my god

nocturne haven
#

creepy attempt to act kind

turbid hatch
fleet depot
charred monolithBOT
charred monolithBOT
austere talon
#

eh i dont think either of those things are good

#

noone should have more than 5 accounts and token login is a pretty clear sign they're stolen accounts

charred monolithBOT
fleet depot
#

Keybinds API is kinda an oof :/

#

I was hoping that'd be a thing

turbid hatch
#

remember you can continue PRs yourself if you wish

#

i will probably continue API if no one else does

fleet depot
#

Byeah they can always be continued~

turbid hatch
#

i will probably work on it untless someone beats me to it

lament nimbus
#

People can have as many accounts as possible, who cares

austere talon
#

you don't need more than 5 accounts

#

if you do it's a pretty obvious sign you're doing something shady imo

charred monolithBOT
frail skyBOT
#
Bad Patches

None

Bad Starts

None

Discord Errors
font-weight: bold;
color: purple;
 resetSocketOnError Cannot access 'BEe' before initialization ReferenceError: Cannot access 'BEe' before initialization
    at Module.default (WebpackModule308799:2:50)
    at VencordWeb:12:719
    at VencordWeb:5:9153
    at [vencord.lazy.get] (VencordWeb:5:7516)
    at jr.<computed> [as get] (VencordWeb:5:7927)
    at Object.handleProtoChange (VencordWeb:42:20780)
    at CONNECTION_OPEN (WebpackModule473419:2:5858)
    at https://discord.com/assets/622085a2839f6a641aa7.js:9789:975
    at https://discord.com/assets/622085a2839f6a641aa7.js:9779:847
    at n (https://discord.com/assets/622085a2839f6a641aa7.js:9789:952) ```
#
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
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
#

Discord Account

bittersweetcandyshop

What is it that you'd like to see?

InvisibleChat is nice, but my gf and I use it to avoid her super creepy mom and having to type a password everytime is bothering.

Same for those just trying to avoid discord ToS by sending questionable links in chat.

What I would like to see is being able to set a list of passwords to attempt against a user for when a client recognizes they sent an encrypted message. A nice bonus would be setting a defaul...

charred monolithBOT
inland zinc
tame escarp
#

then idk either they got banned or mad and left

tidal cloud
#

they left I would assume

tame escarp
#

prob

inland zinc
#

so he is indeed depressed

charred monolithBOT
charred monolithBOT
tidal cloud
charred monolithBOT
sacred echo
#

Ok so i'm trying to make a plugin that hides messages sent from webhooks (like the GitHub one above this message lol), and I can't seem to find a way to change the contents of messages in chat. I'm looking for a way to set the contents of the message to empty or to just hide the message entirely? any help? I am able to identify the message as being from a webhook, I just can't seem to find a way to block it

austere talon
#

why do u wanna hide webhook messages

sacred echo
#

bc they're annoying sometimes

austere talon
#

u might be able to do it with css

sacred echo
#

how would I apply CSS to just one message though

austere talon
#

why just one message

#

what are u trying to do

sacred echo
#

make messages like these disappear

austere talon
#

yes you already said that

#

but you also just said "just one message"

sacred echo
#

If i could display none this one message, that would achieve my goal

austere talon
#

so clearly its about one specific message and not all webhook messages?

sacred echo
#

I phrased it poorly

#

This is for all webhook messages

#

How would I locate the html element?

austere talon
#

no

#

you could patch the message component and return null if its a webhook messsage

sacred echo
#

It doesn't seem easy to find my way around the minified code

austere talon
#

use react devtoolsa

sacred echo
#

I don't even know what to search for or where to start here

austere talon
#

it's pretty simple

sacred echo
#

thanks

#

what did you press to make that appear?

austere talon
#

ctrl shift i

sacred echo
#

I know how to open the devtools, i meant how to make the Components appear

#

I just don't have that

austere talon
sacred echo
#

ah

#

thank you

#

i'm sure these are dumb questions lol

sacred echo
#

I've poked around a bit, and I was able to use the react component menu to find out where it is in the hierarchy, but I just don't understand how my code is supposed to do that, or how my code is supposed to edit it

#

I can see the message ID in the react component props, but I'm not sure how to filter react components by props, if that's even how to approach this

austere talon
#

then patch it

sacred echo
#

i'll see what I can do

sacred echo
#

I am trying to patch it, but all i have to go off of is this one page doc. I'm what to set the regex to, or how to have it inject the code. I think I can see what to add to the function to have it detect the webhook, but i'm not really sure. With no documentation and no other plugins to base myself from, I'm kind of stuck.

#

I would imagine that I would add a check for n.author.bot and n.webhookId there

austere talon
#

you kinda just have to improvise

#

but there are many plugins to use for understanding patching better

sacred echo
#

what plugins modify the messages of others?

austere talon
#

the concept is pretty simple, u just need to understand discords code and know regex decently well

#

not sure how that could best be documented better

austere talon
#

message decoration api has the patch

sacred echo
#

ok well I guess I can use the decoration API. Since there's no documentation on it, can you point me towards a plugin that uses it, so I can see how it's implimented?

austere talon
#

you can't use the decoration api

#

it's for message decorations

#

decorations are stuff like embeds, buttons, etc

sacred echo
#

got it

austere talon
#

it can only add stuff not remove stuff

#

as for finding plugins that use it, just use search in ur ide

sacred echo
#

yeah I found it

charred monolithBOT
#

It's very easy to forget to add api plugins to your plugin's dependencies which leads to confusing breakage of plugins. It would be good if companion could detect this and warn you

It should detect calls to apis and check if your plugin object has it listed as dependency. if not, it should display an error. it's probably easiest to hardcode apis that require you to add a dependency but parsing apis dynamically would be even better

sacred echo
#

what's the best way to add CSS to the page or an element? I figured that I can use document.querySelector to get the message element, and add display:none to it

#

I see a styles API hang on

#

ok well I tried what I could with it, this is super annoying

sacred echo
#

I GOT IT TO WORK

#

JS query selector + HTML style tag

#

this is some of the worst code I have ever written

gentle spruce
sacred echo
gentle spruce
#

still javascript but slightly less unusable

sacred echo
#

I'm used to calling the queryselector the JS query selector

#

this code is terrible. the code will not work without a one millisecond delay

#

if i comment this out, the code stops working. kill me now

sacred echo
#

ok so I added the ability for it to hide not just new messages, but already-sent ones too, and then I went to a channel with nothing but webhooks... the scrolling speed

#

I should probably add a rate limit

fringe basalt
#

it's a problem with stacked blocked messages too

#

idk if you can really fix it

sacred echo
#

I just have it wait 100ms before hiding a previously sent message

#

works well enough

#

I can probably lower that to 50ms too

#

ok well there we go, that's a plugin

#

i have made a plugin, not too bad. I just needed to avoid patching since I couldn't get that lol

sacred echo
#

ok well i have just realized that my plugin does not, in fact, work

#

it cannot tell the difference between bots and webhooks

#

the webhookId property always returns undefined regardless of if the message was sent by a bot or webhook

#

i think it's a vencord bug

verbal pumice
#

check how MoreUserTags sees if a user is a webhook or not

sacred echo
#

I copy-pasted from MoreUserTags. Doesnt work for me but works when in MoreUserTags? very confusing but it does rule out vencord

fringe basalt
sacred echo
fringe basalt
#

ah mb

sacred echo
#

I keep staring at the MoreUserTags plugin code to check webhooks and I keep getting more confused. It starts out with the function getTags getting called with patching, and it's really hard for me to follow from there. I don't understand how it gets the user object from the patching or how that user object is different from the one flux gives

#

this should just work, but the flux user object just gives undefined for webhookId no matter what.

#

when this fires, it logs undefined which is annoying to no end

#

I am pretty sure this is a Vencord bug

verbal pumice
#

inb4 that message just isnt a webhook message

sacred echo
#

lol

#

it's a webhook message for sure

#

just double checked to make sure too

#

OH MY GOD

#

i just fixed the vencord bug

austere talon
#

the what bug

sacred echo
#

hang on

#

it's in the discord-types node module

#

add webhook_id: string | undefined; to line 96 of Vencord/node_modules/.pnpm/discord-types@1.3.26/node_modules/discord-types/general/Message.d.ts

austere talon
#

thats not how it works

#

u cant just edit node_modules like that

#

those types are heavily outdated

sacred echo
#

say what you want, it fixed my issue

sacred echo
#

how do I get updated types

austere talon
#

u write them :P

sacred echo
#

guh

verbal pumice
#

is discord-types outdated or is it just vencord having an ancient version

austere talon
#

discord-types outdated

#

that package was made way before swc happened

#

and has never properly been updated

#

it's missing any fields that were added in the last year or so

verbal pumice
#

oh

austere talon
#

i've been meaning to pr to it for ages but i don't think anyone but us even uses it

#

so it's probably better to just get rid of it and have our own types in vencord repo

verbal pumice
#

@vencord/discord-types when

austere talon
#

never

#

having a node module for it is pointless and makes it harder to maintain

#

just having it in maion repo is better

#

/ monorepo

verbal pumice
#

fair

charred monolithBOT
charred monolithBOT
#

Voice Channels have a chat built in, which friends of mine often use, if they don't want to talk, but still hear me.
So, they use the voicechat for their answers. But, those are easy to miss.
Would it be possible to read out messages of the current voice channel?
Things that would make this plugin even nicer:

  • Selectable TTS Voices for each person (Male, female etc.; Maybe automatically assigning using PronounDB??)
  • Volume Controls
  • Muting messages of certain users
  • Actually nice T...
olive aurora
#

trolley

austere talon
#

lmao

#

amazing

#

pain

#

why does it do that

#

it calmed

charred monolithBOT
#

Hi! I don't think this plugin is very mergeable for various reasons:

  • It uses a suspicious seeming api that will likely die sooner or later
  • Especially with arjix suggestion (and other people will likely also request it), this comes dangerously close to AnimatedStatus which is against our rules
  • It doesn't seem very useful to me. Who would want an ai generated status?

Thanks for your effort anyway! If you want to publish this in the #third-party-plugins channel on discord, feel free...

austere talon
charred monolithBOT
charred monolithBOT
charred monolithBOT
#
spark cove
#

my prs will meet the same fate

umbral hedge
spark cove
#

the curse of active single-maintainer projects

#

i feel bad for ven its probably tiring

umbral hedge
#

ya

#

but still its too long for me to want to keep caring about maintaining a PR that has been finished for 2+ months

spark cove
#

yea just unfortunate

austere talon
#

reviewing 50+ prs is pretty hard

#

especially since there are already 470 merged prs

#

that's a lot

acoustic scaffold
#

@austere talon I might make a PR to MessageLogger that makes edit logging better (click on the edited button and open a modal with diffs and the ability to read each message object if you want. rather than rendering each version of the message which imo is not great)

austere talon
#

yeye do

acoustic scaffold
# austere talon yeye do

does that even need to be optional, pretty sure thats just an objectively better way of handling it

austere talon
#

if it doesn't get in the way / alter old behaviour, no

acoustic scaffold
#

ah okay so people should be able to switch it to how it was

#

okay

#

also I might work on it I might not, but would actual message logging be on the table? It would respect rate-limits and have legality warnings

#

depending on your juristiction its completely legal as a party to a conversation to record it

#

could even have a thing that renders the logs like a thread

#

@austere talon

austere talon
#

discord casually not notifying me about any of this

#

channel didnt even have unreads

acoustic scaffold
austere talon
#

that raises a lot of privacy issues, possible gdpr violation, may be illegal in some jurisdictions, also not very useful imo

austere talon
#

uh

#

not really

#

do you really think it's useful

#

when do you actually care about deletes after restart

#

and why not just screenshot in that case

acoustic scaffold
#

yeah, for recording a conversation that someone unstable might decide to nuke later

#

that you need as evidence

austere talon
#

why do you need something as evidence ๐Ÿง

#

and why not just use discord chat exporter in that case

acoustic scaffold
#

thats a thing?

austere talon
#

ye

acoustic scaffold
#

aight I guess its not really needed then

austere talon
fleet depot
#

disocrd chat exporter โค๏ธ

austere talon
#

although this is technically tos

#

but not risky for account

#

could make that into a vencord plugin actually

acoustic scaffold
#

didn't you just get done saying that it can't be a plugin?

crude hearth
austere talon
crude hearth
#

just make it log all messages into somewhere and as long as you scroll up

#

it will write new ones

#

so its technically not selfbotting

austere talon
#

i don't think anyone could reasonably argue against chat exporting

#

considering you could just screenshot

acoustic scaffold
#

yeah chat exporting is what I meant

austere talon
#

message logger is a bit more questionable if you log permanently

acoustic scaffold
#

well chat exporting is essentially permanent message logging

#

since edits and deletions can happen afterwards

#

anyways so I go back to my original question then

#

can chat exporting be in vencord?

#

because I might work on it at some point

austere talon
#

though doing so as well as that might be tough

acoustic scaffold
#

its quite a bit of work yeah, but its something I may work on at some point

#

could do keybinds and overlay stuff and context menu options and whatnot

#

do it all up

#

might even do some ffmpeg-wasm downscaling of attachments if I'm feeling inspired

austere talon
#

at that point it might be a bit too much to be included in vencord itself, but external plugin loading is being worked onโ„ข

charred monolithBOT
jagged cloak
#

lol

#

is it possible to add balls plugin

sacred echo
charred monolithBOT
austere talon
sacred echo
austere talon
#

whar?

sacred echo
#

What do you mean โ€œanything we useโ€? Iโ€™m trying to see whatโ€™s planned to be added to vencord

austere talon
#

anyway, uh not really

#

see the issues for stuff to work on, though some of it may already have prs

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 ```
charred monolithBOT
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 ```
charred monolithBOT
austere talon
#

@limber skiff

#

works fine for me

limber skiff
#

looking

austere talon
#

ohj wait

#

i noticed a stupid

charred monolithBOT
limber skiff
#

wha

#

what was wrong about it

austere talon
#

before it got guild profile or user profile

#

then pronouns from that

#

which isntcorrect

#

cause u can have guild profile without overwritten pronouns

#

guhhhhhhhhhhhhhhhhhhhhhhhhhh

limber skiff
#

oH

#

dang that's right

#

I think this should be

export function getCachedPronouns(id: string, discordPronouns: string): string | null {
    if (settings.store.pronounSource === PronounSource.PreferDiscord && discordPronouns)
        return discordPronouns;

    const cached = cache[id];
    if (cached && cached !== "unspecified") return cached;

    return discordPronouns || null;
}
#
- return discordPronouns || cached || null;
+ return discordPronouns || null;
#

so we return null instead of unspecified

austere talon
#

no

#

unspecified is desired

limber skiff
#

ah

#

I see

austere talon
#

its handled further up

#

well it could also be handled further down but thats how it was previously

limber skiff
#

okay seems good

austere talon
#

vencord explosion

#

support absolutely explodes with hundreds of people

frozen spindle
#

lmao i was literally looking at how discord delivers pronouns to do something with pronoundb, i go and check the repo, > 4 minutes ago

austere talon
#

lmao

#

it's a bit limited unfortunately

#

we don't have access to discord pronouns until you open someone's profile

frozen spindle
#

Yea

#

Discord should just send it with messages or something

austere talon
#

yes in the user object

frozen spindle
#

Can't get much more bloated

austere talon
#

unfortunately they don't, but they might

#

there were talks about it in the api server apparently

frozen spindle
#

Would be nice

#

I was almost hoping they'd add an aria element somewhere nice so I could add it pronoundb style using my theme

#

Hah, like that's ever gonna happen

austere talon
#

but unfortunately only works once you opened their profile once

#

we could fetch everyone's profile but that's api spam ๐Ÿ˜–

#

thanks nookies

charred monolithBOT
jagged cloak
# charred monolith

breh i spent like 2 minutes trying to resize the picture in pizture only to realize it means the silly image preview when you hover someones screenshare

charred monolithBOT
charred monolithBOT
sacred echo
#

oh look it's me!

#

(I cannot see the github webhook I just got a notification)

sacred echo
#

found a bug that I have realized is going to be a royal PITA

#

i am better off waiting for Vencord to update the type definitions than fixing it on my plugin
because I have no eta on this, i've closed the PR for now

sacred echo
#

realized the bug was much smaller than I thought before

charred monolithBOT
#

Discord Account

@danilwhale

What happens when the bug or crash occurs?

nitro themes again don't work with fakenitro

What is the expected behaviour?

select nitro theme and it would enable forever, not for 10 nanoseconds

How do you recreate this bug or crash?

(assumes that you already enabled fakenitro)

  1. open user settings
  2. open appearance
  3. select theme you want
  4. look how your theme disappears

Errors

[discord_protos.discord_users.v1.PreloadedUserSettings...

charred monolithBOT
somber ginkgo
#

not even themed correctly, average discord moment

austere talon
#

suppress embeds is added by venchord

#

but it shouldn't be there blehh

somber ginkgo
#

yes, but now its between remove reactions and remove all reactions lol

austere talon
#

how does that happen

#

it's supposed to be added above delete

somber ginkgo
#

fuck if i know

austere talon
somber ginkgo
#

ic

somber ginkgo
#

oh nah not those, im talkin about the fact that discord added the remove reaction type option, but left the arrow white

#

bit of tomfoolery

austere talon
charred monolithBOT
charred monolithBOT
stark flint
#

PlatformIndicators..?

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
#

Discord Account

lovelydumpling

What happens when the bug or crash occurs?

Particularly when encrypting links that don't have an embed, such as direct links to files and some websites.

If the link has an embed, such as a site preview or image, then it seems to work just fine.

This happens both on Discord Stable and on Vencord Desktop.

What is the expected behaviour?

I expect the message to be decrypted and show the message with the link.

How do you recreate this...

charred monolithBOT
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 ```
charred monolithBOT
charred monolithBOT
#

This plugin might be on the riskier side as it'd be sending requests in ways a vanilla client wouldn't.
As usual, the discord API has a good feature, but it's not implemented in the UI in any way - you can search for messages in a thread by just passing the thread channel ID to the search API endpoint. It has been several years since discord implemented threads, and this still isn't possible from the UI, so I've given up hope for them adding this feature.
It'd be nice to have this in a ...

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
olive aurora
#

ven will add bdcompat to rule 9

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
olive aurora
#

wah

#

oh it died

#

ci jumpscare @austere talon

austere talon
#

ye

#

but no pub

olive aurora
#

we will require commits to have [unskip ci] for ci to work

charred monolithBOT
charred monolithBOT
charred monolithBOT
austere talon
fleet depot
#

oo

charred monolithBOT
austere talon
#

i hate react

sacred echo
#

I desperately needed documentation when making my plugin lol, this would be amazing

charred monolithBOT
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 ```
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
stark flint
#
  • [X] This is not a plugin request
charred monolithBOT
austere talon
#

all good blehhhhhh

charred monolithBOT
charred monolithBOT
tight vapor
#

Translte plugin should also translate embeds

austere talon
#

in what context

#

this isn't nodejs

#

window.close() might work

#

or DiscordNative.app.quit()

#

though discord native is desktop only

austere talon
austere talon
#

figure it out yourself

#

look inside DiscordNative

charred monolithBOT
charred monolithBOT
fleet depot
sacred echo
#

What

fleet depot
#

oh it's gone

#

someone made a discussion post breaking one of the rules

sacred echo
#

Ah

charred monolithBOT
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 ```
charred monolithBOT
charred monolithBOT
charred monolithBOT
tacit swan
#

are yall gonna merge any pulls at all

stark flint
#

You should see the ones that have been merged

austere talon
tacit swan
#

ok

#

is there a way i can also contribute to this pr?

austere talon
#

not really probably

#

why do you want it so badly

charred monolithBOT
austere talon
#

im surprised replugged officially approved this plugin

#

since it contains remote code execution

grave mangoBOT
austere talon
#

which would be prevented by csp on vencord but replugged just strips csp so it would be vulnerable

#

@still condor you should address this issue

little wing
#

very scary

austere talon
charred monolithBOT
#

There's no remote code execution

This is not true. You fetch logoURL as text then set an element's innerHTML to this response. If logoURL returns vulnerable html like <img src="banana" onerror="alert('pwned')">, it leads to remote code execution.

You're also using svgs which are inherently vulnerable to xss https://research.securitum.com/do-you-allow-to-load-svg-files-you-have-xss/

For proper security, you need to stop using svg and use something safe like png or webp

charred monolithBOT
round gust
#

or just

#

set ur status to dnd

#

wtf?

#

my status always dnd

austere talon
#

they want to automate it while playing game

#

as in

#

if u launch game it sets ur status to dnd

charred monolithBOT