#🧩-plugin-development

1 messages Ā· Page 34 of 1

hexed plank
#

Thank you for saving me.

dull magnet
#

no you don't

#

oh you were already told

hexed plank
#

Is there already a plugin for sending message using Ctrl+Enter instead of Enter? I think probably there is, but I want to develop one if there is not.

lofty crypt
#

pretty sure there’s not

viral roost
#

isn't that in accessibility settings?

#

or am i thinking of mobile

lofty crypt
lofty crypt
hexed plank
#

It just shows a button that can be clicked with mouse.

#

Enter still sends message.

lofty crypt
#

(legacy chat input also does not change that behavior. i think all it does is that it prevents displaying input fields for parameters of /commands)

#

tho ā€œmost chat featuresā€ sounds like there should be plenty more ĀÆ_(惄)_/ĀÆ

shadow ruin
#

wait a second

#

im so confused

#

isnt this what im doing

twin perch
dull magnet
#

send code

twin perch
#
{
    find: ".activeCommandOption",
    predicate: () => settings.store.showIcon,
    replacement: {
        match: /(.)\.push.{1,30}disabled:(\i),.{1,20}\},"gift"\)\)/,
        replace: "$&;try{$2||$1.push($self.chatBarIcon(arguments[0]))}catch{}",
    }
}```
#

taken from the silentTyping plugin

#

the match part doesn't produce any matches in the dev console

dull magnet
#

\i is non standard

#
.match(Vencord.Util.canonicalizeMatch(/(.).../))
twin perch
#

ah. regex101 marked it as a part of the es syntax

#

ayyyy found it

#

thanks

dull magnet
#

btw dont test in console

#

use the patch helper

twin perch
#

the what now?

#

did I read over that?

dull magnet
twin perch
#

ah. thanks

past quiver
dull magnet
#

wayland electron moment

brisk dust
#

Oh no!
An error occurred while rendering this plugin's custom InfoComponent

ReferenceError: Link is not defined
at settingsAboutComponent (VencordRenderer:205:28876)
at Sa (269f1522ef537311f6f8.js:3481:54)
at gu (269f1522ef537311f6f8.js:3535:146)
at Ic (269f1522ef537311f6f8.js:3528:89)
at mc (269f1522ef537311f6f8.js:3528:17)
at hc (269f1522ef537311f6f8.js:3527:867)
at oc (269f1522ef537311f6f8.js:3524:642)
at uc (269f1522ef537311f6f8.js:3525:49)
at Fi (269f1522ef537311f6f8.js:3464:577)

#

Can anyone help?

brisk dust
#

Might be because of this line:

<Link href="https://dsc.gg/UserPFP">Request a PFP</Link>

#

Fixed šŸ™‚

lofty crypt
brisk dust
#

How do you submit a plugin?

lofty crypt
trim cedar
#

@dull magnet should we drop node.name if we're gonna include application.name anyways?

dull magnet
#

do they sometimes differ?

trim cedar
#

But they're mostly the same

#

So we may not even want to include application.name

#

Or do you want to have it (Because you said earlier)?

#

Right now I have binary, pid & node.name

dull magnet
#
"props": {
       "adapt.follower.spa-node": "",
       "application.icon-name": "chromium-browser",
       "application.language": "en_GB.UTF-8",
       "application.name": "Chromium",
       "application.process.binary": "vencorddesktop",
       "application.process.host": "vendingmachine",
       "application.process.id": 27450,
       "application.process.machine-id": "3f7a4b6efc23421cbc2744660539dc57",
       "application.process.user": "vee",
       "audio.adapt.follower": "",
       "client.api": "pipewire-pulse",
       "client.id": 70,
       "clock.quantum-limit": 8192,
       "factory.id": 6,
       "factory.mode": "split",
       "library.name": "audioconvert/libspa-audioconvert",
       "media.class": "Stream/Output/Audio",
       "media.name": "Playback",
       "node.autoconnect": true,
       "node.latency": "512/48000",
       "node.name": "Chromium",
       "node.rate": "1/48000",
       "node.want-driver": true,
       "object.id": 65,
       "object.register": false,
       "object.serial": 872,
       "pulse.attr.maxlength": 4194304,
       "pulse.attr.minreq": 2048,
       "pulse.attr.prebuf": 6152,
       "pulse.attr.tlength": 8192,
       "pulse.server.type": "unix",
       "stream.is-live": true,
       "window.x11.display": ":0"
     }
trim cedar
#

I meant application.name

dull magnet
#

oh

trim cedar
#

šŸ‘

vast prawn
#

hi. i dont know if i am in the right channel. is it ok to ask that? but i have a problem with my theme. would like someone to look at it. its a giant mess of a edited theme plus copy and pasted code i fouund from the years

lofty crypt
minor jolt
#

Is there a list somewhere with all the application ID's used by discord for presence

#

like for all the games that have a little icon if you're playing

#

(NOT rich presence)

dull magnet
#

yes

candid kraken
#

Doesn’t the client request it from discord at startup? Try looking at the network tab when reloading discord

dull magnet
#

look at devtools network tab and reload

#

exactly what patrick said

minor jolt
#

aight

#

thanks

#

found it

#

nice

dull magnet
#

its unauthorised

minor jolt
#

yep

#

i guess ill pass it through webpack RestAPI

#

implemented

#

that was fast

primal latch
#

pls make fake nitro sound board. is so funny

wooden dragon
primal latch
#

yes but no

oblique lark
#

the soundboard is checked serverside iirc which means its basically impossible to let non-nitro users use external soundboard sounds

primal latch
#

so that we can add custom sounds in memory ?

primal latch
#

it's a good idea, no ?

wooden dragon
#

bro there will be no soundboard plugin

primal latch
#

ah

#

sad

primal latch
#

it's possible to make a plugin for download audio from other servers?

lofty crypt
austere mauve
#

glad u deleted that

#

do not

rustic aspen
#

hi yall, i would love to ask if its possible to create a plugin where, each user has a seperate audio channel, since im doing alot of processing on my end (denoising, eqing and live captions) due to my hearing loss.

#

and i would love it if its possible could you point me to the right direction, if possible,
thank you so much xoxo ā¤ļøā¤ļøā¤ļøā¤ļø

jagged briar
#

Vns

shrewd tundraBOT
austere mauve
#

whr is th "e" ky

lofty crypt
#

i at it

austere mauve
#

wrong chnnl

lofty crypt
#

cheers

lofty crypt
# rustic aspen hi yall, i would love to ask if its possible to create a plugin where, each user...

i asked someone with deep knowledge of discord and they said they’re sure it's technically possible, but they have no idea on how to approach that

here’s a resource that seems related: https://discord-userdoccers.vercel.app/topics/voice-connections

otherwise, if i were to approach this, ig i’d
• search the webpack stores via autocomplete, see #🧩-plugin-development message
• search the the whole of webpacks, see ven’s guide linked in https://gist.github.com/sunnniee/28bd595f8c07992f6d03289911289ba8#3-sending-a-message
gl!

bronze otter
#

truly microsoft moment

steep vapor
#

you cant spell microsoft without one letter from telemetry

gilded tulip
#

Ik its Trash , but still , it took a long time

#

@granite wharf

dire fern
#

you should also ping Ven now, maybe thekodetoad as well

rocky jackal
#

my eyes

#

what have you done

gilded tulip
#

who is ven?

dire fern
#

probably the person that invented

rocky jackal
#

...vencord

gilded tulip
#

whats his username

dire fern
#

no he just invented

gilded tulip
#

how do i ping him?

rocky jackal
#

you don't

gilded tulip
#

ok

potent fox
#

@dull magnet explode

dire fern
#

@potent fox make big boom

potent fox
#

Big boom

frosty dirge
#

Yurrr

rocky jackal
#

LETS GO

gilded tulip
#

Project Vencord Demo

  • do you want to check what vencord looks like before installing?
  • Try our brand new .html to see a preview of Vencord
  • You can run this HTML on any platform , iOS , Mac , Windows , Linux , Debian
  • If you need support on how to use this , you can Dm me or a Vencord Contributor.
  • Thank you for Reading. Have an Amazing day/night
lofty crypt
#

fun
you should upload to github.io tho for convenient checking out

gilded tulip
green vessel
#

why is it obfuscated?

gilded tulip
#

what?

rocky jackal
green vessel
#

ah

gilded tulip
rocky jackal
#

please:

#

disable ping replies

austere mauve
#

turbowarp 😭

austere mauve
rocky jackal
#

turbowarp agony

gilded tulip
#

yeah

#

?

green vessel
#

idek what that is but

#

turbowarp pain

rocky jackal
austere mauve
#

guys dont ping me even though im on dnd

rocky jackal
#

lmfao

gilded tulip
#

I used the advaned html option

green vessel
austere mauve
#

this is fire

gilded tulip
#

i can tell thats sarcasam

austere mauve
#

yeah you suck

gilded tulip
#

šŸ˜•

green vessel
#

wow that looks and shows off exactly what vencord has to offer!

#

i will install immediately

gilded tulip
#

even though the source I made it from sucks , atleast one person sees it nice

#

alr Ima go now gn

austere mauve
#

your ass is not

proud cargo
#

i am

dull magnet
gilded tulip
#

šŸ˜• So does that mean I'm never going to be a contributor?

amber mantle
#

if you contribute code /(make a plugin) you will be a contributor

gilded tulip
#

how do I make a plugin

dull magnet
#

by writing code

gilded tulip
dull magnet
#

wtf is that

gilded tulip
#

I made this plugin a year ago before I quit making plugins. then I forgot how to make one , also this took 3 hours a year ago

gilded tulip
rocky jackal
#

that is... a betterdiscord plugin

oblique lark
#
module.exports = __webpack_exports__["default"];
/******/ })()
;

wtf is this formatting

lofty crypt
#

i completely agree, not enough indentation in front of the final semicolon

oblique lark
#

true

green vessel
#

@smoky basin


TypeError: Cannot read property 'split' of undefined
    at anonymous (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:1299:266)
    at apply (native)
    at anonymous (Vendetta:1:4897)
    at apply (native)
    at rr (Vendetta:1:4904)
    at p (Vendetta:1:5717)
    at apply (Vendetta:1:5792)
    at proxy trap (native)
    at getAvatarDecorationURL (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:1237:5396)
    at apply (native)
    at anonymous (Vendetta:1:4897)
    at apply (native)
    at rr (Vendetta:1:4904)
    at p (Vendetta:1:5717)
    at apply (Vendetta:1:5792)
    at proxy trap (native)
    at anonymous (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:7988:374)
    at useMemo (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:270:59588)
    at anonymous (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:125:6194)
    at CutoutableAvatarDecoration (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:7988:321)
    at renderWithHooks (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:270:50929)
    at beginWork$1 (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:270:114470)
    at performUnitOfWork (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:270:100786)
    at workLoopSync (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:270:100668)
    at renderRootSync (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:270:100377)
    at performSyncWorkOnRoot (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:270:96719)
    at flushSyncCallbacks (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:270:31447)
    at scheduleUpdateOnFiber (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:270:92806)
    at dispatchSetState (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:270:57977)
    at anonymous (https://decor-discord.github.io/vendetta-plugin/:1:5332)
    at anonymous (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:2464:481)
    at apply (native)
    at __invokeCallback (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:48:4571)
    at anonymous (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:48:1018)
    at __guard (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:48:2908)
    at invokeCallbackAndReturnFlushedQueue (/Users/ec2-user/ci/builds/discord/discord/discord_ios/build_output/main.jsbundle:48:987)
deft horizon
#

I seen this and I was wondering what all it does, Vesktop appears to be a web client and normally with web discord clients screenshare is locked to 720p and lags around from 5-30 fps. And I know most web browsers already support linux screenshare and if you package discord.com/app with electron it also supports screenshare so I'm wondering what this is, very intruiging.

dull magnet
#

linux audio screenshare

deft horizon
#

oooo oops

#

completely forgot ab dat tbh

#

lmao

dull magnet
#

and no, vesktop allows full hd 60fps

deft horizon
#

is that regardless of this

dull magnet
#

not on wayland currently

deft horizon
#

ah alright

dull magnet
#

this branch has it and adds audio

deft horizon
#

question what is the virtmc branch mainly for

#

oh shi

#

im dumb

#

virtual mic

gilded tulip
#

@dull magnet

#

I just want to be a contributor

#

even though I dont know much

#

I atlease made a demo for vencord

#

that everyone thinks sucks

#

I quit

green vessel
#

you quit too fast

#

NEVER BACK DOWN NEVER WHAT

#

oh they left@

gilded tulip
green vessel
#

they’re back!!

gilded tulip
#

I Was back for that message

green vessel
#

now go, make the best plugin you can!!

#

i solely believe in you

gilded tulip
#

thank you

#

your the only one that believes in me

green vessel
#

i do

gilded tulip
#

who elese

green vessel
#

uhhhh

gilded tulip
#

exacly

green vessel
#

@remote kestrel and @median flare

median flare
#

you can do it

full osprey
#

Exactly

median flare
#

i started knowing literally nothing about how discord works, then i tinkered around with the code of existing plugins

gilded tulip
#

Im happy that 4 ppl believes in me , that would get Vencord Contributor

median flare
#

and now i have a PR waiting to be hopefully merged in vencord

gilded tulip
#

Nice

green vessel
median flare
#

do it for the people wanting a better way to use discord

gilded tulip
full osprey
#

I may be unable to do stuff properly due to irl issues but at least I believe in people improving discord using client mods, it already made me being able to use discord easier

median flare
#

if your plugin doesn't get merged, no worries! it might still be quality enough to be put in #1032200195582197831

gilded tulip
green vessel
#

now go on champ! what are you going to make

gilded tulip
#

yk opera gx

#

the keyboard thingy

green vessel
#

yes

gilded tulip
#

i'll add that to discord

median flare
gilded tulip
#

oh

#

then idk , can somone help me make my plugin

median flare
#

one of the hardest things is finding something original enough to not have been done (at least not done good enough)

full osprey
green vessel
#

make a plugin to hide servers and users (client sided)

gilded tulip
#

i think that exitsts

#

does it?

green vessel
#

i don’t think so

median flare
#

yeah, i dont see any plugins searching for "hide servers"

#

there's an opportunity!

#

First, you'll have to find a way to detect the server. try using inspect element to see if the element contains the server ID or name as a variable

full osprey
#

Then I think you could hide it with some css code or something (not to mention that I see css commonly used for it)

green vessel
#

would also have to disable/hide the notifications in the mentions tab

#

as well as mutual servers probably

#

if you want to go so ocd

median flare
#

what if you put the servers in a folder, then hid the folder

#

quite a hacky solution though

topaz crest
#
e = print
e("shiggy")

shock

median flare
#

holy shit this is stupid

green vessel
#

no way

green vessel
#

but yea

#

very hacky

#

just move the folder offscreen

full osprey
#

I think we could avoid that right?

median flare
#

true

gilded tulip
#

can you guys help

median flare
#

sure

green vessel
#

yes (idk typescript)

gilded tulip
#

but how can we collab

green vessel
#

github

gilded tulip
#

ok

green vessel
#

microsoft paint

median flare
#

make a fork of vencord

green vessel
#

do you already have a development build?

gilded tulip
#

whats a fork

green vessel
#

šŸ“

median flare
full osprey
#

You need to have a dev build so you can test your own plugin before submitting PR

green vessel
#

the 4 idiots try to make a plugin (ven would be very proud)

gilded tulip
#

ohhh id that a demo version of vencord

median flare
#

nope

#

its more of a family tree

#

a branch off of vencord

full osprey
gilded tulip
#

just collab with me I'm @gilded tulip

median flare
#

do you know typescript

green vessel
#

no

gilded tulip
#

no

full osprey
#

No as well

gilded tulip
#

but I never give up!

full osprey
#

Let’s learn

median flare
#

this will be very hard if you dont have any previous text based coding experience

gilded tulip
#

Ill be rightback when I'm done watching that vid

median flare
#

this is a (i think) free 10 hour course on the language to help you get familiarized with it

gilded tulip
#

ok

median flare
full osprey
#

If you can struggle through this then you’re pretty much better to do things

green vessel
#

hey chatGPT, code this plugin for e

gilded tulip
median flare
#

chatgpt probably knows nothing about discord modification's inner workings

green vessel
#

please don’t use that

full osprey
#

Probably

green vessel
#

im shitposting at 5:25am

green vessel
#

learn and develop your own skills

gilded tulip
#

How the hail

green vessel
#

from tutorials, go to classes

full osprey
#

The link you have been just sent……?

median flare
median flare
gilded tulip
#

look

green vessel
gilded tulip
#

this is cool

green vessel
#

especially rule 9

gilded tulip
#

i dident make it though

gilded tulip
full osprey
#

Yeah… I’m weirded out

median flare
#

please delete the message

median flare
gilded tulip
#

Cant I just get the badge

green vessel
#

for what?

gilded tulip
chrome elbow
#

First stere0 plugin for Vencord
looks inside
BdApi

green vessel
#

if you want a badge so bad then donate like $5 or provide something useful to the client

gilded tulip
full osprey
gilded tulip
#

Damn , Sorry I dident know

#

Can I have some money to donate?

green vessel
#

are you trolling rn

gilded tulip
#

no

#

I Just want the vecord contributor badge

green vessel
#

why? you haven’t contributed anything other than the time wasted

gilded tulip
#

it takes time to learn

rocky jackal
rocky jackal
rocky jackal
vague echo
lone panther
inner pendant
#

does vencord have webRTC?

#

like built into it

lone panther
#

yes...? all web browsers do

#

discord itself uses webrtc for voice transit in vcs

dull magnet
lone panther
#

all commonly used web browsers do*

#

if someone calls netsurf commonly used i will punch them

dull magnet
#

ungoogled chromium doesn't

lone panther
#

wh

#

why

dull magnet
#

actually apparently it re-enabled idk

#

webrtc has some privacy issues

lone panther
#

yeah true but

#

shrimply encrypt over the wire

#

and uh if that's not the privacy concern we're talking about

#

just

#

throw your computer into a river nobody cares

candid kraken
#

is there any way to inject a script into discord activities through plugins?

green vessel
cedar marsh
plucky pecan
#

wait nvm

#

Yeah, I'm getting an error with PNPM

dull magnet
#

you cannot use fs in plugins

plucky pecan
#

Ah, got it

dull magnet
#

what are you trying to do

#

vencord offers you several ways to store data

plucky pecan
#

I'll be honest, I was doing a dumb thing

#

I'm trying to move from Betterdiscord

#

And I wanted to move my plugins with me

#

Honestly I was afraid this would happen

#

Someone said,"No, you should be fine! No need to worry about dependencies!"

#

Well look right here

green vessel
plucky pecan
#

Yeah... This guy tried convinving me otherwise, so I tested it, even with building and guess what?

#

They call stuff that Vencord does not use

#

And yet, my freind didn't think it would be the case

#

Well, I'll be checking in then in third party possibly for ports/replacements for some of my plugins, none of them by the way are in the vencord list

amber mantle
#

ye

#

theres a few good ones in 3p

rocky jackal
#

good luck me making this universal

#

(just so that I can patch 2 things)

#

this needs too many braincells, and it's 12, so tomorrow it is

green vessel
#

i will learn every language just to make it backwards compatible

#

šŸ‘“šŸ¼ guys i did it

cedar marsh
#

The only use of chatGPT I truest for code:

rocky jackal
#

I have ported half of vencord's webpack functions

#

what am I doing with my life

green vessel
#

to bd?

rocky jackal
#

no

#

to discord in general

green vessel
#

oh

rocky jackal
#

I think I got patches working

rocky jackal
#

yep, I sure did

#

I really cannot believe this

#

I can finally stop using dom manip

green vessel
plucky pecan
#

Alright, bad idea.

#

First off realized most of my plugins in Betterdiscord? Yeah I didn't use them. But there were, 3, that I used that is where my bad idea comes in. I basically want to try to understand Vencord's plugin creation stuff by repairing/flat out recreating at least one of these three plugins I fell in love with. The three are: Betteranimations, Bettervideoplayer, and Betteraudioplayer. Now this is not a right now thing, but it's a project idea still. Wanted to get it out there

#

Probably won't do it, just needed to get it out

tall aurora
#

@flint oxide could you make it center to the left like in the pic u show?

rocky jackal
green vessel
proud cargo
#

all this for 3 color themes

rocky jackal
#

I am not mentally sane

#

But this could work as a modless plugin boilerplate

dire fern
rocky jackal
potent fox
rocky jackal
#

ye I found it

#

I mean, I have already ported everything I needed, so I'm ok

#

only thing I'm having issues with is "hot"/monkey patching

#

and finding vencord's csp fix

potent fox
rocky jackal
#

and this works on webpack functions?

potent fox
#

It should

rocky jackal
#

it's multifile

#

sh*t

proud cargo
#

whar

potent fox
#

you are supposed to get it as library

rocky jackal
#

I'm trying to use as little urls as possible

#

because csp

potent fox
#

whar

#

what url

#

just bundle it to your extension

rocky jackal
potent fox
#

or whatever iti s

rocky jackal
#

it's not an extension-

potent fox
#

what even it is

rocky jackal
#

it's a userscript

potent fox
#

so

#

you can still bundle for userscript

#

are you really manually getting all files and bundling them to one file

#

not mentioning those are typescript

#

so you need to convert it back to js

rocky jackal
#

tsc

potent fox
#

still pain

rocky jackal
#

it really is

potent fox
#

you can just throw your stuff into src do your stuff in index.js and bundle

rocky jackal
#

Still, im close to what I want to do

#

If I can find a way to forcefully "reload" the webpack module Im patching, then Im good

#

I want to be able to port this plugin to any modded client without too much hassle

#

But, taking bd as an example, the start function takes quite a bit before it fires, enough that the server list module has been already loaded

dull magnet
#

it's pretty simple and makes ur life so much easier

rocky jackal
#

the one plugin I was going to get a patch from is a bdfdb plugin

lone panther
#

@dull magnet give them role called "devilbro alt*

rocky jackal
#

oh heeeelll nawwwww

#

please don't I swear I will make split files

#

I give up

#

The userscript works prefectly fine as it is

green vessel
#

NEVER BACK DOWN NEVER WHAT

rocky jackal
#

so I will do the bd changes once I start making the bd variant

#

Using bd's patcher

#

and webpack

#

and whatnot

dull magnet
rocky jackal
#

I gave up

green vessel
#

wait are you fr making a compatibility layer for bd and vencord

#

or am i stupid

rocky jackal
#

no

#

hell naw

#

I was just trying to have some webpack manip functions on normal/unmodded discord

green vessel
#

ohhhh

#

wouldn’t that still make it modded

rocky jackal
#

once I start working on the bd version, I'm obviously going to use bd's apis

rocky jackal
green vessel
#

horror

rocky jackal
#

it's like making a mini mod

#

for a single plugin

green vessel
#

would run smooth

rocky jackal
#

wait

#

will this actually have a big perf hit?

#

cause right now everything seems to be running fine

#

(on browser, with vencord already installed)

pure temple
rocky jackal
#

still, I have made quite the progress

#

though there is a different bug I encountered now

#

this is meant to default to checked

#

I also cannot check it, it just reverts its state

green vessel
#

rainbow text my beloved

rocky jackal
#

whar

#

BRUH IM DUMB

dull magnet
#

why are u using manual react 😭

#

jsx...

rocky jackal
#

I'm too far gone

#

At least I get to use it on vencord's files

#

it not sure

austere mauve
#

overengenring

#

whqt why did my autocomplete completely misspell that

#

overengineering

green vessel
rocky jackal
novel gale
#

what does this do

green vessel
novel gale
#

so

#

thats why i asked lol

green vessel
#
  • rule 5
novel gale
#

you can LITERALLY see in the screenshot that its on

#

what??

#

fym rule 5

green vessel
#

and you can LITERALLY see in the screenshot what it does

green vessel
novel gale
#

i read rule 5

#

tell me how i broke it

green vessel
#

???

#

your asking for support for something other than coding in the coding channel

novel gale
#

i asked what it did???

#

not for help with it

#

but wtv mb

#

ill go to support

proud pendant
#

any1 know why themes

#

arent going transparent

pure temple
potent fox
#

its over

rocky jackal
#

uhh

#

uh oh

plucky pecan
#

Live footage of HTML being depricated some time in the future

rocky jackal
#

whar

rocky jackal
#

til you can open 2 modals side by side and have them animate and close at the same time

#

I definitely have some use for this

pure temple
#

hm

rocky jackal
#

what does that do (Select component)

dull magnet
#

it serialise

rocky jackal
#

meaning? what do I have to do with it

proud cargo
#

value

rocky jackal
#

no I mean, it expects a string, what string

dull magnet
#

we normally just pass String

#

or identity function

#

it's intended for you to serialise the choice to smth else

#

but if you just want the raw choice just pass serialize={String}

rocky jackal
#

yeah I see now

#

thanks

dull magnet
#

oh wait it's optional?

rocky jackal
#

no

#

should I try to modify the serverlist api to add a below position?

dull magnet
#

do you need that

rocky jackal
#

I mean, you proposed I should move the button to the bottom of the server list

#

and for some reason I am having a hard time doing that, even though I could do it in the userscript

#

yes I have a major skill issue

dull magnet
#

i did not do that

rocky jackal
#

then, who-

#

bruh

#

who had told me...

#

can't quite put my finger to it, oh well

pure temple
#

gradle <3

amber basin
#

this is after restarting it multiple times, its at like 20m now

pure temple
#

gradle stacktraces <33

#

the best thing about gradle is its logo

amber basin
#

@stray imp is holding me at gunpoint and making me use gradle

pure temple
#

in fact the only good thing about gradle, some may say, is its logo

stray imp
#

once genesis and mewsic are done ill make rootvm, eden, and then dove and migrate genesis and mewsic to dove (eta: 450 million years)

amber basin
#

hell

#

i should change my nick

#

NOOOOOO

#

i started this build at 1:40

#

hell

dull magnet
#

fastest gradle build

rocky jackal
#

how many revisions have I made for a single modal, I've lost count

amber basin
#

FUCKING

#

FINALLT

rocky jackal
#

šŸ‘ The fact that your build even finished is a miracle

#

gradle my beloathed

amber basin
#

it took a bit because aenri made some,,, choices in the ios code that kit couldnt test

rocky jackal
#

what am I even reading

amber basin
#

aenri trying to run toBoolean on a boolean

rocky jackal
#

why

amber basin
#

no clue

#

lmao

rocky jackal
#

to make sure that it is a bool?

#

get the type, and return a default if it isn't

#

shrimple

amber basin
#

oh my god its doing linking again

#

im removing ios targets for now

#

fuck that

rocky jackal
#

waiwaiwai

#

this is saying "kotlin"

#

and you said iOS

amber basin
#

yeah

rocky jackal
#

uhhh, what

#

what even is that

amber basin
rocky jackal
#

please

#

for the love of god

#

thell me this isn't rn

#

nvm, I decided to read the first 2 lines

#

thank god

amber basin
#

whatd u think it was

rocky jackal
#

Jetpack compose my beloved (It is worse than react in complexity and made me give up on it)

rocky jackal
amber basin
#

HELL

rocky jackal
#

exactly

amber basin
#

I REMOVED IOS LMAOOAOAO

rocky jackal
#

the fact that this can make true multiplatform apps without some kind of weird js framework is pretty neat

rocky jackal
amber basin
#

yeah

rocky jackal
#

I forgot I had android studio installed

#

I might give jetpack compose another go

#

if I can figure out how to do dynamic content and monet properly

#

holy shit the first gradle sync is taking an eternity

steep vapor
#

compose so annoying

#

java xml so much better

#

it might be old but it is so much more stable and readabke

vapid latch
#

anyone know of a nodejs tar library that'll preserve git's pseudo-unix permissions on windows

proud cargo
simple folio
#

and 5 million activities

#

compose so much simpler imo

#
setContent {
    SomeTheme {
        Text("Hello")
    }
}
dull magnet
vapid latch
dull magnet
#

why do u even need that

lone panther
#

powercord v3 install guide

vapid latch
#

the streamlined install option for hh3 downloads a tar file and then attaches the git repo with isogit

#

but theres 2 files that have +x on them that keep breaking isogit because +x isnt preserved

#

and has given me headaches for years because of it detatching HEAD

lone panther
#

well damn i was right trolley

vapid latch
#

i was originally blaming isogit for the issue but its fault of tar/windows

lone panther
#

long shot but if you wanted to put effort in mayyyyybe some native compression library that you could make native node lib for would work?

dull magnet
#

horror

lone panther
#

yop

dull magnet
#

can isogit not clone

#

also why even use git

#

do it like vencord

#

we have two updaters, one uses git the other uses http

#

prebuilds from github releases

plucky dove
#

in regex how tf do you make a non-capturing group which searches every single character except if there is a space/a closing bracket in the end of a string

#

I tried fucking around with (?:.*) however I could but I gave up

dull magnet
#

can u maybe try to explain a bit better

#

like what are u trying to do exactly PI_eluquestion

vapid latch
vapid latch
dull magnet
#

why over-engineer a private project
uses some cursed shit like iso-git and tries to look for a tar library that preserves permissions

lone panther
#

different types of overengineering you see

dull magnet
vapid latch
#

its almost as if the original system

  1. wasnt build by me
  2. was made on linux
vapid latch
#

have i not expressed this here?

dull magnet
#

huh, how come

#

it takes less than a second to compile and has so many benefits

vapid latch
#

i just like being able to write code and have instant gratification

lone panther
#

yeah no build step makes this a lot more complicated actually

vapid latch
#

its how i learned to write code anyways because of learning glua before anything

#

and accelerated by addons like luadev and sending code over sockets

dull magnet
#

why does a build step get rid of that gratification? in the case of vencord at least you can just run the watch script and it immediately rebuilds every time u change smth

#

i do agree if building takes a long time like more than 5s

#

but if its super fast to me there's basically no difference

vapid latch
#

its still the effort of having to remember to run the script or what not

#

theres times recently working on vendetta shit and im like "why the fuck isnt this working" because i kept forgetting to run build

plucky dove
dull magnet
#

just use vencord text replace

vapid latch
#

or just use cleanurls

dull magnet
#

anyway just \S*

#

it will match everything except space

plucky dove
#

this is for vendetta btw and I've been having issues with the plugin updating shit so I don't want to use their clearurls plugin

dull magnet
vapid latch
dull magnet
#

you have to connect via adb, run a server, build your code, restart the app, etc

#

reason I never got into it

vapid latch
#

you shouldnt have to restart unless you're doing something you know requires it

plucky dove
vapid latch
#

it is a hastle to go into plugins, wait for the context menu to load, click refetch, etc

dull magnet
#

yeah

vapid latch
dull magnet
#

that's why I just restarted usually

vapid latch
#

its faster for me to refetch than to restart

lone panther
dull magnet
#

im really surprised noone has made a proper build tool for vendetta yet that abstracts everything away for you

like a script you run and it just does everything and communicates with vendetta via websocket to reload plugin

vapid latch
dull magnet
#

Vendetta dev on the other hand gave me nightmares content

vapid latch
dull magnet
#

fair but u lose out on a lot of good things

vapid latch
#

such as?

#

clueless i never told you about "tower of babel" did i

dull magnet
#

ability to bundle into single file for example

vapid latch
dull magnet
#

also how do you even import all plugins since you can't use fs in renderer

#

do you send the code over ipc and eval or wha

vapid latch
#

import them all on native side, ship them over context bridge, reconstruct in renderer

proud cargo
vapid latch
dull magnet
#

bundling is better imo

#

so much ipc

vapid latch
#

if it works akkoShrug

dull magnet
#

it happened to me too

#

I once debugged for like 30 minutes why my shit wasn't working

#

turns out i had production vencord injected

#

instead of dev install

vapid latch
dull magnet
#

NO

#

oh god its cjs too

#

do you have a fake cjs loader

lone panther
vapid latch
vapid latch
dull magnet
#

how does that work then

#

like with dependencies and all

#

if it's cjs

vapid latch
#

like external dependencies?

dull magnet
#

for instance, or even just requiring local files

vapid latch
#

requiring local files isnt really needed as much because of how things are structured

vapid latch
dull magnet
#

like spotify controls

vapid latch
#

yes

#

but they're structured to be sideloaded as webpack modules

dull magnet
#

i haven't looked at hh code much besides when i made a few hh plugins

#

so i don't actually know much about it

vapid latch
#

the only place raw require works if an extension's node.js file

dull magnet
#

god what you're telling me sounds really cursed

#

see with a bundler you just import whatever tf u want, even external deps and it just bundles it all into browser code

#

that's one of the main benefits

vapid latch
#

well yeah, but then you're limited to only using external deps that can be browserified

dull magnet
#

yea but u can just ipc AoV_lilianaPeek

#

it probably functions similarly in hh

#

god that name is kinda cursed cause hh has a very bad meaning in german lmao

vapid latch
#

yeah

#

its full name is an inside joke with the creator's old username

dull magnet
lone panther
#

hh3(rd reich)

vapid latch
lone panther
#

ooooh path-browserify is my favorite package (it is a version of path pulled from node 8.x)

lone panther
#

vee cried when i used it in vencord plugin

vapid latch
#

i think it actually runs faster in browser than natively which is funny but i never properly benchmarked it

dull magnet
#

I don't remember that

#

probably for the better

vapid latch
lone panther
#

yop

#

dioxide will be bundled with browserify

dull magnet
vapid latch
#

prob not

dull magnet
#

ours is pure dom but it has some bugs where some stickers come out very glitchy

vapid latch
#

jimp and gifwrap prob arent the most desireable to be using

dull magnet
#

idk if that's related to us doing something wrong or just gif limitation

#

i read apng spec so many times and couldn't find any mistakes in our logic

smoky basin
vapid latch
#

only issues i had were gifs failing to be made because >256 colors

smoky basin
#

Upng is so husk

vapid latch
smoky basin
#

Their types are outdated and they update it (single js file) with GitHub web upload

vapid latch
#

if anything it just proves that theres flaws in npm with it being sorted by relevancy and most downloads rather than by community determined code quality

smoky basin
dull magnet
#

upng made by the average bd plugin dev

smoky basin
#

Sharp might get support soon enough

amber basin
smoky basin
vapid latch
smoky basin
#

you love Add files via upload

dull magnet
# dull magnet upng made by the average bd plugin dev

legit the majority of BD devs don't know how to automate their workflow so they just edit the 5k lines long js file inside the BD folder and once they're done use the github editor to copy paste their local version in

lone panther
#

bdfdb:

vapid latch
#

hermes killed it šŸ˜”

amber basin
#

ik it wont happen but itd be funny to try and fix it

dull magnet
smoky basin
vapid latch
#

the only way it would be able to be fixed is if someone made a version of hermes that can decompile and recompile bytecode back and forth

smoky basin
#

Regex patch bytecode

amber basin
#

what part of it depended on rambundle

dull magnet
# smoky basin https://github.com/photopea/UPNG.js/tree/master
            var frm = out.frames[i];
            var fx=frm.rect.x, fy=frm.rect.y, fw = frm.rect.width, fh = frm.rect.height;
            var fdata = decodeImage(frm.data, fw,fh, out);
            
            if(i!=0) for(var j=0; j<len; j++) prev[j]=img[j];
            
            if     (frm.blend==0) _copyTile(fdata, fw, fh, img, w, h, fx, fy, 0);
            else if(frm.blend==1) _copyTile(fdata, fw, fh, img, w, h, fx, fy, 1);
            
vapid latch
#

regex patching because it was still returning raw javascript if you tostring'd a function

dull magnet
#

THE FORMATTING WHAT

smoky basin
#

Ben do you see why I said js ecosystem for this stuff sucks

vapid latch
#

nice autocorrect

dull magnet
#

WHAT IS THIS HAHAHAHA

smoky basin
#

I should make bindings for apngasm tho

smoky basin
dull magnet
#

this is the worst formatting I've ever seen

#

wait I just realised this is Photopea

vapid latch
#

tired: ('|")
wired:

dull magnet
#

why do they have devs like this

amber basin
#

is that the same regex

dull magnet
#

this proves you don't need to be good at programming to make successful software

vapid latch
#

yes the only difference is the quotes clueless

amber basin
#

HELL

dull magnet
#

WHY ARE THE QUOTES DIFFERENT WHAT

vapid latch
#

metro weirdness??? idk

#

ok so @pdf-lib/upng is actually a fork of upng

amber basin
#

i should see if i can get webpack tostring working on vendetta

#

itd be funny

vapid latch
#

This branch is 8 commits ahead of, 14 commits behind photopea/UPNG.js:master.

vapid latch
dull magnet
#

😭

dull magnet
#

and it worked by us replacing hermes with our fork

vapid latch
amber basin
dull magnet
#

yes

amber basin
#

ooo

dull magnet
dull magnet
#

most if not all of that code is just copy pasted from existing facebook code

#

it worked well and was super fast - so fast that we could comfortably run it on the entirety of metro

amber basin
dull magnet
#

wdym patch wise

#

you can't patch that

#

it was just used for finding modules

#

AliucordRN had the best apis it's a shame it died

#

like this is so amazing

lone panther
#

oh this is why i cried trying to steal aliurn code

amber basin
#

i need to know what that was

#

???????????

dull magnet
#

the point of it is getting native modules

#

like nativeModuleProxy.FileManager

amber basin
#

yeah but that module to blacklist

dull magnet
#

it returns null for every non existent store

#

so it would mess up webpack searches lmao

amber basin
#

OH HELL

#

why have it return anything???

dull magnet
#

findByProps("getUser").getUser // null

#

cause it would keep finding the nativeModuleProxy instead of the proper module

amber basin
#

ah

dull magnet
#

AliucordRN would have easily been the best mobile mod if it were ever finished (and didn't have horrible leadership)

amber basin
#

would it be viable to fork/recreate it ?

dull magnet
#

cause it was so powerful and we also had native plugins planned, to be able to mod chat and stuff

dull magnet
#

the code is really bad cause 6pak is addicted to OOP

#

So AliucordRN is cancerous oop

amber basin
#

oop?

dull magnet
#

object oriented programming

lone panther
#

so you're telling me

dull magnet
#

everything is a class

amber basin
#

HELL

lone panther
dull magnet
#

you need to juggle instances around instead of just being able to import random functions

#

NO

lone panther
#

with liberal stealing from aliurn

dull magnet
#

it's funny how vencord is the opposite of AliucordRN

#

AliuRN: classes everywhere
vencord: class? wtf is that

#

i think vencord only has 3 classes

#

logger, queue - cause it makes sense

errorboundary - cause it has to be

amber basin
dull magnet
#

4

#

not 3

amber basin
#

lmao

dull magnet
#

i forgot about ChangeList meow

#

wait 5

#

cause spotify controls uses a class for the SpotifyStore

#

but that's only a class cause it extends discords store system :3

#

but yeah u get the idea

lone panther
#

tbh i think kinda plugins make sense to be classes

class EvilPlugin extends DefaultPlugin {
  const FUNNY_CONSTANT = 69;

  start() {
    (new Logger("meow")).log(this.FUNNY_CONSTANT)
  }
}

at least from a personal perspective

dull magnet
#

no

amber basin
#

nop

lone panther
#

yo

#

yop

dull magnet
#

cause now u have to explicitly type everything

lone panther
#

cry

dull magnet
#

classes suck in ts

lone panther
#

switch to flow then

dull magnet
#
definePlugin({
    patches: [] // strongly typed and gives you auto complete
})
#

in a class it makes u type it again

#

horrid

#

the only way to have it typed is to put it all in the constructor

lone panther
#

idgi

dull magnet
#

like

export class {
    constructor() {
       super({
           patches: []
        })
    }
}
dull magnet
#

it still gives u errors but no auto complete

#

try making a property a complex object array

#

then implement it

#

you need to repeat the type or it will be typed as any

lone panther
#

yeah still dont get it

#

WHAT

#

WHY DOES IT

#

okay ban typescript use clojure instead šŸ”„

amber basin
lone panther
#

vscode

dull magnet
#

vscode

dull magnet
amber basin
#

how do you get errors in the editor

lone panther
#

yes

dull magnet
lone panther
#

error lens

dull magnet
#

i installed it then immediately disabled again cause I found it to be too in my face

#

:3

#

it's cool but it distracts me too much

lone panther
#

i was used to it from nvim :3

#

vee what do u think

dull magnet
#

it's joever

austere mauve
#

i thought that /1 was a /j

#

so sorry for him hes actually serious

glacial marsh
#

so i wanted to send this to third party plugins because this is so duct taped that it shouldn't ever be merged

#

it conflicts with free profile themes which i'm working on

green vessel
#

can you show an example

#

of the effect

glacial marsh
#

one sec

green vessel
#

:3

glacial marsh
#

the id in my bio determines which is loaded

green vessel
#

ah

tough dawn
#

Next thing you know, discord will make to so when you start typing in a channel it shows a crazy effect to everyone in that channel lmao.

#

I was gonna say that discord would play an intro for nitro users when they join a voice call, but they already did that LMAO

glacial marsh
#

i'm working on the same w/ decorations in an even more janky way

green vessel
green vessel
#

you could probably work with @smoky basin with profile effects as that’s what they were going to work on next

glacial marsh
#

that's not the purpose of this

#

decor is for custom effects & decoration

#

although we're talking anyway and i'll help where i can, they both serve a different purpose

green vessel
#

would be cool regardless :3

glacial marsh
#

anyway i'm working on decorations in a janky way but

#

surprisingly they're harder than effects

green vessel
#

Hi is there a way to totally hide a user from discord ? better discord has a plugin called hide utils plugin but its already abandon by the author

glacial marsh
green vessel
glacial marsh
austere mauve
#

you should make it use invisible chars like the profile colors plugin

glacial marsh
#

i know i should

#

but it's meant to be a proof of concept that happens to work rn

#

secondly, i'm conscious abt the character limit

#

since decorations is more cumbersome i wont be using a full hash in bio for it

smoky basin
#

I've said this before and I'll say it again someone should set up a MetadataDB that these small plugins can store these random bits in

glacial marsh
#

^

#

me and him were talking abt this

amber basin
#

i might give it a shot some time tomorow

glacial marsh
#

this would stop my plugin & fakeprofilethemes conflicting

#

because i borrowed the code to proxy profile data (since that metadatadb doesn't exist)

steep vapor
#

so much better and stable
and readable code

potent fox
#

back to java

pliant pasture
rocky jackal
#

what changes this value?

#

or do I just, set it manually?

viral roost
rocky jackal
#

yes

#

This enables the patch helper

chrome elbow
#

pnpm watch

viral roost
#

build vencord with the --watch flag