#development

1 messages · Page 12 of 1

sharp geyser
#

waffle should be the only valid keyword

#

Pancakes are ass

#

I only eat em when I can't make waffles

hard wraith
#

I’m done with this… Radio buttons always have a value and a label on the options. And are treated as a singular collection of objects to answer one question or input requirement.

wheat mesa
#

Semicolons are #’s

#

They look like waffles

#

I’m all over the language

ancient nova
#

this will create a channel that only my bot will be able to see and nobody else, yes?

hard wraith
wheat mesa
#

BreakfastLang ™️

sharp geyser
wheat mesa
#

I have omelette

#

That’s the struct keyword

sharp geyser
#

Cause you're doing it wrong

#

do you know what the word deny means?

wheat mesa
#

Soon

sharp geyser
#

Also you're missing the point of denying permissions for everyone else

wheat mesa
#

Pancake is the function keyword :^)

sharp geyser
#

That would only make it so the bot doesn't have permission to view it

ancient nova
sharp geyser
ancient nova
#

like this?

sharp geyser
#

Pancakes should never be a thing

wheat mesa
hard wraith
#

See

sharp geyser
hard wraith
#

I wanna code with pancakes.

sharp geyser
#

Waffles can be stacked too

wheat mesa
#

flipwhen(ain't raw) serve 15# is an infinite loop printing 15 😉

sharp geyser
#

Okay

hard wraith
#

I love that…

boreal iron
#

So… has speedy been taken over Waffles discord account?

#

Looks like so

wheat mesa
#

No

#

Speedy does OS dev and db dev

#

Not lang dev

ancient nova
#
        // Lets now prompt the user about creating a modLogChannel
        response = await awaitReply(
            message,
            `Do you want the bot to create a customized logging channel that's exclusive to our bot? (Yes, No, True, False)`
        ); if (["y", "yes", "true"].includes(response.toLowerCase()) && response.length <= 256) {
            const customizedChannel = message.guild.channels.create("hater-mod-logs", {
                type: "text",
                permissionOverwrites: [{
                    id: client.user.id,
                    allow: ['VIEW_CHANNEL', 'SEND_MESSAGES', 'READ_MESSAGE_HISTORY']
                }],
                permissionOverwrites: [{
                    id: message.guild.roles.everyone,
                    deny: ['VIEW_CHANNEL', 'SEND_MESSAGES', 'READ_MESSAGE_HISTORY']
                }]
            }); if (customizedChannel) settings.set(message.guild.id, customizedChannel.id, "modLogChannel");
        } else {
            response = await awaitReply(
                message,
                `Do you want to select a logging channel you've already created? (Yes, No, True, False)`
            ); if (["y", "yes", "true"].includes(response.toLowerCase()) && response.length <= 256) {
                response = await awaitReply(
                    message,
                    `Which channel is a mod logging channel? (Ping, Mention, ID)\nThis will be used to log information about changes in the server and/or what the bot is currently doing.`
                ); if (response) settings.set(message.guild.id, response, "modLogChannel");
        };
``` this going to work?
#

does creating a role is indentical to this but with mesage.guild.roles.create?

#

helo?

#

why did everybody die :c

wheat mesa
#

because textwall

#

And we’re too lazy to read that much

hard wraith
#

I’m on mobile watching House.

lyric mountain
wheat mesa
#

inb4 “I don’t like them”

hard wraith
#

I don’t wanna read the unformatted wall of text that looks like it’s all a blob on phone… they really need to fix that.

ancient nova
#

no no I actually integrated buttons to some of my commands they're quite okay now

lyric mountain
ancient nova
#

but I used response for this command specifically since the bot will also ask you text not only buttons

lyric mountain
#

or simply comboboxes

hard wraith
#

Yup

ancient nova
lyric mountain
#

combo box, dropdown menu, select menu, whatever u call it

hard wraith
#

So many options other than the appalling and outdated message response.

boreal iron
proven escarp
#

lmao

ancient nova
#

okay could anyone please test the server setup please?

#

I'll be up for testing ur bot anytime u want

proven escarp
ancient nova
proven escarp
#

use an alt account?

ancient nova
#

I want to make sure it work for other people as well

boreal iron
#

Create an invite, open your browser in private mode, use the invite to join as random member

ancient nova
#

if u don't want to then don't do it

proven escarp
#

🤷‍♂️

#

im just giving you a solution on how to test it yourself so it's faster for you and you can test it however you want

hard wraith
proven escarp
#

if so that's kinda rigged af

#

you could literally ban anyone

#

from any server using the bot

hard wraith
#

I’ve got owner only commands… but they don’t overwrite the permission requirement…

#

If a command needs admin, and I’m not admin. Even if it will only execute for me, I cannot use it.

solemn latch
#

tbh, biasing perms to prevent yourself from being banned, or allowing you to ban people in servers you dont have permissions in sounds like a good way to get people to not trust your bot.

proven escarp
#

omg it's woo

solemn latch
#

it might even be a tos violation

proven escarp
#

it is

hard wraith
#

Like can’t get your bot verified and gets you banned from the dev portal sort of against tos.

proven escarp
#

sort of

#

kind of alot against tos

solemn latch
#

process Discord Data in a way that surprises or violates Discord users’ expectations.
Yeah, seems it goes against the discord developer policy.

hard wraith
#

Like I said. Stops it being verified and you get banned from the dev portal 😂

hard wraith
#

Yeah I’m ima stop you there.

solemn latch
#

probably not a good idea to admit that here

ancient nova
hard wraith
#

Reverse it. Now.

ancient nova
#

just the way I coded it

hard wraith
#

If you need that for testing… TEST IT IN YOUR SERVER!

solemn latch
#

even if its unintentional its still a violation of discord tos.

ancient nova
#

I made a permission system from 0 to 10 based on what permissions you have
10 is bot owner
bot owner only checks for the owner ID which makes it ignore each permission check

hard wraith
#

My own bot literally can and will ban me for calling woo the N-Word if it was here and had auto mod enabled.

hard wraith
#

You would be able to use staff only commands in a server you aren’t staff in if they use your bot.

ancient nova
ancient nova
#

there are still permission checks in the commands themselves

hard wraith
#

Your permission checks literally in your own words get ignored if you are the owner.

ancient nova
#

the role checks are an additional layer of protection

hard wraith
earnest phoenix
#

hey all ,

#

TypeError: Cannot read properties of undefined (reading 'FLAGS')

#

anyone can help me ?!

hard wraith
#

Be it intents or permissions flags.

earnest phoenix
hard wraith
#

What’s the part of the bot causing that error? Intents?

ancient nova
# hard wraith

by each permission check I mean the checks before the owner role
permission tags 0 to 4 are server permissions
user
mod
admin
owner
all of those 4 check for permissions in order to determine what u can do, they can also check if the user auto assigned a role which also bypasses the permission check
server owner tag checks for id, not for permissions since there can be only one true owner

earnest phoenix
ancient nova
#

mine is just higher, it automatically calls me the bot owner which is 10 therefore I have a higher permission level than them and can do more with my bot

#

I still have permissions check IN the commands themselves which makes me unable to do anything

hard wraith
#

Or…

ancient nova
#

you better read that @hard wraith I spent like 5 minutes writing that

crystal swallow
hard wraith
earnest phoenix
#

thank u

hard wraith
#

NP

earnest phoenix
hard wraith
#

Means you don’t have to know the bitfield number of each intent?

#

Idk… it’s something DJS implemented to replace how they used to do intents.

earnest phoenix
#

UMmm

ancient nova
#

it doesn't mean I can ban someone without perms in a server

earnest phoenix
#

Ok

ancient nova
#

jesus

#
            const customizedChannel = message.guild.channels.create("hater-mod-logs", {
                type: "text",
                permissionOverwrites: [{
                    id: client.user.id,
                    allow: ['VIEW_CHANNEL', 'SEND_MESSAGES', 'READ_MESSAGE_HISTORY']
                }],
                permissionOverwrites: [{
                    id: message.guild.roles.everyone,
                    deny: ['VIEW_CHANNEL', 'SEND_MESSAGES', 'READ_MESSAGE_HISTORY']
                }]
            }); if (customizedChannel) settings.set(message.guild.id, customizedChannel.id, "modLogChannel");
``` also why doesn't this work?
crystal swallow
hard wraith
ancient nova
#

I'm not going to "just" remove it wtf I spent hours writing that

crystal swallow
#

you spent hours writing something that doesnt do anything?

ancient nova
#
            const mutedRole = message.guild.roles.create({
                data: {
                    name: "Muted",
                    color: "#000000",
                    permissions: []
                }
            }); if (mutedRole) settings.set(message.guild.id, mutedRole.id, "mutedRole");
``` this doesn't work either?
ancient nova
hard wraith
#

Because you made it break for you…

crystal swallow
#

you keep saying it doesnt really do anything, so which is it?

hard wraith
#

Is your bot on a GitHub?

ancient nova
#

I said it breaks for me I never said that it didn't do anything

#

can you help me with my code

solemn latch
#

in what way does it break?

ancient nova
crystal swallow
#

then open it 4head

hard wraith
#

I want to see this permission check system to cut the bs and see exactly what it does.

ancient nova
ancient nova
earnest phoenix
#

What are u trying to do

hard wraith
earnest phoenix
#

and no errors

crystal swallow
#

so it bypasses a role check, and then what? If that does allow you to do something you couldnt do before, than that violates the TOS, if it doesnt, then it does literally nothing dawg 🤣

ancient nova
#

dude nothing I don't want help with fixing that, and it's not against tos can u just check why my server setup command doesn't work

hard wraith
ancient nova
hard wraith
crystal swallow
#

this is the most troll convo

earnest phoenix
#

Wtf is this conversation

ancient nova
#

I literally cannot fucking do anything in another persons server you guys are trolling me

wheat mesa
#

I don’t believe that’s against ToS unless you’re using it to avoid punishment or something like that

hard wraith
earnest phoenix
#

Guys chill out

wheat mesa
#

My bot has the same system, there’s even a prop in detritus for commands called clientIgnorePermissionsOwner which I always set to true

hard wraith
ancient nova
wheat mesa
#

I don’t believe that’s against the ToS unless there’s something I’ve missed

ancient nova
boreal iron
earnest phoenix
#

Even if you're giving yourself administrator in guilds where ur bot is it, I'm sure it's not against the ToS at all because the Admins have the responsibility for what the bot does in the server.

earnest phoenix
earnest phoenix
ancient nova
#

I have a permission system that accidentally ignores me because of the number hierarchy system I got going there

#

ANYWAY

#

can I please

hard wraith
#

Anything else Bae?

crystal swallow
#

bot cannot do things you dont expect it to do especially in a malicious way like that

ancient nova
#

just get help with my server setup command

hard wraith
#

I don’t hide my bot code.

boreal iron
earnest phoenix
#

There's no such thing where avoiding check conditions is against ToS ( unless ur abusing the API or misusing the it in which case you're not )

earnest phoenix
#

I don't know why the robot does not react to my commands..

hard wraith
#

It does what it says it does, it works how I say it does. And it’s source code can be viewed and have other bots based off it. But some features are protected under patents. But they aren’t implemented yet.

hard wraith
ancient nova
rustic nova
# earnest phoenix Even if you're giving yourself administrator in guilds where ur bot is it, I'm s...

it is

You may not use the APIs in any way to:

scrape any Discord Data;
use Discord Data for any purpose other than as necessary to provide your application;
disclose any user’s Discord Data without their specific, informed consent;
disclose Discord Data to any ad network, data broker, or other advertising or monetization related service;
retain data any longer than necessary for the operation of your application;
contravene Discord’s Privacy Policy;
obtain Discord User passwords to obtain access to Discord Data;
sell, license or otherwise commercialize any Discord Data;
provide or direct services to children under the age of thirteen (13) in the United States or, outside of the United States, the relevant age of digital consent;

** process Discord Data in a way that surprises or violates Discord users’ expectations.**

earnest phoenix
wheat mesa
crystal swallow
hard wraith
#

I haven’t removed it’s need for all intents yet, so use that to find the intents you need.

ancient nova
#

can you guys PLEASE

#

JUST HELP ME FIX MY CODE

earnest phoenix
boreal iron
rustic nova
#

data obtained from or sent to discord

ancient nova
#

why did I start this massive disscussion 😦

rustic nova
boreal iron
#

Without showing us what you did in your code we can’t help you

wheat mesa
#

I was unaware of said clause

rustic nova
#

need a drink? We have apple juice and some mineral water

#

also a bit of popcorn

hard wraith
ancient nova
earnest phoenix
rustic nova
#

if you tell your users your bot does that, then you aight

#

then its your users fault

earnest phoenix
#

@boreal iron , Just qus: how add message content intent

ancient nova
boreal iron
#

Keep in mind to keep things civil, I wanna be able to talk to the other without an useless shit show going on

earnest phoenix
#

yeah so u can just tell em "the bot might be responsible for administrative cases, please acknowledge "

rustic nova
#

but if you eval through your bot finding a guild that has the bot administrator already and gives you an invite (which is violating too) and then give that admin role yourself, it is

hard wraith
#

Can’t hide anything if they can see what it’s running.

rustic nova
#

shrug Just stating a possible clause that would allow it

#

if consent is given, you can do whatever you want

ancient nova
#

well I wanna have a legit bot

#

but

#

please

rustic nova
#

as users technically expect that

ancient nova
#

just

boreal iron
ancient nova
#

tell me

#

why

#

it

#

does

#

not

#

work

earnest phoenix
#

I mean people would have to agree ur conditions which technically means consent is given

ancient nova
#

😦

earnest phoenix
#

Just state it in ur description

#

lol

crystal swallow
earnest phoenix
#

By that logic ofc

crystal swallow
#

comapnies cant legally murder you if they put that in their TOS

earnest phoenix
earnest phoenix
ancient nova
#
            const mutedRole = message.guild.roles.create({
                data: {
                    name: "Muted",
                    color: "#000000",
                    permissions: []
                }
            }); if (mutedRole) settings.set(message.guild.id, mutedRole.id, "mutedRole");
``` the role is being created but the saved value is "undefined"
crystal swallow
hard wraith
rustic nova
# ancient nova work
  • bot doesnt have admin
  • bot owner doesnt have 2fa and the guild has a 2fa requirement
  • bot doesn't have permissions to manage roles
#

dunno the context though

#

so

crystal swallow
#

just because something is in the terms of service doesnt mean you can do whatever you want lol

earnest phoenix
ancient nova
#
        // Lets now prompt the user about creating a mutedRole.
        response = await awaitReply(
            message,
            `Do you want the bot to create a customized muted role that's exclusive to our bot? (Yes, No, True, False)`
        ); if (["y", "yes", "true"].includes(response.toLowerCase()) && response.length <= 256) {
            const mutedRole = message.guild.roles.create({
                data: {
                    name: "Muted",
                    color: "#000000",
                    permissions: []
                }
            }); if (mutedRole) settings.set(message.guild.id, mutedRole.id, "mutedRole");
        } else {
            response = await awaitReply(
                message,
                `Do you want to select a muted role you've already created? (Yes, No, True, False)`
            ); if (["y", "yes", "true"].includes(response.toLowerCase()) && response.length <= 256) {
                response = await awaitReply(
                    message,
                    `Which role is the Muted Role? (Ping, Mention, ID)\nThis will be used to make the \`-mute\` work. It will assign the role to whichever person you wish to mute.`
                ); if (response && response.length <= 256) settings.set(message.guild.id, response, "mutedRole");
            }
        };
#

this is the entire thing

crystal swallow
#

are you just ignoring everything i said

hard wraith
ancient nova
earnest phoenix
#

You are ignoring what I said and neither are you backing up with evidence. Guess you'll never be right after all

rustic nova
#

try catch

#

ez

ancient nova
#

plus it checks if the role was created before saving

crystal swallow
#

i literally just

#

for the love of god

rustic nova
#

add a few debug lines on your conditions

#

catch errors on create role

crystal swallow
wheat mesa
#

Me when I don't know how to handle errors

hard wraith
#

Shocking

rustic nova
boreal iron
earnest phoenix
#

🍿

crystal swallow
#

okay, so if i put in my tos that i now own everything you have

#

well you agreed to it

boreal iron
#

Ignore the mobile format fuck up

earnest phoenix
hard wraith
#

TOS is the user’s agreement to what they can and cannot do with your product service as outlined by what it can do.

rustic nova
crystal swallow
#

good luck holding that up in a court of law

hard wraith
#

Tos don’t outline what your bot can do to them.

wheat mesa
#

Terms of service are exactly what they say they are, terms of you using the service. It is not a law, nor can it bypass any laws in wherever you live.

rustic nova
#
  • I have the rights over your whole servers and can do whatever I please to

would essentially make you valid

hard wraith
#

That’s like privacy policy etc… and service description.

rustic nova
#

as long as that doesnt violate tos

#

ofc

hard wraith
#

Sort of.

wheat mesa
#

In the discord ToS, I believe it actually states somewhere that all laws for your area still apply

rustic nova
#

You're getting consent by servers accepting your privacy policy

hard wraith
#

You can’t state that using this bot grants me power to do as I please in your server.

boreal iron
earnest phoenix
solemn latch
earnest phoenix
# boreal iron Well show your code then, I can’t see what you did
const Discord = require('discord.js');
   const intents = Discord.GatewayIntentBits;
    const client = new Discord.Client({ intents: [intents.GuildMessages, intents.DirectMessages] });
client.login(process.env.TOKEN);
const queue = new Map();
const prefix = "!";
client.on("ready", () => {
  console.log(`${client.user.tag} Logged in !`);
});
client.on('message', message => {
  if (message.content === '+ping') {  
    message.channel.send(`🏓LatLatency is ${Math.round(client.ws.ping)}ms`);
  }
});

...

crystal swallow
#

you agreeing that i own all your possessions now if you use my bot in my TOS isnt breaking a law but you still cant do that lol

rustic nova
wheat mesa
#

Discord however has a tos in place to prevent things like that

rustic nova
#

you could even say

  • I'll join your server, scream around and leave it again at 3PM every Monday
rustic nova
#

and is still considered consent

wheat mesa
#

Hence the "surprising users" clause

hard wraith
#

Did you not read the guide I sent

rustic nova
#

a guide not provided by discord?

boreal iron
#

He ain’t missing anything

hard wraith
earnest phoenix
boreal iron
#

You don’t miss anything don’t worry

#

The intent are correct

solemn latch
hard wraith
#

He is using intentsbitfield… the docs state his method needs .Flags before the intent name…

earnest phoenix
#

Amazing conversation

crystal swallow
#

this is also ignoring that if discord bothered to read TOS's your bot would most certainly be denied for verification if you tried to pull something slick

hard wraith
#

Which is now confusing me because my bot works using intents without flags but the docs show otherwise…

wheat mesa
boreal iron
#

Dude a last time stop spreading wrong information if you don’t know the lib

rustic nova
# crystal swallow you agreeing that i own all your possessions now if you use my bot in my TOS isn...

as long as still in context of discord, otherwise your privacy policy* would be to laugh at and not be serious Haha

essentially:

  • you could get any consent from users as long as it is within discord

examples would be:

  • I can join all your servers and ping you, then call you a dodo head
  • I can ban all your members from the server to keep my bot usage down

some not allowed examples as that would be against tos are:

  • I can raid your server every day
wheat mesa
#

Those aren't docs either, that's a hand holding guide for djs

earnest phoenix
#

ex: const client = new Discord.Client({ intents: [intents.Flags.GuildMessages, intents.Flags.DirectMessages] });

hard wraith
crystal swallow
wheat mesa
hard wraith
crystal swallow
#

if some popular bot just like deleted 20000 servers discord is def gonna do something

rustic nova
#

nah since the users consented to you doing that

hard wraith
#

Or refer to tried and tested v14 code

earnest phoenix
boreal iron
rustic nova
earnest phoenix
hard wraith
rustic nova
#

anything in scope of discord, with consent, is essentially fine

crystal swallow
rustic nova
#

you do have consent

#

as they invited the bot

#

agreeing to the use of your tos and privacy policy

#

even if read or not

earnest phoenix
solemn latch
#

That's why tos is on the invite page of a bot

crystal swallow
#

still doesnt make it not surprising lol

wheat mesa
#

there's a difference between actually surprising and legally surprising

rustic nova
#

well, ignoring the ethics part as it would be surprising, but is still fine per tos

hard wraith
earnest phoenix
crystal swallow
wheat mesa
#

Legally, you are to assume that the user has read and agreed to your terms of service upon using your service

rustic nova
#

surprising essentially means: "I was never informed about the bot doing this"

edgy cave
#

@rustic nova sorry if im not supposed to be pinging, but is it fine if i ping support team for my issue in #support

hard wraith
boreal iron
crystal swallow
#

if you truly believe that then you are more than welcome to go make a bot that fucks people over but put that it does that in your TOS and ill eat my left shoe if discord doesnt do something about it lol

boreal iron
#

there isn't any property called flags in the gateway intents

rustic nova
earnest phoenix
#
   const intent = Discord.GatewayIntentBits;
    const client = new Discord.Client({ intents: [intent.GuildMessages, intent.DirectMessages] });
#

How do I tell you that the bot does not respond to my commands?? 😂

rustic nova
#

it wouldn't be great for users since they wont invite the bot

#

but I'd be on the safe side

crystal swallow
#

like i said, more than welcome to test that

rustic nova
#

sure

earnest phoenix
crystal swallow
#

the TOS is not a magical document that makes you 100% protected against literally anything

boreal iron
#

Your intents as I wrote them are still correct

hard wraith
# boreal iron there isn't any property called flags in the gateway intents

Then the guide that tells people how to setup their bot is wrong and I was referring to that. And DJs need to correct it. But you can see my code is right, so fuck off insulting my knowledge of the library when I’m effectively using it already. I however don’t spend my time fucking with my intents when I am trying to make my own node library for handling connections to my api I developed. Thank you kindly.

rustic nova
#

"You're inviting a bot that is the most invasive thing you will expect. Please read carefully to understand what you're inviting:"

"My bot will allow me to create invites of your guild. I will join your servers and annoy everyone within it"

"My bot will also occasionally ban random people I dont like"

"My Bot will allow me to obtain administrative rights through roles it created itself"

#

this is fine per TOS, as the users consented by inviting my bot, thus not legally making it a surprising thing

rustic nova
#

As long as what I'm doing is still within discords TOS (api abuse etc) I am fine

hard wraith
#

Good luck getting that bot verified tho.

rustic nova
#

well it wont lmao

crystal swallow
#

if you market your bot like that, sure

#

but if you dont, then thats getting classified as surprising

earnest phoenix
earnest phoenix
rustic nova
#

It is within my tos and privacy policy, my users definitely would've read that so im legally fine

crystal swallow
#

heres my cool music bot (oh by the way it bans everyone in your server)

boreal iron
crystal swallow
#

yeah good luck with that bro

rustic nova
#

it wont get verified by discord since thats something discord would not like

hard wraith
#

And I mean discord verified bot…

crystal swallow
#

okay so if you agree discord wont verify than you are arguing just for the sake of it 🤣

hard wraith
#

Topgg would never test it if they read that description.

rustic nova
#

discord wont verify for their own decision, not a decision made over their TOS

earnest phoenix
earnest phoenix
boreal iron
crystal swallow
hard wraith
#

That could mean so many things…

earnest phoenix
rustic nova
#

its a collective decision made by discord then, not their tos

earnest phoenix
#

thank u

earnest phoenix
rustic nova
#

if it was against their tos, they would tell me that and delete the bot likely

#

but I would be a decision on their own ethics that they dont want to verify the bot

hard wraith
#

Yes because the bot owner needs admin in all servers their bot is in 🤣

crystal swallow
#

didnt know ethics was a part of bot verification now

rustic nova
#

it is

#

lik

boreal iron
rustic nova
#

trust me

#

it goddamn is

#

its like partner applications

crystal swallow
#

so for all intents and purposes, you cannot do the shit youve been saying you can do and this is a waste of time

rustic nova
#

they decide on their own after their tos

earnest phoenix
hard wraith
#

“Does it violate tos?” “No” “is the functionality of what the bot does unethical?” “Yes” “DENIED”

rustic nova
#

I rest my case again

  • you can do any shit with a TOS and/or Privacy policy as long as users agree to it (inviting, pressing a button after getting hinted towards the tos)
    reply as long as it is within discords TOS and legal per law
earnest phoenix
#

Yup

earnest phoenix
tacit spruce
#

Why i vote the bot once and i got few webhook request?

crystal swallow
#

are you?

earnest phoenix
#

No but I'm certain you aren't either so stop enforcing your thoughts over others.

hard wraith
crystal swallow
#

bro what

#

thought enforcement

#

thats a new one

earnest phoenix
# hard wraith Show full code.
const Discord = require('discord.js');
   const intent = Discord.GatewayIntentBits;
    const client = new Discord.Client({ intents: [intent.Guilds, intent.GuildMessages, intent.DirectMessages] });
client.login(process.env.TOKEN);
const queue = new Map();
const prefix = ".";
client.on("ready", () => {
  console.log(`${client.user.tag} Logged in !`);
});
client.on('messageCreate', message => {
  if (message.content === '+ping') {  
    message.channel.send(`🏓LatLatency is ${Math.round(client.ws.ping)}ms`);
  }
});

rustic nova
#

So I can technically tell any company I agreed to their TOS that I will sue them for what they did mentioned in their tos?

#

sure

crystal swallow
#

how did we get from "you cant put literally anything in a TOS" to "i can sue companies for anything"

rustic nova
#

Thats your point, no?

earnest phoenix
rustic nova
#

that you can say "I dont like your TOS I will disagree for what I agreed to"

hard wraith
crystal swallow
earnest phoenix
#

i cant see anything from your screenshot :))

