#🧩-plugin-development

1 messages · Page 26 of 1

ionic breach
#

glad it worked!

#

🥂

opal iris
#

thank you VERY much @ionic breach @austere mauve and @dull magnet

#

you are all so helpful, patient, and kind

#

you have no idea how frustrating it has been for me to hit ctrl+r on accident.... this is a life saver!

ionic breach
slow charm
#

ain't that serious

ripe crypt
pulsar saffron
#

could someone tell me how I can make like borders around my discord

pulsar saffron
opal fern
#

I am not gonna make jt for you

pulsar saffron
#

I know like nothing about coding im lucky enough that I can slightly understand what im doing

dull magnet
#

then why are you in the coding channel

civic stone
#

rate my code

opaque crest
#

user will be automatically banned yesyes

civic stone
#

lol it actually does not catch the rejection AI just teached me

civic stone
#

i fixed it i make only top quality spaghet
this is a chatbot using yt-dlp video and image downloader cuz yt-dlp is fucking godlike and supports like 1800 sites (basically all social media)

pulsar saffron
dull magnet
#

wtf are those method names lmao

civic stone
#

'MessageMedia' is the type, an object the chat lib wants its just media in base64 and other chat info
and tryToSendMedia tries to send it as an embed and if fails it sends as document (supports any file)

i made the downloadMedia...() convert all videos to .mp4 so all videos will be compatible

but that breaks images cuz you cant recode images

so i had to create this monstrosity to fix that and support both images and videos

crude iron
#

I think he means that the method names are very verbose

civic stone
#

its called readable code

#

xD

#

i think we shouldnt rly be afraid of making code clearer

#

like what is the negative impact, using a few more letters, i hate unreadable code

crude iron
#

I mean this is most likely typescript, so you have pretty much most of its explanation

civic stone
#

yes i could make it shorter xd

dull magnet
#

"OrDocument" is obsolete because you don't care whether the method logs errors internally or not

#

"AndReturnMessageMedia" is obsolete because you can already easily infer this from any code

#
const media = await downloadMedia()```
#

you have the same amount of info in this code

civic stone
#

that makes perfect sense I didn't even think much of it

#

you don't wanna see the inside of the downloader function thuogh

#

it's like a murder scene

#

actually not that bad, but not sure if i can refactor this to make the code 'cleaner'? i think my code is improving greatly because my older functions from the same project are way worse blobcatcozy

#

theres a sticker making function so big i'm lazy to refactor

#

and all my chat command detections are ifs cuz i'm also lazy to make a command registerer / handler

opal iris
#
    if (e.key === "r" && e.ctrlKey) {
        e.preventDefault()
        e.stopPropagation()
    }
}, true)```
How would I change this to work on macos? changing from ctrl to cmd does not work
dull magnet
#

e.metaKey

opal iris
#

thanks again vee!

#

hmm so that's not actually working

#

https://stackoverflow.com/questions/3902635/how-does-one-capture-a-macs-command-key-via-javascript
this says

Unlike Shift/Alt/Ctrl, the Cmd (“Apple”) key is not considered a modifier key—instead, you should listen on keydown/keyup and record when a key is pressed and then depressed based on event.keyCode.

Unfortunately, these key codes are browser-dependent:

Firefox: 224
Opera: 17
WebKit browsers (Safari/Chrome): 91 (Left Command) or 93 (Right Command)

dull magnet
#

no

#

metaKey is correct

opal iris
#

I tried it with metaKey and it does not prevent refreshing

#

openasar is installed

#

does the js line in settings.json need to be last?
tried that and it doesn't work

dull magnet
#
/** COMPACT CHANNEL SIDEBAR **/

/* make sidebar thinner */
.sidebar-1tnWFu {
    width: 10em;
}

.scroller-1ox3I2::-webkit-scrollbar {
    display: none;
}

/* ... in channel names takes a lot of space, so remove it */
.overflow-1wOqNV {
    text-overflow: clip;
}

/* less padding in dm list */
.layout-1LjVue {
    padding-inline: 2px;
}

/* less padding in guilds & hide channel icon */
[aria-label="Channels"] {
    & a {
        padding-inline: 4px;
    }

    .iconContainer-21RCa3 {
        display: none;
    }
}

/* make user panel more compact */
.withTagAsButton-OsgQ9L {
    margin-right: 0;
    min-width: 5.6em;
    text-overflow: clip;

    /* smaller pfp */
    .avatar-1EWyVD {
        width: 24px !important;

        & svg {
            width: 32px;
        }
    }

    /* no ellipsis on texts */
    .title-338goq, .subtext-2HDqJ7, .hovered-20u3oh, .default-rFvAvS {
        text-overflow: clip;
    }

}

/* smaller mute/deafen/settings buttons in user panel */
.panels-3wFtMD {
    & button {
        width: 24px;
        height: 24px;
    }
}
#

someone help me make this better

opal iris
gilded creek
proud parrotBOT
# gilded creek is there a more robust plugins api documentation i havent been able to find (bey...

**2_PLUGINS.md: **

# Plugins Guide

Welcome to Megu's Plugin Guide! In this file, you will learn about how to write your own plugin!

You don't need to run `pnpm build` every time you make a change. Instead, use `pnpm watch` - this will auto-compile Vencord whenever you make a change. If using code patches (recommended), you will need to CTRL+R to load the changes.

## Plugin Entrypoint

> If it doesn't already exist, create a folder called `userplugins` in the `src` directory of this repo.

1. Create a folder in `src/userplugins/` with the name of your plugin. For example, `src/userplugins/epicPlugin/` - All of your plugin files will go here.

2. Create a file in that folder called `index.ts`

3. In `index.ts`, copy-paste the following template code:

