#🪅-progaming

1 messages · Page 5 of 1

surreal condor
#

people screenshot dark mode screens and proceed to reveal face bc it acts as mirror

glacial mirage
#

so funny how this actually almost entirely works with strings

still jolt
#

if only the requirements had versions....

winged mantle
#

i avoid all .uk links

#

(virus risk)

royal nymph
#

i avoid all links

#

(virus risk)

still jolt
#

oh god, imagine a userplugin that would put all codeblocks through that thing before being sent

winged mantle
#

send all your messages as codeblocks like scammers 😍

Hi I am Discord suppor.t
Please reply with your account credentials or your account will be delete in 30 day.
viscid grove
#

omg is your account ok?!?!
is it going to be delete in 30 day by Discord suppor.t?!?1!?1!!?

delicate sinew
normal totem
#

i avoid all viruses
(link risk)

torn vortex
still flax
#

Hey, not sure if this is the right place for this, but can someone give me some tips on how to improve this sorting algorithm? Thanks :D

from random import shuffle, randint


def very_fast_sort(sortee: list[int | float]) -> list[int | float]:
    remains = []
    iters = 0
    while True:
        index = 0
        while index < len(sortee) - 1:
            if sortee[index] > sortee[index+1]:
                remains.append(sortee[index])
                sortee.pop(index)
                index -= 1
            index += 1
        if sortee[-1] < sortee[-2]:
            remains.append(sortee[-1])
            sortee.pop(len(sortee)-1)
        if len(remains) == 0:
            print(iters)
            return sortee

        insert_idx = randint(0, len(sortee))
        shuffle(remains)
        sortee[insert_idx:insert_idx] = remains
        remains = []
        iters += 1
magic shale
#

i gotchu

import random

def is_sorted(arr):
    return all(arr[i] <= arr[i+1] for i in range(len(arr)-1))

def very_fast_sort(lst):
    while not is_sorted(arr):
        random.shuffle(arr)
    return lst
glacial mirage
#

bogos sorted aliening

finite isle
formal belfry
#

Lol

#

💀💀💀💀

viscid grove
#

I don't get it

#

is it the yf z msg?

#

@ ing antonis?

full plover
#

how to hide the little "Create Invite" button next to the channel name

dawn ledge
#

css

full plover
dawn ledge
#

quickcss

#
div[class*=children_]:has(div[aria-label="Invite to Server"]) {
    display: none;
}

div[class*=children_]:has(div[aria-label="Create Invite"]) {
    display: none;
}
full plover
languid tide
full plover
dawn ledge
#

works on my machine

languid tide
#

same

full plover
#

someone really needs to make plugin regarding to this

languid tide
#

maybe you're putting the css in the wrong place

full plover
languid tide
#

it is enabled right?

full plover
languid tide
#

the toggle below that button i think

#

oh wait no

dawn ledge
full plover
# dawn ledge

Thank you, enabled it. Working fine.
Also thanks @languid tide

balmy lintel
#

bye bye support helper

spark raft
balmy lintel
potent cloud
# dawn ledge

what theme do you use for the light mode (or is it just the normal light mode?)

potent cloud
#

ok

#

sorry for pinging you

blazing haven
#

LOL bookmarked

finite isle
glacial mirage
finite isle
#

i'm not a girl, i'm an AbstractFeminineEntityFactory

long stream
#

please get me a new AbstractFeminineEntityFactory()

potent cloud
#

I can't enter support cuz of my fork 😭

#

can't even help other people

potent cloud
#

working now

finite isle
#

@native spruce can i do this on my iphone with jailbreak

blazing haven
blazing haven
#

lol

#

they actually added an option for it

#

set oldundo

strange obsidian
strange obsidian
#

obligatory xkcd

supple acorn
#

I guess asking third-party plugins injections support in #🏥-vencord-support-🏥 in prohibited, can I ask it here than?
The https://github.com/Vendicated/Vencord/blob/main/docs/2_PLUGINS.md guide says I need to "Create a folder in src/userplugins/", is it means in the downloaded source code or where?
Where do I need to run "pnpm build"?
I can't figure it out do I have to build Vencord for third-party-plugins usage/creating or not? It appears to be true, but Fafa said plugin creating here is same as with BetterDiscord (where I can just put my code in the plugins folder and it just works)

balmy lintel
#

i didn't exactly say "its the same", it's the same as in dropping files in a folder*

native spruce
#

you git clone vencord, do all the changes you wanna do, then run the commands provided in the markdown file

#

Then point your vencord install to that dist directory or something similar

balmy lintel
formal belfry
#

Uh

#

I wanna create a plugin but the example plugin GitHub thing is kinda confusing.. it’s a very simple idea, I don’t have TS knowledge only 5 years of programming in lua python html css js and vue which is recent, can I get a bit of assistance to achieve my goal?

supple acorn
balmy lintel
supple acorn
balmy lintel
#

youd run them in your cmd/terminal whatever youre using

#

explained in the link ive sent above as well

supple acorn
#

Yeah, thanks, it much more clear for me now

formal belfry
formal belfry
#

Figured it would be a simple for loop and some command to get rid of the html elements out of the dm

balmy lintel
#

you could probably fetch the messages of the dm and then remove the elements

#

might want to ask someone more advanced in that area though

formal belfry
#

Shit

#

Is their docs?

balmy lintel
#

for creating plugins?

formal belfry
balmy lintel
#

i only know of the md files, dont think there's an actual documentation

formal belfry
#

It just is something about string replacement

#

Might have to just write a JavaScript function to do it

deep mulch
#

@royal nymph you made Golang what would be best

#

im making adb logcat tui

#

do i make thing to interact with the socket directly

#

or

#

use adb cli

#

i didnt see any lib for go that adds adb stuff

#

oh

#

nvm

royal nymph
deep mulch
#

@royal nymph blobcatcozy

royal nymph
#

tbh cli should be fine too

#

but yeah thats better

deep mulch
#

im using charm libs

#

they look prettyy

formal belfry
#

Glamorous glamorous OuH ouHhh

finite isle
languid tide
#

what if

#

the discord servers move you to a vc when you aren't in one

balmy lintel
mellow phoenix
finite isle
rustic turret
#

