#development

1 messages · Page 878 of 1

earnest phoenix
#

Thanks

fallow quiver
#

np

sudden geyser
#

@fallow quiver are you using Discord.js v12.

fallow quiver
#

Should Be The Latest, How Do I get the ver

sudden geyser
#

You get the version by checking your package.json

fallow quiver
#

I found that the error had to do with the delay argument in message.delete()

#

But It was working a few days ago

#

is message.delete(2000) the wrong way to pass the augument?

lyric mountain
#

@topaz sphinx better to format with sql-type codeblock

SELECT %I_refresh 
  FROM users.ratelimits 
  WHERE user_id = $2
#

anyway, that query is wrong

#

you can't SELECT * FROM users.ratelimits

#

it'd be

SELECT ratelimits
FROM `users`
WHERE user_id = $2
#

I'm considering that ratelimits is a column present in "users" table, and you need to filter based on user_id

#

right?

earnest phoenix
#

Is this the proper way in node.js to make an embed?

` const exampleEmbed = new Discord.MessageEmbed()
.setTitle('Some title')
.setDescription('Description after the edit');

message.edit(embed); `

lyric mountain
#

have you tried?

earnest phoenix
#

I'm trying to help my friend

#

So

#

I mean I can't really test anything out myself

fallow quiver
#

why message.edit() and not message.send()

queen violet
#

why not just go on and run it on vscode or whatever

lyric mountain
trim saddle
#
let amiibo
const send = amiibo.name
// after some if statements...
amiibo = {name: "hi"}
ctx.send(send) // would amiibo be redefined to the object or would i have to put send after it got redefined?
queen violet
#

the fuck do you mean

trim saddle
#

will amiibo send as undefined or hi

queen violet
#

isnt let a constant in js?

mossy vine
#

dep what the fuck

lyric mountain
#

let is a variable

#

jsut like var

trim saddle
#

let variable
variable: undefined

queen violet
#

oh so were just making different names for the same thing now

#

because were ecmascript

mossy vine
queen violet
#

i just assumed thats what let was cause logic

#

guess not

earnest phoenix
#

At first

queen violet
#

@trim saddle im pretty sure primitives will be copied once you assign them to a variable in js

earnest phoenix
#

Ping me when you guys have a correct response, lol idk who to listen to rn

queen violet
#

@earnest phoenix the guy who told you to try and see

mossy vine
#

dep idk what a primitive is but look at my screenshot

trim saddle
#

you know what

proper mist
#

how do you create an embed where when you type in *help it replies with an embed

trim saddle
#

if i set amiibo via function

queen violet
#

anything that can be allocated in the stack is a primitive

trim saddle
#

then that would make it a lot easier

proper mist
#

uh

queen violet
#

consts are primitive

proper mist
#

idk

copper cradle
#

@queen violet they're different, let doesn't get hoisted at runtime, while var does

#

so doing this works

proper mist
#

how do you create an embed where when you type in *help it replies with an embed

copper cradle
#
console.log(x); //undefined
var x = 4;

But this doesn't

console.log(x); //ReferenceError: x is not defined
let x = 4;
queen violet
#

right so like whats the point of this

#

thats just bad code

copper cradle
#

blame es

proper mist
#

how do you create an embed where when you type in *help it replies with an embed

copper cradle
#

what happens with var is the following

mossy vine
#

@queen violet var is hoisted

proper mist
mossy vine
#

var and function definitions get hoisted to the top of the file when executing basically

queen violet
#

but
why

copper cradle
#
//the code you write
console.log(x);
var x = 4;
//what node does
var x;
console.log(x);
x = 4;
#

that's why it doesn't error

#

and that's why they added let

#

var should be removed or remade

#

the problem is

#

a lot of old code would break

white glade
#

Hello
why my commands with spaces cant work but single without spaces work fine

const args = message.content.slice(config.prefix.length).trim().split(/ +/g);
   const command = args.shift().toLowerCase();

it correct ?

queen violet
#

whatever code uses this hoisting deserves to break

copper cradle
#

yeah lol

proper mist
#

i'm trying to create and embed where I say *help and it replies with and embed so what do I do to change this

const exampleEmbed = new Discord.MessageEmbed()
    .setTitle('Some title')
    .setDescription('Description after the edit');

message.edit(embed);
#

what do i do here so when i type *help it replies with an embed

queen violet
#

@white glade your command name is being split over the two arguments cause it has a space

trim saddle
#

ha imagine not using raw embeds

copper cradle
#

uh

proper mist
#

what is a raw embed

amber fractal
#

using raw JSON data

queen violet
copper cradle
#

{ embed: { title: "this" } }

proper mist
#

idk

#

i'm new with coding

copper cradle
#

you're not using js codeblocks

white glade
#

you are our shine heroes guys 🙂

queen violet
#

my statically typed ass prefers the non json option tbh

amber fractal
queen violet
#

does anyone have a map of shortcodes (:joy :) to unicode

proper mist
#

but how do you type a command which replies

#

pls

#

:(

queen violet
#

you can try things and look online instead of expecting to be spoonfeed

#

you didnt even describe what your problem is

proper mist
#

i've been looking though

amber fractal
queen violet
#

looks good

#

ty

white glade
#

hey i find solution for my 'arguments with space' problem
but it looks its work only for one command
its posible to make work it global in my commands folder?

true ravine
#

If you put it at the start of your message event then pass it to all your commands that should work

queen violet
#

your command handler should be global by default?

true ravine
#

Would you guys say its worth switching to Eris to keep RAM usage down? I know it has full API coverage like Djs (which I use atm) and I don't want to upgrade my VPS yet

#

I only have like 50k users and ram usage is 60% but I've been gaining users/servers pretty quickly since everyone is home

#

Just wondered what people think

amber fractal
#

I had more users than that and didn't even use a gig

true ravine
#

My current server only has 1gb tho

#

So it's using about 600mb

amber fractal
#

ah

true ravine
#

I looked through the docs and it doesn't look too much more complicated (my bot is my first ever experience of javascript so I'm new to it)

#

But I'm not sure if it's worth the switch

amber fractal
#

You'll need to do a lot of recoding

#

you can try out tim's lib which gives d.js a good decrease in memory usage

true ravine
#

Oh is that publicly available?

amber fractal
true ravine
#

Oh thanks

amber fractal
#

you'll have to see if it's for you though

true ravine
#

Yeah I'll look through it