```ts
import definePlugin from "@utils/types";

export default definePlugin({
    name: "Epic Plugin",
    description: "This plugin is absolutely epic",
    authors: [
        {
            id: 12345n,
            name: "Your Name",
        },
    ],
    patches: [],
    // Delete these two below if you are only using code patches
... (82 lines left)
viral roost
#

you can look at what other plugins do, and feel free to ask

gilded creek
#

im brand spanking new to this and my intent is to be able to search through multiple servers message history asw as dm history; my seizure medications give me horrible memory loss

#

(and i dislike losing arguments because i cant find message links)

gilded creek
#

from looking through the messagelogger, pindms, and showhiddenchannels plugins, all i can grasp is the mixins on webpack events

#

oh wait there are a lot more that just arent in their own directories that seem like they have helpful src

gilded creek
#

oh nvm theres a restapi that i can call to get further endpoint data

#

is there a documented tree of non-bot-user api endpoints?

gilded creek
#

oh thanks

opal iris
ionic breach
# dull magnet

some operating systems may intercept the key so it is never detected

#

that might be what vee was pointing out there

opal iris
#

ohhhhh I see

#

so it's not possible to do

ionic breach
#

well

#

it's possible you could get some sort of AHK-equivalent script running that intercepts ctrl+r before discord gets it

#

but overall i think you probably should learn to not hit ctrl+r when you mean to use ctrl+e ?

#

do you know the home row?

opal iris
#

understood :)

opal iris
ionic breach
#

oh nice nice

opal iris
#

I have arthritis and that complicates things when I have to stretch

ionic breach
#

ohh

ionic breach
opal iris
#

facts

ionic breach
#

idk which way you're going about it

opal iris
#

yeah it is and I get used to a certain amount of strain and when I have a flare up it's not the same as before

#

but it's ok

#

I'll just deal with it like I have been it's not a huge deal and I don't spend a lot of time on discord on my laptop anyways

dull magnet
#

and the search endpoint has a strict rate limit so you will have a hard time doing it anyway

green vessel
#

okay its now fixed with 2fa on

minor brook
#

ayooo

rocky jackal
dull magnet
#

why does it hurt you

rocky jackal
#

I like big buttons, makes them easier to click

#

makes the UI feel cozier

#

idk I have weird UI tastes

dull magnet
#

this is for vertical monitor

#

the channel drawer is so thicc it takes too much space

flint oxide
#

Ven did make the channels to hide on clicking the icon

dull magnet
#

i didn't like that, it's kinda impractical

rocky jackal
#

oops

#

"oh I see"

#

anyways, do you still need help with it or have your figured it out?

unreal glade
#

can i edit outgoing network requests from discord in plugin right before it goes out

#

(i want to add a flag value to the request)

dull magnet
#

what are you trying to do specifically

errant gale
#

i assumed it just showed the aria label on hover but forcing hover state or anything doesn't do anything on them

tight pecan
silk sorrel
#

I think they mean how to show the tooltip

tight pecan
#

oh

errant gale
#

ye

#

i want to show some info on specific keywords and thought i could yoink the timestamp style for it

#

but yea hovering doesn't work

unreal glade
#

that would also let people preview not mp3s in discord

dull magnet
unreal glade
#

damn

#

i started a while ago but then forgor 😔

dull magnet
#

it's basically done but voice recording only works on web, not discord desktop

#

because discord moment

unreal glade
#

does it let me upload files as voice msgs

#

(i do not want to rename my opus files into mp3s just to play without downloading)

dull magnet
#

it does

#

either record or upload

#

but non ogg files will not be playable for ios users

#

they work fine on android and desktop

unreal glade
#

im okay with discrimination

amber mantle
#

more like just files

#

cause oggs dont play either shiddohwell

#

a la crapple moment

brisk dust
dull magnet
#

it's possible it only supports some of them

amber mantle
#

oh probably

dull magnet
#

similar to how mp4 can have multiple encodings

#

mp4s using hvec don't work in discord either

hardy onyx
#

is there any way i can get rid of the stupid ass "add to channel list" feature

#

with css or some shit just disable that shit and force the channel to be in my list

viral roost
#

not on pc but i can tell you how to do it
open devtools (ctrl+shift+i) and go to elements tab
there should be a cursor next to a box thing in the top left of devtools
open the channel context menu, then click on the button described earlier and on the "add to channel list"
if you go up a bit, you should be able to find an element with id="channel-context-blahblah"
go to quickcss and add

#channel-context-blahblah {
    display: none;
}
gaunt sluice
#

also i the border radius is supposed to be 8

#

i can check in a sec tho

grizzled narwhal
#

oh lol

trail ginkgo
#

so uh im kinda dumb but how can I open a simple modal, and is Vencord.Util.openModal() a good way to do it?

oblique lark
#

what would that method be for if not to open a model

gaunt sluice
#

cause i had work

#

lol

jagged briar
#

First time contributing, this happens when I run npm i

npm ERR! While resolving: eslint-plugin-path-alias@1.0.0
npm ERR! Found: eslint@8.44.0
npm ERR! node_modules/eslint
npm ERR!   dev eslint@"^8.28.0" from the root project
npm ERR!   peer eslint@"^6.0.0 || ^7.0.0 || >=8.0.0" from @eslint-community/eslint-utils@4.4.0
npm ERR!   node_modules/@eslint-community/eslint-utils
npm ERR!     @eslint-community/eslint-utils@"^4.2.0" from @typescript-eslint/utils@5.62.0
npm ERR!     node_modules/@typescript-eslint/utils
npm ERR!       @typescript-eslint/utils@"5.62.0" from @typescript-eslint/eslint-plugin@5.62.0
npm ERR!       node_modules/@typescript-eslint/eslint-plugin
npm ERR!         dev @typescript-eslint/eslint-plugin@"^5.59.1" from the root project
npm ERR!         1 more (eslint-plugin-unused-imports)
npm ERR!       1 more (@typescript-eslint/type-utils)
npm ERR!     @eslint-community/eslint-utils@"^4.2.0" from eslint@8.44.0
npm ERR!   8 more (@typescript-eslint/eslint-plugin, ...)
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer eslint@"^7" from eslint-plugin-path-alias@1.0.0
npm ERR! node_modules/eslint-plugin-path-alias
npm ERR!   dev eslint-plugin-path-alias@"^1.0.0" from the root project
npm ERR!
npm ERR! Conflicting peer dependency: eslint@7.32.0
npm ERR! node_modules/eslint
npm ERR!   peer eslint@"^7" from eslint-plugin-path-alias@1.0.0
npm ERR!   node_modules/eslint-plugin-path-alias
npm ERR!     dev eslint-plugin-path-alias@"^1.0.0" from the root project
dull magnet
#

dont use npm

#

use pnpm

jagged briar
#

got it

#

thanks

stuck falcon
#

What is the Discord gateway event name if someone clicks a button on a message?

austere mauve
#

I think they mean for a bot

austere mauve
#

and god discord sucks at writing docs

stuck falcon
#

Thanks

sly flower
stuck falcon
#

I'm writing a bot for my server because I want it to be as clean as possible

#

and because i want it to be a 100% internationalised server shiggy

viral roost
#

at least search works

waxen siren
#

AAAAAAAAAAAAAAAAAAAAAAAAAAAA

echo robin
#

top 3 things every coder appreciates:
1-VSCode
2-VSCode
3 is a bit controversial but, VSCode

viral roost
#

neovim:

cunning imp
#

s/VSCode/Neovim

trim igloo
cunning imp
restive gulch
#

does vencord support custom plugins

ionic breach
#

vf plugins

shrewd tundraBOT
#
How do I install BetterDiscord / Replugged / [insert other mod here] plugins?

You can't.

Chances are, it's already a Vencord plugin! Or if it isn't, you can open a plugin request

restive gulch
cunning imp
#

there's a guide on the repository. unless you know what you're doing, I'd suggest sticking to the built-in ones (or request plugins)

ionic breach
viral roost
dull magnet
#

that's pretty good

#

the structure could use some work but other than that

green vessel
#

It's amazing

echo robin
#

guys should i learn java (or any oop languages)?

amber mantle
#

learn brainfuck

cunning imp
#

That is the wrong question to ask 🧌

stuck falcon
cunning imp
#

yeah i dont see a need for this
copilot.vim works fine as is

stuck falcon
#

copilot.vim so heavy

cunning imp
#

uh, no

amber mantle
#

@quartz verge should use

#

actually wrong person

#

@round mirage you

ionic breach
cedar marsh
#

Or commented on

#

Oldest open complete pull request without a single comment or review from ven

fervent flowerBOT
#

Out of curiosity, does anyone know what version of webrtc discord is using?

echo robin
#

should i switch to vim/neovim instead of vscode?

#

i can always install nv chad for neovim

viral roost
#

up to you

dire fern
dull magnet
#

🤨

amber mantle
#

whar

next bramble
#

learning java is only really helpful if you're looking for job security, I guess

dull magnet
#

oop sucks tbh

proud valley
#

well the way java and c# do it sucks bc of all the boilerplate

proud valley
viral roost
#

c++ fear

proud valley
#

c++ is honestly not that bad

trim igloo
viral roost
#

the only thing it's good for is turning people away from programming (/s but it is really good at that)

dull magnet
#

functional programming with slight bits of oop is superior

gaunt anvil
viral roost
#

ptsd from js classes

trim igloo
dull magnet
#

golang does it perfectly

#

most things are function based but for things where you need to organise data into possibly many different containers you have structs and methods on them

#

pure oop is cancer

#

the mix of the two is perfect

dull magnet
proud valley
dull magnet
#

no

proud valley
#

more c

trim igloo
dull magnet
#

go is nothing like python and nothing like C++

#

go is made to be similar to C

proud valley
dull magnet
#

thats my favourite style of programming

crude iron
#

yeah same

dull magnet
#

also a lot of higher order functions

proud valley
#

i like kotlin a lot

cunning imp
#

ProblemFactory

dull magnet
proud parrotBOT
dull magnet
#

(idk why i didnt use ??=)

cunning imp
gaunt anvil
cunning imp
#

I like it, it's really neat for serverside

austere mauve
#

factory: () => NonNullable<T>

dull magnet
#

go does so many things so well but then absolutely ruins it with their horrific error handling and lack of ternary

austere mauve
#

fix

cunning imp
#

the GC doesn't matter in serverland anyway, just throw more resources at it

dull magnet
#

mainly the error handling, i can live without ternary

cunning imp
#

i like the fact that you return multiple values
in-band errors are shit

dull magnet
#

in-band errors?

#

i wish go had a better way to propagate errors

cunning imp
#

things like

int function_that_might_error(some_args) {
  // if error occurs, return -1
}
dull magnet
#

oh yeah thats worse

#

i prefer throw tho

#

or smth similar

cunning imp
#

in Go, you just return whatever data you've got so far and an error

dull magnet
#
func stuff() (string, error) {
  stuff, err := DoStuff()
  if err != nil {
    return "", err
  }
  
  otherStuff, err := ProcessStuff(stuff)
  if err != nil {
    return "", err
  }

  moreStuff, err := EvenBetterStuff(otherStuff)
  if err != nil {
    return err
  }

  return moreStuff.banana, nil
}
#

i just fucking hate this style of code

cunning imp
#

but yes, error propagation is... funky in Go

dull magnet
#

but you end up writing it too often

#

i wish there was a better way to propagate errors

#

like ? how rust has it

cunning imp
#

i filed the ? under syntactic sugar tbf

dull magnet
#
func stuff() (string, error) {
  stuff := DoStuff()?
  otherStuff := ProcessStuff(stiff)?
  return EvenBetterStuff(otherStuff)?.banana, nil
}
#

this would be so much better

cunning imp
#

maybe

#

i like the explicit way a little more, it's relatively easy to forget a ?

dull magnet
#

also ternary but the go team has explicitly said they're not adding ternary sooo 🫡

dull magnet
cunning imp
#

oh yeah

#

but what if I don't care about the error

dull magnet
#

i mean

#

then you can use the normal syntax

#
foo, _ := DoStuff()
cunning imp
#

yes, so this is syntax sugar

dull magnet
#

yes

#

just a nicer way to write error propagation

cunning imp
#

i dont like syntax sugar 🧌

#

it's bad for your teeth

dull magnet
#

so fake

#

i love sugar

cunning imp
#

i have permamently low blood sugar, not fun

austere mauve
proud valley
#

in lua u can write ur own syntax sugar using metatables

cunning imp
#

sounds like C++ templates, but worse

#

metaprogramming 👍

proud valley
#

its not bad at all

cunning imp
#

I'm more of a DevOps / Infra / SysAdmin guy, so I wouldn't know 🧌

proud valley
#
function register(...)
    local args = {...}
    for i = 1, select('#', ...) do
        debug.setmetatable(args[i], {
            __call = function(condition, valueOnTrue, valueOnFalse)
                if condition then
                    return valueOnTrue
                else
                    return valueOnFalse
                end
            end
        })
    end
end

-- Register the required types (nil, boolean, number, string)
register(nil, true, 0, '')
#

this adds ternary and it would work like

print(condition (ifTrue,ifFalse));
dull magnet
#

thats kinda useless tho

#

you can do the same with a function

cunning imp
#

you can do the same with assembly, but faster

dull magnet
#
func Ternary[T any](condition bool, ifTrue, ifFalse T) T {
  if (condition) {
    return ifTrue
  } else {
    return ifFalse
  }
}

Ternary(1 == 1, "hi", "bye")
#

but that has the limitation that it always evaluates both sides

proud valley
dull magnet
#

so instead you need to do like

func Ternary[T any](condition bool, trueCb, falseCb func() T) T {
  if (condition) {
    return trueCb()
  } else {
    return falseCb()
  }
}

barOrNil := Ternary(
  foo != nil,
  func () *string {
    return &foo.bar
  },
  func () *string {
    return nil
  },
)
#

which is ugly asf xd

it would be better if go had lambdas but they dont :(

proud valley
#

yea u have to do that if u do a ternary function in lua too

#

its very sad that roblox added types in lua before lua did

dull magnet
#

lambdas would make it bearable but that's another thing go said they won't add

Ternary(foo != nil, () -> &foo.bar, () -> nil)
proud valley
#

c++ lambdas are weird

#
[/* any variables to capture */]() -> {}
[]() -> mutable {}
#

its c++ tho nothing is normal

crude iron
#

c++ ... are is weird
👍

dull magnet
#

i like c++ lambdas honestly

#

you tell it what to capture explicitly

#

i like that

#

cause it makes it harder to cause leaks

proud valley
#

yea i like it to

#

but i dont get the mutable part

dull magnet
#

why?

#

i assume that means you can mutate variables

#

thanks to that the compiler can determine whether you want to mutate the variables

#

if you don't need to mutate, it can make copies of them which might be more efficient

proud valley
#

i once made a "language" using python that compiled to c++ but its very shitty

#

lol

dull magnet
#

especially for unique_ptr

proud valley
#

ive never used smart or unique pointers

dull magnet
#

c++ shill but never used smart pointers? :o

#

they're one of the best features of c++

potent fox
#

oop epic

stuck falcon
#

what is a smart pointer

proud valley
dull magnet
#

yes

proud valley
#

better than concepts 🤨

green vessel
#

let me code

#
console.log('e');
oblique lark
#
> console.log('e')
e
undefined
timid hinge
dull magnet
#

thats kinda mid

#
function makeFunny(obj, path = "") {
    const funny = new Proxy(function() {}, {
        get(_, k) {
            return makeFunny(obj, path + k);
        },
        apply(_, $this, args) {
            const v = obj[path];
            if (args.length) return Reflect.apply(v, $this, args);
            return makeFunny(v, "");
        }
    })
    return funny
}
#

you're welcome

oblique lark
#
class Main {
  public static void main(string[] args) {
    LoggerFactory factory = new LoggerFactory();
    Logger logger = factory.build();
    logger
      .startLogging()
      .addChar('h')
      .addChar('i')
      .endLogging();
  }
}

industry standard code

dull magnet
#

true

oblique lark
#

elder scrolls iv

dire fern
#

when i open settings some function makes the settings change its opacity or size or something for an animation, is it possible to overwrite that? it seems to be from discord, it makes opening settings really laggy

#

i did manage to overwrite the value when rendering but it still gets calculated (efficiency™)

silk sorrel
#

enable reduced motion in accessibility settings

rocky jackal
#

How does Vencord.Api.ServerList.addServerListElement work?

dull magnet
#

we love discord

rocky jackal
#

ah

#

I think it's called react sprite?

#

I hate that piece of shit

#

There is negative performance benefit

#

It basically takes a big hit on performance

#

And they like to use it A LOT

dull magnet
#

spring

rocky jackal
#

ah yea

#

and making them use more useless resources

#

composite css animations exist

#

transitions (to be avoided) exist

rocky jackal
rocky jackal
#

LETS GO

dire fern
nocturne apex
cunning imp
#

how does that work lmao, my unicode analyser doesn't show anything sus

#

genius

#

it's really incredible how incomptent discord is

nocturne apex
#

123456789012345678901. 123456789012345678901. 123456789012345678901. 123456789012345678901. 123456789012345678901.

rocky jackal
#

okayyy so

#

this, is a nitro theme

#
:root {
    --custom-theme-background: url("https://dablulite.github.io/Cyan/cyan-waves.png") !important;
}

Enable any nitro theme and put this in quickcss

viral roost
#

any valid css background can be used as a custom-theme-background

#

so i dont see how that's a surprise

civic stone
#

anyone knows an easy alternative to github actions for ubuntu

rocky jackal
#

will definitely make use of that

grim hare
civic stone
#

2 issues with github actions, 1st getting my github account token eternally authenticated in ubuntu, is both unsafe and i tried all guides they just don't work (it still asks me for auth when i run git pulls even after it should have kept me authenticated) 2nd, the github actions script itself is complicated

#

so yes a ci cd i think, i need to push the code from my computer and have it autorun pull and build for me in the remote ubuntu server

civic stone
#

fuck it im already learning github actions but the hard part for me is making github persist auth on ubuntu lol absolutely all existing guides for this suck tremendously, even official ones, but i did found a semi recent youtube tutorial on this

grim hare
#

persist in ubuntu as in on your local machine/one you control or in the container running on gh actions

#

ah I think I understand now

civic stone
#

not sure, i thought i needed to first make git persist my credentials in ubuntu before using github actions there?

grim hare
#

nvm I don't undestand anymore

#

what's your full usecase? Like auto deploying to a server or something else

civic stone
#

remote ubuntu 22.x VPS has my React frontend + nodejs backend in the same project, i need this vps to pull+auto build those on push

#

cuz im doing that manually for 3 branches

#

which is huge pain in my ass

#

everytime i update anything

grim hare
#

or you could set up a cron job that just git pulls+builds every so often but you won't get instant updates with that - this solution would be easiest

civic stone
#

but i still have to fix ubuntu not persisting my github credentials and always asking me for it

grim hare
#

the easiest way to do that would be to use ssh key authentication, rather than http - unless you set stuff up with access tokens and all that

civic stone
lofty crypt
echo robin
cunning imp
#

the vscode-vim plugin is a good transitional tool

austere mauve
#

all vim plugins for vscode suck

#

honestly just use vsc, specially if you're still learning stuff

#

you can always learn vim later

pulsar harbor
#

I should switch to neovim I don't even know why I use emacs anymore

#

I'm just too lazy 😭

lofty crypt
#

ViKeys, Spacemacs, or Doom Emacs might be of use for you

grim hare
#

I was asked to help with some frontend js at work and the code that I'm shown the person is trying to edit is all minified

#

and they don't have the original non minified code

#

I have spent three hours teasing apart the file to some semblance of a readable state distress

#

I want to explode now I need to rewrite 200 lines of nested ternaries into normal if statements

cunning imp
#

200 lines of nested ternaries
wtf

grim hare
#

This is ideal code. Some devs may not like it, but this is what peak performance looks like.

austere mauve
#

jquery husk

cunning imp
#

for peak performance, rewrite in Java or smth
idk code

cunning imp
cunning imp
#

fun

#

easy money I guess (hopefully you're paid by the hour)

lofty crypt
grim hare
cunning imp
#

rude

grim hare
pulsar harbor
#

rip 😭

grim hare
#

it would be interesting to pass this to chatgpt or something else but the logic is too mangled to figure out a decent chunk that I can give it

cunning imp
#

copilot could probably manage it to a bigger extent

austere mauve
pulsar harbor
#

this looks obfuscated

#

also looks similar to gats.io code and the gats.io hacking community is where i learned jsnice existed from lol

grim hare
austere mauve
#

yes its obfuscated

grim hare
#

it did all the ternaries

pulsar harbor
pulsar harbor
austere mauve
#

I unobfuscated that by hand before trolley

#

its so stupid

#

there are fake branches

pulsar harbor
#

then IDK

pulsar harbor
austere mauve
#

basically that

grim hare
#

why would they feel the need to do that

austere mauve
#

probably trying to hide where the actual code is and their anti-tampering thing

#

I already guessed what the script did tho I deobfuscated it for fun

lofty crypt
#

or via vpn from anywhere ofc -.-

#

tho idk if i’d trust ai with refactoring if it isn’t specifically made for that purpose, since any hallucination could break the program ig

pulsar harbor
pulsar harbor
#

i can say with confidence that nobody bothers cheating in tetris

austere mauve
#

boy you're missing out on so much

pulsar harbor
#

invite me to server if so 🥺

austere mauve
#

this is a super competitive game i mean

#

ofc there are cheaters

pulsar harbor
#

ic

#

ig it's just a "low hanging fruit" anticheat since anybody who's making a cheat because it's fun wiill just bypass it and have more fun doing so!

austere mauve
#

unironically the most known mod for this website does not bypass the anticheat

#

and everyone complains that using it makes the anticheat trigger sometimes

#

lol

pulsar harbor
#

☹️

#

all my friends play another site with no anticheat!

austere mauve
#

probably they never tried looking into what this does

#

and just call it a black box

pulsar harbor
#

unfortunately i can't cheat against them because i cba to learn js to cheat in tetris and the skidded userscript doesn't work

austere mauve
#

I mean I'd never have guessed there was this tampering check if I didn't reverse this

#

and it took me hours

pulsar harbor
#

😭

#

bring back java applets

#

so we can use java-deobfuscator and ez auto deobfuscate

austere mauve
#

horrifying

pulsar harbor
#

and we can mine monero on the web!

pulsar harbor
#

idk i don't do web game cheating

austere mauve
#

em

#

no

#

and not even necessarily for cheating

#

but you can monkey patch window.eval trolley

pulsar harbor
#

😄

#

fun

pulsar harbor
#

just realized that I've been running this for a few hours as a troll solution to a cryptohack thing

#

😭

green vessel
#

hey, I've found a way to send voice messages through PC, does anyone wanna work together to make this a vencord plugin?

dull magnet
#

just see description for what needs to be done still

green vessel
#

oh sweet

magic sorrel
meager snow
#

oh god

#

where does it store them

cunning imp
#

your github link doesnt work

steel cipher
cunning imp
#

thank you very much

cunning imp
meager snow
#

haha disk usage go brrrrrrrr

cunning imp
#

it reads quite lean to be fair

meager snow
#

there doesnt even seem to be a limit of how many messages it can store, doesn’t it

cunning imp
#

i'm not good at reading TypeScript, look for yourself

steel cipher
#

how do you style the scrollbar? is it just the webkit pseudo elements

raw lotus
#

Damn that's funny, the patching looks like using Harmony for Unity games, but instead of using code matchers and IL, you juste use a regex

#

That's really neat

#

I saw there was some kind of Vencord internal storage ?

#

for settings*

#

it's a true hell to find what you look for in Discord's code..

raw lotus
#

Harmony was pretty clean to use actually

#

and very efficient, when you use transpilers

gaunt anvil
#

That's actually true

#

Just monkey patching in general is horror to me

raw lotus
#

I understand

#

Well for me it's the opposite, I never did anything with this kind of hum.. patching

#

And I really don't understand how you can find what you want into.. this

raw lotus
gaunt anvil
#

Idk lol

raw lotus
#

i mean, at least with harmony you could refer to one of your code snippets by inserting a use of your function and all that, or just by pre-post patching those

raw lotus
raw lotus
#

I know that all I want is remove elements depending on certain conditions defined by settings internal to the plugin I want to make

raw lotus
#

Hm. Looks like I choosed the wrong time to want to contribute or make my plugin for vencord.. lol.

cedar olive
#

there is a button to beautify the code

raw lotus
#

wait where ?

cedar olive
#

under the code window

raw lotus
#

oh my god

#

{}

cedar olive
#

yep

raw lotus
#

dear god

cedar olive
#

now you can actually understand

raw lotus
#

96k lines yikes

#

491k lines wth how am I meant to find something into that

#

even subnautica has less lines of code than this... Or at least it's spread.

dull magnet
#

you don't read everything

#

just use search / react devtools / jump to function definition

austere mauve
#

don't listen to ven you should read every webpack module and carefully study them it's totally worth it

amber mantle
#

dont listen to either of them you should do something else that wont drive you insane

#

like building chromium on a 10 year old thinkpad

left tide
#

I have a question: what do I learn after python? I feel like I am good enough in python, but I can't think of a programming langhage to start learning

left tide
timid hinge
#

you kinda made a mistake starting with py, the syntax is very different from anything else

timid hinge
#

most good languages today are c-styled, python is not

#

if you want something rather simple, go with java

#

if you want a challenging but really good language, c++

dull magnet
#

pick ur poison

left tide
#

Scratchbleh

left tide
dull magnet
#

yes

left tide
#

Kotlin looks fun

#

I like suffering

flint oxide
#

learn C and teach procedural programming

#

or C++ and teach OOP

#

pick your poison

left tide
flint oxide
#

my profs can't seem to put programming knowledge into my head

timid hinge
#

its kinda funny at first but its relatively easy to pick up

left tide
#

H

flint oxide
#

I heard my tutor say that in order to pass the upcoming C++ course I have to be like very firm with C, which I unfortunately am not

#

I did just enough to pass the C course this semester

left tide
#

I just looked at how c++ hello world looks like and Jesus christ.

timid hinge
#

cmon

#

the std::cout is entirely optional btw, printf from c still works

left tide
flint oxide
#

I love how they taught Procedural Programming here lol

#

I got bored after the first few lectures and skipped the rest

#

The practical training which gave credits had nothing to do with what was taught

#

Thank God they removed the written final exam, otherwise I would have been screwed

dull magnet
#

c++ streams are nice but very ugly to look at

left tide
#

Java web it isnyaboom

flint oxide
#

had a convo with BD theme devs and my conclusion is I am likely to make a theme exclusive to Vencord nyaboom

#

I'm too inexperienced to deal with the fancy tools they have over there

left tide
flint oxide
#

well some people over there are kind and helpful

#

ven is also there

pulsar harbor
#

reddit try to use websockets challenge (impossible)

#

@timid hinge hey 0x hope ur having a good day!

timid hinge
pulsar harbor
#

😍

civic stone
# left tide

People who have nothing to hide don't hide their ip. Show it

#

Mine for example is 192.168.1.1.

left tide
cunning imp
#

mine is ::1

civic stone
#

Rekt. Penetration already in progress.

trim igloo
ocean kelp
#

I have a domain just for me IP
localhost

civic stone
ocean kelp
#

yip

timid hinge
#

i have nothing to hide, here is my ip

left tide
#

I do lol

timid hinge
#

(that was a joke)

#

(do a whois on the ip)

left tide
#

My 2nd niko plush is a secret

pulsar harbor
#

someone should make this but with CGNAT and dynamic IPv4 allocation

south ridge
dull magnet
south ridge
bitter tangle
#

Hey so i'm new to this, but how do you change the text color of unread channels?

meager snow
#
.modeUnread-3Cxepe .name-28HaxV {
  color: WHATEVER YOU WANT HERE;
}```
bitter tangle
#

