#development

1 messages ยท Page 1580 of 1

earnest phoenix
#

got an error:

client.run("MY TOKEN") ^ SyntaxError: invalid syntax PS D:\bots>

halcyon linden
#

:)

halcyon linden
#

Thank u

opal plank
#

np

earnest phoenix
#

ITS FULL ERROR

opal plank
#

show whats around that code then

earnest phoenix
#

ok

#

ya

#

๐Ÿฅบ

earnest phoenix
#

@opal plank

glossy spoke
#

idk about discord.py but ic you can't literally write "MY TOKEN" inside the client.run

opal plank
#

i assume he just removed it

glossy spoke
#

oh

opal plank
#

so he wouldnt leak it here

glossy spoke
#

xD

earnest phoenix
#

i removed as you were not coming

#

@opal plank

#

๐Ÿ˜†

opal plank
#

the issue is that i dont use py, so i dont really know whats wrong syntax wise in ur code

earnest phoenix
#

oh

south bay
#

hi guys how can i do my bot 7/24

earnest phoenix
#

vps

icy skiff
#

U didnt close brackets

opal plank
icy skiff
#

Saumil

south bay
compact prairie
#

Question

In Discord.js how would you make a message that deletes and resends every 15 minutes?

earnest phoenix
#

i have

#

ya

#

ya

#

ty

icy skiff
#

No u havent

#

Rip

earnest phoenix
#

seen it

opal plank
icy skiff
earnest phoenix
#

lol

south bay
glossy spoke
icy skiff
#

Sometimes python says the error in on line x but its actually on the one above

opal plank
compact prairie
#

yeah but how would it resend

opal plank
opal plank
compact prairie
#

ty

opal plank
glossy spoke
#

Also, you can try repl or glitch and use UptimeRobot to maintain your bot 24/7 for free

opal plank
#

@quartz kindle prob has some nice vps, i recall him using a nice and cheap VPS

zenith terrace
#

glitch dont do ping services anymore

tardy hornet
#

erwin is helping to everything that breathe in this channel @opal plank

crimson vapor
#

tim uses galaxygate 2usd iirc

#

I can tell you he only has 1 vcore and im pretty sure he uses galaxy gate

opal plank
#

that sounds about right

zenith terrace
#

whoops

#

I replied

#

xD

earnest phoenix
#

.

opal plank
#

imagine pinging @quartz kindle multiple times, smh

twilit pecan
#

Hi, i want to know how can i get just the Twitch connection username
Picking just the info underlined by yellow

crimson vapor
#

yeah its not like @quartz kindle is idle or uses browser instead of app

zenith terrace
#

yea imagine @quartz kindle getting pinged

opal plank
quartz kindle
#

lmao

crimson vapor
#

Tim probably logs on with 10 pings in this channel alone

#

am I right tim?

earnest phoenix
#

@quartz kindle sorry for ping but how you got notable member role

crimson vapor
#

bro

opal plank
#

actually, i just had a brilliant idea

crimson vapor
#

what about Erwin sad

opal plank
#

tim, you still there?

earnest phoenix
#

imagine @quartz kindle being happy by our pings

quartz kindle
#

ye

opal plank
#

heres the question

zenith terrace
#

no he ded

earnest phoenix
#

lol

crimson vapor
#

you ever gonna compile the list of cheap VPSs tim?

opal plank
#

what happens if you try to login in browser with a bot token?

twilit pecan
#

Oh Erwin, im sorry, i was think bot can get it cause is a public info in your profile

opal plank
#

can you even render/login with one?

twilit pecan
#

But ok

earnest phoenix
twilit pecan
#

Thank you, i think

opal plank
quartz kindle
#

i dont wanna try because its likely instant ban

opal plank
#

lmao true

#

you wouldnt recieve the data anyway most likely from the users

#

cuz gateway

quartz kindle
opal plank
#

i was wondering if you could bypass it by scraping the browser version

quartz kindle
#

so idk

opal plank
#

but i forgot you dont even get the info

earnest phoenix
#

@earnest phoenix

#

hi

crimson vapor
opal plank
#

^^

earnest phoenix
#

lol

opal plank
#

imagine ghost pinging

crimson vapor
#

I do it on accident often tbh

earnest phoenix
#

@quartz kindle sorry ^^) TvT

crimson vapor
#

like ill go to ping someone and a new username will come up and fuck everything up

quartz kindle
#

lmao

crimson vapor
#

discord caching

urban surge
#

How do I get my bot to restart automatically?

opal plank
#

pm2

#

and im fairly certain we told you before

south bay
#

aaaahhhhhh
I will cry all VPS's too expensive

#

๐Ÿ˜ข

opal plank
#

$5

#

and we said, tim uses galaxy gate

#

for $2

earnest phoenix
# opal plank pm2

how you have status like that ?
do only bot developer can do that ?

opal plank
earnest phoenix
#

ok

opal plank
south bay
opal plank
#

tim's is $2

#

galaxygate

south bay
#

14,05

#

:C

opal plank
#

you can host it yourself too

#

just cant turn off your computer

#

ยฏ_(ใƒ„)_/ยฏ

south bay
#

i do it but its sometimes close .d

quartz kindle
#

2.75 actually

#

if you have a credit card or a debit card, use google f1-micro, its free, you only pay for the excess bandwidth, which will be like a few cents per month

south bay
#

in turkey 1 dolar is=7,02

quartz kindle
#

if you absolutely cannot pay and have no cards, your best option would be repl.it i guess

south bay
#

๐Ÿ˜ค

mossy reef
#

hiiiiiiiiii

crimson vapor
#

if you are a student, can't you get some repl.it plan that gives longer hosting?

mossy reef
#

im new

compact prairie
pale vessel
unkempt ocean
#

does setTimeout works that way?

pale vessel
#

pseudocode

unkempt ocean
#

You should use setInterval instead of setTimeout ig

crimson vapor
#

gotta translate to js @compact prairie

compact prairie
#

what

twilit pecan
pale vessel
#

Yes, you can't just get it directly from your bot

#

You need the user's consent

twilit pecan
#

And i redirect for /users/@me/connections ?

pale vessel
#

Yes, make sure you have the connections scope

twilit pecan
#

In the start of url i use what?

#

discord.com?

pale vessel
twilit pecan
#

Oh

#

Thank you