#

Thank you

topaz sphinx
#

@lyric mountain someone actually responded to the query issue earlier with quite a large response

#

i needed that reference

#

so their solution went by this

#
  EXECUTE format('SELECT %I, %I_refresh 
                  FROM users.ratelimits
                  WHERE user_id = $1', 
                  _name, _name)
  USING __user_id
  INTO ratelimit, reset_timeout;
#

which is quite clean

golden condor
#

How can i access a local host db on my server on my host pc (different networks) - Using mongodb

trim saddle
#

@mossy vine i am in needum of more helpum

let choice = await ctx.awaitMessages(msg => availible.includes(msg.content), { time: 10000, maxMatches: 1 }) // []
                let thing = choice.length === 1 ? parseInt(choice[0])-1 : undefined
                if (thing) {
                    em = setEm(amiibo[choice]) // embed
                    m.delete() // message
                    ctx.send(em)
                }
                else return ctx.send("Looks like you didn't respond in time.") // even there is a response from choice, i always end up here
earnest phoenix
#

wait

#

do you combine js with py

#

what

trim saddle
#

uhh

#

ctx is my own context

#

and i did it because i'm used to py

earnest phoenix
#

so you made an own api for your bot-

trim saddle
#

no, i just made a class for it

earnest phoenix
#

alright uuh

west raptor
#

python is the only language to use the variable name ctx

#

correct

earnest phoenix
#

you could try if (thing != undefined)

amber fractal
#

it's just a variable

#

try

#

choice.first()

#

as it returns a collection I believe

#

not an array

west raptor
#

i think his if statement isnt being run at all

amber fractal
#

it's a Collection<Snowflake, Message>

west raptor
#

// even there is a response from choice, i always end up here

amber fractal
#

well choice.length is undefined

#

as it extends map

#

I think it's size

#

choice.size

trim saddle
#

wait i see an issue

#

choice is NaN

west raptor
#

this is why i hate untyped languages

amber fractal
#

you can make yours work if you do choice = Array.from(choice.values())

#

if you really want to use an array over the collection

trim saddle
#

choice is an array of objects

amber fractal
#

well awaitMessages returns a collection

trim saddle
#

this isn't d.js

amber fractal
#

wait

#

wot

#

what is it eris?

trim saddle
#

something from eris-additions

amber fractal
#

gimme a sec

#

shoulda told me 😢

trim saddle
#

sowwy

green kestrel
#

python is the only language to use the variable name ctx
@west raptor nope you can call a variable whatever you want, generally SSL code in C or C++ will use a var called CTX

amber fractal
#

I believe it was sarcasm

trim saddle
#

also canvas uses ctx

green kestrel
#

It's short for context usuly so it fits anywhere in any context... Pun intended.

#

Yup

topaz fjord
#

ctx = context

#

big brain

west raptor
#

@green kestrel i have an iq higher than 1

topaz fjord
#

@west raptor untyped languages are annoying

#

I agree

green kestrel
#

You can have an IQ of 200 and make that assumption, saying something is specific to python doesn't make you dumb

west raptor
#

it was sarcasm anyways

#

i forgot that doesnt exist here

green kestrel
#

It doesn't? Really? 😂

west raptor
#

you continue to prove my point

green kestrel
#

Nah just need a sarcasm upgrade to British level

trim saddle
#

did y'all forget about my problem

amber fractal
green kestrel
#

Hmm

amber fractal
#

but I don't believe that's your issue either

earnest phoenix
#

You can use Number("somestring") too

#

it returns nan if the string cant be converted to an int

green kestrel
#

There's another trick I like to use, it might not be good for you: let guaranteed_numeric = anyvar + 0.0;

quartz kindle
#

what is the issue even?

amber fractal
#

It's easier to use true/false as their already booleans

trim saddle
#

@amber fractal what if i sent the rest of the code

amber fractal
#

if you want to