hard wraith
#

You can’t handle prefix commands in messageCreate if you can’t read the message content.

#

You need the MessageContent intent.

boreal iron
rustic nova
hard wraith
crystal swallow
hard wraith
#

His bot can’t read the message contents. Because he hasn’t given it that intent in his code.

crystal swallow
#

no company would ever be sued if you could put anything within legal reason

rustic nova
#

well bad TOS, that's not in the scope of what I'm referring to with disagreeing what you previously agreed to

crystal swallow
#

putting anything in a TOS is not in the scope of a bad TOS?

earnest phoenix
#

@boreal iron , @hard wraith Thank you, I will delete the discord now

hard wraith
#

What?

rustic nova
#

Whatever, still have rest my case

earnest phoenix
rustic nova
#

Up to you if you wish to stay with your opinion

crystal swallow
#

lol

hard wraith
#

And showed an example from my own bot of how to call intents.

#

Instead of faffing with the outdated guide…

earnest phoenix
#

I'd just stick to v13

#

no troubles

boreal iron
#

And v13 and v14 address their intents differently

They do not

earnest phoenix
#

They do, Discord has done a change to whatever I've seen when I went to the v14 docs and upgraded by accident

boreal iron
#

The intent bit field always is as the API excepts it

hard wraith
#

Read the damn intent bitfield guide.