pale vessel
#

It's a little complicated if you never worked with OAuth before

twilit pecan
#

Ya

#

I'll never

pale vessel
#

but that's the only way

south bay
#

guys, do I need a VPS for my bot to be 24/7? So there are no different free things

pale vessel
#

Yes

earnest phoenix
#

pretty much yes

glossy spoke
pale vessel
#

.....ok

crimson vapor
#

its against glitch tos to do that

#

so its really not suggested

compact prairie
#

is there a way to make this repeat?

        message.channel.send(embed).then(async m => {
            await m.delete({timeout: 5000})
            await message.channel.send(embed)
        })```
south bay
crimson vapor
#

setInterval @compact prairie

unkempt ocean
vocal sluice
glossy spoke
south bay
compact prairie
unkempt ocean
glossy spoke
#
const express = require('express');
const app = express();
app.get('/', (req, res) => {
  res.send('Toy vivo');
});

app.listen(3000, () => {
  console.log('Barnie iniciado.');
});
vocal sluice
south bay
#

oh ok sir ty

compact prairie
#

like setinterval has a callback

crimson vapor
#

setInterval(function, time in ms)

south bay
pale vessel
#

Yes

vocal sluice
#

believe so but you can just cancel after the trial ends

compact prairie
#

i dont get setInterval @crimson vapor

crimson vapor
compact prairie
#

oh

quartz kindle
#

but you do need a card to create an account

#

additionally, google has a vps called "f1-micro" which is still free after the 12 months expire

compact prairie
#

now its saying channel isnt defined

#
run: async function(client, message) {
        setInterval(function(client, message){
            const embed = new Discord.MessageEmbed()
                .setTitle('hi')
                .setDescription('hey')
            message.channel.send(embed).then(m => m.delete({timeout: 5000}))
        }, 5000);
    }```
pale vessel
#

define it

compact prairie
#

how

pale vessel
#

channel or message.channel?

compact prairie
#

message.channel

pale vessel
#

are you sure you're showing the correct portion of the code

#

oh

#

make sure you provide the correct params

compact prairie
#

yeah client, message

#

do i need args

vocal sluice
#

yes

#

i think

quartz kindle
#

its not channel that is undefined

compact prairie
#

that dont make a difference

quartz kindle
#

its "cannot read property channel OF undefined"

compact prairie
#

C:\Users\KPC\Desktop\Discord Bots\JavaScript\NitroBot\commands\information\ey.js:18
message.channel.send(embed).then(m => m.delete({timeout: 5000}))
^

TypeError: Cannot read property 'channel' of undefined
at Timeout._onTimeout (C:\Users\KPC\Desktop\Discord Bots\JavaScript\NitroBot\commands\information\ey.js:18:21)
at listOnTimeout (internal/timers.js:554:17)
at processTimers (internal/timers.js:497:7)

quartz kindle
#

meaning whatever is BEFORE channel is what is undefined

pale vessel
#

check your handler ig

quartz kindle
#

not channel itself

compact prairie
#

oh

#

but idk whats undefined

quartz kindle
#

what is before channel?

compact prairie
#
        setInterval(function(client, message, args){
            const embed = new Discord.MessageEmbed()
                .setTitle('hi')
                .setDescription('hey')
            message.channel.send(embed).then(m => m.delete({timeout: 5000}))
        }, 5000);```
#

message

#

but

quartz kindle
#

then message is undefined

compact prairie
#

no its not

#

setInterval(function(client, message, args){

quartz kindle
#

it is

compact prairie
#

^^^^^^^

#

how

quartz kindle
#

because setInterval doesnt give you any parameters

compact prairie
#

how do i define it

quartz kindle
#

when you do setInterval((abc) => {})

#

that means you want to GET abc from the interval

#

but the interval doesnt give any values

compact prairie
#

oh

quartz kindle
#

so you get undefined

compact prairie
#

how do i define it

quartz kindle
#

you want to use the message that already exists outside the interval

#

so just dont define any arguments in the interval itself

compact prairie
#

plus wouldnt it be easier to just tell me that message is undefined than telling me the thing brfore channel is

#

๐Ÿคฆ

quartz kindle
#

setInterval(() => {})
^ nothing here

compact prairie
#

k

compact prairie
#

ik

quartz kindle
#

it doesnt have anything against undefined values, you can use undefined values anywhere you want

compact prairie
#

but its annoying

quartz kindle
#

but you cant access something else from an undefined, thats why

compact prairie
#

oh

quartz kindle
#

btw, i hope you dont run that command more than once in the same channel

scarlet stratus
#

is it against the tos to write anouncements like bot updates over the bot. with a command that is saved over a specifig users id?

earnest phoenix
#

if your user opted in to receive announcements, no

opal plank
earnest phoenix
#

otherwise it would be api abuse / api spam

#

^^

opal plank
scarlet stratus
opal plank
#

make it opt-in, not opt-out, and it should be fine

scarlet stratus
#

ok thanks for your time ๐Ÿ˜„

opal plank
#

np

compact prairie
#

is there a way to check the amount of messages in teh bot's cache

cinder patio
#

Use the reduce method on the client.channels.cache collection

compact prairie
#

discord.js lib

#

what

cinder patio
#

make sure to filter out voice channels

cinder patio
#

yes... you can get the all the messages this way, channel.messages.cache.size

compact prairie
#

client.channel.messages.cache.size

cinder patio
#

no

compact prairie
#

how do you define channel

cinder patio
#

you run the code inside the reduce callback function

compact prairie
#

well yeah

#

but how would you define it

cinder patio
#

it's the second parameter of the callback function

compact prairie
#

channel?

#

really

cinder patio
#

yes

compact prairie
#
run: async function(client, channel, message, args) {```
#

like that

cinder patio
#

no... not at all

#

inside the reduce callback function.

channels.reduce((accumulator, channel) => /* You have access to channel */, 0);
compact prairie
#

oh okay ty!

cinder patio
#

Note that just by putting the code I gave you inside the callback function won't give you the total amount of messages

#

You have to add the amount of messages of the current channel with the accumulator. You also have to check if the channel is a voice channel, and in that case you should add 0

quartz kindle
#

basically, there is no total number for all channels, but each channel has its own messages

#

so you need to go through all channels and count the messages for each channel

#