trim saddle
#
if (amiibo.length > 1) {
            let availible = [], options = []
            amiibo.forEach((v, i) => {
               options.push(`\`${i+1}.\` ${v.amiiboSeries}`)
               availible.push(String(i+1))
            })
            ctx.send(`Looks like there's multiple entries for this amiibo, please choose one.\n\n${options.join('\n')}`)
            .then(async m => {
                let choice = await ctx.awaitMessages(msg => availible.includes(msg.content), { time: 10000, maxMatches: 1 })
                let thing = choice.size ? parseInt(choice[0])-1 : undefined
                console.log(thing)
                if (thing != undefined) {
                    console.log(amiibo[choice])
                    em = setEm(amiibo[choice])
                    m.delete()
                    ctx.send(em)
                }
                else return ctx.send("Looks like you didn't respond in time.")
                
            })
quartz kindle
#

@green kestrel that only works with - * / in js, not with + lmao

earnest phoenix
#

if (!Number("1")) {console.log("A")} else {console.log("B")} // b

amber fractal
#

Yes, but that uses more memory because it has to be converted to a boolean

earnest phoenix
#

alr

green kestrel
#

Yeah I said might, it'll concatenate your strings 😁

amber fractal
#

a tiny amount of memory, but memory nonetheless

#

isNaN() exists for a reason

earnest phoenix
#

Like if you worry about small bytes of memory bruh

amber fractal
#

any good programmer does

west raptor
#

that memory adds up over time

trim saddle
earnest phoenix
#

._.

amber fractal
#

@trim saddle it's an array of messages right?

trim saddle
#

if a message is returned in time yes

amber fractal
#

shouldn't it be choice[0].content then?

#

when parsing

#

also you had it right

#

I thought you were on d.js

#

choice.length was right

trim saddle
#

so

#

ohhhhh.

digital ibex
#

hi, when i am trying to connect to mongoose, why do i get this error?

#

does anyone know?

amber fractal
#

is your mongo server running?

trim saddle
#

you don't have a server set up for mongo

#

this is kinda why i don't like js errors

digital ibex
#

i'm using localhost

#

if that means something

#

idk

amber fractal
#

you need to set up a mongo server

#

are you on windows or linux

trim saddle
#

you need to have a mongo server running

digital ibex
#

windows

amber fractal
#

then it's easy

digital ibex
#

how do i do that?

#

oh

amber fractal
#

well it's easy regardless lol

digital ibex
#

um

#

how would i do it then?

amber fractal
#

should work

#

it will bring you to atlas after, don't worry about it

digital ibex
#

i'm not using atlas

#

im using localhost

amber fractal
#

I said don't worry about it

digital ibex
#

¯_(ツ)_/¯

#

okay

amber fractal
#

It just tries to get you to sign up

#

you won't need to

digital ibex
#

i've already got an atlas account

#

btw

amber fractal
#

@trim saddle did it get working?

trim saddle
#

so uhh

#

lemme test one more time

digital ibex
#

ok, its finished downloading

#

what do i do now?

amber fractal
#

run the msi, you might need to restart after you run it I don't think so tho

digital ibex
#

msi?

amber fractal
#

it's the microsoft installer

trim saddle
#

AYYY!

amber fractal
#

the thing you just downloaded

digital ibex
#

oh

amber fractal
#

mongo.msi whatever it was

trim saddle
#

thanks steve from minecraft!

amber fractal
#

ye

#

If you want to use it from a separate pc you'd need to open your firewall, but because it's local you won't need to, just considerations for the future.

buoyant totem
#

How do you send a custom emoji in the title of an ember (after the message) so for example: Title👀 How would I add the 👀

earnest phoenix
#

Custom emoji or default emoji like 😄

buoyant totem
#

Custom

#

I've got the id of the emoji

#

But unsure what to do with it

earnest phoenix
#

i think the variable for that is client.emojis.find(f => f.id=="id of emoji").first()

#

Im not sure so if that doesnt work @ me

buoyant totem
#

Ok

#

Wait where would I put that @earnest phoenix

#

I can show you the code to make it clearer

earnest phoenix
#

in the embed title

#

.setTitle(Some text and then ${client.emojis.find(f => f.id=="id of emoji").first()})

buoyant totem
#

Im not using that kind of embed tho?

earnest phoenix
#

wat

buoyant totem
#
case "loot":
            message.channel.send({embed: {
                color: 3447003,
                title: "Shatters Loot Tracker",
                fields: [
                  { name: "The Forgotten Sentinel Whites", value: SenitelWhites},
                  { name: "Twilight Archmage Whites", value: ArchmageWhites},
                  { name: "The Forgotten King Whites", value: ForgottenWhites},
                  { name: "Total White Bags", value: Totalwhitebags},
                ]   
            }
            });
            break;
earnest phoenix
#

wh a t

#

okay

buoyant totem
#

Dont know why it got so screwed when I wrote it here

pallid marsh
#

hey i used lavalink for my music bot and im trying to play music, now on my pc its working, but on my vps its not and its giving me back this error:

0|npm  | Caused by: java.lang.RuntimeException: java.io.IOException: Invalid status code for video page response: 429
0|npm  |        at com.sedmelluq.discord.lavaplayer.source.youtube.DefaultYoutubeTrackDetailsLoader.loadDetails(DefaultYoutubeTrackDetailsLoader.java:28) ~[lavaplayer-1.3.38.jar!/:na]
0|npm  |        at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioTrack.loadBestFormatWithUrl(YoutubeAudioTrack.java:75) ~[lavaplayer-1.3.38.jar!/:na]
0|npm  |        at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioTrack.process(YoutubeAudioTrack.java:42) ~[lavaplayer-1.3.38.jar!/:na]
0|npm  |        at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:91) ~[lavaplayer-1.3.38.jar!/:na]
0|npm  |        ... 4 common frames omitted
0|npm  | Caused by: java.io.IOException: Invalid status code for video page response: 429
0|npm  |        at com.sedmelluq.discord.lavaplayer.source.youtube.DefaultYoutubeTrackDetailsLoader.load(DefaultYoutubeTrackDetailsLoader.java:39) ~[lavaplayer-1.3.38.jar!/:na]
0|npm  |        at com.sedmelluq.discord.lavaplayer.source.youtube.DefaultYoutubeTrackDetailsLoader.loadDetails(DefaultYoutubeTrackDetailsLoader.java:26) ~[lavaplayer-1.3.38.jar!/:na]
sudden geyser
#

you are being rate limited

pallid marsh
#

ik

#

but why

#

i left the vps for like a day

#

and came back

earnest phoenix
#