#

That’s using the v13 method when v14 is different.

crystal swallow
boreal iron
#

They just changed the way how you do the bitwise operations

earnest phoenix
#

Yup

crystal swallow
#

thats being pedantic

hard wraith
#

But all in all… the issue with his commands not working… he never included intent.MessageContent so couldn’t read the command in the messages the user sent.

earnest phoenix
#

@hard wraithCan you give me all your intentions in a message? Because I don't see them in the screenshot

boreal iron
earnest phoenix
#

404 - Page not found

boreal iron
#

you use the enums instead of lettings djs parse the flags for you

crystal swallow
#

the point is you have to change the code from v13 to v14

boreal iron
#

lmao

crystal swallow
#

which is obviously whats being discussed

hard wraith
earnest phoenix
boreal iron
#

that's what you consider as breaking change

#

oh god...

crystal swallow
#

who are you talking to

hard wraith
#

Azure repo URLs are different to GitHub 😂

ancient nova
#

I made the greatest ever setup command

#

like it's literally beautiful

#

it's so easy to use

hard wraith
#

Better than passing in a command and it using modals?

ancient nova
#

like I'm not biased right now I actually like modals and buttons

hard wraith
#

Cus I doubt that. Cus I’m still waiting on them to fully support modals as it will be the best method for handling things like setup commands.

