#dev-general

1 messages ยท Page 583 of 1

sweet cipher
#

Do you remove them manually or something?

forest pecan
#

its like the entity thing where when you remove it

#

its marked for removal

#

but not actually removed

sweet cipher
#

Oh

obtuse gale
#

the thing is though, the idea of an expiring cache is that it computes/calculates the value if either a) the key isn't present or b) it has expired

#

I presume it just marks it as expired because removing the entry entirely might be more expensive

#

so the next time you access the cache it goes "oi this shit's expired, let me get a new value for this"

forest pecan
#

Also dark mode for google

#

wow

obtuse gale
#

it's smart

#

it's cheap

#

and I need it to not do that lmao

obtuse gale
sweet cipher
obtuse gale
#

I want to run some code when the entry expires

#

not when it's recalculated

sweet cipher
#

Oh

obtuse gale
#

Expired entries are cleaned up as part of the routine maintenance described in the class javadoc
aaaaaaaaaaaaaaaaaa

#

RTFM

half harness
#

rtfm?

obtuse gale
#

read the fucking manual

#

If expireAfter, expireAfterWrite, or expireAfterAccess is requested then entries may be evicted on each cache modification, on occasional cache accesses, or on calls to Cache.cleanUp. A scheduler(Scheduler) may be specified to provide prompt removal of expired entries rather than waiting until activity triggers the periodic maintenance
AAAAAAAAAAAAAAAAAAAAAAAAA

#

AAAA

#

it works

half harness
#

๐Ÿ‘

#

also

#

reminder:

#

B.A.A.S - Too many caps!
No need to shout.
Barry's Anti Abuse System | v1.4.7

obtuse gale
#

no

#

no need to remind me

half harness
#

ok

obtuse gale
#

:(

half harness
#

๐Ÿ™ƒ

half harness
#

..

#

how about

#

:)

sweet cipher
#

Thatโ€™s MY discord

#

They didnโ€™t even try to convince anyone to join it, just put the link lol

obtuse gale
#

lol

sweet cipher
obtuse gale
#

ty

#

lol

#

ill just leave

obtuse gale
#

I just made an atrocity

#

This is very cursed
**```java
if (switch (event.getAction()) {
case RIGHT_CLICK_BLOCK -> event.useItemInHand() != Event.Result.DEFAULT;
case PHYSICAL -> event.useInteractedBlock() != Event.Result.DEFAULT;
default -> true;
}) {
return;
}

distant sun
#

Looks horrible

#

I was never a fan of statements on more than one line :(

potent nest
#

emily

#

i beg you

#

extract it into a separate method

#

pleaaase

obtuse gale
#

lmao

potent nest
#

did discord change the code block font tho? it looks more bold I think

obtuse gale
#

very epic

#

||~~__***```java
if (switch (event.getAction()) {
case RIGHT_CLICK_BLOCK -> event.useItemInHand() != Event.Result.DEFAULT;
case PHYSICAL -> event.useInteractedBlock() != Event.Result.DEFAULT;
default -> true;
}) {
return;
}

#

aaaaaaaaaaaaaaaa

potent nest
#

oh god

#

lol

sly sonnet
#

also what the fuck

obtuse gale
#

because it requires a default case/value in case none of the other cases apply

#

it has to evaluate to something, it's an expression after all

static zealot
#
  __val x = 100__
#

how?

#

oh lol

#

has to be before.

#

xD

#