replace your title: "Shatters Loot Tracker", line with ```js
title: Some text and then ${client.emojis.find(f => f.id=="id of emoji").first()},

pallid marsh
#

and its still like that

buoyant totem
#

Like I want to add the emoji before name: "The Forgotten King Whites (emoji here)"

#

Ok

#

Ill try that

earnest phoenix
#

that will place the emoji in the title of the embed

buoyant totem
#

Except I dont want it in the title

#

I want it in the name

earnest phoenix
#

if you want it somewhere else, just change the " quotes to ` and place ```js
${client.emojis.find(f => f.id=="id of emoji")}

buoyant totem
#

Ok

#

Ill try that

earnest phoenix
#

doesn't find return 1 result

#

not a collection

#

so you won't have to use first()

#

i

#

am

#

stupid

#

sorry

#

its late at night and my brain is literal doodoo

buoyant totem
#

Huh?

#

So what would I do instead

earnest phoenix
#

remove the .first() at the end

buoyant totem
#

soo..

earnest phoenix
#

then it should work

buoyant totem
#
{ name: ("The Forgotten King Whites", ${client.emojis.find(f => f.id=="id of emoji")}), value: ForgottenWhites},
#

Something like that?

earnest phoenix
#

w h a t

#

no

buoyant totem
#

IDK

#

Where do I put it then

#

Like where in this

#
{ name: "The Forgotten King Whites", value: ForgottenWhites},
#

Do I put it

earnest phoenix
#
{ name: `The Forgotten King Whites ${client.emojis.find(f => f.id=="id of emoji")}`, value: ForgottenWhites},
buoyant totem
#

Ahhhh

#

Ill try that

#

Got an error "client is not defined"

#

Nvm im stupid

#

Forgot the id

#

Dont laugh at me!

earnest phoenix
#

wait

sudden geyser
#

or you could just use .get

tired cloud
#

or hard code it

earnest phoenix
#

@buoyant totem what did you define your discord client to

tired cloud
#

<:eaa:34234432>

buoyant totem
#

bot

#

Shush

#

I saw

#

My bad

earnest phoenix
#

bruh

buoyant totem
#

SHHHH

#

new error however

#

"bot.emojis.find is not a function"

#

@earnest phoenix

#

Also I wanna point something out

earnest phoenix
#

what version of discord.js are you using

buoyant totem
#

I know exactly where your profile pic is from lmao

#

It's when he says "That is a fcking alarm clock"

#

Right?

earnest phoenix
#

10/10

#

michael reeves is god

buoyant totem
#

Lmao

#

I love him ahaha

#

Where do I check my version? Still quite new to discord.js

#

found it I think

#

^12.2.0

earnest phoenix
#

okay

#

so wait

#

lemme look into docs

buoyant totem
#

Alright

#

Tysm for helping me 😄

sudden geyser
#

If you're on Discord.js v12, it'd be .cache.find

earnest phoenix
#

or .emojis.resolve

#

i think that exists too

sudden geyser
#

If you have the ID, it's better you use .get

earnest phoenix
#

emoji cache isnt complete, so resolve is safer

buoyant totem
#

Uhh

#

So cache.get?

earnest phoenix
#

client.emojis.resolve("id")

buoyant totem
#

Ok ill try that

sudden geyser
#

What do you mean it's not complete?

buoyant totem
#

WORKS

#

Ty bud

earnest phoenix
#

@sudden geyser discord.js doesnt cache all emojis

#

so if the emoji you want isnt in the cache, .cache.get doesnt work

trim saddle
#

@amber fractal so there's a new issue noe

buoyant totem
#

ok

earnest phoenix
#

.resolve however fetches the emoji and no cache is required

sudden geyser
#

resolve just checks the cache for its ID or instance.

amber fractal
#

which is?

earnest phoenix
#

wait lemme search something

trim saddle
#

when the user response is one

#

it goes to else

hidden canopy
#

How does one get a "Bot Developer" role MegaThonk

sudden geyser
#

By submitting a bot and getting it approved.

earnest phoenix
#

You submit a bot and get it approved, also #general

trim saddle
#

@amber fractal oi come back

hidden canopy
#

that would make sense

amber fractal
#

But Im in game

hidden canopy
#

and yes, my bad @earnest phoenix

earnest phoenix
#

np

trim saddle
#

oh i gues i cam wait

amber fractal
#

sorz

amber fractal
#

@trim saddle hi

trim saddle
#

hi

amber fractal
#

what u need

#

o I know

#

0 in js evaluates to fallse because js is dumb

#

1 - 1 = 0 so

#

you'll need to 0 check too

#

add || choice == 0

trim saddle
#

oh ok

amber fractal
#

js big dumb on that

#

mb

#

use triple equals

#

because false == 0 is true but false === 0 is false

trim saddle
#

double equals worked

amber fractal
#

oh ok

buoyant totem
#

How would I make the bot react to an embed with a custom emoji? I've gotten it to react but to my message and not its own embed

#

@earnest phoenix

mossy vine
#

an embed is part of a message

buoyant totem
#

Yeah but it reacts to my message

#

And not the bots message

mossy vine
#

after sending a message contaning the embed, await the result. it should be a message object which you can react to

buoyant totem
#

Huh

#

How would I do it codewise?

mossy vine
#

what lib are you using

buoyant totem
#

discordjs?

#

Or wdym

mossy vine
#

yeah

#

you can await a message

vestal crystal
#

ahh

#

thats ez

buoyant totem
#

Nonono thats not my problem

vestal crystal
#

What cyber said

mossy vine
#

then what is

buoyant totem
#

My problem is that the bot is reacting to my message

#

I dont know how to get it to react to the embed it just sent

vestal crystal
#

@buoyant totem you have to await the message

buoyant totem
#

I can send the code if you want

mossy vine
#

yeah, await the message you are sending and react to that one

buoyant totem
#

How would I do that?

vestal crystal
#

@buoyant totem version?

#

djs version

earnest phoenix
#

12.2.0

vestal crystal
#

oh

buoyant totem
#

^12.2.0

vestal crystal
#

Gimme a sec

mossy vine
#
message.channel.send(msg).then(m => m.react())```
#

this is if the function itself is not asnychronous

buoyant totem
#

uh....

earnest phoenix
#

m.react() takes an emoji as parameter, so the client.emojis.resolve still applies

#

i think

buoyant totem
#

Now im even more confused

mossy vine
#

i literally gave u the cose 😩

earnest phoenix
#

basicially, you promise a message.channel.send

buoyant totem
#

I promise what

#

Marriage?

earnest phoenix
#

what

#

the

buoyant totem
#

Idk

mossy vine
#

you dont promise shit, the function returns a promise

buoyant totem
#

Boi im new to node and discord.js

earnest phoenix
#

well

mossy vine
#

then learn smh

#

google javascript promises

buoyant totem
#

Im trying to.. 😭

mossy vine
#

browse d.js docs

earnest phoenix
#

Basicially, ```js
(send your message).then(sentmsg => {sentmsg.react(emoji)})

vestal crystal
#

await m.react('')```
mossy vine
#

specifically the part about message sending

earnest phoenix
#

he doesnt use async rn

vestal crystal
#

uh

mossy vine
#

@vestal crystal 0 need to await react

buoyant totem
#

But its not a message!

#

Its an embed

earnest phoenix
#

embed = message

buoyant totem
#

Ah

mossy vine
#

an embed is part of a message

vestal crystal
#

lol

#

try your code b4 you ask

mossy vine
#

when you are sending an embed, under the hood d.js is sending a message without text and with an embed

#

@vestal crystal there was no code to begin with lmaoo

vestal crystal
#

i meant the code you and i gave him

buoyant totem
#

And if its a custom emoji?

serene cliff
#

which one is adviceable when restarting a bot with a command..

client destroy and call login or exec pm2 restart?

earnest phoenix
#

client.destroy and then login

vestal crystal
#

<:emoojiname:id>

mossy vine
#

@buoyant totem you said you already got that working just do it the same way

serene cliff
#

ty

buoyant totem
#

But that was a message in the embed

vestal crystal
#

Jesus

mossy vine
#

ok you are making zero sense

#

for reference that is the number of brain cells i will have left after this conversation

buoyant totem
#

Stop bullying me 😭

vestal crystal
#

@mossy vine lol

earnest phoenix
#

@buoyant totem message.react takes a emoji as parameter, so just message.react(client.emojis.resolve("id"))

mossy vine
#

doesnt d.js resolve it anyways

vestal crystal
#

WHY NOT

earnest phoenix
#

i think it does

mossy vine
#

then no need for that

vestal crystal
#

m.react('<:emojiname:emojiid>')

