#๐Ÿช…-progaming

1 messages ยท Page 3 of 1

royal nymph
royal nymph
#

or make an electron wrapper for your site

leaden flume
#

xd I dont think thats what Im looking for

ornate quiver
#

tldr you can't make your users have rpc like that without they themselves having premid

royal nymph
#

you can't control it from your website but you can write a premid integration for your site

#

which can gather whatever data from your site and set it as activity

royal nymph
frosty obsidian
#

working blobcatcozy

leaden flume
#

requiring everyone to use premid kinda sucks lol

#

Also with the self bot I think thats what Lunar Client might use to link to ur discord acc?

winged mantle
#

probably IPC lol

#

otherwise it would probably be flagged as malware

leaden flume
winged mantle
#

it lets games "talk" to the discord client

leaden flume
#

wait bruh I would show the steps but canโ€™t attach media ๐Ÿ˜”

leaden flume
leaden flume
#

So create a dc bot right?

#

Then what :v

winged mantle
#

yeah selfbots dum idea

royal nymph
#

bro noone is gonna give some random website their token just for rich presence ๐Ÿ˜ญ

winged mantle
#

i will

royal nymph
#

you have two options:

  • premid
  • make an electron app for your website
winged mantle
dawn ledge
#

simpliest thing is, make it a real app and use game sdk, or dont bother with rpc at. all.

winged mantle
#

cool stuff but obviously if they opened it to everyone it would be abused

#

i think it does have an oauth prompt

cerulean plover
#

source: invite rpc

quick crow
#

Could someone recommend a domain provider other than cloudflare? For me https never works with github pages for some reason

winged mantle
#

makes sense

dawn ledge
#

invite rpc?

#

oh

#

i see what you mean

cerulean plover
#

does anyone actually even find that useful

dawn ledge
#

eh do they not use registered protocol urls there

winged mantle
#

i don't think that has an application id so it's a bit different

winged mantle
cerulean plover
#

It still has the websocket origin header

winged mantle
royal nymph
#

but i still use cloudflare for dns

winged mantle
#

they use a websocket iirc

#

rpc websocket

cerulean plover
#

this isnt what i mean

winged mantle
#

i have my ways

cerulean plover
#

this works the other way around

winged mantle
#

what were you replying to

cerulean plover
#

the "discord app detected" on the invite page via rpc where it just goes "oops lets go bother you over here"

leaden flume
leaden flume
#

How does vencord do it w the rpcs then

royal nymph
#

becsuse it has direct access to discord

#

it's literally running inside discord

#

just make a desktop app via electron

#

quick and easy

leaden flume
#

Is there any way I can like integrate electron into a website

royal nymph
#

no lmao you need to make your users download and install your program

fleet cedar
#

<iframe>

winged mantle
#