__```kt
val x = 100

distant sun
#

This actually looks easy, damn

hot hull
#

english

ocean quartz
#

The ' in the method is mildly infuriating

static zealot
#

nah. I Like it

half harness
#

(switch statements in if statements)

#

๐Ÿ‘€

static zealot
#

yes. no. maybe.

lavish notch
#

Got a bit of a random question for folk, might it be possible to have the discord invite embed (with the join button, etc as you see on a discord.gg invite) but with your own domain?

half harness
#

i don't think so, no, since even if you type discord . gg without the blue link it works

lavish notch
#

This idea literally just popped into my a head a moment ago, and I haven't bothered googling it.

ocean quartz
half harness
#

oh

lavish notch
#

Talking of Switch statements, Python is finally getting it's equivalent in version 3.10 which is to release in October.

static zealot
#

nvm

old wyvern
#

Absolute bullshit

static zealot
#

ok

old wyvern
#

ok

#

oh wait

#

wtf

#

When I decompile with baksmali its there

#

But when I open it in jadx it actually isnt there

half harness
#

what

old wyvern
half harness
old wyvern
#

That wont help dkim

half harness
#

oh

old wyvern
#

it will be compiled to like 2 dex files

#

cant see the classes

half harness
#

i don't know what dex is ;-;

old wyvern
old wyvern
#

or something like that

#

This makes no sense tho

#

why does baksmali find the class

#

๐Ÿฅถ

#

oh wait no

#

it does find it

#

just renames it because of being in a windows filesystem

static zealot
#

ok

old wyvern
#

uh

static zealot
#

windows:

old wyvern
#

๐Ÿฅฒ

#
public interface AbstractC8529Factory<T> extends Provider<T> {
}
distant sun
#

C

old wyvern
#

plus

static zealot
#

minus

wind patio
#

equals?

static zealot
#

sharp

wind patio
#

blunt

old wyvern
#

heavy

obtuse gale
#
public inline fun <T> Iterable<T>.sumOf(selector: (T) -> Double): Double {
    var sum: Double = 0.toDouble()
    for (element in this) {
        sum += selector(element)
    }
    return sum
}

This is in the kotlin stdlib

#

0.toDouble()

#

w h a t

prisma wave
#

smartest kotlin user

half harness
#

what in the world

wind patio
#

K

#

๐Ÿคฎ tlin

onyx loom
#

๐Ÿ˜ตโ€๐Ÿ’ซ

half harness
#

35 relocations ๐Ÿ˜Ž
(and this is relocating groups, ex 'me.mattstudios' instead of 'me.mattstudios.mfgui' to create less relocations lol)

#

with the jar being 26 megabytes

#

I'm developing a discord bot for another mc server, but just to be more safe, I want to encrypt the token a little

obv they can just decompile and then find out the token, but I don't want it to be in plain sight
anyone have a simple idea of what I should do?

#

I have two ideas:

  • convert to hexadecimal
  • take the chars and just change the ascii value and then convert to chars again
#

and i don't want to hard code the value because:

  1. testing locally
  2. in case the token changes
obtuse gale
#

i don't want to hard code the value
config

half harness
#

oops

#

ye i meant config

#

but if someone was looking at the config i didn't want them to just have the token right away

obtuse gale
#

realistically anyone with two braincells who knows how to use a token for their own will be able to decode whatever encoding method you chose

half harness
#

ยฏ_(ใƒ„)_/ยฏ

#

i know

#

but i don't want someone to be able to do it right away

#

since they'd have to decompile the jar to see

#

or try a bunch of methods

obtuse gale
#

I mean if you want to go all out you'd use something like RSA

half harness
#

yea ill probably just use the ceasar cipher :) (although modified to be compatible with discord's token format)

#

ty

obtuse gale
#

but the keys would be in the jar anyway so

half harness
#

mhm

prisma wave
#

honestly if they have access to the files then they're gonna know the token eventually, it's just a matter of time

obtuse gale
#

if they care enough

half harness
#

ye

#

and plus ppl with file access are prob trusted

#

since they technically could just delete the server

prisma wave
#

well yeah lol

#

If they've got access to the files there are far worse things that they could do

obtuse gale
#

i personally don't think it's something worth a lot of time and effort, and Caesar cipher will be confusing because it will look like a token, it will have the characters of a token and the format of one

prisma wave
#

Rot13

obtuse gale
#

rot in hell you say?

half harness
#

ยฏ_(ใƒ„)_/ยฏ

prisma wave
#

Maybe even rot26

#

if you're feeling super secure

obtuse gale
#

mhm

#

there's someone in the building

prisma wave
#

๐Ÿ˜ตโ€๐Ÿ’ซ

obtuse gale
#

lol

half harness
#

๐Ÿ‘€

#

i gtg now though, ty for the help ๐Ÿ˜„

old wyvern
#

Figured out the issue from earlier!

#

It wasnt actually the class not being there

#

The class that was missing was actually javax.inject.Inject

#

But for some reason it was getting suppressed

ocean quartz
prisma wave
#

so selfish

#

they don't care about their users

#

they have to make a BOT write code

empty flint
#

Has anybody used JavaFX with Kotlin yet?

frail glade
#

Nope

prisma wave
#

There's that TornadoFX thingymajig you're supposed to use

frail glade
#

How you been Brister?

prisma wave
#

Pretty sick actually the past week, but just about cleared up now

#

Wbu?

frail glade
#

Overloaded with school. Have barely touched my PC tbh.

prisma wave
#

Yeah I probably should be the same lol

#

What are you studying?

static zealot
#

I want to die rn. I started changing my bot and just started changing small things in every place without going with just 1 thing at a time. Now I have like 100 things changed and 0 commits

#

no embeds

#

nice

#

omg

frail glade
#

I'm Comp Sci with Leadership Studies minor.

static zealot
#

I copied the message link

#

fuck

empty flint
prisma wave
frail glade
#

Kinda, yeah.

prisma wave
static zealot
#

man. I start uni in 1 week and I have 0 information. like about everything ๐Ÿฅฒ

prisma wave
#

join the club

#

i'm applying in a couple of weeks and i have no idea what im doing

static zealot
#

oh you're just applying in a couple of weeks? I've already paid like 1/3 of the annual taxes and all that, and we're going to be announced on their website on what to do. Not even email. So every 1 hour I go refresh just in case I get new info. Got no idea how classes work, what other stuff I need, If it is going to be online or in person, all that shit. ๐Ÿฅฒ

prisma wave
#

๐Ÿฅถ

static zealot
#

going to send an email tomorrow just to make sure. Because the thing is just yesterday was the final day when people could like apply or whatever. Well not really apply, just confirm by paying a part of the tax and stuff.

#

We don't even have the final lists yet. So I guess they gonna update us after the final list is displayed.

static zealot
#

Matt. with Bean Proprieties is there a way to set a custom name for each variable when in file? so for example I have kt data class CommandData(val commandName: String = "default-command") I have a setting holder: kt object Holder: SettingsHolder { @Path(commands) val COMMAND = Property.create(listOf(CommandData())) } and the file is:

commands:
- commandName: default-command```
but I would like it to be
```yml
commands:
- name: default-command```. I know I can change the variable name to `name` in the CommandData class but I want other names for example `allowedRoles` to be `allowed-roles`.
ocean quartz
#

do

@Name("name")
var commandName: String

Change the val to var in the bean btw

static zealot
#

oh yeah. it is var. ty.

steel heart
#

Motable

static zealot
#

no u

steel heart
#

yes u

static zealot
#

Matt. I require your assistance once again. I am tired ๐Ÿ˜ฆ
Error: https://paste.helpch.at/ozewetodut.bash
Custom (settings holder): https://paste.helpch.at/jizutayaye.bash
CommandData: https://paste.helpch.at/yaqomudahu.coffeescript
Config file: https://paste.helpch.at/isivekizuz.coffeescript

So when I run with no value for custom.commands in my settings file, the bot runs fine, then I stop the bot, try to start it again and I get that error. I really can't tell what I'm messing up.

AlphaBot line 56 is me initializing the settings manager. https://paste.helpch.at/xorezilana

#

also. don't mind all the @Name annotations in my commanddata class. will be removing the ones I do not need.

#

also. line 37 in SettingsManager is the .create() one.

ocean quartz
#

Hmm you're using a list of beans? I don't think that'll work well
What is the goal here? To add many commands?
If so I suggest a map instead
List of objects in yaml are funky

static zealot
#

hmmm. Alright. Will be trying. Tho I am like 55% sure that this works just fine in config me.

#

xD

#

seems like the same error is thrown.

ocean quartz
#

Actually

static zealot
#

but instead of createCollection it is createMap

ocean quartz
#

Try mutableListOf instead of listOf

static zealot
#

now. this for oth COMMANDS property and the lists in CommandData? or just for the property?

ocean quartz
#

Might need to be both, ConfigMe is very strict about requiring mutability

static zealot
#

and yes. this happens when I make the property a mutable map and the lists in custom data mutable.

ocean quartz
#

Can you show me everything you have now? Settings holder, and dataclass

static zealot
#

yup. 1 sec

#

also

#

just changed it to var COMMANDS = Property.create(CommandData())

#

and it works

#

so I guess no lists? ๐Ÿ˜ฆ

static zealot
#

oh. also don't mind the var lol