earnest phoenix
#

because that would not work

vestal crystal
#

![ytho](https://cdn.discordapp.com/emojis/588492551577796615.webp?size=128 "ytho")

earnest phoenix
#

because its not a id or a emoji

#

its just a string

vestal crystal
#

@earnest phoenix it does for me

earnest phoenix
#

wait what

vestal crystal
#

im on v11.6.4 tho

mossy vine
topaz fjord
#

it works

#

that's how they get sent to discord afaik

buoyant totem
#

Still reacts to my message..

vestal crystal
#

told ya

#

@buoyant totem Can you show your code?

#

full code

buoyant totem
#

Sure

mossy vine
#

only the relevant parts of the code tho

vestal crystal
#

^

buoyant totem
#
switch (args[0]) {
        case "fk":
            message.channel.send({embed: {
                color: 3447003,
                title: "The Forgotten King Loot",
                fields: [
                    {value: "React with the bag you want to see what loot you've gotten from that bag!"},
                ]
            }
        }).then(message.react(bot.emojis.resolve("701160044892258376")));
        break;
    break;
vestal crystal
#

🤦🏽‍♂️

mossy vine
#

.then(m => m.react())

vestal crystal
#

m => m.react

buoyant totem
#

what does m stand for?

mossy vine
#

that way you are reacting to the promised message, not the original

buoyant totem
#

just message

vestal crystal
#

message

mossy vine
#

its just a variable

buoyant totem
#

ah ok

mossy vine
#

you can call it whateevr

#

if you want to call it thisIsACoolVariable you can but then call thisIsACoolVariable.react()

vestal crystal
#

a cmd handler is much better tho

#

easier to customize

buoyant totem
#

Works

mossy vine
#

thats for args tho???

buoyant totem
#

Ty 😄

earnest phoenix
#

:))

buoyant totem
#

And sorry for being a pain in the ass

#

People tend to say that ._.

vestal crystal
#

lol

earnest phoenix
#

You arent, we understand you are new

buoyant totem
#

Ty lads

mossy vine
#

i suggest you learn a bit about promises and arrow functions so you can understand what you just did a bit better

buoyant totem
#

Ok

vestal crystal
#

yeah

earnest phoenix
#

^

buoyant totem
#

Now how do I hack into nasa?

#

Im OBVIOUSLY joking

mossy vine
#

nasa.hack()

vestal crystal
#

you could join the djs support server

buoyant totem
#

Ah

mossy vine
#

lmao no dont

earnest phoenix
#

nasa.hack()
@mossy vine HOW DID YOU KNOW

#

THIS IS FORBIDDEN TECH

mossy vine
#

its a shit place

#

dont join

vestal crystal
#

nasa.client.destroy()

earnest phoenix
#

oh shit

#

you know

vestal crystal
#

lol

#

ik everything

#

jk

earnest phoenix
mossy vine
vestal crystal
#

yeag

sudden geyser
#

life.destroy()

earnest phoenix
#

Error: Life is null

buoyant totem
#

Ty

#

I've got one last question

vestal crystal
#

yeah?

buoyant totem
#

How would I do it if I want multiple reacts in a specific order?

mossy vine
#

await each

vestal crystal
#

^

buoyant totem
#

So just repeat it?

vestal crystal
#

yes

mossy vine
#

not exactly

vestal crystal
#

if you use async and awaut fhen yes

mossy vine
#

then yes, but with .then chaining its a bit different

buoyant totem
#

I thought this would be an easy question but now i'm more confused than when my sister found out she's adopted..

mossy vine
#

since .react returns a MessageReaction, not a message, you still need to be reacting to the message you sent earlier, instead of redifining it

raven crystal
#

Uhh

#

My bot is no go publish

#

Am waitin so much time

earnest phoenix
mossy vine
#

but its definitely easier with an async function

raven crystal
#

I just waited 10 hours

mossy vine
#

@raven crystal takes 2-3 weeks

#

not 10 hours

raven crystal
#

Wait

#

To me go 1 week

earnest phoenix
#

@raven crystal wait are you waiting for it to be approved?

raven crystal
#

My bot

#

To be approved

west spoke
mossy vine
#

did you code your bot? is it online and working?

earnest phoenix
#

Yea takes 2-3 weeks

raven crystal
#

Yes cyber

west spoke
#

did you run the code

mossy vine
#

okay yeah, then wait 2-3 weeks

raven crystal
#

Hey cyber

buoyant totem
#

So like this?

mossy vine
#

?

raven crystal
#

I make my bot with Bot Designer for discord

#

App

earnest phoenix
#

bruh

#

Considering waiting to be approved is the hardest part

buoyant totem
#
.then(m => m.react((bot.emojis.resolve("701171352555749498"))(bot.emojis.resolve("701160044892258376"))));
west spoke
earnest phoenix
#

Actual bruh Moment

mossy vine
#

k im pretty sure its gonna be declined but im not sure about the rules of using that app

earnest phoenix
#

i had faith

west spoke
#

^

buoyant totem
#

I feel heavily bullied rn

raven crystal
#

No know

#

Can work it

mossy vine
#

@buoyant totem no no no no no that is completely wrong

buoyant totem
#

You dont say..

raven crystal
#

Brb 2-3 week

west spoke
raven crystal
#

Ill stay in bedrock

earnest phoenix
#

@buoyant totem we are not bullying you at all

buoyant totem
#

My visual code crashed when I tried to run it

#

;-;

ember atlas
#

@raven crystal If you don’t need development help, dont type in this channel. Feel free to talk in #memes-and-media

earnest phoenix
#

bruh

buoyant totem
#

My pc saw it and just went "Hell no I aint taking this shit. Im going to bahamas or something"

earnest phoenix
#

@raven crystal bots made from bot makers are going to be denied just sayin

mossy vine
#

@earnest phoenix false

west spoke
#

not always

earnest phoenix
#

well unmodified ones

west spoke
#

Yea

mossy vine
#

iirc there is a certain rule that allows dbd

west spoke
#

^

mossy vine
#

but im not sure

buoyant totem
#

How would I do it then cyber

earnest phoenix
#

i only know bot ghost is allowed if it contains custom commands

balmy knoll
#

How can I wait for the link to be created before moving on?

earnest phoenix
#

link?

balmy knoll
#
var link = `https: // discord.gg /`;
          var invite = channel.createInvite ()
                      .then (invite => {link + = invite.code;})
                      .catch (Console.Error);
