#๐Ÿงฉ-plugin-development

1 messages ยท Page 23 of 1

covert nimbus
#

how do i only target this part of the element? is it even possible?

silk sorrel
#

no

#

gotta mess with fonts or line break w/hidden overflow if you want to hide it or something

dull magnet
#

should work

flint oxide
#

is there any way to change the text color of each channel so it matches with the emoji background?

#

for example, this to pink and the one above to slight greenish

covert nimbus
silk sorrel
#

text nodes aren't considered as children in css anyway

#

it's actually just the content of the parent element

flint oxide
#

i think it does work now

pastel sail
#

why did it pick the heart when the flower is right there? silly discord

wide parrot
flint oxide
#

cute = ๐Ÿ’– i guess

flint oxide
#

yeah i decided to get rid of it

wide parrot
#

no clue but it looked cool

#

lmao

flint oxide
#

this one?

wide parrot
flint oxide
#

i decided that uh i no longer need this

pastel sail
# wide parrot yes

search my name in this channel, there should be a text file with the css

flint oxide
#

Thom uwu made it to be a straight stripe and i changed it to little dots

pastel sail
#

actually here it is

wide parrot
#

didnt work fo rme

pastel sail
#

you need to enable the experiment

wide parrot
#

oh shit yeah

flint oxide
#

smh

pastel sail
#

.

pastel sail
#

:P

wide parrot
#

still

flint oxide
#
/* In case you want to change the shape of channel indicators */
.iconContainer-21RCa3 {
    width: 6px;
  height: 6px;
  margin-right: 10px !important;
  margin-left: 8px !important;
  margin: 0px;
    border-radius: 100%;
}

/* Color for unread channels */
.unread-36eUEm {
    background-color: #f3d56a; /* Change color here */
    width: 6px;
    height: 6px;
    top: 12px;
    margin-left: 10px !important;
    margin: 0px;
    border-radius: 100%;
}
wide parrot
#

ill restart hang on

flint oxide
#

this one

wide parrot
#

yeah no its not working fo rme

pastel sail
#

it takes a second to "find" the emojis but they won't show up so the lines will just appear after a bit

#

assuming you have the css and the experiments set to treatment 1

wide parrot
#

i had to restart twice

#

now it works

pastel sail
#

yeah, sometimes the lines will disappear because discord is being silly

#

but they come back after a bit

#

or if you stay on that server for a minute or two

wide parrot
flint oxide
pastel sail
#

can't find one lol

#

neither of those words match an emoji's keyword :P

flint oxide
#

hmm does this look fine

#

or should i revert the headers back to normal color

pastel sail
#

I like it

flint oxide
#

might have to push the text inwards a little bit

pastel sail
#

a lot easier to read quickly since it's very obvious where one section starts and the other one ends

wide parrot
#

u should apply pride flag swiping gradient

#

fr

flint oxide
#

there we go

#

wait no center is even better

pastel sail
#

center for sure

hollow flame
#

center looks weird with emoji

flint oxide
#

but looks amazing without emoji

flint oxide
#

exactly 1000 lines

pastel sail
#

nice

#

I hope you keep good backups

flint oxide
#

i keep a backup in vs code

amber mantle
#

it has a funny about message author but the stacktrace goes to discord code lmao tf

#

fetches fine regardless of that funky
(i just copied the fetch from msglinkembeds lol)

amber mantle
#

explode

#

no

dull magnet
#

i should finish third party plugin pr

amber mantle
#

yop

#

i was gonna pr anyways but i cant figure out good message fetch

amber mantle
#

ig i could use that for message notes too but fuckkk that plugin i am never finishing it

#

nightmare

pastel sail
amber mantle
#

mith

proud parrotBOT
#

**fakeDeafen.ts: **

import { Devs } from "@utils/constants";
import definePlugin from "@utils/types";
import { Toasts } from "@webpack/common";

export default definePlugin({
    name: "FakeDeafen",
    description: "make ppl think u ae deafen!!!!!!!!!!",
    authors: [Devs.Ven],

    async start() {
      activate();
    },

    stop() {
    },

    activate() {
        console.log("you're gullible");
    }
});

amber mantle
#

read what it says under activate

cedar olive
#

wait what

#

why does message link embed have it's own cache

amber mantle
#

because discord sucks

cedar olive
#

why dont we add to the official cache

amber mantle
#

getMessage doesnt fetch unknown messages lol

#

thats why embeds has that functiomn

cedar olive
#

well we can still add to the original

amber mantle
#

wait what original

cedar olive
#

nvm

#

it does get added to the official

amber mantle
#

oh you mean

#

eyah it does

dull magnet
amber mantle
#

funky side effect

#

cause author works fine in notif as seen on the left jasonzoom

pastel sail
#

wait, there's a plugin for in-app notifs?

#

I assume it's 3rd party

dull magnet
#

wdym wrap

#

why

cedar olive
#

djs

civic stone
#

basicaly

tight epoch
#

Okay that goes pretty hard ngl

flint oxide
#

Square does go hard wow

tight epoch
#

Also feels more consistent with the rest of this theme I'm making, so I figured it'd end up looking a fair bit cleaner

flint oxide
#

:0

#

Have fun!

tight epoch
#

Eyy thanks :>

#

frosted glass look my beloved ๐Ÿคฉ๐Ÿ˜Š๐Ÿ˜ŠThumsup

flint oxide
#

I'm stuck with basic accent color change for now, Spotify vencord wave has ruined me

tight epoch
#

Ohh F

#

Yeah when I tried to add it, I just ended up with the wave above the player and couldn't even be bothered to troubleshoot it, so I'm sticking with a more simplistic one

flint oxide
#

I was afraid frosted glass and glow elements would be too taxing on my computer

tight epoch
tight epoch
flint oxide
#

Probably have to use something more advanced than just css for that

flint oxide
#

bruh

tight epoch
#

Outdated meme format but still

flint oxide
#

I'm not gonna kill my integrated graphics

tight epoch
#

On my 1660 Super might I add, it's surprisingly capable for the price

flint oxide
#

On my ultra thin laptop (mistake)

tight epoch
#

I mean I'm running the theme on my school laptop just fine rn lol

flint oxide
#

Iris Xe having a hard time loading 2 discord clients at once

tight epoch
tight epoch
flint oxide
#

The other one had devtools on

#

And inspect tool as well

tight epoch
#

Dev tools is uhhhh, yeah lmao

#

My laptop is taking it like a champ tho ngl

flint oxide
#

Try devtool colors

tight epoch
#

So it's certainly possible to keep it well optimized enough

flint oxide
#

And toggle like 20 colors on

#

You will see the difference

tight epoch
#

Wait wdym

flint oxide
#

Devtools has a thing where you can inspect certain color variables (elements using them will be highlighted in pink)