ocean quartz
#

What if you do:

custom:
  commands: 
    default-command:
      category: ""
      # etc
val COMMANDS = Property.create(mutableMapOf("default-command", CommandData()))
static zealot
#

which is very similar.

#

wait. actually might not be that error. let me try again. but it is very similar

ocean quartz
#

Let's get hacky then:

@Path("custom")
val COMMANDS = Property.create(CommandsHolder())

data class CommandsHolder(var commands: MutableMap<String, CommandData> = mutableMapOf("default-command" to CommandData()))
static zealot
#
object Custom : SettingsHolder {
    @Path("custom.commands")
    val COMMANDS = Property.create(mutableMapOf(Pair("default-command", CommandData())))
}```
```yml
custom:
  commands:
    default-command:
      category: "default-category"```
and I get this: https://paste.helpch.at/iyocefujum.bash
ocean quartz
#

Try the hacky example

static zealot
#

will do.

static zealot
static zealot
#

omfg. I finally have. commands. xD

covert aspen
#
  public void onPhase(PlayerMoveEvent event) {
    PlayerData data = FunkePhase.INSTANCE.getDataManager().getPlayerData(event.getPlayer());
    if (data == null)
      return; 
    long timestamp = System.currentTimeMillis();
    if (data.getLastTeleport() != null && event.getTo().equals(data.getLastTeleport())) {
      data.setLastTeleport(null);
      return;
    } 
    FunkePhase.INSTANCE.getService().execute(() -> {
          Player player = event.getPlayer();
          if (player.getAllowFlight() || event.getTo().getWorld().getUID() != event.getFrom().getWorld().getUID() || player.getVehicle() != null || !FunkePhase.INSTANCE.phaseEnabled || timestamp - data.lastDoorSwing < 500L)
            return; 
          if (event.getFrom().distanceSquared(event.getTo()) > (FunkePhase.INSTANCE.getMaxMove() * FunkePhase.INSTANCE.getMaxMove())) {
            event.setCancelled(true);
            return;
          } 
          float minX = (float)Math.min(event.getFrom().getX(), event.getTo().getX());
          float minY = (float)Math.min(event.getFrom().getY(), event.getTo().getY());
          float minZ = (float)Math.min(event.getFrom().getZ(), event.getTo().getZ());
          float maxX = (float)Math.max(event.getFrom().getX(), event.getTo().getX());
          float maxY = (float)Math.max(event.getFrom().getY(), event.getTo().getY());
          float maxZ = (float)Math.max(event.getFrom().getZ(), event.getTo().getZ());
          SimpleCollisionBox box = (new SimpleCollisionBox(minX, minY, minZ, maxX, (maxY + 1.8F), maxZ)).shrink(0.05000000074505806D, 0.05000000074505806D, 0.05000000074505806D);
          int x1 = (int)Math.floor(box.xMin);
          int y1 = (int)Math.floor(box.yMin);
          int z1 = (int)Math.floor(box.zMin);
          int x2 = (int)Math.ceil(box.xMax);
          int y2 = (int)Math.ceil(box.yMax);
          int z2 = (int)Math.ceil(box.zMax);
          for (int x = x1; x <= x2; x++) {
            for (int y = y1; y <= y2; y++) {
              for (int z = z1; z <= z2; z++) {
                Block block;
                Material material;
                if ((block = Helper.getBlockAt(event.getTo().getWorld(), x, y, z)) != null && (material = block.getType()) != AIR && Materials.checkFlag(material, 1) && !FunkePhase.INSTANCE.getExcludedBlocks().contains(material)) {
                  CollisionBox blockBox = BlockData.getData(material).getBox(block, ProtocolVersion.getGameVersion());
                  if (blockBox.isIntersected((CollisionBox)box)) {
                    Location setback = findSetback(data);
                    if (setback != null) {
                      setback.setPitch(event.getTo().getPitch());
                      setback.setYaw(event.getTo().getYaw());
                    } 
                    event.getPlayer().teleport((setback != null) ? setback : event.getFrom());
                    FunkePhase.INSTANCE.alert(event.getPlayer());
                    return;
                  } 
                } 
              } 
            } 
          } 
          data.locations.addLocation(event.getFrom().clone());
        });
  }

+ 
  private ExecutorService service;```
#

is this code good

#

this.service = Executors.newSingleThreadExecutor();

sly sonnet
#

what the fuck

covert aspen
#

it's that good?

sly sonnet
#

idk i dont witk w anticheats lol

#

if it works as intended, it's probably good

steel heart
covert aspen
#

so none of you can see the big mistake?

#

mistake i s = this.service = Executors.newSingleThreadExecutor();

prisma wave
#

what?

#

is that like a test or something lol

humble silo
empty flint
#

Has anybody encountered an IllegalAccessException before?
Idk what to do about this:

Caused by: java.lang.IllegalAccessError: class me.blocky.logreader.LogReader (in unnamed module @0x6ba964ff) cannot access class com.sun.javafx.collections.ObservableSequentialListWrapper (in module javafx.base) because module javafx.base does not export com.sun.javafx.collections to unnamed module @0x6ba964ff

#

ObservableSequentialListWrapper is a public class declared in a package that gradle imports successfully. I can view its source code even so idk what the deal is...

humble silo
#

Its possible that the stuff you need has been moved to the module jdk.unsupported, but unlikely

empty flint
#

but like... why would they do that? ๐Ÿ˜ฆ

humble silo
#

also you shouldnt be using the com.sun packages anyways

forest pecan
#

Yeah they're deprecated lmao

#

for usage

humble silo
#

Do you know if the jdk.unsupported packages are ever gonna be taken out? I cant imagine that Unsafe will ever go away but who knows

ocean quartz
#

Oh god, Kotlin 1.6 fun <T!!> will be a thing, non nullable generic type ๐Ÿ˜ฉ

prisma wave
#

tf

onyx loom
#

what the fuck

prisma wave
#

arent they notnull by default

old wyvern
#

Well no

#

xD

onyx loom
#

yeah i dont get this

old wyvern
#

T can be some nullable type

ocean quartz
#

T? is always nullable
T!! is always not nullable
T probagates nullability from type argument.

lunar cypress
#

Well then just do T : Any

#

I don't get it

old wyvern
#

Get what?

ocean quartz
#

Still not final though

lunar cypress
#

Why this needed to be added

old wyvern
#