earnest phoenix
#

What link?

balmy knoll
#

In this code, sorry

earnest phoenix
#

Uhh

tired cloud
#

Console weirdsip

mossy vine
#

well uh there is the .then right there so..

amber fractal
#

user await instead of using .then()

buoyant totem
#

*Uh

tired cloud
#

how? just send the link

#

where you create it

mossy vine
#

@amber fractal doesnt it not matter tho

amber fractal
#

wym

buoyant totem
#

Are you talking to me?

tired cloud
#

link + = invite.code;
console.log(link)

amber fractal
#

say you have what they have

var link = `https: // discord.gg /`;
var invite = channel.createInvite()
.then (invite => {link + = invite.code;})
.catch (Console.Error);
console.log("x") 

x will log before link is added to

balmy knoll
#

@tired cloud Ok, but I need the link to use in an embed

west spoke
#

wait x seconds asynchronously?

amber fractal
#

using .then() allows code to continue to be executed

buoyant totem
#

@mossy vine How would I write it if it had several of them in a specific order?

tired cloud
#

use it there then

#

link + = invite.code;
embed blah blah

balmy knoll
#

using .then() allows code to continue to be executed
@amber fractal Yes

mossy vine
#

@buoyant totem im actually not sure if you can without using async/await

amber fractal
#

You can't that's the whole point of Promises

buoyant totem
#

How do I do that then..

amber fractal
#

using async/await

buoyant totem
#

yes

tired cloud
#
.then (invite => {
   link + = invite.code;
   message.channel.send(new Discord.RichEmbed().setDescription(link))
})
balmy knoll
#

@amber fractal I can't use await

delicate zephyr
#

using .then() allows code to continue to be executed
@amber fractal Yes
@balmy knoll correction, .then() allows code to be executed after the promise has be completed

#

.then is literally for async/await without await

amber fractal
#

no

#

Here

balmy knoll
#

I'm not using an async function

amber fractal
#

let me make the example

earnest phoenix
#

le example

#

.then(async (invite) => {
Code
}) @balmy knoll

buoyant totem
#

@mossy vine Im looking through the docs @earnest phoenix sent and I have a headache now.. Wtf does that even mean

earnest phoenix
#

I mean

buoyant totem
#

Yes you are 😦

balmy knoll
#

@tired cloud I can't send the message in then since I have to do many more checks before sending the message

earnest phoenix
#

bruh

buoyant totem
#

😉

earnest phoenix
#

you need to know a bit js before you understand these

buoyant totem
#

Ik.. I wanted to get into this since I mostly know c#

#

And I thought this was a good way to get started

#

And tbh its fun

#

But some things are just so confusing and my tiny adhd brain doesnt have the patience to read through a long docs page

earnest phoenix
#

Tbh, may i ask how old you are

buoyant totem
#

17

balmy knoll
#

@amber fractal Do you have any solution without using await?

earnest phoenix
#

alr

tired cloud
#

then use await

earnest phoenix
#

Bruh

tired cloud
#

man, you use await, or you use .then

#

no other option.

buoyant totem
#

May I ask why?

earnest phoenix
#

@balmy knoll using .then

#

@buoyant totem its like this: any person under 13 is not allowed to exist on discord

buoyant totem
#

Yes I know

#

Did you really think im under 13..

twin marsh
#

ths!ping

buoyant totem
#

Smh

earnest phoenix
twin marsh
#

oh woops

tired cloud
#

Answer is easy, await or then

buoyant totem
#

Anyways

tired cloud
#

¯_(ツ)_/¯

buoyant totem
#

How would I do it if its not the way I tried? @earnest phoenix

earnest phoenix
#

learn a bit more js

#

and then you'll understand

buoyant totem
#

Alrighty

earnest phoenix
#

experiment with stuff like modules, how you use them

#

and eventually pick up on promises

amber fractal
#

your solution would be to put all the code you want ran after in your .then() or use await

balmy knoll
#

@amber fractal Ok, but that code is not inside an async function

#

your solution would be to put all the code you want ran after in your .then () or use await
I try now

tired cloud
#

if you dont make it wait for an answer (await or then) how do you expect to get the code?

balmy knoll
#

@amber fractal Thanks. Resolved

amber fractal
#

👍

digital ibex
#

hi

#

i switched from atlas to localhost

#

and how can i create a db in mongoose?

earnest phoenix
#

localhost is like the best hosting service in the entire internet

#

0ms delay.. wow

digital ibex
#

?

earnest phoenix
#

How do they do that??2

#

i use localhost on all of my projects, its so fast EZ

#

It really is

digital ibex
#

how can i create a db for my bot?

#

like

earnest phoenix
#

you create a db

digital ibex
#

before, i just had to send a message and refresh compass

#

and it'll automatically create one

#

but for some reason its not working this way

#

with localhost, what do i do to set up my bot?

quartz kindle
#

is your bot in the same computer as mongodb?

still merlin
earnest phoenix
#

you press ctrl + c

#

which you are not supposed to do

#

also you use npm init

#

which makes a package.json and doesnt start the bot

#

also you can clearly read what you are supposed to do at this point

#

@still merlin you need to do
node . to start your project

still merlin
#

when I said to start my bot I mean begin my coding with it

earnest phoenix
#

And ctrl + c to close the process

#

Oh

#

npm init makes your package.json

#

you arent supposed to do ctrl + c

#

just let it run

still merlin
#

okay sorry

#

what happens if I press ctrl + j

earnest phoenix
#

nothing

still merlin
#

ok thanks

earnest phoenix
#

and why

#

And to store your code into a file look what you named the entry point in the package.json and name the main code file that

still merlin
earnest phoenix
#

Const

#

@still merlin

still merlin
#

ok thanks

earnest phoenix
#

no big c

#

big c = bad

still merlin
#

I'm so stupid oof

earnest phoenix
#

how can i see if a channel is dm

#

?

#

channel.type

twilit rapids
#

what lib

earnest phoenix
#

discord js

#

v11

#

channel.type

twilit rapids
#

check if channel.type is "dm"

earnest phoenix
#

if(channel.type === dm) ?

twilit rapids
#

"dm"

earnest phoenix
#

ok

#

thanks!

#

how can i check if a users id is in a db table?

buoyant totem
#

How does awaitreactions work? whenever I react nothing happens and I dont get any errors