the reduce function is basically a simplified way to do this ```js
let total = 0;
for(let channel of client.channels.cache) {
total += channel.messages.cache.size;
}

cinder patio
#

but is it faster slonk

quartz kindle
#

x doubt

pale vessel
#

benchmark time

quartz kindle
#

on it

pale vessel
mellow kelp
#

ah yes

earnest phoenix
#

Ah no

mellow kelp
#

fighting over code because one solution is 0.0001ms faster than the other

earnest phoenix
mellow kelp
pale vessel
#

fax

#

"my code is better!"

#

"i have to flex my one liner!"

earnest phoenix
#

MY CODES BETTER.

cinder patio
#

not fighting zoomeyes I'm just curious if the if one is fatser

earnest phoenix
#

My. Code. Is. Better!

quartz kindle
#

interesting

#

reduce is twice as fast

#

at least for arrays

mellow kelp
#

wait what

#

gasp

cinder patio
#

damn

mellow kelp
#

did i miss the day where array methods were made faster than for loops

quartz kindle
#

reduce = 450ms

#

for of = 3000ms

#

for = 1000ms

cinder patio
#

discord.js uses a for loop internally for reduce

quartz kindle
#

forEach = 3000ms

cinder patio
#

so in the case of collections, a regular for loop is probably a little faster than Collection#reduce

quartz kindle
#

possibly

cinder patio
#

Collection#reduce also does a bunch of checks to check if the collection is empty etc

quartz kindle
#

collections are bloatware

#

change my mind

cinder patio
#

I won't cause I agree

earnest phoenix
#

Hey Can Anyone please give me the link to top.gg docs ?

quartz kindle
summer torrent
#

no

pale vessel
#

changed

summer torrent
earnest phoenix
#

TYSM

restive furnace
cinder patio
#

a lot of this seems unnecessary

earnest phoenix
#

it needs to be dumb-proof

quartz kindle
#

:o

earnest phoenix
#

it's a language feature

#

how can i retrieve The user's name who voted from on_dbl_vote

#

from that data parameter

restive furnace
#

lib?

earnest phoenix
#

python

#

dblpy

restive furnace
#

discord.py should have something like client.get_user(id_here)

earnest phoenix
#

yes

#

fetch_user

restive furnace
#

well why not use that?

earnest phoenix
#

But How can i Pass The ID There

restive furnace
earnest phoenix
#

I Dont Know How to retrieve anything from That Data

#

data['user']

#

oh

#

Thx

#

you need to cast it as int though if you use get_user

#

Can it be used as a @client.event ?

restive furnace
#

you can use print(data) to view the data structure too

earnest phoenix
#

the on_dbl_vote? Sure

#

Yes

#

on_dbl_vote

earnest phoenix
#

bot.dispatch will dispatch the event to bot's attr and external listeners

cinder patio
#

Yeah but why check if initial value is undefined and run a different loop based on that?

let accumulator = initialValue;
if (!this.size && typeof accumulator === "undefined") // Reduce of empty collection with no initial value...
for (const [key, value] of this) accumulator = fn(accumulator, val, key, this);
return accumulator;

Doesn't this do the same thing, except it's more readable and simpler

earnest phoenix
#

data['user']

#

I Can Call It As A Normal client.event?

#

pls tell

#

Yes

shrewd sparrow
#

can you put a link for another discord bot site (for voting) in my bot?

earnest phoenix
#

on_dbl_vote

#

I wasn't only asking that, I also gave an answer.

#

didnt understand

shrewd sparrow
#

err

earnest phoenix
#

What did you not understand with the word "sure" lol

#

๐Ÿ˜…

#

oh that way

pale vessel
#

๐Ÿ˜…

earnest phoenix
#

๐Ÿ˜…

#

Thx For Help

#

But I Will need to pass that Token and other things

#

Yes, when instantiating the DBLClient object.

#

So WHere to pass that?

#

DO I Have to make Some cog thing?

#

not necessary

#

So In The event only ?

#

Hey how to make a leaderboard?

cinder patio
#

leaderboard for what?

earnest phoenix
#

It's pointless if you only setup the listener but not the webhook. Nothing is gonna fire the event itself.

#

Users account balance

crimson vapor
#

ty for reminding me that I need to make a command

gilded olive
#

Most likely leveling, currency, etc

earnest phoenix
#

Yes

earnest phoenix
#

I Dont Know About Webhooks And dblpy events

crimson vapor
#

are you familiar with mongoose? @cinder patio

earnest phoenix
#

So I Came to ask here

cinder patio
#

Only mongodb

crimson vapor
#

ah

#

nvm then

#

ty anyway

earnest phoenix
#

@client.event
async def on_dbl_vote(data):
print(data)

crimson vapor
#

here is a big brain question, if someone does a leaderboard command, should you cache all of the responses from the db?

earnest phoenix
#

How Can I Connect that webhooks

crimson vapor
#

or no

cinder patio
#

mmm I wouldn't

earnest phoenix
#

Hey tell me how to create a leader board

#

Pls

cinder patio
#

Sorting depends on which database you're using

earnest phoenix
cinder patio
#

then you'll have to fetch all users in the database, another reason quick.db is garbage

cinder patio
#

sorry, anyways yeah, get all users, use Array#sort to sort em, get the first X elements with slice

earnest phoenix
# earnest phoenix I Dont Know About Webhooks And dblpy events

If you're planning to set it up on your main file, you can instantiate the DBLClient after the discord client instantiation.

client = discord.Client(...)                    # or its subclasses
dbl_client = DBLClient(client, dbl_token, ...)  # read the documentation so that you know what to pass.

@client.event
async def on_dbl_vote(data):
    # do something with it
earnest phoenix
#

tysm

crimson vapor
#

yikers

earnest phoenix
#

dbl_token

#

Do We pass anything else?

crimson vapor
#

I store all my data in mongodb with userID and guildID so I can ezpz grab the entire guild

earnest phoenix
#

Thx

#

I Didnt Notice that

cinder patio
earnest phoenix
#

Thanks for help

cinder patio
#

here are the docs

#

which are also pretty shit

#

I think db.all() should do it, and then use Array#sort, but the docs aren't clear at all so

earnest phoenix
#

Ohk

cinder patio
#

but I recommend switching databases when your bot gets bigger

#

or, switching ORMs - sqlite is fine for discord bots. If you want power and simplicity I recommend sequelize

silent cloud
#

O hayooo

#

Why, when my bot working around 24 hours, I have this error

earnest phoenix
#

idk

#

search in youtube or google

#

do you recommend AWS as a host? And they say you can use it for 12 months free?

lyric mountain
#

there are less overkill options

#

also, free-trials are never good

earnest phoenix
#

ohv then? Cause contabo is like 15 euros a month

quartz kindle
#

free trial on amazon or google is better than glitch/heroku/repl.it

#

you can find vps for $3 / month

earnest phoenix
midnight imp
#

Does anyone need help with discord.js

earnest phoenix
#

So I guess I will use that?

vocal sluice
earnest phoenix
#

HostGator is a couple of dollars a month, any reviews ?

quartz kindle
#

stay away from them

earnest phoenix
prime glacier
#

how can i get client user's?

quartz kindle
compact prairie
#

is there a way to send an embed and a message in the same message

#

lib discord.js

earnest phoenix
#

That on_dbl_vote is not getting called

#

How Do I Fix That

lament rock
compact prairie
#

really

#

no

lament rock
#

If you want to edit a message to remove the content and only have an embed, do message.edit(null, embed)

#

believe me if you want to

compact prairie
#

ty

#

it worked

#

i had tried it before and it didnt work and now it did so

lament rock
#

Probably had it reversed

compact prairie
#

yeah

pliant arch
#

Hey, I hosted my code on heroku but after some time I'm getting the output 4-5 times, anyone knows how to fix?

lament rock
#

You're probably adding a message listener inside of another listener

pliant arch
#

No , I didn't do that... when I run the code using localhost it works fine

#

The problems happens after some time, for an hour it works fine

lament rock
#

How many instances of <Client>.on("message" are there

#

because users might do something you aren't doing

earnest phoenix
#

I found a nice VPS for cheap

lament rock
#

shit pricing for specs. You can get similar spec for free

crimson vapor
#

someone needs to start selling real vpss at 1 usd with like 1vcore and 512mb so people stop buying these shits

#

anyway

lament rock
#

true. 256MB of storage is laughable as well

crystal wigeon
#

hey umm

lament rock
#

sorry. 512

crystal wigeon
#

i get internal server error from discordjs...

earnest phoenix
#

It's the cheapest I found, most people don't recommend free servers

crimson vapor
#

I mean ram

lament rock
#

That's an Error on Discord's end

crimson vapor
#

give like 10gb storage lol

crystal wigeon
#

why would that happen

crimson vapor
#

back to my question

crystal wigeon
#

like i got like 5 such errors

lament rock
#

Idk. I'm not a Discord engineer. Discord is gay sometimes and breaks

crimson vapor
#

is there a way for me to fetch 10 specific guild members without fetching all or fetching them individually?

#

because spamming the api isnt good

#

and can I even fetch more than 1 without having the guild members intent?

lament rock
#

Pretty sure there's a limit option

crimson vapor
#

can I specify like 10 of them that I need?

pale vessel
#

yes

lament rock
#

mmm oh. 10 specifically

#

Is there an option to get within an Array

#

I don't remember seeing that in the docs

crimson vapor
#

how would I do this flaze?

pale vessel
#

what are you using

crimson vapor
#

raw api basically

pale vessel
#

user_ids

crimson vapor
#

ah

crimson vapor
#

I got missing access error

pale vessel
crimson vapor
#

hmm

tardy hornet
#

how can i make a leaderboard command? (quick.db)

cinder patio
cobalt spruce
#

Pog

#

@cinder patio u helped alot

twilit pecan
#

Has a way to evict the redirect URL process?

glacial pagoda
cinder patio
twilit pecan
#

Ok, i want get user name of Twitch connection

#

So some guys tell me to use oAuth2

#

But i don't know use it right

cinder patio
#

yeah you can only get those via oAuth2

#

you need to have a webserver in order to use oauth2

twilit pecan
#

I've already think this...

#

So i made a website, the URL go to a JSON and it i use to verify?

cinder patio
#

You use the code that discord appends to the query params and exchange it for a user access token.

#

Which lib are you using for the server?

twilit pecan
#

I've not start to make it

#

But usually i use ExpressJS

cinder patio
#

oh

glacial pagoda
#

Can Someone Help Me?

cinder patio
cinder patio
#

first answer on google

glacial pagoda
#

Ok!

twilit pecan
#

Does works with Glitch?

cinder patio
#

yeah

twilit pecan
#

Sorry for the inconvenience

tardy hornet
#
if(message.mentions.members.first().id === '723081690792067143' || '798498750502928407') return message.reply("you cant rob them, lol you should have not tried that, now you got to wait 2h!")

it reply that to every user i ping, it should not

cinder patio
#

That's because the expression in the if statement boils down to false/true OR true, which is always true

#

That's not how you check if a value is either this or that

#

value === this || value === that

#

is the correct way

lyric mountain
#

that reply gives me roblox feels

mellow kelp
#

your might want to use ['id-1', 'id-2'].includes(thing)

pale vessel
#

big brain

mellow kelp
#

but you might also just store the id in a variable and compare it two times

tired panther
#

I am currently working on a lb

    guildid: { type: String },
    monthnumber: {type: Number}, ///?!?! Month starts on 0
    week1: {type: Array},
    week2: {type: Array},
    week3: {type: Array},
    week4: {type: Array}

How can I change or update week4 without making a case/if else condition to go on the object like

if (week ===1) guild.week1 = "100";
if(week === 2) guild.week2 = "100";
``` I do not want to make a case or a condition, is there a possiblity to go to the array object without checking for each 4 weeks
cinder patio
#