๐Ÿคท

ocean quartz
#

Just 1.6-m1

old wyvern
#

is it out?

#

or just planned?

ocean quartz
#

Will be experimental in 1.6 planed for 1.7

old wyvern
#

ah

#

oh lord

ocean quartz
#

Another syntax they are considering is <T & Any>

old wyvern
#

another @ExperimentalStdLib nightmare I assume

#

Or wait no

prisma wave
old wyvern
#

How does the experimental syntax even work?

#

the annotation is for the std lib

ocean quartz
#

Needs compiler flag and annotation yeah
I think it's @OptIn

old wyvern
#

ah

ocean quartz
#

Also :kek:

-XX:DefinitelyNotNullTypeParameters compiler flag

old wyvern
#

xD

ocean quartz
#

Html DSL compiler ;o

before (1.4.0): 34s
after (1.6.255-SNAPSHOT, would be 1.6.0-M1): 6s

old wyvern
#

๐Ÿ˜ฎ

sweet cipher
#

Is there a way to dispatch a command as a component with paper from console?

dense dew
#

idk but wdym it sounds interesting xd

sweet cipher
#

You can send messages as a Component, I just want to know if you can send commands as a Component, that way if the command has any color like in a message it uses that

dense dew
#

hmm, ehy do you need that

sweet cipher
#

So that color is included

dense dew
#

but why ๐Ÿค”

sweet cipher
#

Wdym why?

dense dew
#

whats the usage of colored command

sweet cipher
#

If the command was /broadcast <red>A broadcasted message</red>
I want to include the color

half harness
#

aaaaaaaa i have a bug where in console if you want to send a command you have to type the command, then press enter twice, but then only the first letter seconds

#

and its only if my plugin is installed

#

what

#

hmm

#

might be something to do with JDA

#

i've used jda inside of a plugin without troubles before ๐Ÿ˜ฉ

#

I even did this and the issue still happens

#

be quiet barry

#

I FIXED ITT :D

humble silo
#

Dyno struggling

obtuse gale
#

me irl

static zealot
#

Me to dkim

steel heart
#

๐Ÿ˜ณ

dawn hinge
#

I didn't know you were indian blitz

static zealot
dawn hinge
#

Habebe

half harness
#

lombooooooooooooooooooooooooooooook

steel heart
wind patio
#

Hail JVM

remote goblet
#

@hot hull literally explain what the fuck

static zealot
#

no u

steel heart
#

FrozenJoin

static zealot
#

doesn't looke like fj

#

look*

remote goblet
#

it isnt fj

static zealot
#

auctionworth. did he make that?

remote goblet
#

yes

#

i hate it

#

but I get terrorised to fix it all the time

static zealot
remote goblet
#

yeah I know

distant sun
#

Is gazelle a library?

remote goblet
#

Yeah gazelle

#

i literlaly hate it a ton

distant sun
#

Link?

hot hull
#

No Gaby..

remote goblet
#

i figured it out buy like, i still hate your plugin StareIntoYourSoul

hot hull
#

Not my fault you can't read

remote goblet
#

life would be so much easier had you of just fixed your plugins in the first place madWaddle

hot hull
#

It's weird how all of my plugins work completely fine when I'm using them

remote goblet
#

just cause they work on your machine doesn't mean they work globally

hot hull
#

Seems like a you issue then reversed_fingerguns

#

Anyways yes I do agree the plugin is ass

remote goblet
#

i dont get paid enough to redo it fingerguns

#

nor do I actually have any of the math skills to do it

hot hull
#

I mean only thing I don't like is the itemregistry, the rest is fine

#

Also what math skills lol, it's basic math my guy

static zealot
#

well. we lack basic math skills.

remote goblet
#

You see here's the funny thing

#

I'm gay

#

I lack basic math skills

static zealot
hot hull
#

Lmao

remote goblet
#

can you explain what the hell its complaining about when it says the cache is not ready whattf

onyx loom
#

the cache isnt ready

remote goblet
#

bite me kaliber

onyx loom
#

๐Ÿฆท

remote goblet
hot hull
remote goblet
#

StareIntoYourSoul i hate this plugin

distant sun
#

question, didn't luck had a plugin to see what IPs or hosts your plugins are connecting to?

obtuse gale
#

NetworkInterceptor or something

#

You'll find it in his profile on spigotmc

distant sun
#

no download link, nice

forest pecan
#

Damn, i find it so nice how you can compile Go applications for any arch + os with a fixed os

#

like you can compile Windows executables on mac

#

its so sexy

static zealot
#

hmm. with the / commands(discord, could I have something like this):

/command Required-Option Optional-Option-Based-On-Required-Option?

#

using jda + jda-chewtils

#

seems like I could have /command subcommand OPTIONS-FOR-SUBCOMMAND so I might try that.

obtuse gale
#

chew!

#

rory

ocean quartz
#

Me: "this doesn't look centered"
Fiance: "It definitely is!"
It isn't!

forest pecan
#

lol

static zealot
#

So you're saying your fiance can't see?

static zealot
#

discord commands suck ๐Ÿ˜ฆ

ocean quartz
#

They do

unkempt bloom
#

guys is there a gif tutorial of how to use the chat reaction plugin cuz many user dont understand how to use it

#

@ocean quartz ?

#

@obtuse dust @agile siren sup

#

nice alts tho

ocean quartz
#

Why are you pinging me?

ocean quartz
humble silo
#

Im officially cool now

#

only had to sell my soul to the devil

old wyvern
#

for an issue?

humble silo
#

the pro tag

old wyvern
#

oh

humble silo
#

very purple

old wyvern
#

lol

static zealot
#

I just want to die ๐Ÿฅฒ

Printing the commands I have for the guild, it gives me 0, tried updating the commands, same shit. No it is not user cache. Restarted discord multiple times.

I don't even have these commands registered anymore. they do not exist. these were like my first attempts and for some reason they don't go away.

Should I try and kick my discord bot? I really don't want to do that ๐Ÿ˜ฆ

#

oh. I wonder if they're like one of those non guild commands

#

or something?

old wyvern
#

slash commands might need to be unregistered maybe

#

I not really sure

static zealot
#

yeah. and it does work. for most. but for those 2 it does not

old wyvern
#

oh

#

weird

static zealot
#

will try and see if there's a way to unregister per bot commands

#

oh. there is a way to update bot commands as well. Man I love how every time I ask in here, I just randomly think of the answer.

