#development
1 messages · Page 28 of 1
I'm making a drawing on canvas, but I'm adjusting the dimensions of this text with the dynamic box on the website. When I set it with the dynamic box, the font size remains constant, get me with 2 changing values (scaleX, scaleY). Can i find the font size by Font Size * scaleX ?
nop
let newfontsize = (item.fontSize * item.scaleX)
item.fontSize(parseInt(newfontsize, 10));
item.scaleX(1);
item.scaleY(1);
```i solved
didn't work
m.createMessageComponentCollector is not a function
😭
okay I fixed that
but how do I get the value wtf 😭
// And now we can create our collectors.
const filter = (interaction) => interaction.user.id === message.author.id;
const collector = message.createMessageComponentCollector({ filter, time: 30000 });
// And now we collect.
collector.on("collect", async i => {
if (i.customId === "main_settings") {
how do I get the freaking value
customId doesn't work for this
how do I get the value of the thing
Is this a select menu?
It helps reading something called documentation
I have it opened
opened does not mean reading
shows nothing useful about that tho
Cause you've never read documentation before so you have 0 clue on how to find what you want
anyway how do I check it?
Are you kidding me? .includes is one of the most used function ever
I found it in a matter of seconds
He is talking about how to find the values returned from the select menu interaction
what does i.values return
ye
https://discord.js.org/#/docs/discord.js/main/class/SelectMenuInteraction?scrollTo=values
An array of strings
ok so how do I know which value was clicked?
collect it
I literally have that freaking open
The reason it is an array is because a select menu can support multi select
https://discord.js.org/#/docs/discord.js/main/class/Message?scrollTo=createMessageComponentCollector
all button interactions and context menu interactions require a collector after slash command initialization
so you can either filter through the array or get it based on index
ok but how the hell do I get the value which was pressed?
actually im wrong on that but dont yell at me
Read the documentation
please shut up

I AM
misty you are reverse tall
If you aren't going to offer help fuck off
@ancient nova Check: https://discordjs.guide/popular-topics/collectors.html#interaction-collectors
Interaction collectors is how you want to do it I think...
^^
it literally does not
Also, to be fair you are reading the wrong part of the documentation. That just shows you how to make the collector. But you gotta think of what you are actually collecting. Since you are collecting a select menu response you wanna look for SelectMenuInteraction
it talked about arrays, which I already know
const { ComponentType } = require('discord.js');
const filter = i => {
i.deferUpdate();
return i.user.id === interaction.user.id;
};
message.awaitMessageComponent({ filter, componentType: ComponentType.SelectMenu, time: 60000 })
.then(interaction => interaction.editReply(`You selected ${interaction.values.join(', ')}!`))
.catch(err => console.log(`No interactions were collected.`));```
SPOONFEEDING BAN
if you were collecting a button it would be ButtonInteraction
No but for real learn how to read a documentation @ancient nova
invalid
as they aren't using awaitMessageComponent
Hastebin is a free web-based pastebin service for storing and sharing text and code snippets with anyone. Get started now.
here freaking read it first
does it matter if they are or not?
It matters if they don't want to use it yes
Then this @ancient nova ```ts
const { ComponentType } = require('discord.js');
const collector = message.createMessageComponentCollector({ componentType: ComponentType.Button, time: 15000 });
collector.on('collect', i => {
if (i.user.id === interaction.user.id) {
i.reply(${i.user.id} clicked on the ${i.customId} button.);
} else {
i.reply({ content: These buttons aren't for you!, ephemeral: true });
}
});
collector.on('end', collected => {
console.log(Collected ${collected.size} interactions.);
});```
This would be for a button
bro I'm not using buttons and I already got it working
its just component type
I want to get the ID of the value inside the selection menu, OK?
Then say you got it working?
We're just trying to help. No need to get all upset.
That will be nearly impossible
djs only returns the values from the select menu, not the ids
wtf then how do poeple make these selection menus even work xdddddd
just check against the values...?
if I don't know which selection menu was even pressed xddd
then check against the values???
bro what do you mean????
It seems I misunderstood what you were sayying when you put those two in the same sentence
use VALUE instead of ID which is NONEXISTANT
bro
value of the ID returns the id of the whole ass action row
Okay instead of 3 people telling him what to do, lets calm down for a sec
If all three of us try and respond it will only confuse him,
i have absolutely no words
bro
Let's calm down. Clearly they don't understand and getting upset is not going to help.
@ancient nova please read the discord.js documentation. There are tons of examples on how to get information from select menus and other things like that.
Okay lets forget about reading the docs for a sec
do you or do you not see value inside the option section? check against that
config_row is just your action row id
and I want this, OK??? when I press the button I wanna know which value was pressed OK? how else do I know which embed to send wtf
when you collect the button interaction it returns the value
???? so how do I get the value ?????
xWass they return the raw interaction
Since forever?
I am NOT using buttons
thats an object is it not
Everything in Js is an object anyway
learn to navigate objects then 💀
tf
They all return raw interactions, but if you set up a collector for it you’ll get the interactions via that and not your interactionCreate event iirc
omg waffle come save us pls
Buttons or Select menu returns the interaction itself, select menu interaction response has a .values prop which holds the collected values
https://hastebin.com/wulozifove.js bro read my code before talking, please
Hastebin is a free web-based pastebin service for storing and sharing text and code snippets with anyone. Get started now.
this
bro learn js before asking question pls
mega /s
You are being unhelpful
💀
I do not wish to read your code with that formatting!!!!
i didnt even bother opening it
All of you guys responding and being dicks aren't helping
cause you're stupid
If you aren't going to help fuck off
this code looks like its copy pasted from a git repo or stackoverflow question
Oh God what's happening here
(That you need the value of)
Maybe we should stay polite and just try to help?
🍿
🍿 🍹
I don't have time for this, im going back to watching anime
If you cannot help, don't help but don't create conflict either.
thank you everyone for your great contributions in the form of emoji and miscellaneous messages that contribute nothing to the ongoing conversation!
uvuvwevwevwe onyetenyevwe ugwemubwem ossas!
bro #development is not the same as it used to be 💀
Thank you Parm for your great contribution as well!
😍
^^^
yes cause fuckwits like you loom contribute nothing
weird loom fuckwit has contributor role
@earnest phoenix do you know how I can get which option was chosen in the action row?
🙂
Hastebin is a free web-based pastebin service for storing and sharing text and code snippets with anyone. Get started now.
collect it we have said this like 18 times
I'm trying to deescalate the situation cause clearly things were getting a bit heated. Maybe I can't help with development in this situation indeed.
its an array of strings
that does not tell me which value was pressed ???
the array contains all values pressed
It gives you the values that were collected though
okay it contains all values presssed then how do I get from it which value was pressed ?????
Even without multi select enabled it will just return an array of a single value
It contains all of them 🤔
If you want a specific one
misty, what
I like how Tim said the answer at least 4 times from the back row of the bleachers and has been repeatedly ignored 
then find that specific one
no I just want the value that I pressed
example:
if A was pressed, .values will be ["A"]
if A and B was pressed, .values will be ["A", "B"]
But
HOW DO i KNOW WHICH ONE TO FIND!!!!
see misty now do you see
If you are allowing others to press your select menu and collect the data
omfg if it gets every single one that is pressed then I won't know which is the one that was actually pressed?
then you are doing it wrong
lol
IF EVERY SINGLE ONE WAS PRESSED THEN EVERY SINGLE ONE WAS ACTUALLY PRESSED?????
HELLO?
BRO WHAAAAAAAAT
^^^
Bae, it returns only the options that were pressed...
this is irking me to an extent i have never felt before
I have a feeling this guys filter for the collector is just letting everyone press the select menu and the values be collected
but you can literally press it only once....
then whats the issue
you can press multiple values
You just have to allow multi select
Also has the DAPI officially supported select menus in modals yet
Nope. Tried it this morning
in other means i finally got osmc installed on my pi, got disney+ and netflix installed and running
That's cool.
Hastebin is a free web-based pastebin service for storing and sharing text and code snippets with anyone. Get started now.
doesn't work
fucking awesome, right
What doesn't work
What did you change that makes it not work?
YOUR VALUES!!!!
just freaking look at the code before speaking!!!!!!
please, please
i think you should be directed to a udemy course instead of attempting to modify code taken from a git repo with next to no prior experience
You can't yell on people and expect them to help you right after.
Just calm down
I'm coding it by myself you absolute fucking moron
The comments lead me to think otherwise.
can I not comment them for myself???????
?????
????
well I do, and everyone seen me here coding like this many times so stfu
time for some base coverage
ask @earnest phoenix ask @sharp geyser @ask @civic scroll wtf are u on about
He does actually comment like that, believe it or not
that is beyond baffling
In every line of his code I’ve seen a comment pretty much
🤓
Can we calm down?
It’s not terrible but it’s excessive sometimes
yes of course.
fr can yall take a chill pill and stop hurling insults at each other
Select menus support single-select and multi-select behavior, meaning you can prompt a user to choose just one item from a list, or multiple.
if multi select is enabled, a user can chose more than one value at once. if multi select is disabled, then they can only chose one value.
but because it has to support both modes, they made it always return an array. if multi select is disabled, the array will always only contain 1 value, so you can just do .values[0]
if multi select is enabled, then since the user can select multiple values, you have to decide what to do with them, for example checking if one specific value was included with .values.includes("A")
got it?
I think they already got that, something else is wrong here
yes, that's very simple, thank you
@ancient nova try logging i.values in the collector
This is the biggest argument in #development I’ve seen in a while and as much as I like arguing I think some of y’all are a little too emotionally invested in this and need to step back
im confused this has been said in various different ways like 18 times
Awesome!
i need food have fun loom 
Goodbye!
moments like this make me wish i were still a mod damn
parm too smol to be a mod
cause they weren't understanding what my problem even was, then refused to even look at my code which made it beyond confusing
With a formatting like that, anyone would refuse to look at the code. It's super hard to read.
we cant just look at your code and immediately know what the issue is with next to no context
"This interaction failed" @earnest phoenix your idea didn't work
Bae you tend to be very vague and it seems like sometimes you have a lot of the same issues you keep coming back for, there’s a reason people get frustrated trying to help you sometimes
no it is literally not
It is.
on the other side if you get frustrated you should take a step back and stop adding fuel to the fire
@ancient nova I think I see why it doesn't work in this case, you're creating the collector on the user's message, not on the message that contains the select menu
it is not, I've it exactly how he said
a lot of people are being very provocative in here and are very clearly trying to be passive aggressive to get a reaction
As I said a while ago you’re going to have issues with this because you didn’t await the message being sent
thanks
You’ll just have m being Promise<{ pending }>
yeah I forgot to await it, my bad for not seeing this earlier
declaring variables in the same line as a closing bracket has to be the most cursed thing ever lmao
fr
He does this all the time
message in your case refers to the user's message, but you're supposed to create it on m which is the message the bot just sent with the select menu
what do you mean--- oh i see i typed client instead of bot bruh
bae can i reformat a piece of your code for you and send it back?
My eyes hurt seeing it but if we can’t get him to change it after a million requests then there’s no point in trying so 🤷
yeah, sure
yes send any
code styling is a preference
there are certain general practices like line ends actually being line ends
yeah that's why I code how I code, I probably won't change that
if it works for him it works for him
just use the one I sent or do you want a different piece
as long as he's not pushing his style on other projects
you're allowed to create your own style guide for your stuff
send the working code ion wanna send back unworking code
HOW AM I LISTENING TO SPOTIFY
other projects wont allow it
aight
I DONT HAVE SPOTIFY OPEN
oh its gone now
Ok.
hello my internet is absolutely tripping
i just looked back at my code i only typed it wrong on the example i sent not in my code so idk what the issue is
there we go ethernet time
do you have multiple listeners or only one?
@uneven tartan you can have my whois command, I don't really care too much for it
https://hastebin.com/equrojarog.js
Hastebin is a free web-based pastebin service for storing and sharing text and code snippets with anyone. Get started now.
because if you only have 1 listener then the key under _events will not be an array
im reloading all events one by one
his style guide would look like
- In-line variable declarations
- In-line variable declarations on if statements
- Multiple line if conditions
- Unnecessary array lambda methods slapped on everything just because
Etc
for example
1 listener: ._events.message = function
2 listeners: ._events.message = [function, function]
ooo so i cant just through the entire array in there instead nice
i only have the file names thoough
I code like this on a few languages only although the comments are a must in every project I do
don't forget inline bracket-return
they help so much when you come back to a project after a couple months, but I guess you guys wouldn't understand
} return stuff;