guild["week" + week] = "100" comes to mind

tired panther
earnest phoenix
#

Hi guys

#

why when i try console.log(gld)

#

i get the whole thing

#

and when i try

#

console.log(gld.members)

#

i get Cannot read property 'members' of undefined

#

btw

#

gld is guild

cinder patio
#

Where do you run console.log(gld.members)? inside an event, or a command?

earnest phoenix
#

i named it in this way bc it was already used

tired panther
earnest phoenix
#

in a nodejs website

#

=)))

#

with ejs

#
console.log(guild.id)
const gld = bot.guilds.cache.get(guild.id)
console.log(gld)
const mbrs = gld.members
console.log(mbrs)
#

?

#

in first log i get the guild id

#

then i get members roles blah blah

#

and then i get this error

#

Cannot read property 'members' of undefined

cinder patio
#

that's really weird

tired panther
earnest phoenix
#

nope

#

there are

tired panther
cinder patio
#

maybe it's got something to do with ejs

tired panther
pale vessel
#

what other lib has cache.get()

earnest phoenix
#
<ref *1> Guild {
2|app  |   members: GuildMemberManager {
2|app  |     cacheType: [class Collection extends Collection],
2|app  |     cache: Collection(60) [Map] {
2|app  |       '735096468091961415' => [GuildMember],
2|app  |       '433699344399728642' => [GuildMember],
2|app  |       '429334867923173377' => [GuildMember],
2|app  |       '411130600188149765' => [GuildMember],
2|app  |       '272663855891742720' => [GuildMember],
2|app  |       '269095564317163520' => [GuildMember],
2|app  |       '605121899512594462' => [GuildMember],
2|app  |       '293468745593126913' => [GuildMember],
2|app  |       '354695071095848970' => [GuildMember],
2|app  |       '272996542821171200' => [GuildMember],
2|app  |       '755720074756751392' => [GuildMember],
2|app  |       '277486282542809088' => [GuildMember],
#

that s the logs from

#

gld

tired panther
pale vessel
#

still discord.js

earnest phoenix
#

yea

tired panther
earnest phoenix
#

i tried .members.get(id)

cinder patio
#

I think ejs is definitely doing something here.

#

but I don't know much about ejs so I can't help

earnest phoenix
#

oh ok

#

thanks

tired panther
earnest phoenix
tired panther
errant perch
#

is bot.ws.ping the same as averaging the ping of every shard that is active

tired panther
#

How can I define many variable in a row?

let week;
let week2
wanted
let week ; let week2

but this style is blobdisguise

cinder patio
#

let week, week2; @tired panther

tired panther
#

thx

drifting wedge
#

sometimes my bot starts, but it doesnt turn on
like it gets online
but it doesnt run
and it sometimes does too, so its not the code
and idk why its happening
ping me if anyone has any ideas

earnest phoenix
#
<% guilds.forEach(guild => { %>
  <%- include('partials/gld', { guild }) -%>
<% }) %>
#

i have this code in ejs

#

how am i supposed to run it outside?

crimson vapor
#

what do you mean run it outside?

crimson vapor
#

what are you talking about

#

exports in ejs?

glossy spoke
#

how can i connect a backend on node.js with a web's repl on repl.it

#

?

pale vessel
#

?

glossy spoke
#

i mean connect 2 repls

crimson vapor
#

@slim heart for command middleware you should require an absolute true to continue, so response === true

earnest phoenix
#

another question

#

how can I check if a user have a specific permission

#

?

#

i mean

#

something like this

#

if(guild.permissions === 2147483647)

compact prairie
#

๐Ÿค”

pale vessel
#

no don't use that

glossy spoke
#

what the

pale vessel
#

Use &

earnest phoenix
#

like?

glossy spoke
#

@earnest phoenix for example manage guild, it's like

if (<message>.author.hasPermission("MANAGE_GUILD"));
earnest phoenix
#

yea

#

ik

#

=))

#

i m trying to use it on website

glossy spoke
#

o

earnest phoenix
#

soooo

#

that s y i m using this

zenith knoll
#

Can someone helpo me setup Express with TopGG voting webhooks?

earnest phoenix
#

i mean if(guild.permissions === 2147483647) is working, but it s checking if user has admin and i want to check if the user has manage guild permission

#
module.exports = async (bot, message, newMessage) => {
    if (message.author.id === bot.user.id || message.attachments.first()) return;
    const snipes = bot.editsnipes.get(message.channel.id) || [];
    snipes.unshift({
        old: message.embeds.length && message.content.length ? bot.functions.embedToMessage(message.embeds[0], message.content) : message.embeds.length ? bot.functions.embedToMessage(message.embeds[0]) : message.content,
        new: newMessage.embeds.length && newMessage.content.length ? bot.functions.embedToMessage(newMessage.embeds[0], newMessage.content) : newMessage.embeds.length ? bot.functions.embedToMessage(newMessage.embeds[0]) : newMessage.content,
        author: message.author,
        channel: message.channel,
        date: Date.now()
    })
    snipes.splice(10)
    bot.editsnipes.set(message.channel.id, snipes)
};
#

messageUpdate event ^

quartz kindle
#

yes, embeds trigger message updates

earnest phoenix
#

how can i prevent this?

#

i got an idea.

#

i will compare in 2 messages

quartz kindle
#

check if message.author exists

#

embed updates dont have an author

#

only a message id and the embed

glossy spoke
#

Tim

#

how can i make a web with node.js on repl? it doesn't load the html file

misty sigil
#

using express?

glossy spoke
#

no

grizzled raven
#

just so you know :^)

