#development

1 messages · Page 1262 of 1

misty sigil
#

or something

obtuse niche
#

Use python

misty sigil
#

no

earnest phoenix
#

nobody asked for that input

obtuse niche
buoyant aspen
#

How could I get the id of the person who invited a bot to a server?

sudden geyser
#

I think there's an audit log for when the bot is added to a server

earnest phoenix
#

query the audit logs

buoyant aspen
#

good idea

earnest phoenix
#

client.on('debug')

#

why are you logging to discord in the first place

#

why not ?

#

that's such a horrible idea

#

why

slender thistle
#

Ratelimits one main reason

earnest phoenix
#

discord downtimes, you're contributing to the 50/1 global ratelimit, insecure

#

yes

#

i turned off

#

@earnest phoenix so what is ur idea

#

for logging errors ?

misty sigil
#

use a webhook?

#

thats what i do at least

slender thistle
#

It's not hard to store such stuff locally, is it

earnest phoenix
#

you can use a webhook or even make a command that dumps your logs into a text file

#

and then upload that

misty sigil
#

i prefer webhook

#

easier to look at imo

earnest phoenix
misty sigil
#

oh

earnest phoenix
#

i use only webhooks

#

How do I take the same two bodies?

ex: res[0].tier res[1].tier

[
  {
    "leagueId": "0bf51832-f12a-475d-9759-9848566a6982",
    "queueType": "RANKED_SOLO_5x5",
    "tier": "PLATINUM",
    "rank": "II",
    "summonerId": "ug1XDV8d5Bh4M6CmTiQVfvT7Gi4953SOnDrnKpKByaq9ouo",
    "summonerName": "aproxthethat",
    "leaguePoints": 54,
    "wins": 178,
    "losses": 147,
    "veteran": false,
    "inactive": false,
    "freshBlood": false,
    "hotStreak": false
  },
  {
    "leagueId": "19fc1cca-a60f-44e5-9e3d-72618663226d",
    "queueType": "RANKED_FLEX_SR",
    "tier": "PLATINUM",
    "rank": "II",
    "summonerId": "ug1XDV8d5Bh4M6CmTiQVfvT7Gi4953SOnDrnKpKByaq9ouo",
    "summonerName": "aproxthethat",
    "leaguePoints": 95,
    "wins": 88,
    "losses": 74,
    "veteran": false,
    "inactive": false,
    "freshBlood": false,
    "hotStreak": true
  }
]
#

please

#

bin that

#

you're cluttering the chat

#

xD

#

-dotpost

#

:))

#

although there's still the issue of discord downtimes, look into sentry @earnest phoenix

buoyant aspen
#

How can I get the ID of a guild the bot was just added to? (discord.js) (guildCreate event)

earnest phoenix
#

don't you get the guild in the event

#

lol

misty sigil
#

guildCreate event returns a full guild object

#

i feel like if you were to read the docs

#

you'd know that

earnest phoenix
#
module.exports = (client, guild) => {
    console.log(guild.id)
}
#

if u use event handlers

#

if not

#
client.on("guildCreate", guild) {
  console.log(guild.id)
}
slender thistle
#

@earnest phoenix for-loop, each iteration you'd get result[i] where i is the loop parameter

earnest phoenix
#

@earnest phoenix js res.map(response => response.tier);

#

For loops are hardly needed in this case at all

#

So how do I sort it one under the other?

#

What???

slender thistle
#

Eh, right, map

earnest phoenix
#

What???
@earnest phoenix ${res1.map(res1 => res1.leaguePoints + ' LP / ' + res1.tier + ' ' + res1.rank)} I want rank 1 on top and rank2 bottom

#

one under the other

#

54 LP / Diamond II
19 LP / Platinum III

#

ex

#

So what are the ranks based on? res1.rank?

glossy elk
#

how do i add hyperlinks

#

to an embed

earnest phoenix
#

[text](url "additional hover text")

#

There are 2 ranks in the json file I have thrown.

glossy elk
#

cus i tried name and that shit doesn't work

#

how tf

earnest phoenix
#

bottom different rank top different rank bottom different rank

glossy elk
#

I tried it on title, i tried it on field title

opal plank
#

REEEEE

#

i require wisdom

midnight blaze
#

setURL()

glossy elk
#

OJ YEHA

opal plank
#

I request enlightenment

#

Whos familiar with import syntax?

slender thistle
#

Are you drunk or just confused

opal plank
#

btoh

#

both*

#

exbrain pliz

glossy elk
#

Are you drunk or just confused
@slender thistle i think both

cobalt spruce
#

Boi

opal plank
#

why the fuck can i not iterate thru an exported object?

earnest phoenix
#

@earnest phoenix js res1.sort((a, b) => b.rank - a.rank).map((o, c) => `${c + 1}- ${o.leaguePoints} LP / ${o.tier} ${o.rank}`).join("\n");

umbral zealot
midnight blaze
#

wow thanks for the nitro

earnest phoenix
#

@earnest phoenix I used .join ('\n') ok

cobalt spruce
#

@umbral zealot sorry man

earnest phoenix
#

@earnest phoenix thanks

#

i almost didn't notice the 144p quality

opal plank
#

AAAAAAAAAH

umbral zealot
#

@opal plank g is an object not a string, maybe that's your problem

opal plank
#

tell that to my ide

umbral zealot
#

this error is saying Gauge() requires a string, isn't it?

opal plank
#

wrong

umbral zealot
#

oh waiiiiit a minute

opal plank
#

its has its own type declaration

umbral zealot
#

I always get confused between let x of thing and let x in thing too

opal plank
#

GaugeConfiguration

#

which is an object

umbral zealot
#

one is the index, the other is the value

opal plank
#

nah this case is right

#

in is for properties

#

of in iterable

#

object.values() is iteratable

#

but it pulls gauges from the import

#

not the individual gauges

#

not even import works

#

FUCK

#

got it

#

Holy fucking shit this was annoying

earnest phoenix
#

This is why i said TS is confusing asf

umbral zealot
#

not really

#

But this is definitely a case for using a debugger correctly

earnest phoenix
#

Not really, yes, but sometimes you ran into these type of error which just keeps you, looking at the code for 5 hours

opal plank
#

you think THIS is bad?

#

try debugging this in js

earnest phoenix
#

How do I get text that is only in the first "" from a json file?
ex: "10.19.1"

["10.19.1","10.18.1","10.16.1"]
opal plank
#

is an array dude

earnest phoenix
#

yeah

