#🧩-plugin-development
1 messages · Page 26 of 1
thank you VERY much @ionic breach @austere mauve and @dull magnet





you are all so helpful, patient, and kind
you have no idea how frustrating it has been for me to hit ctrl+r on accident.... this is a life saver!

ain't that serious
https://i.toxicaven.dev/Ez1JFZcK2gcr
god it feels nice when a script works first try
could someone tell me how I can make like borders around my discord
Css and padding iirc
What
Wdym what? I told you how you can add borders to discord
I am not gonna make jt for you
bro that aint gonna help me ofc its css and padding iirc
I know like nothing about coding im lucky enough that I can slightly understand what im doing
then why are you in the coding channel
rate my code
portuguese text detected
user will be automatically banned 
lol it actually does not catch the rejection AI just teached me
i fixed it i make only top quality spaghet
this is a chatbot using yt-dlp video and image downloader cuz yt-dlp is fucking godlike and supports like 1800 sites (basically all social media)
to ask for help on coding 🥺
wtf are those method names lmao
'MessageMedia' is the type, an object the chat lib wants its just media in base64 and other chat info
and tryToSendMedia tries to send it as an embed and if fails it sends as document (supports any file)
i made the downloadMedia...() convert all videos to .mp4 so all videos will be compatible
but that breaks images cuz you cant recode images
so i had to create this monstrosity to fix that and support both images and videos
I think he means that the method names are very verbose
its called readable code
xD
i think we shouldnt rly be afraid of making code clearer
like what is the negative impact, using a few more letters, i hate unreadable code
I mean this is most likely typescript, so you have pretty much most of its explanation
yes i could make it shorter xd
the issue is that your method names are too verbose to a point of where its less readable again
"OrDocument" is obsolete because you don't care whether the method logs errors internally or not
"AndReturnMessageMedia" is obsolete because you can already easily infer this from any code
const media = await downloadMedia()```
you have the same amount of info in this code
that makes perfect sense I didn't even think much of it
you don't wanna see the inside of the downloader function thuogh
it's like a murder scene
actually not that bad, but not sure if i can refactor this to make the code 'cleaner'? i think my code is improving greatly because my older functions from the same project are way worse 
theres a sticker making function so big i'm lazy to refactor
and all my chat command detections are ifs cuz i'm also lazy to make a command registerer / handler
if (e.key === "r" && e.ctrlKey) {
e.preventDefault()
e.stopPropagation()
}
}, true)```
How would I change this to work on macos? changing from ctrl to cmd does not work
e.metaKey
thanks again vee!
hmm so that's not actually working
https://stackoverflow.com/questions/3902635/how-does-one-capture-a-macs-command-key-via-javascript
this says
Unlike Shift/Alt/Ctrl, the Cmd (“Apple”) key is not considered a modifier key—instead, you should listen on keydown/keyup and record when a key is pressed and then depressed based on event.keyCode.
Unfortunately, these key codes are browser-dependent:
Firefox: 224
Opera: 17
WebKit browsers (Safari/Chrome): 91 (Left Command) or 93 (Right Command)
I tried it with metaKey and it does not prevent refreshing
openasar is installed
does the js line in settings.json need to be last?
tried that and it doesn't work
/** COMPACT CHANNEL SIDEBAR **/
/* make sidebar thinner */
.sidebar-1tnWFu {
width: 10em;
}
.scroller-1ox3I2::-webkit-scrollbar {
display: none;
}
/* ... in channel names takes a lot of space, so remove it */
.overflow-1wOqNV {
text-overflow: clip;
}
/* less padding in dm list */
.layout-1LjVue {
padding-inline: 2px;
}
/* less padding in guilds & hide channel icon */
[aria-label="Channels"] {
& a {
padding-inline: 4px;
}
.iconContainer-21RCa3 {
display: none;
}
}
/* make user panel more compact */
.withTagAsButton-OsgQ9L {
margin-right: 0;
min-width: 5.6em;
text-overflow: clip;
/* smaller pfp */
.avatar-1EWyVD {
width: 24px !important;
& svg {
width: 32px;
}
}
/* no ellipsis on texts */
.title-338goq, .subtext-2HDqJ7, .hovered-20u3oh, .default-rFvAvS {
text-overflow: clip;
}
}
/* smaller mute/deafen/settings buttons in user panel */
.panels-3wFtMD {
& button {
width: 24px;
height: 24px;
}
}
someone help me make this better
should I move to #1108135649699180705 @dull magnet
is there a more robust plugins api documentation i havent been able to find (beyond https://github.com/Vendicated/Vencord/blob/main/docs/2_PLUGINS.md)
**2_PLUGINS.md: **
# Plugins Guide
Welcome to Megu's Plugin Guide! In this file, you will learn about how to write your own plugin!
You don't need to run `pnpm build` every time you make a change. Instead, use `pnpm watch` - this will auto-compile Vencord whenever you make a change. If using code patches (recommended), you will need to CTRL+R to load the changes.
## Plugin Entrypoint
> If it doesn't already exist, create a folder called `userplugins` in the `src` directory of this repo.
1. Create a folder in `src/userplugins/` with the name of your plugin. For example, `src/userplugins/epicPlugin/` - All of your plugin files will go here.
2. Create a file in that folder called `index.ts`
3. In `index.ts`, copy-paste the following template code:
```ts
import definePlugin from "@utils/types";
export default definePlugin({
name: "Epic Plugin",
description: "This plugin is absolutely epic",
authors: [
{
id: 12345n,
name: "Your Name",
},
],
patches: [],
// Delete these two below if you are only using code patches
... (82 lines left)
nope
you can look at what other plugins do, and feel free to ask
im brand spanking new to this and my intent is to be able to search through multiple servers message history asw as dm history; my seizure medications give me horrible memory loss
(and i dislike losing arguments because i cant find message links)
alright
from looking through the messagelogger, pindms, and showhiddenchannels plugins, all i can grasp is the mixins on webpack events
oh wait there are a lot more that just arent in their own directories that seem like they have helpful src
as in i dont understand how i would then be able to request more information, beyond the currently provided method that i alter the return value of
oh nvm theres a restapi that i can call to get further endpoint data
is there a documented tree of non-bot-user api endpoints?
oh thanks
if anyone can help with this, I would very much appreciate it :)
some operating systems may intercept the key so it is never detected
that might be what vee was pointing out there
well
it's possible you could get some sort of AHK-equivalent script running that intercepts ctrl+r before discord gets it
but overall i think you probably should learn to not hit ctrl+r when you mean to use ctrl+e ?
do you know the home row?
Teaching the world to type at the speed of thought! Typing lessons that work.
understood :)
lol yeah I do
oh nice nice
I have arthritis and that complicates things when I have to stretch
ohh
i feel like too many people don't these days
facts
isn't r further than e tho
idk which way you're going about it
yeah it is and I get used to a certain amount of strain and when I have a flare up it's not the same as before
but it's ok
I'll just deal with it like I have been it's not a huge deal and I don't spend a lot of time on discord on my laptop anyways
this is api spam
and the search endpoint has a strict rate limit so you will have a hard time doing it anyway
okay its now fixed with 2fa on
ayooo
this hurts me in the feels ngl, but I can help, if you still need it
why does it hurt you
I like big buttons, makes them easier to click
makes the UI feel cozier
idk I have weird UI tastes
Ven did make the channels to hide on clicking the icon
i didn't like that, it's kinda impractical
οη Ι σεε
oops
"oh I see"
anyways, do you still need help with it or have your figured it out?
can i edit outgoing network requests from discord in plugin right before it goes out
(i want to add a flag value to the request)
what are you trying to do specifically
not sure whether to ask here or in #🏥-vencord-support-🏥 but does anyone know how to make/use these hover thingies
i assumed it just showed the aria label on hover but forcing hover state or anything doesn't do anything on them
Web site created using create-react-app
I think they mean how to show the tooltip
oh
ye
i want to show some info on specific keywords and thought i could yoink the timestamp style for it
but yea hovering doesn't work
i want to make a plugin to send audio as the new discord voice thing
that would also let people preview not mp3s in discord
i already made it https://github.com/Vendicated/Vencord/pull/1380
it's basically done but voice recording only works on web, not discord desktop
because discord moment
does it let me upload files as voice msgs
(i do not want to rename my opus files into mp3s just to play without downloading)
it does
either record or upload
but non ogg files will not be playable for ios users
they work fine on android and desktop
im okay with discrimination
ogg can have multiple encodings
it's possible it only supports some of them
oh probably
similar to how mp4 can have multiple encodings
mp4s using hvec don't work in discord either
is there any way i can get rid of the stupid ass "add to channel list" feature
with css or some shit just disable that shit and force the channel to be in my list
if you wanna just hide the button that's super simple
not on pc but i can tell you how to do it
open devtools (ctrl+shift+i) and go to elements tab
there should be a cursor next to a box thing in the top left of devtools
open the channel context menu, then click on the button described earlier and on the "add to channel list"
if you go up a bit, you should be able to find an element with id="channel-context-blahblah"
go to quickcss and add
#channel-context-blahblah {
display: none;
}
@grizzled narwhal i already made ur snippet #🎨-css-snippets message sorry lol
also i the border radius is supposed to be 8
i can check in a sec tho
oh lol
so uh im kinda dumb but how can I open a simple modal, and is Vencord.Util.openModal() a good way to do it?
what would that method be for if not to open a model
First time contributing, this happens when I run npm i
npm ERR! While resolving: eslint-plugin-path-alias@1.0.0
npm ERR! Found: eslint@8.44.0
npm ERR! node_modules/eslint
npm ERR! dev eslint@"^8.28.0" from the root project
npm ERR! peer eslint@"^6.0.0 || ^7.0.0 || >=8.0.0" from @eslint-community/eslint-utils@4.4.0
npm ERR! node_modules/@eslint-community/eslint-utils
npm ERR! @eslint-community/eslint-utils@"^4.2.0" from @typescript-eslint/utils@5.62.0
npm ERR! node_modules/@typescript-eslint/utils
npm ERR! @typescript-eslint/utils@"5.62.0" from @typescript-eslint/eslint-plugin@5.62.0
npm ERR! node_modules/@typescript-eslint/eslint-plugin
npm ERR! dev @typescript-eslint/eslint-plugin@"^5.59.1" from the root project
npm ERR! 1 more (eslint-plugin-unused-imports)
npm ERR! 1 more (@typescript-eslint/type-utils)
npm ERR! @eslint-community/eslint-utils@"^4.2.0" from eslint@8.44.0
npm ERR! 8 more (@typescript-eslint/eslint-plugin, ...)
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer eslint@"^7" from eslint-plugin-path-alias@1.0.0
npm ERR! node_modules/eslint-plugin-path-alias
npm ERR! dev eslint-plugin-path-alias@"^1.0.0" from the root project
npm ERR!
npm ERR! Conflicting peer dependency: eslint@7.32.0
npm ERR! node_modules/eslint
npm ERR! peer eslint@"^7" from eslint-plugin-path-alias@1.0.0
npm ERR! node_modules/eslint-plugin-path-alias
npm ERR! dev eslint-plugin-path-alias@"^1.0.0" from the root project
What is the Discord gateway event name if someone clicks a button on a message?
I think they mean for a bot
if so its apparently INTERACTION_CREATE
and god discord sucks at writing docs
Thanks
vouch 💯
I'm writing a bot for my server because I want it to be as clean as possible
and because i want it to be a 100% internationalised server 
could be worse tbh
at least search works
AAAAAAAAAAAAAAAAAAAAAAAAAAAA
top 3 things every coder appreciates:
1-VSCode
2-VSCode
3 is a bit controversial but, VSCode
neovim:
s/VSCode/Neovim
does neovim have copilot?
does vencord support custom plugins
vf plugins
You can't.
Chances are, it's already a Vencord plugin! Or if it isn't, you can open a plugin request
no i want to make custom plugins
there's a guide on the repository. unless you know what you're doing, I'd suggest sticking to the built-in ones (or request plugins)
yeah what lzodd said. also if you look in #1032200195582197831 pinned
i've actually made a guide(-ish) that tries to explain how to make a vencord plugin
https://gist.github.com/ActuallyTheSun/28bd595f8c07992f6d03289911289ba8
it's not great (i feel like i spend too much time explaining that the sky is blue while skipping over some of the important parts) but it works
It's amazing
guys should i learn java (or any oop languages)?
That is the wrong question to ask 🧌
yeah i dont see a need for this
copilot.vim works fine as is
copilot.vim so heavy
uh, no
I'll send it in the future if anyone asks
This is so good I wish I had this making my plugin 3 months ago that ven hasn't reviewed
Or commented on
Oldest open complete pull request without a single comment or review from ven
epicly!
Out of curiosity, does anyone know what version of webrtc discord is using?
should i switch to vim/neovim instead of vscode?
i can always install nv chad for neovim
up to you
probably the one vencord uses 
🤨
whar
learning oop in general will prolly help you in the long run. if it's primarily about oop in general you're better off learning Python because there you can do more than "just oop", it's more flexible and easier to pick up
learning java is only really helpful if you're looking for job security, I guess
oop sucks tbh
L opinion
well the way java and c# do it sucks bc of all the boilerplate
id reccomend something like kotlin or maybe even c++
c++ 
c++ is honestly not that bad
diamond problem my beloved
the only thing it's good for is turning people away from programming (/s but it is really good at that)

ptsd from js classes
sounds rust-pilled
golang does it perfectly
most things are function based but for things where you need to organise data into possibly many different containers you have structs and methods on them
pure oop is cancer
the mix of the two is perfect
aka everything is function based but reusable things with state are classes
go is c++ and py combined imo
no
more c
go doesnt have classes or inheritance
i changed it here more c then c++
very much like how Vencord does it
95% of apis are functions but things like Logger and Queue utilise classes since they make it very easy to manage state
thats my favourite style of programming
yeah same
also a lot of higher order functions
i like kotlin a lot
mainly because doing it properly requires a MASSIVE codebase with all its encapsulation.
ProblemFactory
i really like higher order functions they're so nice
https://github.com/Vendicated/Vencord/blob/main/src/utils/lazy.ts#L19-L22`
const get42 = makeLazy(() => 42);
console.log(get42()) // 42
**lazy.ts: **Lines 19-22
export function makeLazy<T>(factory: () => T): () => T {
let cache: T;
return () => cache ?? (cache = factory());
}
(idk why i didnt use ??=)
yup, Go was developed so that Google devs don't have to write C++ anymore
golang is based for sure
I like it, it's really neat for serverside
factory: () => NonNullable<T>
go does so many things so well but then absolutely ruins it with their horrific error handling and lack of ternary
fix
the GC doesn't matter in serverland anyway, just throw more resources at it
go would absolutely be my favourite language if it wasn't for those two things
mainly the error handling, i can live without ternary
i like the fact that you return multiple values
in-band errors are shit
things like
int function_that_might_error(some_args) {
// if error occurs, return -1
}
in Go, you just return whatever data you've got so far and an error
func stuff() (string, error) {
stuff, err := DoStuff()
if err != nil {
return "", err
}
otherStuff, err := ProcessStuff(stuff)
if err != nil {
return "", err
}
moreStuff, err := EvenBetterStuff(otherStuff)
if err != nil {
return err
}
return moreStuff.banana, nil
}
i just fucking hate this style of code
but yes, error propagation is... funky in Go
but you end up writing it too often
i wish there was a better way to propagate errors
like ? how rust has it
i filed the ? under syntactic sugar tbf
func stuff() (string, error) {
stuff := DoStuff()?
otherStuff := ProcessStuff(stiff)?
return EvenBetterStuff(otherStuff)?.banana, nil
}
this would be so much better
also ternary but the go team has explicitly said they're not adding ternary sooo 🫡
how so? if you forget, it wont compile since you're trying to store 2 return values in one variable
yes, so this is syntax sugar
i have permamently low blood sugar, not fun
if you forget its a type error
L
in lua u can write ur own syntax sugar using metatables
its not bad at all
I'm more of a DevOps / Infra / SysAdmin guy, so I wouldn't know 🧌
function register(...)
local args = {...}
for i = 1, select('#', ...) do
debug.setmetatable(args[i], {
__call = function(condition, valueOnTrue, valueOnFalse)
if condition then
return valueOnTrue
else
return valueOnFalse
end
end
})
end
end
-- Register the required types (nil, boolean, number, string)
register(nil, true, 0, '')
this adds ternary and it would work like
print(condition (ifTrue,ifFalse));
you can do the same with assembly, but faster
func Ternary[T any](condition bool, ifTrue, ifFalse T) T {
if (condition) {
return ifTrue
} else {
return ifFalse
}
}
Ternary(1 == 1, "hi", "bye")
but that has the limitation that it always evaluates both sides
in lua it can be useful
so something like this won't work as expected:
barOrNull := Ternary(foo != nil, foo.bar, nil)
so instead you need to do like
func Ternary[T any](condition bool, trueCb, falseCb func() T) T {
if (condition) {
return trueCb()
} else {
return falseCb()
}
}
barOrNil := Ternary(
foo != nil,
func () *string {
return &foo.bar
},
func () *string {
return nil
},
)
which is ugly asf xd
it would be better if go had lambdas but they dont :(
yea u have to do that if u do a ternary function in lua too
its very sad that roblox added types in lua before lua did
lambdas would make it bearable but that's another thing go said they won't add
Ternary(foo != nil, () -> &foo.bar, () -> nil)
c++ lambdas are weird
[/* any variables to capture */]() -> {}
[]() -> mutable {}
its c++ tho nothing is normal
c++ ...
areis weird
👍
i like c++ lambdas honestly
you tell it what to capture explicitly
i like that
cause it makes it harder to cause leaks
why?
i assume that means you can mutate variables
thanks to that the compiler can determine whether you want to mutate the variables
if you don't need to mutate, it can make copies of them which might be more efficient
i think it might also matter for smart pointers
especially for unique_ptr
ive never used smart or unique pointers
what is a smart pointer
really?
yes
better than concepts 🤨
> console.log('e')
e
undefined
shrimple: this["console"]["log"]["call"](null,"e")
thats kinda mid
function makeFunny(obj, path = "") {
const funny = new Proxy(function() {}, {
get(_, k) {
return makeFunny(obj, path + k);
},
apply(_, $this, args) {
const v = obj[path];
if (args.length) return Reflect.apply(v, $this, args);
return makeFunny(v, "");
}
})
return funny
}
you're welcome
class Main {
public static void main(string[] args) {
LoggerFactory factory = new LoggerFactory();
Logger logger = factory.build();
logger
.startLogging()
.addChar('h')
.addChar('i')
.endLogging();
}
}
industry standard code
true
elder scrolls iv
when i open settings some function makes the settings change its opacity or size or something for an animation, is it possible to overwrite that? it seems to be from discord, it makes opening settings really laggy
i did manage to overwrite the value when rendering but it still gets calculated (efficiency™)
enable reduced motion in accessibility settings
How does Vencord.Api.ServerList.addServerListElement work?
lmao so that's why opening settings is laggy
we love discord
ah
I think it's called react sprite?
I hate that piece of shit
There is negative performance benefit
It basically takes a big hit on performance
And they like to use it A LOT
spring
ah yea
and making them use more useless resources
composite css animations exist
transitions (to be avoided) exist
So, I atleast have somewhere to begin
LETS GO
Yes but then everything is off, also, I think I tried that and it still calculates it but doesn't show (not sure)
how does that work lmao, my unicode analyser doesn't show anything sus
genius
it's really incredible how incomptent discord is
123456789012345678901. 123456789012345678901. 123456789012345678901. 123456789012345678901. 123456789012345678901.
okayyy so
this, is a nitro theme
:root {
--custom-theme-background: url("https://dablulite.github.io/Cyan/cyan-waves.png") !important;
}
Enable any nitro theme and put this in quickcss
any valid css background can be used as a custom-theme-background
so i dont see how that's a surprise
anyone knows an easy alternative to github actions for ubuntu
was for me
will definitely make use of that
what do you mean by that, like something to run actions locally or a full on CI/CD environment?
something to auto run git pull, run npm commands and run npm build on code push detected
2 issues with github actions, 1st getting my github account token eternally authenticated in ubuntu, is both unsafe and i tried all guides they just don't work (it still asks me for auth when i run git pulls even after it should have kept me authenticated) 2nd, the github actions script itself is complicated
so yes a ci cd i think, i need to push the code from my computer and have it autorun pull and build for me in the remote ubuntu server
fuck it im already learning github actions but the hard part for me is making github persist auth on ubuntu lol absolutely all existing guides for this suck tremendously, even official ones, but i did found a semi recent youtube tutorial on this
persist in ubuntu as in on your local machine/one you control or in the container running on gh actions
ah I think I understand now
not sure, i thought i needed to first make git persist my credentials in ubuntu before using github actions there?
nvm I don't undestand anymore
what's your full usecase? Like auto deploying to a server or something else
remote ubuntu 22.x VPS has my React frontend + nodejs backend in the same project, i need this vps to pull+auto build those on push
cuz im doing that manually for 3 branches
which is huge pain in my ass
everytime i update anything
You could have a gh action that automatically sshs out to your server (something like https://github.com/appleboy/ssh-action maybe) or you could set up something on your server that listens for a webhook from github and automatically builds when a push webhook is triggered
or you could set up a cron job that just git pulls+builds every so often but you won't get instant updates with that - this solution would be easiest
that might be useful later, thanks, but i think setting up the actions script is easier ? i found a tutorial that setups actions on a frontend+backend repo, i'll watch it now and try
but i still have to fix ubuntu not persisting my github credentials and always asking me for it
the easiest way to do that would be to use ssh key authentication, rather than http - unless you set stuff up with access tokens and all that
good
(another option is using a vi keys plugin for vsc)
getting (neo)vim in addition might be nice tho, for example for its vimtutor to introduce you to its powerful ways
dude with only knowing a couple of keys and downloading nvchad which comes with a couple of plugins to help and an lsp preinstalled, i sped up like fire but i may go back to vscode with the vim plugin
the vscode-vim plugin is a good transitional tool
all vim plugins for vscode suck
honestly just use vsc, specially if you're still learning stuff
you can always learn vim later
I should switch to neovim I don't even know why I use emacs anymore
I'm just too lazy 😭
ViKeys, Spacemacs, or Doom Emacs might be of use for you
I was asked to help with some frontend js at work and the code that I'm shown the person is trying to edit is all minified
and they don't have the original non minified code
I have spent three hours teasing apart the file to some semblance of a readable state 
I want to explode now I need to rewrite 200 lines of nested ternaries into normal if statements
200 lines of nested ternaries
wtf
This is ideal code. Some devs may not like it, but this is what peak performance looks like.
jquery 
for peak performance, rewrite in Java or smth
idk code
i guess you also don't have the source map?
I use doom but disabled evil to use xah fly keys https://cdn.discordapp.com/emojis/916113866335858699.webp?size=48&name=pepelaugh~1&quality=lossless
nope
hadn’t heard of that, interesting 🙂
just use a beautifier /hj
hourly but paid half the market rate because I'm a student 
rude
this is after putting it through one ;w;
rip 😭
i know there was a cool one that uses AI to rename things and expand stuff more properly but i forgot the name https://cdn.discordapp.com/emojis/1011266089067479122.webp?size=48&name=_sob&quality=lossless
it would be interesting to pass this to chatgpt or something else but the logic is too mangled to figure out a decent chunk that I can give it
copilot could probably manage it to a bigger extent
it's just jsnice lol
unminify this https://tetr.io/bootstrap.js
with my 10 minutes of experience with obfuscated minecraft mods
this looks obfuscated
oh my gosh it works
yes its obfuscated
it did all the ternaries
kinda bad 😭
based university of zurich or whoever made it 😁
the first thing I'd do is replace all array accesses of a with the proper thing
then IDK
tetr thinks they're doing machine code obfuscation 💀
why would they feel the need to do that
probably trying to hide where the actual code is and their anti-tampering thing
I already guessed what the script did tho I deobfuscated it for fun
tetr.io moment
if you are US or UK based, you could try chatgpt alternative https://claude.ai which sports 100k tokens context, which should fit your whole code
or via vpn from anywhere ofc -.-
tho idk if i’d trust ai with refactoring if it isn’t specifically made for that purpose, since any hallucination could break the program ig
that's so troll
tetris anti cheat
i can say with confidence that nobody bothers cheating in tetris
boy you're missing out on so much
what is there a whole tetris cheating scene
invite me to server if so 🥺
ic
ig it's just a "low hanging fruit" anticheat since anybody who's making a cheat because it's fun wiill just bypass it and have more fun doing so!
unironically the most known mod for this website does not bypass the anticheat
and everyone complains that using it makes the anticheat trigger sometimes
lol
probably they never tried looking into what this does
and just call it a black box
unfortunately i can't cheat against them because i cba to learn js to cheat in tetris and the skidded userscript doesn't work
I mean I'd never have guessed there was this tampering check if I didn't reverse this
and it took me hours
😭
bring back java applets
so we can use java-deobfuscator and ez auto deobfuscate
horrifying
and we can mine monero on the web!
to remove the tamper check you just have to yeet it with a userscript or extension or something right
idk i don't do web game cheating
em
no
and not even necessarily for cheating
but you can monkey patch window.eval 
just realized that I've been running this for a few hours as a troll solution to a cryptohack thing
😭
hey, I've found a way to send voice messages through PC, does anyone wanna work together to make this a vencord plugin?
already made it https://github.com/Vendicated/Vencord/pull/1380
just see description for what needs to be done still
oh sweet
your github link doesnt work
its https://github.com/Syncxv/vc-message-logger-save-logs, apparently they forgot an s
thank you very much
it uses Vencord's DataStore api, which resides on disk
haha disk usage go brrrrrrrr
it reads quite lean to be fair
there doesnt even seem to be a limit of how many messages it can store, doesn’t it
i'm not good at reading TypeScript, look for yourself
how do you style the scrollbar? is it just the webkit pseudo elements
Damn that's funny, the patching looks like using Harmony for Unity games, but instead of using code matchers and IL, you juste use a regex
That's really neat
I saw there was some kind of Vencord internal storage ?
for settings*
it's a true hell to find what you look for in Discord's code..
Harmony, horror
I understand
Well for me it's the opposite, I never did anything with this kind of hum.. patching
And I really don't understand how you can find what you want into.. this
Why is this called monkey patching by the way ?
i mean, at least with harmony you could refer to one of your code snippets by inserting a use of your function and all that, or just by pre-post patching those
oh interesting
in transpilers you just call your function with whatever you want inside and it's done, I must tell that I'm a little bit lost with Vencord way of patching
I know that all I want is remove elements depending on certain conditions defined by settings internal to the plugin I want to make
Hm. Looks like I choosed the wrong time to want to contribute or make my plugin for vencord.. lol.
lol you cant
there is a button to beautify the code
wait where ?
under the code window
yep
dear god
now you can actually understand
96k lines yikes
491k lines wth how am I meant to find something into that
even subnautica has less lines of code than this... Or at least it's spread.
you don't read everything
just use search / react devtools / jump to function definition
don't listen to ven you should read every webpack module and carefully study them it's totally worth it
dont listen to either of them you should do something else that wont drive you insane
like building chromium on a 10 year old thinkpad

I have a question: what do I learn after python? I feel like I am good enough in python, but I can't think of a programming langhage to start learning
c++ 
My friend who knows C# and python said that it's horrible
you kinda made a mistake starting with py, the syntax is very different from anything else
I know, I was dumb lol
most good languages today are c-styled, python is not
if you want something rather simple, go with java
if you want a challenging but really good language, c++
javascript, java/kotlin, c#
pick ur poison
Scratch
Java, Java web, Java mobile or Microsoft Java 
yes
My friend who knows python and C# said thar c++ is pure hell
my profs can't seem to put programming knowledge into my head
wrong
its kinda funny at first but its relatively easy to pick up
H
I heard my tutor say that in order to pass the upcoming C++ course I have to be like very firm with C, which I unfortunately am not
I did just enough to pass the C course this semester
I'll just do a random.org lol
I love how they taught Procedural Programming here lol
I got bored after the first few lectures and skipped the rest
The practical training which gave credits had nothing to do with what was taught
Thank God they removed the written final exam, otherwise I would have been screwed
c++ streams are nice but very ugly to look at
had a convo with BD theme devs and my conclusion is I am likely to make a theme exclusive to Vencord 
I'm too inexperienced to deal with the fancy tools they have over there
Just don't talk to anybody who has to do something with bd
reddit try to use websockets challenge (impossible)
@timid hinge hey 0x hope ur having a good day!
the garlic-bread subdomain my beloved
😍
People who have nothing to hide don't hide their ip. Show it
Mine for example is 192.168.1.1.
I don't want to get swatted as a """joke"""
mine is ::1
this is true
Rekt. Penetration already in progress.
Oracle Cloud my beloved
I have a domain just for me IP
localhost
not even CIA can track this man
yip
approximate location btw
i have nothing to hide, here is my ip

I do lol
My 2nd niko plush is a secret
CGNAT hard carrying 😎
someone should make this but with CGNAT and dynamic IPv4 allocation
Hey so i'm new to this, but how do you change the text color of unread channels?
.modeUnread-3Cxepe .name-28HaxV {
color: WHATEVER YOU WANT HERE;
}```
if you want your own color instead of red or blue, try using "rgba(1-255,1-255.1-255,0-1
R for red, g for Green, B for blue and a for opacity because it just makes sense
I prefer my HSLA scheme
sup
can someone help me implement this theme on basic discord css classes?
@import url('https://mwittrien.github.io/BetterDiscordAddons/Themes/DiscordRecolor/DiscordRecolor.css');
:root {
--accentcolor: 114,137,218;
--accentcolor2: 255,115,250;
--linkcolor: 0,176,244;
--mentioncolor: 250,166,26;
--textbrightest: 255,255,255;
--textbrighter: 222,222,222;
--textbright: 185,185,185;
--textdark: 140,140,140;
--textdarker: 115,115,115;
--textdarkest: 80,80,80;
--font: gg sans;
--backgroundaccent: 56,56,72;
--backgroundprimary: 28,28,39;
--backgroundsecondary: 38,38,51;
--backgroundsecondaryalt: 56,56,72;
--backgroundtertiary: 48,50,62;
--backgroundfloating: 21,21,31;
--settingsicons: 1;
}
I'm not into it honestly
Hey, I have this file with a bunch of words, and a script that does some basic stuff to check if any word can have the last few characters replaced with a tld, and then creates a markdown file with a table of the domains and some providers it can grab from. The thing is, the file with the words is making my code add newlines for some reason, and I cant figure out how to remove these newlines. Attached are the words and the script. I would recommend against running the script, as it takes over 4 minutes on a 3.6GHz core
I think I figured it out
it was using \r instead of \n line endings
I was about to say, yeah
Time to wait 4 minutes
you might have better/more consistent work by splitting on whitespace with /\s+/
🫡
Right, ty
also instead of using regex to search for the end of a string you may be able to get more performance if you just used if (word.endsWith(tld)) as well as setting everything to lowercase ahead of time, with const TLDs = fs.readFileSync('./data/TLDs.txt').toString().toLowerCase()
Ty, will clean up now in a second
Yup, now my tables are fixed
Lowercased everything, using endsWith, lets see how it goes
was significantly faster woao
eyes
probably done
after double checking my cpu speed I actually have no clue if I actually improved the speed or not because for some reason my laptop cpu is 4.4ghz
fast laptop

i fucking hate windows
its not even used aby anything anymore :(
i cant delete it cause the terminal im using is using it??
mystery windows
cd out of the directory
i have look at the screenshot
.
iirc i had that problem and fixed it by just making a new shell
yes
but yeah big windows skill issue overall
(also what coreutils replacement are you using?)
the rust ones
understandable
silly vee, just don't use windows
silly they actually fixed all these bugs in windows 365 🙄🙄🙄 just use that instead
@flint oxide
the changing gradient was a bit too distracting for me so i changed it to profile primary gradient... but now ofc if someone doesn't have that set it doesn't do anything... do you know of any way around that
(for the pronouns stand out more css snippet)
oh maybe i should have made a thread for this
profile primary gradient hmm ...
there could be a distinction between themed profiles and non themed profiles
Yeah it looks really nice
if you know of any that would be awesome
I will try later
Do you have the code for that 
and they will change dynamically with my accent color
[class*=pronouns] {
text-transform: none;
color: var(--text-normal);
font-size: 16px; font-weight: 800;
padding: 0.25em 0.375em; margin: 0.25em 0 0 0;
border-radius: var(--modular-border-radius-secondary);
}
[class*=userProfileOuterThemed-] > div > [class*=userPopoutOverlayBackground-] > div > div > div[class*=pronouns-] {
background: var(--profile-gradient-primary-color);
}
[class*=userProfileOuterUnthemed-] > div > [class*=userPopoutOverlayBackground-] > div > div > div[class*=pronouns-] {
background: hsl(var(--primary-300-hsl)/1);
}
Tyty
This imploded again
hahahaha
Finally I managed to create a github pages repo 🥹
check #🎨-css-snippets for the updated ver from DaBluLite his is way better than mine
i for one am a fan of the gay-dient on the pronouns highlight thing
i saw it yeee
hmm
doesn't work with my theme
:/
neither one
and i was checking the html and it looks like the banner color is hard coded
huuuuuuh it worked for me 🥲
Get rid of the semi colon in the text box
nah
important can override it
I have an <@&1118512943106101309>mport in my quickcss that imports the discord color variables from the left, but when I also include the modified variables from the right into the same file and import everything at once, my theme breaks. Is there a reason behind that?
I want to import all the defined color variables so that what's left is this part for the user to customize:
That isn't my code ...
It was me screenshotting default discord code
ok
!important was one of the first things i tried. But primary gradient is set by my theme to be secondary alt. So it doesn't do anything. I need to redefine primary gradient like what aoi did maybe
But I'd want to redefine it to be like banner-color but that isn't an option
Is why I was asking
its not possible with banner-color
what is possible however is set the pronouns background to whatever my client background is
what are ya'll trying to do?
though i'm not sure why you would even want that in the first place
she was trying to set the pronouns background according to profile banner
this looks horrible
seriously
basically makes the banner useless
ikr
It'd only be for non-banner'd users
It'd look like this @rocky jackal ^
but then what if black banner
how would you know what font color looks better with which background\
the text inside would be illegible
Dude I don't think you can even grab the banner color at all
So this is pointless
you can't
Don't ask me
You're the one asking the questions here
You wanted to make this from what I understand
And it was proven impossible sooooo
I don't see a point in doing so
Dablulite's snippet is already the current best version
the client seemed a bit less laggy once i put all the code into one import file
I still need to clean the code for the next weeks or months so my potato laptop can run it smoothly
Can you not just set (In response to the pronouns thing, forgot to reply)mix-blend-modeon the text to difference or exclusion?
Oh, they're the same element. Yeah I'm not sure there's much you can do with that
anyone knows an easy way to migrate a DB data dump from MYSQL to POSTGRES?
I already created the same schema succesfully in postgres with sequelize. But the exported mysql tables' data is invalid syntax for postgres
you can use something like pgloader to import the data
i ran into a small issue with pgloader, it connects to my new remote postgres DB, but fails to connect to the local mysql DB which has user 'root' and no password. 
their documentation for the tool is really trash, (in my opinion) sadly. but i will try to fix this
you could always just try to change the password on your local db to make it work, make a backup of the mysql and just fiddle until it works
so you expect me to do what, have patience and debug things with common sense? very funny.
i will now search the internet for 5 hours trying to find an immediate solution and eventually give up and come back to solve the same problem in 5 minutes.
I did something funny on reviewdb back in the day
I exported everything as csv file from mysql
recreated tables and imported csv files
iimported how
you can import csv into postgres
ill either use pgadmin or convert the exported SQL data to postgres syntax
it tells me invalid syntax trying to run the SQL to insert the data
hmm
i have pgadmin i think i can do my importing through there easily ill try it
do
i think ill need to import each of the 12 tables manually but yes seems ilke this will work
ill just have to do it 24 times xd
hey besties
no
anyone wanna deobfuscate bingewatch.to so i can pirate without minor inconvenicnes
i dont even know what coding language that is
javascript
because it's a website
im forced to do static analysis for the first time in my life because they somehow blocked the developer console
i got this
idk how proper it is
its still slightly obsfucated
and probably ass
im clearly a pro
(i will kms)
just slightly
arent there tools for this?
cleaning the added obfuscation logic
can i somehow say "do this to all children of this element but not to the element itself" in css?
for example hiding everything in the server list but the server list element itself is still shown so i could do :after or :before to make something show there anyways? i feel like selecting every element specifically is something some devs might have thought about as being unreasonably complicated
.selector > *
I'm gonna give the user the ability to flip as many panels as possible 
comic sans
only valid font
looks like horror layout
thats impossible but i hope u have fun
Explod V2:
import definePlugin from "../utils/types";
import { Devs } from "../utils/constants";
export default definePlugin({
name: "Explosion",
description: "replace the \"discordo\" sound on startup with something a bit more interesting",
authors: [
Devs.echo,
Devs.FOXSTORM1,
],
patches: [{
find: "ae7d16bb2eea76b9b9977db0fad66658.mp3",
replacement: {
match: /e\.exports=n\.p\+\"[a-zA-Z0-9]+\.mp3\"/,
replace: 'e.exports="https://html-usrpfp.fatalfang.repl.co/explosion.mp3"'
}
}]
});
Useless Plugin:
import definePlugin from "@utils/types";
import { Devs } from "../utils/constants";
export default definePlugin({
name: "Useless Plugin",
description: "This plugin does nothing and is completely useless",
authors: [{
name: "FOXSTORM1",
id: 789872551731527690n
}],
patches: [],
start() {
},
stop() {
},
});
hello may i know where to get/what is the css class for the: channel name text of current selected/browsing channel, and the icon of current selected server? sorry if this is the wrong place to ask for this
ctrl shift i
ctrl shift c
click it
you can match the icon of the currently selected server like this:
div[class^="listItem"]:has(div[class^="pill"] > span[class^="item"][style^="opacity: 1; height: 40px;"]) > div > div > div > svg {
background-color: blue !important;
}
thanks
this matches the name of the currently selected channel
div[class*="modeSelected"]:has(div > a[href^="/channels/"]) > div > a > div > div[class^="name"]::first-line {
background-color: blue !important;
}
🫰🏿 thanks to both of you.
👍
this one also matches selected voice channel name
div[class*="modeSelected"]:has(div > a[data-list-item-id^="channels__"]) > div > a > div > div[class^="name"]::first-line {
background-color: blue !important;
}
those selectors are really bad
[class*="modeSelected"]:has(a[data-list-item-id^="channels__"]) [class^="name"]::first-line {
background-color: blue !important;
}
I would pay for a course of code optimization
css optimisation is very simple
usually, just make the selector as short as possible
don't specify the entire path, only specify what is necessary
> div > a > div > div
this is really bad
I see theme devs don't use attribute selectors / wild cards and those paths
it's because I usually read that path from the dev tools and copy them back
Im afraid skipping the path in between would not make the element work
using attribute selectors is more future proof but requires you to do more specific selectors
it's generally easier to hardcode classes, but more maintenance work
Honestly, idk how most of css works, i just enjoy writing selectors
If you see my attribute selectors for the chat bubbles you will say otherwise
It works but looks horrendous
Show them
wow
thats why I want to optimize this snippet
as well as many others that have long paths and wild card selectors
the worst of all worlds into one
tools bad
js deobf is shitty because js obf is usually shitty
omg madlad tyty
garry's mod!!!!
Looks a bit less horror now
(it broke)
random thought: is it time to add sourceto the POSIX shell standard
the dot is so unreadable
..it is posix??
no
If the command name matches the name of a utility listed in the following table, the results are unspecified.
[...]
source
[...]
nvm actually what
source and . arent the same thing tho right
they are
technically dash has source
so u could use it if u only care about dash
but like ksh or smth probably doesnt have it
alias source=.

#!/bin/sh
#define meow
#ifndef meow
cpp $0 | exec sh
#endif
# replace `source <script>` with `#include "path_to_file"`
use
@dull magnet
i hate arch
I'm unironically going to do that with all my shell scripts now
wait what
it'll be like use strict or whatever the fortran people do
sh
i dont even have dash
idk what shell this is
it doesnt seem to be dahs,i dont have it either
no
😭
bash emulates that when called as sh
rini ~ % sh
sh-5.1$ echo $SHELL
/bin/zsh
amazing
bruhhh
zsh also does that
i didnt know it did that by default tho
lol
so if you invoke bash via sh it enters sh compat mode
but ... why?
to be posixly correct or
yea it makes it posix
yes but bash is already posix complaint, no?
bash is a superset of psoxi
tbh i wish fish was the same as bash
so annoying having to go into bash to do anything interesting then go back to fish for syntax highlighting
zsh will add an option to emulate bash so i can nuke bash
virus
there is currently a dangerous computer virus called "nix" running rampant. if your child is talking about or using "nix", you should contact the fbi immediately and let them know your child is an evil "nix" hacker
no
/bin/sh will never be real
there is no *one* sh
it will always be a symlink to some other shell
/bin/sh will almost always be either
- bash (arch, RHEL stuff, etc)
- dash (debnyan/ubuntu)
actually might only be debian
idk about ubuntu
technically dash is way faster than bash so you might want to manually replace /bin/sh with dash for better system performance
but it also means that many scripts will break because people are monkeys and use bash only features in /bin/sh shebang scripts
the world if people just used C as a scripting language like it was intended
i was gonna say i'm 99% sure ubuntu also has bash as /bin/sh
well fuck me
^ every nix user
nix
4x
but i didn't change because of the reason you mentioned
🐒
same the only issue I have is no AUR which is the only reason i use arch 😔
I personally changed to dash on my arch machine and have almost never run into issues
what the fuck is dash
is there a way to change the scroll bar size without changing the whole chat scroller size
is there a way to "disable a setting base on another setting" like this but for const settings = definePluginSettings({...}); instead
how
can't u just settings.store
it explod
Block-scoped variable 'settings' used before its declaration.
make it a function
aren't there only like 100 repos or something 😭
☹️
nix needs to be loved ❤️
even larger than aur or are we not counting that
also are all the arch official repos counted separately
sheesh
Is anyone here familiar with PlanetScale or Supabase?
Does the $25 and $29 plan include only one or 2 databases?
If I create one DB per project I sell to a customer, am I limited to 1~2 DBs in this plan? I want to deploy the same exact project to multiple customers, each project connected to their individual DB. Pretty small read/write usage.
I see nowhere talking about the DB amount limit, but it does seem like I can only create 'one project' or 'one org,' which means one or 2 DBs max... or am I misunderstanding?
I thought that with the paid plan, I could create as many DBs as I needed, as long as the read/write usage is still within the plan limit, and get charged if over the max.
the planetscale 30 dollar plan
u get 2 production dbs and 1 dev db
and no its not as many as u need, u pay that $29/mo per each project
atleast for planetscale
oh pscale has 2 prod and 5 dev dbs
do you know wtf is the difference of 'dev dbs'
can i just use that shit in production
yea dev dbs have no replicas or regional replicas
so they're higher latency
ill have to make my app multi company so i can use one db
and also since they have no replicas connections fail pretty often
so you're saying i can do it and save money and deliver a shit app
sounds good to me
u can also just make another email
true but i think the best idea for now is making my app multi-customer and use 1 db with the paid plan which gives better performance
cuz i know if using the paid plan it queries faster cuz it uses better cpu and stuff
is that true
actually i think ill start by deploying on free tier like u said cuz i think it really wont reach any limitations
free tier is crazy
the only thing is u might want to do some sort of keepalive table
the app is used everyday you think it would pause it sometime? how would you suggest doing that, write every hour?
the way i do it is with a github cron job
if its used everyday probably not
it takes 7 days of no queries to go to sleep mode
i do a write every day tho
can somebody explain how the patch system works, am i to look at discords webpack or something?
nvm found what i was looking for
damn thanks I didnt even have to ask
is there an easier way to do this
to make the horizontal server list be aligned at the bottom
#app-mount .guilds-2JjMmN {
transform-origin: bottom left;
transform: rotate(4deg);
/* height: 100vw !important; */
/* top: var(--server-container); */
/* bottom: unset; */
position: absolute !important;
left: 0;
background-color: gray;
}
the css to change position of server list
so that'll leave servers that are not in the whitelist
hmm
ill just manually do it ig lmao
simply putting the ones i want to keep in a folder, and same thing for the ones i want to leave
then just open the leave one and mass leave
horror python
can you get banned for using fakenitro?