generally your goal should be to write code that documents itself
bruh the only time i comment stuff is when im bored or need to remember somthing
not good
The rule of thumb is that people should be able to tell what your code does by looking at it, in most cases
as you read it, you should be able to understand its functionality
thats not it
and you comment overarching pieces of code
@ancient nova this one wasnt bad at all. the only thing that was really bothering me was the semicolons not being at the end of the line
bot.removeListener("message", client._events.message[0]);
_.events.message[0] will not work if you only have 1 message listener
It’s perfectly okay to have comments explaining complex logic or something like that, but explaining what console.log does is not the right use case for comments
you have to remove the [0]
but to be fair your comments aren't thaaat bad
basically removed some spaces and removed the inline stuff
😐
now im going to rebuild that command without an embed builder
thought you would rewrite the entire thing but ok
it's like you're writing comments as documents with code which hey is actually a pretty valid school of thought

Bae you seriously need to consider using an automatic formatter like prettier
why did you remove all the spaces between assignments
It would make your life a million times easier
that's horrific
Yeah that’s ew
bruh so atm im using a for loop to iterate through all event files, delete it from the require cache delete it from the listener thing then rerequire it and rebind it
a = b is much more readable than a=b
I'm also in shock that you guys didn't hate on this 
slicedRoles = !slicedRoles ? "None" : (slicedRoles.length >= 8) ? (slicedRoles.slice(0, 8) + " and more...") : Array.isArray(slicedRoles) ? slicedRoles.join(", ") : slicedRoles;
I always have spaces between tokens like that
dude I didn't write that
does thumbnail take an object copilot thinks it does
yea my linter removes spaces around = and it hasnt bothered me much so idc
because it’s so unreadable I don’t really even know what it does
that's very horrific i would change that in an instant
and tbf i never lint my code anyways
its a ternary operator^39995
if no slicedRole s return none, if lenght over 8 slice it, if an array join else display slicedRoles
linting is silly imo if you aren't working with other developers
simple
that is very not simple
that should totally be refactored into an actual if statement
do you have a check to see if its an array?
You really shouldn’t be chaining ternary operators
I wanted to keep that inline since most other things were inline in that script
99% of the time chaining ternary should be refactored
At that point you should be separating it into if statements
oh if only you'd seen my ternaries in my c# script...
at the very least logically separate it into sections with ()
do i
Let me remind you that empty arrays aren't a falsey value in JavaScript, so that !slicedRoles will never be true, empty collections aren't falsey values either
Ternary is just meant to be a shorthand conditional branch, not meant to replace the functionality of if statements
probably not but it works for requiring the file but idk how that works
i just does
and i havent touched that bit
this is why i absolutely hate dynamic languages that let you do this shit
hopefully VS is forcing the C# conventional code style on you
and yet he will still fight it
private void HandleMovementInput() {
moveInput = new Vector2((isCrouching ? crouchingSpeed : isSprinting ? runningSpeed : walkingSpeed) * Input.GetAxis("Vertical"), (isCrouching ? crouchingSpeed : isSprinting ? runningSpeed : walkingSpeed) * Input.GetAxis("Horizontal"));
float moveDirectionY = moveDirection.y;
if (isSprinting && (Mathf.Abs(Player.velocity.x) > 0.5f || Mathf.Abs(Player.velocity.z) > 0.5f )) {
Camera.fieldOfView = Mathf.SmoothDamp(Camera.fieldOfView, cameraBaseFov * FOVKickAmount, ref cameraBaseRef, 0.25f);
//} else if (isCrouchingCheck && (Mathf.Abs(Player.velocity.x) < 0.5f || Mathf.Abs(Player.velocity.z) < 0.5f )) {
// Camera.fieldOfView = Mathf.SmoothDamp(Camera.fieldOfView, cameraBaseFov * 0.75f, ref cameraBaseRef, 0.25f);
} else {
Camera.fieldOfView = Mathf.SmoothDamp(Camera.fieldOfView, cameraBaseFov, ref cameraBaseRef, 0.25f);
}
moveDirection = (transform.TransformDirection(Vector3.forward) * moveInput.x) + (transform.TransformDirection(Vector3.right) * moveInput.y);
moveDirection.y = moveDirectionY;
}
``` my movement script done in c#, hate me for that ternary op
I saw a linter with rust-like errors/warnings
man
Talk about absolutely unreadable
{} on same line 😔
I feel bad for unity

😔
You’ve gotta learn some OOP and general CS principles here man
Separate things into functions
if it works, it works
Even I could do better and I suck at C#
c# is my primary lang
if it works it works is not a great mindset to have
unity will become Separation after this code
it works now but what about when you need to go back and update it
it will be a nightmare to update
this is coming from a guy who won't learn anything cause its "too" hard
You could throw everything in a giant Main function and it “still works”, but that is incredibly unorganized and a terrible idea
Do what exactly? Coercion of objects to booleans?
private void HandleHeadbobInput() {
if (!Player.isGrounded) return;
if (Mathf.Abs(moveDirection.x) > 0.1f || Mathf.Abs(moveDirection.z) > 0.1f) {
cameraTimer += Time.deltaTime * (isCrouching ? headbobCrouchSpeed : isSprinting ? headbobRunSpeed : headbobWalkSpeed);
Camera.transform.localPosition = new Vector3(Camera.transform.localPosition.x, cameraDefaultPos + Mathf.Sin(cameraTimer) * (isCrouching ? headbobCrouchAmount : isSprinting ? headbobRunAmount : headbobWalkAmount), Camera.transform.localPosition.z);
}
}
``` another whole lot of ternaries
Yeah I don’t like that for everything