opal plank
#

array[0]

rancid bramble
#

How can I check if *member has a role?

umbral zealot
#

you can't, users don't have roles

#

members do however

half bear
#

hey

#

how can i get server name

opal plank
rancid bramble
#

How can I check if *member has a role?

opal plank
#

member.roles

half bear
opal plank
#

yes

half bear
#

it doesnt work xd

rancid bramble
#

member.roles.has ?

opal plank
#

it do

#

you need to declare guild first of course

#

<guild>.name

rancid bramble
opal plank
#

again, not everything is on message

half bear
#

wait i need to try

opal plank
rancid bramble
#

if on command

opal plank
rancid bramble
#

as message

opal plank
#

or client.guilds.cache.get().name

half bear
opal plank
#

its not on message

#

its <guild>

#

<guild> can be accessed from plenty of places

#

not only from message @rancid bramble

half bear
#

... value: '${guildPreview.name}' },

#

doesn't work

opal plank
#

WHAT is guildPreview?

#

show me where you declared it

half bear
opal plank
#

what?

half bear
#

bruh

opal plank
#

in YOUR file

half bear
#
exports.run = (client, message, args) => {
    const user = message.mentions.users.first() || message.author;
    const Discord = require("discord.js");
    const messageEmbed = new Discord.MessageEmbed()
    .setColor(message.member.displayHexColor)
    .setFooter('Komut ' + user.username + ' tarafından istendi.')
    .addFields(
        { name: '![gifverified](https://cdn.discordapp.com/emojis/758061463934992524.webp?size=128 "gifverified") Sunucu Adı', value: '${guildPreview.name}' },
        { name: 'd!yaz', value: '![drobot](https://cdn.discordapp.com/emojis/758014129075388457.webp?size=128 "drobot") **DisTR yaz** yetkisi olanlar bu komutu kullanabilir.' },
    )
    message.channel.send(messageEmbed);
  }
opal plank
#

lemme guess

#

you get an error saying GuildPrewview is not defined

half bear
#

yes

opal plank
#

cuz it aint defined

#

i told you, define it

half bear
#

but how

opal plank
#

...

#

you shouldnt be making a bot without knowing Js

half bear
#