thank you

#

been trying to figure it out

#

worked perfectly

dire fern
#

if you want your own color instead of red or blue, try using "rgba(1-255,1-255.1-255,0-1

#

R for red, g for Green, B for blue and a for opacity because it just makes sense

flint oxide
#

I prefer my HSLA scheme

bitter verge
#

sup

#

can someone help me implement this theme on basic discord css classes?

#
@import url('https://mwittrien.github.io/BetterDiscordAddons/Themes/DiscordRecolor/DiscordRecolor.css');

:root {
  --accentcolor: 114,137,218;
  --accentcolor2: 255,115,250;
  --linkcolor: 0,176,244;
  --mentioncolor: 250,166,26;
  --textbrightest: 255,255,255;
  --textbrighter: 222,222,222;
  --textbright: 185,185,185;
  --textdark: 140,140,140;
  --textdarker: 115,115,115;
  --textdarkest: 80,80,80;
  --font: gg sans;
  --backgroundaccent: 56,56,72;
  --backgroundprimary: 28,28,39;
  --backgroundsecondary: 38,38,51;
  --backgroundsecondaryalt: 56,56,72;
  --backgroundtertiary: 48,50,62;
  --backgroundfloating: 21,21,31;
  --settingsicons: 1;
}
#

I'm not into it honestly