they're all inconsistent with what is considered falsy as well
I feel like you should need to explicitly convert objects to booleans
The sloppiness of dynamic programming languages can be crazy, but I guess their goal is to make things easier
int == 0 ? false : true
it's like 20 extra characters to eliminate the potential for bugs
oof I just found my old custom editor code
/** @INSPECTOR-SETTINGS */
#if UNITY_EDITOR
[CustomEditor(typeof (CharacterBehaviour))]
public class CharacterBehaviourEditor : Editor {
string Version = "v0.1.0b";
CharacterBehaviour characterBehaviour;
SerializedObject customInspector;
SerializedProperty CanPlayerMove;
//SerializedProperty customInspectorCanPlayerSprint;
//SerializedProperty customInspectorCanPlayerJump;
//SerializedProperty customInspectorCamera;
//SerializedProperty customInspectorPlayer;
//SerializedProperty customInspectorwalkingSpeed;
//SerializedProperty customInspectorrunningSpeed;
//SerializedProperty customInspectorlookSmoothing;
//SerializedProperty customInspectorwalkingGravity;
//SerializedProperty customInspectorrunninglookSpeed;
//SerializedProperty customInspectorwalkinglookLimit;
//SerializedProperty customInspectorjumpForce;
//SerializedProperty customInspectorFOVKickAmount;
void OnEnable() {
characterBehaviour = (CharacterBehaviour) target;
customInspector = new SerializedObject(characterBehaviour);
CanPlayerMove = customInspector.FindProperty("<CanPlayerMove>k__BackingField");
//customInspectorCanPlayerSprint = customInspector.FindProperty(CanPlayerSprint);
//customInspectorCanPlayerJump = customInspector.FindProperty(CanPlayerJump);
//customInspectorCamera = customInspector.FindProperty(Camera);
//customInspectorPlayer = customInspector.FindProperty(Player);
//customInspectorwalkingSpeed = customInspector.FindProperty(walkingSpeed);
//customInspectorrunningSpeed = customInspector.FindProperty(runningSpeed);
//customInspectorwalkingGravity = customInspector.FindProperty(walkingGravity);
//customInspectorlookSmoothing = customInspector.FindProperty(lookSmoothing);
//customInspectorrunninglookSpeed = customInspector.FindProperty(lookSpeed);
//customInspectorwalkinglookLimit = customInspector.FindProperty(lookLimit);
//customInspectorjumpForce = customInspector.FindProperty(jumpForce);
//customInspectorFOVKickAmount = customInspector.FindProperty(FOVKickAmount);
}
public override void OnInspectorGUI() {
customInspector.Update();
EditorGUILayout.LabelField("", GUI.skin.horizontalSlider);
EditorGUILayout.Space();
GUILayout.Label("Character Controller", new GUIStyle(GUI.skin.label) { alignment = TextAnchor.MiddleCenter, fontStyle = FontStyle.Bold, fontSize = 16 });
GUILayout.Label("Version: " + Version, new GUIStyle(GUI.skin.label) { alignment = TextAnchor.MiddleCenter });
EditorGUILayout.Space();
EditorGUILayout.LabelField("", GUI.skin.horizontalSlider);
GUILayout.Label("Movement Flags", new GUIStyle(GUI.skin.label) { alignment = TextAnchor.MiddleCenter, fontStyle = FontStyle.Bold, fontSize = 13 }, GUILayout.ExpandWidth(true));
//EditorGUILayout.ToggleLeft(new GUIContent("Can Player Move", "Determines whether the player can move around."), EditorGUILayout.PropertyField(CanPlayerMove));
EditorGUILayout.PropertyField(CanPlayerMove);
customInspector.ApplyModifiedProperties();
}
}
#endif
Oh God
programming needs to be harder as a form of gate keeping
that code is fine
lol
it was terrible I can acknowledge that 
Hot take alert: dynamic languages are meant for those who know what they’re doing, not those who don’t understand the caveats of types
Textwall jumpscare 
really now
honestly it is
The comments though…
minus the commented out parts it's very readable
I wanted to convert all of them into editor code, that's why I had them commented out 
but midst doing that I got lazy
so didn't end up finishing it
In my personal opinion you need to understand statically typed languages before you should be allowed to use a dynamically typed one
(In general, not talking about anyone here)
types aren't even a hard concept to understand
everyday math involves units
types are literally just units
Yes but understanding the risks of having a loose type system is something that I feel like every js dev overlooks
private void Update() {
Quaternion resultRotation;
Vector3 resultPosition;
//float mouseX = Input.GetAxis("Mouse X");
//float mouseY = -Input.GetAxis("Mouse Y");
//rotY += mouseX * cameraMoveSensitivity * Time.deltaTime;
//rotX += mouseY * cameraMoveSensitivity * Time.deltaTime;
//Quaternion xMove = Quaternion.AngleAxis(rotX, Vector3.up);
//Quaternion yMove = Quaternion.AngleAxis(rotY, -Vector3.right);
//Vector3 movePosition = new Vector3(rotY, rotX, 0f);
//cameraInput = Quaternion.Euler(0f, cameraRendering.transform.rotation.y, 0f);
if (Input.GetKey(lookAtCameraKey)) {
resultRotation = Quaternion.RotateTowards(objectToLerp.localRotation, endRotation, lerpSmoothAmount * Time.deltaTime);
resultPosition = Vector3.Lerp(objectToLerp.localPosition, endPosition, lerpMovementAmount * Time.deltaTime);
} else {
resultRotation = Quaternion.RotateTowards(objectToLerp.localRotation, startRotation, lerpSmoothAmount * Time.deltaTime);
resultPosition = Vector3.Lerp(objectToLerp.localPosition, startPosition, lerpMovementAmount * Time.deltaTime);
}
//these should execute once, if I'm guessing right?
if (Input.GetKeyDown(lookAtCameraKey)) {
cameraSource.PlayOneShot(cameraClip);
cameraRendering.SetActive(true);
} else
if (Input.GetKeyUp(lookAtCameraKey)) {
cameraRendering.SetActive(false);
}
objectToLerp.localPosition = resultPosition;
objectToLerp.localRotation = resultRotation;
}
``` this is one of my older scripts, can you guess what it did?
My god please stop with the textwalls I’m on mobile
Is that unity again
sorry 😭
yes
These take up like 2 pages of my screen
yep
long variables 😩
I don't
Godot is infinitely smaller and easier
godot's C# integration is meh though
Doesn’t matter to me, Godot is just so much lighter weight than Unity
And then there's the Unreal Engine
Unreal is nice
Godot is not nearly as equipped for 3D as Unity I’ll admit
but you gotta have a better pc than what I got
at least unity can run on my potatoe
Godot’s download is 70 megabytes, and there’s no installation process because it’s completely self contained. Godot projects start up in a whopping 1-3 seconds for me, compared to Unity’s 1-3 minutes
The UI is cleaner and less cluttered
all the homies use a framework and write their own engines
I wanna try that
but no idea what to use for c#
Honestly I’m going to do that at some point with rust + SDL2
Raw ogl/vulkan :troll:
What about 3D
Lmfao no
i remember trying to make a map in unreal on my old pc, took 10 minuits to rotate the map after i added loads of shit
not sure what exists for 3D
Don’t even consider trying to write 3D yourself, that’s a pain beyond belief
sure I will get right on that
well probably an exagguration but still
Unless you’re making that your project for the next 5 years
Why not
sounds fun
but Monogame is a continuation of XMA which was used for games like Celeste and Terraria
Do what you’d like
I will implement raycasting myself
Implementing a 3D engine with decent efficiency is just not a plausible project for a solo developer
true but games have lost their uniqueness and charm now that there are only a couple of standardised engines everything uses
i miss that
not really
Not really
The engine provides you all the tools you need to make games, people just have certain styles for games because they’re easier to make
but theres more to a game than just "content"
🤔
Without content what is there
Oooo nice loading screen
lets watch this for 100+ hours
There’s a general feel to the game misty
well art does play a huge role to a game
Menus, responsiveness, style, etc
skyrim be like
Indeed
if there's online content, quality of it
tho I loved bayonetta's loading screen
but story plays a bigger part
I don’t know about you but a god ugly UI would distract me from the game’s content quite a bit. It makes the game feel unpolished
that's a lot of opinion
again this is just a matter of preference
some people will gladly sit through a shitty story for good graphics
Then there's the long type defs
https://discord.js.org/#/docs/discord.js/main/typedef/CreateGuildScheduledEventInviteURLOptions
so I am not saying your guys opinion is invalid
look at stalker the engine that uses it entirely unique and interesting has its querks but its nice to play somthing ehre things react in difernet ways rather than play a bunch of games with the same physics and all act the same under the hood
I just prefer story over everything else
tf
Engines do not limit your physics
didnt say the did
You have complete control over that
The engine is really just a set of tools for making your game in a manageable way without needing 10 million lines of boilerplate code
most physics engines will behave mostly the same as well, they're trying to replicate real world physics after all
edge cases are a different story of course
true but i'll put it like this, you can tell when a game uses source. nomatter the setting content or game type
you know
thats what im getting at
u can extend the engine tho
source is an interesting case but that does clear the point up a bit more ig
if u don't like source limitations, go on, just extend the classes
yeah the games are good and the engine is a masterpiece but i would like to have more variety
well certain engines do have some tighter restrictions
see how other people write engines and how they react diferently in difernt senareios
I mean no not really that either. Apex legends is made in a semi modified version of source and I would’ve never been able to tell
When I think of source I think CSGO or Half Life
true but you can still tell
ngl i had no idea apex is a source game
does my anti raid system look good?
how is restoring channels a raid attempt?
looks like your bot is looping on itself
looks liek it is its self a raid system
nono it ignores itself
not that
raid is specifically either a mass join or mass spam
restoring channels cant be a raid attempt
I hate to break it to you but if a raid somehow has perms to delete your channels, a bot isn’t gonna be able to counteract that
someone deleting all channels in a guild is a wizz, therefore a type of raid
lmao imagine how fck up ur server has to be for that to be an issue
try it, my bot can restore any deleted channel, and delete channels created by the other bot during raid
Restoring the channel doesn’t matter
It’s restoring the messages in them that’s impossible
Plus you’re going to get hard ratelimited
and how can a raider create channels to begin with?
technically is possible but why would you lmfao
Possible != plausibly possible
it's easy? just create a forloop with message.guild.channel.create
? What
but a raider
That’s not a raider
who tf is giving raiders manage channels perm?
um, they can create a channel, or wizz a server
If you’re getting raided and the bots have that sort of permission level you’re fucked either way
???
I don’t know what wizz a server means
sir, I think u have the wrong definition of raid
wizz is using a user token therefore it ignores every perm
raid is like ddos, it HAS to be many users
if it's just a messed bot it aint a raid
if someone destroys your entire server using a bot it's a raid
nope
no lol
even if not the actual definition, it's what people refer it to on discord
raid literally means invasion
That's called nuking
aka tons of people entering at once
Good luck
I’m already in them
raid is an alias of that, raid (when referring to discord) can mean all of those
a bot destroying ur server is called "u shouldn't have given such perms to unknown bots"
I doused them with poison
never seen that being used
bot with admin perms be like
raid always meant tons of people joining to troll or spam

ok but why are you like this right now... wick is a known anti raid bot and deleting and creating channels is one of it's features... are you gonna deny him that???
cause I think ur just trying to make me look bad
it's like the hackban, "everyone uses" according to bae
well then I see you've never been raided
yet it's rarer than baby pidgeons
Raid means a lot of users joining a server really fast to either spam or do similar things to cause disruption, nuking isn't raiding
Oh trust me he has
I think it’s because all of us don’t really see the value in restoring the channels
I raid him every night
every known moderation bot has that
dyno, mee6, probot
I mean I sort of see it, but the bot can continuously just delete the channels and ratelimit the fuck out of your bot on purpose
yeah ig that is kinda true, that's why on raid my bot either bans the user or tries to take away their perms
And if that fails because the user is elevated beyond control? It’s going to fuck up your bot
Someone can make an abuse server to ratelimit you on purpose
When you’re trying to “protect” against exploits, you have to think about how your protection can be exploited
why did you put punctuation marks on protect
Making a proper anti-raid system is like one of the hardest things you can implement on Discord
@earnest phoenix had seen my anti raid in action
punctuation ?
Because it’s not really protecting anyone
" this?
because protection is an illusion

it's like soap, maximum is 99.9% protection
you didn't say my implementation of the anti raid system was bad?
it is
did you just not say it as to not make me feel bad or what 💀
No one cares about your feelings here
that's what wick does as well, though
sorry to break it to ya
man I should be doing calc homework but this is fun
I literally copied how it works but with my own ideas
Do your calculations math boy
my calculus 🤓
lol
"copied" shouldn't really be a part of anyone's vocabulary
achtually it is not "calculations" 🤓
you can be inspired by it, yes, but never "copy" something
i mean there are calculations in calculus
because you'll never be original that way
inspired is a better word, yeah
inb4 you see all of the multi purpose clones on top.gg
Well yes but then again I would say it's anti-nuke instead of anti-raid, because then again it's not actually doing anything against raiders, unless you're going to implement that, what you're trying to do is stop a user with dangerous permissions in the server
I am, I'm removing the permissions or banning them. Is that not enough to be classified as anti raid?
I mean technically it is
bruh just dont give perms to anyone then no one can nuke
but yeah I am going to implement more
trust no one
wizzing exists
whatever that is
if you have no 2fa and has been token grabbed someone can log into your account and nuke that way
why do you not just say token stealing instead of using obscure discord terms nobody has heard of
that's called a wizz
it can't be anti-raid if it isn't abt raid
2fa doesn't protect against token attacks anyways
"No, I didn't copy your code for my assignment—I merely borrowed it!"
bruh then dont get tokenloged
it's an anti-nuke as they said
I'M JUST SAYIN
I never judged the implementation of your anti-raid (well anti-nuke) system, it's not bad really but ¯\_(ツ)_/¯
all token logging atempts ive seen are so painfully obvious anyone that falles for them i have no sympathy for
yes
😭
I should make a LaTeX alternative language
at least you didn't say it's bad
lets not
I can live with that
misty come do my calc I don't wanna do this
😦
I mean, in this case if I enable a feature called "anti-raid" I expect it to prevent my server from being raided
Sure dm me it I will do it for you
then I notice it only prevents leaked bots
it does prevent it
ok hold on lemme screenshot the problems
Time to learn calculus in a matter of minutes
if it detects channels being created, or deleted too many times in a row
I am:
bringing them back / deleting them
banning the person who created them / taking away their permission
notifying the owner of the guild for further action
same with roles
Listen
Sounds like rate limit issues
no "many users joining at once"?
no, I don't think that's bad...
then it aint a fckin anti-raid
HUH
if many users joined at once to my server it would be quite cool lol
LOL
💀
also, servers LITERALLY crash due to raids
Okay
as in, NOBODY can access it
I am boycotting his bot
then you are the one who has never seen an actual raid lol
You're acting upon a user who has dangerous permissions and banning them/removing their roles, raiding is the act of many users joining your server and causing disruption
I meant it as in getting like the user count higher?
bruh
I've been raided, but in a different way than you ig many times
Raiding means that they're also there to cause disruption, not just to stay and be peaceful
you see, when something happens too fast it usually clog said something
I wasn't spammed with thousands of different users joining, but the people who raided me did the exact things I protect servers against
deleted all my channels
created some spam channels
spammed with random messages or invites to other servers
when many users join at once (read: hundreds or thousands at once) it clogs the server route
making ALL users unable to even access the server
well I can't really protect against that....
how interesting
The people who raided you apparently had permissions to manage channels? What?
lol what
mine does 
it's definitely possible
yes, one person who raided me was my admin who was in the server for 2 years and suddenly decided to change his mind, added a bot, gave it perms and the bot raided me
other time I was raided was a wizz, they did all that but they logged into a bots account instead
That's not called raiding, that's just admin abuse, someone you trust turning against you
just disable all invites after 5 users join in the same 10 seconds ez
ah good idea, I can just remove all invites and delete the vanity as well to prevent people from using it and joining
I can add that as a feature of my anti raid
if you don't mind
nah, just ban everyone that join
deleting the invite will fck many big servers
"Holy shit Linus Torvalds just joined our server! Unfortunately got banned during the anti-raid process"
how about the second then? it's literally a wizz you can't say that it's not a raid
and ban ratelimit is huge (and per-server)
true but then you gotta have a bot thats fast enough
again, the word "raid" literally means invasion
but then thats probably more easy than i think since all my code and servers is redneck and shit
still works
exept for my event reload commands
but eh
workin' on it
well the people I know refer to a raid as all of the things and most other people as well even discord has a button to report a "raid"
then you've all been using the word wrong
That button is for what Tim exactly showed there
raid is loads of people joining nuke is wehn the server contents gets deleted or alterd in a big way
bruh my typing is getting worce by thei minute
worce by thei, new fragrance
smort
thei
lol
okay, sure ig I will keep referring to raid as a nuke since that's what I've been doing and the support staff did seem to understand what I was talking about as well when I reported all the raids I had
Bae I don't know where you're getting your definitions but I've been a server admin before and there is a very big distinction between nuking and raiding
bruh why bother reporting it anyway discord only really does anything if its bit like abuse or related to minors
nuke is attacking specifically the server structure (bombs destroy stuff)
I've also been a server admin, in quite big servers and they all referred to channel detection and other stuff as a "raid"
That's wrong then lol
big difference
guess which one is discord
very big
yes yes
crap doent gain a diferent meaning cuz people you know say it that way
@ancient nova please have a read
https://www.mediaequipt.com/what-does-nuking-a-discord-server-mean/
the process eating 2 gigs of ram 😉
3484 
also detection is the wrong word, you probably mean "deletion"
Yeah I was pretty confused about that
in my experience discord uses 1.5 gigs after being left on for a while
🤨 wtf
bruh idk
Mine is using 450mb of ram about rn
For me Discord only ever used ~700MB when left open for a long time
yes I am, but that's quite obvious I think lol
bruh the max ive seen it use was 5 gigs but that whas when vc was borked
I know and I believe you
but all of the people I know and beyond refer to discord nuking and all the other stuff as a raid
because it's simpler
rather than calling each thing differently
smh my head
I can go to discord devs server, define what a raid is imo and they will definitely agree
I suppose they also think the words "stupid" and "dumb" are an alias to each other when they aren't
just means alot of people you know are wrong
sure, my car doesnt start, im gonna call a mechanic and tell him my car has a flat wheel
lol
oh my god, but when you refer it to a raid eveyrone literally every single person will know what you are talking about
i wouldnt
i know whats wrong with it, aint' got no gas in it
lol
most recent raid I had was like a month or two ago, everyone said that they've gotten "raided"
every single member, even the staff said that
it was a 25k member server
that's what I've been saying
doent make it right though
server owners only have to deal with their own community, but you aren't a server owner, you're a bot dev
yeah, I get it, sure
you'll be dealing with hundreds of thousands of users
I am, I own 2 servers and am a admin of a couple others
you can't bet all of them will use the same wrong definition
you aren't
I was about to say "inb4 'I am a server owner'" lmfao
you are a bot dev
I am
if i said i peddled my car to work gramatically that makes no sense but you will know wht i ment probably
I'm also that
and also I work out, skate and make PC and mobile games
unless that example is two absrtacot
you own a big server?
what the fuck even is my typing anymor
OWN (not part of staff)
I own a discord server 
lol
if you'd refer to 2k as big, sure
anymor, the new fragrance
no, that's small af
No idea who added those bots though, haven't used this server since 2017
lol
I still have a community
bruh i have like 4 servers and they are all dead
exept for one
that is ultra dead
absrtacot, the new absynth flavor
I guess the thing they're trying to get across is that most Discord users don't know the difference between words like that, and that what they see isn't the same as what a word might fit to it
AKA most Discord users don't have any technical information about any of this
I guess, and when I say raid they usually know what I'm talking about
regardless, as a bot owner you have a way bigger scope than a mere server owner
so what weve ubncovered today is the fact that the average discord user hase no idea how words work
and actually if I said nuke they wouldn't probably know what it means
interesting for w text chat service
raid is just widely known as a thing that makes ur disocrd server go bad
they would
you have to consider the many different communities you might reach into
its a universal turm
and I bet 99% of them won't call a nuke a "raid"
and the fact that nuck implies destry
I can ask rn in a development server
give me a second
bruh
how is that relevant?
I love ubncovering things!
worong
ah yes let me ask developers that don't own large communities for advice on large communities 😉
Tell me your score at https://monkeytype.com/
oh god i cant do those cuz my reading is crap has to be freestile or whatever its called
but ill try
i can go fater when im not reading
but thats bout as fast adsi can doo when im reading coppying text
lol
also only 1 sample?
I fucked up at the end
what kind of data gathering is that?

first year physics students when the teacher asks them to collect data
1 trial moment
it's 1 am so don't expect much people to answer me rn but I'll try asking more 
also, ur question is highly biased to begin with
my brain prossesing is liek the pipeline of e pentium 4
still better than when my typing was 10wpm
ask instead What is it called when someone steals your token and mass delete the channels?
^
but years of arguing wirth peopke on the internt has gotten my typing faset
unbiased questions
I'm a professional at arguing with people over the internet, just acknowledge that both parties will never come to an agreement and then have fun doing a little bit of trolling :troll:
i dont read chinese
i dont read
i dont
i
⠀
Math.max(6, Math.pow(Math.pow(x - 6, 2), 1 / 3) / x - 6)
I guess
no no I meant how do I do the derivative of said function
lol
solve that code
lol
what is a derivative?
oh god dont even get me started
⠀
⠀
⠀
⠀
⠀
huehuehue
uhhhhh, I'm given f(x) = (x-6)^(2/3), and c = 6 and I'm meant to find the derivative at c
̣
̣
bruh this used to work
and the derivative at a point definition is f'(a) = (f(x) - f(a)) / x - a
hold on lemme look up how to do this
ẹ̣̣
bruh idk what ive done now
anyway do i try and fix my damn event handleing now or do i sleep
lemme get a good run on monkeytype 15 sec real quick
bruh how did i type ing instead of r
not bad for 15 sec
hot damn
lemme see 10 word i havent done that in a minute
ok so it turns out the function isn't differentiable at x = 6 so idk how they got that conclusion but yeah
no derivative at x = 6
lik like the way that on my graph of that its really wavy cuz i had to read the text and then type it
i read and type at the same time
when im typing something without having to read it like i am right now then i type a lot faster
its even faster during an argument
by brain doen not have synchronous capabilities
adhd brain time
bruh thats not adhd is it?
ok I figured it out
lol
my best 10 word i think is 196?
if the thing read out the word instead of me having to read it id probably do better
even better would just be readin out the letters
yea
ok I guess I can agree with you guys on that, kinda
it isnt that bad but im working on it
Lots
ok so i accidentally redneck fixed my event handler reloader, foud a way to start the bot when it crashes and since the event handler maked it crash it restarts meaning that the events are reloaded by default
smort
i can feel people who actually know how code works cringe already though
idk what happens when it boot loops though
thats an issue for future me
we threw a party
inb4 “why is my gateway session limit reached 6 hours into the day”
you missed it
update of the day
i finished setting up my web manager for my pi media player
i can now stream netflix, disney+, udemy, hulu, paramount, whatever on my pi (to my tv) from one webpage
i can even stream local files to it
ok idk what ive done theres like 4 instances of the bot and event thoguh i killed the screen session they where running under they are still running
of fuck they are multiplying
shit
bruh this was a bad idea
i cant kill them more keep apearing
ok i got them now
bruh started going supernova for a moment there

😔
💀💀💀💀
think they talked about that months ago
basically a watered down version of nitro classic
of course without actually adding any features or lowering the price of the existing plans
@ancient nova one tip
if you ever comment for yourself in code
make it concise
and only comment on part that you think you will forget later
thanks, but honestly why should I make my life harder just because other people don't think the code looks good with lots of comments?
not like I'm forgetting everything I write but it kinda became a habit for me
Well for one, your code looking like that, and then you ask for help with little context
makes our life 10x harder trying to help
fair enough
it wopuld be confusing to read a duplicate in large and confusing code construct
that's why i said, only comment on parts that you are actively working on
and make it as concise as possible
😭
if you looked at my bots source
EVERYTHING is commented
even the docker
if you look at mine


