#🧩-plugin-development

1 messages · Page 49 of 1

grand haven
#

then for capacitor config ya go

const mode = process.env.NODE_ENV?.trim() || 'development'

const config = {
  appId: 'watch.miru',
  appName: 'Miru',
  webDir: 'build',
  server: {
    cleartext: true
  }
}

if (mode === 'development') config.server.url = 'http://localhost:5001/index.html'

module.exports = config
#

and you're set

#

just make sure you bundle nodejs libraries, and dont embed them as is

#

because it's gonna be massive

#

you also need to re-build NAPI modules to arm64 and arm32

amber mantle
#

remake discord desktop in react native fiure

#

vendroid but real

#

discordrn but it doesnt suck

balmy sky
#

Is there a way i can prioritise a plugins loading so that it loads earlier than others/as fast as possible? i'm trying to add a custom loading screen to my theme through code but takes a while to actually show up since the plugin starts a few seconds after the client loads

dull magnet
#

it has nothing to do with priority

#

start() is called after discord is ready

#

use the startAt property to customise when you want your plugin to start

balmy sky
#

Oh awesome, thanks ;3

polar cave
#

/mewing

balmy sky
#

You're STILL on this?

polar cave
#

lol

polar cave
#

But im using tenor now

#

Bc it has more variety

#

Of mewing gifs

polar cave
#

Im sorry that im dumbtrolley

#

Sam, pls come back😢

balmy sky
polar cave
#

lol

#

So true

balmy sky
#

Is there a way i can get the react component for the sticker and create a custom fake sticker element? I tried using findbyprops but i probably fucked it up in some way, if someone knows lmk :3

balmy sky
#

This mf does NOT want to render

#

I have no idea why lmao

#

The patch is fine, it's just not returning the component or logging at all

polar cave
balmy sky
polar cave
balmy sky
#

My brother in christ that is javascript

#

(and some regex)

polar cave
polar cave
balmy sky
polar cave
balmy sky
polar cave
frigid bay
#

regular expression

polar cave
#

Fr

pliant pasture
#

progaming

stable ridge
#

gamr

polar cave
balmy sky
#

Is there a utility i can use to store data values that isn't just a settings option?

austere mauve
#

datastore

#

just import get/set from it

polar cave
#

I request your aid in debugging this, i have an api key i just hid it bc last time people got mad at me for leaking it

#

The error is whenever i type /mewing i get /mewing and not a mewing git and i also get the error (first image)

#