quartz kindle
#

if you want to make a website, create a html repl, not a node one

glossy spoke
#

i wanna make a backend

misty sigil
#

what if you want a backend

quartz kindle
#

then you can use the node one, but you need a webserver

#

like express

misty sigil
quartz kindle
#

or fastify

#

or restana

#

or many others

#

there are like 50 of them

grizzled raven
#

node.html

misty sigil
#

html.node

grizzled raven
#

i should go check out fastify

outer perch
#

I noticed when a bot is fully shut down, the user keeps online after some seconds. Is there any function to logoff when shutting down? ๐Ÿ˜†

rustic nova
#

not really, apart from just being creative and having the bot set itself to offline when shutting down KEKW

glossy spoke
#

Tim

#

is this enough to make the web?

earnest phoenix
#

(node:10476) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'cache' of undefined how is message.guilds undefined

glossy spoke
#

._.

#

did you mean client.guilds?

earnest phoenix
#

lmfao

frosty valve
#

does it exist any better way I can make this?

const Discord = require('discord.js');
const webHookclient = new Discord.WebhookClient('No', 'sneakpeak')

exports.run = async(client, message, args) => {
  const embed = new Discord.MessageEmbed()
    .setTitle('Some Title')
    .setColor('#0099ff');

  webHookclient.send('A error happen', {
      username: 'Command Errors',
      avatarURL: 'PFP',
      embeds: [embed],
  })
  };
                    

