#development

1 messages Ā· Page 1847 of 1

long crow
#

What if I want to work with the interaction? Like slash/context/buttons

quartz kindle
#

you can receive interations in 2 ways: websocket or webhook server

#

to respond to them you make a post request usually, or you can respond to the request if you're running the webhook server

near stratus
#

anyway @quartz kindle
you said you'll make your own discord lib next year
It's been a year
lib where ?

quartz kindle
#

its been a year? since when?

long crow
#

Since last year? weirdsip

quartz kindle
#

did i say that last year? lmao

#

anyway im working on it

grizzled raven
#

you are?

quartz kindle
#

its gonna be very basic tho

near stratus
grizzled raven
#

is it gonna be another library that tries to achieve -7mb ram

quartz kindle
#

everything is supported

#

but you use the official api methods

#

not any abstraction

quartz kindle
grizzled raven
#

doesn't stop people from trying

#

a lot

quartz kindle
#

but it will basically not use any ram, as long as you dont cache stuff

#

cache is not gonna be built in

grizzled raven
#

lmaoo

#

i knew it

solemn latch
#

New library?

quartz kindle
#

perhaps

long crow
#

Discordooo

#

Heh

solemn latch
#

Djs based or from scratch?

quartz kindle
#

scratch

solemn latch
#

Oh intresting

quartz kindle
#

0 dependencies

solemn latch
#

Oh wow

cinder patio
#

typescript?

quartz kindle
#

no

#

:^)

cinder patio
#

shame

solemn latch
#

Well gl. Sounds like a pain ^_^

quartz kindle
#

theres not much reason to use ts

#

there isnt much to type

#

i'll just slap a .d.ts on it

cinder patio
#

shame

quartz kindle
#

and you can probably plug in some existing discord-api-types shit

cinder patio
#

shame

quartz kindle
#

f u

long crow
#

Wasn't d.ts is enough for ts user

quartz kindle
tired panther
#

Who needs ts lol

quartz kindle
#

except voice

#

but fuck voice

#

i dont need it anyway

grizzled raven
#

ew voice

long crow
#

The djs new voice is ok. Only prob i see is issue of ytdl-core against node 16

solemn latch
quartz kindle
#

not on gh yet

#

gonna add this week tho

earnest phoenix
#

Custom caching with props?

quartz kindle
#

yes

#

or just make your own

earnest phoenix
#

Oh thats nice

cinder patio
#

Have you benchmarked it against libs like detritus and djs

quartz kindle
#

benchmarking by what measurement?

cinder patio
#

memory usage, startup times

quartz kindle
#

theres no caching so theres no ram usage

cinder patio
#

with all caches enabled

quartz kindle
#

i will add caching as an opt-in thing

#

not done yet

#

start up times are not really lib dependent, its just 5 seconds per shard

#

depending on your concurrency limits

cinder patio
quartz kindle
#

that benchmark is dumb

solemn latch
#

how do you even benchmark a lib with zero cache

quartz kindle
#

depends what you're comparing

#

if you want to compare memory usage, you have to devise a scenario where each lib is caching the exact same objects and properties, so you can compare structure efficiency

#

anything other than that will produce worthless results

#

one thing you can benchmark properly for example is websocket processing efficiency

#

put a timer to measure how long it takes for the event to be emitted since the packet was received

#

i did profile my stuff, but didnt compare it to other libs in that area

#

but my ETF is faster than discord/erlpack lol

solemn latch
#

Surly your new lib will be the fastest with zero dependencies?
I imagine other libraries have other...
Nvm just answered it.

quartz kindle
#

in general it should have less cpu usage than most other libs

#

bandwidth usage is the same, depending on your compression and encoding options

#

memory usage depends on what you cache

solemn latch
#

So it's probably the library for large scale bots then

quartz kindle
#

plus i didnt make any caching yet

#

but i have some ideas for a more efficient structure

quartz kindle
#

since its just the basic components

#

you can built an actual lib on top of it

solemn latch
#

That's cool

quartz kindle
#

idk if im gonna make a proper "client", right now theres no client

#

just standalone rest, websocket and webhook server

solemn latch
#

Handling ratelimits?

quartz kindle
#

there no rate limit handling

#

the requests give you the headers for you to do it

#

since a lot of people want cross-process rate limit handling, this is something they have to implement themselves

errant flax
#

how do i run a method in a class?
like:

class {
constructor(){

}
a(){
return "a"
}
b(){

}
}

I want to use the a method in b method. how would i do that?

cinder patio
#

this.a();

errant flax
#

oo thx

#

i would have to do that after i declared the method right?

quartz kindle
#

the order doesnt matter

errant flax
#

oh

quartz kindle
#

functions and methods are "hoisted" in js

#

meaning the code is scanned first, and all functions and methods are registered, and then the code runs from top to bottom

tired panther
pallid jungle
#

So it's my first time using events handler i am getting this errors like user not defined, etc.. and some events not working but the bot is working without errors so i need someone to tell me the problem or if i am using it with wrong way

(node:11636) UnhandledPromiseRejectionWarning: ReferenceError: id is not defined
    at Client.<anonymous> (E:\C) Developing\Wolfy-NewHandler\index.js:59:71)
    at Object.onceWrapper (events.js:421:28)

Handler

const eventFiles = fs.readdirSync('./events').filter(file => file.endsWith('.js'));

for (const file of eventFiles) {
    const event = require(`./events/${file}`);
    if (event.once) {
        client.once(event.name, (...args) => event.execute(...args, client));
    } else {
        client.on(event.name, (...args) => event.execute(...args, client));
        }
    }

Model

module.exports = {
    name: 'ready',
    once: true,
    execute(client) {
            console.log(`šŸ¤– Client is Online!`)
    }
}
spark breach
#

Hey so I am trying to make a command which invites a different user to a 'battle' and they need to write 'accept' or 'reject' (kind off like y!ship from yui) but I have no clue on how to do this, can anyone help? Because I couldn't find anything on google

pallid jungle
quartz kindle
#

there isnt anything else in the logs?

pallid jungle
#

I am using this code

const Discord = require('discord.js')
const snipes = new Discord.Collection()

module.exports = {
    name: 'messageDelete',
    execute(client, message, messageDelete) {
        snipes.set(message.channel.id, message)
    
        const LogChannel = message.guild.channels.cache.get('877130715337220136')
        if (!LogChannel) return
        const DeletedLog = new Discord.MessageEmbed()
        .setTitle("Deleted Message")
        .setDescription(`**User ID:** ${message.author.id}**\nIn:**Content:** \`\`\`${message.content}\`\`\``)
        .setColor('RED')
        .setThumbnail(message.author.displayAvatarURL({dynamic: true}))
        LogChannel.send(DeletedLog)
    }
}
quartz kindle
#

your argument order is wrong

#