#

or at least new possible solutions.

humble silo
#

though im pretty sure im not getting payed to read your messages

static zealot
#

welp. it wasn't that this time.

#

so. decided to debug and yes it is a per bot registered command. time to find out why it does not unregister.

#

ty everyone

#

got it to work. ty again everyone. lol

#

it is kinda trash tho. I can't unregister bot commands on shut down or anything like that. so I have to unregister them on start up. Which means even tho my bot is stopped the commands are still listed. xD

#

it just gives a "something went bad" message or something like that

#

interaction failed

#

man these commands just make me want to die

wind patio
#

what are you trying to do

#

is it JS or JDA?

#

I just register them in a guild on MessageReceivedEvent if it's jda

#

CommandListUpdateAction commands = event.getGuild().updateCommands();

#

then just commands.addCommands( ... ) and commands.queue();

#

and they update automatically

#

if you register them globally on all guilds it takes up to an hour to update

steel heart
#

Lel

wind patio
#

if you need some insight on JDA slash commands, lmk

#

interaction is failed if it's not replied to

steel heart
#

I used to like JDA

#

But idk it just doesnโ€™t hit the vibe anymore

wind patio
#

I have a method

    void eventReply(SlashCommandEvent e, EmbedBuilder embed)
    {
        e.replyEmbeds(embed.build())
                .setEphemeral(false)
                .queue();
    }

so I just do all the logic, etc., and reply to the event with the embed after

wind patio
#

but JS slash commands are more pain personally

#

no objects to relieve the pain a bit

steel heart
#

Lmao

#

By js do u mean discord js?

wind patio
#

yeah

steel heart
#

Is that written still in type script?

wind patio
#

haven't used ts

ocean quartz
#

Slash commands are a mess, global ones take a while to go through and guild commands are so fucking buggy

steel heart
#

Threads are still a mess also imo

ocean quartz
#

Yeah

steel heart
#

Arguably somewhat unmanageable lol

wind patio
#

tho discordjs has SlashCommandBuilder, haven't used that

#

it's pretty convenient

steel heart
#

Oo

#

Wait is discord js object oriented or what approach do you have there?

wind patio
#
const { SlashCommandBuilder } = require('@discordjs/builders');

const data = new SlashCommandBuilder()
    .setName('gif')
    .setDescription('Sends a random gif!')
    .addStringOption(option =>
        option.setName('category')
            .setDescription('The gif category')
            .setRequired(true)
            .addChoice('Funny', 'gif_funny')
            .addChoice('Meme', 'gif_meme')
            .addChoice('Movie', 'gif_movie'));
ocean quartz
#

I mean that's pretty similar to what JDA offers

wind patio
#

tho there are tons of ways to implement slash commands in djs

#

you can stuff everything in one or two events or use module exports

#

or choose from "thousands" of npm packages

steel heart
#

Pog

#

Modi

#

Do u know uk?

wind patio
#

huh

steel heart
#

uk49

wind patio
#

who that

ocean quartz
#

Conclure what happened to pfp? ๐Ÿ˜ฉ

steel heart
#

Disappeared

wind patio
#

oh, yeah, he messaged me about one of my plugins

steel heart
#

Yaaa

static zealot
steel heart
#

Is he trustworthy from your pov?

wind patio
#

Can't really tell, he just asked me about a feature if I could implement

steel heart
#

Ah fair

wind patio
#

Said he could pay for it but I rejected the offer, since I don't take payments for my free plugins

#

And I just implemented it anyway

steel heart
#

Ah

wind patio
steel heart
#

Modi inv me to ur dev ghetto discord

wind patio
#

dev ghetto ๐Ÿ’€

wind patio
static zealot
wind patio
steel heart
#

Jesus

static zealot
#

but I really really hate discord commands.

#

why when I have sub commands the main command can't be used anymore? I could just make 1 command for each sub command if I wanted that.

#

why can't I just cancel the slash command and still be able to execute code. so I don't have to reply to their message.

steel heart
#

Discord is a mess because they really rush everything out

static zealot
#