exports.help = {
  name: "webhook",
  aliases: []
}```
earnest phoenix
#

'A error happen'

frosty valve
#

no error happen

#

it is what it says when command is used

earnest phoenix
#

idk

frosty valve
misty sigil
earnest phoenix
#

it s possible to check if a bitfield has a specific flag??

#

sure

#

that's the whole point of bitfields

glossy spoke
earnest phoenix
#

ohhhhh im a freaking idiot

misty sigil
#

read the docs

earnest phoenix
#

i made the function (client, db) but i called it as (db, client)

#

smh

glossy spoke
#

thx

mellow kelp
#

i love that og image

#

it's literally just "Express"

earnest phoenix
earnest phoenix
#

left hand side is your bitfield, right hand side is the flag you want to check

#

and then just check if the result of that equals to the flag

#

(node:3920) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, mkdir './db/data/guilds/731342408293285928/'

#

๐Ÿ˜ฉ

#

o shite

#

my bad

#

i forgot to make that folder

misty sigil
#

ew

#

is that a json type db

mellow kelp
#

i just spent 30 minutes trying to fix a bug, before i realized the bug didn't even exist

#

i love coding

earnest phoenix
#

Also me who has spent 1 hour trying to check if a oauth2 user has a specific permission

#

=)))

#

and still with no succes

tardy hornet
earnest phoenix
mellow kelp
#

js has a toLocaleString() method on numbers

#

you can add currency type and country

earnest phoenix
#

mm

tardy hornet
mellow kelp
#

hold up

earnest phoenix
#

so discord oauth2 give a permissions number ( ex: 37080128 )

#

how can i check with this code if user has

#

a specific permission

#

?

#

:3

earnest phoenix
#

what don't you get about it

tardy hornet
mellow kelp
#

oh i found it

#

yourNumber.toLocaleString('en-US', { style: 'currency', currency: 'USD'})

earnest phoenix
#

i tried nb = new Discord.Permissions('37080128') and i get RangeError [BITFIELD_INVALID]: Invalid bitfield flag or number.

#

so yea

tardy hornet
earnest phoenix
mellow kelp
#

you could make a shorthand function

fierce ether
#
    async resolveChannel(search, guild){
        let channel = null;
        if(!search || typeof search !== "string") return
        if(search.match(/^<@&!?(\d+)>$/)){
            const id = search.match(/^<@&!?(\d+)>$/)[1];
            channel = guild.channel.cache.get(id);
            if(channel) return channel;
        }
        channel = guild.channels.cache.find((c) => search === c.name);
        if(channel) return channel;
        channel = guild.roles.cache.get(search);
        return channel;
    }``` how would i make this work for #channel aswell
glossy spoke
#

@earnest phoenix hahahahaha what are you doing here?

earnest phoenix
#

nvm

#

solved it

glossy spoke
#

So why are you here if you doesn't understand

earnest phoenix
#

Not speak inglish

#

Bitch

#

lol

glossy spoke
#

Any mod?

earnest phoenix
#

Not

glossy spoke
#

This guy just called me bitch

earnest phoenix
#

Xd

#

Ya xd

glossy spoke
#

It's funny for you?

earnest phoenix
rustic nova
#

please move channel if you're not here to talk about development

magic vault
#

Whats the going rate to make 3000 lines of Java code reactive and sharded in Discord4J?

#

I'm kidding, I will ask for help in the future - it's tough - I LOVE .blocking()

glossy spoke
rustic nova
#

@earnest phoenix Yeah please don't be rude to other people aswell

rustic nova
magic vault
#

Yeah I think I kind of upset the Discord4J community when trying to show my failing at reactive - its so different from regular Java that I just can't. It's alright, I launched today and still have only two guilds, both of which I own ๐Ÿ™‚ so maybe I need to hold back my concerns and also my hopes.

distant cobalt
#
let i = await message.channel.send(user1.toString(), embed2)
            i.react('โœ…').then(() => i.react('โŽ'));

            const filter = (reaction, user1) => {
                return ['โœ…', 'โŽ'].includes(reaction.emoji.name) && user1.id === user1.id;
            };

            message.awaitReactions(filter, { max: 1, time: 60000, errors: ['time'] })
                .then(collected => {
                    const reaction = collected.first();

                    if (reaction.emoji.name === 'โœ…') {
                        message.reply('Accepted');
                    } else {
                        message.reply('Declined');
                    }
                })
                .catch(collected => {
                    message.channel.send('You did not in time.');
                });``` how come the bot doesn't recognize that i added a reaction?
opal plank
#

what the heck is that

crimson vapor
#

^

opal plank
#
let i = await message.channel.send(user1.toString(), embed2)
            i.react('โœ…').then(() => i.react('โŽ'));```
#

wtf

distant cobalt
drowsy ledge
#

ctrl+c and ctrl+v

opal plank
#
let i = await message.channel.send(user1.toString(), embed2);
await i.react('โœ…');
await i.react('โŽ');
opal plank
drowsy ledge
opal plank
#

where did you copy that from boulevard?

distant cobalt
opal plank
#

WHICH guide?

distant cobalt
opal plank
#

okay good that you checking docs, but thats 100% not good practice you doing there with await and .then

distant cobalt
#

oh

opal plank
#

okay wtf

#

bruh

#

the DOCS have that garbage?

earnest phoenix
#

Lol

distant cobalt
#

so i can just do js await i.react('โŽ');?

earnest phoenix
#

Erwing going rrrrrrrrr

crimson vapor
#

wait

#

ik why

opal plank
#

oh, they dont want to async the snippets

distant cobalt
crimson vapor
#

because you are not awaiting the reactions

#

therefore it doesn't work

proven lantern
#

wont this wait for check and then only wait for x after it receives a check?

