#development

1 messages ยท Page 545 of 1

zealous veldt
#

yeah

quartz kindle
#

many vps solutions limit them

zealous veldt
quartz kindle
#

lmao

wanton shuttle
#

@jagged plume, I have checked the id of the channel, there's no problem with it

#

but still not working

jagged plume
#

idk, i don't use discord.js

#

the problem is that ok is undefined, meaning that it cant get the channel

#

are you sharding?

wanton shuttle
#

{ shards: [] }

#

no shards right there

jagged plume
#

i really don't know, someone who knows more about discord.js might be able to tell you why it's doing that but i cant

#

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

earnest phoenix
#

maybe do

#

client.guilds.get("dwde").channels.get("dwedfa")

#

i dont really use discord.js

#

whats the problem

#

lol

#

i mean

wanton shuttle
#

I'm tired, I have no clue how to fix it

#
dbl.webhook.on('vote', vote => {
let ok = client.channels.get("527308073296199700")
let votea = new Discord.RichEmbed()
 .setColor("GREEN")
    .setDescription(`${vote.user} just voted the bot! ๐Ÿ“ข`)
ok.send(votea)
});```
Error: ok.send(votea)
                  ^
TypeError: Cannot read property 'send' of undefined
bright spear
#

the channel 527308073296199700 doesnt exist

jagged plume
#

thats what i said mmLol

bright spear
jagged plume
#

have you checked that the id is correct

#

you might have got the wrong id

wanton shuttle
#

no, I have checked the id already

#

and i have tried another channel

#

still not working

earnest phoenix
#

"still not working" isnt gonna get you help

wanton shuttle
#

I know, I'm here to request for help.

quartz kindle
#

console.log channels to see if the channels object exists and is populated

#

if it is, then the id is wrong. if its not populated then something else is wrong~

#

if it is populated but still doesnt contain the desired id, is the bot sharded? maybe the id is in another shard

wanton shuttle
#

I don't know what's shard, but the log send no shards

earnest phoenix
#

is this how you would make it so if you dont mention someone it would be the author

let user = message.mentions[0] || message.author;

eris^

#

cuz it doesnt work

#

is there another way?

amber fractal
gilded blaze
#

Why do you mean by doesn't work?

#

That should work

earnest phoenix
#

mine?

gilded blaze
#

yes

earnest phoenix
#

it only gets the authors

#

not the person i @

#

im making avatar command

amber fractal
#

Instead of [0] try .first()

#

Wait

#

nvm

#

Wrong lib

earnest phoenix
#

its eris

#

like i said

amber fractal
#

Check for the mention first then if user is still nothing ser it to the author

earnest phoenix
#

you dont know eris

amber fractal
#

I know enough to know that if you get rid of the || message.author and seperate it

gilded blaze
#

Well I don't know what to tell you. I tested it and it worked

earnest phoenix
#

you know that eris and discord.js are completely different

amber fractal
#

In d.js it'd be like this

if(!user) user = message.author```
earnest phoenix
#
const Eris = require('eris')
exports.run = async (client, message, args) => {
    let user = message.mentions[0] || message.author;
    let embed = {
        color: Math.floor(Math.random() * 0xFFFFFF),
        title: user.username,
        image: {
            url: user.dynamicAvatarURL("gif", 1024)
          }
    }
    message.channel.createMessage({ embed });
}
exports.conf = { 
    aliases: [] 
}; 

exports.help = {
  name: 'avatar',
  description: 'Avatar of user',
  usage: 'avatar'
}
#

i have this

amber fractal
#

Eris is still javascript...

earnest phoenix
#

yes i know that

#

but

#

you are still thinking that discord.js and same as eris

#

its not

amber fractal
#
if(!user) user = message.author
gilded blaze
#

|| is a shorthand

amber fractal
#

I know

#

but clearly its not working

#

If it skips to the message.author

#

have you tried logging message.mentions[0] to see if it ever picks it up?

earnest phoenix
#

1 sec

#

its logs for myself, so i dont @ anyone , and it logs it as extendeduser

#

but when i @ someone

#

it logs it as user

#

its different

amber fractal
#

Well thats where knowledge of eris would help me, I cant help from that because I dont know what the differences of extendeduser and user are sorry

gilded blaze
#

You only get an instance of ExtendedUser, as far as I know, if it's the bot

earnest phoenix
#

i only get ExtendedUser when i dont @ anyone example: =>avatar.
but when i @ someone example =>avatar @ someone, it logs User instead of extendeduser

#

i sent the code just scroll up to see

amber fractal
#

Well user should still be something so why does it go to message.author ๐Ÿค”

earnest phoenix
#

yes but when its message.user.mentions[0]

#

it will return as cannot read property's of mentions

#

nvm

#

when i do =>avatar

#

it returns as undefined

#

hmm

amber fractal
#

Alright anyone able to help me go up directories in fs?

#

Doesnt seem to be working

#

its in mobilefriendly/commands

gilded blaze
#

Just require it

amber fractal
#

Im also trying to write to the file

gilded blaze
#

What is the error?

amber fractal
#

I've written to files and stuff before so Idk why it isnt working

#

thats in a different directory.

sinful stirrup
#

.rainbow

amber fractal
#

?

#

Wrong channel

#

Ill just move storage into the directory.

amber fractal
#

Now Im having a new problem, its not writing...

#

This same code is what I use for setting prefixes and it works

#

No errors in the console

#

It sends the message

#

Just doesnt write

#

This is my prefix command if that helps

warm marsh
#

ooft

#

JSON

earnest phoenix
#

@wanton shuttle your Prob solved?

wanton shuttle
#

not yet

amber fractal
#

Its practically the same code with different variables.

#

No it is the same code with different variables

warm marsh
#

@amber fractal Keep consistency through out code

#

dont use let and var

#

use one or the other

#

Makes neater code.

amber fractal
#

let is inside the block, var is accessable outside

#

I have it for a reason

earnest phoenix
#

@wanton shuttle
try

let ok = vote.guild channels.get('id')
warm marsh
#

then just create all them at top

amber fractal
#

Dont want them global

warm marsh
#

Ok...

amber fractal
#

Either way thats not the problem Im having ;-;

warm marsh
#

Explain

#

i'll try my best

wanton shuttle
#

@earnest phoenix
let ok = vote.guild channels.get('id')
"guild channels"? no dot between them?

earnest phoenix
#

ni a . between sry

wanton shuttle
#

ok ๐Ÿ‘