Here are the docs (sorry that im asking for help ik the error is going to be smth stupid

vast karma
#

Wait tenor is google?

polar cave
jagged briar
#

Add a .catch at the end of the fetch call so you can see the error

dull magnet
#

btw there's no need to use your own api key

#

also that's an awful plugin idea

jagged briar
#

Real

jagged matrix
#

i was about to ask a html variable question

#

but then i realized i was using :root and not body

polar cave
jagged briar
#

If you pr this it will not get merged

polar cave
jagged briar
#

Ok then go for it

polar cave
#

Btw im sry that im interupting ur day but can i send you the script cause now after tweaking it it wont even display the command and / is typed

idle cypress
#

hi all

polar cave
#

Yo wsp

jagged matrix
polar cave
jagged matrix
#

pretty sure iirc

polar cave
#

Ye im using that already

#

Ik the issue lo.

#

lol

#

@jagged matrix sry for ping. What is this?

frigid bay
#

that doesnt rly say much

polar cave
#

Thats why im asking what it means

#

lol

frigid bay
#

i doubt anyone can tell u

#

this says nothing

#

almost

polar cave
#

Whenever i /mewing this pops up. In another plugin of mine where i pull sunset it does work, but this one just gives me a type error

#

Idk what do

jagged matrix
polar cave
#

Ummmm

#

Should i just send my code?

jagged matrix
#

take after the morekaomoji plugin if you’re struggling adding commands in general

#
    commands: [
        { name: "dissatisfaction", description: " >﹏<" },
        { name: "smug", description: " ಠ_ಠ" },
        { name: "happy", description: " ヽ(´▽`)/" },
        { name: "crying", description: " ಥ_ಥ" },
        { name: "angry", description: " ヽ(`Д´)ノ" },
        { name: "anger", description: " ヽ(o`皿′o)ノ" },
        { name: "joy", description: " <( ̄︶ ̄)>" },
        { name: "blush", description: "૮ ˶ᵔ ᵕ ᵔ˶ ა" },
        { name: "confused", description: "(•ิ_•ิ)?" },
        { name: "sleeping", description: "(ᴗ_ᴗ)" },
        { name: "laughing", description: "o(≧▽≦)o" },
#

name: name of command
description: what will send

#

simplest it can get really

jagged matrix
#

and what’s your “getMewingGif” set to

polar cave
#

Wdym?

jagged matrix
#

what do you have in ‘getMewingGif’

polar cave
#
async function getMewingGif(): Promise<string> {
    const res = await fetch(`http://api.giphy.com/v1/gifs/search?q=mewing&api_key=lXMTofVxIbhMIJDU82dS8KwK3SWPtyDx&limit=5
    `);
    const data = await res.json();
    const gifUrl = data.results[0]?.media[0]?.gif.url;
    return gifUrl;
}```
#

That

floral plaza
#

just use the api endpoint Ven sent

pure temple
#

why is this your epic plugin idea

#

meowing gif better

worldly summit
# floral plaza just use the api endpoint Ven sent

fr

const getMewingGif = async (): Promise<string> => {
    const res = await fetch("https://discord.com/api/v10/gifs/search?q=mewing&media_format=gif&provider=tenor");
    const data = await res.json();

    return data[0].url;
};
dull magnet
#

you leaked your api key again lmao

#

stop that

polar cave
#

@worldly summit i apprecite it fr do. But how do i solve so that when i use it it doesnt use the same gif

polar cave
frigid bay
#

just hardcode the url

#

if you want the same gif

polar cave
#

I want a different gif

pure temple
#

why do you want this gif

remote kestrel
#

TheKodeTode

pure temple
#

why do you want a mewing gif
that's an unusual form of shitposting

polar cave
pure temple
#

oka...ay

polar cave
pure temple
#

i suggest new friends /j

dull magnet
#

you're basically asking to be spoonfed

#

try to debug yourself

#

look at the actual error

#

figure it out

polar cave
# dull magnet look at the actual error

I dont have an error, the code works with the api you have given but the gif is always the same whenever i use it. How do i make it to display a different gif everytime i use it?

#

^works

dull magnet
#

do you understand at all how javascript works

polar cave
#

No lol

frigid bay
#

lmfao

dull magnet
#

then go learn Javascript

#

don't ask for people here to spoonfeed you JavaScript help

#

there are other servers for that

polar cave
#

ok mb

worldly summit
#

gdamn

#

you want random gif? or what

polar cave
polar cave
worldly summit
#

😩 okay wait

pure temple
#

i will only provide help if it's a cat gif 🐱

polar cave
#

lols thanks so much

frigid bay
pure temple
#

but nobody will spoonfeed you

frigid bay
worldly summit
#
const getMewingGif = async () => {
    const res = await fetch("https://discord.com/api/v10/gifs/search?q=mewing&media_format=gif&provider=tenor");
    const data = await res.json();
    const gif = data[Math.floor(Math.random() * data.length)]

    return gif.url;
};
polar cave
frigid bay
#

put what in the physical code

#

what is a physical code

pure temple
frigid bay
polar cave
frigid bay
#

^

jagged matrix
#

this

frigid bay
pure temple
#

do you understand other languages well

jagged matrix
#

💀

worldly summit
polar cave
jagged matrix
# frigid bay

thats like saying "hey whats up how was your day" to a chinese person

#

that doesnt know english

pure temple
polar cave
pure temple
#

lmao

#

did you believe me

jagged matrix
#

yo

#

for commandAPI, whats the thingie for selecting a user?

#

as in like

#

cause i know this doesnt work

dull magnet
#

you're using a string option

#

look at a plugin using user options

#

like petpet

jagged matrix
#

alr

#

Sends a random cat gif

#

fuck

#

also any idea why my minky command isnt naturally showing up when i type it? i have to go to the / command menu

#

/minky

#

heres the minky code incase somebody needs it

#

okay fine dont embed

livid egret
#

this took so long pls applause me
(express api to auth spotify and get what user playing rn)

hot rock
cedar olive
#

idk about contributor but I gave programming

hot rock
#

that works thumbsup

vale spear
#

is this about specifically coding plugins for vencord or is it for programming in general

#

because i have a question about vencord's api

#

my question is: Are logger#debug calls shown by default in the discord console?

#

Nevermind i skill issued myself

cedar olive
#

you need to turn on verbose iirc

vale spear
#

I love this, it's so nice

vale spear
vale spear
cedar olive
#

oh you reminded me

#

that needs a bit fixing

vale spear
#

Btw, is this channel for making vencord plugins or programing in general?

cedar olive
#

both

vale spear
cedar olive
#

yeah for both too

vale spear
#

Ah gotcha

#

I was worried i had opened a modmail for something i really don't need

cedar olive
#

I can grant you programming role

vale spear
#

I opened a ticket for access there because I wanted to discuss plugin development, it would have been the wrong move if it was only for vencord internals

cedar olive
#

as long as you are not allowed it's fine

vale spear
#

wdym by "not allowed"

cedar olive
#

oh

#

annoying*

vale spear
#

ahh

#

ofc

cedar olive
#

lmao no idea how that happened

vale spear
#

right now i'm trying to port plugins i used to use on replugged over to vencord

cedar olive
#

which one?

vale spear
cedar olive
#

uh we are have one like that

vale spear
#

i made a couple plugins for vencord myself but they're all either themes or already in vencord

cedar olive
#

EmoteCloner

vale spear
vale spear
cedar olive
#

you can steal emojis using it

vale spear
#

Btw, I might have a PR for NoMosaic to fix a minor issue i have with it, but only maybe

#

gimme a sec

#

i wrote the replugged version of that plugin

dull magnet
#

copy emoji id isn't that useful tbh, you can just copy the link and take the id from the link

vale spear
#

idc about copy emoji id, i just want to steal emojis lol

dull magnet
#

it's slightly more effort but like how often do u need to copy emoji ids

#

yeah we got that lol

vale spear
#

does vencord let you import a css file into a plugin

dull magnet
cedar olive
#

I have no idea how to honestly

dull magnet
vale spear
#

in replugged you could just

vale spear
dull magnet
#

well you're stopping discord from rendering their fallback, no?

dull magnet
vale spear
dull magnet
cedar olive
#

either way the issue is I'm using dates and stuff to handle when it crash loops too fast

#

and that's horrible

vale spear
#

to dev a plugin that's already in the main fork do i copy it into userplugins

cedar olive
#

modify it directly

vale spear
#

The pnpm watch doesn't watch that directory but oh well

dull magnet
#

yes it does

vale spear
#

saving doesn't seem to do anything

#

I checked if all of these have vencord equivs but didn't find any. Please correct me if there are vencord versions of any of these
https://github.com/asportnoy/tone-indicators
https://github.com/lexisother/replugged-plugins/tree/master/plugins/noInlineLinks
https://github.com/FedeIlLeone/replugged-plugins/tree/main/plugins/EditMessageAttachments
https://github.com/Puyodead1/replugged-stafftags (I know that MoreUserTags is similar but it really bugs me that they don't follow the role color)
https://github.com/GriefMoDz/replace-google-search
If there aren't i'm interested in porting them

vale spear
dull magnet
#

they aren't

#

first one likely won't be merged, rest likely will

vale spear
dull magnet
#

whatever you don't like about moreusertags you can turn into a setting for the plugin

dull magnet
vale spear
dull magnet
#

it's very niche and not very useful even for people in that niche imo

#

if you are in a community that uses tone tags you'd know them already wouldn't you

vale spear
#

Nice opinion, I respect it, but personally I find it helpful

dull magnet
#

people who would use that plugin would likely already be well versed with tags

vale spear
#

and there are some weird ones that people use rarely and i'd rather just hover over it than have to look it up

dull magnet
vale spear
vale spear
vale spear
#

wait nvm i lied

#

rip

#

it doesn't work

#

sorry for the ping

cedar olive
#

it's so broken when it crashes in a row

#

I cant get this to work

vale spear
#

code.fix()

#

ez

#

gl though

chrome folio
vale spear
#

someone forgot to run code.fix() when developing code.fix()

#

lemme speak to their manager

chrome folio
#
class Code {
    fix () {
        this.fix();
        return this;
    }
}```
cedar olive
#

this is so stupid

#

I'm gonna go sleep

chrome folio
#

(am)

cedar olive
#

my discord rn:

#

I think reacts shits itself if a component crashes too fast

cedar olive
dull magnet
#

i mean you're not really supposed to be doing what we do lol

vale spear
dull magnet
#

YIQ

#

okay that's good then

vale spear
#

i'll credit the original source in my pr

dull magnet
#

check the license

#

but also that's probably not theirs

cedar olive
vale spear
#

i'll credit this one

#

bc its older

chrome elbow
cedar olive
#

aha I got an idea

#

I'm gonna try abusing setImmediate tomorrow again

#

maybe react won't shit itself now

vale spear
#

alr now the question is how to display the tag color

#

the way it works, idk if i'll be able to go in and specify the color of the tag at creation

cedar olive
#

I fixed crash handler

#

no flash bang anymore though

silver pawn
#

this best map for roblox >:) -- Define the map size
local mapWidth = 100
local mapHeight = 100

-- Function to create the terrain
local function createTerrain()
for x = 1, mapWidth do
for z = 1, mapHeight do
-- Place grass on the ground
game.Workspace.Terrain:FillBlock(CFrame.new(x, 0, z), Vector3.new(1, 1, 1), Enum.Material.Grass)
end
end
end

-- Function to create buildings
local function createBuildings()
-- Example building
local buildingSize = Vector3.new(5, 10, 5)
local buildingPosition = Vector3.new(25, buildingSize.Y / 2, 25) -- Position the building in the center
local building = Instance.new("Part")
building.Size = buildingSize
building.Position = buildingPosition
building.Anchored = true
building.BrickColor = BrickColor.new("Medium stone grey")
building.Material = Enum.Material.Metal
building.Parent = game.Workspace
end

-- Function to create trees
local function createTrees()
-- Example tree
local treePosition = Vector3.new(10, 5, 10)
local tree = Instance.new("Part")
tree.Size = Vector3.new(1, 5, 1)
tree.Position = treePosition
tree.Anchored = true
tree.BrickColor = BrickColor.new("Bright green")
tree.Material = Enum.Material.Wood
tree.Parent = game.Workspace
end

-- Call the functions to generate the map elements
createTerrain()
createBuildings()
createTrees()

#

lol

vale spear
#

What is \i as it's used in so many regexes and match functions here

#

It's not a real regex and it's not a js char escape sequence

#

Oh huh

#

What's patch helper

#

Oh intreguing

#

ew vencord companion isn't available on vscodium

#

smh my patch keeps not replacing anything

vale spear
#

Is it possible to use settings in patches?

vale spear
#

@dull magnet i got it working in chat

#

tht only took like

#

2 and a half hours

balmy sky
#

Fun!11111!!11

#

I already know i'm gonna hate this

sage geyser
#

Does anyone have an idea as to why substrings and slices get rid of formatting wruf in a message?

#

I'm trying to tidy up this randomize function but the way I wruf have it set woof up rn completely guts formatting. I tried using substrings instead of slicing and re-stitching but that didn't work either

#

cause like, obviously restitching bark the words back together would gut formatting, but if I preserve, essentially, all of the string, wouldn't that woof also preserve the enter key presses?

floral plaza
#

what do you mean by formatting

sage geyser
#

having multiple paragraphs

the way the stuff works right now, it makes it all a text wall

#

of awrf course, turning it off means that I can avoid the issue since it doesn['t slice it up

#

it basically deletes new lines

floral plaza
#

can you send the relevant piece of code?

sage geyser
#

yea one moment wruf

#
// Splits up the replace field into an array which it then randomly selects to replace according to the regex used. Uses ';' to denote splitting of options.
let options:Array<String> = rule.replace.split(";");
let randContent = content.split(regex);
//console.log("This is the hell that is split content: " + splitContent);

let newContent = "";
for(let i = 0; i < randContent.length; i++){
  let rand:number = Math.floor(Math.random() * (options.length - 1));
  //console.log("This is the random number chosen: " + rand + "\nAnd this is the random Option chosen: " + options[rand]);

  //console.log("Here's the new content word for word: " + newContent);
  newContent = newContent.concat(randContent[i] + options[rand]);
}
//console.log("Here is the new content: " + newContent);
content = newContent;
continue;
vale spear
#

Should i add myself to the dev list for moreusertags

#

since i spent 3 hours working on it

vale spear
#

Thanks for all the help and I'm happy to be here writing code on vencord

#

Tbh it was more intuitive than replugged and that's saying something

glass oracle
frosty loom
balmy sky
#

There is no "best theme for vencord" because everyone has their own preferences, when in doubt just make your own ~~and make it simplistic ~~ trolley

junior cove
#

You can only say that because I never finished Discorb. Some day, there will be a brave soul who realises Chloe's dream though

pliant pasture
#

Unironically this would be really complex in css

junior cove
#

I gave it a go but ended up giving up. This was my first go at it, I managed to get it a bit more random looking, but I just didn't think I could make it work as something that was actually usable while still maintaining the hand drawn effect

vast karma
#

I think you could get it less regular if you use some nth-child(3n+1) at well chosen places

pliant pasture
#

How do you manage to have different colors for each message

oblique lark
#

nth-child probably

junior cove
#

One of the attributes ends in the message id, so you can just select each message id that ends in 0-9. It's not quite random, but it was a lot less homogeneous than any effect I was able to get with nth-child selectors

hard plover
#

has anyone encountered or tried tackling the bug where clicking on a message reply link which references an old message (a day or two old), doesn't scroll your screen all the way to the message itself?

#

might try to figure out how to fix that annoying reply scroll bug on discord

pliant pasture
#

It's about the reaction profile viewer thing plugin

hard plover
#

ah, thanks!

pliant pasture
balmy sky
#

Are you saying that that causes the bug?

hard plover
#

yep, i can reproduce it, scroll works perfectly fine without that plugin

balmy sky
#

Wtf that's so weird

dull magnet
#

known issue

#

not sure why it happens tho

hard plover
#

ah it can also be worked around by enabling Reduced Motion

#

im guessing we need to wait for the scrolling animation to be done before we call forceUpdate(), might look into this tmr

sage geyser
#

I was messing with themes, awrf and bark I found one that I really really like! But, it seems to conflict the the awrf Horizontal bark server list theme I have. Would there be an easy-ish way to use css trickery to get the unread dots to appear over the servers? or should I just use another theme (image is what i mean) awrf

dull magnet
sage geyser
#

apologies

balmy sky
dull magnet
#

it's fine

balmy sky
#

Oh cool

#

Gonna make it then :3

#

Thanks

frigid bay
#

other than updating the rich presence but thats like the point of a rich presence in the first place

balmy sky
#

This shit is so useful

#

I made a script to make plugin templates because it took a while 💀

short grotto
#

Does anyone know how the Discord UI determines your timezone? (Potential XY: I use resistFingerprinting, which also changes my timezone to UTC 🙈 I'm trying to change it back to my local timezone using either a Vencord plugin or a userscript)

frigid bay
#

discontinued

light ravine
#

too much text

pure temple
#

it's meant to be used by games

#

why do you want everyone to see how chronically online you are though /lh

frigid bay
#

true

steady knot
dull magnet
#

make resistFingerprinting not change your timezone

short grotto
dull magnet
#

it's likely not possible

#

it's just browser apis to get time

#

you'd have to monkey patch browser apis but at that point you should just disable the timezone changing

lime tangle
timid leaf
#

I'm trying to edit the hideAttachments plugin to hide all the attachments in specific channels

#

How do I select all messages in a channel?

#

I don't now TypeScript that well but I know programming so the syntax shouldn't be that much of a jump

#

Here is basically what I'm trying to do (this doesn't work, obviously):

flux: {
    async CHANNEL_SELECT({ guildId, channelId }: ChannelSelectEvent) {
        if (channelId === "(specific channel)") {
            for (message of getAllMessages()) {
                toggleHide(message.id);
            }
        }
    }
},
floral plaza
#

what are getAllMessages and toggleHide

timid leaf
#

I made up getAllMessages and toggleHide is this:

#
async toggleHide(id: string) {
    const ids = await getHiddenMessages();
    if (!ids.delete(id))
        ids.add(id);

    await saveHiddenMessages(ids);
    await this.buildCss();
}
#

It's in the exports

#

Not sure if I can use it or not

viral roost
#

getAllMessages is probs MessageStore.getMessages

timid leaf
#

Just used it as a placeholder

floral plaza
#

so basically you want to "hide" all messages in a certain channel?

timid leaf
#

Hide the attachments from them

floral plaza
#

you can do that by just patching Message probably

timid leaf
#

Is this way not easier?

#

I'm just piggybacking off the hideAttachments plugin

#

Also it will let me unhide them if I want

#

Which is important

viral roost
#

you should probably make a bulk toggleHide

timid leaf
#

Wait what

#

Can you read or not?

#

Also would toggleHide work or not?

viral roost
#

need to look at how hideattachments currently works brb

timid leaf
#

Oh thank you so much

amber mantle
#

css lookd like

viral roost
#

yeah, so calling toggleHide on every individual message would write to the database a lot of times, you should make a separate function which takes all ids, adds all of them to the id list, and then writes to the database once

timid leaf
#

Okay that makes sense

#

Are you willing to help me understand how to do that or is should I look somewhere else?

viral roost
#

looks as simple as ```ts
async toggleHideBulk(newIds: string[]) {
const ids = await getHiddenMessages();
for(const id of newIds) {
if (!ids.delete(id))
ids.add(id);
}

await saveHiddenMessages(ids);
await this.buildCss();

}

timid leaf
#

I think I might not even make that a function since I can't access this

viral roost
#

(also you'd probably need to subscribe to MESSAGE_CREATE to automatically hide attachments on new messages while already in the channel)

timid leaf
#

Makes sense, thanks

#

Is there any documentation?

viral roost
#

see how other plugins do it ig

timid leaf
#

Oh

#

I will try 😔

viral roost
#

before i leave just wanted to say if youre fine with only using the channel name for identification you can also just ```css
.chatContent__5dca8[aria-label="channel-name (channel)"] .embedWrapper_c143d9 {
display: none;
}

timid leaf
#

I might do that instead

#

Thank you

short grotto
timid leaf
floral plaza
#

getMessages(channelId)

timid leaf
#

Ah

#

What does it return?

floral plaza
#

an array of message objects i'd imagine

#

try it

timid leaf
#

I did

#

It says any

floral plaza
#

i mean in console

#

not in the typedefs

timid leaf
#

Oh I see

floral plaza
#

looks like it returns the 60 most recent messages in the channel

timid leaf
#

Okay

#

Thank you

timid leaf
#

Sorry for the dump but this is what I ended up with (I did not do your suggestion on updating it all at once because I couldn't figure out how):

#

Is there anything blatantly wrong about what I am doing?

#

It doesn't work

cold shoal
#

print("hello world")

#

that's everything i can do in python

barren tendon
#

anyone can tell me how i can get these emojis as an normal ones?

barren tendon
balmy sky
barren tendon
#

and how to do this

balmy sky
barren tendon
#

yes

balmy sky
#

The emoji images are loaded from a spritesheet, you can use css (maybe)? or it might be easier to just patch the code to load the old or a custom one

frigid bay
balmy sky
#

It is refusing to update wtf

#

Still kinda cool tho lmao

cold shoal
#

car

barren tendon
balmy sky
#

No lmao

balmy sky
barren tendon
#

please

balmy sky
#

Dawg

#

No one is gonna spoonfeed you a plugin or theme, if you want something then learn how to make it walterDIES

barren tendon
#

now?

barren tendon
#

you do it for me or this is you

balmy sky
#

Dude that IS me

#

Fuck you gonna do

barren tendon
#

god damn it

#

just help me do it

#

idk anything

balmy sky
#

Dude no

#

That's a you problem

barren tendon
#

please

balmy sky
#

NO 😭

balmy sky
#

For every gif you send i blow up a school

honest dragon
#

swapping out normal emojis onto that spritesheet would be quite the boring task

#

if u rly want it u would hav to figure out how urself

#

😭

barren tendon
#

see @balmy sky people want you to help me

balmy sky
#

Take my word for it when i say literally nobody is gonna help you skid your way out of this 😭

barren tendon
#

i will just try to wait till discord will make it avaible to use

granite wharf
#

is there a new utility for extracting webpack module src
i havent touched anything since like oct 2022

granite wharf
#

no but like for all modules
so i can browse src

#

i was relying on this but discord.sale is dead guh

austere mauve
#

just inspect element

#

ctrl shift f

granite wharf
#

guhhhhhh

austere mauve
#

remove depth 1 to download two morbillion zettabytes

granite wharf
#

thank

north flame
#

We need an E2EE plugin

pliant pasture
#

Everybody speaks in nya's

lunar pecan
granite wharf
jagged matrix
jagged matrix
#

especially for a task as easy as that

#

for shame,,,

north flame
oblique lark
oblique lark
#

✅ obnoxious background
✅ programming font
✅ oneko.js
✅ centered div

yep seems good

livid egret
#

progaming
progaming
progayming

junior cove
jade plank
#

Hello, not sure if its the right channel, I just wanted to know if it was "easy" to make my own plugin to have the message input with a red outline when matching a list of server ID. The main goal is to avoid sending shitpost in my work/serious related channels by accident. I have basic knowledge in html/css/js and already made some chrome extensions

keen summit
jade plank
jade plank
#

And if someone wants, to do the same but for the DMs :

.container__037ed:has(h1 > div[aria-label="write_user_id_here"]) .scrollableContainer__33e06.themedBackground__6b1b6.webkit__8d35a {
    outline: 2px solid #F10000;
}```
median flare
#

made my pi-hole contain a image of my cat when given a specific url

spring dew
#

Hey guys! im wondering how one would make a plugin that makes every user/webcam pop out, as of right now you can only pop out all of discord, thanks! any help would be appreciated!
Edit: This would be for having different users webcams on a different monitor, whilst also watching a screenshare

eternal elk
#

is there a plugin that gives you all soundeffects

bitter drum
#

Discord started sending get requests when I listen to Spotify playlists, but the api returns me a 403 due to geographical location, but if listen to the tracks from "liked songs" Discord doesn't send any get requests in this case and SpotifyControls is displayed, so is it possible to make Discord get track information from playlists just like from liked songs?

balmy sky
#

And no

jagged matrix
#

HHHHHHH

#

I HATE WORKING WITH EMBEDS SOMETIMES

balmy sky
#
const Patch: NavContextMenuPatchCallback = (children, { channel }: { channel: Channel; }) => () => {
    const group = findGroupChildrenByChildId("channel-copy-link", children);
    group?.push(
        <Menu.MenuItem id="jumptofirst" label="Jump To First Message" action={() => jumpToFirstMessage(channel)}></Menu.MenuItem>
    );
};


function jumpToFirstMessage(props)
{
    let guildid = props.guild_id;
    let channelid = props.id;
    let url = `https://discord.com/channels/${guildid}/${channelid}/0`;
    var link = document.createElement("a");
    link.href = url;
    document.body.appendChild(link);
    link.click();
    link.parentNode?.removeChild(link);
}

this is the code i made for the "jump to first message" plugin request. It works, but when you try to jump to it, the client temporarily reloads before it jumps to the message. Is there anything i can do to fix that? no errors in console or anything

#

It might just be taking a while to load because it's going through a shit ton of messages

#

Not sure

viral roost
#

horror

#

use NavigationRouter.transitionTo

dull magnet
#

WHY USE AN A TAG

#

yeah do what sunner said

balmy sky
#

Well i'll try that, thanks

#

Amazing

#

Oh yippee it works

steady knot
#

trying it out and seems promising, just need to figure out how to tweak it a little bit

austere mauve
#

yeah its kind of weird to use as it is so i never really bothered PRing it

steady knot
#

yeah I've been using css to cut off the 'today at' text using direction:rtl and max-width but that makes the timestamp all jumbled with this xd

#

for the most part this works well but need to have a way to have a custom time format while also having customization for the relative dates like today and yesterday and then I'd say it's pr ready

#

and adding a link in the settings to the moment docs obv

austere mauve
#

this might do it

steady knot
#

yeah I saw that but brain smooth

#

also would be cool if it applied also to the timestamp that shows up when you hover on a message MenheraPull

#

nvm it already does with the compact mode timestamp option

civic stone
#

does anyone here use AWS S3 for storage in nodejs

#

I just want to get my credentials from aws and start using the s3 client but amazon 'guides' are SO FUCKING BAD and unclear I simply can't understand what to do. More specifically, I already have an IAM identity center profile and group registered, but I can't find anywhere to set 'administrative permissions' and guides are like "go to this tab" but "the tab" doesnt fucking exist and they make 5 different guide pages just to do 1 simple thing

dull magnet
#

uhh use an alternative

#

way cheaper and probably better documented

#

(and fuck amazon)

civic stone
dull magnet
#

yes backblaze is incredibly cheap

#

6 bucks per TB/month

civic stone
#

and aws is so unnecessarily fucking complicated its funny

#

ill probably try one of those 2

steady knot
eternal elk
fathom carbon
#

it should just be like. a server i can ssh into and do things on

civic stone
#

I like Hetzner VPS, but OVH is good too

fathom carbon
civic stone
#

everything in aws is stupid and requires 100 steps

fathom carbon
#

(my friend works for hetnzer)

civic stone
#

hehe

#

i was about to use aws SES email service but they simply denied me for no reason. i won't even use marketing emails i explicitly stated it would only be used for password recovery. now i'll use sendgrid

#

i think ill use cloudflare r2 seems way better than s3

steady knot
#

I tried to make rini's customtimestamp plugin have better settings and stuff but I guess I failed this iq test

#

screw it

dull magnet
fathom carbon
static spindle
#

wsgg

#

was curious but how long does it normally take for a pull request to go through?

runic talon
#

real

static spindle
runic talon
#

Vencord kinda has a maintenance issue

static spindle
#

and how does someone become a maintaner?

runic talon
#

¯_(ツ)_/¯

#

ask Ven ig

static spindle
static spindle
dull magnet
civic stone
#

asking for help in their server

#

hope i dont get bullied

runic talon
dull magnet
#

bugs are fixed / bugfix prs are merged within less than a day

austere mauve
#

these sorts of prs to oneko were rejected already, and its super low priority

dull magnet
#

low priority features not being merged timely != maintenance issues

runic talon
#

ideally they would be, no? I'm not saying the project isn't actively worked on lol just that it could use some help

vast karma
#

Maintenance includes deciding and enforcing project direction

dull magnet
#

most older prs are either unmergeable because the code is awful or there's little interest in them

lone yarrow
#

🗿

dull magnet
#

#🤖-bot-commands

balmy sky
#

Is there a way that i can toggle deafen from a plugin

#

I couldn't find and utils/times that other plugins do it

frigid bay
balmy sky
runic talon
cedar olive
#

l.default.toggleSelfDeaf()

acoustic yew
#

idk if this has been said but cloud setting sync fails when you update your client you have to disable and enable it again :p

#

says enabled on another client :p

fathom carbon
pliant pasture
#

Ohh wait

#

That was your pr

#

I remember a feature request

#

cursed

steady knot
#

I have no idea how I would add a plugin setting for calendar formatting

#

I have hardcoded calendar formatting here and I added an about component thing for fun but that's all I was able to do with my zero amount of skill

gritty leaf
#

iam going to nuke the nuke off the nuke nukers

static spindle
honest plume
#

lmaooo i thought this channel name was "programming"

static spindle
#

if it works it works

#

do ya'll know how long it takes for a pr to go through?

dull magnet
#

27 years

static spindle
#

😭😭😭

#

i keeping rebuling my vencord

#

and i dont feel like it anymore

honest plume
#

Ohhh

#

Loll

trail talon
vast karma
#

Pretty sure it was coding before

steady knot
#

yeah it was

jagged briar
#

Best devilbro code

steady knot
#

I don't know much about js but I know css and their css is just pure horror

dull magnet
#

devilbro

cedar olive
#

ternaries like this are so hard to read

dull magnet
#

wtf is that

oblique lark
#

the Array.from in question:

dull magnet
#

he has 3 billion polyfills that assume the user is using chromium from 2016 and betterdiscord from 2018

trim robin
#

damn just as i was gonna commit the changes i made to fix all the plugins nuckyz and ven did it :Cry:

dull magnet
#

he has so many workarounds for 'legacy' bdapi that is literally like 4 years old at this point

grizzled sluice
#

did the permission viewer get patched???

dull magnet
#

v+ needy 1169675542505730071

potent fox
#

just thought about a scenario

#

a new developer comes to betterdiscord and to get a idea how to make plugins developer looks at devilbro code

#

that cant end well

#

devilbro is threat to society

potent fox
#

you have to be backwards compatible

fathom carbon
#

i hate devilbro

balmy sky
#

Like people could get so intimidated out of coding just by looking at devilbros code pain

#

Trueee

potent fox
#

Eitherway its a disaster

clear parcel
#

😭😭

vivid stratus
#

соск

frigid bay
#

silly

jagged matrix
#

so anyways i made sam's quote plugin font comic sans

#

they hate me now

oblique lark
#

why is the text so small 😭

vast karma
oblique lark
#

lgtm 👍

frigid bay
austere mauve
#

its lgtmqwertyuia++ 🙄

oblique lark
#

looks gay to me

frigid bay
#

wokecord...

kind warren
#

what languge is vencord programmed in?

vast karma
oblique lark
#

Typescript

#

plus some tsx react stuff

kind warren
#

oh wow intresting thanks

oblique lark
#

which isnt really a language afaik

kind warren
oblique lark
#

its kinda like typescript in the sense of adding more stuff on top of js syntax

frigid bay
#

they use wokescript

oblique lark
#

yeah sorry my bad it's wokescript now

#

i forgot that they changed it

kind warren
#

oh okay lmao

oblique lark
#

(/s)

frigid bay
#

it's ok we all make mistakes

kind warren
oblique lark
#

what's that one mean

kind warren
#

really

oblique lark
#

what are the other two letters

kind warren
#

(really)

frigid bay
#

new indicator just dropped..

kind warren
oblique lark
#

someone pr to that new plugin

frigid bay
#

^

oblique lark
#

omg i just googled it and it's totally real

frigid bay
#

wtf

#

I made it up lmfao

#

which team r u on.. qtscript or wokescritp

oblique lark
#

you can tell it's real because it's impossible to edit webpages with devtools

#

there was no way i could have doctored this photo in any way

frigid bay
#

yeah it would be illegal to do so

#

it's up there with counterfeiting I think

oblique lark
fathom carbon
#

there's so much old web standards bs

oblique lark
#

well of course you did wokescript is real

vast karma
#

It's real in our hearts

balmy sky
vast karma
#

Good luck with that

frigid bay
stable ridge
acoustic coyote
gloomy terrace
#

Are you fr
Anyway, nsfw content above ^

balmy sky
#

I love how devtools just randomly fucking decides to pause my client for no apparent reason

austere mauve
#

vban 7 @quasi cove bad quality porn

shrewd tundraBOT
pallid cradle
#

Why bad quality

#

?

balmy sky
#

Homie wanted 4k 🙏 💀

pallid cradle
#

I got real videos I won't show them here cuz I get ban

balmy sky
#

Woah real videos woah

#

Arrest this man

pallid cradle
#

Ye

#

I do

fathom carbon
balmy sky
pallid cradle
#

Not fake ones

#

Real ones

#

Fr fr

balmy sky
#

Yapping

pallid cradle
#

U don't even got real ones

#

😂😂

austere mauve
#

porn sucks dont post anything get a fucking life

pallid cradle
#

I dont post here

#

And ingot a life

#

I make more then ur dad does

austere mauve
#

thats not very hard considering he's unemployed

fathom carbon
pallid cradle
#

Then I make more then ur whole family

austere mauve
#

btw u gotta be 13 to be on discord

pallid cradle
#

Am older then 13

#

I got other acc

pallid cradle
balmy sky
#

Thanks for Watching ❤️
Subscribe and Like to support❤️

.
.
.
.
.
.
.

coldest moments,emotional damage,coldest moments tiktok compilation,badass movie moments,coldest moments tiktok,badass,badass movie moments tiktok,badass moments tiktok,sigma moments,sigma,coldest moments on tiktok,coldest moments compilation,tiktok coldest moments,badass mov...

▶ Play video
pallid cradle
#

Brah

#

I got this from a person

balmy sky
#

Military edit 4k 🔥 🔥 🔥 🔥 🔥 🔥 🔥

pallid cradle
#

Nah

austere mauve
#

vban @pallid cradle 12 years old

shrewd tundraBOT
balmy sky
austere mauve
#

he deleted the images lmao

balmy sky
#

Is there a way i can stop the message create flux calling multiple times when only one message is sent?

topaz slate
#

can someone help me?

#

i want to modify one of the plugins called messageclick actions

#

@dull magnet

balmy sky
topaz slate
balmy sky
#

No

#

Lmao

chrome elbow
topaz slate
#

its just super quick

balmy sky
jagged briar
#

also you aren't gonna get help you if you keep asking random people

#

just say "i need help doing x, can someone help me?" and wait paitiently

topaz slate
jagged briar
#

you are pinging people for them to help you though

topaz slate
jagged briar
topaz slate
#

so can anyone help me modify a plugin (its really short)

topaz slate
#

also is it possible to modify plugins for personal use?

grim hare
#

scary problems

balmy sky
topaz slate
#

here let me fix it then

#

so can anyone help me modify a plugin? i am trying to modify a plugin from vee/vending.machine called "messageclickactions", its a good plugin but i want it to delete my message when i click on the message, not when im holding backspace and clicking. that takes an entire hand repositioning.

balmy sky
#

That's a fairly simple modification, if you don't have the means to do it yourself then you shouldn't go on a dev build

topaz slate
balmy sky
balmy sky
#

If you don't already know what you're doing you're gonna run into alot of issues and not get any support for it. But it's your issues, not mine i guess lmao

balmy sky
topaz slate
#

im not sure what that is

#

is this dev build thing to modify a plugin?

balmy sky
#

If you want to modify a plugin or any other source code you need to build vencord from source

topaz slate
#

is there any tutorial on doing that? sorry for being slow in the head, im just eager to modify this

balmy sky
#

The link i sent you is the tutorial

topaz slate
#

These instructions are only for advanced users. If you're not a Developer, you should use our graphical installer instead.
No support will be provided for installing in this fashion. If you cannot figure it out, you should just stick to a regular install.

balmy sky
#

Yup

topaz slate
#

im not a developer

#

i just want to modify a plugin

#

how hard can this get

long helm
#

I just have a question on how I would go about modifying message content from other users from a plugin. The way I am doing it right now is extremely sketchy and I just want a guide on where I should go.

balmy sky
long helm
balmy sky
# topaz slate i just want to modify a plugin

If you modify a plugin there's a big chance you could fuck it up. Best case, a small bug, worst case you get banned for api abuse. All plugins built into the vencord client are verified safe to use, that's why dev builds are only for devs

topaz slate
#

oh wow.......

balmy sky
topaz slate
#

good thing u told me that

long helm
#

The way I am doing it right now is just getting the selected channel and then getting the messages, iterating through and regexing the content. But I have a feeling this is extremely bad way to do it.

topaz slate
#

so do i get a dev to do it for me?

balmy sky
#

Not good

#

💀

long helm
#

my intuition actually helped me for once lets goo

balmy sky
#

or actually learn js for a while, come back, then make it yourself

long helm
topaz slate
balmy sky
balmy sky
long helm
#

yes pls I have been trying at this for 4 hours now 🙏

topaz slate
topaz slate
spring dew
#

hey guys! i asked for a plugin request, i might wanna take it down if its not possible. Anyone willing to tell me if a plugin is even possible to do? (Popout Screens for individual users and screenshares)

#

someone dmed me, saying that if it was possible it would have been done already 😢

dull magnet
#

v+ no programming @topaz slate

#

guh

steady knot
#

plugins are sort of javascript (typescript)

#

so if you know js you can probably make a plugin

#

but plugins work differently in vencord than other mods or what you might be used to

pure temple
#

vban 1 755320203453136897 self-harm image in pfp

shrewd tundraBOT
oblique lark
#

【Dont dox me :scared: 】

pliant pasture
#

what the fuck

gusty maple
pure temple
#

look at this programming cat instead

gusty maple
#

oey

#

whered you get that image of me

#

you cant just leak me like that :c

fathom carbon
frosty otter
#

is there a way to set profile effects client side? The user Object only has avatar decoration data, but not profile effects.

tender finch
#

do u guys know a way to reorganise roles faster than drag and drop one by one ?

#

i have to move 40 roles rn, its gonna be long af
i trid to hold ctrl, shift, alt, caps lock etc etc etc 😔

balmy sky
#

How do i get the chosen value of a select option type? hmm

#

I defined this setting, and i'm trying to use it as an index

#

But i get this error

#

Am i stupid NAH

cedar olive
#

try adding a default

vast karma
#

You mean in a definePluginSettings?

#

That's just settings.store.theSetting

cedar olive
#

like value: 1, default: true

balmy sky
#

Thanks :3

#

Makes sense lmao

#

Is there a way that i can actually pass the value that the setting has been changed to into the onchange? right now the loadpreset function is just getting the settings.store value of the setting, which doesn't update until the modal closes so it doesn't work

#

OH YEAHHH IT WORKS

#

Sick

vast karma
#

onChange gets the value as argument, doesn't it?

balmy sky
#

Yee i realised that lmao

flint bronze
flint bronze
#

Can I get confirmation that VOICE_STATE_UPDATES ONLY fires on join/leave/(move) events?

#

and is there any clean way to get last channel before channel move events in that case oldChannelId

#

or do i need to track that myself

balmy sky
flint bronze
#

thanks @gritty swan i appreciate your assistance in my testing

flint bronze
balmy sky
#

Probably yeah

flint bronze
#

this is something

#

Do not hack over Discord's existing message types it will result in whatever the fuck this is

flint bronze
#

okay this is Strange:tm but

#

I am trying to send client-sided messages into a voice channel text-chat, and they won't be registered unless I have opened the voice channel previously?

flint bronze
#

Self move between channel events aren't sent through voice state updates

#

hmm

proud parrotBOT
# dull magnet https://github.com/Vendicated/Vencord/blob/main/src/plugins/vcNarrator/index.tsx...

**index.tsx: **Lines 88-102

// For every user, channelId and oldChannelId will differ when moving channel.
// Only for the local user, channelId and oldChannelId will be the same when moving channel,
// for some ungodly reason
let myLastChannelId: string | undefined;

function getTypeAndChannelId({ channelId, oldChannelId }: VoiceState, isMe: boolean) {
    if (isMe && channelId !== myLastChannelId) {
        oldChannelId = myLastChannelId;
        myLastChannelId = channelId;
    }

    if (channelId !== oldChannelId) {
        if (channelId) return [oldChannelId ? "move" : "join", channelId];
        if (oldChannelId) return ["leave", oldChannelId];
    }
flint bronze
#

I think that's it

violet crane
frosty otter
#

is there a way to set profile effects client side? The user Object only has avatarDecorationData, but not profile effects. Other plugins don't work.

balmy sky
frosty otter
#

pull request?

balmy sky
#

Yeah

frosty otter
#

their repo is private

#

?

balmy sky
frosty otter
#

tried this but didn't work

balmy sky
#

Vs mi

#

Oh the command doesn't work out of support

#

Fun

frosty otter
#

looks like discord changed this

balmy sky
#

Discord didn't "patch it"

#

They just updated the code probably

vast karma
#

Things breaking doesn't always mean discord broke it on purpose

vast karma
#

They do have some stuff in the error reporter to ignore stuff if some known mods are installed

#

Yeah that's react

runic talon
#

real issue

vast karma
#

Since you're not employed I think there's little risk of firing

#

Now exploding, on the other hand

steady knot
#

if unemployed and you use it, do you get hired instead?

vast karma
#

No you get a null pointer exception

steady knot
#

damn

tender finch
#

thanks for u response tho

dull magnet
#

i think there has only been one single time in discord history where they deliberately changed something to break client mod functionality

#

and that was them making it harder to enable experiments because people kept shutting up their support channel with experiment help

dull magnet
#

yep

green vessel
#

?ban hmtici

vernal gullBOT
#

You need to provide an image/GIF to add a Bandicam watermark! (Tip: try right-clicking/holding on a message and press Apps -> Select Image, then try again.)

dull magnet
#

vban @green vessel really weird, constantly harassing people unprovoked

flint bronze
#

????

#

anyway

#

is there a proper way to find an open DM with someone

cedar olive
#

maybe this?

flint bronze
#

as in programatically

#

from user id

#

in vencord

#

I don't think any existing plugin has done this yet (as most cases of doing this are self-bot related, I am trying to inject ephemeral messages into there instead)

jagged briar
#

i dont think that's how ephemeral messages work

flint bronze
#

hmm i want to hack over the added/removed member messages

#

somehow

flint bronze
broken mesa
#

how can i make a space in TSX?

#

this is what i currently have, works when i put any text but still overlaps with the time

dull magnet
#

use css margins

flint bronze
#

is there any way to cancel out certain flux events fired while the client is loading

dull magnet
flint bronze
#

okay

#

in that case

#

i will explain

#

i don't want to recieve the voice state updates of existing voice channel sessions when the client loads, so the user doesnt get notified about ongoing voice channel sessions that haven't just started, but instead have been going for a while

#

as I intend to send a message into those users who joined DMs (on the client side) it will move them to the top and that can be confusing

flint bronze
#

i'll do that later blehhh

unreal dock
#

is it possible to connect to a TCP socket from the frontend side in electron

#

ex: vencord in discord

#

that is my usecase

#

i want to write an IRC client that creates a fake discord server for each irc network im in and creates fake channels for the irc channels ive joined in it

spring dew
#

Hey guys! question! does anyone know if the plugin requests that are made on github and looked at in order? they are numbered, so i wanted to know if its randomly checked or not!

jagged briar
#

There is no particular way they are looked at

spring dew
#

ah okay!

dull magnet
unreal dock
flint bronze
#

i can vouch for looking at XSOverlay

balmy sky
#

I tried to make a pin icon and accidentally made some shit from blair witch NAH

flint bronze