await i.react('โœ…');
await i.react('โŽ');```
opal plank
#
 return ['โœ…', 'โŽ'].includes(reaction.emoji.name) && user1.id === user1.id;
#

whats this suppose be doing there?

#

if apples === apples

distant cobalt
#

make sure that it's the right user

slim heart
#

erwin join vc

#

i need help

crimson vapor
#

@opal plank @slim heart needs help with declaring a namespace

opal plank
#

sure

proven lantern
midnight blaze
#

can you use a collector for all the channels in the guild?

crimson vapor
#

wait

#

shit

#

there

unkempt ocean
#

oh wait

#

yes you still can ig, with the for loop maybe

opal plank
#

and use the message event to filter

drifting wedge
#

My bot can't log in, like it turns on but it doesn't respond and the ready event is not called, and when it is, the web socket disconnects right after

urban surge
#
ns
    at RequestHandler.execute (C:\Users\Administrator\Desktop\app\node_modules\d
iscord.js\src\rest\RequestHandler.js:154:13)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at async RequestHandler.push (C:\Users\Administrator\Desktop\app\node_module
s\discord.js\src\rest\RequestHandler.js:39:14)
(node:3544) 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 termina
te the node process on unhandled promise rejection, use the CLI flag `--unhandle
d-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejectio
ns_mode). (rejection id: 35)
Stats Command: 211841569676853248
(node:3544) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or dir
ectory, open '/app/userData/savedData/76561198201275157.json'
    at Object.openSync (fs.js:476:3)
    at Object.writeFileSync (fs.js:1467:35)
    at Updater.update (C:\Users\Administrator\Desktop\app\classes\Updater.js:36:
10)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at async Object.module.exports.run (C:\Users\Administrator\Desktop\app\cmds\
istatistikler.js:25:7)
(node:3544) 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 termina
te the node process on unhandled promise rejection, use the CLI flag `--unhandle
d-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejectio
ns_mode). (rejection id: 36)```

My discord bot works very well on glitch but in vds servers it gives errors.How can i solve this?
cloud warren
#

I want to remove my bot from servers with less than 200 members. What code can you help me?

opal plank
unkempt ocean
#

cannot find the dir

opal plank
#

this is due to path

lethal harbor
#

Odin Pls Dm

unkempt ocean
#

sure

urban surge
#

works on glitch

cloud warren
#

I want to remove my bot from servers with less than 200 members. What code can you help me?

fringe pendant
#

find out how to leave a guild in whatever library you're using

cloud warren
#

very urgent

earnest phoenix
#

in which library

opal plank
cloud warren
opal plank
#

loop client.guilds.cache

#

and check for memberCount < 200

cloud warren
#

I tried but it failed

opal plank
#

what DID you try?

cloud warren
#

not worked

fringe pendant
#

odds are not many guilds you're in have < 5 members

cloud warren
#

I tried at 200 it gives an error again

unkempt ocean
cloud warren
unkempt ocean
#

is there any error? like i is not defined?

cloud warren
#

man but it gives an error I tried many times

unkempt ocean
#

can you show us the error?

#

and also you should remove that i, you don't even defined it

cloud warren
#
    client: [Circular],
    MessageCreate: MessageCreateAction { client: [Circular] },
    MessageDelete: MessageDeleteAction { client: [Circular] },
    MessageDeleteBulk: MessageDeleteBulkAction { client: [Circular] },
    MessageUpdate: MessageUpdateAction { client: [Circular] },
    MessageReactionAdd: MessageReactionAdd { client: [Circular] },
    MessageReactionRemove: MessageReactionRemove { client: [Circular] },
    MessageReactionRemoveAll: MessageReactionRemoveAll { client: [Circular] },
    MessageReactionRemoveEmoji: MessageReactionRemoveEmoji { client: [Circular] },
    ChannelCreate: ChannelCreateAction { client: [Circular] },
    ChannelDelete: ChannelDeleteAction { client: [Circular], deleted: Map {} },
    ChannelUpdate: ChannelUpdateAction { client: [Circular] },
    GuildDelete: GuildDeleteAction { client: [Circular], deleted: Map {} },
    GuildUpdate: GuildUpdateAction { client: [Circular] },
    InviteCreate: InviteCreateAction { client: [Circular] },
    InviteDelete: InviteDeleteAction { client: [Circular] },
    GuildMemberRemove: GuildMemberRemoveAction { client: [Circular] },
    GuildMemberUpdate: GuildMemberUpdateAction { 
}```
#

I'm getting errors like this

tulip ledge
#

I have this issue, it sais my node is v12 when I have v14.15.5 installed I deleted all modules and used "yarn" to rebuild them but I still get the error

unkempt ocean
#

just some logs

#

what's your discord.js version

urban surge
#
ectory, open '/app/userData/savedData/76561198201275157.json'
    at Object.openSync (fs.js:476:3)
    at Object.writeFileSync (fs.js:1467:35)
    at Updater.update (C:\Users\Administrator\Desktop\app\classes\Updater.js:36:
10)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at async Object.module.exports.run (C:\Users\Administrator\Desktop\app\cmds\
istatistikler.js:25:7)```

Although the file location is correct, it fails. only this error is happening on windows server
grizzled raven
#

doesn't windows use paths separated by \?

#

windows built different

crimson vapor
#

windows REEEEE

wintry glade
#

how do i change the buttons' colours for vote and invite and the other stuff ?

hearty remnant
#
'use strict';

exports.onMessageDelete = async(botClient, network, channelsCache, msg) => {
    if (!msg.author || msg.author.discriminator === '0000' || !msg.channel.guild) {
        return;
    }

    const cur = network[msg.channel.id];
    if (!cur) {
        return;
    }

    if (msg.author.bot && cur.ignoreBots !== false) { // ignore bots by default (check for false specifically)
        return;
    }

    if (cur.ignore) { // ignore channels if needed
        return;
    }

    const messages = channelsCache[msg.channel.id].get(msg.id);
    for (const m of messages) {
        m.delete().catch();
    }
    channelsCache[msg.channel.id].delete(msg.id);
};
#

Eris.js webhook deletion

#

Works for a little bit but then crashes

urban surge
# grizzled raven doesn't windows use paths separated by `\`?
        config.path + `\userData\savedData\` + this.steamID + ".json",
                       ^^^^^^

SyntaxError: Invalid Unicode escape sequence
    at wrapSafe (internal/modules/cjs/loader.js:979:16)
    at Module._compile (internal/modules/cjs/loader.js:1027:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.<anonymous> (C:\Users\Administrator\Desktop\app\cmds\istatistikler
.js:2:17)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)

I tried it gave different error this time

wicked pivot
delicate zephyr
#

i swear node atuo converts / anyway

#

so / should work

urban surge
grizzled raven
modest maple
#

It certainly should 02Think

#

If it doesn't then that is a horrible oversight

delicate zephyr
#

atleast when ive done it has

mellow kelp
#

yes it does

grizzled raven
#

wack

outer perch
#
(node:2352) TimeoutOverflowWarning: 5184000000 does not fit into a 32-bit signed integer.
```what
odd stratus
#