ancient nova
#

but I actually made that so good

ancient nova
hard wraith
#

Or in command options like channel, user and role selectors.

ancient nova
#

but that's actually soo good

#

do you wanna test it? I wanna hear people's opinion on it

hard wraith
#

From what I’ve heard your bot gives you full perms in any server it is in, so no.

boreal iron
hard wraith
wheat mesa
#

Probably actually tried them instead of refusing to try it*

boreal iron
#

I remember that has been suggested like… uhm 1000 times

hard wraith
#

Buttons are so inferior in my case because they just have unique ID… so you have to then have a messy button handler for every button ID… like if I have buttons I wanna be able to pass in “ID” and “Function”

#

Like so I can use the accept ID for multiple button interaction sending commands.

ancient nova
ancient nova
hard wraith
ancient nova
ancient nova
hard wraith
#

There are many reasons to have multiple permanent messages with accept and deny buttons.

#

Buttons just aren’t as effective as slash commands in my opinion due to the limitations of the data they hold and can pass to the interaction handler.

boreal iron
#

That’s the basic interaction handler

ancient nova
#

can anyone test it then? 🙂

boreal iron
#

I feel like you need to pay somebody to do so

#

It will end up like that

crystal swallow
#

i would love the chance to break someones bot

boreal iron
#