opal fern
#

Hey, I have this file with a bunch of words, and a script that does some basic stuff to check if any word can have the last few characters replaced with a tld, and then creates a markdown file with a table of the domains and some providers it can grab from. The thing is, the file with the words is making my code add newlines for some reason, and I cant figure out how to remove these newlines. Attached are the words and the script. I would recommend against running the script, as it takes over 4 minutes on a 3.6GHz core

#

I think I figured it out

#

it was using \r instead of \n line endings

grim hare
#

I was about to say, yeah

opal fern
#

Time to wait 4 minutes

grim hare
#

you might have better/more consistent work by splitting on whitespace with /\s+/

opal fern
grim hare
#

also instead of using regex to search for the end of a string you may be able to get more performance if you just used if (word.endsWith(tld)) as well as setting everything to lowercase ahead of time, with const TLDs = fs.readFileSync('./data/TLDs.txt').toString().toLowerCase()

opal fern
#

Ty, will clean up now in a second

#

Yup, now my tables are fixed

#

Lowercased everything, using endsWith, lets see how it goes

#

was significantly faster woao

grim hare
dull magnet
#

probably done

grim hare
#

after double checking my cpu speed I actually have no clue if I actually improved the speed or not because for some reason my laptop cpu is 4.4ghz

#

fast laptop