Integer is too big? ๐Ÿค”

mellow kelp
#

fat int

dusky sundial
#

The number is too big for a 32bit int

outer perch
#

so how do I remove VIP after 2 months?

#

The error is in the timeout

mellow kelp
#

use cron probably

dusky sundial
#

You could use a long, instead of an int

outer perch
mellow kelp
#

cron jobs

#

you schedule a function to be executed at a certain point in time or something

outer perch
#

omfg, ty

mellow kelp
#

there's a package called node-cron

quartz kindle
#

do you have a database that stores vip information?

outer perch
#

I was using Date() to get the value in miliseconds

outer perch
quartz kindle
#

how do you store the time period for which it is valid?

outer perch
#

in Firebase, each document from the collection 'vip' has it's id set to the user's, and has a value called 'until' which is a timestamp

quartz kindle
#

alright

#

so on bot start, begin an interval that fetches all documents whose "until" field is smaller than 1 day away

outer perch
#

already have that

quartz kindle
#

have the interval run every 24 hours or something

outer perch
#

oh

quartz kindle
#

and for each fetched document, begin a timeout for them

outer perch
#

should I do that? I don't wanna exceed quotas

quartz kindle
#

its one database operation per day, its not gonna matter

#

idk how firebase works as i've never used it, but you should be able to fetch multiple documents at once by a certain criteria

outer perch
mellow kelp
#

cron jobs PepeHands

quartz kindle
#

they are not right

#

the idea is to create a timeout ONLY for the ones who will expire in less than one day

#

you're setting timeouts for 2 months

mellow kelp
#

hmm true

outer perch
#

well, I thought wrong

#

I need to think about these things better

#

or else I might do something huge, when I could do it little

quartz kindle
#

its pretty simple

outer perch
#

no wait, I understood what you said

#

I was talking in general

quartz kindle
#
// bot start
setInterval(() => {
  let data = firebase.fetch(documents WHERE until < Date.now() + 1 day in ms) // or whatever the api looks like
  for(let doc of data) {
    setTimeout(() => {
      unvip(doc.id)
    }, doc.until - Date.now())
  }
}, 1 day in ms)
#

lul

outer perch
#

wait WHAT

#

fetch? omfg I didn't find such thing anywhere

#
const refV = db.collection('vip');
const snapshot = await refV.where('until', '!=', 'forever').get();

        if (!snapshot.empty) {
            snapshot.forEach(doc => {
                const until = doc.get('until');
                const 

                if (until != 'forever') {
                    const ms = (until._seconds * 1000) - Date.now();
                    vip.add(doc.id);
                    setTimeout(() => {
                        vip.delete(doc.id);
                        doc.delete();
                    }, ms);
                }
            });
        }
#

what I had xD

quartz kindle
#

i never used firebase so idk what its api looks like

#

hence why i commented

#

// or whatever the api looks like

outer perch
#

oh, k

#

thought it existed xDDD

quartz kindle
#

is there a way to add another condition to that where?

outer perch
#

I guess not

#

the docs didn't mention that

quartz kindle
#

where until != forever AND until < Date.now() + 1day

#

thats what you need

outer perch
#

at least at where I looked

#

yeah, I have a 'forever' for me and my gf xDDD

#

gonna check the where usage

quartz kindle
#

from the firebase docs

#

citiesRef.where("state", "==", "CO").where("name", "==", "Denver");

outer perch
#

oh, weird way

quartz kindle
#

You can chain multiple equality operators (== or array-contains) methods to create more specific queries (logical AND). However, you must create a composite index to combine equality operators with the inequality operators, <, <=, >, and !=.

outer perch
#

what about >=?

#

just askin', they didn't mention it

quartz kindle
#

no idea

#

try it

outer perch
#

don't need it

#

I was just skeptical

#
const snapshot = await refV.where('until', '!=', 'forever').where('until', '<', Date.now() + 86400000).get();
#

I guess it should be like this

quartz kindle
#

i guess yeah

outer perch
#

I learned a lot with this, ty @quartz kindle

#

gonna give a star like some other random guy did ๐Ÿ˜‚

#

๐ŸŒŸ

quartz kindle
#

lmao

grizzled raven
#

save some stars for the rest of us

outer perch
#

lol, Kirby talkin' ๐Ÿ˜‚

swift cloak
#
const config = ConfigSchema.findOne({
guildID: message.guild.id
})
console.log(config.prefix)

it says undefined
but im looking in the collections
and prefix does exist

grizzled raven
#

you have to await it

quaint wasp
#

Does anyone have any suggestions on how to host their bot 24/7 with no crash's fre

tulip wave
#

Await or .then

quaint wasp
#

e?

grizzled raven
#

buy a host

#

a vps

tulip wave
grizzled raven
#

or go insane and buy a dedi

quaint wasp
#

What's dedi?

tulip wave
#

Dedicated server

quaint wasp
#

Is it better than vp

grizzled raven
#

don't worry about them though, i was joking

quaint wasp
#

s?

#

Alright...

tulip wave
#

Don't worry about dedicated servers they ain't worth it for small bots

grizzled raven
earnest phoenix
#

I get an error "the user aborted a request" what is this i am using d.js v12

quaint wasp
#

Mine.... Idk... Small.. has only 20 cmds...

#

For moderation

tulip wave
#

When we talk about size we mean more of server count

earnest phoenix
quaint wasp
#

Nope....

earnest phoenix
tulip wave
earnest phoenix
#

sure

dusky sundial
tulip wave
#

That too

#

But full error first

earnest phoenix
quaint wasp
#

wow..

dusky sundial
#

AbortError usually means that a request took too long or didn't finish at all

quaint wasp
#

How do u make an embed if its not MessageEmbed?

modest crane
tulip wave
#

Possibly a network issue

quaint wasp
tulip wave
#

embed = new Discord.MessageEmbed()
I think

earnest phoenix
quaint wasp
unkempt ocean
modest crane
#

hmm

quaint wasp
#

wwaaiitt...

tulip wave
#

I forgot how to use d.js lol