#

Been trying to do it now for over an hour..

#

This is how it looks atm

#
switch (args[0]) {
        case "fk":
            message.channel.send({embed: {
                color: 3447003,
                title: "The Forgotten King Loot",
                fields: [
                    {value: "React with the bag you want to see what loot you've gotten from that bag!"},
                ]
            }
        }).then(m => {
            m.react('701171382381314128')
            m.react('701171341717405717')
            m.react('701171352555749498')
            m.react('701171373032079390')
            m.react('701171390010622012')
            m.react('701160044892258376')
         });

         message.awaitReactions((reaction, user) => user.id == message.author.id && (reaction.emoji.name == '701171382381314128' || reaction.emoji.name == '701171341717405717' 
         || reaction.emoji.name == '701171352555749498'),
         {max: 1, time: 30000}).then(collected => {
             if (collected.first().emoji.name == '701171382381314128') {
                 message.reply('Ok');
             }
         })
        break;
    break;
#

But the bot doesnt reply with anything. I tested with just one of the emotes with no success what so ever

earnest phoenix
#

maybe because

#

@buoyant totem

buoyant totem
#

?

#

It's a custom emoji

#

So it doesnt have a name?

earnest phoenix
#

i guess the name isnt its id

buoyant totem
#

wdym

#

That's the id

earnest phoenix
#

jfhgdkjfjklaj

#

you say

#

if the emoji's name is 701171382381314128, reply with Ok

buoyant totem
#

mhm..

earnest phoenix
#

it should be
if the emoji's ID is 701171382381314128, reply with Ok

buoyant totem
#

ah ok

#

Still nothing

#

@earnest phoenix

earnest phoenix
#

did u restart ur bot

buoyant totem
#

Yup

#

Always

#

Just got a massive error..

#

"Cannot read property 'emoji' of undefined"

earnest phoenix
#

wait what

buoyant totem
#

Welcome to my world

#

Been struggling with this for over 1 and a half hours now

earnest phoenix
#

how can i check if a users id is in a db table?

buoyant totem
#

Si

earnest phoenix
#

hm

buoyant totem
#

hmm indeed

#

I just wanna be done with this so I can go to bed lmao. I actually have a headache now :/

earnest phoenix
#

idk

#

sorry :(

buoyant totem
#

😦

#

wait

#

Does this tell you anything

#

@earnest phoenix

#

"Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was
not handled with .catch()."

#

It's part of the error

earnest phoenix
#

you managed to show everything but the actual error

buoyant totem
#

Was that the error?

earnest phoenix
#

no

buoyant totem
#

oh

earnest phoenix
#

the text above it

#

what is it

buoyant totem
#

This is all of it

earnest phoenix
#

w h a t

buoyant totem
#

"(node:16144) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'emoji' of undefined
at D:\Aa Loot Tracker Bot\index.js:63:35
(node:16144) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was
not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:16144) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code."

earnest phoenix
#

thank you

#

appearently discord likes to mess around with their own functions

buoyant totem
#

Ok?

#

So what's the solution to it?

earnest phoenix
#

idk

buoyant totem
#

Alright

#

Ill get an aspirin and ill brb

#

wait

#

Does awaitreactions need to be in an async?

#

@earnest phoenix

earnest phoenix
#

dont think so

buoyant totem
#

hmm

#

I wanna cry 😦

#

Any idea what it could be?

#

@earnest phoenix

earnest phoenix
#

no

spare goblet
#

@buoyant totem show your code
you're trying to get emoji property from something undefined

buoyant totem
#

Ok 1 sec

sudden geyser
#

I assume the collection ended with no items collected.

buoyant totem
#
switch (args[0]) {
        case "fk":
            message.channel.send({embed: {
                color: 3447003,
                title: "The Forgotten King Loot",
                fields: [
                    {value: "React with the bag you want to see what loot you've gotten from that bag!"},
                ]
            }
        }).then(m => {
            m.react('701171382381314128')
            m.react('701171341717405717')
            m.react('701171352555749498')
            m.react('701171373032079390')
            m.react('701171390010622012')
            m.react('701160044892258376')
         });

         message.awaitReactions((reaction, user) => user.id == message.author.id && (reaction.emoji.id == '701171382381314128' || reaction.emoji.id == '701171341717405717' 
         || reaction.emoji.id == '701171352555749498'),
         {max: 1, time: 30000}).then(collected => {
             if (collected.first().emoji.id == '701171382381314128') {
                 message.reply('Ok');
             }
         })
        break;
    break;
sudden geyser
#

What line is the error occurring from according to the error message (as in the single line code)?

buoyant totem
#

63 I think

#

Cannot read property 'emoji' of undefined
at D:\Aa Loot Tracker Bot\index.js:63:35

amber fractal
#

that doesnt help

#

we don't hgave the full code

buoyant totem
#

oh right

amber fractal
#

63 means nothing to us in this context

sudden geyser
#

as in can you show the line of code

buoyant totem
#

mb

#
 if (collected.first().emoji.id == '701171382381314128') {
sudden geyser
#

yeah so no items were collected

buoyant totem
#

ok

#

And how would I solve that

quartz kindle
#

discord.js v11 or v12?

buoyant totem
#

12

sudden geyser
#

Are you sure those IDs are correct

buoyant totem
#

Yes

sudden geyser
#

I tried with only one ID and it worked

buoyant totem
#

I've double checked several times

#

All id's are correct

#

Any idea what the problem could be

indigo folio
#

in d.js, is there a value or function to see if a message is sendable in a channel?

#

for instance, i can give a bot the Send Messages permission personally, but revoke it in a specific channel and run a command there, which renders message.guild.me.hasPermission('SEND_MESSAGES') useless

buoyant totem
#

Im so done with this...

#

I found the problem

sudden geyser
#

what was it?

quartz kindle
#

for guild channels you can use channel.permissionsFor(client.user.id).has("SEND_MESSAGES")

buoyant totem
#

It checked reactions on MY message... not the embed

#

so when I type !fk

#

It checks that..

#

Not the embed

indigo folio
#

@quartz kindle thanks

buoyant totem
#

How would I change it to the embed instead?

quartz kindle
#

either .then or await

buoyant totem
#

Huh?

quartz kindle
#

you can m.awaitReactions() after the m.reacts in that block

buoyant totem
#

Ah ok

quartz kindle
#

also, your reactions may be in the wrong order, idk if that matters to you

buoyant totem
#

No they're in the right order?

quartz kindle
#

they may be

buoyant totem
#

Also

#

It still only checks on my message

#

Not the embed

quartz kindle
#

show code

buoyant totem
#

Its chaotic at the moment Ik

#
switch (args[0]) {
        case "fk":
            message.channel.send({embed: {
                color: 3447003,
                title: "The Forgotten King Loot",
                fields: [
                    {value: "React with the bag you want to see what loot you've gotten from that bag!"},
                ]
            }
        }).then(m => {
            m.react('701171382381314128')
            m.react('701171341717405717')
            m.react('701171352555749498')
            m.react('701171373032079390')
            m.react('701171390010622012')
            m.react('701160044892258376')


            message.awaitReactions((reaction, user) => user.id == message.author.id && (reaction.emoji.id == '701171382381314128' || reaction.emoji.id == '701171341717405717' 
         || reaction.emoji.id == '701171352555749498' || reaction.emoji.id == '701171373032079390' || reaction.emoji.id == '701171390010622012' 
         || reaction.emoji.id == '701171390010622012'),
         {max: 1, time: 30000}).then(collected => {
             if (collected.first().emoji.id == '701171382381314128') {
                 message.reply('Purple Bag');
             }
             if (collected.first().emoji.id == '701171341717405717') {
                 message.reply('Cyan Bag');
             }
             if (collected.first().emoji.id == '701171352555749498') {
                message.reply('Blue Bag');
            }
            if (collected.first().emoji.id == '701171373032079390') {
                message.reply('Orange Bag');
            }
            if (collected.first().emoji.id == '701171390010622012') {
                message.reply('Red Bag');
            }
            if (collected.first().emoji.id == '701160044892258376') {
                message.reply('White Bag');
            }
         });
#

I'm gonna clean it up as soon as I figure this out

quartz kindle
#

you still have message.awaitReactions

#

message is your message

#

m is the new message

buoyant totem
#

Ah

#

Works!

queen violet
#

can someone help me gradle is being retarded

buoyant totem
#

Whenever I delete a message after reacting to it I get the error "(node:15228) UnhandledPromiseRejectionWarning: DiscordAPIError: Unknown Message"

#

I think its because its still trying to access something that was deleted

#

But how would I bypass this

queen violet
#

just handle the promise

#

or ignore it its a warning

buoyant totem
#

Ah ok

queen violet
#

the order in which js does promises is one of the mysteries of life

quartz kindle
#

it does exactly as it is told :^)

queen violet
#

unlike java in my screenshot

#

anybody know what the fuck is it doing

indigo folio
#

how are js promises a mystery

queen violet
#

the ordering has a bunch of annoying rules

#

since node is single threaded

topaz fjord
#

@queen violet wut is that error

#

it isn't english

lyric mountain
#

@queen violet java?

quartz kindle
#

"unable to locate or load the main class com.gamesrob.GamesROB"

lyric mountain
#

Check your main class path in build.gradle

queen violet
#

look at the left of the screenshot

#

the files are literally right there

#

the main class path is right

lyric mountain
#

Too low resolution

#

Can't read it at all lol

queen violet
#

have a screenshot of the screenshot

lyric mountain
#

Is that intellij?

queen violet
#

yes

lyric mountain
#

Mark java folder as sources folder

#

Right click -> mark as

queen violet
#

mano isso ai é o resultado do build

lyric mountain
#

Ah

queen violet
#

to mostrando q tá la o coiso

lyric mountain
#

English

quartz kindle
#

kkkkk

queen violet
#

english é coiso de viado

lyric mountain
#

Try to clean build

#

Then build again

#

If anything else, try to refresh gradle

queen violet
#

deu na mesma

lyric mountain
#

Weird

queen violet
#

vai fica no chat bilingue mesmo kk

lyric mountain
#

Mods will warn if I speak portuguese here, so...

queen violet
#

im pretty sure its fine

#

people were doing turkish here a couple times

quartz kindle
#

e nós temos cert :^)

queen violet
#

pse

#

regra geral: cert nao leva mute

quartz kindle
#

lmao

queen violet
#

invalidei todo meu cache

#

acho q n vai faze nada mas vamo la

lyric mountain
#

N tem logica esse erro

queen violet
#

entao

#

eu ate peguei o comando e taquei no console

#

deu a mesma

lyric mountain
#

Cara

#

Achei o erro

#

Eu acho

queen violet
#

prossiga

lyric mountain
#

Ah n

queen violet
#

mano to quase deletando a porra toda e clonando do git

#

q merda de bug é esse

lyric mountain
#

Vc ta definindo certo o caminho no gradle?

queen violet
#

ss

lyric mountain
#

Ah pera

#

N é possível

#

Tenta o seguinte

#

Coloca main.com.gamesrob.GamesROB

#

Vê se vai

#

Pq o root das classes é a pasta java

#

Ou tenta isso com.gamesrob/GamesROB

queen violet
#

sera que é isso

#

q caralhos de plugin coloca manifesto

lyric mountain
#

Kkkk q

#

Tenta a minha segunda sugestão

queen violet
#

troca o javamainclass n ta mudando mais nada por alguma razao q so o diabo sabe

lyric mountain
#

Então man...

#

Tira saporra

#

Kkkkk

#

Coloca direto no application

#

Apaga o bloco ext

#

É uma string de td modo

untold lantern
#

@craggy cave

queen violet
#

n quer mudar a class principal nem a pau

#

mas so no intellij

#

o jar q ele builda fica com o coiso certo

lyric mountain
#

Tenta a segunda sugestão

#

Vc tenteu a primeira

clear wraith
#

Does anyone know where i can find an example of a Moderation system? Im struggling on creating one for my bot.

lyric mountain
#

@clear wraith language?

queen violet
#

qdo eu coloco com.gamesrob.GamesROB

#

funciona de boa no jar

#

mas nao qdo tento roda do intellij

lyric mountain
#

Atapo

#

Mas tenta ainda assim krl

#

Kkkkk

#

As vezes da problema pq o processo de build e o processo de run tão sendo diferentes

clear wraith
#

discord.js @lyric mountain

queen violet
#

ae porra

#

so usei o gradle pra roda inves do intellij

lyric mountain
#

@clear wraith idk, maybe tim could help u

earnest phoenix
#

tim is god. change my mind.

lyric mountain
#

I made mine with java, so...