Would that...work?

#

can someone move you to a vc in their server when you're in a different servers' vc?

languid tide
still flax
#

i don't think that works

mellow phoenix
still flax
#

i am not, please enlighten me

mellow phoenix
steel canyon
#

Ok as this wasn't quite clear to me initially, I will put this for discord search
In order to see the state of whether the current client is in VC, you use the VOICE_CHANNEL_SELECT event, it tells you both whether you connect and/or disconnect from the voice channel (by checking if currentVoiceChannelId is null then you would use channelId to get the voice channel id, if currentVoiceChannelId is not null when the event is fired, it appears to be a disconnect event (a little confusing to me which is also why I am documenting it, I can see how to determine it, just I feel like I'd do the opposite, on connect currentVoiceChannelId should be set and on disconnect, it should be null but I am sure there is some reason they did it the other way

#

Ok there is also VOICE_STATE_UPDATES which fires for both local (the local client, you) and external voice chat joins, and you can figure out whether it is connect or disconnect in a similar way, if channelId is populated, it is a connect, if it is null, it is a disconnect, even more straight forward than VOICE_CHANNEL_SELECT (imo)

languid tide
#

my brain is fried

#

thnakn you nyaboom

steel canyon
#

I am sorry 😦 what fried the brain?

#

Also it appears that the subscribed events do not have a data type I could find in Vencord source so I guess FluxDispatcher events come from elsewhere but it is fine, as with JSON.stringify, I can see the structure and get what I need without the exact type although I don't know if that is best practice (looking at the other subscribe examples though, the type is not specified/any for them as well

steel canyon
steel canyon
#

Oh I see actually, they define the type themselves (in VCNarrator), so either way is fine but the flux property seems like a simpler way to go about doing it

#

Ohhh, they modeled the interface of VoiceState themselves

royal nymph
#

what are u even saying

#

flux stuff are events from discord

#

if you want them typed u need to manually create a type :3

steel canyon
#

Yeah, I noticed that in the other plugin, I don't normally program in NodeJS nor am familiar with the electron side of things (FluxDispatcher from WebPack (according to import) so maybe WebPack side of things) so it was fun figuring it out as I went

royal nymph
steel canyon
#

It is alright I didn't perceive it as such and yeah with a lot of long messages, I don't blame the response xD

#

Essentially, I noticed after quite a bit of nothing getting sent back from arRPC that it was missing some things, it doesn't inform the client (probably because if it did send back a response like not implemented, could break some RPC apps) so I am looking into implementing some more things into ARRPC, mainly Voice channel related things, I stumbled upon the bridge plugin and figured that is where I need to modify to first send the data along the bridge and then modify the ARRPC server code to potentially store and then implement the response for the CMDs so then I can use those endpoints and help ARRPC to become more complete

#

So I am currently on the vencord ARRPC plugin side of things

royal nymph
#

you want to add additional rpc stuff to arrpc?

steel canyon
pearl stagBOT
royal nymph
#

you wouldnt need to edit the plugin

#

you'd first need to edit arrpc itself

steel canyon
#

Oh... I would need to modify the bridge anyway right? As my thinking was going in a straight line from client sending data to ARRPC, ARRPC reading the response, ARRPC (probably) storing the response and then on GET_SELECTED_VOICE_CHANNEL for instance, sending the last response from the bridge to the RPC connection

buoyant trellis
#

why the ... in c++ if (x>0){x--} works correctly when x is int32_t but not when x is int64_t

dawn ledge
#

what

buoyant trellis
#
uint64_t n=2;
scanf("%d",&n);

works

uint64_t n;
scanf("%d",&n);

does not

#

initialising n that is initialised anyway by scanf fixes it

still jolt
#

aight well I made a plugin out of that, and it's only a little choppy

median root
#

yo im tryna make a text rplace plugin, its going fine so far but i need help getting the reactions to work

#

cuz having it react using:

["a", ["\uD83C\uDDE6"]],
["b", ["\uD83C\uDDE7", "\uD83C\uDD71"]],

doesent seem to work

#

but using symbols:

©

does

#

im using this:

window.Vencord.Webpack.findByProps("addReaction").addReaction(channel.id, message.id, { name: reaction, animated: false });

buoyant trellis
#

you probably need to use reaction name/id, not the symbol it represents edit: actually discord uses emojis as names

median root
buoyant trellis
#
  1. write Vencord.Webpack.findByProps("addReaction").addReaction in devtools
  2. right click-> show function definition
  3. set breakpoint
  4. react with what you want and observe the results
#

wait they really use emojis as reaction names

#

why

#
Vencord.Webpack.findByProps("addReaction").addReaction("1223973149222375536", "1238620501346353332", { name: "\uD83C\uDD71", animated: false });
``` works perfectly for me
buoyant trellis
median root
#

great so its my coding error how fun

#
function convertToRegionalIndicators(text: string) {
    const regionalIndicators = new Map<string, string[]>([
        ["a", ["\uD83C\uDDE6"]],
        ["b", ["\uD83C\uDDE7", "\uD83C\uDD71"]],
        ["c", ["\uD83C\uDDE8", "©"]],

         let result = ''; // Initialize an empty string to store the result

        // Iterate through each character in the input text
        for (const char of text.toLowerCase()) {
            // If the character has a corresponding regional indicator symbols, append them to the result
            // Otherwise, append the character itself
            const emojis = regionalIndicators.get(char);
            if (emojis) {
                result += emojis.join('');
            } else {
                result += char; // Append the character itself
            }
            console.log(`Character: ${char}, Converted: ${result}`); // Log the conversion result
        }

        return result;
    }

const handleConfirm = () => {
        const channel = ChannelStore.getChannel(message.channel_id);
        const regionalText = splitText(inputText);
        const reactionList = regionalText.split('');
        reactionList.forEach(reaction => {
            window.Vencord.Webpack.findByProps("addReaction").addReaction(channel.id, message.id, { name: reaction, animated: false });
        });
        onClose(); // Close the modal
    };
#

this isnt the complete code

#

i just added enough so that you get the jist

buoyant trellis
#

first of all, you spam a lot of request

#

this will end in at least a ratelimit and at worst account termination

viscid grove
median root
buoyant trellis
#

im not sure about js behavior, but split("") may split it into separate codepoints thant don't create a valid character on its own

median root
#

well so far from my testing characters that are represented by a special character in the list actually get through

#

the characters seem to get recorded as I have seen in the console

#

its just the reactions are weird

buoyant trellis
#

const channel = ChannelStore.getChannel(message.channel_id);
//...
... channel.id ...
do you search for channel via its id just to get its id?

median root
#

I get it from this bit:

message: msg,
                channel: ChannelStore.getChannel(msg.channel_id),
#

which happens inside the asnyc start function

#

inside definePLugin

royal nymph
#

you want ```diff

  • string.split("")
  • [...string]
median root
#

i stole that bit from the husk plugin since i figured it would help

#

like this?:

const reactionList = [...regionalText];
royal nymph
#

first of all why are you appending it to a string in the first place, just use an array

#

second of all you can only react with the same emoji once

#

thirdly why do you specify it as codepoints

median root
#

yeah i have another window ready for that error handling

buoyant trellis
#

there is unused function convertToRegionalIndicators and nondeclred function splitText

#

third of all this is sending requests in a loop

median root
median root
#

it really doesent do much

median root
royal nymph
#

tbh ur code doesnt make a lot of sense

#

this entire immediate function isnt really needed

median root
#

yeah most of this is remanants of some other old thing which i couldnt be bothered to delete

#

so half the functions arent named aptly

royal nymph
#

no im saying

#

why do you need this intermediate function

median root
#

i... honestly dunno

#

it is useless

#

i just repourpoused it from some other rewrite of this

winged mantle
#

it's affectively splitText = convertToRegionalIndicators

#

😵‍💫

median root
winged mantle
#

you're banned from javascript /j

median root
#

well after some more error handling it will work or should i remake it into an arrary first...

unique steeple
#

Hi, I wanted to make a plugin that lets me quickly toggle the connections such as "display spotify as your status" with a simple button, but the problem is I don't know if there's an easy way to just switch it using built in vencord functions or if I have to use the discord api to change it

unique steeple
#

very unsurprisingly it didn't work the first try, is there a faster way to test it without needing to rebuilt the entire vencord?

#

wait what it might've actually worked an i'm just stupid

balmy lintel
#

you can just do watch instead of build

unique steeple
#

ok i'm just stupid nvm

unique steeple
#

It's fully working, I just don't know what icon to use on the button

deep mulch
#

@royal nymph @royal nymph what would you use to represent logcat lines in go

#

bytes.NewBuffer has no size limit

#

like 10000 lines at most, configurable

royal nymph
#

array

deep mulch
#

oh

serene elk
#

@royal nymph how can I make this include call signatures

export type ProxyInner<T = any> = {
    [K in keyof T]: T[K];
} & {
    [proxyInnerGet]?: () => T;
    [proxyInnerValue]?: T | undefined;
};
#

I can't do T & {...}

#

because if it's any you lose ProxyInner

royal nymph
#

t & is what you want

serene elk
#

😭

#

fucking any

royal nymph
#

try using unknown instead of any

#

actually nah that sucks lmao

#

i mean why would anyone care about those internal properties

serene elk
#

unknown is horrible

serene elk
#

but for the person to know they are working with a proxy

royal nymph
#

delete from typescript

#

bad type

serene elk
#

hmm maybee

#

didnt work :(

royal nymph
#

wdym didn't work

#

you're not specifying any type

#

oh i see

serene elk
#

yes but I want it to be ProxyInner<any>

#

with objects it works fine but it doesnt work with functions

#

there is probably a cursed way to make this work but 🤷

royal nymph
#

ig any technically extends anything lol

serene elk
#

😔 true

royal nymph
#

if you haven't figure dit out by then

serene elk
#

imagine if chat gpt cooks

#

(it will not)

#

wait...

#

a fuck

#

please have what I want type-fest

#

I never doubted you

#

hmm wait.....

#

WAIT I COOKED I THINK

#

@royal nymph

#

LETS GOOOOOOOOO

royal nymph
#

xd

serene elk
#

type fest helped so much

#

oh fuck me

#

now there are other issues

royal nymph
#

u got this

serene elk
#

another time

#

the issue now is this

royal nymph
#

yeah cause it's not callable

serene elk
#

yes

#

😭

crisp root
#

why did chat get closed 😭

serene elk
#

maybe I just to modify it

#

wait it's easy I think

royal nymph
#

AnyRecord & (...args: any[]) => any;

crisp root
serene elk
#

easy

serene elk
royal nymph
#

trolley

serene elk
#

ggs

#

we win

royal nymph
#

i hate that eslint deprecated all the formatting stuff

#

eslint fork to continue them

deep mulch
#

i wonder if i should just get the complete raw logcat then process on the pc rather than passing formatting arguments to logcat command

dim cave
#

like im not even joking

#

it has actually done more harm then good

nimble bone
alpine pecan
#

what harm

nimble bone
#

closing general chat for a month is stupid

#

"Dear Vencord community members, we are happy to announce that if you dont grind this chat for days on end then f off you only have support and programming"

spring pilot
dim cave
#

now that is being taken away, and i no longer have access to talk to people who are like me

cerulean plover
#

hot take

dim cave
#

I can say something in offtopic and 90% chance most will agree with it

cerulean plover
dim cave
#

true

cerulean plover
nimble bone
#

we need to do a revolution

spring pilot
cerulean plover
#

automod too strict

nimble bone
#

overthrow the janitors

#

and take over veecord

cerulean plover
#

blobcatcozy real

dim cave
#

its like actually just segregation

alpine pecan
#

feel the sunray please

dim cave
#

i do

#

a lot, actually

nimble bone
#

its 4am
too lazy to go outside

alpine pecan
#

comparing a discord server to segregation s genuinely insane

cerulean plover
#

womp womp

nimble bone
#

i mean
with the way some regulars treat whitenames

dim cave
#

however i have no friends in real life due to not having inperson school or anywhere to go, so to make up for it, discord is a place for me to make friends

cerulean plover
nimble bone
#

vvotebrainrot

dim cave
#

vendor is the ONLY place that has people who are like me

nimble bone
#

yeah true

#

same

dim cave
#

by the time may is over, most likely me and many others will have gotten over talking here and would be moved on

cerulean plover
#

yop

nimble bone
#

yeah

nimble bone
dim cave
#

and the actual stupid thing is that there still is chats

cerulean plover
#

not even joking but mod abuse seems to be a part of the server identity

nimble bone
dim cave
#

but if you don’t speak another language or don’t have a special role then fuck even trying to talk in them

dim cave
#

i have those chats muted and hidden because i cant even use them

#

translators arent even allowed iirc

nimble bone
#

yea same

dim cave
#

i may be just ‘a whitename’ but i actually had friends here

cerulean plover
#

vee should just introduce "no real-name rule"

nimble bone
#

you should've been made regular a few weeks ago

cerulean plover
#

agreed

dim cave
dim cave
nimble bone
#

we cant force them

#

(hopefully the leveling stuff vee's been talking about for long time comes soon)

dim cave
#

(it won’t)

#

its ironic how the programming chsnnel has to be used for this

#

havent several regulars said smth about this or was it just you

still jolt
#

programming = off-topic lol

dim cave
#

atp yeah

still jolt
spring pilot
#

Fr

alpine pecan
#

this is so deranged for the record

dim cave
#

the only time we’ll get a truly non-offtopic server is if they remove every public chat except support

still jolt
#

support will become off-topic

dim cave
still jolt
#

it kinda is sometimes

alpine pecan
#

shawty you can dm

#

the lock is stupid

#

but it is not that serious

cerulean plover
#

you have privilege

alpine pecan
#

they way you treat a discord server like a fucking country is insane

alpine pecan
#

holy fucking shit

dim cave
#

managing a 1 on 1 dm conversation is a lot harder then a group conversation in a server

still jolt
dim cave
#

it’s not my fault i miss the people i used to talk to???

#

i’m sure you do too, considering you used to talk there aswell

alpine pecan
#

i said the lock is stupid but comparing this to segregation and "privilege" is really crazy

#

"whitenames" "regulars" "higher ups" what in the fuck

dim cave
#

YOU LITERALLY MADE THOSE TERMS

#

AND IF YOU DIDNT YOU USE THEM ???

alpine pecan
#

who's we?????? why are you lumping me with anything?????????

runic sundial
dim cave
runic sundial
#

this is the best I could do to help

dim cave
alpine pecan
#

just what

#

i'm done with this convo

dim cave
#

is fawn not like vees girlfriend or something i swear theyre important or some shit

formal belfry
runic sundial
#

personally I have no idea

#

im just here for the VenCoin

cerulean plover
#

fawn so privileged

dim cave
#

well i mean i just looked and found out they dont have janitor role

#

so um

nimble bone
dim cave
#

special role but no donor aswell

cerulean plover
#

feels like they are

runic sundial
nimble bone
#

but sometimes feels like OG members (usually from aliu) are "higher" than newer members

runic sundial
#

this puts you into quite a pickle!

dim cave
cerulean plover
alpine pecan
#

it's a discord server genuinely seek help

runic sundial
#

We might have to pickel you

#

you will be the new pickel rikc

cerulean plover
dim cave
#

(at all)

alpine pecan
#

yea i'm so privileged to understand this

cerulean plover
#

yes

alpine pecan
#

jesus christ

cerulean plover
dim cave
#

fawn i do not think you understand what i mean by this whole conversation

alpine pecan
#

priveleged for having a role i msde it in life

formal belfry
runic sundial
formal belfry
cerulean plover
#

WHAT when people with privilege literally do not get the point of the conversation because they aren't affected and have no empathy for those who are

alpine pecan
#

you are insane

cerulean plover
#

nuh uh

alpine pecan
#

peak first world problems

runic sundial
#

what privilegde even?

#

I kinda didn't read before joining the convo, I thought this was about offtopic being shut for may

cerulean plover
#

it is

dim cave
#

i am not a person who has many friends and i do not have anywhere to go in real life. vencord’s discord server was a place for me to talk to people who were like me and who enjoyed my presence. now that has been taken away for a long time, and it’s reasonable why i am angry about it because it is literally the only fucking people i talk to being taken away

if you want to be mad at something, go be mad at the government

cerulean plover
#

@alpine pecan how would you feel if you were banned from vencord chat

dim cave
nimble bone
alpine pecan
#

????

#

bye

#

seriously bye

nimble bone
#

just saying Dtrolley

halcyon spire
#

why are yall hating on fawn

runic sundial
dim cave
#

fawn is hating on us

cerulean plover
dim cave
#

also inb4 i get punished in some way

nimble bone
#

shouldn't happen

runic sundial
#

Very much doubt it

cerulean plover
dim cave
#

i mean im the entire reason this chat derailed so like

formal belfry
#

Why husk that

cerulean plover
#

real

formal belfry
#

Bru

nimble bone
#

these gifs look insane

dim cave
#

yeah i’ll probably atleast get a mute

cerulean plover
#

u not on facebook

edgy frost
#

husked

#

gg

dim cave
#

true

formal belfry
dim cave
#

thats true

cerulean plover
#

btw if you wanna talk to me in dms at any point you are more than welcome to @dim cave

dim cave
#

!!

runic sundial
#

do not dm me unless you want to learn OpenGL

cerulean plover
runic sundial
runic sundial
#

I have GLBrainRot

dim cave
halcyon spire
#

🤫🧏‍♂️ ** **

nimble bone
#

explode

#

stop sending mewing gifs

runic sundial
#

I am the opposite of the MC modder who will say "OptiFine not supported"

nimble bone
#

mewing so bad

formal belfry
formal belfry
cerulean plover
#

yop

nimble bone
#

mewing ideology is so huskable

dim cave
cerulean plover
#

wtf even is mewing

nimble bone
#

lc.google mewing

visual shellBOT
halcyon spire
#

pressing your tongue on roof of mouth

cerulean plover
#

wtf does this even do

halcyon spire
#

meant to make jawline more defined

nimble bone
#

make your jawline good

halcyon spire
#

gen alpha stuff

cerulean plover
#

tiktok beauty hack

dim cave
dim cave
#

it looked painful

runic sundial
dim cave
#

true

halcyon spire
#

jeepers!

dim cave
#

zoinks!

dim cave
#

if u really tnink sbout it

#

thats a stickman celebrating

formal belfry
#

I like batman

dim cave
#

me too

formal belfry
#

Who wants batman gifs

dim cave
#

me

formal belfry
#

I send you

#

In dm

dim cave
#

didcord mobile ui sucks

#

cannot locate dm

formal belfry
#

O

dim cave
#

all i have is shiny ping

formal belfry
#

Fuck

#

I sent like 20 alrdy

dim cave
formal belfry
#

Check it :)

#

It's prolly bcs i got sent to message requests

dim cave
#

ih

#

can discord remove this feature forever

formal belfry
#

Real

dim cave
formal belfry
#

:)

cerulean plover
dim cave
#

HOW

cerulean plover
#

on desktop at least

#

ignore the retroactively part it gives you a prompt to do it if you want

formal belfry
dim cave
#

i have that on

formal belfry
#

Make css

#

To hide it

formal belfry
dim cave
#

i am on ios and cannot jailbreak :(

formal belfry
#

Nooooooooooo

#

Sad

runic sundial
#

ios? more like cri-os

formal belfry
dim cave
#

i want to swirch to sndrid.o

formal belfry
#

Ik this isn't the place but i couldn't find anything on google and firefox support,

maybe someone here knows?

in google and in other browsers when you have multiple tabs in a container you have an option to minify all tabs in the container.
is there a similar feature for firefox,

thank you!
https://assets-prod.sumo.prod.webservices.mozgcp.net/media/uploads/images/2024-05-10-23-50-30-ed642e.png
https://assets-prod.sumo.prod.webservices.mozgcp.net/media/uploads/images/2024-05-10-23-50-10-eff1b0.png

still jolt
#

afaik no, you can use something like Simple Tab Groups if you just wanna hide it away

#

there maybe is some addon that would also allow you to minify it, but I doubt that, you can always search AMO if you wanna see

formal belfry
#

A

#

I see

#

Thanks

viscid grove
#

Vivaldi does have tab groups, but I think google chrome's tab groups are the best

#

I still don't have a browser I like

#

Google chrome is really nice and has useful features, but it lacks customizability

still jolt
#

Vivaldi is still chromium lol

viscid grove
still jolt
#

yeah that's true

viscid grove
#

wtf was the italic font changed

still jolt
#

probably yeah

#

idk they do look different, I got used to it after a bit of italics and bolds

viscid grove
#

vivaldi is very customizable, but a bit rough around the edges and lacks a few features

#

but has more useful features than opera gx

#

opera gx has a bunch of gimmicky features

runic sundial
#

i use CHROME

#

GOOGLE.

#

CHROME.

still jolt
#

is there something that fires when you change the config of a plugin without restartNeeded ;-;

runic sundial
#

If you're gonna use CHromium

#

use the real thing

still jolt
potent cloud
runic sundial
#

used it before, had issues

#

no issues with the og

blazing haven
#

use firefox stop supporting chromium based browsers Bonk_HK

still jolt
#

just wanted to ask how bad of an idea it is to git pull and rebuild both Vencord and Vesktop every time I run vesktop

edgy frost
#

very bad

grand garnet
#

Epic 30 second startup every time but sure

alpine pecan
#

why when there's already an updater

#

for vencord at least idk why you are building vesktop yourself

potent cloud
#

nvm

#

didn't read husk

blazing haven
#

(this message has been sponsored by Gentoo Linux)

still jolt
#
#!/bin/bash
cd /opt/Vencord
git pull
pnpm build --dev

cd /opt/Vesktop
git pull
pkill electron
pnpm start --dev & disown
dawn ledge
#

now watch as you make a local change and get conflicts

#

git pull failure

#

set -eu blobcatcozy

still jolt
#

that's fair

dawn ledge
#

lmao

royal nymph
#

oh that's amazing thanks

royal nymph
buoyant trellis
#

And survives mine 2k+ tabs

still flax
#

there's also the tree style tab extension

buoyant trellis
#

i have both, tree style tab is similar but with much less functionality

median root
#

yo is there a place where i can find a list of possible patches?

cerulean plover
#

you just need to learn how to do make the patches

median root
cerulean plover
#

finding where to patch is fun

#

basically you open the search panel

#

and type random related strings into it

median root
cerulean plover
#

yes

#

like this box

#

when you find a = n("number") you search that number to find where the webpack module is

#

do this to find things like related react components

median root
cerulean plover
#

press escape in devtools

#

if it doesn't then go to that menu in the screenshot

median root
#

oh found it

#

god am i meant to read this code?

cerulean plover
#

Yes

#

Good luck

#

To make sure your regex match doesn't explode later you should use \i instead of hardcoding the random variable names

#

This button is also very helpful

#

Make sure to turn off when copying to make patches though

median root
cerulean plover
#

this is regex

dawn ledge
#

learn regex

cerulean plover
#

read a regex tutorial

#

note that the \i is nonstandard

#

if you want the same effect in a regex helper tool, use [A-Za-z_$][\\w$]*

#

also here is what that patch looks like (before and after)

median root
#

well i have a feeling this is gunna take a while

#

thanks for the help

deep mulch
#

@frosty obsidian

#

havent decided whether to format using adb logcat cli options

#

or to take the raw output and format in go

royal nymph
#

so u can reformat old lines too

deep mulch
#

okay

#

im slighty confus on how to do this cause the raw complete output uses 2 lines and a newline between each entry

#

current code expects each entry as one line

royal nymph
#

do u use cli?

deep mulch
#

yop

royal nymph
#

werent u gonna use that library

deep mulch
#

it doesnt have logcat and the shell command methods dont work with interactive like logcat

#

so veepy

wheat kernel
#

veepy

finite isle
#

@deep mulch will you use julie app

deep mulch
#

@royal nymph how do I make fake windows that will display on top of the logcat

#

with bubbletea lib

warped rover
#

question

#

if i put userplugins folder in src in vesktop

#

does that work

balmy lintel
#

this uhm

#

pretend you didnt see my skill issue right there

warped rover
#

.

#

so uh

#

that didnt work

#

so where does it go..

balmy lintel
#

looks like vesktop just downloads the latest release of vencord

pearl stagBOT
# balmy lintel https://github.com/Vencord/Vesktop/blob/main/src/main/utils/vencordLoader.ts#L45...

**vencordLoader.ts: **Lines 45-57

export async function downloadVencordFiles() {
    const release = await githubGet("/repos/Vendicated/Vencord/releases/latest");

    const { assets }: ReleaseData = await release.json();

    await Promise.all(
        assets
            .filter(({ name }) => FILES_TO_DOWNLOAD.some(f => name.startsWith(f)))
            .map(({ name, browser_download_url }) =>
                downloadFile(browser_download_url, join(VENCORD_FILES_DIR, name), {}, { retryOnNetworkError: true })
            )
    );
}
warped rover
#

oh wait so i just inject into vesktop then?

balmy lintel
#

no clue, never tried it with vesktop ¯_(ツ)_/¯

#

just try and see

drifting cloak
balmy lintel
#

oh you can change the location

#

that makes it a lot easier blobcatcozy

warped rover
#

got it

#

thanks

frail turtle
#

guys im making a stardew valley mod eewee

ionic lake
#

stardew valley is a autism trap

#

poured hours into the game and still do

blazing haven
#

or factorio

ionic lake
#

minecraft sucks

#

the game was ruined for me after all this drama and tasteless updates

#

factorio also is a autism trap yes

#

I have like thousands of hours into it

blazing haven
olive niche
#

modding community "ruined" mc for me lol

#

not really cause idc about their stupid drama but every time it comes up its like cmon

languid tide
calm ruin
#

I love the game idc abou the stupid drama those people can fight each other as much as they want

ionic lake
#

yeah I didn't care but they sometimes do have a point I agree with

#

and I get consumed in that

calm ruin
#

what point

dawn ledge
#

why is Omit defined as

type Omit<T, K extends string | number | symbol> = { [P in Exclude<keyof T, K>]: T[P]; }

instead of

type Omit<T, K extends keyof T> = { [P in Exclude<keyof T, K>]: T[P]; }
formal belfry
#

This is going to be such a stupid error i know it,
im making a python script using pytube to downlaod yt vids from it's link, i have succeeded in doing so but it's quality is horendous. Any ideas how to force it to up it?
ive tried hard coding so that the script will downlaod the vid in it's max specs but that didn't work :(.

import os
from pytube import YouTube

def download_video(video_url):
    try:
        yt = YouTube(video_url)
        print("Downloading:", yt.title)
        stream = yt.streams.filter(progressive=True).order_by('resolution').desc().first()
        output_path = ""
        stream.download(output_path)
        print("Download completed! Video saved in Videos folder.")
    except Exception as e:
        print("Error:", e)

if __name__ == "__main__":
    video_url = input("Enter the YouTube video URL: ")
    download_video(video_url)
#

(yes, that name reveal was on purpose lmfao)

#

+i also asked chatgpt for help after,
but he just yapping

#

Maybe yt hard limits it?

#

Bcs after all it is copyright lol

#

I can't get this fucking blury shit to disappear. Here is a side by side, the top is from yt and the bottom is what my script saved

#

Look at the persons head/hair

#

I even tried without hardcoding the "downlaod in max resolution that is found" line

from pytube import YouTube

def download_video(video_url):
    try:
        yt = YouTube(video_url)
        print("Downloading:", yt.title)
        stream = yt.streams.get_highest_resolution()
        output_path = "/Users/attiaeran/Documents/Media/Videos"
        stream.download(output_path)
        print("Download completed! Video saved in Videos folder.")
    except Exception as e:
        print("Error:", e)

if __name__ == "__main__":
    video_url = input("Enter the YouTube video URL: ")
    download_video(video_url)
#

I give up, youtube prolly has a blocking mechanism

still jolt
#

yt-dlp lol

formal belfry
#

I'll try that

#

!!!!!!!!!!
!!

#

How tf have i not heard about this

formal belfry
#

It just needs brew install yt-dlp lol

blazing haven
#

its like curl for youtube

#

if u cant do it with yt-dlp it prolly isnt meant to be

#

xd

royal nymph
formal belfry
formal belfry
blazing haven
royal nymph
#

youtube-dl is like the holy grail of video downloading

#

you can throw any site at it and it's likely to work

formal belfry
#

Dam

#

I should rlly get out the box i'm in currently

#

Any other very useful projects you know about?

blazing haven
formal belfry
#

How tf

#

Will use that

#

Thanks

#

Anything dl is good lol

magic shale
#

I’ve been thinking about making a web app to download youtube videos cause every other one ids stupid

royal nymph
#

the ytdlp in question

blazing haven
#

xd

#

depending on the scope u will run into the same issue people got who tried to make a gui for ffmpeg lmao

#

or opeenssl

#

nice read

magic shale
blazing haven
magic shale
#

I would only include basic features just for downloading videos

calm ruin
#

there is even some on mobile

#

yt-dlnis beloved

blazing haven
#

but if he wants to build it for funsies / to learn why not

#

first result

calm ruin
#

ytdlp frontend would be basically just a cli wrapper

floral silo
#

yt-dlp is goat

blazing haven
floral silo
#

apperantly it isn't so i am removing the message

blazing haven
floral silo
#

it's video downloader with custmizable stuff, free, open source and no ad

#

clean UI too

blazing haven
#

oh wow

#

yeah that site looks great

#

bookmarked

floral silo
#

yeah, good site

#

but it isn't ytdl so like

#

😭

#

but hey it support yt and other stuff

dawn ledge
floral silo
#

ytdlp and ffmpeg is a powerful combo

wheat kernel
#

have you ever looked at the youtube-dl codebase though

floral silo
#

i C C++ and i run away

blazing haven
#

whats wrong with it

wheat kernel
#

it terrifies me

blazing haven
floral silo
#

how bad is it

ivory heath
calm ruin
#

understanting smart code is always harder

serene elk
#

first time I tried to use youtube dl it didnt work

#

couldnt parse description or something

#

never used again lmao

woven mesa
#

y'all supposed to use yt-dlp

dawn ledge
calm ruin
blazing haven
wheat kernel
steel canyon
#

Oh wow, Dolfies is in here

winged mantle
#

❤️

formal belfry
#

Hello

#

Anyway

#

But i would assume it is very recourse intensive to train

magic shale
#

me when ytdlp says webm is available and then changes its mind

tacit temple
#

@willow widget

willow widget
finite isle
tacit temple
willow widget
ivory heath
magic shale
#

yeah i figured it out but i was confused cause it works if you type mp4

ivory heath
#

mp4 seems to just download the smallest mp4 compatible formats without any extra -f args..... i fucking hate the yt-dlp defaults. Even if you tell it to prefer something with -f args it will just... refuse?

magic shale
#

there are so many options its insane

#

really the only working option i know of to download youtube videos

ivory heath
#

im so glad i got the video/audio codec and ffmpreg autism

cerulean lark
#

install asahi on it

#

/j

ivory heath
#

Also I like iMessage

blazing haven
#

unprecedented misconfiguration

#

???? xd

cerulean lark
formal belfry
#

Holy those are amazing specs my goodness

wanton osprey
#

i just google the commands for the cli but half the time it does something slighly different than what i want

#

i found this but idk how good it is

ivory heath
#

I prefer just using the CLI tho

#

What actually are you trying to do? I can give you a command myself

blazing haven
wanton osprey
#

usually re-encode shit to different format, sometimes do some compression

ivory heath
#

Hand break can do that but it has some weird defaults like automatically defaulting to VFR which breaks some players and can cause playback issues in general

#

No body likes VFR

wanton osprey
#

i mean most of the time i can find the ffmpeg command on google but it's funny because sometiems the order of flags matters for whatever reason

ivory heath
#

They don’t.

#

Besides input and output

still jolt
#

well they do iirc

ivory heath
#

SS is starting second, before the input seeks to the nearest keyframe while after decodes the video up till that point while being super slow. Before or after the input/output matters but other than that no

warped jackal
#

handbrake is really unintuitive from my experience idk

#

maybe just a skill issue

calm ruin
#

I like handbrakes cli

#

its so easy to use compared to scary ffmpeg cli

#

handbrake -i blabla.mp4 -b 9000 --start-at seconds:20 -o output.mp4 blobcatcozy

ivory heath
#

wtf is -b

calm ruin
ivory heath
#

Disgusting never fucking use that

calm ruin
#

????

ivory heath
#

All encoders have some sort of quality parameter. For the x26X series it’s crf and VPX/AOMAV1 it’s Q.

Bitrate target makes all encoders less efficient and is not content aware wasting more bitrate on slower flatter content while starving high motion complex content

#

2pass x264 bitrate is actually equivalent to crf mode but it’s the only exception

calm ruin
#

but I like to specify bitrate more

blazing haven
calm ruin
#

I can actually control the filesize

ivory heath
blazing haven
ivory heath
#

I thought you meant HBD first not HDB and I was about to go on a 10 bit rant

blazing haven
woven mesa
#

@ivory heath meow

ivory heath
surreal condor
ivory heath
#

What?

surreal condor
#

nvm^2, av1 has 2pass bitrate encoding is that okay too

ivory heath
#

Target bitrate is broken in SVT and target bitrate isn’t as effecient as Q mode in aomenc

surreal condor
#

bruh :( is rav1e any better

ivory heath
#

Rav1e is horribly slow for its efficiency

#

It’s only advantage is it has the best psycovisual tuning so it looks the most consistent in quality

#

How? It brute forces

surreal condor
#

bruh

ivory heath
#

Always use 2 pass with aomenc even with q mode tho

#

Googles developers are stupid lock some coding features behind it

#

Even tho good encoders like svt and x26X can do it with one pass

surreal condor
ivory heath
#

No, it’s literally just googles fault. I’m not joking.

#

The encoder that’s not made by them does not have the issue.

#

It blows my fucking mind how Google hasn’t made a good image/video codec nor a good encoder in a fucking decade with their billions in funding.

Their JPEG encoder is orders of magnitude slower than Mozjpeg while being less efficient (and you can recompress the output of their encoder with Mozjpeg losslessly for ~2% file savings because the dumbasses forgot to optimize residual coding.

Webp is just dogshit and the encoder they made for it uses cheap tricks like image sharpening to improve perceived quality without actually improving the encoder’s efficiency that also leads to massive generation loss.

Don’t even get me started on vp9 and their av1 encoder. Like x26X is laughably better when it comes to psycovisual optimizations. At one point x264 had a preset called touhou because they developers were just a handful of fucking weebs.

solar escarp
#

i used handbrake to burn subtitles

#

bc chromecast doesn't let u cast subtitles

#

and i have an old tv

native spruce
#

@zinc stag how easy do you think making an oss version of esign would be

native spruce
zinc stag
#

how does it work, enterprise cert?

native spruce
#

but its chinese and have chinese telementry

native spruce
zinc stag
#

is esign not open source

native spruce
#

nope

#

thats why I want to make something oss

zinc stag
#

shouldn't be too hard, but where are you gonna get an enterprise cert

native spruce
#

I don't exactly want stuff like that to be hidden from the public

native spruce
#

though I would probably just test with a bought distribution certificate

oblique stirrup
#

HEY

#

CAN SOMEONE GIVE ME A BYPASS OF WAIT ARE YOU HUMAN

#

PLS

native spruce
#

are you human though

oblique stirrup
#

ITS ANNOYING

#

GIVE ME THAT CSS

quick crow
#

Yes css will definitely fix that

balmy lintel
#

css can fix everything if you try hard enough blobcatcozy /hf

urban crown
#

what does /hf mean please i was just lurking but now i need to know i looked everywhere (overexaggration i only looked at 4 google results im just lazy)

urban crown
#

oh thank you

formal belfry
#

Or do you mean the command

urban crown
#

what

formal belfry
# urban crown what

Chatgpt
```In programming, /hf typically appears in the context of compiler or command-line tool options and flags. Here are a few examples of how /hf might be used:

  1. In C/C++ Compilation (Windows MSVC) Context:

    • /HF Option: This specific flag does not exist in standard MSVC (Microsoft Visual C++) compiler options. However, compiler options often have similar patterns like /MD (use DLL runtime), /EH (exception handling model), etc. The /hf might be a typographical error or confusion with another flag. - If you encountered /hf in an actual context, it could be a custom flag defined in a particular build system or script.
  2. In Unix/Linux Command Line Tools:

    • Unix and Linux tools often use flags like -h, -f, etc., but the exact combination of /hf is less common due to the use of hyphens (-) instead of slashes (/) for flags. It could be a typo or a misinterpretation of the actual flags used.
  3. In Documentation or Scripts:

    • Sometimes, /hf could appear in specific documentation or scripts written for a particular tool or project, where hf might stand for something like "high frequency," "high fidelity," or another domain-specific abbreviation.
  4. Custom or Domain-Specific Usage:

    • If you're seeing /hf in a custom tool, script, or specific environment, it would be best to refer to that particular tool's documentation or help command (toolname /help or toolname --help).

If you provide more context or the specific environment or tool where you encountered /hf, I can give a more precise explanation.```

urban crown
#

extremely helpful /s

formal belfry
#

Idk why you didn't do it urself

glass dirge
#

just search “/hf tone indicator”

#

It’s probably “have fun” or somethin, tone indicators have become more complicated than trying to figure out what someone actually means blobcatcozy

formal belfry
#

lol

viscid grove
formal belfry
#

Real

balmy lintel
#

i use /hf as /hj, basically "fucking around with ya"

glass dirge
#

So /j

urban crown
#

ohg

shell crag
ivory heath
shell crag
#

i see, thx

muted sable
#

rate this code 🔥 (I made basic_webserver btw)

nimble bone
#

it's great,

#

but it's python

#

so likely insanely slow

muted sable
#

isn't slow for me

#

300 line code my beloved

formal belfry
#

Windows user

#

L

muted sable
#

I use windows cos curve

formal belfry
#

Idk what that even is

still jolt
#
                if isinstance(result, Response):
                    return result
                elif isinstance(result, str):
                    return Response(200, {'Content-Type': 'text/html'}, result.encode())
                elif isinstance(result, tuple) and len(result) == 2:
                    status_code, body = result
                    return Response(status_code, {}, body.encode())
                else:
                    return Response(500, {}, b"Internal Server Error")
#

lol

muted sable
#

yes

still jolt
#

why 500

muted sable
#

Cause 500 is internal server error 🔥

still jolt
#

what if I wanted to send a float and forgot to turn it into a string

muted sable
#

then you're stupid

still jolt
#

I'd get a 500 without any error on server-side

muted sable
#

I'm 15 i know nothing about coding good apps thumbsup

still jolt
#

also having a header like h: causes Error handling request: not enough values to unpack (expected 2, got 1)
having more than 1024 bytes in a request causes anything after to be ignored (for example with Error handling request: not enough values to unpack (expected 3, got 2))
and funnily enough when the server does error out it doesn't even send a 500, instead just

                except Exception as e:
                    print(f"Error handling request: {e}")
                finally:
                    client_socket.close()
blazing haven
#

running this web server in production

muted sable
#

(I literally just had this error)

muted sable
#

I also run a outdated version cos why not

#

Latest is 0.5 I use 0.3 🤑

median root
#

yo prolly an insanely dumb question but how do i send a boolean property to another function? cuz with string we do

func(findOption(opts, "string", ""))

so how do i give a boolean and string to func here?

still jolt
#
func(3.14, 42, "str", false, {}, [], true);
median root
#

huh? no the properties im sending here are from the options selected in a command

#

so ive used opts and findOption

still jolt
#

idk then ¯_(ツ)_/¯

median root
#

o aight

still jolt
# ivory heath <@508863359777505290> google didnt make jpegli. jpegli was made by the jpegxl te...

Note: Guetzli uses a large amount of memory. You should provide 300MB of memory per 1MPix of the input image.
Note: Guetzli uses a significant amount of CPU time. You should count on using about 1 minute of CPU per 1 MPix of input image.
Note: Guetzli assumes that input is in sRGB profile with a gamma of 2.2. Guetzli will ignore any color-profile metadata in the image.
1 minute & 300 MB / 1 MP? wtf?

ivory heath
#

Actually I forgor if it uses it for trellis or even has it

steel canyon
#

Discord stores the voice channel participant data somewhere surely right? I know it fires off the voice_state_updates event from every single discord but I can't seem to just get it from a channel/channelstore, I could capture all the voice state updates, but if the discord client does have that info somewhere, it would be better to not duplicate it using 2x the memory for the same thing, I just am not sure, none of the other events stick out to me

quick crow
#

Couldn't tell you where tho

steel canyon
#

Yeah, it is rough, if they are not in channel stores or not defined in them, the only other thing may be events, I might just need to listen on all voice related (or maybe not) events as if I can't get it through stores, there must be something I am missing on join of a vc with already existing members

#

Thank god for VCNarrator
const VoiceStateStore = findByPropsLazy("getVoiceStatesForChannel", "getCurrentClientVoiceChannelId");

#

And it works fine, I like this approach a lot better, I ask for it, then I recieve the info rather than trying to get the data from events (although maybe you aren't designed to use events in the way I was trying to use them

royal nymph
#

events are for getting data in real time

#

to get data right away you always use stores

steel canyon
#

Yeah, I was aware of the stores @webpack/common, this store wasn't in that so I thought I had to use events but vcNarrator found the store by findByPropsLazy not sure how that works but it does indeed work xD

#

Oh, I guess that is one of the strengths of JS looking at the comment for findByPropsLazy, but I guess most other languages do also have reflection

winged mantle
#

is there anything wrong with using discord.id + "." + crypto.randomBytes for a token xD

#

the issue with jwt is you can't invalidate it

#

i thought there should probably be a button to log out all sessions

#

security??

#

oh ig this is in browser

royal nymph
#

but id put the user id at the end

#

otherwise it looks like your discord user token

winged mantle
#

i will make separator >.<

#

not really though

#

that uses base64

#

i guess anything is ok as long as it's not like that one security bot which used a private key which wasn't very private...

#

(iirc)

#

my code calls users/@me then revokes the token immediately blobcatcozy

#

i don't want to set up a job to refresh info