someone posted a message few days ago (might've been adam), showing them working with the actual community on fixing and improving the,.

#

them*

#

like in a public discord call or something like that

static zealot
#

why can't I have sub sub commands.

ocean quartz
#

Because Discord doesn't let you

steel heart
#

Discord being discord

wind patio
static zealot
#

well. then my question is. why does it not let me?

static zealot
ocean quartz
#

Cuz fuck you, that's why

steel heart
static zealot
# wind patio can't you?

A quick note on nested subcommands and groups. We support nesting one level deep within a group, meaning your top level command can contain subcommand groups, and those groups can contain subcommands. That is the only kind of nesting supported.

#

this is on their website.

#

on the docs

wind patio
#

ah

static zealot
#

like. don't get me wrong. I love the idea of slash commands. but the way they're implemented at the moment, I really hate.

steel heart
#

Yeah it has potential

static zealot
#

the fact that I can just type / and see all commands I can execute in a server, great.

#

not having to see what bots everyone has, not having to see what prefixes they use

#

all that

#

but they suck

wind patio
#

permission based commands should be a thing lol

static zealot
#

yeah. that too.

wind patio
#

it's annoying to check if user has permission for every command manually

static zealot
#

not having to have a role for each command lol.

ocean quartz
#

Command permission is even more messy than commands themselves

static zealot
#

that can use or cannot use

#

depending if you set it to whitelist or blacklist

#

one of the few things I like.

#

but again, that lib doesn't let you

#

like send custom messages

#

or do nothing

#

when they don't have permission

#

literally just calls this terminate(event, client.getError()+" You must have a role called "+requiredRole+" to use that!", client);

#

that's one of the reasons I Wanted to do my own lib

wind patio
#

Would be interested to work on it with you

#

Tho haven't really made any APIs or anything, not sure how much of help I could be

static zealot
#

yeah. you won't. when you'll realise how bad I am. lol

#

lmao. same.

#

xD

wind patio
#

Would be interesting to learn something new tho

static zealot
#

my problem is not even like making it

#

just working in a team.

#

you would just want to kill me then kill yourself after working with me for like 1 day

#

lol

wind patio
#

Nah, I had worse experiences in uni

#

where I do all the work and I have to beg others to do at least a tiny bit in my group

static zealot
#

like. I have a very bad practice of starting work on something, doing small changes, not finishing, and just starting on other stuff at the same time.

#

like today I legit changed 20 things in my bot in just 1 commit

#

and also. I really don't test enough my shit. I sometimes commit before fully testing or even testing at all

wind patio
#

honestly, same

static zealot
#

and the worst part is I am aware of all these flaws, and do absolutely nothing to improve. ๐Ÿฅฒ

wind patio
#

same as well

#

I'm too lazy

#

if it works it don't need fixin

#

๐Ÿง”

steel heart
#

\๐Ÿง”

static zealot
#

\๐Ÿง”

#

\๐Ÿฅฒ

#

\๐Ÿ˜ญ

steel heart
#

my pc thinks its a marshmallow

steel heart
static zealot
#

what?

#

lmaooo

steel heart
#

hollow marshmallow

#

idk

#

yes

static zealot
#

can I see?

#

ss please

wind patio
steel heart
wind patio
#

lol

steel heart
#

maybe not a marshmallow

#

but

#

like

#

a funnycube

static zealot
#

ah. lmao.

#

it is a cube. the one for unknown chars.

steel heart
#

oo

#

never seen one of hose befoe

static zealot
#

yeah. those hoes are quite rare

#

also. they are not usually foes.

#

so it would be very rare to see a foe hoe.

steel heart
#

yeah once I get a hoe, always eat it immediately

#

oo foe hoe

#

yeah

#

legendary

wind patio
#

If you decide to work on it, let me know, I'd be down to team up

static zealot
#

๐Ÿฅฒ my commitment issues

#

lmao

steel heart
#

๐Ÿ˜ฎ

static zealot
#

I once started a project called BlitzMenus. supposed to be an alternative to DeluxeMenus but better and in kotlin.

steel heart
#

did I just miss something

wind patio
#

Never really had much good projects with other people, my uni tries way to hard to push the group work, but everytime I just had to do everything myself lol

static zealot
#

yeah. I've set up the project, started

#

and that was it

#

lmao

steel heart
#

M0dii

wind patio
#

huh

steel heart
#

I need someone who can helpรฅ

#

me

#

let me hire u

wind patio
#

hire for what

steel heart
#

uh

#

for coding with me

wind patio
#

I'm trash at coding

steel heart
#

fuck u

wind patio
#

Not sure if you want that

steel heart
#

no

#

u r not

#

basically exceeding skills in every way there is

wind patio
#

have you seen my code lmao

steel heart
#

bro

#

stop

static zealot
#

jk. it is not that bad.

#

๐Ÿฅฒ

steel heart
wind patio
steel heart
#

same goes for me

wind patio
#

why hurt me in this way

#

but fair enough

steel heart
#

you r not bad

#

so stop

static zealot
#

the allman coding stile.

steel heart
#

stile

static zealot
#

yes

steel heart
#

sey

static zealot
#

ies*

steel heart
#

*sei

static zealot
#

that is what I meant to sai.

steel heart
#

I just had a stroke

static zealot
#

I do not have the i kei.

steel heart
#

but lets continue

#

jeshush

static zealot
#

on mi keiboard.

#

lol

steel heart
#

u ded will eat

static zealot
#

?

steel heart
#

eat ded u will

static zealot
#

?

steel heart
#

will u eat ded

static zealot
#

?

steel heart
#

sotp

#

no

static zealot
#

I legit have no idea what you're saying.

#

lol

steel heart
#

hmm

#

u eat ded will

#

what I meant

wind patio
steel heart
#

okay

#

checkNewDay

static zealot
steel heart
#

little too big function

static zealot
#

(I was one of em)

steel heart
#

but else

#

generally speaking

#

u got real potential

#

no joke

steel heart
static zealot
#

well to be more specific, he mentioned all 5 trusted members that are online

wind patio
steel heart
#

trusted

static zealot
#

I know someone else that does exactly that.

steel heart
static zealot
#

and when I get to refactoring the code I literally rewrite like 75% of it and maybe end up just giving up on finishing updating it. lol

steel heart
#

hehe

wind patio
#

lol, been there

steel heart
#

totally couldnt relate /s

#

lmao

#

theres a book for minecraft plugins

#

apparently

static zealot
#

lmao

#

probably a best seller as well

steel heart
static zealot
#

btw. fun fact. I have a spigot plugin and I used to recommend paper over spigot on the plugin page. spigot removed my recommendation and someone gave me a 5 star rating after. I Think that guy might hate paper.

steel heart
#

lol

#

idk why ppl hate paper

#

its so addicting

#

or well

#

ues

static zealot
#

they do not lol. spigot just has a rule for competitors

#

rule 7.2.3

steel heart
#

fair

static zealot
#

and rule 7.2.2

steel heart
#

ye

static zealot
#

but.

steel heart
#

I should be knowledgeable about those hehe

static zealot
#

there are actual plugins on spigot

#

that warn you if you're on anything else but spigot and also sometimes don't even give you support.

steel heart
#

oof

static zealot
#

the guy now proceeded to message me. (the one with the ping)

steel heart
static zealot
#

oh. he got muted.

#

lmao

static zealot
#

welp. going to watch 1 or 2 more episodes of Rick and Morty and going to go to bed after. good night boys.

wind patio
#

Gn

static zealot
#

btw. R&M season 5, totally worth going to jail for. just saying.

steel heart
#

gn

#

@wind patio

#

sleep tight

#

๐Ÿ˜›

#

ohy

#

it was for lbitz

#

im dumb

static zealot
#

lol

#

we all are

steel heart
#

ty for restoring my confidence lol

static zealot
#

Lol

steel heart
#

First one to demolish earth wins $99999999999

half harness
static zealot
#

Steal 1 mil for me and you win 100k

#

Ez capitalism

#

Why antvenom??? :(

#

Why must you go the dkim19375 way?

ocean quartz
#

Why would they care about old versions lol

static zealot
#

Yeah. Title is pretty bad. Video is not as bad lol

#

It will probably generate a lot of interaction from angry people only reading the title lol

#

It is all a strategy

wind patio
onyx loom
#

hes on the grind

#

fixing bugs

wind patio
#

Eclipse ๐Ÿ’€

half harness
#

btw uh @ocean quartz sorry for ping ;-;

but do you know why this happens? https://paste.helpch.at/huhukitube.cs with TriumphConfig? I'm able to reproduce it, along with the server i'm making plugins for
code: ```kt
object CoolConfig : SettingsHolder {
@Path("channels")
val CHANNELS = Property.create(listOf(792863255168155681L, 891806920627871744L)) // setOf doesn't work either, gives the same error except that it's LinkedHashMap instead of ArrayList
}

Other pieces of code in the stacktrace: 
- `CoolPlugin.kt:48` - Constructor#newInstance, which is probably making a new instance of `CoolModule`
- `CoolPlugin.kt:37` - variable (as this is a lazy variable)
- other CoolPlugin stuff in stacktrace - I'm pretty sure you can figure it out by the names \;)

- `CoolModule.kt:40` - ```kt
val config = YamlFile(CoolConfig, File(dataFolder, "config.yml"))

YamlFile: https://github.com/dkim19375/DkimCore/blob/master/src/main/kotlin/me/dkim19375/dkimcore/file/YamlFile.kt

#

I've done setOf and listOf in configs before.. I'm not sure why it won't work this time

ocean quartz
#

Try mutableListOf

half harness
#

btw hashSetOf & arrayListOf doesn't work either

ocean quartz
#

Hmm just a sec imma give you a solution in a bit

half harness
#

๐Ÿ˜ฎ ty

static zealot
#

Dkim. U suck

half harness
#

ik, that's why there's matt :D

humble silo
#

cant expect them to do anything more complicated

ocean quartz
#

@half harness Do:

@Path("")
val CHANNELS = Property.create(ListHolder())

data class ListHolder(var channels: MutableList = mutableListOf(792863255168155681L, 891806920627871744L))
dense thicket
#

ok so im helping a server own with some deluxemenus config files and i want to make a deluxe menu to show case kits but i want it to also show three different items in a slot depending on status. i need an item to show its unlocked, and an item to show they dont have the perms, which i know how to do, but i also need an item that shows the kit is on cooldown

ocean quartz
dense thicket
#

sorry

ocean quartz
#

It's okay

eternal compass
#

yo anyone free and want to try to convince Citizens to use gradle?

#

(well, Sentinel first)

forest pecan
#

not worth time

sweet cipher
eternal compass
#

nah just a transitive dependancy issue

#

also nevermind, the topic ended

ocean quartz
#

Good fucking luck, knowing the dev

old wyvern
#

ah yes, mcmonkey

eternal compass
#

I coulden't find any alternative besides gradle

#

so I said use gradle

urban sleet
#

I need ideas for a discord bot name

#

General utility stuff, moderation, xp system maybe

rotund egret
#

AverageBot

#

DoneBeforeBot

urban sleet
#

If it was a public bot i'd agree but i'm making it specifically for my discord server

sweet cipher
#

Harry

urban sleet
#

Hmm, for some reason, that name reminds me of another bot

rotund egret
#

I had a bot named lemmy

#

Best name tbh

sweet cipher
#

Or something like that

urban sleet
#

Not bad, i'll consider it

#

I was just gonna do something like hibiscusbot (which is what it currently is), but our discordsrv equivalent bot has the same name, so people get confused

obtuse gale
#

@urban sleet Ava

#

CC @haughty whale

haughty whale
#

Cc Me

#

Tier 6?!

#

Emmy get a life geez

obtuse gale
#

I'm sorry Larry

#

I'm too depressed to do that

haughty whale
#

Spend more time talking to me then

#

I'd rather you have tier 6 larrypoints

obtuse gale
#

I'm sorry Larry

#

I'm too depressed to do that

haughty whale
#

Oof

obtuse gale
#

๐Ÿ˜–

urban sleet
obtuse gale
#

Because I once talked with him about discord bot names and I mentioned Ava

#

He was like "hurr durr no"

urban sleet
#

Ah, got it

#

Originally was gonna be Kayak (because i was forking speedboat), but it doesn't have slash commands and I don't feel like porting the bot to using slash commands

ocean quartz
#

I mean could still name it that

urban sleet
#

Sure but it would make more sense to be named kayak if it was a fork of speedboat

#

(speedboat is a fork of rowboat)

ocean quartz
#

Oh boy Bukkit moment

obtuse gale
#

"PaperSpigot"

urban sleet
#

I remember back when it was actually called that

obtuse gale
#

I like Fabric's theme lol; fabric, yarn, loom, ...

#

I think my internet dieded

urban sleet
#

Fabric's theme is nice

ocean quartz
#

First time i saw yarn i was like "fabric runs nodejs?" lmao

obtuse gale
#

Lmao

urban sleet
#

"future of Spigot" - md-5

obtuse gale
#

๐Ÿคก

sweet cipher
#

Ooh I have one.
BetterBarry

obtuse gale
#

Barry, Harry, Larry, Terry, Jerry, Kerry, Perry, Merry, Berry, Carry

sweet cipher
#

Terniary

urban sleet
#

I do like the Bee name actually, considering it

sweet cipher
#

QueenBee

#

I need to think of a bee pun

#

I canโ€™t

#

This is bad

#

Im just going to sleep now

urban sleet
#

I'm editing language files, maybe i'll sleep once I do ~200 more lines

obtuse gale
ocean quartz
#

Name it the diminutive of Richard

static zealot
#

@wind patio there is no way for me to not reply to / commands right? Like delete them or something.

I would want to execute the code but without any reply.

wind patio
#

you could set it to ephemeral so only the user who sent it sees the output

#

and possibly delete it shortly after

static zealot
#

yeah still. not the best option. I'll just send a confirmation message for now

wind patio
#

or just reply and delete immediately, not sure if that works and if it'd look janky

static zealot
#

I'll just delete it like after 10 seconds. it will be sometihng like "Command executed successfully" or idk.

static zealot
#

this is fun.

wind patio
#

cool

static zealot
#

oh yeah

#
     *     <li>Cannot be deleted by the bot</li>
     *     <li>Cannot contain any files/attachments</li>
     *     <li>Cannot be reacted to</li>
     *     <li>Cannot be retrieved</li>```
#

cool

obtuse gale
#

thanks github this is very good

frail glade
#

Do it for ChatColor2

#

Does anyone have Java 17 in use yet? Can you test if QuickJS works on Java 17 in the JavaScript Expansion?

hot hull
#

Oh hi Glare

distant sun
#

Thats nice em

steel heart
#

I consider dropping spigot support and only support paper, any second thoughts on the decision?

obtuse gale
#

no second thoughts

ocean quartz
#

Definitely makes your life easier

#

@obtuse gale You're almost top 10!

#

1k away from bardy

obtuse gale
#

woah

steel heart
#

bout to lose pretty pink/pruple color ๐Ÿ˜ฆ

ocean quartz
#

Tier 7 is nice too, pretty pink

obtuse gale
#

conclure i do not care

steel heart
#

๐Ÿ˜ฆ

steel heart
obtuse gale
#

beige?

#

that ain't beige

ocean quartz
#

That isn't really beige lol

obtuse gale
#

that's a light salmon

steel heart
wind patio
#

No, that's lighter amaranth mixed with dark shade of eburnean

ocean quartz
#

Spanish Pink

#

Lmao

steel heart
#

oh

obtuse gale
steel heart
#

still beige :p

ocean quartz
#

Soonโ„ข๏ธ

obtuse gale
#

brother it ain't beige

steel heart
#

๐ŸŒž

ocean quartz
#

Men and their sense of color ๐Ÿ˜ฉ

wind patio
#

Men only see 5 colors

obtuse gale
#

according to science

wind patio
#

All of our nicknames are basically white

#

Men only see red, green, blue, white and black, no more no less, confirmed by facts and logic

steel heart
ocean quartz
#

If you see red, green, and blue, you already see all colors fingerguns

steel heart
#

๐ŸŒ

#

so is gold a color?

wind patio
#

๐Ÿ˜ฉ

obtuse gale
steel heart
#

๐Ÿฅฒ

obtuse gale
sick belfry
#

and the js extension

obtuse gale
#

Epic even tho I don't care

sick belfry
#

tell me, wtf is quickjs?

frail glade
#

I like that decode from stream. Will make working with skull textures a lot easier.

#

Idk, some implementation of a JS Engine.

sick belfry
#

how do I install it?

frail glade
#

It's inside the JavaScript Expansion

#

So on a server with Java 17 and PlaceholderAPI just /papi ecloud download javascript and /papi reload or whatever the commands are.

sick belfry
#

done

#

no errs atm

#

java 17 runs nice on the server

#

so it should work

frail glade
#

Then idk why the person reported it not working.

frail glade
#

No rush, I have to get back to studying.

sick belfry
#

np

sick belfry
#

so I cannot confirm if the issue is from PAPI or CCR

#

sorry

frail glade
#

๐Ÿ‘

static zealot
#

how would you call multiple data?
Is datas fine? I Don't even know what question to ask lmao.

#

what is the plural of data. that is what I wanted to ask

prisma wave
#

data

sick belfry
#

data is the same

#

singular or plural

static zealot
#

nah nvm. according to some websites datum is the singular and data is the plural.

#

welp. didn't want to use data and data. will find something else.

prisma wave
#

yeah

#

datum

static zealot
#

or I guess I Can use datum

prisma wave
#

Bacterium

#

nobody every says that though

static zealot
#

well I did just now

#

lol

rotund egret
#

The plural of fish is fishes โ˜บ๏ธ
but only sometimes

static zealot
#

what if fish is the plural and fishum is the singular?

#

and you just never knew?

#

lol

#

hmm

#

so

#

this won't really work now that I think about it

#

because I have a class that stores data. so a list of data would still be data.

#

just gonna call it dataList and data

#

also. is this like a common practice? or is this something that is usually a no no?

class SomeClass(
  var1: Type, var2: Type2,
  var3: Type3, var4: Type4,
  var5: Type5, var6: Type6,
)```
#

I feel like it is more readable than just having them all in a line

#

especially when you add private val to them. lol

rotund egret
#

I prefer that over a huge single line tbh

static zealot
#

why?

prisma wave
#

why would like breaks for readability be a bad thing lmao

rotund egret
#

Because a huge line means I'll probably end up having to scroll left/right, which is fucking annoying.

static zealot
#

Classes with longer headers should be formatted so that each primary constructor parameter is in a separate line with indentation.

#

found this on the kotlin website.

#

that is what I Did at first but wasn't sure

static zealot
#

that is what I was like Why? xD

#

yeah. I agree. and kotlin coding conventions agree with me. lol

ocean quartz
#

But do you read it datum or datum?

prisma wave
#

what?

static zealot
ocean quartz
#

It's a joke about the two pronunciations of data, smh

prisma wave
#

kek

#

Or cringe

static zealot
#

well. you see. I pronounce data as data. because I'm cool

static zealot
#

my poor laptop has been running for a while. it really could use a restart

static zealot
prisma wave
#

please do not ping me

old wyvern
#

@distant sun ^

prisma wave
#

with all due respect, heck off

old wyvern
#

๐Ÿ˜‚

static zealot
#

yeah. idk if that is banable or not.

#

it is the second time

ocean quartz
#

@prisma wave I'm sorry, i won't ping next time

prisma wave
#

thanks man!

old wyvern
#

@prisma wave same!

prisma wave
#

@ocean quartz

#

thanks

distant sun
#

No

old wyvern
#

Noe

lament obsidian
#

Add to DeluxeMenu option automatically fills slots that will not be set, eg: windshield

#

?

#

@distant sun ?

static zealot
#

how about you don't ping staff members, you ask in just one channel and also in the correct one? (#general-plugins) thank you.

lament obsidian
#

oke

#

sorry

distant sun
#

Banned

static zealot
#

lol

obtuse gale
#

dah-ta or day-ta?

prisma wave
#

day ta

#

Dahta is american

obtuse gale
#

bri ish innit?

prisma wave
#

yes

#

innit

static zealot
#

init {
}

sweet cipher
ocean quartz
#

Yeah i think it more of a per person thing, i've seen a lot of americans say day-ta and i have seen brits say dah-ta

sweet cipher
#

Itโ€™s actually datas

static zealot
#

yo. where can I find the spigot source code?

dense dew
#

build tools maybe

static zealot
#

oh that right. think I've seen that before. ty

#

will take a look

dense dew
#

if would people want, could they release new spigot version before md_5 do it?

static zealot
#

well not spigot but a fork yeah.

#

don't think md lets everyone just update it without him going thru the code.

dense dew
# static zealot well not spigot but a fork yeah.

then why paper dont do it for example? why they dont create plugin compatibile version asap before spigot release and then just change things to be fully compatibile with spigot after spigot release

static zealot
#

because that would probably suck for paper lol

#

also for developers

steel heart
#

papa had fok