earnest phoenix
#

im typing at mobile atm and soace is next to

#

haha

amber fractal
#

The two pictures I sent are identical code, one is for setting the prefix, which works. The other is for blacklisting a user, which doesnt work, no errors.

warm marsh
#

blacklisting

amber fractal
#

It just doesnt write because when I log the file its still blank

warm marsh
#

adapt?

amber fractal
#

?

warm marsh
#

ah

#

ok

amber fractal
#

People that abuse commands

gritty bolt
#

I have no idea but my forever process on my ubuntu aws machine keeps turning itself off and I don't know why.

warm marsh
#

I don't recommend using JSON

#

use something like enmap

#

or sqlite3

gritty bolt
#

No error given. Is this an issue or am I doing something wrong?

amber fractal
#

I tried

warm marsh
#

instead

gritty bolt
#

Or this this aws' fault?

#

is this*

amber fractal
#

None worked, but I just dont know why its not writing

warm marsh
#

Theres nothing in it and your trying to write to something that doesn't exist?

amber fractal
#

No, the file exists

warm marsh
#

yes

#

but the stuff inside doesn't

amber fractal
#

Its creating it

warm marsh
#

agh

amber fractal
#

Its the same way the prefixes work

warm marsh
#

whats prefixes

amber fractal
#

This works

wanton shuttle
#

@earnest phoenix
now it returns this error

                                           
TypeError: Cannot read property 'channels' of undefined```
gritty bolt
#

Forget about what I just said I was being an idiot and was running 2 processes of my bot at the same time without sharding so it turned off.

warm marsh
#

you aint even setting prefix

#

whats prefixes

#

Might help

gritty bolt
#

OHHHHH THIS FEELS LIKE DEJA VU

#

I was having that exact issue a few hours ago

#

Because I was doing too many steps and was defining my variables in weird ways

warm marsh
#

And why use sync

amber fractal
#

If I sent the whole code, you'd see prefixes is defined

#

Prefixes command works

#

...

warm marsh
#

defined as what?

amber fractal
#

prefixes = JSON.parse(fs.readFileSync("./prefixes/prefixes.json", "utf8"))

warm marsh
#

ooft

amber fractal
#

prefixes is defined globally

#

which is why there is no var there

#

Prefixes works tho its the blackist Im having trouble with

warm marsh
#

ok

amber fractal
#

I said that 3 times now mmLol

warm marsh
#

i understand that

amber fractal
#

Its weird

#

it logs blacklist.json as { '465203654685622282': 'test', '408736647480475648': 'test' }

#

Whoops

warm marsh
#

ok

earnest phoenix
#

@wanton shuttle semicolon behind let ok = ...('id');

amber fractal
#

But when I go to the file nothing

#

So logging blacklist.json shows it, the file is empty when I go there tho

warm marsh
#

Yeah

#

Thats how json works

#

And bot reading and writing files

amber fractal
#

does "prefixes work" not mean anything or something?

warm marsh
#

i don't see whats wrong with it

#

...

amber fractal
#

Its literally the same code with different variables

#

Neither do I mmLol

#

Ill just keep trying stuff

wanton shuttle
#

@earnest phoenix like this?

dbl.webhook.on('vote', vote => {
let ok = vote.guild.channels.get("523437698699231232");
let votea = new Discord.RichEmbed()
 .setColor("GREEN")
    .setDescription(`${vote.user} just voted the bot! ๐Ÿ“ข`)
 ok.send(votea)
});```
warm marsh
#

Yeah the code is correct.

#

your complaing about not seeing whats in Json file...

#
fs.writeFile("location.json", JSON.stringify(data), (err) => console.log(err));
visual zenith
#

@sick cloud i still need help on the help menu embed thing

sick cloud
#

well, i can't help you past the fact theres no errors

visual zenith
#

well can i do a confirmation?