:(

#

yes i need to learn it

#

but this like not going end

#

i am learning with this way

opal plank
#

Not a very good idea

rancid bramble
#

.roles what?

rancid bramble
#

member.roles.find ?

opal plank
#

i sent you the documentation

half bear
opal plank
earnest phoenix
#

How can I get only the first 3 values in the array?

misty sigil
#

array[0] array[1] array[2]?

earnest phoenix
#
[{
        "championId": 86,
        "championLevel": 7,
        "championPoints": 200355,
        "lastPlayTime": 1599514695000,
        "championPointsSinceLastLevel": 178755,
        "championPointsUntilNextLevel": 0,
        "chestGranted": true,
        "tokensEarned": 0,
        "summonerId": "ug1XDV8d5Bh4M6CmTiQVfvT7Gi4953SOnDrnKpKByaq9ouo"
    }]
#

there are too many such lines

#

i just want to get top 3 championID

drifting wedge
#
if(collection.count_documents(f'{guild_id2}' and 'Levels') == 0):```
#

is this even a thing?

opal plank
#

or slice

#

i think you can slice array

#

maybe

#

yeah

#

hmm

#

yeah

faint prism
#

i just want to get top 3 championID
@earnest phoenix for loop until index of 3, or select directly with what Matthew said

opal plank
#

or slice

#

then for(of)

drifting wedge
#

how with mongo db can i look for 2 things

#

like this

#
if(collection.count_documents(f'{guild_id2}' and 'Mod') == 0):```
#

so like the guild id

#

and the module

slender thistle
#

What the fuck

indigo flax
#

I have eval command on my bot

#

discord.js

#

what is the eval for sending a message in a certain channel

#

;eval client.channels.get("756508475118452797")channel.send("a")

#

doesnt work

vernal rivet
#

what does your code look like?

#

shivaco that is py think

opal plank
#

@indigo flax cache

#

grab ur chanels from cache

vernal rivet
#

oh wait lol

#

i just realized that is v11 way of doing it lol

opal plank
vernal rivet
#

also you don't need to have channel there, it will throw errors at that as well

opal plank
#

^^

vernal rivet
#

we are the prefect team dogekek

opal plank
#

looking good so far

#

no crashes

#

nor instability

vernal rivet
#

nice

indigo flax
#

TypeError: client.channels.cache is not a function

vernal rivet
#

what version are you using?

opal plank
#

wtf you trying to do

vernal rivet
#

oh wait

#

cache is not a function

opal plank
#

he likely did cache()

indigo flax
#

12.3.1

vernal rivet
#

||time to throw the docs at them?||

indigo flax
#

i did ;eval client.channels.cache("756508475118452797").send("a")

opal plank
#

||correct||

vernal rivet
#

||very||

opal plank
vernal rivet
#

^^^^

opal plank
#

bruh im hella proud of this

vernal rivet
#

mhm

opal plank
sudden geyser
#

NO COMMAS REEEE

vernal rivet
#

i see red. that usually means bad

opal plank
#

650k messages, 187k users, 1156 cached streams, and ONLY 228Mb ram

vernal rivet
#

lol

opal plank
drifting wedge
#

so basically get all the thingies with the same guild id
then look for one that says mod?

#

in mongo

vernal rivet
#

are you doing this in d.py?

slender thistle
#

Yout

#

I uj

#

I'm at loss of words

#

And let me explain why

#

Don't you think I told you at some point that you are supposed to use dictionaries instead of passing shit like strings

burnt sinew
#

Is there a way to access info about the games people are playing? I was wondering if I could make my bot auto mute people for among us. Or move them to another vc when they die.

opal plank
vernal rivet
#

i like this man's thinking. i think you can, you might have to check docs.

burnt sinew
#

Well I can't find anyone who has done this by getting data from the game through discord so I dont think it's possible which is unfortunate

opal plank
#

its not cuz it hasnt been done before that its not possible

#

i'd recommend you try it yourself and see what kind of roadblocks you find yourself in

#

@burnt sinew

#

¯_(ツ)_/¯

#

Aight, time to attach users cache to channels

opal plank
#

Done did it

wanton aurora
#

Got my bot some code but they won’t let it in so I’m just sitting here

opal plank
#

now i gotta create a global user cache and then extend it to user object

drifting wedge
#

@placid iron hey

#

i saw ur rank cards and they look AMAZING

#

wondering how you do them and if you can help me a bit?

placid iron
#

do you use python?

drifting wedge
#

yes

delicate zephyr
#

@drifting wedge

const botDocument = await findOne({ guild_idL 'guildIDHere' })
botDocument.plugins.hello_world = true
await botDocument.save()
drifting wedge
sacred cypress
#

lmao

#

object["Levels Toggled?"]

#

just imagine that

drifting wedge
#

@sacred cypress

opal plank
#

imagine writing object properties with spaces or hyphens

drifting wedge
#

i have no idea what im doing

#

so shhh

opal plank
drifting wedge
#

wait

#

@placid iron u use pillow right?

placid iron
#

so basically: i use Pillow and first of all i get the users pfp and turn it into a circle. next i create a base plate for all the stuff to go on and if they want to i add that extra background rectangle (i use rounded rectangles which i found on stack overflow) then i write the levels and rank text in the top right. i get the size the text would be so that i can account for different length levels then i move the other text to the right by that ammount and so on. Then i do the same for the xp text (99 xp / 1k xp). then i write the name and discrim. This is different, i have the discrim as a constant text size and i change the text size of the name so that it gets smaller if it needs to. This is also done by finding the text width and then reducing the size then retrying it to see if it will work. you have to use this itterative solution because text size isnt directly proportional to width. Then i just draw them like everything else. After that you can just plop on the pfp with a black border and put that all on a image if you want then send it

drifting wedge
#

yep

#

this is mine currently

#

but im looking to add more backgrounds, and a rank thing

#

and the discrim

placid iron
#

i chunked it down into small enough parts where i think you could stack overflow it

#

ah

drifting wedge
#

along witth the name getting smaller

#

and rouding out the edges

placid iron
#

bacground is easy, just have it so that the image is the opened bg compared to a solid colour

drifting wedge
#

yup

#

still working on it tho

earnest phoenix
#

so i made a bot in discord bot designer using the default script, how do I add a currency system?

drifting wedge
#

so i made a bot in discord bot designer using the default script, how do I add a currency system?
@earnest phoenix u have to make ur own

#

add custom commands, dbs

#

stuff ig

earnest phoenix
#

ok but how do i manipulate the variables i have

#

that's what i meant sorry

opal plank
#

Ngl, you should do ACTUAL coding rather than using bot makers @earnest phoenix

earnest phoenix
#

yeah i'd love to but i'm working off a chromebook and a phone so...

#

saving up for that windows machine

drifting wedge
#

@earnest phoenix you can code using a piece of paper

slender thistle
#

Ehh, a chromebook can run a few IDEs

drifting wedge
#

you just need to put it in a powershell and run it

#

but u can code using anything

#

then just put it in something that runs it

earnest phoenix
#

ok what would you suggest

drifting wedge
#

use the chromebook

#

and try using ides

#

IDE*s

#

like atom but im not sure itll run

#

try something low memory

earnest phoenix
#

would any text editing program work or does it need to be able to run js in-app

drifting wedge
#

well 1. u want to do js?

#

nothing against it

#

\just wanna know

#

i think you can do like notepad++ but not 100%

slender thistle
#

Any text editor works but it's suggested to use a proper IDE

drifting wedge
#

who made @pliant gorge and @gilded plank ?

#

oily?

#

oliy*

slender thistle
#

node.js might be supported on chromebooks

earnest phoenix
#

ok i'll check

drifting wedge
#

@slender thistle u quit!?

#

like legit

#

?

slender thistle
#

Temporary break

drifting wedge
#

ah

#

alr

earnest phoenix
#

i'm using bdscript rn so converting to js will be fun

drifting wedge
#

good to hear my human google didnt quit

#

you dont have to tho

#

maybe try using the code u have

#

like frm the bot designer app

#

see if u can get into its files

#

and just use that code

static trench
thick gull
#

it already did?

earnest phoenix
#

if i can get into the files is no question at all, the potential problem is finding a new hosting service

static trench
#

I don’t think it did

slender thistle
#

What's the point

#

it'll be kicked anyway

static trench
#

It will?

#

Hey I just realized tonkhu left

#

Oof I’m behind.

slender thistle
#

Yeah

thick gull
#

shiv taking a break?

static trench
#

Yeah
@slender thistle yes he left of yes it will be kicked

slender thistle
#

Both

#

well left forcefully because banned

#

But yes to both bloblul

static trench
#

Why was he banned?

wicked narwhal
#

Wait what

#

Wasn't he the founder of top.gg

static trench
#

Yep!

drifting wedge
#

will my fucking mongo melt?

slender thistle
#

Why not go like mod_toggled or levels_toggled

drifting wedge
#

well i mean i could

#

but why would it matter?

slender thistle
#

Why data["Mod Toggled?"]

drifting wedge
#

well ya see

#

is mod toggled?

#

big brain

#

i can change it no problem

slender thistle
#

data["mod_toggle"]

drifting wedge
#

but i just dont see why

drowsy sentinel
#

modToggle

drifting wedge
#

i can

#

no issue

#

but just why?

slender thistle
#

More readable and easier to comprehend codewise

drifting wedge
#

like for future

#

o ok

#

ty

#

_ works?

#

Mod_Toggled

#

no ?

slender thistle
#

"Generally Spaces In Keys Should Be Avoided": "And Yes, Underscore Will Work"

#

I have message_id key storing an Int64 value with no problem

#

Still asking myself why it's not a string but eh

ancient nova
#

can any of you guys rate my website, I just did a pretty neaty update, it's not finished yet but I'm looking for some feedback

drifting wedge
#

@ancient nova ig so

#

i mean send screensshots?

#

i dont feel comfortable clicking links

ancient nova
#

that's alright, I have quite a few pages though so it'd be hard screenshot each of them

silver lintel
#

also interactive elemnts dont work in scrnsht

ancient nova
#

yep

#

like animations

drifting wedge
#

well i mean just send the link ig

ancient nova
#

alright

#

can I do it here?

drifting wedge
#

wait tho

#

im good

#

if u can send ss ill do it

ancient nova
#

sure

drifting wedge
#

but im kinda freaky with like links and all

#

screenshot or screenshare ig

#

but i just dont feel comfortable w links

ancient nova
#

I'm editing the website on my pc

drifting wedge
#

can i be honest?

ancient nova
#

sorry for the off centered texts

silver lintel
#

ooh glitch

drifting wedge
#

the pink at the top isnt too good

#

maybe try blurple

ancient nova
#

alright

drifting wedge
#

and the white text

#

sounds like your convincing your mom to get you a ps5

#

try to say like: the best bot ever!

#

or something

#

but it looks good ig

ancient nova
#

thanks

drifting wedge
#

np

ancient nova
#

I spend few days making it

drifting wedge
#

ah

#

easy to fix i hope 🙂

ancient nova
#

though by screenshots you're not gonna see everything, I've added few animations

#

too

silver lintel
#

i just wrote an extra 200 lines of code i didnt need B(

ancient nova
#

ooh glitch
@silver lintel I'm buying a custom domain soon

drifting wedge
#

what domain?

#

@ancient nova i have a friend who does free webhosting for websites

ancient nova
#

probably something along lines but without glitch.me

drifting wedge
#

id recommend him if u wont have the users do any private stuff

#

like passwords etc

#

and he gives a free domain

#

its a subdomain

#

of .eukserver.com

ancient nova
#

not sure why everyone has a problem of making websites on glitch, glitch is a good hosting service, very customisable and free

drifting wedge
#

@ancient nova i use heroky

#

heroku

ancient nova
#

heroku's good too

drifting wedge
#

i love heroku

#

works perfectly

ancient nova
#

heroku's good for bot hosting if you don't have any money to buy a vps

drifting wedge
#

well so far no bugs

#

and my bot is in 60 ish servers

#

no issue

ancient nova
#

yeah

#

my bot's in 77

drifting wedge
#
TypeError: argument of type 'NoneType' is not iterable```
#

any1 can explain

slender thistle
#

arg is None

ancient nova
#

I centered the texts and I'm gonna now finish writing the FAQ and ToS for the web, and the bot

slate oyster
#

@opal plank How do you do stress testing?

opal plank
#

pong

#

wdym?

silver lintel
#

lmao

opal plank
#

i have a set list of channels my bot joins to stress test my cache

slate oyster
#

Ah, gotcha

opal plank
#

currently we at....

#

Focus on that Error counter

silver lintel
#

eZ found ur bot B)

opal plank
#

Oh you slick

#

its not like you can click my pfp to see it

silver lintel
#

how would i do a message collector in discord.js and see how long the user took to repsond?

dense nest
#

Lol I finally got my webserver up today for my website

opal plank
#

hmmm you could create a variable before the collector is constructed

#

with Date.now()

silver lintel
#

thats what im thinking

#

but how to make it count

opal plank
#

and then the moment the user answers you send the difference in time

#

wydm how to make it count?

silver lintel
#

ohh

#

ok

dense nest
#

Now i just gotta handle the login and panel cursed

#

And i have no idea how

#

.-.

silver lintel
#

variable.createdTimestamp - message.createdTimestamp?

#

i have no idea

opal plank
#

const start = d.now()

collector.start()
collector.on(collect => meessage.reply((d.now() - start))

silver lintel
#

ok

opal plank
#

what the heck did u just say

dense nest
#

Who~

opal plank
#

variable.createdTimestamp - message.createdTimestamp?

silver lintel
#

no boolie pls :(

#

i was guessing

opal plank
#

you should REALLY look at js basics before doing a bot dood

dense nest
#

LMAO

#

or python

opal plank
dense nest
#

Python is easier

#

Lol

opal plank
#

i prefer Ts

carmine summit
#

can someone send me the link to all of discrord's rate limits

dense nest
#

Eh ig @opal plank

#

Im running my bot completely on python

carmine summit
#

im wasting my time to make commands but dont work properly cuz of rate limits

dense nest
#

Even my webserver is flask

opal plank
#

Mine is prob 90% ts and a bit of the rest

#

lemme grab the stats rq

silver lintel
#

const start = d.now()

collector.start()
collector.on(collect => meessage.reply((d.now() - start))
@opal plank how to get the date?

#

is that d?

dense nest
#

@silver lintel learn js

carmine summit
#

const date = new Date()

opal plank
dense nest
#

Lol

opal plank
dense nest
#

LMAO

#

I like python

opal plank
dense nest
#

I need help with my website

opal plank
dense nest
#

*dashboard

opal plank
#

theres a 5th repo but that one i deprecated

carmine summit
#

lol

opal plank
#

since Mixer no longer exists

#

¯_(ツ)_/¯

dense nest
#

Waaaaa

#

Mixer no longer exists....

carmine summit
#

can someone send me the link to all of discrord's rate limits

opal plank
#

yeah those are all repos for Leviathan

dense nest
#

I see

opal plank
#

Leviathan isnt a bot technically

dense nest
#

O

#

My bot is shibebot

opal plank
#

Its multiple bots/processes talking to eachother

dense nest
#

Ooo

#

Sounds interesting .-.

#

I should really learn js for express lol

opal plank
#

and complicated

#

im moving away from express soon i think

dense nest
#

O

#

Why

carmine summit
#
GUILDS (1 << 0)
  - GUILD_CREATE
  - GUILD_UPDATE
  - GUILD_DELETE
  - GUILD_ROLE_CREATE
  - GUILD_ROLE_UPDATE
  - GUILD_ROLE_DELETE
  - CHANNEL_CREATE
  - CHANNEL_UPDATE
  - CHANNEL_DELETE
  - CHANNEL_PINS_UPDATE

GUILD_MEMBERS (1 << 1)
  - GUILD_MEMBER_ADD
  - GUILD_MEMBER_UPDATE
  - GUILD_MEMBER_REMOVE

GUILD_BANS (1 << 2)
  - GUILD_BAN_ADD
  - GUILD_BAN_REMOVE

GUILD_EMOJIS (1 << 3)
  - GUILD_EMOJIS_UPDATE

GUILD_INTEGRATIONS (1 << 4)
  - GUILD_INTEGRATIONS_UPDATE

GUILD_WEBHOOKS (1 << 5)
  - WEBHOOKS_UPDATE

GUILD_INVITES (1 << 6)
  - INVITE_CREATE
  - INVITE_DELETE

GUILD_VOICE_STATES (1 << 7)
  - VOICE_STATE_UPDATE

GUILD_PRESENCES (1 << 8)
  - PRESENCE_UPDATE

GUILD_MESSAGES (1 << 9)
  - MESSAGE_CREATE
  - MESSAGE_UPDATE
  - MESSAGE_DELETE
  - MESSAGE_DELETE_BULK

GUILD_MESSAGE_REACTIONS (1 << 10)
  - MESSAGE_REACTION_ADD
  - MESSAGE_REACTION_REMOVE
  - MESSAGE_REACTION_REMOVE_ALL
  - MESSAGE_REACTION_REMOVE_EMOJI

GUILD_MESSAGE_TYPING (1 << 11)
  - TYPING_START

DIRECT_MESSAGES (1 << 12)
  - CHANNEL_CREATE
  - MESSAGE_CREATE
  - MESSAGE_UPDATE
  - MESSAGE_DELETE
  - CHANNEL_PINS_UPDATE

DIRECT_MESSAGE_REACTIONS (1 << 13)
  - MESSAGE_REACTION_ADD
  - MESSAGE_REACTION_REMOVE
  - MESSAGE_REACTION_REMOVE_ALL
  - MESSAGE_REACTION_REMOVE_EMOJI

DIRECT_MESSAGE_TYPING (1 << 14)
  - TYPING_START
```How do I read this thing???
opal plank
#

Getting a tad outdated

dense nest
#

I see

opal plank
#

php has been providing some better shit

dense nest
#

Im using flask for python

opal plank
#

also found some other good things

dense nest
#

Php is meh

carmine summit
#

uh

#

uhhhhhhh

dense nest
#

What

carmine summit
#
GUILDS (1 << 0)
  - GUILD_CREATE
  - GUILD_UPDATE
  - GUILD_DELETE
  - GUILD_ROLE_CREATE
  - GUILD_ROLE_UPDATE
  - GUILD_ROLE_DELETE
  - CHANNEL_CREATE
  - CHANNEL_UPDATE
  - CHANNEL_DELETE
  - CHANNEL_PINS_UPDATE

GUILD_MEMBERS (1 << 1)
  - GUILD_MEMBER_ADD
  - GUILD_MEMBER_UPDATE
  - GUILD_MEMBER_REMOVE

GUILD_BANS (1 << 2)
  - GUILD_BAN_ADD
  - GUILD_BAN_REMOVE

GUILD_EMOJIS (1 << 3)
  - GUILD_EMOJIS_UPDATE

GUILD_INTEGRATIONS (1 << 4)
  - GUILD_INTEGRATIONS_UPDATE

GUILD_WEBHOOKS (1 << 5)
  - WEBHOOKS_UPDATE

GUILD_INVITES (1 << 6)
  - INVITE_CREATE
  - INVITE_DELETE

GUILD_VOICE_STATES (1 << 7)
  - VOICE_STATE_UPDATE

GUILD_PRESENCES (1 << 8)
  - PRESENCE_UPDATE

GUILD_MESSAGES (1 << 9)
  - MESSAGE_CREATE
  - MESSAGE_UPDATE
  - MESSAGE_DELETE
  - MESSAGE_DELETE_BULK

GUILD_MESSAGE_REACTIONS (1 << 10)
  - MESSAGE_REACTION_ADD
  - MESSAGE_REACTION_REMOVE
  - MESSAGE_REACTION_REMOVE_ALL
  - MESSAGE_REACTION_REMOVE_EMOJI

GUILD_MESSAGE_TYPING (1 << 11)
  - TYPING_START

DIRECT_MESSAGES (1 << 12)
  - CHANNEL_CREATE
  - MESSAGE_CREATE
  - MESSAGE_UPDATE
  - MESSAGE_DELETE
  - CHANNEL_PINS_UPDATE

DIRECT_MESSAGE_REACTIONS (1 << 13)
  - MESSAGE_REACTION_ADD
  - MESSAGE_REACTION_REMOVE
  - MESSAGE_REACTION_REMOVE_ALL
  - MESSAGE_REACTION_REMOVE_EMOJI

DIRECT_MESSAGE_TYPING (1 << 14)
  - TYPING_START
```How do I read this thing???
opal plank
dense nest
#

Don't expect us to go out of your way while we are in the middle of a conversation

#

Wait until we are done

carmine summit
#

ok

opal plank
#

I have them blocked so...

#

¯_(ツ)_/¯

dense nest
#

I see

#

Wait

#

Nvm

opal plank
#

except for the leviathan most of the commits were girthy

dense nest
#

Yea I'm just making my login / panel

opal plank
#

Not a single commit on the youtube this whole month

dense nest
#

Ive gotten my bot mostley done

#

Just working on panel now

#

And login

opal plank
#

im implementing my cache rn, i stopped the dashboard till i get more things out

dense nest
#

Ive found some o.o

#

Kek

opal plank
#

i might need to go my route to lower the ram a bit

#

i sense one or two memory leaks in here

#

610Mb currently

#

thats almost double of what it was before when i tested

#

though to be fair im caching the messages on this go too

#

can i ....?

#

holdup

#

oh yeah i sure can

#

cache size without messages

dense nest
#

O

#

Thats an amazing web panel btw

opal plank
#

i like that too

dense nest
#

I hope my bot gets big lol

primal mulch
#

what types of Coding websites do u guys use to code bots i need help

opal plank
#

We dont use coding websites

#

we code the bots ourselves

#

and use the documentation for the tools/libs we use

primal mulch
#

explain pls

#

i=dumb

opal plank
#

We know programming languages

#

we dont use websites

dense nest
#

Lmao

primal mulch
#

ok so i can use yt to find out

dense nest
#

How old are you

opal plank
#

bad

primal mulch
#

14

opal plank
#

youtube isnt good for learning

primal mulch
#

but i dont code

opal plank
#

outdated stuff

#

then learn, pay for a bot, or use bot maker

#

¯_(ツ)_/¯

primal mulch
#

im a gamer not a coder

green kestrel
#

making bots is coding

dense nest
#

Learn JS,

#

Lmao

#

Then learn the api

primal mulch
#

ik do u use java or something

opal plank
#

then you more than welcome to pay someone to make you a bot lol

#

i use Typescript

dense nest
#

Like me

opal plank
primal mulch
#

lucky

earnest phoenix
#

Whats going on here

opal plank
#

someone claiming to have LEARNED js in less than a week

primal mulch
#

should i start with minecraft then roblox then this because minecraft is easiest coding app ik

opal plank
dense nest
#

@primal mulch

#

Freind me

primal mulch
#

Uh

#

I dont friend people srry

earnest phoenix
#

someone claiming to have LEARNED js in less than a week
@opal plank LUL I can't code everything in discord.js but I learned how to do the basics in that amount of time

dense nest
#

Dm me then

nimble kiln
#

minecraft is easiest coding app ik
u wot m8? Minecraft is a coding app?

dense nest
#

AYYYYY lolritter

#

Wassup bro

primal mulch
#

yes

#

u code on minecraft

opal plank
#

@nimble kiln I code discord bots in html, what you on about?

primal mulch
#

-_-

dense nest
#

@opal plank no i code bots in css

nimble kiln
#

@nimble kiln I code discord bots in html, what you on about?
@opal plank duh, I obviously use PHP to code my discord bots..

dense nest
#

@nimble kiln I use CSS

nimble kiln
#

AYYYYY lolritter
@dense nest Hi dere

drifting wedge
#

Can I use js on a python thing?

dense nest
#

Wdym

drifting wedge
#

Like run js?

dense nest
#

No

primal mulch
#

i dont think so

opal plank
#

yes and no

primal mulch
#

-_-

drifting wedge
#

Yes and no?

opal plank
#

you could hook something like an api

#

as long as both languages have a middle ground like JSON to talk between eachopther

#

i guess it would be doable

primal mulch
#

ima connect minecraft to roblox coding

drifting wedge
#

Could I run 2 isntances

#

?

opal plank
#

both have await so they could talk to eachother

drifting wedge
#

One js one python

#

?

opal plank
#

you'd have setup an api like thing though

drifting wedge
#

Why?

dense nest
#

@primal mulch I feel like your a troll

opal plank
#

cuz u cant run 2 different langs together

dense nest
#

ima connect minecraft to roblox coding

^ trolling at its finest

drifting wedge
#

But like if I have 2 instances

primal mulch
#

no im legit 14 u can dm the discord team they have power to see people's age

drifting wedge
#

And they’re separate

opal plank
#

are they completely different from eachother?

#

if so, yes

drifting wedge
#

no im legit 14 u can dm the discord team they have power to see people's age
@primal mulch they won’t tell u

opal plank
#

if you plan to make they work together, then no

drifting wedge
#

Yea

opal plank
#

you'd need a middleware

primal mulch
#

oof unless u work there

dense nest
#

And @primal mulch you can lie of your age

primal mulch
#

no

opal plank
#

something that would handle them in a unified format

#

like an api accepting JSON

dense nest
primal mulch
#

I tell the same age

drifting wedge
#

But the isssue is with heroku

dense nest
#

Oki im just blocking

opal plank
#

wont matter which lang you would be running the different instances since they'd be all talking to eachother in JSON format

drifting wedge
#

I can’t run both

opal plank
#

why not make a new acc?

drifting wedge
#

Wait

#

I could

primal mulch
#

Ehh I got my oldest discord acc deleted so idc

drifting wedge
#

Fair

#

@opal plank

opal plank
primal mulch
#

ok srry ima sleep

drifting wedge
#

But what i could do would be have a main.py file

opal plank
drifting wedge
#

And import the js files to bot

opal plank
#

why do you even want 2 bots?

drifting wedge
#

And py to client

#

why do you even want 2 bots?
@opal plank not 2 bots

#

1 bot

#

With 2 Lang’s

opal plank
#

then what you doing that requires two processes that cant be done in one?

drifting wedge
#

One Lang?

#

Nothing

opal plank
#

yeah

#

then?

drifting wedge
#

It’ll just make it easier for me

opal plank
#

just for fun?

drifting wedge
#

For tutorials etc

opal plank
#

like i said, the only way you can comunicate between 2 different languages would ba an API like middleware

drifting wedge
#

Ok

#

I might just use 2 accts then

slim heart
#

would something like

amount = 0
ws.on('message', () => {
amount++
})
get avg () {
return amount / (this.uptime / 1000)
}

get me events per second?

opal plank
#

i guess?

#

you could just hook onto client though

#

use the listener on client rather than the websocket

drifting wedge
#

Wait

opal plank
#

though im fairly certain those are only message events

drifting wedge
#

I could use like 30 Lang’s lol

opal plank
#

well, yeah

#

How do you think Discord can use that many libraries?

drifting wedge
#

Like JDA d.py js eris

opal plank
#

they deal with their stuff in JSON

drifting wedge
#

Etc

#

In 1 bot

opal plank
#

Image this

#

you using py

#

im using Ts

#

how are we both able to connect to discord?

#

its the same principle, just send JSON or some unified format that can do the middle ground for you

#

thats why i told you to make an API that does this for you

drifting wedge
#

Orrrrr

#

I could run 2 instances on same token

opal plank
#

whenever you doing something, send the api and reroute to the app you wish

#

and get twice the spam

slender thistle
#

Why

opal plank
#

gotcha

slender thistle
#

Why

#

Why

drifting wedge
#

No

#

Cuz different commands

opal plank
#

on node we have things like IPC which is for communicating between processes

drifting wedge
#

Same prefix

slender thistle
#

Why do you happen to come up with the worst decisions possible

opal plank
#

though im unaware if such options are available for py and other langs

slender thistle
#

Just use websockets 4Head

opal plank
#

or that

drifting wedge
#

Wuts a websocket

#

Might help

opal plank
#

guggly eyes

#

thats how IPC works, with websockets

slender thistle
#

Google time may help increase your lifetime

drifting wedge
#

Okkk....

opal plank
#

its kinda advanced though

drifting wedge
#
async def toggle(self, ctx, arg = None):```
#
if 'mod' in arg:
            return```
opal plank
#

dont expect to have an easy time figuring out how IPC works

drifting wedge
#
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: TypeError: argument of type 'NoneType' is not iterable```
opal plank
#

@slender thistle have u dealt with caching before?

drifting wedge
#

why is everyone here so smart

opal plank
#

Cuz we are regulars here

#

we are sponge knowledge

slender thistle
#

Uhh

#

Define caching

drifting wedge
#

wuts a lib dev?

opal plank
#

Caching a stupid amount of useless shit

#

with unique sets

nimble kiln
#

wuts a lib dev?
@drifting wedge A developer that develops a library

opal plank
#

(aka map in js)

drifting wedge
#

im a lib dev

#

gimme

#

oooh

#

wait

#

no

#

lol

nimble kiln
#

What library are you developing

#

😉

drifting wedge
#

i thought that develops WITH a lib

#

wait tho i am

#

its called discord.pp

#

but with a DIFFERENT NAME!

nimble kiln
#

0/10 would not give library dev role

opal plank
#

wondering how can i improve cache a bit, even though i got a fine working version currently

slender thistle
#

Ehh done in Python for my bots

drifting wedge
#

and with +120% stupidity

opal plank
#

take a quick look at this

slender thistle
#

I only cached custom prefixes though

opal plank
#

cache => channels_cache => users cache => user

#

they all mapped in that order

#

though im planning to add a global static user cache as well

nimble kiln
#

Twitch has a nice API is what you mean here? Kapp

shrewd glen
#

ook

#

so uh

opal plank
#

imagine this as the difference members and users in discord

drifting wedge
#

@slender thistle u made any big bots?

#

or complicated?

slender thistle
#

I'll take a look when I'm not busy

opal plank
#

aight

shrewd glen
#

i made my bot with botghost and bot designer for discord

opal plank
#

Tim might also be able to gimme a couple tips on this tbf

drifting wedge
#

botghost is poopoo

opal plank
#

since he done d.j-light

drifting wedge
#

and bot designer is peepee

nimble kiln
#

i made my bot with botghost and bot designer for discord
OhNo oh no

shrewd glen
#

ya i hate premuim

slender thistle
#

Toss him a DM ig

drifting wedge
#

just code it

opal plank
#

he might have some good ideas on how to reduce caching effectively

drifting wedge
#

like its stuff isnt even good

shrewd glen
#

i use bot designer to set my bots custom status for free

drifting wedge
#
if 'mod' in arg:
            return```
#

can an1 help?

#

discord.ext.commands.errors.CommandInvokeError: Command raised an exception: TypeError: argument of type 'NoneType' is not iterable

shrewd glen
#

npe

#

i suck a coding

slender thistle
#

Cry me a river

#

Sarge

opal plank
#

bet

slender thistle
#

Check if arg is None first

drifting wedge
#

wut?

slender thistle
#

And why use in

#

And not ==

drifting wedge
#

if arg == None:

#

?

slender thistle
#

is instead of None but yes

#

Bo

silver lintel
#
let filter = m => m.author.id === message.author.id;

    message.channel.send(firstEmbed);

    message.channel
      .awaitMessages(filter, { max: 1, time: 30000, errors: ["time"] })
      .then(async collected => {
        let userInput = collected.first().content;
        pollText = userInput;

        let reactFilter = (reaction, user) => user.id === message.author.id;
        //var messageSent = message.channel.send(reactEmbed);
        var messageSent = await message.channel.send(reactEmbed);
        let reactCollector = messageSent.createReactionCollector(reactFilter, { max: 4, time: 30000, errors: ["time"]});

        reactCollector.on("collect", async (reaction, user) => {
            // 'reaction' is the reaction that the user reacted with
            message.channel.send(reaction.emoji.name);
            // 'user' is the user who reacted
          }).catch(() => {
            return message.channel.send("No answer for asdsdsad15 seconds. Set up has been cancelled.");
          });
      
      })
      .catch(collected => {
        return message.channel.send("time out");
      });

the message collector and reaction collector both work perfectly by themselves, but when i put them together, when the reaction collector starts, it says time out

slender thistle
#

Noduck

#

is, instead of ==

drifting wedge
#

o

#

i might have to lp

#

if arg is None:

#

run code?

nimble kiln
#

@silver lintel Did you try logging collected to see what it collects?

#

because you .catch(collected =>

silver lintel
#

o

ancient nova
#

alright I finished updating the website for today, I'll continue tommorow. does anyone have a minute to rate/tell me if anythings' wrong etc. I really need opinions and feedback

slender thistle
#

if arg is None:
return

#

ig

#

or if arg is not None:
your code

silver lintel
#

@nimble kiln it logs a big object

nimble kiln
#

what does it start with

#

first few lines

silver lintel
#

Collection [Map] {
'758142415235186728' => Message {
channel: TextChannel {
type: 'text',
deleted: false,
id: '753764342503309324',
name: 'general',
rawPosition: 0,
parentID: '753764342503309322',
permissionOverwrites: [Collection],
topic: null,
nsfw: false,
lastMessageID: '758142415235186728',
rateLimitPerUser: 0,
lastPinTimestamp: null,
guild: [Guild],
messages: [MessageManager],
_typing: Map {}
},
deleted: false,
id: '758142415235186728',
type: 'DEFAULT',
system: false,
content: 'hi hi',

#

wait its collection map

nimble kiln
#

hold up

#

you dont even need that .catch down there

#

you can catch the timeout with
reactCollector.on('end', (collected, reason) => { })

silver lintel
#

oh

drifting wedge
#
leveltoggle = lvltggld["Levels_Toggled"]
KeyError: 'Levels_Toggled'```
#

what does this mean?

nimble kiln
#

oh
@silver lintel It's possible that it returns 2 arguments instead of just "reason"

silver lintel
#

is this right for starting it?

#

var messageCollector = message.channel.awaitMessages(filter, { max: 1, time: 30000, errors: ["time"] }); messageCollector.on("collect", async collected => {

slender thistle
#

@drifting wedge KeyError - key doesn't exist

#

Print your dictionary and see what keys it has

nimble kiln
#

is this right for starting it?
@silver lintel Never used awaitMessages() before. I start my collectors like this:
const confirmation = msg.createReactionCollector(confirmFilter, { time: 120000 });

earnest phoenix
#

May someone help me make my bot Properly

nimble kiln
#

Yours does look right tho - When I look at the docs

#

Never used awaitMessages() before. I start my collectors like this:
const confirmation = msg.createReactionCollector(confirmFilter, { time: 120000 });
This is also for reactions, I just realized 😄

ionic dawn
#

any guide for the bot to grab an image sended by an user?

earnest phoenix
#

@ionic dawn attachment

ionic dawn
nimble kiln
silver lintel
#

thankyou @nimble kiln it works :)

nimble kiln
#

Nice 👍

silver lintel
#

how to make the messageCollector.on("end", only when time has run out, because when i do the reactioncollector, it does it

ionic dawn
#

any good gif manipulator or editor for nodejs?

#

im trying to use gif.js but I dont think is the right tool

earnest phoenix
#

@ionic dawn just use ffmpeg to transform gif into png

#

And edit it, then convert back to gif using ffmpeg

ionic dawn
#

im trying to generate this AmongUsPet

#

using a user profile image and the hand animation

#

ffmpeg can do that? never used it

earnest phoenix
#

Yeah

ionic dawn
#

kk, ty

earnest phoenix
#

You just need to get frames from the hand

#

Then edit one by one

#

Then transformm all of edited png back into gif

ionic dawn
#

is there any guide somewherE?

#

im checking on npmjs

earnest phoenix
#

Ffmpeg website

ionic dawn
#

can I install that 8yo node package or should I install it using the web files on the vps?

earnest phoenix
#

You can use ffmpeg thing that download ffmpeg and give you the file path

#

To run the child ptocess orsmth idk

shy turret
#

@nimble kiln I code discord bots in html, what you on about?
@opal plank you can actually make bots with html.. just good luck if you actually are dumb enough to try to

opal plank
#

you'd be using js

shy turret
#

ikr

opal plank
#

i dont think you can remotely do anything on html raw

#

at ALL

silver lintel
#

html is just markdown

#

so its kinda impossible

shy turret
#

then what is markdown itself 🤔 sh ik

opal plank
#

set a macro with hrefs that do api things without js

shy turret
#

coding a bot with javascript vs coding a bot with nodejs

opal plank
#

set urls with params and headers beforehand

#

and just macro your way into it

#

do heartbeats and acks based on a macro clikking 1 button in the middle of the screen

#

the macro provides the 'process'

#

you just setup a loop of href's

shy turret
opal plank
#

just thinking about it gives me shivers

shy turret
#

i heard people actually made discord bots using roblox lmao

hardy vector
opal plank
#

command block discord bot when?

hardy vector
#

iirc that exists

#

scratch for discord

opal plank
#

YIKES

#

no not scratch

#

command blocks minecraft

shy turret
#

yes someone showed me scratch for discord

hardy vector
opal plank
#

Minecraft command blocks

earnest phoenix
opal plank
#

Discord bot using minecraft command blocks

#

you'd need a mod to at least send packets

shy turret
#

/request <GET/POST/etc> <link> "<headers>" "body>" when?

opal plank
#

but you get the gist

earnest phoenix
#

did any one know free hosting sites

shy turret
#

yes but i dont wanna advertise

#

use glitch.com using google scripts ping
i know one free host: danbot hosting
owner told me they dont store any data so

opal plank
earnest phoenix
#

how can i add my bot for testing

opal plank
#

here?

#

you cant anymore

earnest phoenix
#

yes]

opal plank
earnest phoenix
#

did any one know free hosting sites
@earnest phoenix all my homies host inside a google document

carmine summit
#

?eval message.guild.members.forEach(member => console.log(member.user.username)); no work

hardy vector
#

saying something doesnt work isnt too helpful

#

maybe state the error?

carmine summit
#

ok wait

#

TypeError: message.guild.members.forEach is not a function

sonic lodge
#

do you mean message.guild.members.cache

ionic dawn
#

why is canvas setting a green background?

dense nest
#

This is not school help bro

#

Lmao

green kestrel
#

hmm, i should probably increase my shard count

#

it can wait till tomorrow ig

silver lintel
#

how to do messageCollector.on("end" only when its been a certain amount of time with no message

dense nest
#

@silver lintel learn JS

#

Oml

silver lintel
#

breh

dense nest
#

Listen, learn js then learn then js discord api

silver lintel
#

i know how to console.log hello world ;)

dense nest
#

That not learning js

#

Thats 1 thing

silver lintel
#

i just came back from 2 year coding break

dense nest
#

Well learn it again

#

Theres no excuse

silver lintel
#

ik, which is wai im asking here

dense nest
#

Youtube

#

Api docs

#

Don't waste people's time with simple questions when you can Google a fucking js wait

#

It's not hard at all

#

Search the docs then

#

Like seriously

drowsy grail
#

@silver lintel if you're using Discord.js you can specify{ time: 3000 } in the options argument in the constructor of the messageCollector, the time is in ms. But yes, check the docs for specifics

fast trench
#

why would this code get this error when I move it into the event folder/file but work if it's in my main bot file?```js
const member = reaction.message.guild.members.cache.find(member => member.id === user.id);

TypeError: Cannot read property 'guild' of undefined
    at MessageReactionAddEvent.run (C:\wildcat\src\events\reactions\messageReactionAdd.js:12:46)```

EDIT: it's the same with reaction add/remove
earnest phoenix
pure lion
#

@earnest phoenix just ask the question, someone will come sooner or later

fickle sapphire
#

@fast trench message is probably not defined in your file/folder

gusty forge
#

Hello Guys, i have a quistion! I made a bot in java jda and i the methode .getGuildbyhash(hash); dont exists anymore.

pure lion
#

@fast trench does reaction exist?

fast trench
#

@fast trench message is probably not defined in your file/folder
@fickle sapphire It works in the main file just as is though...and message isn't defined there

#

Yes Dice

#

but it does the same thing with member events too

#

which is weird

pure lion
#

Hmm

#

Are you collecting or awaiting reactions?

gusty forge
#

I need help

fast trench
#

awaiting? I always have done that

gusty forge
#

But i Can wait

pure lion
#

@gusty forge just wait, I don't think anyone here knows java at the moment.

fast trench
#

wait no I am collectiong

gusty forge
#

Ok

pure lion
#

@fast trench show me what you do

fast trench
#

atleast in the main file but not the new files

pure lion
#

aH

#

You see

#

Awaiting returns a discord collection

#

Collectors probably do too

#

But to be sure, can you type in console.log(reaction)

fast trench
#

yep doing that right now lol

pure lion
#

Good

#

What pops out?

fast trench
#

hold on doing a few things first

pure lion
#

Okidoki

fast trench
#

ok I'm more worried about the member events so let's focus on that lol

#

This is my code https://srcb.in/6d5687f8bb and this is my error ```js
(node:31668) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'id' of undefined
at MemberAddEvent.run (C:\wildcat\src\events\members\guildMemberAdd.js:22:26)
at Client.emit (events.js:215:7)
at Object.module.exports [as GUILD_MEMBER_ADD] (C:\wildcat\node_modules\discord.js\src\client\websocket\handlers\GUILD_MEMBER_ADD.js:16:14)
at WebSocketManager.handlePacket (C:\wildcat\node_modules\discord.js\src\client\websocket\WebSocketManager.js:384:31)
at WebSocketShard.onPacket (C:\wildcat\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22)
at WebSocketShard.onMessage (C:\wildcat\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10)
at WebSocket.onMessage (C:\wildcat\node_modules\discord.js\node_modules\ws\lib\event-target.js:125:16)
at WebSocket.emit (events.js:210:5)
at Receiver.receiverOnMessage (C:\wildcat\node_modules\discord.js\node_modules\ws\lib\websocket.js:797:20)
at Receiver.emit (events.js:210:5)
(node:31668) 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(). (rejection id: 2)