dull magnet
#

i fucking hate windows

#

its not even used aby anything anymore :(

#

i cant delete it cause the terminal im using is using it??

grim hare
#

mystery windows

silk sorrel
#

cd out of the directory

dull magnet
#

i have look at the screenshot

dull magnet
fervent flowerBOT
#

iirc i had that problem and fixed it by just making a new shell

dull magnet
#

yes

fervent flowerBOT
#

but yeah big windows skill issue overall

#

(also what coreutils replacement are you using?)

dull magnet
#

the rust ones

fervent flowerBOT
#

understandable

trim igloo
#

silly vee, just don't use windows

fervent flowerBOT
#

silly they actually fixed all these bugs in windows 365 🙄🙄🙄 just use that instead

ionic breach
#

@flint oxide
the changing gradient was a bit too distracting for me so i changed it to profile primary gradient... but now ofc if someone doesn't have that set it doesn't do anything... do you know of any way around that

#

(for the pronouns stand out more css snippet)

#

oh maybe i should have made a thread for this

flint oxide
#

profile primary gradient hmm ...

ionic breach
#

i don't think there's a fix

#

so pretty tho

flint oxide
#

there could be a distinction between themed profiles and non themed profiles

ionic breach
flint oxide
#

Yeah it looks really nice

ionic breach
flint oxide
#

I will try later

ionic breach
#

o7

#

no rush no rush

flint oxide
#

worked

#

I set all the unthemed profiles to primary-300-hsl

ionic breach
#

Do you have the code for that blobcatcozy

flint oxide
#

and they will change dynamically with my accent color

#
[class*=pronouns] {
  text-transform: none;
  color: var(--text-normal);
  font-size: 16px; font-weight: 800;
  padding: 0.25em 0.375em; margin: 0.25em 0 0 0;
  border-radius: var(--modular-border-radius-secondary);
}

[class*=userProfileOuterThemed-] > div > [class*=userPopoutOverlayBackground-] > div > div > div[class*=pronouns-] {
  background: var(--profile-gradient-primary-color);
}

[class*=userProfileOuterUnthemed-] > div > [class*=userPopoutOverlayBackground-] > div > div > div[class*=pronouns-] {
  background: hsl(var(--primary-300-hsl)/1);
}
ionic breach
#

Tyty

flint oxide
#

Finally I managed to create a github pages repo 🥹

flint oxide
lone panther
#

i for one am a fan of the gay-dient on the pronouns highlight thing

flint oxide
#

could do the same on this text

#

but im eepy

ionic breach
#

hmm

#

doesn't work with my theme

#

:/

#

neither one

#

and i was checking the html and it looks like the banner color is hard coded

flint oxide
#

huuuuuuh it worked for me 🥲

brisk dust
dull magnet
#

nah

dull magnet
flint oxide
#

I have an <@&1118512943106101309>mport in my quickcss that imports the discord color variables from the left, but when I also include the modified variables from the right into the same file and import everything at once, my theme breaks. Is there a reason behind that?

#

I want to import all the defined color variables so that what's left is this part for the user to customize:

ionic breach
#

It was me screenshotting default discord code

brisk dust
#

ok

ionic breach
#

!important was one of the first things i tried. But primary gradient is set by my theme to be secondary alt. So it doesn't do anything. I need to redefine primary gradient like what aoi did maybe

#

But I'd want to redefine it to be like banner-color but that isn't an option

ionic breach
flint oxide
#

its not possible with banner-color

#

what is possible however is set the pronouns background to whatever my client background is

rocky jackal
#

what are ya'll trying to do?

flint oxide
#

though i'm not sure why you would even want that in the first place

flint oxide
rocky jackal
#

seriously

#

basically makes the banner useless

flint oxide
#

ikr

ionic breach
ionic breach
rocky jackal
#

uh huh

#

very readable

ionic breach
#

Hmm

#

Then you'd need to inverse the text color ig

flint oxide
#

but then what if black banner

rocky jackal
#

how would you know what font color looks better with which background\

flint oxide
#

the text inside would be illegible

ionic breach
#

Oh

#

White inversed again

rocky jackal
#

omg

#

How would the snippet know to change?

flint oxide
#

Just set one text color for each 16 million banner color

ionic breach
#

So this is pointless

rocky jackal
#

you can't

ionic breach
#

So.

#

Why even

#

???

rocky jackal
#

Don't ask me

ionic breach
#

You're the one asking the questions here

rocky jackal
#

You wanted to make this from what I understand

ionic breach
#

And it was proven impossible sooooo

flint oxide
#

I don't see a point in doing so

#

Dablulite's snippet is already the current best version

flint oxide
#

the client seemed a bit less laggy once i put all the code into one import file

#

I still need to clean the code for the next weeks or months so my potato laptop can run it smoothly

junior cove
#

Can you not just set mix-blend-modeon the text to difference or exclusion? (In response to the pronouns thing, forgot to reply)

Oh, they're the same element. Yeah I'm not sure there's much you can do with that

civic stone
#

anyone knows an easy way to migrate a DB data dump from MYSQL to POSTGRES?
I already created the same schema succesfully in postgres with sequelize. But the exported mysql tables' data is invalid syntax for postgres

grim hare
#

you can use something like pgloader to import the data

civic stone
#

their documentation for the tool is really trash, (in my opinion) sadly. but i will try to fix this

grim hare
#

you could always just try to change the password on your local db to make it work, make a backup of the mysql and just fiddle until it works

civic stone
potent fox
#

I exported everything as csv file from mysql

#

recreated tables and imported csv files

civic stone
potent fox
civic stone
#

ill either use pgadmin or convert the exported SQL data to postgres syntax

#

it tells me invalid syntax trying to run the SQL to insert the data

civic stone
civic stone
potent fox
#

do

civic stone
# potent fox do

i think ill need to import each of the 12 tables manually but yes seems ilke this will work

#

ill just have to do it 24 times xd

potent fox
#

there were some migrators but I couldnt get them to work if I remember correctly

pulsar harbor
#

hey besties

fluid grotto
#

no

pulsar harbor
#

anyone wanna deobfuscate bingewatch.to so i can pirate without minor inconvenicnes

fluid grotto
#

i dont even know what coding language that is

pulsar harbor
#

because it's a website

#

im forced to do static analysis for the first time in my life because they somehow blocked the developer console

fluid grotto
#

i got this

#

idk how proper it is

#

its still slightly obsfucated

#

and probably ass

#

im clearly a pro

#

(i will kms)

steel cipher
civic stone
#

cleaning the added obfuscation logic

dire fern
#

can i somehow say "do this to all children of this element but not to the element itself" in css?

#

for example hiding everything in the server list but the server list element itself is still shown so i could do :after or :before to make something show there anyways? i feel like selecting every element specifically is something some devs might have thought about as being unreasonably complicated

crude iron
#

.selector > *

dire fern
#

oh

#

yeah okay im stupid

#

thank you, i should have known that haha

flint oxide
#

I'm gonna give the user the ability to flip as many panels as possible trolley

viral roost
#

comic sans

flint oxide
#

only valid font

amber mantle
#

looks like horror layout

flint oxide
#

must satisfy all end users

#

no matter how horror it looks

amber mantle
#

thats impossible but i hope u have fun

flint oxide
#

ty :3

#

gonna make this theme exclusive to vencord

#

screw BD

brisk dust
#

Explod V2:

#
import definePlugin from "../utils/types";
import { Devs } from "../utils/constants";


export default definePlugin({
    name: "Explosion",
    description: "replace the \"discordo\" sound on startup with something a bit more interesting",
    authors: [
        Devs.echo,
        Devs.FOXSTORM1,
    ],
    patches: [{
        find: "ae7d16bb2eea76b9b9977db0fad66658.mp3",
        replacement: {
            match: /e\.exports=n\.p\+\"[a-zA-Z0-9]+\.mp3\"/,
            replace: 'e.exports="https://html-usrpfp.fatalfang.repl.co/explosion.mp3"'
        }
    }]
});
brisk dust
#

Useless Plugin:

#
import definePlugin from "@utils/types";
import { Devs } from "../utils/constants";

export default definePlugin({
    name: "Useless Plugin",
    description: "This plugin does nothing and is completely useless",
    authors: [{
        name: "FOXSTORM1",
        id: 789872551731527690n
    }],

    patches: [],
    start() {

    },
    stop() {

    },
});
lusty wind
#

hello may i know where to get/what is the css class for the: channel name text of current selected/browsing channel, and the icon of current selected server? sorry if this is the wrong place to ask for this

chrome elbow
#

ctrl shift i
ctrl shift c
click it

tight mist
lusty wind
#

thanks

tight mist
lusty wind
#

🫰🏿 thanks to both of you.

tight mist
#

👍

tight mist
dull magnet
#

those selectors are really bad

#
[class*="modeSelected"]:has(a[data-list-item-id^="channels__"]) [class^="name"]::first-line {
  background-color: blue !important;
}
flint oxide
#

I would pay for a course of code optimization

dull magnet
#

css optimisation is very simple

#

usually, just make the selector as short as possible

#

don't specify the entire path, only specify what is necessary

#

> div > a > div > div
this is really bad

flint oxide
#

I see theme devs don't use attribute selectors / wild cards and those paths

flint oxide
#

Im afraid skipping the path in between would not make the element work

dull magnet
tight mist
#

Honestly, idk how most of css works, i just enjoy writing selectors

flint oxide
#

If you see my attribute selectors for the chat bubbles you will say otherwise

#

It works but looks horrendous

tight mist
#

Show them

flint oxide
tight mist
#

wow

flint oxide
#

thats why I want to optimize this snippet

#

as well as many others that have long paths and wild card selectors

#

the worst of all worlds into one

pulsar harbor
#

js deobf is shitty because js obf is usually shitty

pulsar harbor
iron moon
#

garry's mod!!!!

flint oxide
flint oxide
#

(it broke)

pulsar harbor
#

random thought: is it time to add sourceto the POSIX shell standard

#

the dot is so unreadable

austere mauve
#

..it is posix??

dull magnet
#

no

austere mauve
#

If the command name matches the name of a utility listed in the following table, the results are unspecified.
[...]
source
[...]

nvm actually what

dull magnet
#

its not

#

you ened the dot

#
- source banana.sh
+ . banana.sh
austere mauve
#

source and . arent the same thing tho right

dull magnet
#

they are

#

technically dash has source

#

so u could use it if u only care about dash

#

but like ksh or smth probably doesnt have it

#
alias source=.
austere mauve
#
#!/bin/sh

#define meow
#ifndef meow
    cpp $0 | exec sh
#endif

# replace `source <script>` with `#include "path_to_file"`
#

use

#

@dull magnet

pulsar harbor
pulsar harbor
dull magnet
pulsar harbor
#

it'll be like use strict or whatever the fortran people do

pulsar harbor
#

or is my install broken

dull magnet
#

sh

austere mauve
#

i dont even have dash

dull magnet
#

idk what shell this is

pulsar harbor
#

echo $SHELL

dull magnet
#

it doesnt seem to be dahs,i dont have it either

dull magnet
pulsar harbor
#

😭

dull magnet
#

this is super basic sh

#

idk which

pulsar harbor
austere mauve
#
rini ~ % sh
sh-5.1$ echo $SHELL
/bin/zsh

amazing

pulsar harbor
#

bruhhh

austere mauve
#

zsh also does that

dull magnet
#

SCAMMED

#

BASH JUMPSCARE

austere mauve
#

i didnt know it did that by default tho

pulsar harbor
#

lol

austere mauve
#

but i remember reading abt it

#

also for ksh

dull magnet
#

so if you invoke bash via sh it enters sh compat mode

#

but ... why?

#

to be posixly correct or

austere mauve
#

yea it makes it posix

dull magnet
#

yes but bash is already posix complaint, no?

austere mauve
#

nope

#

well

#

it extends it

pulsar harbor
#

bash is a superset of psoxi

#

tbh i wish fish was the same as bash

#

so annoying having to go into bash to do anything interesting then go back to fish for syntax highlighting

austere mauve
#

zsh will add an option to emulate bash so i can nuke bash

dull magnet
#

virus

#

there is currently a dangerous computer virus called "nix" running rampant. if your child is talking about or using "nix", you should contact the fbi immediately and let them know your child is an evil "nix" hacker

#

no

#

/bin/sh will never be real

#

there is no *one* sh

#

it will always be a symlink to some other shell

#

/bin/sh will almost always be either

  • bash (arch, RHEL stuff, etc)
  • dash (debnyan/ubuntu)
#

actually might only be debian

#

idk about ubuntu

#

technically dash is way faster than bash so you might want to manually replace /bin/sh with dash for better system performance

#

but it also means that many scripts will break because people are monkeys and use bash only features in /bin/sh shebang scripts

austere mauve
#

the world if people just used C as a scripting language like it was intended

dull magnet
lone panther
#

well fuck me

dull magnet
#

bash soooo slow 💔

#

do it manually

#
  • maybe restart shell
lone panther
#

^ every nix user

austere mauve
pulsar harbor
#

but i didn't change because of the reason you mentioned

#

🐒

#

same the only issue I have is no AUR which is the only reason i use arch 😔

dull magnet
timid hinge
steep vapor
#

is there a way to change the scroll bar size without changing the whole chat scroller size

chrome elbow
#

is there a way to "disable a setting base on another setting" like this but for const settings = definePluginSettings({...}); instead

dull magnet
#

isn't it the same way

#

oh

#

yes there is

chrome elbow
#

how

dull magnet
#

can't u just settings.store

chrome elbow
#

it explod

dull magnet
#

how

#

show

chrome elbow
#

Block-scoped variable 'settings' used before its declaration.

dull magnet
#

make it a function

pulsar harbor
#

aren't there only like 100 repos or something 😭

#

☹️

#

nix needs to be loved ❤️

#

even larger than aur or are we not counting that

#

also are all the arch official repos counted separately

#

sheesh

civic stone
#

Is anyone here familiar with PlanetScale or Supabase?

Does the $25 and $29 plan include only one or 2 databases?

If I create one DB per project I sell to a customer, am I limited to 1~2 DBs in this plan? I want to deploy the same exact project to multiple customers, each project connected to their individual DB. Pretty small read/write usage.

I see nowhere talking about the DB amount limit, but it does seem like I can only create 'one project' or 'one org,' which means one or 2 DBs max... or am I misunderstanding?

I thought that with the paid plan, I could create as many DBs as I needed, as long as the read/write usage is still within the plan limit, and get charged if over the max.

trail ginkgo
#

u get 2 production dbs and 1 dev db

#

and no its not as many as u need, u pay that $29/mo per each project

#

atleast for planetscale

civic stone
#

do you know wtf is the difference of 'dev dbs'

#

can i just use that shit in production

trail ginkgo
#

so they're higher latency

civic stone
#

ill have to make my app multi company so i can use one db

trail ginkgo
#

and also since they have no replicas connections fail pretty often

civic stone
#

sounds good to me

trail ginkgo
#

u can also just make another email

civic stone
#

true but i think the best idea for now is making my app multi-customer and use 1 db with the paid plan which gives better performance

#

cuz i know if using the paid plan it queries faster cuz it uses better cpu and stuff

trail ginkgo
#

is that true

civic stone
#

actually i think ill start by deploying on free tier like u said cuz i think it really wont reach any limitations

trail ginkgo
#

free tier is crazy

#

the only thing is u might want to do some sort of keepalive table

civic stone
trail ginkgo
#

the way i do it is with a github cron job

#

if its used everyday probably not

#

it takes 7 days of no queries to go to sleep mode

#

i do a write every day tho

civic stone
#

free tier developer

river moth
#

can somebody explain how the patch system works, am i to look at discords webpack or something?

#

nvm found what i was looking for

cedar marsh
green vessel
steep vapor
#

is there an easier way to do this

#

to make the horizontal server list be aligned at the bottom

#
#app-mount .guilds-2JjMmN {
  transform-origin: bottom left;
  transform: rotate(4deg); 
  /* height: 100vw !important; */
  /* top: var(--server-container); */
  /* bottom: unset; */
  position: absolute !important;
  left: 0;
  background-color: gray;
}

the css to change position of server list

pure shadow
#

so that'll leave servers that are not in the whitelist

#

hmm

#

ill just manually do it ig lmao

#

simply putting the ones i want to keep in a folder, and same thing for the ones i want to leave

#

then just open the leave one and mass leave

amber mantle
#

horror python

green vessel
#

can you get banned for using fakenitro?