#
if (reaction.emoji.name === 'โฌ…') {

    await removeReaction(m, message, 'โฌ…');

    if (page != min) {
        page = page - 1;
        await m.edit({
            embed: pages[page]
        });
    }
    awaitReactions(message, m, options, filter);``` the embed doesnt edit when I react โฌ… now
#

but edits when I react โžก

#

plus there was no errors so I assume something went wrong

amber fractal
#

do a console.log inside the if(reaction) part

#

log anything

#

just see if it runs

visual zenith
#

ok

#

it logged

amber fractal
#

So its a problem with the editing them

visual zenith
#

i think so

amber fractal
#

inside of the if(page != min) try a log aswell

#

Maybe it thinks its at min

visual zenith
#

hmm ok

amber fractal
#

Oh yeah

#

I know your issue

visual zenith
#

it didnt log lmao

#

when i reacted

#

it auto turns to 1

amber fractal
#

put var { min, max, page, limit } = options outside of the awaitReactions

#

it resets to 1 every time

#

I had the same issue

visual zenith
#

oh lel

amber fractal
#

Should be working after that

visual zenith
#

oh hey it works ๐Ÿ˜„

amber fractal
#

Know that it wont auto delete reactions on servers it doesnt have perms to, obviously

#

It will work if they unreact and rereact tho

#

And you can also go all out on the pages

#

anything inside the page object that works in an embed is good

visual zenith
#

ok

amber fractal
#

Have fun

#

:+1:

visual zenith
#

how to put the help commands in the pages?

#

what is the max?

amber fractal
#

Um not sure on the max

#

The way I do it is weird so it definitely wont apply to you

visual zenith
#

oh rip

amber fractal
#

I dont have a module.exports.help thing in my commands

dreamy charm
#

Can I store a hyperlink as a string and use it later in an embed?

amber fractal
#

var link = "[link](url)"

#

idk if it will work but it might

#

I dont see why it wouldn

#

t

dreamy charm
#

Yeah just wanted to know if it would work

#

Thanks

#

I want to store them in an array

amber fractal
#

test it then

visual zenith
#

Code: ๐Ÿ‘‡

    const pages = {
        1: {
            footer: 'Page 1'
    }
}

Error: ๐Ÿ‘‡

embed.footer: Only dictionaries may be used in a ModelType
    at item.request.gen.end (/rbd/pnpm-volume/ffe971fb-0896-423e-a2be-c3899038c99b/node_modules/.registry.npmjs.org/discord.js/11.4.2/node_modules/discord.js/src/client/rest/RequestHandlers/Sequential.js:79:15)
    at then (/rbd/pnpm-volume/ffe971fb-0896-423e-a2be-c3899038c99b/node_modules/.registry.npmjs.org/snekfetch/3.6.4/node_modules/snekfetch/src/index.js:215:21)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:189:7)
  name: 'DiscordAPIError',
  message: 'Invalid Form Body\nembed.footer: Only dictionaries may be used in a ModelType',
  path: '/api/v7/channels/446833822118445069/messages/529155640774623232',
  code: 50035,
  method: 'PATCH' }``` i wonder if im not allow to use footer
brittle nova
#

best way to decancer a name?

visual zenith
#

?

amber fractal
#

Footer is an object

visual zenith
#

so what do I need to set a footer lmao

amber fractal
#

footer: { text: "Example" }

visual zenith
#

oh

#

also how to split the command size in half?

amber fractal
#

?

#

wym

visual zenith
#

this

amber fractal
#

Do you have an array of commands?

visual zenith
#

in half

#

for 2 pages

#

also no

#

i did

description: `${client.commands.map(c => `${prefix}${c.help.name}${' '.repeat(longest - c.help.name.length)}`).join('\n')}`
#

prefix is defined, and so has longest

amber fractal
#

The easiest way I can think to do it is pretty is a ugly way to do it

visual zenith
#

wut

amber fractal
#

Push all your commands to an array then seperate that array into 2

#

But

visual zenith
#

ok

#

but?

amber fractal
#

client.commands is already an array isnt it?

visual zenith
#

idk

#

maybe

#

ima check

amber fractal
#

I think its a collection

visual zenith
#

gotta console.log(client.commands)

#

it is

#

with a bunch of objects

wanton shuttle
#
dbl.webhook.on('vote', vote => {
let ok = client.channels.get("527308073296199700")
let votea = new Discord.RichEmbed()
 .setColor("GREEN")
    .setDescription(`${vote.user} just voted the bot! ๐Ÿ“ข`)
ok.send(votea)
});```
Error: ok.send(votea)
                  ^
TypeError: Cannot read property 'send' of undefined
can anyone help?
visual zenith
#

lmao xD

#

@wanton shuttle the channel maybe inaccessible xD

#

or the bot cant send embed there

blazing star
#

no

#

you can only send messages to TextBasedChannels

amber fractal
#

do this ```
client.commands.forEach(c=>{
what you want to do with every command.
})

#

@visual zenith

blazing star
#

or use an iterator

#

wait no thats for generators

brittle nova
#

if you want half of an array, why don't you refer to the array's length and then splice??

visual zenith
#

already got it

amber fractal
#

.forEach is so much easier

#

Ah alright

blazing star
#

no

visual zenith
#

its client.commands.keys()

blazing star
#

map is easier

visual zenith
#

lmao

amber fractal
#

He wants to split it in half

blazing star
#

ok

amber fractal
#

One is too big

#

Wait

#

does .map return an array

#

Lul

blazing star
#

then chunk an array

amber fractal
#

you could just split whatever .map returns lmao

blazing star
#

or, you could chunk an array

wanton shuttle
#

My bot has the Administrator perm, so it can access to every channels

visual zenith
#

client.commands.key() returns a long list of commands in an object

brittle nova
#

splice half of the array's length

#

๐Ÿ‘€

blazing star
#

works too

#

array.slice(0, array.length / 2)

amber fractal
#

the array needs to exist to chunk it

#

which is where the mapping would come in it returns an array... I think ๐Ÿ‘€

wanton shuttle
#

Or it's not allowed to put it in index.js?

blazing star
#

whats not allowed to what?

wanton shuttle
#

Scroll up to see my question

blazing star
#

ok

#

oh

#

so the channel must extend a TextBasedChannel in other words it must be a channel thats apart of a guild, group dm, or dm

#

or read the docs

wanton shuttle
#

Yes, it's a channel

blazing star
#

it needs to be a text channel tho

wanton shuttle
#

Yes

blazing star
#

its not

#

its a normal channel

#

one that has no actual type yet

wanton shuttle
#

Just like this development channel?

blazing star
#

hmm, this is a text channel

visual zenith
#

code: ๐Ÿ‘‡

client.users.get(vote.user).send('test')

error: ๐Ÿ‘‡

TypeError: Cannot read property 'send' of undefined
    at DBLWebhook.dbl.webhook.on.vote (/app/shard.js:38:36)
    at emitOne (events.js:116:13)
    at DBLWebhook.emit (events.js:211:7)
    at IncomingMessage.req.on (/rbd/pnpm-volume/ffe971fb-0896-423e-a2be-c3899038c99b/node_modules/.registry.npmjs.org/dblapi.js/2.3.0/node_modules/dblapi.js/src/webhook.js:83:16)
    at emitNone (events.js:106:13)
    at IncomingMessage.emit (events.js:208:7)
    at endReadableNT (_stream_readable.js:1064:12)
    at _combinedTickCallback (internal/process/next_tick.js:139:11)
    at process._tickCallback (internal/process/next_tick.js:181:9)
blazing star
#

what version of discord.js are you using?

#

lmao

#

its client.users

visual zenith
#

still failed xD

blazing star
#

yup

visual zenith
#

well i was sharding

#

so the channels/users got all mixed up

blazing star
#

oof

visual zenith
#

so how can I still grab them and send a dm message?

blazing star
#

sharding just splits your bot into multiple websocket connections depending on the lib

wanton shuttle
#

v11.4.2

blazing star
#

did you try it with client.users?

#

because you edited the message, but I dont think you edited your code

wanton shuttle
#

I haven't try yet hold on

#

I'm eating something rn

#

So I have to create a new channel and don't type anything at the channel?

blazing star
#

I never said that

wanton shuttle
#

I don't understand

#

"its a normal channel, one that has no actual type yet"

blazing star
#

it technically has a type

visual zenith
#

i already tried that

blazing star
#

but, the thing about normal channels is that you cant send messages to them instantly

#

iirc your client needs to be ready

#

you should get a guild channel

#

well, what exactly are you trying to do?

wanton shuttle
#

I'm using index.js, and write that code down, so if a person votes, it will send a message to that channel

blazing star
#

you mean to the user?

wanton shuttle
#

no just send (`user.tag voted the server!`) to the channel

blazing star
#

ok

#
visual zenith
#

no its

(`${vote.user.tag} voted the server!`)```
wanton shuttle
#

I already have a channel?

blazing star
#

actually

#

you are wrong

visual zenith
#

me?

blazing star
#

the voter is a snowflake

#

you need to fetch that user first

wanton shuttle
#

FallenTaco, I was just typing an example

visual zenith
#

xD

blazing star
#

lemme see

#

user undefined

#

check if the user actually exists

#

here is some code

const user = client.users.has(vote.user) ? client.users.get(vote.user) : await client.users.fetch(vote.user)```
visual zenith
#

yes it does ;/

#

???

#

y the ?

#

you mean || ?

blazing star
#

its ternary

amber fractal
#

process.env.token you on heroku?

blazing star
#

all that code does is check if the user exists, if it does, it will grab the user from the map, if no user exists it will fetch the user from the discord api.

visual zenith
#

@amber fractal no im not xD

#

its glitch

amber fractal
#

We lost a valuable life today. His name was FallenTaco

#

May he rest in peace

visual zenith
#

(node:5603) UnhandledPromiseRejectionWarning: TypeError: client.users.fetch is not a function @blazing star

blazing star
#

oh your using stable

visual zenith
#

xD

blazing star
#

use client.fetchUser instead

visual zenith
#

of course

wanton shuttle
#

sorry im back

visual zenith
#

code
error: ๐Ÿ‘‡
const user = client.users.has(vote.user) ? client.users.get(vote.user) : await client.fetchUser(vote.user)

(node:5729) UnhandledPromiseRejectionWarning: Error: Request to use token, but token was unavailable to the client.
    at APIRequest.getAuth (/rbd/pnpm-volume/ffe971fb-0896-423e-a2be-c3899038c99b/node_modules/.registry.npmjs.org/discord.js/11.4.2/node_modules/discord.js/src/client/rest/APIRequest.js:33:11)
    at APIRequest.gen (/rbd/pnpm-volume/ffe971fb-0896-423e-a2be-c3899038c99b/node_modules/.registry.npmjs.org/discord.js/11.4.2/node_modules/discord.js/src/client/rest/APIRequest.js:39:54)
    at resolve (/rbd/pnpm-volume/ffe971fb-0896-423e-a2be-c3899038c99b/node_modules/.registry.npmjs.org/discord.js/11.4.2/node_modules/discord.js/src/client/rest/RequestHandlers/Sequential.js:59:20)
    at new Promise (<anonymous>)
    at SequentialRequestHandler.execute (/rbd/pnpm-volume/ffe971fb-0896-423e-a2be-c3899038c99b/node_modules/.registry.npmjs.org/discord.js/11.4.2/node_modules/discord.js/src/client/rest/RequestHandlers/Sequential.js:58:12)
    at SequentialRequestHandler.handle (/rbd/pnpm-volume/ffe971fb-0896-423e-a2be-c3899038c99b/node_modules/.registry.npmjs.org/discord.js/11.4.2/node_modules/discord.js/src/client/rest/RequestHandlers/Sequential.js:119:10)
    at SequentialRequestHandler.push (/rbd/pnpm-volume/ffe971fb-0896-423e-a2be-c3899038c99b/node_modules/.registry.npmjs.org/discord.js/11.4.2/node_modules/discord.js/src/client/rest/RequestHandlers/Sequential.js:48:10)
    at Promise (/rbd/pnpm-volume/ffe971fb-0896-423e-a2be-c3899038c99b/node_modules/.registry.npmjs.org/discord.js/11.4.2/node_modules/discord.js/src/client/rest/RESTManager.js:27:15)
    at new Promise (<anonymous>)
#

such a big error

blazing star
#

where did you put the code?

whole karma
#

Hi.

wanton shuttle
#

so if a person votes the bot but not in the server, will that still works tho?

blazing star
#

what?

whole karma
#

I need an example upvoting command. :<

wanton shuttle
#

client.users.has(vote.user)

blazing star
#

that will check if the user is in the client users

wanton shuttle
#

Ok,so I have created a text channel and I have copied the channel id

dbl.webhook.on('vote', vote => {
let ok = client.channels.get("5529165495753113600")
let votea = new Discord.RichEmbed()
 .setColor("GREEN")
    .setDescription(`${vote.user} just voted the bot! ๐Ÿ“ข`)
ok.send(votea)```
so that's my code, i think it's correct now?
blazing star
#

ok

wanton shuttle
#

so heres come the problem


   ^


TypeError: Cannot read property 'send' of undefined```
blazing star
#

you need to get the guild then get the channel

#

then send to that channel

wanton shuttle
#

๐Ÿ‘

#

let guild = client.guilds.get("the guild id");
message.guild.channels.get('CHANNEL ID')

this?

blazing star
#

just remove the message part and ur good

wanton shuttle
#

oh

#

let me try ๐Ÿ˜„

#

guild.channels.get('CHANNEL ID').send(votea)
^ can i just do that instead?

visual zenith
#

@blazing star i put it where the shard is being spawned

#

since i dont want it to repeat several times

wanton shuttle
#

      ^
TypeError: Cannot read property 'channels' of undefined```now returns this so hardd
visual zenith
#

or @amber fractal ig

#

lmao that ping

amber fractal
#

?

#

Whats this supposed to be doing?

#

sending messaged to a specific channel

#

guild isnt defiend

#

defined*

#

where is this code at

#

what even

#

event*

#

I can spell mmLol

visual zenith
#

xD

wanton shuttle
#

no clue now ://

earnest phoenix
#
(node:155) UnhandledPromiseRejectionWarning: Error: Something took too long to do.
amber fractal
#

dont send the link unless all sensitive data is removed

visual zenith
#

ye^^^^^

earnest phoenix
#

the whole thing?

amber fractal
#

Was talking to Itz but you can too I guess

#

Lol

wanton shuttle
#

scroll up to see de error ^^

amber fractal
#

run a console.log(guild) for me pls

#

under let guild...

whole karma
#

Was that like upvoting and rewarding the upvoter?

amber fractal
#

He's sending (user) just voted for the bot whenever someone votes

whole karma
#

Oh. I see.

wanton shuttle
#

run a console.log(guild)? ok

amber fractal
#

yes

wanton shuttle
#

console doesn't log it

amber fractal
#

what does your console say?

wanton shuttle
#
dbl.webhook.on('vote', vote => {
let votea = new Discord.RichEmbed()
 .setColor("GREEN")
    .setDescription(`${vote.user} just voted the bot! ๐Ÿ“ข`)
  let guild = client.guilds.get("520445191732068353");
  console.log(guild);
guild.channels.get('5529165495753113600').send(votea)
});```
#


Pickaxe Bot is online on 51 severs!

{ server_count: 51, shards: [] }```
amber fractal
#

same error?

#

Oh

#

Whats the error on the send thing

visual zenith
#

wait

wanton shuttle
#

didn't return that error,cuz i have to test webhook and it will send that error

visual zenith
#

@wanton shuttle where are you hosting ur bot??

#

glitch?

amber fractal
#

Any way to simulate that?

wanton shuttle
#

yes, Fallen

visual zenith
#

oh i had the same problem

wanton shuttle
#

u saw dat port: 3000 so u might know xD

visual zenith
#

its
https://${projectname}.glitch.me/dblwebhook

#

in the url section

#

i mean

#

https://projectname.glitch.me/dblwebhook

wanton shuttle
#

that dbl bot settings?

visual zenith
#

yes

amber fractal
#

Alr you can take over

visual zenith
#

sure

wanton shuttle
#

yeah

#

yes my url is correct

visual zenith
#

is it
EX: https://fallenthetaco.glitch.me/dblwebhook

#

?

wanton shuttle
#

yes

#

@amber fractal what do you mean, simulate that?

visual zenith
#

wait

amber fractal
#

Run the webhook without voting

visual zenith
#

im answering ur questions

#

also

wanton shuttle
#

yes, I click that 'Test' button

#

to run it

amber fractal
#

Idk how webhooks work I just how how d.js does lol

wanton shuttle
visual zenith
#
const express = require('express');
const app = express();

const http = require('http');
const server = http.createServer(app);

server.listen(3000);

const dbl = new DBL(process.env.DBL_TOKEN, {
    webhookServer: server,
    webhookAuth: process.env.password
}, client);
#

just do ^^^

#

you'll figure it out once it works

wanton shuttle
#

;0

visual zenith
#

dont forget to require the DBL lmao

#

const DBL = require("dblapi.js"); if u havent

wanton shuttle
#

what's webhookServer?

visual zenith
#

An existing server to run the webhook on. Will activate webhook when set.

#

make sure your webhookAuth is the same as Authorization

#

@wanton shuttle

#

make sure your webhookAuth (the code) is the same as Authorization (the website)

wanton shuttle
#

yep

#

but what should I write in that webhookServer?

visual zenith
#

just server

#

since server has been defined

#

on my code that i sent u

wanton shuttle
#

done

visual zenith
#

did it work?

wanton shuttle
#
undefined

/app/server.js:30

guild.channels.get('5529165495753113600').send(votea)

      ^
TypeError: Cannot read property 'channels' of undefined```
visual zenith
#

xD

wanton shuttle
#

now it logs undefined

visual zenith
#

whats guild defined as?

#

message.guild?

wanton shuttle
#

steven told me to add console.log(guild)

visual zenith
#

to see if its defined or not?

wanton shuttle
#

maybe

visual zenith
#

is it even defined?

#

also what handler is it put in?

#

message?

#

do you usually do message.channel.send?

wanton shuttle
#

not in any handles

#

umm..yes

visual zenith
#

recommend doing client.channels.get

#

thats what i do

#

let guild = client.guilds.get("520445191732068353");

#

change guilds to channels

#

and get a channelID

amber fractal
#

wait you dont need to have the guild to get the channels

visual zenith
#

xD

amber fractal
#

.channels is already a property

#

Mapped by their id

#

client.channels.get(channelid).send(send something)

visual zenith
#
 let guild = client.guilds.get("520445191732068353");
guild.channels.get('5529165495753113600').send(votea)
``` ๐Ÿ˜†
#

its client.channels.get(channelID).send('whatever you want lmao')

#

u dont need guild

amber fractal
#

idk why I didnt see that before

blazing star
#

you canโ€™t do that

visual zenith
#

?

blazing star
#

you canโ€™t just send to a plain channel

visual zenith
#

?

#

?

#

?

#

wut

blazing star
#

iโ€™m pretty sure you need to get a channel from a guild

visual zenith
#

just a channelid the bot is in

#

and have access to perms

blazing star
#

ok

wanton shuttle
#

so what should i do now

visual zenith
#

?

#

did you try it yet?

#

also @blazing star i still cant get it to work

#

rip sharding

wanton shuttle
#

get channels.get?

visual zenith
#

?

wanton shuttle
#

i tried it before

visual zenith
#

you can put a channel id

#

that the bot is in?

wanton shuttle
#

yes, i tried it before

visual zenith
#

if you dont know how to get it^

blazing star
#

Iโ€™m pretty sure itโ€™s a list of channels that the client has access too

visual zenith
#

yes this

blazing star
#

ok

wanton shuttle
#
dbl.webhook.on('vote', vote => {
let ok = client.channels.get("527308073296199700")
let votea = new Discord.RichEmbed()
 .setColor("GREEN")
    .setDescription(`${vote.user} just voted the bot! ๐Ÿ“ข`)
ok.send(votea)
});```
visual zenith
#

client meaning the bot itself

#

is 527308073296199700 a channel?

wanton shuttle
#

yes

#

a text channel

visual zenith
#

and does the bot have access to it?

wanton shuttle
#

like this development channel

visual zenith
#

and can chat?

blazing star
#

Im going to say this once

wanton shuttle
#

yes my bot has adminstar perm

visual zenith
#

ok

blazing star
#

you need to get the guild, then get the channel, then send

#

kthxbai

visual zenith
#

no u dont lmao

wanton shuttle
#

and everyone can access/type at that channel

visual zenith
#

ok ok we get it

#

now try it lmao

#

then tell us if you have any errors

wanton shuttle
#

yes the error is

visual zenith
#

?

wanton shuttle
#

Error: ok.send(votea)
^
TypeError: Cannot read property 'send' of undefined

visual zenith
#

xD

amber fractal
#

Dont need a guild my brother

wanton shuttle
#

i rly want to die

visual zenith
#

wait

wanton shuttle
#

spent 2 hours on dis xDDD
even harder than doing commnads

amber fractal
#

You dont need a guild

visual zenith
#

just do client.channels.get('527308073296199700').send(votea)

#

and u dont need a guild at all

amber fractal
#

client.channels.get(id).send(stuff)

visual zenith
#

what I did this

amber fractal
#

Ye

visual zenith
#

legit it shouldnt break

amber fractal
#

Wait who said you needed a guild, multiple bad on u

visual zenith
#

i didnt say that ๐Ÿค

#

it was @Ice#1234

amber fractal
#

It was var const = let

visual zenith
#

didnt rlly need the ping

amber fractal
#

lmao wot

visual zenith
#

i blocked off the part where it should ping him

amber fractal
#

ye ik

visual zenith
#

it should work now lmao

wanton shuttle
#

client.channels.get('527308073296199700') is a collection, that id should only have once

visual zenith
#

bruh

wanton shuttle
#

i dont think other channels can have the same id

visual zenith
#

did you use the code i gave u?

amber fractal
#

They cant

visual zenith
#

no they dont lmao

#

all channels have different ids

#

so theres no dubs

amber fractal
#

You wont be able to send to every server

#

as defaultChannels were taken away

visual zenith
#

its not api abuse trust me

amber fractal
#

Got me eyes on you m8

visual zenith
#

@wanton shuttle so did it work?

#

when u tried to shard and send a dm message to a user but it failed ๐Ÿ˜ญ

#

?

#

again?

amber fractal
#

๐Ÿ–•

#

LOl

#

WOt

wanton shuttle
#
client.channels.get('529165495753113600').send(votea)

                                         ^
TypeError: Cannot read property 'send' of undefined```
amber fractal
#

You can emote in that?

visual zenith
#

u wut?

wanton shuttle
#

fine omg i'm so done

visual zenith
#

wait

amber fractal
#

is the id right? lmao

wanton shuttle
#

yes

visual zenith
#

make sure the id is valid

#

try doing <#id>

#

if it shows the channel name then ur good

wanton shuttle
#

i did #channel

#

#

#

\

visual zenith
#

xD

amber fractal
#

console.log(client.channels.get(id))

wanton shuttle
#

omg it wont let me send

#

\#channelname

visual zenith
#

<[#development](/guild/264445053596991498/channel/272764566411149314/)>

wanton shuttle
#

yes finally

visual zenith
#

xD

#

<[#development](/guild/264445053596991498/channel/272764566411149314/) >

wanton shuttle
#

\#channelname will returns the channel id right?

visual zenith
#

well

#

doing <\#channelname>

wanton shuttle
#

and i copied that and pasta

amber fractal
#

pasta

wanton shuttle
#

pasta de channel id

#

im so done

visual zenith
#

xD

wanton shuttle
#

did it work for u?

visual zenith
#

can we see the code now?

#

and yes it did

#

xd

wanton shuttle
#

omgg how

visual zenith
#

get rid of let guild = client.guilds.get("520445191732068353");
pls

#

its not needed

wanton shuttle
#

okok

#

done LD

visual zenith
#

are you sure the bot can chat in the channel???

wanton shuttle
#

๐Ÿ˜„

#

yes

visual zenith
#

because it looks here that the bot can not send the message

#

do you have Embed_Links on?

#

because u need that to send embed

#

lmao

amber fractal
#

I have the ultimate solution... No one will like it because everyone hates this

let guild = client.guilds.find(g=>g.name == "Your guild name case sensitive")
let channel = guild.channels.find(c=>c.name == "Your channel name case sensitive")
channel.send(stuff)
#

Never do that but lmao

visual zenith
#

xD

amber fractal
#

nothing seems to work for you

#

so try it

wanton shuttle
#

yes

visual zenith
#

wait i have a question

#

is it let votea = new Discord.RichEmbed() or const votea = new Discord.RichEmbed()

#

because i keep on using const

amber fractal
#

WOuldnt matter

visual zenith
#

i thought it would srry

amber fractal
#

the only difference is one is editable

visual zenith
#

oh shoot

#

i remembered something

#

its BOT not client

#

remember?

amber fractal
#

LOL

visual zenith
#

he defined the client as BOT

amber fractal
#

He is using bot

visual zenith
#

REEEE

wanton shuttle
#

yes im using bot

visual zenith
#

change it now

amber fractal
#

change client.channels

visual zenith
#

change that client to bots

amber fractal
#

to bot.cannels

visual zenith
#

xD

#

cannels

amber fractal
#

channel*

#

channels*

visual zenith
#

reeee

amber fractal
#

When it says cannot read property of something it means the thing before it is undefined.

visual zenith
wanton shuttle
#

LOL

amber fractal
#

This whole time

visual zenith
#

welp

wanton shuttle
#

how cant i see it

#

omg

visual zenith
#

xD

#

i was rereading ur code

#

until

amber fractal
#

We never looked at discord.client

visual zenith
#

i saw

#
let bot = new Discord.Client
``` REEEE
amber fractal
#

Wait

wanton shuttle
#

YES

#

workedddddddddddddddddddddddd

#

omggg

visual zenith
#

LMAO

wanton shuttle
#

jesus

#

omg

amber fractal
#
const client = new Discord.Client(); const let bot = new Discord.Client```
wanton shuttle
#

fianally!

amber fractal
#

Lmao wot

wanton shuttle
#

thanks so much!!!!

amber fractal
#

thats both in his code

visual zenith
#

wait a second

amber fractal
#

๐Ÿค”

wanton shuttle
#

omg

amber fractal
#

He defines client and bot

#

lmao

wanton shuttle
#

im crying

visual zenith
#

he actually defined both

#

xD

#

pls remove the client one since ur not using it

#

otherwise its confusing people

wanton shuttle
#

wait i acutllay defined both xD

visual zenith
#

lol people now realized

amber fractal
#

It uses the most recent one made, which in all honesty shouldnt work because it doesnt have ()

wanton shuttle
#

omg

#

nvm ill just pardon myself,

amber fractal
#

Imma go to bed

#

gn

visual zenith
#

lmao same

amber fractal
#

and good luck

wanton shuttle
#

boom bye bye client

visual zenith
#

its 10:27pm

wanton shuttle
#

thank you so much guys

#

๐Ÿ˜„

visual zenith
#

this entire time

amber fractal
#

its 1:27 am here

#

Lol

visual zenith
#

it was client who broke the code

wanton shuttle
#

lol

#

yeah

amber fractal
#

cya

visual zenith
#

cya

wanton shuttle
#

cya

visual zenith
#

see ya in 6 hours

wanton shuttle
#

how to get its tag actually?

#

${vote.user} = id

mental solstice
#

do u want it to tag the person?

wanton shuttle
#

the person's tag

#

Like ItzEch#3044

potent anchor
#

message.author.tag

wanton shuttle
#

Not that

mental solstice
#

u want it to tag the user who voted?

wanton shuttle
#

Yes

mental solstice
#

<@vote.user>

wanton shuttle
#

How about the tag?

mental solstice
#

that would be the message

#

it will tag them

wanton shuttle
#

ItzEch#3044

#

Not mention

mental solstice
#

ohh

potent anchor
#

dude

mental solstice
#

u have a link for the docs so i dont have to look it up?

potent anchor
#

.tag

wanton shuttle
#

vote.user.tag returns undefined

potent anchor
#

@wanton shuttle oh ok

wanton shuttle
#

๐Ÿ‘

mental solstice
#

yeah vote is just the json for the webhook info

wanton shuttle
#

hold on

mental solstice
#

you would have to define the user, which would mess up if the user wasnt on the same server as the bot

wanton shuttle
#

vote.user.tag should work perfectly

#

but it returns undefined

mental solstice
#

user is just the useds id

#

users id*

#

its not a user object

wanton shuttle
#

But it didn't say vote.tag exists in that docs?

mental solstice
#

yes.. .tag wouldnt exist for numbers

#

vote = { "user" : 12345678910, "type" : "blahblah" ... blah } vote is just a json string

wanton shuttle
#

I don't understand what's that mean I'm still new XD

#

But, what can I do now?

mental solstice
#

im unsure in discord.js how to define a user

wanton shuttle
#

๐Ÿค”

mental solstice
#

if u figure that out, you can attempt to find the user in a specific guild, or all guilds.. which i probably wouldnt recommend.

#

let votedUser = currentGuild.fetchMember(userId) something along these lines, someone else probably knows

wanton shuttle
#

Oh

mental solstice
#

then you would end up doing votedUser.tag

wanton shuttle
#

Right

#

I understand now

mental solstice
#

the docs say UserResolvable for the type.. so might work if u try guild.fetchMember(vote.user)

wanton shuttle
#

So If the ppl is not in my server, it won't work?

mental solstice
#

yes, because it wont be able to find them

wanton shuttle
#

๐Ÿ‘

#

Guess I'll use id now

mental solstice
#

you could do some funky backdoor stuff, mention the user in a private channel, and use other code to get the .mentions from the message

wanton shuttle
#

๐Ÿ‘

visual zenith
#

code:

dbl.webhook.on('vote', async (vote) => {
client.users.get(vote.user).send(`I have gave you $${amount}. Enjoy!!`);
});

error:

Unhandled promise rejection: TypeError: Cannot read property 'send' of undefined
lament meteor
#

@visual zenith client.users.get(vote.user) is undefined

orchid raft
#

how do you get total server count when your bot is sharded

idle mountain
#

loop through each shard and add the number of servers to a variable outside the loop

#

in some libraries you can also just do the total server count and it'll do the work of calculating that for you

bright spear
#

It depends on what library and what type of sharding you use

orchid raft
bright spear
#

For example in discord.js internal sharding it's just client.guilds.size

#

Hm idk if anyone here uses d.py async

#

Afaik everyone says to use rewrite

orchid raft
#

yeah they do

#

i think i may have to do something involving an external list where each shard appends its server count and when the list length reaches shard count they set their server count

ruby talon
#

Are we allowed to do web scraping?
(I looked at DBL's ToS, but I didn't find anything about it)
@coral trellis do you know this?

coral trellis
#

You'll have to ask Tonkku I am not sure if it's allowed

ruby talon
#

'k

#

@bitter sundial may I ask you. ^^

coral trellis
#

I would say no just to be safe

prime cliff
#

web scraping > using the actual api aPepeClapping

ruby talon
#

'k, I'll wait for confirmation of an web admin tho.

bitter sundial
#

no scraping

#

use the api

ruby talon
#

'k

lament meteor
#

why would u scrape thou

ruby talon
#

I want to learn how to scrape, so I'm want to create a project for something I'm motivated for.

lament meteor
#

ah

#

@ruby talon then u could webscrape a random website

ruby talon
#

I'm trying to find something that I can implement in my bot too.

#

xP

#

I think I'll do something with steam.

#

Oh nop

#

leave it got something.
yeet

bright spear
potent anchor
#

im using js and im trying to make custom welcome

#
  gco.on("guildMemberAdd", (member) => {
  const guild = member.guild;
  let userdata = JSON.parse(fs.readFileSync("./welcome.json", "utf8"));
  guild.channels.find(channel => channel.id === userdata[message.channel.id]).send(userdata[message.channel.id].welcome);
  });
  }```
#

discord.js

#

and i get this

#

(node:16483) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 guildMemberAdd listeners added. Use emitter.setMaxListeners() to increase limit

quartz kindle
#

you're setting gco.on("guildMemberAdd" multiple times

#

check the rest of your code. that should be independent from anything else, for example outside of on("message")

potent anchor
#

ok

quartz kindle
#

also, you shouldnt use readfilesync everytime. use it only once, and save it into a variable so you can re-use it later

late hill
#

Can't u just let userdata = require('./welcome');

sick cloud
#

^

#

but add .json

late hill
#

Meh, not needed if it's the only file in that dir with that name

#

Which I'd recommend not having files with the same name

timid vapor
#

nothing displays

#

in consoel

quartz kindle
#

double check the webhook url, port and password

carmine echo
#

Epic question: how does snipe work? does it log deleted messages? Is it against the tos?

topaz fjord
#

no, yes, no

carmine echo
#

how does snipe work? -> no

#

thank

earnest phoenix
#

how can i fetch messages per second

#

i want to find how many messages sent by users per second

lament meteor
#

just log the on msg event

earnest phoenix
#

im new on js

quartz kindle
#

messages have a timestamp

#

so you can collect timestamps into an array or something and then compare them and average them

woeful plaza
#

how do you get a bot's description

#

like in the developer page the short description

#

or is that not possible

raw flint
#

how do i see what servers my bot is in as ive tried

console.log(bot.guilds)

rocky mesa
#

client.guilds.size

#

for number

#

and

#

you can do this with eval

#

client.guilds.map(g=>g.name).join('\n')

raw flint
#

@rocky mesa thx bro

raven bronze
#

Does anyone know how to fix this?

censored_private_infos-MBP:EagleProtect censored_private_info$ node index.js
Protectist is now online!
/Users/censored_private_info/Desktop/Discord/EagleProtect/node_modules/discord.js/src/structures/RichEmbed.js:165
    if (!/\S/.test(value)) throw new RangeError('RichEmbed field values may not be empty.');
                           ^

RangeError: RichEmbed field values may not be empty.
    at RichEmbed.addField (/Users/censored_private_info/Desktop/Discord/EagleProtect/node_modules/discord.js/src/structures/RichEmbed.js:165:34)
    at Client.bot.on (/Users/censored_private_info/Desktop/Discord/EagleProtect/index.js:242:4)
    at Client.emit (events.js:182:13)
    at MessageUpdateAction.handle (/Users/censored_private_info/Desktop/Discord/EagleProtect/node_modules/discord.js/src/client/actions/MessageUpdate.js:13:16)
    at MessageUpdateHandler.handle (/Users/censored_private_info/Desktop/Discord/EagleProtect/node_modules/discord.js/src/client/websocket/packets/handlers/MessageUpdate.js:7:34)
    at WebSocketPacketManager.handle (/Users/censored_private_info/Desktop/Discord/EagleProtect/node_modules/discord.js/src/client/websocket/packets/WebSocketPacketManager.js:103:65)
    at WebSocketConnection.onPacket (/Users/censored_private_info/Desktop/Discord/EagleProtect/node_modules/discord.js/src/client/websocket/WebSocketConnection.js:333:35)
    at WebSocketConnection.onMessage (/Users/censored_private_info/Desktop/Discord/EagleProtect/node_modules/discord.js/src/client/websocket/WebSocketConnection.js:296:17)
    at WebSocket.onMessage (/Users/censored_private_info/Desktop/Discord/EagleProtect/node_modules/ws/lib/event-target.js:120:16)
    at WebSocket.emit (events.js:182:13)
censored_private_infos-MBP:EagleProtect censored_private_info$ 
#

Heres my code:

bot.on('messageUpdate', (oldMessage, newMessage) => {
  let medited = new Discord.RichEmbed()
  .setColor("#4caf50")
  .setAuthor("Eagle Protection Threat")
  .setDescription("A user editted a message.")
  .addField("User", oldMessage.author, true)
  .addField("Channel", oldMessage.channel, true)
  .addField("Original Message", oldMessage, false)
  .addField("New Message", newMessage, false)
  .setTimestamp()
  .setFooter("Type: User Edit Message")
  bot.channels.get('524416339406749696').send(medited);
});```
zinc pawn
#

line 13 has an error

#

whatever's on line 13 is an empty embed value @raven bronze

raven bronze
#

this is line 13:
const client = new Discord.Client();

zinc pawn
#

of MessageUpdate.js?

raven bronze
#

wheres that?

#

i only have bot.js

zinc pawn
#

oh no command handler?

#

sorry my bad im tired

raven bronze
#

its too complicated for me, i want to be able to get other values

#

and its a very simple bot

zinc pawn
#

well essentially one field of that embed is empty

#

and that's not allowed

worn magnet
#

my bot is having a rage episode xd

raven bronze
zinc pawn
#

np

#

oh as a heads up "edited" doesn't have two "t"'s @raven bronze for the field where it says "A user editted a message".

raven bronze
#

....

#

oof

earnest phoenix
#

my music bot is not working right

#

im taking this error

#

{ errors:

[ { domain: 'usageLimits',

   reason: 'accessNotConfigured',
#

i have problem with my api code i can't fix it

topaz fjord
#

Show us code

#

We can help

visual zenith
late hill
#

Your problem is that it's doing that for each shard?

visual zenith
#

yes

#

every time

#

how to prevent this xD

late hill
#

Perhaps your sharding manager has some way to know the shard ID?

visual zenith
#

hmmm

late hill
#

You could check that and make it only happen on one shard

visual zenith
#

how?

late hill
#

Idk how your sharding manager works sir

visual zenith
#

i sent u the link?

#

for the shardingManager

late hill
#

Yeh well

#

There's no shardID in there

#

So check the docs for your sharding manager

#

And see if there's a way to get the shard id

visual zenith
late hill
#

Try it

#

xd

visual zenith
#

lmao

late hill
#
if (client.shard.id === 0) {
    //Code that should only run on one shard here
}
visual zenith
#

so im asking is that how to prevent it from repeating and only do server.listen right after the shards are done spawning?

late hill
#

^^

visual zenith
#

oh

late hill
#

Yes

visual zenith
#

so

#

its

if (client.shard.id === 3) {
server.listen(3000)
}``` ??
late hill
visual zenith
#

yes it does xD

late hill
#

Then that code will only be executed on the shard with id 3

#

Which is what you wanted? xd

visual zenith
#

wait

#
(node:6729) UnhandledPromiseRejectionWarning: Error: Shard 0's Client took too long to become ready.
(node:6729) UnhandledPromiseRejectionWarning: Error: Shard 1's Client took too long to become ready.
(node:6729) UnhandledPromiseRejectionWarning: Error: Shard 2's Client took too long to become ready.```
#

idk why it says that

late hill
#

๐Ÿ‘€

visual zenith
#

@late hill it doesnt work. It just puts the project on waking mode and doesnt open up the website

late hill
visual zenith
#

do u need the code now?

late hill
#

No

visual zenith
#

oh

empty owl
#

yo what does channelType.toUpperCase

#

is not a function

#

mean

#

i mean

#

like theres no channelType.toUpperCase even in my code

valid frigate
#

what do you mean mmLol

mild quarry
#

i'm using repl.it for my bot. for some reason, my output just keeps getting spammed with "socket.send() raised exception."

#

how do i fix this?

knotty steeple
#

dont use repl

#

thats how

earnest phoenix
#

don't ๐Ÿ‘ use ๐Ÿ‘ a ๐Ÿ‘ free ๐Ÿ‘ hosting

#

๐Ÿ‘

mild quarry
#

thanks

valid frigate
knotty steeple
#

its not even a host at all

warm marsh
#

can i ask what sharding is?

#

and should i use it?

keen drift
#

i mean

#

if you don't know what it's

warm marsh
#

multithreading?

keen drift
#

?

warm marsh
#

Sharding is multithreading?

keen drift
#

uh, no?

warm marsh
#

ok, then whats its use?

keen drift
#

...

#

I suggest you read up Discord docs

warm marsh
#

Discord or lang docs?

keen drift
#

Discord

warm marsh
#

Ok thanks

#

So may i ask where in they docs?

#

nvm

#

found it

dreamy charm
#

Sorry to bother

#

I have this code

#

But this happens

#

I,eval client.guilds.get("460680695287906306").channels.map(g=>g.send("TEST"))

#

Oh bots cant talk there

amber fractal
#

Whats the error

#

Well i see the error

#

But what does it say

sick cloud
#

@dreamy charm don't do that