you put client as the last thing in the handler

near stratus
pallid jungle
near stratus
#

it was supposed to be a sarcasm

spark breach
#

o h

quartz kindle
pallid jungle
#

@pallid jungle What should i add ?

#

oh

quartz kindle
#

the order is important

near stratus
quartz kindle
#

if you want client to be the first one in your event file, then it has to be the first one in the handler as well

pallid jungle
spark breach
pallid jungle
#

and etc..

quartz kindle
long crow
#

I wonder how is this snipe command going to work after the message.content coming in effect

pallid jungle
#

Oh okay

#

@quartz kindle Worked thaaaanks pp71

lyric mountain
long crow
#

Yeah, that what I was going to said, since it really intrusive on prvacy

#

don't top.gg reject snipe related command too? I read it long ago before my name become green

lyric mountain
#

it's a gray area I think

cinder patio
#

snipe shouldn't be allowed as a command imo

spark breach
frozen rapids
#
content = request.get_json(force=True)
userid = content['user']

Is this how I get data from post request after server voting in topgg website?

#

because it doesnt work for me, the auto role reward didnt work too, but i did received the post request

split hazel
#

you have to show more code than that

frozen rapids
# split hazel you have to show more code than that
@app.route("/***", methods = ["POST"])
async def upvote():
    try :
        auth = request.headers["Authorization"]
        if auth == "***":
            content = request.get_json(force=True)
            userid = content['id']
            # do something with the data
        else :
            abort(403)
    except KeyError :
        abort(403)
    return 'processed'
snow path
#

is this right for changing a bots status to do not disturb?