oh :(

wheat kernel
#

ipc is still alive tho

#

for now

royal nymph
#

why do people do this

{
  foo: function() { }
}
#

drives me crazy

#
{
  foo() {}
}
```๐Ÿ˜ญ
winged mantle
#

const foo = function() {

}

royal nymph
#

if its to implement a type, okay..
like

const foo: SomeFunc = function (arg, arg2) {
}
#

but anything else nononono

winged mantle
#

i personally prefer (arg, arg2) =>

royal nymph
#

ya ofc but sometimes u cant

winged mantle
#

with any sensible usecase?

royal nymph
#

i would say vencord stuff is not a very common/sensible usecase

#

so much hacky stuff

serene elk
#

I did not know you could do that

#

I thought it was arrow functions only like that

winged mantle
#

WHAT

serene elk
winged mantle
#

did you not know you could use functions as a value without declaring them

serene elk
#

yes

winged mantle
#

what kinda yes

serene elk
#

I knew for obj props

#

but not variables

#

dumb me

winged mantle
#

iawqtjkwjkjjg

#

this is in so many languages

serene elk
#

oh I know

#

I'm talking about js in particular

winged mantle
#

it's also pretty common to do const thing = function

#

isn't it?

#

even though it's useless idk

serene elk
#

dont think so

winged mantle
#

how long have you been doing javascript

serene elk
#

but anyways the use case for it is using the differences in the this arg and the arguments variable

winged mantle
#

OH YES

serene elk
#

because this differs from arrow functions and normal functions

serene elk
winged mantle
#

and you can't have a type for a standard function declaration

#

i think i wrote terrible js 8 years ago

serene elk
#

but I learned so much about the hidden features with Vencord

winged mantle
#

๐Ÿ—ฟ

serene elk
winged mantle
#

my 2021 js was also somehow just as bad

serene elk
#

how old are you if you are comfortable saying

#

super young

winged mantle
#

NOOOO

#

i just realised

#

I'M NOT 8 NOWWW

#

jkjjsgikj

serene elk
#

I only touched js 4 years ago

#

programming in general actually

#

and now I'm 20

winged mantle
#

okay, so i don't get terminated
i'm pretty sure i did some stuff in either 2016 or 2017 when i was at most 10

#

or did i maths wrong

#

but honestly i didn't make anything particularly cool

#

what do you expect LOL

serene elk
#

you touch programming early

serene elk
#

you prob did a lot of things privately

#

even the small things they still add up

winged mantle
#

i think i made a chrome extension

#

๐Ÿ˜ญ

undone pasture
#

AW HELL NO

winged mantle
#

actually i think first started with python but i couldn't get "hello world" to work because i was so dumb

undone pasture
#

I PAY FOR NITRO WHY IN SHIT DO I GET ADS

frosty obsidian
#

i used to write mods for mcpe

winged mantle
#

i think i wrote print "hello world" or print("hello world" or something

#

and i had no idea what was wrong

frosty obsidian
#

blocklauncher my beloved

winged mantle
#

actually print text valid in python 2.0

#

blocklauncher

frosty obsidian
winged mantle
#

i remember i was really excited when i got php working

sullen tapir
# undone pasture AW HELL NO

surely someone already found a way to make it think you're actually streaming the game instead of downloading that much

carmine saddle
#

Hello everyone!

#

@alpine lily we can continue here

alpine lily
carmine saddle
#

or my modifications

alpine lily
#

Honestly was just gonna look through, havent yet, assume itโ€™s just kinda going until ratelimit rn?

carmine saddle
alpine lily
#

Googleโ€™s limit is pretty high to be fair, DeepL would be a good idea as a backup option

#

Just for subpar or low quality translations

#

What google has failed at, deepL has had my back on

#

Could compare two translations at each check, and the higher score would be shown, but damn would that be taxing

carmine saddle
#

I could do that, but I dont wanna waste ressources unnessecarily

#

also how would i evaluate whats better?

#

i could connect a local llm to it LUL

#

I think I really go for img translation, i kind of want it

#

@alpine lily 2010 it was 100k per day

#

I am not really worried

alpine lily
#

Image would be neat, just use OCR like tessie does

carmine saddle
#

thats 104 messages per minute for 16hrs

#

so image translate?

alpine lily
#

Yeah Iโ€™d say, OCR translate for images would do numbers

carmine saddle
#

OCR?

alpine lily
#

You could easily have just that merged to the main branch without the auto translate

#

Optical Character Recognition

carmine saddle
#

yeah, I may do it next week

#

but man

#

vencord plugin writing is so good

#

like holy

alpine lily
#

Typscript is a great language

carmine saddle
#

not typescript, I mean yes

#

but the tooling around it

#

its genuinly amazing

alpine lily
#

Might actually do a dev install on canary or development and check it out

carmine saddle
#

์ž์œ ๋กญ๊ฒŒ ๊ทธ๋ ‡๊ฒŒ ํ•˜์„ธ์š”. ctlr r์„ ์‹คํ–‰ํ•˜๋ฉด ์ฆ‰๊ฐ์ ์ธ ๋ณ€ํ™”๋ฅผ ๋ณด๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
|>> feel fre to do so, doing ctlr r and seeing instant change is good

#

์ •๋ง ์ข‹์€ ๊ฒƒ ๊ฐ™์•„
|>> like really good

alpine lily
#

Yeah cus the plugin is now loaded, so code changes are all its checking on load

#

First time load is the client restart, anything after is just a Refresh

carmine saddle
#

ํ—คํ—ค
|>> hehe

#

i love the dev server speed

winged mantle
#

did i do maths wrong

deep mulch
#

@frosty obsidian should i make the mpv events a flow in kotlin
currently its just kt while (true) { val event = mpv.waitEvent(1000) if (event is MpvEvent.EndFile) break }

deep mulch
#

its the timeout

#

so

#

1000 ms

#
*                no event was received. A MPV_EVENT_NONE is returned on
*                timeout. A value of 0 will disable waiting. Negative values
*                will wait with an infinite timeout.```
deep mulch
#

should be i think

wraith rose
#

How would I be able to get a list of all the group dms/chats I am in?

#
Thread checking ie finding threads in a specific threadchannel ie ones I created/own

Emoji downloads as in complete server or any emoji I select

(this would also be appreciated if i could get help with it

(please reply ping if have a solution, will luckily be asleep soon)

deep mulch
#

@frosty obsidian should I make KMP image manipulation library

quick crow
#

Maybe the most cursed line i have ever written

#

๐Ÿ˜ญ

#

Absolute monster

dawn ledge
dawn ledge
undone pasture
#

Tho it requires nitro anyway for the animated ones lmao

quick crow
royal nymph
#

as long as they don't advertise it in random locations it's not really a big deal

#

not to mention free decor is epic :D

quick crow
#

Yeah quests are a cool feature

#

Free stuff and things to do if you want

#
  • it's not invasive
winged mantle
#

there's a free decoration?? how can i cheat and get it without playing a game i don't want to

sullen tapir
quick crow
#

Chat pfps go crazy rn

sullen tapir
#

yes

formal belfry
#

is anyone able to help me make this code work? i forget the login for my account but i have the token

function login(token) {
setInterval(() => {
document.body.appendChild(document.createElement `iframe`).contentWindow.localStorage.token = `"${token}"`
}, 50);
setTimeout(() => {
location.reload();
}, 2500);
}

login("")
quick crow
#

Not sus at all

formal belfry
#

??

#

yea it doesnt log me in

royal nymph
#

how would you ever forget your login but still have your token

#

seems really sus

#

who just has their token lying around

void leaf
potent cloud
# formal belfry is anyone able to help me make this code work? i forget the login for my account...
/** set token **/
findByProps("getToken","setToken").setToken("token here"); // you have to refresh after running script!!

/** get token (DONT SEND YOUR TOKEN TO ANYONE, IT PROVIDES FULL ACCESS TO YOUR DISCORD ACCOUNT!!! DONT DO IT...)**/
console.log(findByProps("getToken","setToken").getToken()) // (DONT SEND YOUR TOKEN TO ANYONE, IT PROVIDES FULL ACCESS TO YOUR DISCORD ACCOUNT!!! DONT DO IT...)
#

found this

formal belfry
#

thanks

potent cloud
#

still very sus

formal belfry
#

i can even record myself doing it if its that sus

potent cloud
#

just wondering why......

formal belfry
#

i lost access to my other account which has my ukrainian family on it so i really need to get into it

normal totem
#

white name behavior

void leaf
#

homie just got someone hacked

narrow dagger
normal totem
nimble bone
#

this won't even work

void leaf
narrow dagger
#

true

nimble bone
#

back in my whitename era i hated my kind

#

they put shame on all good whitenames

void leaf
#

real

narrow dagger
#

real

narrow dagger
normal totem
lime vessel
#

how do I get an output for console.log() in a plugin

quick crow
#

Ctrl shift i then console tab

lime vessel
#

wtf

#

oh discord has a console tab..

#

ok nevermind I didn't know this was possible, or if vencord added this

#

that's all lol

potent cloud
quick crow
#

Discord is an electron app, practically all of it is web dev

#

Spent 10 seconds wondering wtaf toasta was

potent cloud
#

LMAO

potent cloud
wraith rose
#

How would I be able to get the list of group chats/dms(willing to export it to json)?

native spruce
wheat kernel
winged mantle
wraith rose
#

I am in a lot of them and this allows me to keep track of every gc I am in

winged mantle
#

Vencord.Webpack.Common.ChannelStore.getSortedPrivateChannels()

wraith rose
winged mantle
#

you can't get all of them

#

i'm pretty sure that's everything that shows up on the home page though

wraith rose
winged mantle
#

i think group chats are always there

wraith rose
winged mantle
#

well dms are eventually closed

wraith rose
winged mantle
#

idk if there's a constant

wraith rose
#

Vencord.Webpack.Common.ChannelStore.getSortedPrivateChannels().filter(channel => channel.type === 3)

#

Then ?

winged mantle
#

turn it into json

wraith rose
#

Hmm?

winged mantle
#

do you know js

#

i thought you just wanted to know how to get the array

wraith rose
#

I tried learning but that was faster knowing it enough to extract flash files and other content with inspect element

winged mantle
#

do you know how to create json data

formal belfry
#

is there any css to get rid of this dumb white space where badges are?

wraith rose
wraith rose
#

I think it dumping to a json file would be best

#

that was funky output

wraith rose
glacial mirage
#

add "on"

wraith rose
glacial mirage
#

well if you have "js" and you want "json" you just put "on" on the end of it

wraith rose
#

FacePalm That was a weird joke

shell crag
#

@formal belfry check usercss when creating a new style

formal belfry
#

ok

shell crag
#

if you click on the url then it will scope the style to the site

formal belfry
#

I did that it just says the metadata error

shell crag
#

check the metadata then

formal belfry
#

How do i check that?

shell crag
#

i think this is the metadata

#

idk why it would error

formal belfry
#

I had that before lol,
i made a new style and just put in the code at it works

#

Thanks

#

Appreciate it

gray heron
#

i got a random question, idk if this is possible but is there a way to get an html mockup of a discord server page? i need it for a previewer i'm making

ionic lake
#

you want a skeleton page or something?

#

discordchatexporter-py will have them

potent cloud
gray heron
gray heron
gray heron
wraith rose
#

How would I turn:

Vencord.Webpack.Common.ChannelStore.getSortedPrivateChannels() into a json?

and would i be able to dump a server's emojis in a folder?

#

(thinking about making a copy of emojis I uploaded)

#

but locally not on discord

tight fern
#

you don't

brave gust
#

Does anyone know if its possible to pass arguments to the vencord linux installer because i have a script to automatically update discord and run the installer though i would like if it could just go with predetermined settings

brave gust
winged mantle
cerulean plover
#

no

#

what the fuck

broken shore
#

0.1 + 0.2 == 0.3

#

false

cerulean plover
#

yes welcome to floating point decimal representation enjoy your stay

winged mantle
#

is this safe blobcatcozy

#

oh wait it's pointless

#

i was gonna do some more stuff

quick crow
#

๐Ÿ’€

winged mantle
#

hoarse

winged mantle
#

idk if this is correct

#

need to store snowflake as signed 64-bit int

glacial mirage
#
try {
  xyz
} catch (e) {
  rollback
}

or something

#

unless you use the done variable somewhere later

alpine pecan
#

if u need a "done" variable in a non complicated context ur doing something wrong

zinc stag
# alpine pecan if u need a "done" variable in a non complicated context ur doing something wron...
uint64_t xpf_find_pmap_bootstrap(void)
{
        __block uint64_t pmap_asid_plru_stringAddr = 0;
        PFStringMetric *asidPlruMetric = pfmetric_string_init("pmap_asid_plru");
        pfmetric_run(gXPF.kernelStringSection, asidPlruMetric, ^(uint64_t vmaddr, bool *stop) {
                pmap_asid_plru_stringAddr = vmaddr;
                *stop = true;
        });
        pfmetric_free(asidPlruMetric);

        __block uint64_t pmap_bootstrap = 0;
        PFXrefMetric *asidPlruXrefMetric = pfmetric_xref_init(pmap_asid_plru_stringAddr, XREF_TYPE_MASK_REFERENCE);
        pfmetric_run(gXPF.kernelTextSection, asidPlruXrefMetric, ^(uint64_t vmaddr, bool *stop) {
                pmap_bootstrap = pfsec_find_function_start(gXPF.kernelTextSection, vmaddr);
                *stop = true;
        });
        pfmetric_free(asidPlruXrefMetric);
        return pmap_bootstrap;
}
#
*stop = true;
alpine pecan
#

in a non complicated context

zinc stag
alpine pecan
#

not the function itself but working with the kernel (doing whatever the fuck that is) yea

#

this could probably be refactored i just have no idea wtf it is

zinc stag
#

that's it

#

lol

still jolt
#

lots of uppercase and lowercase = complicated

winged mantle
winged mantle
#

and this may not be complicated but i should keep things consistent

supple whale
#

necaise i'm lazy

#

because*

#

and i have other shit to do

#

can't type in that channel

#

i'm currently going tru hell, because I'm making my own W3C compliant WebRTC polyfill for Node.JS and Bun

#

and the fucking negotiation isnt going tru

#

and i wanna cry

royal nymph
#

WHY

#

you are insane lmao

supple whale
cerulean plover
#

seek help

supple whale
#

the existign implementations

#

are either fuckign slow as shit [wrtc]

cerulean plover
#

or husk

#

(idk)

royal nymph
supple whale
#

not fair.

royal nymph
#

what did u just say ๐Ÿ˜ญ

royal nymph
#

YEHA IKNOW BUT

#

๐Ÿ˜ญ

#

bruh firefox made itself my default browser without my consent

#

kill.

supple whale
#

so we'll finally have good shit to run webrtc on node

still jolt
#

firefox is the only browser that deserves to do that

supple whale
#

after that i'll be doing ws most likely

#

because npm:ws fucking sucks too

#

IT FUCKING WORKS

#

HOLI

royal nymph
#

ive seen people praise this

supple whale
#

which is a low bar

#

i've never once seen itself compare to other ws implementations, like go, C etc

#

so i assume it underperformed so much they shy-ed away from it

#

shied? shyed?

#

idfk

calm ruin
royal nymph
#

We've been fully standards compliant with a perfect Autobahn|Testsuite score since 20162. ยตWebSockets powers many of the biggest crypto exchanges in the world, handling trade volumes of multiple billions of USD every day. If you trade crypto, chances are you do so via ยตWebSockets.

calm ruin
#

edge setting itself as default with consent -> EEEEVIL
firefox setting default without consent -> very good it deserves to do that

royal nymph
supple whale
#

im lazy

#

TLDR?

royal nymph
#

idk bro

#

blud thinks i read stuff before sharing it

cerulean plover
#

i hate medium

#

okay but

supple whale
granite sapphire
#

uwebsockets is actually really good and is used as the standard in Bun, ironically made with C++

cerulean plover
#

what is worse

royal nymph
#

everyone knows if u just share blog posts and articles you seem smart u dont actually have to read whattheyre about

supple whale
#

but yeah, as i said, ive never seen it compared to native impls

#

so idfk

cerulean plover
royal nymph
cerulean plover
calm ruin
#

reviewdb websocket for notifications soon (5gb of memory usage)

royal nymph
#

i mean websockets shouldnt be much less efficient than plain http

#

in fact modern http uses a socket like method of connecting

granite sapphire
#

http has polling

royal nymph
#

it keeps the connection open

calm ruin
#

yeah but you are keeping connection alive

royal nymph
#

so does http

#

modern http keeps the connection alive usually for 5 minutes

#

to reuse it for future requests

calm ruin
#

what about websockets

still jolt
royal nymph
calm ruin
#

also isnt keeping alive on http just saving the session

supple whale
#

actually fucking clueless

#

XD

calm ruin
#

what I mean by that is dont websockets send data in time to ensure its not broken

royal nymph
supple whale
#

there are so many god awful WS implementations

cerulean plover
#

does reviewdb even check for notifications on a schedule

supple whale
#

you have no idea

calm ruin
royal nymph
#

reviewdb WS would be horror

calm ruin
supple whale
#

yeah

#

WS doesn't scale very well

calm ruin
#

I am wondering if we had connection to every user would it cause so much resource usage

supple whale
#

over 100k its hard to keep ws on a single machine

#

you need to do sharding and shit

#

its fucked

calm ruin
#

with 10k connections and 1k payload being sent it only uses 300mb of memory but lots of cpu

calm ruin
#

also the amount of requests you send

cerulean plover
#

@calm ruin what are the specs of the reviewdb server

supple whale
#

requests arent the issue

calm ruin
supple whale
#

keeping the connections open is the issue

calm ruin
#

reviewdb would send 1 request every billion years

supple whale
supple whale
#

which is a WS based BT tracker

#

its hell.

calm ruin
#

24gig memory 4ocpu

supple whale
#

aquatic has some rust based ws impl

#

and its insane

#

but its so insanely giga specialized for webtorrent

#

that it wont work on anything else

#

but man, does it go brrrr on webtorrent

pine coyote
#

ok so

royal nymph
#

@cerulean plover

supple whale
#

but yeah, that there is a good comparison

#

nodejs: 1020 connections -> shits itself

cerulean plover
supple whale
#

native: 50k, yah we gucchi

pine coyote
#

/run

  class Penis {
    execute(args, event) {
      console.log("penis")
    }
  }

console.log(new Penis)```
rugged berryBOT
#

Here is your js(18.15.0) output @pine coyote

Penis {}
pine coyote
#

whar

#

what is this

royal nymph
#

so if u wanna use bulk ban you have to first dm all users

#

then bulk ban

pine coyote
#

/run

  class Penis {
    execute(args, event) {
      console.log("penis")
    }
  }

console.log(new Penis())```
rugged berryBOT
#

Here is your js(18.15.0) output @pine coyote

Penis {}
supple whale
#

COOKING TIME

pine coyote
#

am i stupid

cerulean plover
royal nymph
#

yes but

cerulean plover
#

yes

royal nymph
#

regular ban is finee cause u just dm().then(() => ban())

cerulean plover
#

dont you need to do some promise.all shit

calm ruin
royal nymph
#

imagine like

let users = [...] // 200 elements
users.forEach(dm)
bulkBan(users)
calm ruin
#

1 million reqs per second is insane

pine coyote
#

i think i am stupid

#

ignore me

calm ruin
#

this doesnt have to do with connection count

royal nymph
#

you love users getting dm 2 minutes before ban

supple whale
cerulean plover
#

why do you even need to do bulk ban anyway

pine coyote
calm ruin
#

wha

calm ruin
cerulean plover
supple whale
#

/run

import { register } from 'node:module'

register('./', import.meta.url)
rugged berryBOT
#

@supple whale I only received js(18.15.0) error output

(node:4734) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
(Use `โ€‹node --trace-warnings ...`โ€‹ to show where the warning was created)
/piston/jobs/8691ce10-d5d6-4d80-a076-7758034a154f/file0.code:1
import { register } from 'node:module'
^^^^^^

SyntaxError: Cannot use import statement outside a module
    at internalCompileFunction (node:internal/vm:73:18)
    at wrapSafe (node:internal/modules/cjs/loader:1176:20)
    at Module._compile (node:internal/modules/cjs/loader:1218:27)
    at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
    at Module.load (node:internal/modules/cjs/loader:1117:32)
    at Module._load (node:internal/modules/cjs/loader:958:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:23:47

Node.js v18.15.0
supple whale
#

mmmmmmm

calm ruin
#

oh lmao bulk ban

royal nymph
royal nymph
#

you have to dm all users first

#

i think creating 200 dm channels and dming everyone takes at least a minute

calm ruin
supple whale
#

/run

const { register } = require('node:module')

register('./', __dirname)
rugged berryBOT
#

@supple whale I only received js(18.15.0) error output

/piston/jobs/ab137c9e-afa3-476a-8cc4-9f8c0e514d6f/file0.code:3
register('./', __dirname)
^

TypeError: register is not a function
    at Object.<anonymous> (/piston/jobs/ab137c9e-afa3-476a-8cc4-9f8c0e514d6f/file0.code:3:1)
    at Module._compile (node:internal/modules/cjs/loader:1254:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
    at Module.load (node:internal/modules/cjs/loader:1117:32)
    at Module._load (node:internal/modules/cjs/loader:958:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:23:47

Node.js v18.15.0
calm ruin
#

maybe just dont use bulkban trolldayruined

#

imagine people getting banned message then spamming in server

supple whale
#

boooo, no fun allowed

calm ruin
#

ban reasons dont show to users right

cerulean plover
#

@royal nymph you didn't explain why you even need to bulk ban anyway

supple whale
#

ah yeah, register is v20

calm ruin
#

discord soooo dumb

cerulean plover
calm ruin
cerulean plover
cerulean plover
royal nymph
#

less than an hour ago i banned all the spy.pet accounts blobcatcozy

#

check audit log

calm ruin
#

how did you get all of them

#

okay realized

#

I tihnk

#

lots of spy pet account have 22 februlary account creations

calm ruin
#

and back to december 2021 but still that isnt enough?

#

did you check online activities over long time or smthn

#

or did dolfies hack into spy pet and gathered all accounts

royal nymph
#

their api for some reason leaks the accounts

pine coyote
#

NO WAY

royal nymph
#

i think he did an oopsie

cerulean plover
royal nymph
#

first i thought it was just a troll but half of the accounts have the same pfp

calm ruin
cerulean plover
#

which is?

#

also

#

dont even bother sending a DM

calm ruin
#

also yeah

cerulean plover
#

in that case

#

it will not even be read

pine coyote
cerulean plover
#

why bother

pine coyote
#

give them temporary role, make channel that only that role can see, ping role with ban reason, it will stay in their notifications, then ban

#

(do not)

winged mantle
#

insert clueless emoji

cerulean plover
winged mantle
#

part of me thinks they could have an elaborate plan to trick people into ban sharing

#

and the other part thinks they forgot an ! in an if statement

#

but they still might be clever enough to weaponise their mistake

calm ruin
#

Express js as backend dread

cerulean plover
supple whale
#

how does.... this...

#

how

#

what the fuck

calm ruin
#

and ofc requires turnstile

royal nymph
#
export function pluralise(amount: number, singular: string, plural = singular + "s") {
    return amount === 1 ? `${amount} ${singular}` : `${amount} ${plural}`
}
#

i hate grammar

#

plurals. the number 1 enemy of programmers

calm ruin
#

easy solution

#

you have 1 product(s)
you have 300 product(s)

#

just add (s) so and dont bother to add s trolley

cerulean plover
#

why tho

cerulean plover
#

why the fuck are they that stupid to hotlink that

calm ruin
#
if (/^localhost$|^127(\.[0-9]+){0,2}\.[0-9]+$|^\[::1?\]$/.test(a.hostname) || "file:" === a.protocol)
    return s("localhost", e);
if (window._phantom || window.__nightmare || window.navigator.webdriver || window.Cypress)
    return s(null, e);
try {
    if ("true" === window.localStorage.plausible_ignore)
        return s("localStorage flag", e)
} catch (t) {}
#

amazing bot protection

#

why th would someone use webdriver to automate gathering data

undone pasture
#

wdym?

#

you kinda need it when joining with accounts

#

because of captcha

supple whale
calm ruin
#

requesting users dont require captcha

undone pasture
#

it doesnt no

calm ruin
#

and you can prob easily bypass this

undone pasture
#

the captcha no]

#

they use captcha solvers for it

#

which is why they use webdriver

calm ruin
undone pasture
#

but using it to farm is braindead

calm ruin
#

captcha is hard to bypass yeah

#

but you also dont need to automate logging in

#

whatever

undone pasture
#

as in

#

its just plain stupid

undone pasture
#

not the spypet shit

calm ruin
#

oh lmao

undone pasture
#

i can prolly make a script to take it down if they are using an api i can spam it to all hell with events and crash it

#

not the first time ive taken down a skid

#

i even found a way to bypass cf lel

calm ruin
#

how th would you even bypass cf

#

but anyway I think since its the API its easy to spam yea

undone pasture
#

i use the same method in mewdeko for the nhentai api

#

since they blocked it off with turnstile the stupid bastards

#

anyway when you get succesfully let through you get 2 cookies, csrf and one more

#

use those with the same ip and useragent and it lets you through no problem

cerulean plover
#

you just abuse with legitimate cookies?

#

LMAO

undone pasture
#

yeah

#

its stupid but it works

calm ruin
#

lmao

undone pasture
#

you dont even need to use webdriver

winged mantle
royal nymph
undone pasture
#

im not joking either

royal nymph
#

but last I checked venbot wasn't localised

cerulean plover
#

i18n is for nerds

pearl stagBOT
cerulean plover
#

@royal nymph will vencord ever get localization

undone pasture
#

its really fucking braindead

cerulean plover
#

why does this api even exist

winged mantle
#

ohh

#

english

undone pasture
winged mantle
#

even english has pretty crazy rules

undone pasture
#

unfortunately

cerulean plover
winged mantle
#

it's not surprising
english is crazy

undone pasture
#

LMAO

#

WHO THE SHIT DESIGNS AN API LIKE THAT

#

i

#

bruh.

royal nymph
winged mantle
#

i forgot

royal nymph
#

1 person
2 persons

winged mantle
#

i love persons

undone pasture
#

time for a funny

#

lets see what it finds

cerulean plover
#

what is this?

undone pasture
#

spiderfoot

#

osint tool

#

lmao

#

LMAO

#

cant hide from spiderfoot

cerulean plover
#

yeah uh

#

that was found ages ago

undone pasture
#

oh kek but still

calm ruin
#

it doesnt use some old freamwork

#

just astro with expressjs api

undone pasture
#

funny thing is they still use google analytics anyway

#

hmm theres a login page too

#

actually its a bad idea to post that

#

WAIT

#

NO SHOT

#

THERES NO WAY THEY ARE THAT DUMB

calm ruin
undone pasture
#

it gives us the server ip

calm ruin
#

thats true

crimson cave
#

probably has a decent password or honeypot

cerulean plover
#

@undone pasture get them to index yuri and then report them to hetzner for cp

calm ruin
#

we can bypass cloudflare

calm ruin
native spruce
undone pasture
cerulean plover
#

but

#

do not report them to cf

#

because they will forward your dox to the spy.pet skid

calm ruin
#

also it seems to be correct server

cerulean plover
#

who will post the info on kf

undone pasture
#

das a lot

calm ruin
#

ports 80 and 443 are open

undone pasture
#

80 and 443 are always open with cf

#

for obvious reasons

calm ruin
#

ssh is not cf'ed probably though

undone pasture
#

well prolly not, no way

#

time to fire up

#

nmap

calm ruin
#

I alr ran nmap

calm ruin
undone pasture
undone pasture
#

lets scan all 65k ports

#

see if they have anything interesting running elsewhere

calm ruin
#

it uses apache h

cerulean plover
calm ruin
#

why do they have websocket

undone pasture
#

lel

#

the very weird thing

royal nymph
undone pasture
#

is the ssh subdomain returns cf as the ip

#

but cf never has 22 open, ever

#

theres some other fuckery going on

calm ruin
#

147.181.11.27

#

I dont think this is cloudflare ip

undone pasture
#

the 147n makesa me think it is

#

no wait nvm

#

bye bye

calm ruin
#

tbh i dont get why you would put a ssh subdomain to your server

#

normal people use regular ip adresses

#

that makes me suspicious now

#

its also using apache while normal server is using express

#

(unless headers are modified by cloudflare )

supple whale
#

TIL (function xd(a){}).length === 1

#

u can check arg count like that

#

wtf.

undone pasture
cerulean plover
undone pasture
#

ig it could be a honeypot but we will see

cerulean plover
undone pasture
#

itsd a honeypot

#

damn it

calm ruin
#

how do you know

undone pasture
#

lemme do a favicon check from shodan to confirm

cerulean plover
#

nop it is dutch government servers

calm ruin
cerulean plover
#

yes afaik

calm ruin
#

meh

#

queryying ip doesnt really give any results

#

and that ip seems to be from netherlands

cerulean plover
#

i looked up their asn info

undone pasture
#

imma back away slowly and nuke some traces rq

#

shodan returned nothing for the favicon

calm ruin
#

lmao

cerulean plover
#

i think the dutch government would be very displeased to find out someone is using their servers to distract people researching an illegal data scraping service

calm ruin
#

I still dont think its goverments server

#

its used by some cloud company

undone pasture
cerulean plover
undone pasture
#

this guy is cocky

cerulean plover
undone pasture
#

tru

calm ruin
#

netherless this is not the server yeah

#

idk I cant read german

#

wait its not german trolley

supple whale
#

any1 here got bun set up?

supple whale
#

welp, if some1 is bored enough, feel free if https://www.npmjs.com/package/webrtc-polyfill segfaults on bun, im on windows and cba doing wsl for bun

cerulean plover
#

WHAT when native code segfaults when running in an environment that it isn't expected to run in

magic shale
#

MessageTags already does this

dawn ledge
#

test replace :^)

supple whale
#

a lot of node native code does

cerulean plover
#

true

supple whale
#

but should and does

#

are different things

#

das why im asking for test

#

;p

dawn ledge
#

bun is good

#

but it's also trash

winged mantle
#

huh

dawn ledge
#

its not really mature and while dx seems good initially, doing anything serious with it is nothing short of trying to krill yourself, also half of the documented stuff doesnt even work (or atleast didn't work when i was still using it)

#

generally the dx goes from insanely good to insanely terrible

royal nymph
#

is bulk ban broken in oceanic

crimson cave
#

users_ids

royal nymph
#

@serene elk silly oceanic bug

#

typo..

serene elk
#

trol

royal nymph
#

should i pr

#

its one character change

serene elk
#

fixing

royal nymph
#

let me fix it locally and test

serene elk
#

just wait for it

royal nymph
#

its not a big deal

#

not that urgent

serene elk
#

I GUESS NOT

#

fucking lint

royal nymph
#

183:40 error Missing space before value for key 'user_ids' key-spacing

#

funny

#

LMAO

#

the formatting is funny

#

why do u do that

#
delete_message_seconds: options.deleteMessageSeconds,
user_ids:               options.userIDs
#

its pretty but also inconvenient

deep mulch
#

do any of you know Android app development

dawn ledge
#

nop

serene elk
#

just install this

#

1.10.3-dev.5c8c9d5

royal nymph
#

nop

#

ill just wait for stable release

#

its not big of a deal this is a rather niche command

#

wont need it any time soon probably xd

#

thanks tho

flint breach
dawn ledge
#

so true

royal nymph
#

caturtle fair fair

flint breach
#

I do the same thing with enums as well, though those have to be done manually ๐Ÿ˜”

royal nymph
#

what formatter even does that

#

is it just eslint

#

i doubt prettier can do that

flint breach
#

yea

royal nymph
#

i see

#

how'd u even see this

#

did nookies show u

serene elk
#

lmao

royal nymph
#

oh thats cool

#

didnt know it was inbuilt eslint rule

calm ruin
#

english

royal nymph
#

@calm ruin minor typo

royal nymph
calm ruin
#

that was completely another sentence

#

how is that minor

flint breach
#

"minor typo"

royal nymph
#

well i slipped like on row of keys

#

happens

calm ruin
#

nledodWOCN OFQOEPPKO DEWF

flint breach
#

oh I can't attach images

#

that sucks

calm ruin
#

sorry minor typo

royal nymph
#

v+ c @flint breach

#

now u can

flint breach
royal nymph
#
String.raw({ raw: strings }, ...values);

this syntax is so odd

#
export const stripIndent = (strings: TemplateStringsArray, ...values: any[]) => {
    const string = String.raw({ raw: strings }, ...values);

    const match = string.match(/^[ \t]*(?=\S)/gm);
    if (!match) return string.trim();

    const minIndent = match.reduce((r, a) => Math.min(r, a.length), Infinity);
    return string.replace(new RegExp(`^[ \\t]{${minIndent}}`, 'gm'), '').trim();
}

stripIndent`
        Hi
            Hello ${"World"}
`
glacial mirage
#

i think you're supposed to use tagged templates for that

flint breach
#

tagged templates are fun

royal nymph
#

this is identity function for tagged templates

flint breach
#

they look so stupid in code

royal nymph
#

i just took it from mdn

glacial mirage
#

yeah idk why the raw strings are in an object

royal nymph
#

anyway it works shadowcool

#

at this point nodejs should make it inbuilt

#

the fact that there are several stripIndent libraries with dozens of millions of monthly installs

#

maybe they could do it like other languages:

`
  this keeps its indent
`

`โ€‹``
     this strips its indent
`โ€‹``

royal nymph
#

basically, if you call a func with func`hi`

#

then you can access the raw parts of the template via arg1.raw

#

so String.raw just accesses & formats arg1.raw

#

we can trick it into thinking the normal string is the raw part by passing it as { raw: thing }

deep mulch
#

@royal nymph hi

royal nymph
#

hi

deep mulch
shell crag
#

no way

dawn ledge
#

oneko!!!!

royal nymph
#

80 views

deep mulch
#

oneko for compose @royal nymph

shell crag
supple whale
#

just evaluate it as a string in the first place?

#

stripIndent(string)?

#

why bother with the whole template shit

#

like its cool you can have the raw string and shit, for other string parsers and command inputs

#

but i've only seen one good use for it

#

google's zx

#

so by extension, execa and bun shell

#

but it's all google's zx code

royal nymph
#

instead of ```js
stripIndent( h)

supple whale
#

yes, but outside of being slower, and not supported on all engines, whats the point?

#

like have you ever actually found a good use for it?

#

legit curious

#

cuz i've also had this in the back of my had for ages now, but i cant think of a good use for it anywhere

#

i thought mby gql templates for JS, but that aint it either

royal nymph
#

slower
literally how lol. maybe marginally but it's irrelevant
not supported on all engines
who cares im using node

royal nymph
#

sql, html, gql

#
sql`
    SELECT * FROM users WHERE id = ${user.id};
`
supple whale
#

oh

royal nymph
#

there are multiple frameworks that use this

supple whale
#

input sanitisation?

royal nymph
#

yes

royal nymph
#

can just escape and join it together

#

same for gql, html etc

supple whale
#

gql no

#

since it has standalone variables

royal nymph
#
import React from 'react';

import styled from 'styled-components';

// Create a <Title> react component that renders an <h1> which is
// centered, palevioletred and sized at 1.5em
const Title = styled.h1`
  font-size: 1.5em;
  text-align: center;
  color: palevioletred;
`;

// Create a <Wrapper> react component that renders a <section> with
// some padding and a papayawhip background
const Wrapper = styled.section`
  padding: 4em;
  background: papayawhip;
`;

function MyUI() {
  return (
    // Use them like any other React component โ€“ except they're styled!
    <Wrapper>
      <Title>Hello World, this is my first styled component!</Title>
    </Wrapper>
  );
}
supple whale
#

but html yeah I can see that

royal nymph
#

this is cool too

#
supple whale
#

cri

royal nymph
#

typescript? do u mean react

#

that's less elegant

supple whale
#

typescript.

#

but yeah I can see it for SQL and html

royal nymph
#

if you mean

<div style={{ color: red }}>

that's react prop

supple whale
#

then again, if you write raw SQL in js you're insane

royal nymph
#

how else

#

orm isn't suited for everything

supple whale
#

I'll give u the code in a min

#

on the shitter

dawn ledge
#

you're not insane to write raw sql in any lang

#

sometimes you dont need an orm

#

debug script that is run once in a blue moon by devs only
yeah let me just pull in a whole ass orm and write my fancy little structs/interfaces (as opposed to like what a couple lines of sql)

supple whale
#

so u can then do

#
createWithStyles('div', { color: 'red', background: 'purple' })
#

and it links to MDN

#

this is generated, so you wont find it in typescript's source code

#

but

#

if you install it

supple whale
#

i rarely write sql manually anymore, 90% of the time its generated

#

sometimes i write queries for limited views, to say expose limited data from a protected endpoint without authorisation

glossy elbow
#

chat...

#

does anyone know how to make a css transition

#

i want to make elements slide in

#

i can show an example of what im talking about

royal nymph
#

if u literally have an example

#

why not just kang it

#

open devtools and see how they do it

glossy elbow
#

i want to do it in css but i'm clueless

cerulean plover
#

and

#

animation

winged mantle
#

i wonder what the best way to implement discord buttons is...

#

i think it's bad just to store all of the data in the buttons

cerulean plover
#

wdym "discord buttons"

#

as in "interaction buttons"?

winged mantle
#

{ [message_id]: { button_custom_id() { console.log("do thing") } } } maybe

cerulean plover
#

for a bot

winged mantle
#

yes

cerulean plover
#

you get up to 100 chars afaik

winged mantle
#

yeah but what if somebody finds some kind of exploit to inject something

#

idk

#

but how do you encode a callback function in there ๐Ÿ˜ญ

#

you'd just have to encode all of the captured variables

#

i'm specifically trying to implement this

#

which is kind of a pain

#

pagination

visual crag
cerulean plover
#

no no no no no

winged mantle
#

cmd:cases:{"args":{"target":"53895398538935"},"state":{"page":1}}

visual crag
#

should be shortcuts wherever possible

winged mantle
#

i want an easy way to do it everywhere

cerulean plover
#

?

winged mantle
cerulean plover
#

even better

winged mantle
#

but then wouldn't i need to clean it up

#

it can't just stay forever

cerulean plover
winged mantle
#

fun

#

i already need to do something like this to track edits

cerulean plover
#

just use some snowflake to date parser

winged mantle
#

so you can edit commands and the response updates

#

how do you make a map where stuff expires

cerulean plover
#

and do something like ```js
Object.keys(callbacks).filter(id => snowflakeToTimestamp(id) < Date.now() - something).forEach(id => delete callbacks[id])

winged mantle
#

that seems bad practice

cerulean plover
#

yes it is