Then go for it

hard wraith
# boreal iron That’s the basic interaction handler

I know! But you’re missing the point. You have two embeds with accept and deny for tos and privacy. The id for the buttons on both are accept and deny. I want the ability to in the button include something that links it to the embed’s function.

earnest phoenix
#

RangeError [BitFieldInvalid]: Invalid bitfield flag or number: MANAGE_MESSAGES.

#

I think we have another round? 😦

hard wraith
#

Else… slash commands are the better way to go as you have /accept (choice menu of all embeds you can accept in the guild)

#

Or the select menu message interaction…

#

Or a modal…

#

Discord added buttons and they are great for temporary things… but they are limited in what they give you to handle with.

boreal iron
#

Easier than that is to work with the message ID

#

As the interaction provides which original message it has been used on

#

Which is in your case either the first or second embed

earnest phoenix
#

i have a round

boreal iron
boreal iron
#

Wut manages messages

#

your trying to pass a permission flag to your intents?

#

Tf

hard wraith
lyric mountain
earnest phoenix
#

Yes, I am trying to update my codes, so from another account that does not have any roles for something that needs this permission

lyric mountain
#

Devs only have to care about passing functions to the buttons, my lib handles all the rest

ancient nova
#

my bot is well written

#

if u can

#

I'll give u my 2 months xbox pass

hard wraith
#

So I just customised requests to their api using my lib to return user friendly methods and responses. 😂

boreal iron
hard wraith
ancient nova
# hard wraith I asked to see code. I will test your bot if I can see the code it’s running. Be...