#

I ticked a few of those color checkboxes and heard the laptop fan screaming

tight epoch
#

Hovering over it does nothing for me, strange

flint oxide
#

In devtools, you click the >> symbol to select Colors

tight epoch
#

??
Don't see anything about colours in any of those that I see

drowsy chasm
#

You don't

tired stirrup
#

isn't there any guide for installing 3rd party plugins?

drowsy chasm
tired stirrup
#

ok my bad

tired stirrup
drowsy chasm
tired stirrup
#

idk maybe im stupid

drowsy chasm
#

Read the docs

flint oxide
tight epoch
#

e- alr

tired stirrup
proud parrotBOT
# tired stirrup you mean this one? https://github.com/Vendicated/Vencord/blob/main/docs/1_INSTAL...

**1_INSTALLING.md: **

> **Warning**
> These instructions are only for advanced users. If you're not a Developer, you should use our [graphical installer](https://github.com/Vendicated/VencordInstaller#usage) instead.

# Installation Guide

Welcome to Megu's Installation Guide! In this file, you will learn about how to download, install, and uninstall Vencord!

## Sections

- [Installation Guide](#installation-guide)
  - [Sections](#sections)
  - [Dependencies](#dependencies)
  - [Installing Vencord](#installing-vencord)
  - [Updating Vencord](#updating-vencord)
  - [Uninstalling Vencord](#uninstalling-vencord)

## Dependencies

-   Install Git from https://git-scm.com/download
-   Install Node.JS LTS from here: https://nodejs.dev/en/

## Installing Vencord

Install `pnpm`:

> :exclamation: This next command may need to be run as admin/root depending on your system, and you may need to close and reopen your terminal for pnpm to be in your PATH.

```shell
npm i -g pnpm

... (69 lines left)

tired stirrup
#

it doesn't have anything to do with the 3rd party plugins idk

chrome elbow
tired stirrup
tired stirrup
chrome elbow
#

no

flint oxide
#

@tight epoch this is what I meant

tight epoch
#

Oh that menu, I was thinking of the chromium dev tools menu firDoodledork

flint oxide
#

I love the idea of limiting the maximum area for discord in frosted glass

flint oxide
#

yoinked from frosted glass code

#

and it goes hard

tight epoch
#

And yeah, goes very hard

pastel sail
#

This little corner will be the death of me

tight epoch
#

I think .base-2jDfDU {}

#

will fix it

#

If you just remove the border-top-left-radius there

pastel sail
tight epoch
#

The spacing?

tight epoch
pastel sail
tight epoch
#

My theme has it too, lemme try to find how I did it

#

(For reference)

pastel sail
#

I want to switch over to the desktop version of vencord but the top bar of the app conflicts with my theme

#

So I thought this might fix that

tight epoch
#

These two rules should be what you need, not sure tho so feel free to make your own thing with it

/* Cozy spacing around everything in the app (basically turns everything into a floating window type thing over a background you can then figure out how to style, or you can see it as adding a border around the whole app, idunno. Anyway snippet by @DeadVoxels#3520 */
:root {
    --spacing: 8px; /*put whatever you want in these, imo 8px works best tho */
    --radius: 8px;
} 
.bg-1QIAus, .app-2CXKsg, .appMount-2yBXZl {
    background: none;
}
body {
/* Custom BG / border stuff goes here, you might have to do it another way tho idunno, I'm sure whoever uses this can figure that part out */
}
.base-2jDfDU {
    margin: var(--spacing);
    border-top-right-radius: var(--radius);
    border-bottom-right-radius: var(--radius);
    border-bottom-left-radius: 0px;
    border-top-left-radius: 0px;
}
.container-1eFtFS {
    margin: var(--spacing);
    width: calc(100vw - calc(var(--spacing) * 2));
    background: var(--background-tertiary-alt);
    border-radius: calc(var(--radius) * 2);
}
.guilds-2JjMmN {
    margin-top: var(--spacing);
    margin-bottom: var(--spacing);
    margin-left: var(--spacing);
    margin-right: calc(var(--spacing)*-2);
    background: var(--background-primary);
    border-top-left-radius: var(--radius);
    border-bottom-left-radius: var(--radius);
}
#

Well, three rules with the :root for var definition, but uh yeah

pastel sail
#

Thanks! Iโ€™ll try it out later

tight epoch
#

Np!

#

There just added guilds list stuff and things for the background/border because I forgor

flint oxide
#

i still need to fix this

pastel sail
flint oxide
#

thank you deadvoxels for the help

#

i'm now changing all random color variables back to one standard

pastel sail
#

is there a way to edit the top bar of the vencord desktop app?

flint oxide
#

i can edit the name and color

#

but not to the style of frosted glass

#

for now it will stay like this

pastel sail
#

all i need is color and name

#

teach me the ways

#

๐Ÿ™

flint oxide
#
 /* -- Custom Discord Bar name -- */

.wordmarkWindows-2dq6rw svg {
    display: none;
}
.wordmarkWindows-2dq6rw::after {
    content: 'Name'; /* Change the name here */
    display: block;
    position: relative;
    margin-top: -2px;
    width: 100%;
    height: 16px;
    line-height: 16px;
    font-family: var(--font-header);
    font-size: 14px;
    font-weight: 600;
    color: red; /* whatever color */
}
.wordmark-2u86JB {
    width: 100%;
    text-align: center;
}
pastel sail
#

do I need to root it?

flint oxide
#

no you don't

#

as far as I know

pastel sail
#

it isn't updating

#

:/

flint oxide
#

hmm weird

#

what does it show to you now

pastel sail
#

it's just the default bar

#

reloading didn't work

#

fully restarted the client and still nothing

flint oxide
#

i remember only having that snippet for the name

pastel sail
#

wait is this for the discord app(with vencord) or the vencord app?

flint oxide
#

discord app with vencord

#

in vencord it won't show anything

pastel sail
#

aaaa

#

alright, I'll just have to settle for the vencord bar then :/

green vessel
#

Finally I can remove that plugin

dull magnet
green vessel
dull magnet
#

why finally

amber mantle
#

lol

#

view raw haters when I view the raw history of their mom

#

troopey

flint oxide
#

lmao epico

pastel sail
#

:OOOOOOOOOOOOOOOOOOOOOOOOO

tight epoch
#

Ooh nice

flint oxide
#

scrolling text

#

but doesnt work too well

flint oxide
#

moved the icons down a little bit

#

work done

pulsar saffron
#

does anybody know how I could like add those notfis things on the app where it changes on the taskbar

woven lion
#

here's an interesting question

#

how do i find the color string of a user who is not yet cached

#

or, better yet, how do i update every chat message component when i do have them cached

pulsar saffron
#

im gonna ask like 100 questions at once

pulsar saffron
#

then how do I give my discord a background

#

then how to I remove

#

this ugly piece of shit

#

then how this i fix this from overlapping

#

then how do I change the icons for when discord is loading up and for the application

#

done

dull magnet
flint oxide
pulsar saffron
#

last but not least how do I get rizz

flint oxide
#

only works in normal discord

pulsar saffron
pulsar saffron
woven lion
#

not on the member, like actually editing the roles

dull magnet
#

same story

#

subscribe to role store

#

probably a thing

woven lion
#

cause then i need to rerender every single message with that role

#

hmmm

#

at the moment getting the color is this

#
getColor(userId: string, { channelId, guildId }: { channelId?: string; guildId?: string; }) {
    if (!(guildId ??= ChannelStore.getChannel(channelId!)?.guild_id)) return null;
    return GuildMemberStore.getMember(guildId, userId)?.colorString ?? null;
},
#

it doesnt care about roles, just what the member's colorstring is

#

so i guess this is about to get a whole lot more complicated

flint oxide
pulsar saffron
#

hol up

#

I mean like an image

#

I understand nothing with coding

#

like how they did it in anotheranimetheme

flint oxide
#

just yoink the code from the theme itself

pulsar saffron
#

time to go deep diving

flint oxide
#

guh annoying discord

wide parrot
#

channel name emo

dull magnet
#

channel name emo

flint oxide
#

great channel name

dull magnet
#

@The Commie Axolotl#0001

#

i love discord

#

@floral plaza

#

regarding ur widgets pr

#

it looks fine for me on firefox & firefox nightly

#

what ff version & system r u using?

floral plaza
#

i checked and even without stylus/my userChrome styles it still displays like this

green vessel
#

i need help

#
@client.command()
async def listen_for_cards(ctx):
    def check(message):
        return message.author.id == 646937666251915264 and "/card.webp" in message.content and ("is dropping 3 cards!" in message.content or "I'm dropping 3 cards since this server is currently active!" in message.content)

    try:
        message = await client.wait_for('message', check=check, timeout=3600.0)
        await on_message(message)
    except asyncio.TimeoutError:
        pass

async def on_message(message):
    # Check if the server already has a main "drops" role
    if message.guild.id in drops_roles:
        role_id = drops_roles[message.guild.id]
        role = message.guild.get_role(role_id)

        # Delete any duplicate "drops" roles
        for r in message.guild.roles:
            if r.name == "drops" and r.id != role_id:
                await r.delete()

    # If main "drops" role doesn't exist, create it and store its ID in drops_roles
    else:
        role = await message.guild.create_role(name="drops", reason="To be used for card drops pings.")
        drops_roles[message.guild.id] = role.id

    # Send message to the role
    try:
        drops_message = await message.channel.send(f"{role.mention} new cards have dropped!")
        opt_in_message = await message.channel.send("React with ![check_mark](https://cdn.discordapp.com/emojis/1009123987583934675.webp?size=128 "check_mark") to opt-in or ![X_mark](https://cdn.discordapp.com/emojis/1009125103730167890.webp?size=128 "X_mark") to opt-out.")
        await drops_message.delete(delay=15)
        await opt_in_message.delete(delay=7)
        await opt_in_message.add_reaction('![check_mark](https://cdn.discordapp.com/emojis/1009123987583934675.webp?size=128 "check_mark")')
        await opt_in_message.add_reaction('![X_mark](https://cdn.discordapp.com/emojis/1009125103730167890.webp?size=128 "X_mark")')

        # Wait for reactions
        def check(reaction, user):
            return user != client.user and reaction.message == opt_in_message and str(reaction.emoji) in ['![check_mark](https://cdn.discordapp.com/emojis/1009123987583934675.webp?size=128 "check_mark")', '![X_mark](https://cdn.discordapp.com/emojis/1009125103730167890.webp?size=128 "X_mark")']

        while True:
            try:
                reaction, user = await client.wait_for('reaction_add', timeout=7, check=check)
            except asyncio.TimeoutError:
                break

            if str(reaction.emoji) == '![check_mark](https://cdn.discordapp.com/emojis/1009123987583934675.webp?size=128 "check_mark")':
                await user.add_roles(role)
                opt_in_confirmation_message = await message.channel.send(f"{user.mention} you have opted in to receive card pings!")
                await opt_in_confirmation_message.delete(delay=3)
            elif str(reaction.emoji) == '![X_mark](https://cdn.discordapp.com/emojis/1009125103730167890.webp?size=128 "X_mark")':
                await user.remove_roles(role)
                opt_out_confirmation_message = await message.channel.send(f"{user.mention} you have opted out of card pings.")
                await opt_out_confirmation_message.delete(delay=3)
    
    except Exception as e:
        print(f"An error occurred: {e}")
        await message.channel.send("An error occurred while processing this message.")  # notify user that an error occurred```
dull magnet
#

i wonder if that's somehow a macos thing?

floral plaza
hollow flame
#

I read this as "I like cogs" and didn't see a problem with it for a solid plenty of seconds

wide parrot
#

go to sleep

hollow flame
#

I was even like "haha, sounds like 'I like cocks'"

hollow flame
#

but I will indeed go to sleep

green vessel
amber mantle
green vessel
#

maybee

green vessel
#

a

dull magnet
#

could you mark the review comments as resolved where applicable?

sacred yew
#

ok

bronze jewel
#

got a question
how plugins are able to set "Listening to" status
and have dynamic title
but other rpc makers can only be set to "playing a game" and have a static title

opal fern
#

Which in turn have some limitations

dull magnet
#

^

#

External programs can only communicate with your discord instance, and the code listening to external rich presence only allows playing

bronze jewel
#

and do the stuff directly

dull magnet
#

the plugin skips that one step and directly communicates with the discord gateway

#

so it can do other statuses

#

it's technically kinda risky because it's very obvious for everyone else you shouldn't be able to have such a presence, but at the same time u won't get banned for it realest

sacred yew
#

what is
log.Fatal("Discord " + branch + " is not installed on your pc")
in fmt

dull magnet
#

is there not fmt.Fatal

sacred yew
#

ok thanks

dull magnet
#

that's a question xd

#

if there isn't, you can just ```go
fmt.Println("stuff")
os.Exit(1)

sacred yew
#

"undifined"

dull magnet
#
func Die(msg string) {
  if msg != "" {
    fmt.Println(msg)
  }
  os.Exit(1)
}
sacred yew
#

ok suggests are done. now, time to implent the "--dir" flag

sacred yew
sacred yew
#

From my past experience, vencord did not sit right with betterDiscord

oblique lark
#

working on cs50x again and for some reason I need to do form submissions in vanilla javascript

#

this is so horrible

#

manually queryselector-ing and preventing form events

wooden notch
#

how do i change the spacing for channels? it actually looks normal for other servers with a lot of channels like vencord but in some servers with a few channels the spacing looks weird. i tried to revert it using css but can't seem to manipulate / revert it properly. this is basically the code i've been tying to fix it with--

.channelName-3KPsGw {
 padding: 4px;
}```

images for reference:
(1st pic: **weird spacing w/o many channels**)
(2nd pic: **normal spacing w/ many channels**)
#

and one more question, how do you make it so the channel highlights when you're in that specific channel? i know it's an original discord feature but it got removed when i started tweaking some things in css.

it now just shows the invite button for me instead of highlighting the whole channel i'm in:

viral roost
pastel sail
#

really? mine works fine

wooden notch
viral roost
#

you could just reenable it and hide the emojis with css

wooden notch
#

okay okay makes sense

pastel sail
#

oh that's why mine works then lol

wooden notch
#

thank you, works perfectly fine now

flint oxide
#

you are looking at changing these variables first:

:root{
--channels-default: some color;
--interactive-hover: some brighter color;
--interactive-active: some brighter color;
}
#

And for the selected channel:

      /* Selected Channel */
      
#app-mount .containerDefault-YUSmu3.selected-2TbFuo .content-1gYQeQ {
  background: some color;
  border: 1px solid some brighter color;
}
wooden notch
#

thank you!

flint oxide
#

np!

hollow flame
#

no typing

#

thank you

sacred yew
#

wdym?

sacred yew
hollow flame
stoic fog
#

@dull magnet hi, I encountered a problem that the script GifPaste won't let me select an animated avatar from the gif list
somehow even after full client restart it finds possible place to paste gif's url CH_SuperFlushed

||I joined here only to get hilarious stickers, so please tell me if this notification is enough or ||shall I open an issue on the githab page?
thank you in advance for the answer KyaruFloat

chrome elbow
dull magnet
#

why do people unironically use the gif picker for picking avatars

hollow flame
amber mantle
#

it worked for me

#

I picked this nuh uh gif with the gif picker avatar thing

green vessel
#

nuh uh

amber mantle
#

nuh uh beocord

tight epoch
#

Mmmm square channel menu with emojis ๐Ÿคค

sacred yew
pastel sail
#

because you are on mobile....

sacred yew
dull magnet
sacred yew
#

Sorry

dull magnet
#

what i meant is that with that in place, it will never get to the lines below

#

in the lines below you have extra logic for dir

sacred yew
#

Wait why did I merge your suggestion in the first place?

#

I mean like if they did not pass any flags it would just supposed to go through the rest of the function

dull magnet
#

what?

#

the first block handles the dir != "" logic

#

and always returns or exits

#

the next 2 blocks are thus dead code you should remove

sacred yew
#

Oh

#

You can edit my PR right?

#

Cause I am not at my pc atm

dull magnet
#

yes but im gonna play overwatch now

amber mantle
#

no

#

you're gonna go to sleep now

sacred yew
#

No what

#

Dude it's 8 in the morning

amber mantle
#

not for ven

sacred yew
#

Holy it's 2 there

#

I think ven works the night shift

amber mantle
#

fun fact its called bencord because ben owns it

cedar olive
#

omg bencord

sacred yew
#

Why is coding so hard ๐Ÿ˜ญ when it doesn't work I do not know what's wrong and when it works I don't know how it's working

flint oxide
#

Update: ven slept at 5:30

flint oxide
#

isn't 6 the time to wake up ... amilapog

pulsar saffron
#

instead of downloading the theme im just gonna css it

#

gl to anybody whos gonna read the whole thing

#

nvm it broke again

#

for a moment I thought it would work

#

Hooray I did it

#

I figured out why its being

#

odd...

tight epoch
#

Truly a discord moment of all time

pulsar saffron
#

how the hek do I put a background with a gif

#

in vencord

tight epoch
#

How to set a background-image to a gif?

#

Also dang this looks nice

flint oxide
tight epoch
#

Stickers tab and status emoji picker tho, man I gotta get those fixed as well

cedar olive
#

@dull magnet github actions is completely insane

#

??? the one in production is the same

#

it's complaining if I change order to what is is on production

#

okay whatever I fixed it somehow

#

my vscode was crazy

plucky dove
#

vsc does wonders

oblique lark
#

i love

pastel sail
#

my favorite

dull magnet
#

deafen

oblique lark
#

why is it over there

pastel sail
#

because you put it there silly

#

don't hurt me

oblique lark
#

yeah i think some random snippet i found a while ago broke

tight epoch
#

Custom favs server icon because yes
Code for it is scuffed asf tho because it's like 4 different paths so afaik I can't replace the path d: on the original, so I just made it the background on the svg itself Thumsup

#

Still, I like how it looks and it works well enough soo-

dull magnet
#

:has is so cool

<body>
    <section id="theme-switcher">
        <h2>Theme</h2>
        <label>
            <input name="theme" type="radio" id="theme-light" checked>
            Light
        </label>
        <label>
            <input name="theme" type="radio" id="theme-dark">
            Dark
        </label>
        <label>
            <input name="theme" type="radio" id="theme-black">
            Black
        </label>
    </section>
</body>

<style>
    body:has(#theme-light:checked) {
        background: white;
        color: black;
    }

    body:has(#theme-dark:checked) {
        background: grey;
        color: white;
    }
    
    body:has(#theme-black:checked) {
        background: black;
        color: white;
    }
</style>
#

0 js

flint oxide
tight epoch
#

Conditional and attribute selectors my beloved

#

Come to think of it In curious how much of a site's behaviour could be done with pure css

silk sorrel
#

people have already been making insane stuff with inline styles

#

this is a zelda minigame where the only interactive element type used is a collapsible summary
everything is set in the style attribute, with a ton of calc's
https://cohost.org/Corncycle/post/362844-div-style-line-hei

tight epoch
#

Geeez

flint oxide
#

amazing

unreal glade
#

css programminf ๐Ÿคฏ

dull magnet
#
func IsAdmin() bool {
    // most sane windows code, copy pasted from https://github.com/golang/go/issues/28804#issuecomment-505326268

    var sid *windows.SID

    // Although this looks scary, it is directly copied from the
    // official windows documentation. The Go API for this is a
    // direct wrap around the official C++ API.
    // See https://docs.microsoft.com/en-us/windows/desktop/api/securitybaseapi/nf-securitybaseapi-checktokenmembership
    err := windows.AllocateAndInitializeSid(
        &windows.SECURITY_NT_AUTHORITY,
        2,
        windows.SECURITY_BUILTIN_DOMAIN_RID,
        windows.DOMAIN_ALIAS_RID_ADMINS,
        0, 0, 0, 0, 0, 0,
        &sid)
    if err != nil {
        fmt.Println("SID Error: ", err)
        return false
    }
    defer windows.FreeSid(sid)

    token := windows.Token(0)

    isMember, err := token.IsMember(sid)
    if err != nil {
        fmt.Println("Token Membership Error: ", err)
        return false
    }

    return token.IsElevated() || isMember
}
#

windows moment lmao

unreal glade
#

windoes

knotty gyro
oblique lark
#

yeah :(

flint oxide
#

fixed some compatibility issues when in a VC

green vessel
#

how can i get netro free??//

#

@dull magnet

dull magnet
#

vban @green vessel brainrot

shrewd tundraBOT
drowsy chasm
#

Hey at least they didn't use general

amber mantle
#

lol

#

@dull magnet how can i get netro free??//

dull magnet
#

but i banned them cause they also dmed me lol

#

probably just a troll

#

or 10 iq

amber mantle
#

bruh moment

drowsy chasm
#

I will message the server owner and beg for Nitro

amber mantle
#

I will beg for money

drowsy chasm
#

I will give you $10 and you'll give me Nitro starehandshake

amber mantle
hollow flame
#

coding or something

drowsy chasm
#

Else if

hollow flame
#

this code is honestly so cursed

#

I had to use a clone

#

nvm apparently that doesn't even work

#

I fucking hate

#

stuff like this is what stresses me out with Rust tbh

#

I don't get what the hell I'm supposed to do

dull magnet
#

i mean

#

the error is pretty self explanatory

#

you already have a mutable reference so you can't make another immutable reference

#

iter_mut() takes a mutable reference

#

also the iter_mut is obsolete iirc

hollow flame
#

I know what the problem is

dull magnet
#

for mut &npc in nps {}

hollow flame
#

I don't know how to fix it for what I'm trying to do

dull magnet
#

show code

hollow flame
dull magnet
#

where's the error

hollow flame
#

it didn't show for some reason, but uh

dull magnet
#

oh in clone

hollow flame
#

yeah

#

this is so borked

dull magnet
#

move the clone outside of the loop

#

and it'll work

hollow flame
#

yeah but that feels so... cursed

dull magnet
#

why

#

if you clone in the loop you clone once per element

#

if you clone outside you only clone once

hollow flame
#

I guess I didn't think of that

#

my brain has been so fried because of this

#

oh

dull magnet
#

in any case

hollow flame
#

the reason I avoided it was because of the filter

dull magnet
#

why not just use an indexed loop?

hollow flame
#

wdym by that

dull magnet
#

that will solve all your issues

hollow flame
#

i in 0..npcs.len()?

dull magnet
#

yes

hollow flame
#

it gave the same error

dull magnet
#

now you're not holding a reference to npcs

#

so you don't have these issues

#

and don't have to clone

hollow flame
#

I recently tried that and it was doing the same thing

dull magnet
#

that means you're doing something wrong

#

it shouldn't

#

change it to indices and it should work

#

if you still get errors just show and i can help

hollow flame
#
for i in 0..npcs.len() {
    let mut npc = &mut npcs[i];
    if npc.biome_preferences.loves.contains(&biome) {
        npc.buying_modifier *= 0.88;
        npc.selling_modifier *= 1.14;
    } else if npc.biome_preferences.likes.contains(&biome) {
        npc.buying_modifier *= 0.94;
        npc.selling_modifier *= 1.06;
    } else if npc.biome_preferences.dislikes.contains(&biome) {
        npc.buying_modifier *= 1.06;
        npc.selling_modifier *= 0.94;
    } else if npc.biome_preferences.hates.contains(&biome) {
        npc.buying_modifier *= 1.12;
        npc.selling_modifier *= 0.89;
    }

    for neighbor in npcs.iter().filter(|n| n.npc_type != npc.npc_type) {
        if npc.neighbor_preferences.loves.contains(&neighbor.npc_type) {
            npc.buying_modifier *= 0.88;
            npc.selling_modifier *= 1.14;
        } else if npc.neighbor_preferences.likes.contains(&neighbor.npc_type) {
            npc.buying_modifier *= 0.94;
            npc.selling_modifier *= 1.06;
        } else if npc.neighbor_preferences.dislikes.contains(&neighbor.npc_type) {
            npc.buying_modifier *= 1.06;
            npc.selling_modifier *= 0.94;
        } else if npc.neighbor_preferences.hates.contains(&neighbor.npc_type) {
            npc.buying_modifier *= 1.12;
            npc.selling_modifier *= 0.89;
        }
    }
#

that doesn't work

#

same error on .iter()

dull magnet
#

change the second loop to also an indexed loop

hollow flame
#

same thing

dull magnet
#

and you're literally creating a mutable reference in line 2

#

don't do that

hollow flame
#

I don't have a choice

dull magnet
#

you do

hollow flame
#

I'm modifying npc

dull magnet
#

yes

#

don't store a mutable reference

#

inline it

hollow flame
#

for each one?

dull magnet
#
- npc.buying_modifier *= 0.88;
+ npcs[i].buying_modifier *= 0.88;
hollow flame
#

so cursed

#

because isn't it now indexing every single time that shows up?

dull magnet
#

what's the issue with that

hollow flame
#

Dunno, I would've thought it was an efficiency issue

dull magnet
#

do you know how array indexing works

#

it literally just adds the offset to an address and accesses it

#

arrays are just a chunk of memory that holds all items, to access the nth element of an array at address p you just need to *(p + n * itemSize)

#

obviously rust also has bound checks and stuff but the compiler can likely optimise those away

tldr dw it's extremely efficient

hollow flame
#

oh well

#

this is so cursed

dull magnet
#

true

hollow flame
#

but I think it's good now

dull magnet
#

what's npc_type

#

is it a number?

hollow flame
#

enum

dull magnet
#

does it implement copy

hollow flame
#

it does

#
#[derive(Copy, Clone, PartialEq)]
pub enum NPCType {
    Guide,
    Merchant,
    Nurse,
    Demolitionist,
    DyeTrader,
    Angler,
    Zoologist,
    Dryad,
    Painter,
    Golfer,
    ArmsDealer,
    Tavernkeep,
    Stylist,
    GoblinTinkerer,
    WitchDoctor,
    Clothier,
    Mechanic,
    PartyGirl,
    Wizard,
    TaxCollector,
    Truffle,
    Pirate,
    Steampunker,
    Cyborg,
    SantaClaus,
    Princess,
}
dull magnet
#

then you can change the second loop to ```rs
for u ... {
let type = npcs[u].npc_type;
if ...contains(&type)

#

i think it should work

#

u probably can't use type as variable name

hollow flame
#

yeah, you can't

#

phew, no more errors

dull magnet
#

as soon as you hold a reference to anything in the array and try to modify the array, rust gets pissy

#

which makes sense for memory safety but is hella annoying to deal with

hollow flame
#

you can say that again

dull magnet
#

this is why i don't like rust that much

#

memory safety is nice but a pain to work with

#

i like how go is memory safe but isn't super annoying about it

hollow flame
#

oh God, I have a new problem

#

ugh I don't even know how to describe this one

#

I have a HashMap of instances of NPC, and I want to create Towns of NPCs, but I need to clone them so that multiple towns don't have the same exact NPC...

green vessel
#

Is there a way i can change locally user's display name with css having their ID? Or is it not possible with css?

hollow flame
#
.avatar-2e8lTP[src*="343383572805058560"] ~ h3 span[class*="username-h_Y3Us"] {
    visibility: hidden;
}

.avatar-2e8lTP[src*="343383572805058560"] ~ h3 span[class*="username-h_Y3Us"]:before {
    visibility: visible;
    position: absolute;
    content: "meow";
}
#

vee has become meow

#

sorta

#

๐Ÿฅด but hey, proves it's possible

green vessel
#

thanks

flint oxide
ionic breach
hollow flame
#

like the best combinations of NPCs to get the best sell/buy prices and stuff

ionic breach
#

Oo

ionic breach
#

That's always something i wing

#

Generally just look up their likes and build a house in that biome

hollow flame
#

we'll see where it goes

#

it's a huge pain in the ass tbh

ionic breach
#

It is tru

#

But that seems like a fun logic puzzle

hollow flame
#

this was a version I wrote in Python some time ago

#

and it includes modded NPCs

#

but ๐Ÿฅด

ionic breach
#

Ooo fancy

#

Reminds me of cookie clicker lol

hollow flame
#

how's that? ๐Ÿง

ionic breach
#

Idk digs up old memories of min-max overviews of percentages next to what I should buy next

hollow flame
#

ah

ionic breach
#

Id install js scripts using tamper monkey it was a great time

hollow flame
#

idk I like this kinda stuff though

ionic breach
#

Yeah!

#

It's so clean

hollow flame
#

at least when the language I'm using isn't being mean

ionic breach
#

Lol

#

Silver lining at least rust when it's mean tells you exactly why it's being mean

hollow flame
#

I'm probably going to have this program output to JSON so I can prettify the output with Python and Rich

hollow flame
ionic breach
#

Yeahhh

#

That's often a complaint for sure

hollow flame
#

and the calculations became so complex that it'd take like days and days (if not exponentially longer) to calculate the best setups

#

something people often fail to account for is the fact that Terraria biomes can be mixed

ionic breach
hollow flame
#

underground snow, for example, can lead to overall increase in happiness

ionic breach
hollow flame
#

not to mention something silly like hallow underground snow

#

and when you add modded NPCs, the number of iterations once again increases exponentially

ionic breach
#

Ofc ofc

near aurora
#

any1 wanna help me make aplugin that reverts all custom userprofiles? i hate how wide & colorful they are, i'd want to revert them to 300px width & all backgrounds to be default, maybe keep banners

#

i would do it with css but there are soo many edge cases & different variants, themed with banner, non-themed with banner, themed, etc etc & can break easily, i figure it might be easier to modify the component itself?

#

i don't really know any react tho

#

like i know svelte and i have done some contributions to react code like plugins here or other stuff elsewhere, but idk where i'd start to make this plugin

cinder wigeon
#

and patching discord is a very different side of react than normal react

#

react internals my behated

oblique lark
#

is anyone here good at c++

#

vscode is so mean to me

hollow flame
#

what the fuck

green vessel
#
var elements = document.querySelectorAll("*");
for (var i = 0; i < elements.length; i++) {
  var element = elements[i];
  var elementName = element.tagName.toLowerCase();
  var elementText = document.createTextNode(elementName);
  var elementLabel = document.createElement("span");
  elementLabel.style.background = "#000";
  elementLabel.style.color = "#fff";
  elementLabel.style.position = "relative";
  elementLabel.style.zIndex = "9999";
  elementLabel.style.padding = "2px 4px";
  elementLabel.style.marginRight = "4px";
  elementLabel.appendChild(elementText);
  element.insertBefore(elementLabel, element.firstChild);
  element.style.outline = "1px solid #" + (~~(Math.random() * 16777215)).toString(16);
}

do not use

#
var elements = document.querySelectorAll("*");
for (var i = 0; i < elements.length; i++) {
  var element = elements[i];
  element.addEventListener("mouseover", displayElementInfo);
  element.addEventListener("click", displayElementInfo);
}

function displayElementInfo(event) {
  event.stopPropagation();
  var element = event.target;
  var elementId = element.id;
  var elementName = element.tagName.toLowerCase();
  var elementText = document.createTextNode(elementId || elementName);
  var elementLabel = document.createElement("span");
  elementLabel.style.background = "#000";
  elementLabel.style.color = "#fff";
  elementLabel.style.position = "relative";
  elementLabel.style.zIndex = "9999";
  elementLabel.style.padding = "2px 4px";
  elementLabel.style.marginRight = "4px";
  elementLabel.appendChild(elementText);
  element.insertBefore(elementLabel, element.firstChild);
  element.style.outline = "1px solid #" + (~~(Math.random() * 16777215)).toString(16);
  element.addEventListener("mouseleave", removeElementInfo);
  element.addEventListener("blur", removeElementInfo);
}

function removeElementInfo(event) {
  event.stopPropagation();
  var element = event.target;
  element.style.outline = "";
  var elementLabel = element.querySelector("span");
  if (elementLabel) {
    elementLabel.remove();
  }
}
#

this even worse

silk sorrel
#

you can hover over the spans lol

green vessel
#

oh

#

I've never coded js before so that prolly the best you'll get from me

grim hare
#

for (const element of elements) {} > element = elements[i]

#

easy solution to being able to hover over the span is setting the style.pointerEvents attribute to none

green vessel
#

oh

#

thank you

wanton matrix
pure temple
wanton matrix
#

TIL: don't enable this with the default value of 180 days because it's literally impossible to delete anything

hardy onyx
#

yo

#

with css would it be possible to change all discord emojis to apples ones

#

i remember doing this like 2yrs ago on powercord some how

hollow flame
#

uh yes

hardy onyx
#

how would i do so

hardy onyx
#

why not

#

idk it worked fine when i used it a couple years ago

#

pre made

#

it mightve been a plugin idk

#

i doubt it matters tho right?

#

because the plugin would prollly just be importing some css or some shit

hardy onyx
chrome elbow
#

yes or paste to theme

hardy onyx
#

nvmi think i got it

#

๐Ÿ™‚

#

didnt work

chrome elbow
#

it works

hardy onyx
#

nvm it works thakns

tough oar
#

how can i create my own plugin

wanton matrix
dull magnet
#

yes

#

it's useful

#

vencord uses it in some places

wanton matrix
#

I can see that it helps with nested loops, but what else?

silk sorrel
#

it's used in svelte to rerun specific lines when a variable changes

#

iirc

dull magnet
#

let's you skip parts of the code early

#

which you normally wouldn't be able to do without extracting the logic into a different function or deeply nesting ifs

wanton matrix
#

okay, I don't like goto but you have a point

dull magnet
proud parrotBOT
# dull magnet here's an example https://github.com/vendicated/vencord/blob/main/src/plugins/fa...

**fakeNitro.tsx: **Lines 638-667

stickerBypass: {
    if (!settings.enableStickerBypass)
        break stickerBypass;

    const sticker = StickerStore.getStickerById(extra.stickers?.[0]!);
    if (!sticker)
        break stickerBypass;

    if (sticker.available !== false && ((this.canUseStickers && this.hasPermissionToUseExternalStickers(channelId)) || (sticker as GuildSticker)?.guild_id === guildId))
        break stickerBypass;

    let link = this.getStickerLink(sticker.id);
    if (sticker.format_type === 2) {
        this.sendAnimatedSticker(link, sticker.id, channelId);
        return { cancel: true };
    } else {
        if ("pack_id" in sticker) {
            const packId = sticker.pack_id === "847199849233514549"
                // Discord moved these stickers into a different pack at some point, but
                // Distok still uses the old id
                ? "749043879713701898"
                : sticker.pack_id;

            link = `https://distok.top/stickers/${packId}/${sticker.id}.gif`;
        }

        extra.stickers!.length = 0;
        messageObj.content += " " + link + `&name=${encodeURIComponent(sticker.name)}`;
    }
}
dull magnet
#

previously this was done via deeply nested if statements

#

god we still haven't moved away from distok

#

@cedar olive didnt u wanna migrate it to assets

wanton matrix
#

I guess I learned a new thing today

dull magnet
#

i think most js devs still consider using it this way to be poor style

#

i personally like it kcSmug

#

the more normal use case for labels are nested for loops where you need to break or continue the outer loop early from inside the inner loop

proud parrotBOT
dull magnet
#

like here

cedar olive
#

I gave up though

#

I couldnt get it to work on windows

dull magnet
#

oh do you mean the program

#

why? why do u even need it

#

aren't only very few broken

cedar olive
#

for transforming the lotties into gif

dull magnet
#

yes but i already did all of them

cedar olive
#

I was going to redo all since we are likely missing some

dull magnet
#

don't think so

#

discord didn't add any afaik

#

i can send u json mapping of all stickers in #assets if u want

#

sticker id to file id

cedar olive
#

can you check if there any missing?

dull magnet
#

u can check easily

#

i'll send it in a bit

cedar olive
#

and maybe try regenerating the broken ones

dull magnet
#

do u not have a linux vps or smth u could do this on anyway

cedar olive
#

cuz the program hates me

dull magnet
dull magnet
#

without visual studio

#

linux is way better for that

cedar olive
#

oh ye I got that working

dull magnet
cedar olive
#

it was another problem opening the program with bash

#

it kept saying there was no file with the program name

#

(in the right directory)

cedar olive
cedar olive
tough oar
#

how can i store my plugin options

#

and access them

cedar olive
#

look at how other plugins do it

tough oar
#

how can i access settings before i save them

dull magnet
#

what?

#

please elaborate

tough oar
#

i want to do something with that are in input form settings before i save them for example log them in console after i click button

#

plugin settings

cedar olive
#

have you figured how to access settings at first?

tough oar
#

yes

cedar olive
#

then just do it before you update them lol

dull magnet
#

tbh i still don't get what you're trying to do

tough oar
#

uhh i dont know how to describe it more

#

so

#

i have two inputs in my plugin settings

#

and

#

1 button

#

that would console log content of that inputs

#

but i dont know how to access that settings before i save them

#

im trying onChange but it doesnt seem to work

tough oar
#

i dont know why onchange doesnt work

odd raven
#

how hard is porting something from better discord to vencord

#

we kinda wanna port over a plugin but we're not too good at coding

#

just know python and gdscript but if its not tooooo hard we could learn

green vessel
#

vencord uses typescript

dull magnet
#

it depends a lot on the plugin

odd raven
dull magnet
#

unrelated but it's kinda funny that a plugin adding accessibility related stuff has such a terribly accessible README

tough oar
#

should i use settings or options?

cedar olive
#

settings

#

options are deprecated

tough oar
#

is there difference?

cedar olive
#

as I said it's deprecated

#

It's going to be removed in the future

#

settings are way more powerful

tough oar
#

i would use them but i cant find any example

dull magnet
#

identical api but settings are strongly typed and better

dull magnet
cedar olive
dull magnet
tough oar
#

its definePluginSettings?

cedar olive
dull magnet
odd raven
#

ye

#

we know them

dull magnet
#

ah i see

dull magnet
odd raven
#

yeah

#

its a bit strange

#

wdk if they're gonna port it tho tbh cause like

#

i dont think they've even updated it in a long time

#

we'd make our own version but that is way beyond our abilities

green vessel
#

making a discord bot, would using python be best? as that's the only language I'm inherently familiar with

#

if not, which would you suggest?

solemn star
#

If thatโ€™s the language you know best, use that

#

discord.py has a ton of users and examples and stuff, so youโ€™re in good company if you go with that

green vessel
#

alright thank you

dull magnet
#

but if you're not interested in that then just use python

#

it doesn't matter at all what language u use, just use whatever you're most comfy with KemomimiWink

green vessel
#

thank youuu

dull magnet
#

but using a scripting language has some benefits such as hot reload and eval

green vessel
#

which?

dull magnet
#

any that supports those

#

javascript, python, lua, ruby, etc all come to mind

green vessel
#

alright

#

hm

dull magnet
#

but don't let that deter u from using other languages

#

there are great libraries for all sorts of languages

#

many people write their bots in c# or java/kotlin

green vessel
#

Well I'm still learning in school so

#

I'll probably get to them soon

dull magnet
#

i personally always either use typescript or go

green vessel
#

yeah I was thinking that

lone panther
#

maybe a bit of JS/TS for some frontend stuff

lone panther
#

nuhuh

#

no condolences required

#

rust is the best language of all time

timid hinge
fervent flowerBOT
#

He's brain-damaged in more ways than that.

oblique lark
#

nuhuh
malbolge is the best language of all time

lone panther
#

incorrect because english exists

oblique lark
#

english is known to be not one of the best languages

lone panther
#

nuhuh

oblique lark
#

yuhuh

timid hinge
oblique lark
#

one of the languages ever

timid hinge
#

i wanna try to make an interpreter

lone panther
#

i knew malbodge was bad but that looks more like when a cat walks on a keyboard

oblique lark
#

yeah that language is kinda fucked

dull magnet
#

run as admin
not actually admin

#

wtf is macos

timid hinge
#

mac strategy:

  • take linux
  • make it worse
  • sell it as apple product
  • profit in unreasonable amounts
green vessel
#

yeah except that most apps just work

timid hinge
#

and they dont on linux?

green vessel
#

depends

dull magnet
#

why does bd still recommend dom manipulation posttroll @crude iron

crude iron
#

We are thinking of adding apis that use react patching internally

potent fox
#

react patching is kinda confusing at start

#

cant blame

#

also when component rerenders does the element you inserted stay there

crude iron
#

if you use an observer, yes

dull magnet
#

if you have dozens of plugins that all use their own observer

#

doesn't performance go to shit

potent fox
#

how does even observer work

dull magnet
#

Dom mutation observers

potent fox
dull magnet
#

they watch the dom and call your callback every time some element changes

dull magnet
#

but instead you should just use react patching tbh

#

much better performance

potent fox
#

yeah but you cant get every developer to understand webpcak,webpack search,exports

#

patchs blabla

green vessel
#

How can I check if my code works?

dull magnet
#

by running it

crude iron
near aurora
#

in the new rosebox update we will have forbidden all fun

#

only banner remains

#

it wasn't even that hard to implement like i thought so

#

only had to handle themed & unthemed separately, did minimal changes to the banner & forced some background colors

#

around 50-70 lines of scss

slender magnet
#

codong

civic stone
#

coding is my passion

dull magnet
#

is there any vscode extension that adds hints to these

#

basically like
margin: top/bottom 6px left/right 16px;

#

cause I CAN NEVER REMEMBER

tight pecan
#

trbl

#

trouble

#

that's how i remember it

#

bc it's a trouble to remember it

#

or you get in trouble if you dont

#

its stupid ik

ionic breach
#

Ooo

#

I like

#

Trbl

#

Ty

tight pecan
#

np

grim hare
dull magnet
#

it doesnt

grim hare
#

I could have sworn that was a thing

#

weird

dull magnet
grim hare
#

hm, the syntax hint is pretty useless, that's frustrating

dull magnet
#

yes

ionic breach
#

Yop

#

I remember hunting for an extension too

#

But i ended up just resigning myself to looking it up every time

#

That or making it colored and setting different numbers

near aurora
#

1value = all

#

2values = top+bottom left+right

#

4values = top bottom left right

#

iirc

dull magnet
#

they are clockwise

#

top right bottom left

#

but still i don't want to have to always think

#

i just want inline hints

tight pecan
ionic breach
#

maybe trouble will

flint oxide
#

i hate when there is space i cannot utilize ๐Ÿฅฒ

oblique lark
#

does anyone here know haskell

#

I want to do something multiple times in a loop

#

but it keeps complaining about main being a [IO ()] instead of a IO ()

woeful island
#

Haskell is for people much smarter than me alas

tight epoch
#

Improving profile popouts, panels, etc
Liking this so far

flint oxide
#

Very nice

tight epoch
#

Very clean, me like

green vessel
#

you are beyond help... may God have mercy on you

covert nimbus
green vessel
#

pronouns...

tight epoch
#

Oh wehhh, pronouns, how horrible

green vessel
#

soft hands

tight epoch
green vessel
#

liberal mjuk hands

tight epoch
#

Ah yes

tight epoch
#

No clue

fervent flowerBOT
pure temple
#

hmm?

dull magnet
green vessel
#

you're personality is your fetish

dull magnet
#

vban @green vessel troll

shrewd tundraBOT
dull magnet
#

he dmed me racist & homophobic shit who could have seen this coming WHAT WHAT

tired stirrup
tight epoch
#

Absolutely pathetic

oblique lark
#

how did they use two different your's

#

when they are in the same use case

amber mantle
#

you're

oblique lark
fervent flowerBOT
#

Twist surprising absolutely nobody.

vee ๐Ÿ’ขโ€„โ†ฉ๏ธ

[Reply to:](#๐Ÿงฉ-plugin-development message) he dmed me racist & homophobic shit who could have seen this coming WHAT <:WHโ€ฆ

flint oxide
pure temple
#

i don't have pronouns people just scream instead of saying my name

#

i don't know why, it's actually quite disturbing

#

/j

near aurora
lament dew
lament dew
#

Ok

dull magnet
#

i wanna add a binary search plugin debug function to vencord

#

basically uses binary search to figure out which plugin is causing an issue

#

aka

  1. disable half the plugins & restart discord
  2. if not fixed, we know it's in the still enabled half, if fixed we know it's in the disabled half
  3. use this info to exclude half the plugins and go to step 1
silk sorrel
#

what if two plugins are somehow conflicting with each other

austere mauve
#

actually so real

lone panther
#

its gonna be super joever if there are multiple broken plugins

austere mauve
#

it can still work if there r multiple broken plugins

#

mm

lone panther
#

yeah but it wouldnt be super accurate

austere mauve
#

if one broken plugin is on the first half and another on the second half you just explode i think

#

solution: shuffle plugins trolley

lone panther
#

i think overall, accounting for multiple broken plugins, it would be more effective to try them all in sequence

grim hare
#

ven bisect blobcatcozystars

#

how often do we expect multiple broken plugins to be the issue

#

because if you just make the assumption that it'll happen, then you force the search to go from O(log n) to O(n) which is wayyy slower

lone panther
#

computers are fast now itll be fine

grim hare
#

it represents how many times the user will need to check if the error still exists too

#

with the current number of plugins it'll take at worst 7 tries to find a bad plugin with binary search but at worst 114 tries with checking plugins one by one

timid hinge
#

"oh yeah lets make a ligature to turn 2 fs into one big and one small one because funny"

#

any subsequent fs after an f are small

#

fffff

#

not even that, just in the message editor

silk sorrel
timid hinge
#

oh my god you're right

#

but why make the f one pixel too tall in the first place

vast prawn
#

any way to put the status (online/offline/dnd) on ppls avatars in chat?

flint oxide
#

PlatformIndicators kinda does that

vast prawn
#

define kinda

flint oxide
#

Something like this

knotty gyro
#

i found the src code for my old discord bot

#

in c#

#

its kinda cool

#

it has a massive foundation and very little usable features

#

lol

dull magnet
#

lmao

#

overengineering bot instead of adding useful features

#

dw i did the same

dull magnet
#

HORROR

#

meanwhile vaius be like make feature, push without testing, test in prod

flint oxide
green vessel
#

how does c# work?

spice locust
dull magnet
green vessel
#

yes?