async def on_ready():
    client.remove_command('help')
    await client.change_presence(status=discord.Status.dnd

is the status name dnd or should it be do_not_disturb ?

earnest phoenix
#

try it and see

#

or look at the docs

pale vessel
#

Sorry if this is rude, but why ask us when you can play around with it and find out yourself?

#

It won't do any harm

spark breach
snow path
#

Thanks

near grotto
#

cannot read the property of onclick of null

quartz kindle
#

error: question.context is not defined

cinder onyx
tired panther
#

I splitted a part of my code in several machines.
But the problem is that the mongodb cache gets outtodate on some Machines.
Since I hyradte Cached Document for updating it based on the user interactions, ....the out- to-date cache causes problems. Will redis help keeping my cache up to date?

boreal iron
tired panther
boreal iron
#

Hmm I mean it can be seen in the audit log anyways, can it?

wheat mesa
#

Deleted message logs have been a thing for ages have they not

#

As well as audit log

near grotto
#

can anyone help me to fix my page's navbar?

wheat mesa
near grotto
wheat mesa
#

Personally I suck with HTML and web design, if you post your code someone else will probably be able to help you

near grotto
#

here's the code

brazen violet
#

how do i get the server ip form vsc for voting log

#

i want to test in vsc do how do i get the server ip which is required for webhook in bot edit page

near stratus
brazen violet
#

oh ok thx

near stratus
#

np

brazen violet
near stratus
#

IDK
never tried with ipv6 (don't know how it works)

brazen violet
#

:/

#

ok

earnest phoenix
near stratus
#

If you're talking about kubernates use the port it shows

#

not the one you opened in code

earnest phoenix
#

Ah Alr thx šŸ™

earnest phoenix
cinder patio
opaque seal
brazen violet
#

what i need to do?

#

i am having hard time figuring it out :/

opaque seal
#

Never done that but just pointing the webhook to your pc IP is not enough as your request will be blocked by the router

#

iirc

brazen violet
#

:/

#

so what i need to do?

opaque seal
#

Never done that

#

so idk

brazen violet
#

:/

opaque seal
brazen violet
#

rip

#

ok

cinder patio
brazen violet
cinder patio
#

google it...

brazen violet
#

:/

opaque seal
#

Added an A record for docali to my server IP

Tried running certbot to create an ssl certificate but got this
sudo certbot --nginx -d docali.giuliopime.dev

http-01 challenge for docali.giuliopime.dev
Waiting for verification...
Cleaning up challenges
Failed authorization procedure. docali.giuliopime.dev (http-01): urn:ietf:params:acme:error:dns :: DNS problem: NXDOMAIN looking up A for docali.giuliopime.dev - check that a DNS record exists for this domain

IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: docali.giuliopime.dev
   Type:   None
   Detail: DNS problem: NXDOMAIN looking up A for
   docali.giuliopime.dev - check that a DNS record exists for this
   domain

Do I just need to wait more time to have it working?

#

or am I missing something

boreal iron
#

If you don’t host your own DNS service it can take a while until your record got pushed to all DNS resolvers

#

Looks like it hasn’t be pushed yet

#

If there’s no typo in it

opaque seal
#

uhm ok just gotta wait then

boreal iron
#

Doesn’t automatically mean it’s like this 100% of the time

opaque seal
#

ik

boreal iron
#

Also depends on your time to live for the zone and or record itself

#

(TTL)

opaque seal
#

automatic

boreal iron
#

Automatic is no valid value.
Only seconds are accepted.
That might means automatic is > 60 mins I guess

#

(regarding your provider)

opaque seal
#

Nah don't think so

#

gotta check

cinder patio
#

I think automatic is 30 minutes

#

for namecheap, at least

boreal iron
#

If so you will probably need to be patient

#

Just check the tool I mentioned over and over again.
If it resolves your hostname successfully but not so your system, then flush your DNS config

worthy ivy
#

i am high its 1 am

#

is there anyway to like

#

check a number

#

divide by 10

#

if returns with a decimal

#

number++

#

so like

#

11/10

#

returns 1.1

#

so the "explanation" above should return 2

sterile thicket
#

message.guild.bans.create() keeps banning banned users as well. I want an error message or so to tell if someone is already banned. How?

worthy ivy
#

if return true, return nothing

sterile thicket
#

I tested it, but even if the user gets unbanned and joins the server immediately, and I run the ban command, if says takes it as banned user

opaque seal
#

iirc

worthy ivy
#

thanks

cinder patio
#

@earnest phoenix

solemn latch
#

hi era

earnest phoenix
solemn latch
#

scam

cinder patio
#

you weren't fast enough 😦

tired panther
#

Lol

coral scroll
#

so i am getting the error:

discord.ext.commands.errors.NoEntryPointError: Extension 'cogs.basic' has no 'setup' function.

with main.py as:

import discord
import os

from discord.ext import commands

bot = commands.Bot(command_prefix='+')


for filename in os.listdir('./cogs'):
    if filename.endswith('.py'):
        bot.load_extension(f'cogs.{filename[:-3]}')
    
    else:
        print(f'Unable to load {filename[:-3]}')


bot.run('token')

and basic.py as:

from discord.ext import commands
                                                    

class Basic(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
    
    @commands.command()
    async def ping(self, ctx):
        await ctx.send("Pong")


def setup(bot):
    bot.add_cog(Basic(bot))

Anyone can help with the issue?

thorny flume
#

I'm using "express" to create an API, but I want to create a central route, for example:

router.get('authorization/:userId/:password/router')

how can I do this?

coral scroll
# coral scroll so i am getting the error: ``` discord.ext.commands.errors.NoEntryPointError: Ex...

the code seems right tbh idk what the error is if anyone can help:

Traceback (most recent call last):
  File "H:\Discord Bots\NyxCentral Bots\Nyx's Bots\Lady Nyx\env\lib\site-packages\discord\ext\commands\bot.py", line 612, in _load_from_module_spec
    setup = getattr(lib, 'setup')
AttributeError: module 'cogs.basic' has no attribute 'setup'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "h:\Discord Bots\NyxCentral Bots\Nyx's Bots\Lady Nyx\main.py", line 11, in <module>
    bot.load_extension(f'cogs.{filename[:-3]}')
  File "H:\Discord Bots\NyxCentral Bots\Nyx's Bots\Lady Nyx\env\lib\site-packages\discord\ext\commands\bot.py", line 678, in load_extension
    self._load_from_module_spec(spec, name)
  File "H:\Discord Bots\NyxCentral Bots\Nyx's Bots\Lady Nyx\env\lib\site-packages\discord\ext\commands\bot.py", line 615, in _load_from_module_spec
    raise errors.NoEntryPointError(key)
discord.ext.commands.errors.NoEntryPointError: Extension 'cogs.basic' has no 'setup' function.
quartz kindle
#

isnt it supposed to be like this?

coral scroll
#

im not sure but i'll give it a try

coral scroll
quartz kindle
#

show what you did

crimson vapor
#

Hi Tim

coral scroll
#
from discord.ext import commands
                                     

class Basic(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
    
    @commands.command()
    async def ping(self, ctx):
        await ctx.send("Pong")

    def setup(bot):
        bot.add_cog(Basic(bot))
novel jetty
#

Can anyone help me with this error please?

#

This is the code

import { CommandProps, Command } from "../../@types";
import { db } from '../../index'
import Discord, { MessageEmbed } from 'discord.js'
import ms  from 'parse-ms'
export = {
  name: "beg",
  category: "",
  aliases: [],
  description: "",
  usage: "",
  run: async function(e: CommandProps) {
    const {
      message,
      args,
      client
    } = e
    let user = message.author;
    let timeout = 60000;
    if(!message.guild) return
    let multiplier = await db.fetch(`multiplier_${message.guild.id}`);
    if(!multiplier) multiplier = 1;
    let amounta = Math.floor(Math.random() * 30) + 1;
  
    let amounts = amounta * multiplier;
  
    let beg = await db.fetch(`beg_${message.guild.id}_${user.id}`);
  
    if (beg !== null && timeout - (Date.now() - beg) > 0) {
      let time = ms(timeout - (Date.now() - beg));
      message.channel.send(`You poor little begger... Beg again in ${time.minutes}m ${time.seconds}s `)
    } else {
  
    await db.add(`money_${message.guild.id}_${user.id}.pocket`, amounts);
    await db.set(`beg_${message.guild.id}_${user.id}`, Date.now());
  
     message.channel.send(`You've begged on the streets and received ${amounts} :basic:`)
    
  
    }
  } 
} as Command
quartz kindle
coral scroll
#
Traceback (most recent call last):
  File "H:\Discord Bots\NyxCentral Bots\Nyx's Bots\Lady Nyx\env\lib\site-packages\discord\ext\commands\bot.py", line 612, in _load_from_module_spec
    setup = getattr(lib, 'setup')
AttributeError: module 'cogs.basic' has no attribute 'setup'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "h:\Discord Bots\NyxCentral Bots\Nyx's Bots\Lady Nyx\main.py", line 11, in <module>
    bot.load_extension(f'cogs.{filename[:-3]}')
  File "H:\Discord Bots\NyxCentral Bots\Nyx's Bots\Lady Nyx\env\lib\site-packages\discord\ext\commands\bot.py", line 678, in load_extension
    self._load_from_module_spec(spec, name)
  File "H:\Discord Bots\NyxCentral Bots\Nyx's Bots\Lady Nyx\env\lib\site-packages\discord\ext\commands\bot.py", line 615, in _load_from_module_spec
    raise errors.NoEntryPointError(key)
discord.ext.commands.errors.NoEntryPointError: Extension 'cogs.basic' has no 'setup' function.
quartz kindle
#

no idea then, i googled it and most solutions have the exact same code as you

#

check if your fstring has the correct file name

quartz kindle
novel jetty
quartz kindle
#

you can import it using async imports

#

or use an older version, for example 2.1.0

#

otherwise read this

coral scroll
#

I might just end up using bot.load_extention command

#

Imma try something else later but for now I gotta go to my job

lyric mountain
sterile thicket
#

Yep figured that out, thanks

valid frigate
#

does the highest role in a server have the highest position # or the lowest

boreal iron
earnest phoenix
#

Is there any way to do a Discord request ,which returns the intents of the bot

opaque seal
pale vessel
#

so <@&264445053596991498> will always be lowest - 0

sterile thicket
#
          function getUserFromMention(mention) {
            let matches = mention.match(/<@!?(\d+)>/);
            if (!matches) return;
            let fetchedMember = await message.guild.members.fetch(matches[1]);
            return fetchMember;
          };```
how can I await here in side a `try{}`?
pale vessel
#

your function isn't even async

valid frigate
#

everyone will be the lowest

#

ah i See

#

looks like im gonna be flipping a lot of < to >

sterile thicket
#

oh lol, I'm blind

lyric mountain
#

I always confuse that too, but then I remember "nothing can be lower than everyone -> arrays can't have negative values -> everyone = index 0"

earnest phoenix
#

bored, give command ideas

lyric mountain
#

a command that says how bored you are

quartz kindle
#

make it check your github commit history to calculate your boredom

#

less commits = more boredom

boreal iron
#

If there’s no GitHub profile or history throw an error and exit the process KEKW

#

I will invite your bot, I promise

rose warren
#

A selfban command

lyric mountain
#

better yet, a raffle command where the prize is not being banned from the server

boreal iron
#

I remember seen that suggestion a lot of times already, that’s your favorite, Mac smirk

wheat mesa
#

Better yet, the prize is getting banned from the server

boreal iron
#

Ban lottery

wheat mesa
#

Russian roulette

boreal iron
#

Damn that’s actually a pretty good idea tho

lyric mountain
#

like, 5 guys deserve being banned, make them play russian roulette and ban one

boreal iron
#

I will register a patent immediately

#

!

lyric mountain
#

the last one is pardoned and not banned

boreal iron
wheat mesa
#

This is actually quite a good idea, I’ll take this for my bot

boreal iron
#

Shoo go away my patent is registered already

boreal iron
#

I wasn’t before joining this server and channel oldEyes

forest drift
#

how do I get the sending users profile picture from a SLASH command?
Ive managed to get everything working, but the slash commands only return smt like "84aec7a39f0841689549539d9e09a85c" as the users pfp

more accurately, how do I get it to send me something that could be used as the "author icon" in an embed?

earnest phoenix
#

Well that is an avatar hash

#

So technically that is the avatar kekw

forest drift
#

embed.author.icon_url: Scheme "84aec7a39f0841689549539d9e09a85c" is not supported. Scheme must be one of ('http', 'https')

earnest phoenix
#

Well yes cause you have to form it into a valid url

forest drift
#

how do i convert it to a valid one?

pale vessel
earnest phoenix
#

But I am sure there is a better way to do this

#

Surely that isn't the only option to get the avatar

#

What library are you using?

forest drift
#

interaction.member.user.avatarURL this is the current option im using

forest drift
earnest phoenix
#

use displayAvatarUrl

forest drift
#

ok ill try that

earnest phoenix
#

That should return a actual url

forest drift
#

so
interaction.member.user.displayAvatarUrl?

rose warren
#

It's a method

earnest phoenix
#

its a method yea

#

so use ()

pale vessel
#

displayAvatarURL

charred mulch
#

šŸ¤”

rose warren
#

.displayAvatarURL()

charred mulch
#

^

forest drift
#

?

pale vessel
#

URL

rose warren
#

Caps

forest drift
#

interaction.member.user.displayAvatarURL()

earnest phoenix
#

Yes, also try it and see please

charred mulch
#

perfect

forest drift
#

I tried googling, ive been trying to learn slash commands all day, and this is the point ive given up and come here

charred mulch
#

slash commands are confusing kinda eh

#

depends on the library

forest drift
#

(node:4) UnhandledPromiseRejectionWarning: TypeError: interaction.member.user.displayAvatarURL is not a function

earnest phoenix
#

šŸ¤”

forest drift
#
{
    "type": 2,
    "token": "A_UNIQUE_TOKEN",
    "member": {
        "user": {
            "id": 53908232506183680,
            "username": "Mason",
            "avatar": "a_d5efa99b3eeaa7dd43acca82f5692432",
            "discriminator": "1337",
            "public_flags": 131141
        },
        "roles": ["539082325061836999"],
        "premium_since": null,
        "permissions": "2147483647",
        "pending": false,
        "nick": null,
        "mute": false,
        "joined_at": "2017-03-13T19:19:14.040000+00:00",
        "is_pending": false,
        "deaf": false
    },
    "id": "786008729715212338",
    "guild_id": "290926798626357999",
    "data": {
        "options": [{
            "name": "cardname",
            "value": "The Gitrog Monster"
        }],
        "name": "cardsearch",
        "id": "771825006014889984"
    },
    "channel_id": "645027906669510667"
}```
this is the extent of info the slash commands return
charred mulch
#

isnt there docs on slash commands

#

on developer portal

forest drift
charred mulch
#

yea

#

thought so

rose warren
#

Slash commands are easy once you know what data they return

charred mulch
#

i need to look into slash commands, they seem cool

rose warren
#

The djs docs have all the info

forest drift
#

and annoying

rose warren
#

Use the djs docs and it'll be easier

charred mulch
#

i prefer buttons

charred mulch
forest drift
charred mulch
#

you’ll get the hang of it

forest drift
charred mulch
#

not sure

#

not developed in a very long time

#

lmao

rose warren
#

Why not use v13?

forest drift
#

i took one look at v13 and ran

rose warren
#

Why?

#

You'll have no choice but to use it eventually

charred mulch
#

everything seems confusing at first

forest drift
#

its taken me forever to drill v12 into my brain, idk how to learn v13

charred mulch
#

you’re not gonna find it any better avoiding it

rose warren
#

V13 isn't that different

forest drift
#

my brains wired weirdly, once ive learnt something i cant "unlearn/update" it

earnest phoenix
#

You will have to switch to v13 anyway

charred mulch
#

eventually

#

better to learn or look into it now

rose warren
#

And it's probably better to get used to it now than to scramble at the last minute when v12 gets deprecated

earnest phoenix
#

Soon the v7 api will deprecate

forest drift
#

if theyre only deprecating the v7 now ill stick with v12 till its one version from being wiped

#

hopefully by then ill know enough about code to switch easier

#

anyway, so back to the matter at hand
(node:4) UnhandledPromiseRejectionWarning: TypeError: interaction.member.user.displayAvatarURL is not a function

rose warren
#

There are guides online on how to update your code for the changes in v13 if you need help

earnest phoenix
#

There is also the change log

#

which provides everything they changed

#

which in reality isn't a whole lot tbh

forest drift
#

ok, as soon as ive mastered the basics of slash commands ill move to v13

charred mulch
#

i mean take your time

earnest phoenix
#

v13 is the version that has the best support for slash commands

charred mulch
#

you’re not in a rush or anything

forest drift
#

...

charred mulch
#

agreed

#

i assume more people are familiar with V13

earnest phoenix
#

I mean, it is the version where it was really worked on, and added everything else the component api has to offer

#

I didn't even know v12 had any support for slash commands

forest drift
#

i just need to work out how to turn
84aec7a39f0841689549539d9e09a85c
into an image...

#

wait what did u say that was again?

#

smt like a hex image?

earnest phoenix
#

Wait are you sure you are using v12, cause I don't even think v12 had support for slash commands without an external package

forest drift
#

im 100% sure lmao

earnest phoenix
#

šŸ¤”

#

What does your package.json say next to discord.js

forest drift
#

"discord.js": "^12.4.0",

earnest phoenix
#

Tf

earnest phoenix
#

Mac did v12 have slash command support

#

cause Im not seeing anything on it

rose warren
#

I don't think v12 had slash commands but you could add an extra package or smth. Idk. I just went straight to v13 for the slash development.

earnest phoenix
#

Yea

#

So I am curious how this mans is using slash commands then

#

on v12

forest drift
rose warren
#

Magic?

forest drift
#

lemme send whole package file rq

earnest phoenix
rose warren
#

Seems legit

forest drift
#
"dependencies": {
    "canvas": "^2.8.0",
    "discord.js": "^12.4.0",
    "fs": "0.0.1-security",
    "ms": "^2.1.3"
  }
forest drift
earnest phoenix
#

Until v13 beta came out slash commands weren't a thing to be used without external packages

#

Unless im mistaken

rose warren
#

That was my belief also

forest drift
#

Im just build different :3

rose warren
#

I was on v12.5.3 for the longest time

opaque seal
#

Don't get it why discord.js can't simply update their library like all the other ones

earnest phoenix
#

They did update their lib?

rose warren
#

I mean, 12.4 isn't even the latest v12 package either

opaque seal
#

You gotta refractor the code tho

rose warren
forest drift
earnest phoenix
#

Its not going to magically do it itself once you update the package

opaque seal
earnest phoenix
#

Nor does discord.js

opaque seal
#

like it has been from v11 to v12 for discord.js

earnest phoenix
earnest phoenix
sudden geyser
#

patch: don't care
minor: don't care
major: you're fucked

forest drift
#
"https://cdn.discordapp.com/avatars/"+interaction.member.user.id+"/"+interaction.member.user.avatar+".png"```
#

?

earnest phoenix
#

And those changes were made to keep the use of it as easy as possible

opaque seal
#

yeah but still not very nice having to refractor your code

earnest phoenix
#

Thats how it is sometimes

opaque seal
#

it means the library doesn't have very good fundamentals

#

sometimes

#

JDA has a solid structure that doesn't need to change even for major stuff like slash commands

forest drift
#

tesing rn

earnest phoenix
forest drift
#

FINALLLY

#

its working

earnest phoenix
#

I have found it is easier to maintain a java codebase then a js codebase that needs changes sometimes when implementing new things to work well with others

earnest phoenix
forest drift
#

can you have a multi-line slash command?

earnest phoenix
#

Buttons are life

forest drift
earnest phoenix
#

Oh right, you use v12

#

No you can't

rose warren
#

How are you getting slash commands responses in v12?

#

In your index file

forest drift
earnest phoenix
#

I am wondering if these are slash commands or prefixed "slash" commands

sudden geyser
forest drift
#
 client.api.applications(client.user.id).guilds('835167782488113153').commands.post({
            data: {
            "name": "suggest",
            "description": "Suggestion Command",
            "options": [
        {
            "name": "suggestion",
            "description": "Type the suggestion here",
            "type": 3,
            "required": true,
        }
        ]     
    }}); 
rose warren
#

Your making your life so much harder for yourself

#

Just use v13

forest drift
forest drift
rose warren
#

Until it doesn't anymore

forest drift
#

YES YOU CAN ADD BUTTONS IN V12!

#

HAHA IM STAYIN' ON V12

earnest phoenix
#

smh

rose warren
earnest phoenix
#

Yea stay on v12

forest drift
earnest phoenix
#

and then pull your hair out when it stops working

#

This is not a good practice

#

Especially if you wanna make a successful discord bot

forest drift
#

id rather stay with v12 for now than deal with the bugs on v13 :3

earnest phoenix
#

Bugs?

#

More like user error

forest drift
#

that too

#

lol

earnest phoenix
#

I haven't ran into a bug in v13 as of yet

#

especially not with slash commands

forest drift
#

dont tempt me pls

earnest phoenix
#

šŸ¤·ā€ā™‚ļø

#

once your bot stops working don't come whining

forest drift
#

ok name one thing v13 can do that v12 cant atm?

earnest phoenix
#

Lmfao

sudden geyser
#

slash commands

earnest phoenix
#

Do we even need to

forest drift
solemn latch
#

cache control

earnest phoenix
#

Slash commands, buttons, select menus, context menus

forest drift
earnest phoenix
#

All of this can be done 10x easier in v13

sudden geyser
#

through an archaic api

forest drift
#

may be harder

#

and more complicated

#

and more stressful

solemn latch
#

actual support šŸ‘€

forest drift
#

and more annoying

forest drift
earnest phoenix
#

I feel bad for your bot

forest drift
#

rude

earnest phoenix
#

truth

forest drift
#

i feed it twice a month cmon

#

it could be worse

earnest phoenix
#

I mean do what you want but again once the bot starts fucking up don't come whining

#

šŸ¤·ā€ā™‚ļø

forest drift
#

i wont

#

ik im being dumb

#

but rn id rather not have to worry about a new language

earnest phoenix
#

new language

forest drift
#

*version

earnest phoenix
#

šŸ¤”

forest drift
#

see this is why i cant switch

#

my brain is fried

solemn latch
#

isnt 90% of djs the same, its just a few changes šŸ‘€

forest drift
#

ready to be dumped

earnest phoenix
forest drift
forest drift
earnest phoenix
#

All that has changed really is the new component stuff and interactions

forest drift
#

ok this weekend ill try switch

earnest phoenix
#

and some slight changes to how you send messages and such

forest drift
#

but then imma come here and ping u when i need help ;)

solemn latch
#

šŸ‘€ i really havent even looked at the new version lol

earnest phoenix
#

If you ping me for help without reading the change log first

#

ima tell you no

forest drift
#

lol

#

ok, after i learn how to add buttons on v12, ill switch over

earnest phoenix
forest drift
#

AND MY BOT IS TREATED WELL! IT ONLY GETS BEAT TWICE A DAY like smh

earnest phoenix
#

Just worry about that shit on v13 im telling you

#

They have classes and shit that makes it hella easy to make buttons and such

forest drift
earnest phoenix
#

v12 is useless now

#

Might as well be deprecated

forest drift
#

my first economy bot was built on it, now thats memories :>

earnest phoenix
#

Anyone still on v12 are weirdos mmLol

forest drift
earnest phoenix
#

No literally v12 is useless

forest drift
earnest phoenix
#

You have a pfp of a command block from minecraft

forest drift
#

:P

earnest phoenix
#

I don't wanna hear it

forest drift
#

cmon mines classic

#

ive had this for over 800 days now

earnest phoenix
#

Also you don't even know who it is in my pfp so that leaves you even less room to talk

forest drift
#

i havent changed my discord name in like 900 days

solemn latch
#

šŸ‘€ i havent changed mine in like 5 years

rose warren
solemn latch
#

@forest drift keep this server sfw AngryDoggo

earnest phoenix
#

You really goinmg to say that around a mod

#

smh

forest drift
#

lemme rephrase my statement

earnest phoenix
#

Also its ZeroTwo you absolute nub

#

Uncultured swine

forest drift
forest drift
earnest phoenix
#

You'd be absolutely wrong

sudden geyser
#

the series sucks anyway

forest drift
#

oh crap... ive seen some of that series

earnest phoenix
#

Eh

forest drift
#

either way i stick by my statement ;P

#

either way, im proud ive gotten slash commands to work on v12

wheat mesa
#

Or just don’t use djs and never have to wait for huge version updates to use features already in the API

#

Problem solved

forest drift
#

...

#

naaaaaaaaaa

#

sounds too easy

wheat mesa
#

Detritus

forest drift
#

what now>

wheat mesa
#

It’s a library for the discord API

forest drift
#

first pic that comes up when i search that

wheat mesa
#

It’s also a term from biology

#

Node package

forest drift
#

this line stops me from wanting to use it
// Tokens should be considered secrets and stored in a configuration file that is not
makes it sound like its babying its reader

wheat mesa
#

The documentation is not very thorough

#

If anything it does not ā€œbabyā€ you at all due to the docs being barebones

forest drift
#

ur just digging the hole deeper

wheat mesa
#

They’re working on the docs right now

#

Personally I love it

forest drift
#

uve already lost this promotion

#

ill stick with discord.js for now

#

but thanks

wheat mesa
#

djs is hot dogshit compared to detritus imo but whatever

forest drift
#

BOI

solemn latch
#

tims lib will dominate even detritus šŸ˜‰

wheat mesa
#

We’ll see

forest drift
#

opinions are opinions.

rose warren
#

I'm also waiting patiently for Tim's lib

forest drift
#

ill just stick with the origional

wheat mesa
#

Personally I’ll stick with detritus mainly because I like the format and it’s also completely built for typescript use

forest drift
#

// Spawn the client in an async context

yo Detritus got either sexual or minecraft references here lol

#

// Note: Due to how Node handles tasks, the script will block until the Detritus client
// is killed.
sounds sketchy

wheat mesa
#

You do understand that is not sexual or from Minecraft, correct?

solemn latch
forest drift
#

yes

sudden geyser
#

It'll probably just be a light API mirror

forest drift
sudden geyser
#

go sleep

forest drift
#

states this:
// Tokens should be considered secrets and stored in a configuration file that is not

then does this
const token = '';

#

lmao

#
// Simple ping/pong command
interactionClient.add({
  description: 'Ping!',
  name: 'ping',
  run: (context, args) => {
    // Commands should return a promise to ensure that errors are handled
    return context.respond(InteractionCallbackTypes.CHANNEL_MESSAGE_WITH_SOURCE, 'pong!');
  },
});```
tho i will admit that does seem slightly easier
wheat mesa
#

It’s because they aren’t going to waste their time giving you a tutorial on how to store a token properly

forest drift
#

still, seems a bit inconsistent

#

im just being nit-picky rn

wheat mesa
#

It’s not a library meant to hold your hand on the basics of a discord bot

forest drift
#

youre starting to sound desperate, its ok, take a deep breath and find your happy place.

wheat mesa
#

Storing your token securely is something that’s a universal requirement across all libraries

#

Therefore the docs assume that you have some experience

forest drift
#

me causally having a token stored in a github config.json file

wheat mesa
#

That is a terrible idea!

#

You should store your token in an environment variable

forest drift
#

eh

#

dw the bots got a bit of security

#

if anything except the exact applications code is used itll auto reset the token

wheat mesa
#

I feel like that’s not how it works but ok

#

If someone has your token, they can log in using your token

forest drift
wheat mesa
forest drift
#

i have a backup script running on my own server, basically detects anything the bot does that isnt accurate to its current script and then automatically resets the token

wheat mesa
#

Uh okay

#

Whatever you say

forest drift
#

worst case scenario a discord server gets nuked

wheat mesa
#

And then your bot gets blocked for API abuse.

forest drift
#

...

#

new application?

solemn latch
#

tbh, why not just secure the token like anyone else would do.

#

šŸ‘€

forest drift
#

because that would require a brain :3

wheat mesa
#

Sounds like a complete waste of time when you could just spend 5 minutes to set up an environment variable

forest drift
#

and thats something i clearly lack

#

also i have zero clue what an environment variable is

wheat mesa
#

Google search mmulu

forest drift
#

i wonder how many times bots like rythm have had their tokens found and abused?

wheat mesa
#

Probably none

#

Because they store them securely

forest drift
#

i mean having a generator find it

wheat mesa
#

That’s not a reasonable way to find tokens

forest drift
#

if u create a decent system, its not a matter of if you get the token, its a case of when

wheat mesa
#

They are specifically designed so that doesn’t happen

#

I don’t think that’s true

slender thistle
#

Good luck bruteforcing tokens

wheat mesa
#

The chances of guessing a token are so unbelievably low that it would likely never happen

forest drift
#

Ive managed to build a password crack that can solve a 13 character password in an average of 17 hours using a basic counter system

#

just upscale that

#

and maybe get the token in like 8 months?

wheat mesa
#

You understand the concept of exponents right

slender thistle
#

Pointless + ^

wheat mesa
#

It is a ridiculous amount of combinations

forest drift
#

ikik

slender thistle
#

13 characters is eh

#

Discord tokens ain't that small

wheat mesa
#

Unsolvable for likely even the worlds supercomputers

forest drift
#

hence why i use a counter system, its purely a matter of when, although it could take years

wheat mesa
#

Bruteforcing is not a reliable method of getting anything

forest drift
#

but theres always a chance

slender thistle
#

You'd just be wasting your own time tbh

wheat mesa
#

Just because you can theoretically run a password cracker for 100000 years doesn’t mean that it’s reasonable

forest drift
#

although slim, you could guess the token by accident lol

wheat mesa
#

No

slender thistle
#

Good luck

wheat mesa
#

That’s why tokens are generated like they are

forest drift
wheat mesa
#

To provide a massive layer of security

#

Okay but possibility != plausibility

forest drift
#

If i didnt have a slight renascence of morals left id make smt and send u a perfectly plausible script by tomorrow

earnest phoenix
#

For someone who didn't wanna switch to v13

#

I doubt this

forest drift
#

it would take a long time, but eventually itd get the token

wheat mesa
#

No

#

It wouldn’t

forest drift
slender thistle
#

Which would then get reset by the owner

#

And we're back to square one

forest drift
wheat mesa
#

It would be more efficient to simply wait for quantum computers to exist to then try bruteforcing

earnest phoenix
#

Do you know how tokens are generated?

forest drift
slender thistle
#

If that boosts your ego you got issues and should seek therapy 🤷

forest drift
#

before having rythm send a hitman after u

forest drift
#

its more an accomplishment

#

the more people say its not possible the better it feels to do it

#

then you feel empty afterwards

slender thistle
#

An accomplishment of purely random sequence of characters

forest drift
#

but i mean meh?

forest drift
slender thistle
#

How many people bothered?

forest drift
#

not much

slender thistle
#

How many people actually care enough to do that?

forest drift
#

but my goal would be to get it, then send the bots creator a small message, before exiting the bot and forgetting about it

slender thistle
#

Like I said, good luck

wheat mesa
#

There is no remote possibility of you bruteforcing a bot token

#

Not just Rythms, but any bot token

forest drift
#

waffle, its possible. thats a fact

earnest phoenix
#

So you would be met with a ban

forest drift
#

dude even thinking about trying to get a token is against tos

earnest phoenix
#

Well no

slender thistle
#

Funny what kind of length people will go to to do stupid shit

earnest phoenix
#

Thinking about it isn't the same as doing

wheat mesa
#

How many times have I said that just because it’s possible, that does not make it a possibility

forest drift
#

I just think itd be cool to get the token, login, send the creator a cute message along with the script u used, then leave the bot with no damage done.

wheat mesa
#

I worded that poorly

#

The fact is that you will not be bruteforcing a token

#

If you were able to brute force a token within a reasonable amount of time, discord would change the way the generate tokens

forest drift
earnest phoenix
#

Doesn't discord make its tokens with bot ID + Worker start time + worker id or smth

wheat mesa
#

No probably not

earnest phoenix
#

I can't remember what it was

wheat mesa
#

Maybe that+ a hashing algorithm or something

earnest phoenix
#

Yea

forest drift
#

Im now purely gonna make a script and calculate its average token time to prove to yall its possible

wheat mesa
#

Well over 10000 years for the amount of processing power you likely have

#

Probably even more time

solemn latch
#

there are already programs that can tell you the amount of time

wheat mesa
#

^^

#

Websites and stuff etc

forest drift
#

fudge i just got a massive fright, just saw a dm pop up with the same pfp as my bots, and after this convo i just jumped to conclusions but thankfully its just a group :3

solemn latch
#

actually heck, lets do the math. you said 17 hours for 13 length right?

solemn latch
#

alright brb

forest drift
#

with my current shitty system

solemn latch
#

how much do you think you could improve that, practically?

forest drift
#

i wonder at what point a randomiser is more plausible

#

i think, if i split the load etc, i could get it down to 5 hours average for 13 characters if im lucky

solemn latch
#

so 3x faster?

forest drift
#

yeah

#

maybe

#

the more resource avaliable to me the faster

#

also then just set the script running on multiple instances...

#

but lets go with 5 hours average for 13 characters for now

wheat mesa
#

I believe you’re severely underestimating how fast that time will increase when adding more characters

forest drift
#

ik

solemn latch
#

52^13
52^59
how much more is that? šŸ‘€

#

and thats low for discord compared to a password

wheat mesa
#

A shit ton

solemn latch
#

because discord has special chars, which i didnt account for

forest drift
#

again, if u have the script running on multiple instances constantly u could divide its time a lot

#

52^59?

solemn latch
#

yes

forest drift
#

1.754677e+101

#

fuck

solemn latch
#

52 possible char types, 59 chars long

wheat mesa
solemn latch
#

ye so long a calculator cant display it šŸ‘€

forest drift
#

that would be smt like 17.5ZZ...

wheat mesa
#

Literally at the limit

forest drift
#

i can easily handle 1.000 x 10^52 and below but higher than that is becomming too long

wheat mesa
#

Lmao no

forest drift
#

that aboves 1.7547 x 10^101

#

rounded off

solemn latch
#

šŸ‘€ im going to actually do the math.

forest drift
#

so 175 + 99 "0"

#

hmmm

#

possible?

wheat mesa
#

No

#

Not possible

earnest phoenix
#

Math sucks

wheat mesa
#

Math sucks

#

That’s what bigint is for

forest drift
#

175,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000

#

thats the final number

wheat mesa
#

Literally more than a googol combinations

sudden geyser
#

Math rocks

forest drift
#

thats just how numbers are displayed above a certain point

wheat mesa
#

If you’re claiming that you can crack a bot token from brute force, you’re just wrong

forest drift
#

its to limit screen size

forest drift
#

thats the max time, the min time is "1"

slender thistle
#

Why are you trying to prove something here actually

forest drift
#

idk

#

bored

slender thistle
#

Figures.

wheat mesa
#

It’s technically possible for me to win the lottery 150 times in a row, but will that ever happen? No.

forest drift
#

yes

#

it would

wheat mesa
#

???

forest drift
#

if u did it long enough

wheat mesa
#

Yes

#

Far worse

forest drift
#

again, its between 1 and 175,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000

#

so it could be 7 if i get lucky

wheat mesa
#

The chances are so impossibly low it’s difficult to comprehend

solemn latch
#

its so much worse, the percentage more is so large its an exponent

boreal iron
wheat mesa
forest drift
#

the thing is i can calculate around 17 thousand possibilities per script, per second with the new system i just checked, so host that script 300 times and itd take around
3.4405439e+94 seconds... fuk

solemn latch
#

if it took you 3 hours to figure out a password 13 chars long, it would take you
3453136900000000000000000000000000000000000000000000000000000000000000000000000000 hours
to figure out a discord token, on average.

#

discord

forest drift
#

fuk

wheat mesa
#

Child’s play for him of course

forest drift
#

the thing is again, it could take 1 second or it could take 3453136900000000000000000000000000000000000000000000000000000000000000000000000000 hours

wheat mesa
#

He can wait out the heat death of the universe as long as he gets the sweet sweet reward of your discord bot token

solemn latch
#

statistically, if you put every computer on earth on this problem, it will take millions of years šŸ‘€

forest drift
#

ok, just got to hijack every single processing source on this plannet

solemn latch
#

lol

#

now what are the odds we both say that

forest drift
#

I SHALL NOT GIVE UP

#

watch i get my own bot token before any other one

#

thatd be too perfect

wheat mesa
#

The fact is that you won’t

#

It’s simply not going to happen

forest drift
#

waffle stop being negative

wheat mesa
#

I’m not being negative, I’m being realistic

forest drift
#

we'll see

#

so am i

wheat mesa
#

You are not being realistic

forest drift
#

the thing is there are millions of bot applications

#

so in reality i just have to get one to be happy

slender thistle
#

This conversation isn't gonna get anywhere, is it

solemn latch
#

nope

forest drift
#

nope

#

but atleast its given us smt to do for like 40ish min?

solemn latch
#

interesting math question though šŸ‘€

wheat mesa
#

Millions of bot tokens means nothing when the amount of combinations is so much vastly larger that millions of possibilities makes an unnoticeable difference in your chances of finding it

boreal iron
forest drift
#

HAH jokes on u! i dont have a door hah

boreal iron
#

Then they don’t need to knock

forest drift
#

fair

forest drift
wheat mesa
#

Yes I would love to waste my time on helping you solve a useless problem with no reasonable solution in the first place

forest drift
wheat mesa
#

Just so you know ^

forest drift
#

well ur helpin me so

earnest phoenix
#

Ah yes

boreal iron
#

Guess you’re more effect in crawling all possible IPs and try to brute force insecure (anwsering) endpoints like MySQL databases etc.

#

That’s at least what happens multiple times per second on each of my systems the last 12+ years

#

For opened up endpoints of course

solemn latch
#

the thing is, i doubt you can figure out a 13 char length password in 17 hours.
13 characters long, 2 million years by actual computers trying to crack a password.
​https://i.woo.pics/931ac2a047.webp

if you found a way to do it faster youd be getting praised by every goverment ever, and likely worth millions of dollars.

wheat mesa
#

Yeah

wheat mesa
#

Perhaps if your password is aaaaaaaaaaaaa and you’re checking in alphabetical order

#

(Not including symbols and numbers of course)

solemn latch
#

unless your environment is you can generate numbers that fast that it can do every possible combination in 17 hours, thats not actually bruteforcing a password

boreal iron
#

Brute force attacking still happens at any time but vulnerabilities are more attractive nowadays I guess

solemn latch
#

people do hack "passwords" but its mostly just someone knowing someone elses password because they told them KEKW

boreal iron
#

EVEN if lots of endpoints, databases etc exist in the public web with default setup passwords

wheat mesa
#

I remember a long time ago at my middle school, the school had a password system based on student’s ID numbers in order to make it easier to remember

#

The thing is

#

ID numbers were no secret

solemn latch
#

years back i used the same password for a few things, one of the services leaked everyones password. I still get emails of people trying to login to random services with my password. pandasad

wheat mesa
#

People passed around their report cards which had their ID numbers on the front

solemn latch
#

kek

#

thats scary

wheat mesa
#

KEKW insecurity at its finest

boreal iron
wheat mesa
#

Thankfully, being middle school students at the time we had nothing sensitive on our accounts other than some grades and addresses

#

Still incredibly bad

boreal iron
#

Yeah

quartz kindle
quartz kindle
#

brute force and dictionary attacks heavily rely on having a valid hash to compare with

forest drift
#

@solemn latch we need to redo that calculation

quartz kindle
#

otherwise its useless

quartz kindle
#

the gateway allows 1000 logins per day, with 5 second cooldown

#

the rest api will probably ban you after too many attempts

forest drift
#

@solemn latch i think its gonna take a couple million more years...

#

if normally we were gonna do 17k a second...

solemn latch
#

cloudflare bans on a handful of failed requests

wheat mesa
#

I was giving benefit of the doubt to show how unreasonable it still is despite API limits and such

forest drift
#

waffle sit down

#

we gonna be here

#

a long time

#

i wonder if we're reaching the billion years mark?

solemn latch
#

we passed billions long ago

#

three sexvigintillion four hundred fifty-three quinvigintillion one hundred thirty-six quattuorvigintillion nine hundred trevigintillion
^ in words

quartz kindle
#

xD

solemn latch
#

wait thats hours šŸ‘€

wheat mesa
#

Lmfao

slender thistle
#

Shortly said

#

You're in for a fun ride

wheat mesa
#

An impossible ride*

boreal iron
#

Even google doesn’t understand what number this should be

quartz kindle
#

its the number of bytes discord.js uses

#

:^)

solemn latch
#

I feel like i did this math wrong.
394193710045660000000000000000000000000000000000000000000000000000000000000000 years?

forest drift
#

...

#

waffle... we gonna need more waffles

#

and a couple billion computers

#

should be easy

solemn latch
#

three hundred ninety-four quattuorvigintillion one hundred ninety-three trevigintillion seven hundred ten duovigintillion forty-five unvigintillion six hundred sixty vigintillion years

#

šŸ‘€

#

wtf is a quattuorvigintillion KEKW

boreal iron
slender thistle
#

Sounds right

wheat mesa
#

Guys

#

I solved it

#

Just get three hundred ninety-four quattuorvigintillion one hundred ninety-three trevigintillion seven hundred ten duovigintillion forty-five unvigintillion six hundred sixty vigintillion computers, then you’ll crack every possibility in just a short year

rose warren
forest drift
#

i think were overthinking this

forest drift
#

probally

solemn latch
wheat mesa
#

Lmao

solemn latch
#

(dw its regened)

forest drift
#

lol

boreal iron
#

lol

wheat mesa
#

No don’t regen it

solemn latch
#

its to a dead bot anyway

#

i have like 20+ dev bots šŸ‘€

forest drift
#

we'd be quicker finding the guy and holding him hostage till he gives the token, then we kill waffle on the way back and have a good nights sleep

solemn latch
#

you can find tokens quite quickly. the number of people that put them publically on repl is very high.

wheat mesa
#

Yeah

forest drift
#

ikr

wheat mesa
#

And GitHub

forest drift
#

couldne be me ;-;

solemn latch
#

should regen them if you find them, but yeah

solemn latch
wheat mesa
#

Pretty funny how people store their tokens in an insecure config.json file

#

I wonder who would do that though

boreal iron
solemn latch
#

I do that on dev bots šŸ‘€

#

but they are always private and in one server, so šŸ‘€

wheat mesa
#

Yeah

#

But a public bot

solemn latch
#

yeah smh

wheat mesa
#

Surely no one would do that

boreal iron
wheat mesa
#

(Uploaded on a public site)

boreal iron
#

Ah nvm then

#

Never used such a coding platform

wheat mesa
#

I use GitHub purely because it’s convenient

sudden geyser
#

what about discord

wheat mesa
#

deletes account

solemn latch
#

it is a dev tool šŸ‘€ only reason to ever use it is convenience

boreal iron
rose warren
#

Even better. Store it on a post-it note and type it in every time you start your bot :^)

solemn latch
#

isnt git like super old

sudden geyser
#

it's like 20 years

#

so not really

solemn latch
#

its a lot newer than i thought

#

16 years

rose warren
#

Wow 2005?

solemn latch
#

ikr

#

how did devs operate in 2004

rose warren
#

Must have been a nightmare

solemn latch
#

gits not the first version control šŸ‘€

wheat mesa
#

ā€œOh no he leaked his token on his wallā€

solemn latch
solemn latch
rose warren
boreal iron
#

Starting as total noob ~ 14 y ago there was no Discord to ask code related questions and forums weren’t popular

wheat mesa
boreal iron
#

You was forced to try and see and to read docs if they existed

solemn latch
rose warren
boreal iron
#

That wasn’t a really a thing either at that time

wheat mesa
#

I’m grateful for the existence of discord and forums for programming... The courses I’ve taken in school so far have taught me over the last year and a half what took me 2 weeks to learn from people helping me and just looking things up as I go

boreal iron
#

Time has changed dramatically

solemn latch
#

tbh, prefer that method of learning.
Looking things up is so powerful, too many devs on discord dont use it.

boreal iron
wheat mesa
#

In beginner programming, 99% of the time someone else has had the same question as you and there’s an answer for it on the internet with a quick search

rose warren
#

You can literally figure anything out if you know how to use Google.

wheat mesa
#

Exactly

rose warren
#

Everything I learnt was through Google searches

wheat mesa
#

My Java course last year started with binary numbers and ended on basic array methods. Whereas it took me a few weeks to get through those things by using Google myself

rose warren
#

And I've been doing websites since Stackoverflow was released šŸ˜‚

boreal iron
#

Indeed…