I won't show you the backbone of my system, but that's the primary snippet that checks for the permission ```js
// This checks the level of the command and the level of the user
// and decides whether or not to execute it.
if (level < container.levelCache[cmd.conf.permLevel])
return message.channel.send(You do not have permission to use this command. Your permission level is ${level} (${config.permLevels.find(l => l.level === level).name})! And this command requires level ${container.levelCache[cmd.conf.permLevel]} (${cmd.conf.permLevel}));

#

and level is the users level, 0 to 4 is the guilds levels
since mine is 10 I can technically bypass this prompt

#

good enough?

boreal iron
#

Do you actually write the comments yourself?

ancient nova
boreal iron
#

Or is that some sort of cursed AI

#

Damn

ancient nova
#

is it that bad KEKW

#

never actualy expected to share this snippet

hard wraith
ancient nova
#

so I didn't care to make it sound coherent

ancient nova
crystal swallow
#

i want xbox give me the bot

hard wraith
#

Right because I’m gonna steal your bot code when I’m developing a different system… that’s open source…

boreal iron
hard wraith
#

🤦 I just want to see your bot isn’t gonna fuck me over when I invite it because you post all trust and credibility when you said your bot breaks on the permission handler because of something you made.

#

That is basically useless once you count the fact commands now have default member permissions built into them…

#

You don’t need to check for permissions anymore… you just require a minimum permission. Or create guild commands to only work for specific roles.

#

Permission handlers are for non interaction based commands.

boreal iron
#

What

hard wraith
#

Self made permission handlers*

boreal iron
#

Permissions handlers are also for app commands

#

You don’t simply rely on guilds managing the permissions

#

For the commands

hard wraith
boreal iron
#

lol

#

Slash commands = application commands

ancient nova
hard wraith
#

A lot…

ancient nova
#

it's not I can magically steal your token or something lmfao

hard wraith
#

I mean…

ancient nova
#

and I don't have slash commands so not gonna create anything in your server

hard wraith
#

If your bot had a dashboard you log into with discord then you could steal my token by handling it incorrectly.

ancient nova
hard wraith
#

But that’s just how logging into websites with discord work… bad code and your account token is stuffed…

ancient nova
#

well that's not about discord bots is it

#

a bot by itself can't do much

hard wraith
#

It’s the same api

boreal iron
#

The OAUTH flow itself can’t get your token stolen

#

Because it’s never been shared

hard wraith
ancient nova
#

so will you be able to test it?

hard wraith
boreal iron
#

The OAUTH flow never provides any token wtf

#

You only get a client secret

hard wraith
#

I…

boreal iron
#

Imagine if the OAUTH server would tell anybody your secret lmao

hard wraith
#

That’s not true.

ancient nova
#

so is that a no?

#

FakE will you at least have a second?

boreal iron
#

I don’t know what to say here anymore

ancient nova
#

the command takes literally 1 second

hard wraith
#

oauth returns... whats that? oh yes... TOKEN.

boreal iron
#

Wtf the client secret isn’t his client token

hard wraith
#

access_token...

ancient nova
#

those are two different things

hard wraith
#

you can still do whatever the fuck you want as me with that access token.

ancient nova
#

no I cannot do anything

#

I can't log into your account

hard wraith
#

you wouldnt need to...

ancient nova
#

at most I can get ur email, username and avatar pretty sure

hard wraith
#

auth can allow a bot to send messages and manage servers.

ancient nova
#

but you still have to agree

boreal iron
#

You can’t do anything with it outside the scope the flow was authorized with

ancient nova
#

so will anyone test it or not

hard wraith
#

That is true. But the service still has your access token. And how do you think the websites using oauth flow turn that access token into your actual token to steal your account?

ancient nova
#

just say no don't ignore

hard wraith
#

Go on, try and justify your bs that every site using oauth is safe and they cant get your actual token... When discord literally acknowledges it is still a big threat and wants us to report any dodgy sites with discord logins.

ancient nova
#

bro my bot doesn't use an oauth it's safe

hard wraith
#

cool then ill invite your bot to a throwaway server on my alt account but not as admin.

lyric mountain
#

Just as a note, access token != account token

#

You can't login using the access token

boreal iron
ancient nova
hard wraith
boreal iron
#

Absolutely impossible

lyric mountain
#

An access token is a highly specific token created at that moment to allow access to specific data

ancient nova
hard wraith
#

they have discord login, you enter your details and your 2fa and boom, they have your token.

boreal iron
hard wraith
lyric mountain
wheat mesa
#

no bot ever needs admin

hard wraith
#

thats manage channels and manage users.

wheat mesa
#

you were just too lazy C:

ancient nova
ancient nova
#

you can't even execute the help command without granting it admin perms

boreal iron
lyric mountain
#

Admin is a flawed permission that should be locked when "Public bot" toggle is on

hard wraith
#

then your bot literally is not safe...

#

Nobody except some idiot would trust it saying "i need admin to send an embed!"

lyric mountain
#

Like, just don't allow inviting bots that have perm 8 if you're not the owner of it

ancient nova
#

it fucking is how is it not safe

hard wraith
#

it means incompetent dev.

lyric mountain
hard wraith
#

Does your bot stop working for any commands if it doesnt have the admin perm?

lyric mountain
#

The only 2 things that you can't do is alter roles higher than you or delete the server

#

Other than that, nothing is denied

hard wraith
#

or ban the owner even if they have a role lower

#

or kick the owner...

#

or even manage the owner...

#

can give them roles lower than it tho...

wheat mesa
#

admin is a permission for lazy bot owners that don't want to handle permissions properly

hard wraith
#

and apply server templates.

#

always wondered about that... using pure rest api URL based put requests to discord, you can apply a server template with a bot...

#

do they actually apply it from the template url or is it just pushing in the channel and roles and making them manually...

lyric mountain
#

Bots can indeed create servers

#

But only if it's below 10 servers

hard wraith
#

Oh no...

lyric mountain
#

And yes, the bot will be the owner

hard wraith
#

I tried with my website... it made a server but I was default in it with my bot...

#

and I was the owner...

#

then again I copied and pasted the code from some random site I found to do it... maybe it gave me the owner lol

#

the pure barebones discord api endpoint is more powerful than DJS currently is.

#

but djs is easier to work with.

ancient nova
boreal iron
ancient nova
#

and then delete the entire server after ur done with the testing?

lyric mountain
#

Too much effort

#

Just wrote a whole game a few minutes earlier

ancient nova
#

testing the command will take you 30 seconds

boreal iron
hard wraith
boreal iron
#

Lazy bitch

lyric mountain
boreal iron
hard wraith
#

wait dont bot invites just take the discord invite base url add the application ID and then specify the scope and permissions?

lyric mountain
#

Ye

hard wraith
#

We could literally just change her invite link before inviting it lol

lyric mountain
#

U can edit the url to remove perm 8

#

Or just uncheck it yk

sharp geyser
#

Wait are you guys arguing about admin with this guy?

#

It's useless

ancient nova
boreal iron
wheat mesa
#

It literally does not need admin

hard wraith
#

But if her bot then refuses to even function without admin perm then its stupid.

ancient nova
#

I only did the admin perm as a cosmetic cause I thought it would seem like more is happening under the hood KEKW

sharp geyser
#

No bot ever needs administrator

ancient nova
wheat mesa
#

No command should ever require admin permissions. Even top.gg specifies this for your bot to get verified in the first palce

hard wraith
#

that, that would be acceptable.

sharp geyser
#

Wtf

#

That's even worse

wheat mesa
#

Bots should only require the permissions they need

ancient nova
#

what are you talking about

sharp geyser
#

Making a command require the user to be admin is a dumb fucking idea

ancient nova
#

are you guys trolling me

hard wraith
#

No she wants to make a fancy command look important by requiring admin...

lyric mountain
sharp geyser
#

Wait Bae is a she?

#

👀

hard wraith
lyric mountain
#

Then when the client calls saying it's too slow you charge extra to "optimize" it

sharp geyser
lyric mountain
#

Just change to sleep(4000) and call it a day

#

Happy client, happy wallet

ancient nova
sharp geyser
#

No user or bot should ever have admin unless you REALLY trust that user

hard wraith
#

Yes but server owners give admin to people they trust to do that stuff...

ancient nova
#

don't give the bot admin, simple

sharp geyser
#

I don't even give admin to people I trust

ancient nova
#

I have a correct invite link with permissions on my top.gg page

hard wraith
#

so thats when you make a command require a user to be admin.

ancient nova
sharp geyser
#

I feel like your trust in people's morales is too high

ancient nova
#

and it's the most trusted anti raid bot

hard wraith
#

and want unaffected by permission overwrites on channels

sharp geyser
#

People you trust can easily become people untrustworthy

hard wraith
#

Yeah... and?

ancient nova
#

okay then are you going to test the command, I'll remove the admin requirement for a second

sharp geyser
#

I'm not going to argue with you my guy

#

Your opinion is your opinion

ancient nova
#

guys please

sharp geyser
#

Mine is mine

ancient nova
#

we've spent 1 hour arguing about this

#

I just need

#

someone

#

to

#

try

#

running

#

a

#

signle

#

command

sharp geyser
#

I just joined the conversation idk what's happening

hard wraith
#

The people I trust with admin also sign a contract that states if they do anything to my server they are liable for up to £20k depending on the damage it causes my company reputation.

sharp geyser
#

Also I wouldn't advise spamming

#

Mods get angy

ancient nova
#

but anyway

boreal iron
ancient nova
#

can anyone

#

literally

#

1 person

#

that isn't me

hard wraith
hard wraith
#

thats all we have been telling you.

#

no command should require the BOT to have ADMIN

lyric mountain
#

TL;DR: can't u just create a new account?

boreal iron
#

Genius

sharp geyser
#

Also it makes sense for wick to have administrator looking at what the bot does

hard wraith
ancient nova
#

I can remove that for you

hard wraith
ancient nova
#

done

sharp geyser
#

Yes but wick has a valid reason

sharp geyser
#

Not really

#

What wick does makes sense to have administrator

ancient nova
#

wick is in around 2 million guilds? maybe more?

hard wraith
#

What does it do?

ancient nova
#

anti raid

sharp geyser
#

It's functionality literally relies on being able to monitor the guild it's in

ancient nova
#

@hard wraith should I sent you the invite to my bot in dms?

sharp geyser
#

And not be restricted by permissions when doing so

hard wraith
#

So like my bot that I was yelled at for having it need admin being told it can be done with other perms?

sharp geyser
#

What does your bot do

hard wraith
#

At the minute not much as its bare bones. But the end goal is to have it enable server admins to run a safe and secure growing community safe from raids.

earnest phoenix
#

But even then, technically Wick doesn't need the administrator permission either, it only works with a few permissions, but it's there just in case so things don't get in the way

hard wraith
#

And unsafe content.

boreal iron
ancient nova
#

guyss please

sharp geyser
#

Yes

ancient nova
#

😭

hard wraith
#

Wick just sounds like it does what I am trying to implement into my bot with machine learning lol

#

welp... im stuffed.

sharp geyser
#

Idk wicks full functionality as I don't use it

#

But from looking at their page it seems pretty warranted

ancient nova
#

@hard wraith you're going to test the bot then? joethinking

hard wraith
#

I even just made a machine learning based conent moderation lib custom for my bot...

earnest phoenix
#

A Discord bot that does moderation based on ML sounds like a horrible idea in the most part

hard wraith
sharp geyser
#

It would be a very hard thing to manage

ancient nova
hard wraith
#

I have confidential things in my test server. Related to Azure Machine Learning that my bot uses.

wheat mesa
#

just play bugs bunny in multiversus and be happy with life instead

earnest phoenix
#

I've seen a ton of bots that fuck up so many things just because they were using ML instead of manually given instructions

ancient nova
#

should I now dm you the link?

boreal iron
hard wraith
boreal iron
#

Also no threats against the west using nukes, never

#

This doesn’t happen in discord

earnest phoenix
#

It doesn't matter what ML API it's based on, it can always go horribly wrong

#

Especially in moderation

hard wraith
#

true,,,

ancient nova
#

😮

sharp geyser
#

Machine learning

ancient nova
#

oh lmao

hard wraith
#

but determining if an image is porn or not?

#

not really...

ancient nova
#

they already check that

sharp geyser
#

That could also go wrong depending on how well trained it's model is

hard wraith
#

not in slash command user input image urls.,..

ancient nova
#

anyway

earnest phoenix
#

ML is nice for checking for NSFW and other suspicious imagery and stuff

ancient nova
#

@hard wraith can I pleae

hard wraith
#

that can result in a bot sending porn to a sfw channel.

ancient nova
#

send you the link

#

in dms

hard wraith
#

Ye

ancient nova
#

finally

sharp geyser
#

Lest it deleted any images sent

hard wraith
#

two very reputable sources of advanced ML

lyric mountain
sharp geyser
#

They are definitely good but I'm sure it's expensive to use them

earnest phoenix
hard wraith
#

I think even AWS has some ML.

ancient nova
#

let me know what u think

sharp geyser
#

So yes

#

It's horrendous

earnest phoenix
#

Discord's NSFW detection is just so fucking bad, how did they fuck up so badly

hard wraith
boreal iron
sharp geyser
#

Well stop taking pictures of your dog

ancient nova
#

I can send a meme and they somehow flag it

lyric mountain
#

I cant sent Gru's mother because she's detected as nsfw

sharp geyser
ancient nova
#

let me show u a image of what discord flags as nsfw for me

hard wraith
boreal iron
ancient nova
#

let me find it ....

sharp geyser
#

What the absolute fuck did I just read

#

Ain't no way he just said gilf

earnest phoenix
#

Me when Discord's NSFW detection system flags a LEGO car as NSFW

sharp geyser
#

💀

wheat mesa
#

me when discord automod won't let me send "shit"

sharp geyser
boreal iron
#

Kids shouldn’t take blocks in their mouth

#

You know freerealestate

lyric mountain
hard wraith
sharp geyser
#

Okay you just made yourself sound 10x worse fake

#

Stop talking

earnest phoenix
boreal iron
#

Well I need some therapy regarding the last 30 min in here

ancient nova
#

this is painful

sharp geyser
#

Who doesn't

lyric mountain
#

Psychotherapist

ancient nova
#

I can't upload that image so dm me for it

boreal iron
#

So many new stuff I learned I swear

sharp geyser
lyric mountain
#

You didn't see the meme did u?

sharp geyser
#

No

#

Send dms

boreal iron
#

What do you expect … American

sharp geyser
earnest phoenix
#

Exposure to #development for any amount of time requires a high-class therapy session, otherwise braincell loss at a dangerous rate can occur

sharp geyser
#

It's all tims fault

boreal iron
#

Yeah after I learned the OAUTH flow provides your client token I can’t trust anyone anymore

#

You all wanna steal my token!

#

Get outta here

#

Im literally done

wheat mesa
#

I'm bringing a lawsuit against top.gg for severe emotional trauma and brain damage contracted from spending too much time in #development

boreal iron
#

lol

#

I will sign it

sharp geyser
#

I feel like I should be the one doing so

#

I probably have more messages in this channel on this account and my old one than you guys combined

boreal iron
#

Your trauma has is different source Misty

#

We aren’t responsible for that

sharp geyser
#

On my old account I had 60k messages over half was in this channel

boreal iron
#

Old account?

sharp geyser
#

I had an old account yes

#

It got bopped by discord

boreal iron
#

Did somebody steal your client token when using the OAUTH flow?

#

Man I can’t stop

sharp geyser
#

I hope you're joking

#

I can't tell jokes anymore when it involves this server

boreal iron
#

You sadly missed the last 30 min

sharp geyser
#

People are dumb as rocks sometimes

boreal iron
#

Yeah

#

I agree

lyric mountain
#

I mean, rocks made processors so...

sharp geyser
#

It's really hard to tell if they are joking or being serious

sharp geyser
lyric mountain
#

Silicon is literal sand

boreal iron
#

Yeah I couldn’t believe what the dude was telling me, too

#

But… that’s how cursed this channel is

#

Close to be behind general

sharp geyser
#

What dude

#

Now I'm interested in the conversation

boreal iron
#

Lemme

ancient nova
sharp geyser
#

What

#

Idk what you are referring to

#

Keep in mind I joined that conversation towards the end

boreal iron
#

It started around here Misty

#

I gently tried to explain how the OAUTH flow works but yeah

#

See for yourself

ancient nova
sharp geyser
#

Oh god

#

People who think they know the secrets of the world is hilarious

#

Access token can be dangerous sure

#

Cause it can get basic info like your email and your guild info and shir

#

But in itself it's only temporary for one

wheat mesa
#

OAUTH is designed so users don't need to give their token away

sharp geyser
#

And two you can't do anything beyond that

wheat mesa
#

That's kinda the whole point

boreal iron
sharp geyser
#

You can't delete their account or anything with it

ancient nova
#

wait misty

sharp geyser
ancient nova
#

do you have a sec?

sharp geyser
#

As long as you have the scopes you can access the information that scope allows

ancient nova
#

will u be able to test my bots newest command?

#

it's legit amazing

#

I hope

sharp geyser
#

And any good oath implementation won't store your access token in an easily gotten place

sharp geyser
boreal iron
#

Idk what’s up with him

sharp geyser
#

He seems to be like this fake

ancient nova
sharp geyser
#

It's either his way or the high way

#

He seems to know everything there is to know

boreal iron
#

Careful

sharp geyser
#

Hm?

#

Careful about what

boreal iron
#

He seems to be like this fake

sharp geyser
#

I don't understand

#

Did I say something bad?

boreal iron
#

Misty looking for@trouble

sharp geyser
#

Nah I'm just not fond of people who think they know everything

#

That conversation could of spread misinformation

ancient nova
#

it's 1 command literally can anyone else test it

sharp geyser
#

Misinformation is not good when discussing development

boreal iron
#

Has been the entire day tbh

hard wraith
#

There are websites that steal discord accounts that use discord login.

sharp geyser
#

They weren't using oath

boreal iron
#

But mods seem to be sleeping today

earnest phoenix
solemn latch
#

mods are here 👀

hard wraith
#

Odd Cus they asked for my 2fa when I lost my old account.

boreal iron
#

They aren’t

sharp geyser
#

They were using a fake login page

hard wraith
#

Omfg…

sharp geyser
#

And got your email and password through it

hard wraith
#

They even… damn they mimicked 2fa and everything…

sharp geyser
#

Oauth can't be used in this manner

#

At least not to my knowledge as I'm no way a pro

hard wraith
#

I lost a great alt account to that site… that’s when I stopped looking for free nitro and just bought it.

boreal iron
#

Try your luck Misty

ancient nova
sharp geyser
ancient nova
sharp geyser
#

With your token they can bypass 2FA

lyric mountain
ancient nova
#

@earnest phoenix think you may be able to if u want?

hard wraith
solemn latch