#development

1 messages ยท Page 1006 of 1

restive pebble
#

no

earnest phoenix
#
            HINT: This occurs when Heroku cannot detect the buildpack to use for this application automatically.
            See https://devcenter.heroku.com/articles/buildpacks
 !     Push failed```
pure lion
#

ball

earnest phoenix
#

@restive pebble

restive pebble
#

its becuz u donnt have any oackage.json

spare mirage
#

how do purge commands work?

restive pebble
#

package.json

earnest phoenix
#

xD

restive pebble
#

bulkDelete

pure lion
#

o a c k

earnest phoenix
spare mirage
#

bulkdelete(numberofdeletes/)

#

?

delicate shore
#

I don't understand any single word @restive pebble

pure lion
#

its a number element

restive pebble
#

read the docs

spare mirage
#

good idea

delicate shore
#

I did

earnest phoenix
#

@restive pebble solution

spare mirage
#

where in the docs is it

restive pebble
#

and it dosent require any api key

earnest phoenix
delicate shore
#

But :(

#

What do I do

#

Like

restive pebble
#

docs

#

or continue with rate limits

earnest phoenix
#

listing to me buddy

restive pebble
#

@restive pebble solution
@earnest phoenix create a package.json

earnest phoenix
#

weit

pure lion
#

-docs

#

-readthedocs

#

-yourmomsahoe

restive pebble
delicate shore
#

:(

pure lion
#

aa!slipe ;olalldsoafpe

earnest phoenix
delicate shore
#

@restive pebble any tutorial on YouTube ?

spare mirage
#

ewwww

#

dont use yt

#

its eww

restive pebble
#

u even know what ytdl does

earnest phoenix
spare mirage
#

@delicate shore are u trying to make music bot?

earnest phoenix
#

yus

restive pebble
#

ytdl simply plays from url

spare mirage
#

simply

#

lmoaoooo

earnest phoenix
#

@restive pebble this user is kiddoweirdsip

restive pebble
#

uh

earnest phoenix
restive pebble
#

it has some tutorials on web

earnest phoenix
#

yah

restive pebble
#

import yts from "yt-search"
yts({query:"oh my god by alec benjamin"})

#

best way is to webscrap

#

it has no limits

earnest phoenix
pure lion
#

ytdl really simple

#

music bot in 3-4 lines

earnest phoenix
#

@restive pebble nice to meet youweirdsip

pure lion
#

bruh music bot ez

#

unless you want queue

restive pebble
#

nice

#

take a look

earnest phoenix
#

@restive pebble how to host my glitch.come coding in heroku

#

sorry but my english is so weak

restive furnace
#

@earnest phoenix by hosting it there

earnest phoenix
#

yuss

#
2020-06-30T08:38:08.485176+00:00 heroku[web.1]: Stopping process with SIGKILL
2020-06-30T08:38:08.509421+00:00 app[web.1]: Error waiting for process to terminate: No child processes
2020-06-30T08:38:08.579513+00:00 heroku[web.1]: Process exited with status 22
2020-06-30T08:38:08.642541+00:00 heroku[web.1]: State changed from starting to crashed```
#

this issue showing

#

what is solution

delicate shore
#

@restive pebble pls help me more
In docs it's written easy to use
That is it

earnest phoenix
#

@restive pebble

slim heart
#

so i was looking at the oauth docs because i found the prompt=none thing (love that btw)
and found this https://discord.com/developers/docs/topics/oauth2#state-and-security
I was thinking of implementing it but i wanna make sure i get it right
i could be getting the logic completely wrong so just lmk. the first thing i thought abt was creating a state when requesting /api/auth which redirects to the authorize page. so creating a token there sending it along and then checking it when it receives the /api/auth/callback?
something feels not right about this and i've a feeling its more complicated so do let me know
@slim heart little bump maybe someone could help

earnest phoenix
#

@slim heart

2020-06-30T08:38:08.485176+00:00 heroku[web.1]: Stopping process with SIGKIL

2020-06-30T08:38:08.509421+00:00 app[web.1]: Error waiting for process to terminate: No child processes
2020-06-30T08:38:08.579513+00:00 heroku[web.1]: Process exited with status 22
2020-06-30T08:38:08.642541+00:00 heroku[web.1]: State changed from starting to crashed```

slim heart
#

bruh

earnest phoenix
#

yas

delicate shore
#

Pls

restive pebble
#

@earnest phoenix

#

it looks like u have added package.json

#

but heroku will need Procfile

spare mirage
#

hey! im getting this error



SyntaxError: await is only valid in async function```

this is my code: 
```const Discord = require('discord.js')

  module.exports = {
    name: 'purge',
    description: "this is a purge command!",
    execute(Discord, bot, message, args){
const amount = args.join(' '); // Amount of messages which should be deleted

if (!amount) return message.channel.send('You haven\'t given an amount of messages which should be deleted!'); 
if (isNaN(amount)) return message.channel.send('The amount parameter isn`t a number!'); 

if (amount > 100) return message.channel.send('You can`t delete more than 100 messages at once!');
if (amount < 1) return message.channel.send('You have to delete at least 1 message!'); 

await message.channel.messages.fetch({ limit: amount }).then(messages => { 
    message.channel.bulkDelete(messages 
)});
    ```
restive pebble
#

its not async

spare mirage
#

how do I make it async

restive pebble
#

use callbacks

slim heart
#

what no just put async in front of the function

#

async execute(Discord, bot, message, args){

restive pebble
#

i see u have

spare mirage
#

do I make module.exports require async?

restive pebble
#

.then

finite bough
#

async execute

#

or

restive pebble
#

so no need of await

#

remove await

#

u have .then

finite bough
#

async function(){

slim heart
#

m

spare mirage
#

uhh

restive pebble
#

remove await

#

just

#

remove await

spare mirage
#

okok

restive pebble
#

.then do not require await

spare mirage
#

ok

#

why can I only delete 100 messages?

restive pebble
#

its discordapi limit

cinder patio
#

async/await is not something you import, it's a language feature

spare mirage
#

uhh

#

ok

restive pebble
#

and u cannot delete messages over 2 weeks old

spare mirage
#

I guess

#

I knew that boeing

restive pebble
#

async/await is not something you import, it's a language feature
@cinder patio bruh

#

i meant he dosent need await if he already has .then

cinder patio
#

I was not talking to you

restive pebble
#

ah ok

#

do I make module.exports require async?
oh this

spare mirage
#
    message.channel.bulkDelete(messages
         
)});```   
@restive pebble do u know how make this send something after the messages are dleted?
#

I guess I have to
message.channel.send(`deleted ${amount} of messages including the command`)
but where do I put it?

delicate shore
#

@restive pebble
@restive pebble one thing where do i run commands like they did mkdir musicbot && cd musicbot
and
touch index.js && touch config.json

restive pebble
#

.then

#

@restive pebble one thing where do i run commands like they did mkdir musicbot && cd musicbot
and
touch index.js && touch config.json
@delicate shore i just sent u the link to u to see how to use yt-search

#

const songInfo = await ytdl.getInfo(args[1])

#

ah u dont need yt search for that @delicate shore

earnest phoenix
#

can someone tell what is wrong
or this
` if (command === 8ball) {
if(!args[2]) return message.reply("Please ask a full question!")
let replies = ["Yes.", "No.", "I don't Know", "Ask again later"];

    let result = Math.floor(Math.random() * replies.length);
    let question = args.slice(1).join(" ");
    
    let ballembed = new Discord.RichEmbed()
    .setAuthor(message.author.tag)
    .setColor("#FF9900")
    .addField("Question", question)
    .addField("Answer", replies[result]);
    
    message.channel.send(ballembed);

`

restive pebble
#

whats the output or error

spare mirage
#

but I bet this should work

#

it worked 1 min ago and I changed nothing

#

do I make it execute(Discord, bot, message, args)?

#

lemme try

restive pebble
#

yes

#

i use cmd.run

white anvil
#

stop using var

#

use let

plucky harness
#

i am not able to sign in to digital ocean idk is the server down

white anvil
#

no

plucky harness
#

all i see is white screen

#

when i log in

delicate shore
#

ah u dont need yt search for that @delicate shore
@restive pebble Thne how

restive pebble
#

idk

lusty quest
#
fs.readdir('./events/', (err, files) => {
  if (err) return console.error;
  files.forEach(file => {
    if (!file.endsWith('.js')) return;
    const evt = require(`./events/${file}`);
    let evtName = file.split('.')[0];
    console.log(`Loaded event '${evtName}'`);
    client.on(evtName, evt.bind(null, client));
  });
});
``` Any idea why this works on Windows but fails on linux (evt.bind is not a function; NodeV12.18.1; Djs V12)
restive pebble
#

this ok

lusty quest
#

nvm found the issue

hasty sparrow
#

What was the issue?

restive pebble
#

yes tell

#

pls

golden condor
#

It wasn't .bind

#

The function was something else

delicate shore
#

@restive pebble one ques i got all code for index ok
but what to do of this

const {
    prefix,
    token,
} = require('./config.json');```
lusty quest
#

it cant load the event bcs there is no export

delicate shore
#

what should i write in config

#

?

restive pebble
#

this is ur bot prefix

delicate shore
#

no

restive pebble
#

and bot tokwn

delicate shore
#

but wher to enter

#

token

#

and that

restive pebble
#

config.json

#

at root

delicate shore
#

that is the ques

#

In config

#

i should write

restive pebble
#

write those in the root

delicate shore
#

root

restive pebble
#

config.json

#

./config.json

delicate shore
#

can't i use env

restive pebble
#

yes

#

replace simply

#

process.env.something

delicate shore
#

ok

#

thnx

surreal notch
#

I m using these codes for sending a user message in dm by using user id but it evertime says can't find user - ``` client.on('message', async message => {
if(message.content.startsWith(prefix + "dm")) {
const args = message.content.split(" ").slice(1);
let dUser = message.mentions.users.first() || message.guild.members.cache.get(args[1]);
if (!dUser) return message.channel.send("Can't find user!")
if(!message.member.hasPermission("ADMINISTRATOR")) return message.reply("You can't you that command!")
let dMessage = args.join(" ").slice(22);
if(dMessage.length < 1) return message.reply('You must supply a message!')

dUser.send(`${dUser} A moderator from Discord Profie sent you: ${dMessage}`)

message.author.send(${message.author} You have sent your message to ${dUser})
}

#

help me out

hidden lynx
#

my ytdl stream always stops, for no reason and without error-message, playing music. Anybody having the same issue?

restive pebble
#

@hidden lynx does it play for some time?

hidden lynx
#

yes it does

#

i think i also depends on what is playing. If the song is longer it also streams longer

restive pebble
#

discord.js?

hidden lynx
#

yep

#

with ffmg and opus. usual stuff

restive pebble
#

does it throws error?

hidden lynx
#

no nothing. really strange

#

it just stops but rest of the program keeps running

restive pebble
#

its not ytdl related

hidden lynx
#

what else could it be?

#

i literally have no idea

restive pebble
#

becuz ytdl returns stream

hidden lynx
#

ik

#

but there is now error showing up

long yew
#

so when someone writes .spawn it spawns a pokemon
but when they write .catch it catches the most recent pokemon spawned on the whole bot but i want it so it only catches the pokemon in the channel it was spawned in
probably something to do with this

hidden lynx
#

nice if nesting xD

rustic ridge
#

don't they have to mention the pokemon's name?

long yew
#

no

#

just .catch

rustic ridge
#

whats the variable mon

long yew
#

/mons.json

#

ok nvm

#

can someone help me start using a data base?

honest perch
#

v11 or 12

split hazel
#

And I think that user id should be in args[0] not 1 since you sliced the prefix and command name

hidden lynx
regal raven
#

Can I send a local file in embed?

hidden lynx
tulip zealot
#

Hey. I found this in the Discord documentation :

API_ENDPOINT = 'https://discord.com/api/v6'
CLIENT_ID = '332269999912132097'
CLIENT_SECRET = '937it3ow87i4ery69876wqire'
REDIRECT_URI = 'https://nicememe.website'

def exchange_code(code):
  data = {
    'client_id': CLIENT_ID,
    'client_secret': CLIENT_SECRET,
    'grant_type': 'authorization_code',
    'code': code,
    'redirect_uri': REDIRECT_URI,
    'scope': 'identify email connections'
  }
  headers = {
    'Content-Type': 'application/x-www-form-urlencoded'
  }
  r = requests.post('%s/oauth2/token' % API_ENDPOINT, data=data, headers=headers)
  r.raise_for_status()
  return r.json()

What is def ? I've never seen that...

blazing portal
#

stands for define. basically thats how you define a function in python

tulip zealot
#

Ow..

hazy sparrow
tulip zealot
#

So can I do :

API_ENDPOINT = 'https://discord.com/api/v6'
CLIENT_ID = '332269999912132097'
CLIENT_SECRET = '937it3ow87i4ery69876wqire'
REDIRECT_URI = 'https://nicememe.website'

var exchange_code(code):
  data = {
    'client_id': CLIENT_ID,
    'client_secret': CLIENT_SECRET,
    'grant_type': 'authorization_code',
    'code': code,
    'redirect_uri': REDIRECT_URI,
    'scope': 'identify email connections'
  }
  headers = {
    'Content-Type': 'application/x-www-form-urlencoded'
  }
  r = requests.post('%s/oauth2/token' % API_ENDPOINT, data=data, headers=headers)
  r.raise_for_status()
  return r.json()

And after use exchange_code(mycode); ?

slender thistle
#

What

tulip zealot
#

@blazing portal

hidden lynx
#

you probably cant just change 1 line xD and convert .py to .js

slender thistle
#

How does that make sense

#

Python uses def to define functions

tulip zealot
#

It's in "py" ! ?

long yew
#

lol

hidden lynx
#

xD

tulip zealot
#

It's for that .. x')

slender thistle
#

Yes it's python if you haven't noticed

plucky harness
#

how to catch discord.ext.commands.errors.MissingRequiredArgument in py

tulip zealot
#

I've never developped in Python, so.. :)

plucky harness
#

using excrpt

slender thistle
#

Global error handler?

plucky harness
#

except?

split hazel
#

You shouldn't copy things right from the dev page anyways

plucky harness
#

try except

hazy sparrow
#

is there anything wrong in this?


const {token} = require('./config.json');

const fs = require('fs');

client.commands = new Discord.Collection();

const commandFiles = fs.readdirSync(`./Commands/`)
for(const file of commandFiles){
    const commad = require(`./commands/${file}`);

    client.commands.set(commands.name, command);
  }

client.on("ready", () => {
  console.log("I am ready!");
});
const prefix = (config.prefix);
slender thistle
#

on_command_error event with if isinstance(error, commands.MissingRequiredArgument):

plucky harness
#

alright

slender thistle
#

Also make sure to not silence other errors with an else to print traceback

blazing portal
#

@hazy sparrow what is commands.name?

hazy sparrow
#

"Commands"

blazing portal
#

in the code you sent, you never defined .name?

hazy sparrow
#

how to define it?

#

should i use a =?

blazing portal
#

This way you're trying to save into the collection the command with the key commands.name, but nowhere does it say what commands.name is.

hidden lynx
#

why are you using a const?

hazy sparrow
#

This way you're trying to save into the collection the command with the key commands.name, but nowhere does it say what commands.name is.
@blazing portal ohh i get it

#

ill fix it and tell if it works

blazing portal
#

great ๐Ÿ™‚

#

@hidden lynx why not const?

tulip zealot
#
API_ENDPOINT = 'https://discord.com/api/v6'
CLIENT_ID = '332269999912132097'
CLIENT_SECRET = '937it3ow87i4ery69876wqire'
REDIRECT_URI = 'https://nicememe.website'

var exchange_code = function(code){
  data = {
    'client_id': CLIENT_ID,
    'client_secret': CLIENT_SECRET,
    'grant_type': 'authorization_code',
    'code': code,
    'redirect_uri': REDIRECT_URI,
    'scope': 'identify email connections'
  }
  headers = {
    'Content-Type': 'application/x-www-form-urlencoded'
  }
  r = requests.post('%s/oauth2/token' % API_ENDPOINT, data=data, headers=headers)
  r.raise_for_status()
  return r.json()
}

It's ok ?

hidden lynx
#

great ๐Ÿ™‚
@blazing portal oh nvm mb sorry

tulip zealot
#

Thx :)

slender thistle
#

There's

blazing portal
#

As someone already said, you can't just change 1 line to convert from Python to javascript, @tulip zealot

tulip zealot
#

I've change multiple things :)

slender thistle
#

Yeah but not the requests library

tulip zealot
#

๐Ÿค”

hazy sparrow
#
 const newLocal = client.commands.set(commands.name = Commands, command);
#

will this do?

slender thistle
#

Because it doesn't exist in node.js

blazing portal
#

no @hazy sparrow

tulip zealot
#

Owww

slender thistle
#

And formatting the string won't work like that in js either I believe

hazy sparrow
#

then?

#

should i remove the const newLocal

blazing portal
#

Let's assume you want to load the file test.js. Then your goal is to save it into the commands collection with the key test and the content of... well the the command?

#

Correct?

slender thistle
#

And kwargs are set in {key: value} objects, not key=value

hazy sparrow
#

yes

blazing portal
#

this could work:

[...]
// Define the name
const name = file.split('.')[0];
client.commands.set(name, command);
[...]
#

The file.split gets test from test.js

earnest phoenix
#

@restive pebble plz reply

2020-06-30T08:38:08.485176+00:00 heroku[web.1]: Stopping process with SIGKILL
2020-06-30T08:38:08.509421+00:00 app[web.1]: Error waiting for process to terminate: No child processes
2020-06-30T08:38:08.579513+00:00 heroku[web.1]: Process exited with status 22
2020-06-30T08:38:08.642541+00:00 heroku[web.1]: State changed from starting to crashed```
hazy sparrow
#

ill try

#

its saying "command is not defined'

blazing portal
#

yep. you defined it as commad ๐Ÿ˜‰

hidden lynx
#

const fs = require('fs');

client.commands = new Discord.Collection();

const commandFiles = fs.readdirSync(`./Commands/`)
for(const file of commandFiles){
    const commad = require(`./commands/${file}`);

    client.commands.set(commands.name, command);
  }

client.on("ready", () => {
  console.log("I am ready!");
});
const prefix = (config.prefix);

im not sure if youre aware of that but its spelled "commad"

earnest phoenix
#

@blazing portal i will support your status

hazy sparrow
#

i see

earnest phoenix
#
2020-06-30T08:38:08.485176+00:00 heroku[web.1]: Stopping process with SIGKILL
2020-06-30T08:38:08.509421+00:00 app[web.1]: Error waiting for process to terminate: No child processes
2020-06-30T08:38:08.579513+00:00 heroku[web.1]: Process exited with status 22
2020-06-30T08:38:08.642541+00:00 heroku[web.1]: State changed from starting to crashed```
#

Solution

#

???

#

Any buddy reply

#

Plz

restive pebble
#

i am saying

earnest phoenix
restive pebble
#

u dont have a procfile

earnest phoenix
#

@restive pebble how to create procfile

#

??

#

I dont know

restive pebble
#

Procfile

earnest phoenix
#

Procfile

slender thistle
#

Just a side note, saying "plz help someone" only makes you look impatient, which reduces people's will to help you

restive pebble
#

go to git hub

earnest phoenix
#

And

restive pebble
#

create new file

#

name it Procfile

earnest phoenix
#

Or

#

Edit file?

hazy sparrow
#

now its saying "config is not defined"

restive pebble
#

no create

earnest phoenix
#

@hazy sparrow no u

#

no create
@restive pebble so

hazy sparrow
#

@hazy sparrow no u
@earnest phoenix ???

restive pebble
#

what is ur main file?

hazy sparrow
#

im not talking to you

earnest phoenix
#

Index

#

@restive pebble

restive pebble
#

inside the Procfile

#

write

#

worker: node index.js

earnest phoenix
#

Edit file name

blazing portal
#

You only require the token out of the config.json

#

not the whole config

earnest phoenix
#

@restive pebble last line ya up

restive pebble
#

inside the Procfile
@restive pebble

earnest phoenix
#

But i have no procfile

#

So

restive pebble
#

create it

earnest phoenix
#

Ok

restive pebble
#

no

#

only Procfile

earnest phoenix
#

Format

#

File

#

??

restive pebble
earnest phoenix
#

ok

#

any buddy help

#

plz

spare mirage
#

code

hazy sparrow
#
const Discord = require("discord.js");

const client = new Discord.Client();

const fs = require('fs');

client.commands = new Discord.Collection();

const commandFiles = fs.readdirSync(`./Commands/`)
for(const file of commandFiles){
    const command = require(`./commands/${file}`);

    const name = file.split('.')[0];
    client.commands.set(name, command);
  }

client.on("ready", () => {
  console.log("I am ready!");
});
const prefix = ("bow");
client.on("message", (message) => {
  if (!message.content.startsWith(prefix) || message.author.bot) return;
  if (!message.content.startsWith(prefix)) return;
 
      if (command === 'ping') {
           client.commands.get('ping').execute(message, args);

the ping command is not responding and nether are all my 7 other commands. any help?

spare mirage
#

?

#

bow pro

hazy sparrow
#

?

spare mirage
#

can u show me the command files

#

give m ethe ping command file

hazy sparrow
#

ok wait

blazing portal
#

Where do you define prefix

spare mirage
#
 if (command === 'ping') {
           client.commands.get('ping').execute(client, message, args);```
hazy sparrow
#
module.exports = {
   name: 'ping',
   description: "this is a ping command!",
   execute(message, args){
       message.channel.send('pong!');
    }
}
spare mirage
#

add client

#

and add Discord to all of them

#

that helps all the time

hazy sparrow
#

can you type the last line with those discord and client thingy here?

spare mirage
#
           client.commands.get('ping').execute(message, args);```
#

no

#

thats code feeding

hazy sparrow
#

oof

#

okay

spare mirage
#

you have to execute Discord and client too

#

so what will it be?

hazy sparrow
#

should i put discord in the main code or ping.js

spare mirage
#

both

hazy sparrow
#

okay ill try and let you know

spare mirage
#

ok

#

if u have more errors

#

send me both codes

hazy sparrow
#
discord.message.channel.send('pong!');
hasty sparrow
#

@hazy sparrow Where do you define command?

hazy sparrow
#

main code

spare mirage
#
client.commands = new Discord.Collection();

const commandFiles = fs.readdirSync(`./Commands/`)
for(const file of commandFiles){
    const command = require(`./commands/${file}`);

    const name = file.split('.')[0];
    client.commands.set(name, command);
  }
#

here he does

#

that works

#

I use that too

hasty sparrow
#

No, I mean if (command === 'ping') {

spare mirage
#

ahh I see

hasty sparrow
#

Where is the command variable defined?

spare mirage
#

u dont define command

#

@hazy sparrow

hazy sparrow
#

ohh

#

then why does other commands not work?

quartz kindle
#

exactly because of that

hazy sparrow
#

other command are basic

#
if(message.content.startsWith(`${prefix}roll`)) {
      message.channel.send( ":game_die: | rolled a " +  Math.floor(Math.random() * (6- 1 + 1) + 1));
#

like that

quartz kindle
#

you'd need to show more code

hazy sparrow
#

umm

spare mirage
#

@hazy sparrow make ur const prefix higher

hazy sparrow
#

okay

spare mirage
#

like above the cliend.commands

#

thats easier to see

quartz kindle
#

@hazy sparrow you should be seeing an error in your console/terminal

#

about command not being defined

hazy sparrow
#

nope

quartz kindle
#

this error causes the rest of your message event to not proceed

hazy sparrow
#

it shows "i am ready!"

quartz kindle
#

thats why none of the commands work

spare mirage
#

did u copy paste it from lioncodes now video?

hazy sparrow
#

umm

#

what?

spare mirage
#

almost exactly ur code

quartz kindle
#

also

#

this is very wrong

hazy sparrow
#

that

quartz kindle
#

the comma there, and the client.login() being inside another )

hazy sparrow
#

i replaced it to not show it to you guys

quartz kindle
#

im not talking about the token

hazy sparrow
#

oh

spare mirage
#

but it logs in

#

:/

quartz kindle
#

there shouldnt be a comma there

#

and the client.login() should be stand alone

#

not inside another )

#

the extra ) should be at the end of the }

#

a few lines above

hazy sparrow
#

done

spare mirage
#

ok imma stay out of this tim is way better at js and way better at explaining

#

byeee

quartz kindle
#

lol i didnt mean to take your job

hazy sparrow
#

it still comes "i am ready" like in the code

#

but none of the commands are working

spare mirage
#

then something in the commands is wrong

quartz kindle
#

show your current code

hazy sparrow
#

okay

spare mirage
#

in an hastebin

#

pls

quartz kindle
#

yes ^

spare mirage
#

@hazy sparrow

hazy sparrow
#

ok lol

plucky harness
#

i am trying vps for the first time so it might be a noob question. why are sites asking me to buy domain along with actual vps cost ? is buying domain necessary cuz its expensive

spare mirage
#

@quartz kindle do u know how to add colors when u make a code block in discord? ``````

quartz kindle
#

specify a coding language

blazing portal
#

@plucky harness if you want an actual website with it, you need one. If it's only for your bot you don't

spare mirage
#

pinned messages @plucky harness

hasty sparrow
#

You don't have to buy a domain, but nobody will use your site if it's only accessible through ip

quartz kindle
spare mirage
#

makes sense

plucky harness
#

i want only bot but sites still asking for domain name

#

maybe they think i am trying to build website?

quartz kindle
#

which hosting company?

hasty sparrow
#

Are you going to host a public website for your bot?

plucky harness
#

a2 and some ohers

#

a2 hosting

quartz kindle
#

those are primarily webhosting companies

plucky harness
#

no

quartz kindle
#

idk if their vps services are good

plucky harness
#

i see

hasty sparrow
#

No website, no domain needed

plucky harness
#

what do u guys suggest then?

spare mirage
#

how do people make a bot dashboard?

hasty sparrow
#

Using code

spare mirage
#

:/

#

I couldve figured that

quartz kindle
#

look into dedicated vps hoting companies, such as google compute engine, amazon ec2, galaxygate, vultr, ohv, digitalocean, contabo, vpsdime, etc...

blazing portal
spare mirage
#

4 permonth

plucky harness
#

thanks

spare mirage
#

is cheap af

plucky harness
#

i am gonna look into every1 of those

quartz kindle
#

contabo has the most powerful machines for the same price, by far, but their resources are not dedicated, because they oversell

delicate shore
#

@restive pebble it says ytdl is not defied

quartz kindle
#

but they're still pretty good from what i've heard

blazing portal
#

Yeah I've never had issues in the past 2 years there

quartz kindle
#

which plan are you on?

hazy sparrow
#

tim here

#

wait

#

wrong link

spare mirage
#

this is fine too I guess

blazing portal
#

VPS M SSD (8,99โ‚ฌ a month), but I'm not only using it for the bot

quartz kindle
#

sounds overkill for 1 bot lmao

#

can you test something for me? i wanna see their disk speeds

blazing portal
#

well as i said, not only for the bot^^

spare mirage
#

ree

quartz kindle
#

ah i misread

blazing portal
#

sure thing

quartz kindle
#

anyway can you try running this curl -sS https://raw.githubusercontent.com/jgillich/nixbench/master/nixbench.sh | sh

#

its a linux benchmark

#

measures cpu, network and disk performance

#

i wanna compare disk speeds with galaxygate

spare mirage
#
     if(message.content.startsWith(`${prefix}roll`)) {
      message.channel.send( ":game_die: | rolled a " +  Math.floor(Math.random() * (6- 1 + 1) + 1));``` this seems wrong shouldnt it be } else if(message.content.blablablablbabl code stuff wheee
quartz kindle
#

might take a couple minutes to run

#

(assuming you're using linux)

hazy sparrow
#
     if(message.content.startsWith(`${prefix}roll`)) {
      message.channel.send( ":game_die: | rolled a " +  Math.floor(Math.random() * (6- 1 + 1) + 1));``` this seems wrong shouldnt it be } else if(message.content.blablablablbabl code stuff wheee

@spare mirage thats what is there

spare mirage
#

no u have
} else
if

blazing ravine
hazy sparrow
#

doesesnt it mean the same as far as i know>

spare mirage
#

I dk

#

im used to } else if()

#

thats me :P

blazing portal
#

It's running. I'll let you know

spare mirage
#
if(message.content.startsWith(PREFIX + "ping")) {
        bot.commands.get('ping').execute(Discord, bot, message, args);
    }else if(message.content.startsWith(PREFIX + "image")) {
        bot.commands.get('image').execute(Discord, bot, message, args);
#

This code works for me

blazing ravine
spare mirage
#

dont copy paste it cuz ur my code is
const PREFIX

summer torrent
#

filter it

spare mirage
#

and ur is const prefix

hazy sparrow
#

ill try change the command === thingy into message.content.startsWith()

summer torrent
quartz kindle
#

@hazy sparrow the command is still undefined, so it should be giving you an error about that

blazing ravine
#

whats this

spare mirage
#

yes that would work @hazy sparrow

quartz kindle
#

also discord.client.commands is wrong

hazy sparrow
#

;-;

#

give 1 answer

spare mirage
blazing ravine
#

@summer torrent im not using array

quartz kindle
#

@blazing ravine didnt i already tell you how to do it lol

blazing ravine
#

i try

#

idk how

quartz kindle
#

.cache.filter().forEach()

summer torrent
#

filter is not only for array

quartz kindle
#

filter works for discord collections

#

which is what .cache are in discord.js

blazing ravine
#

what i need type in filter

quartz kindle
#

a function that checks if yo have permissions in the guild

#

for example

blazing ravine
#

oo

pure lion
#

it logs the message but nothing happens here:

  if (StickyMessages.get(`Stick`) == msg.channel.id) {

    msg.channel.bulkDelete(2)

    let stAcc = await StickyMessages.get(`Stick.${msg.channel.id}`)

    msg.channel.send(stAcc)
  }

ik im so close, sooooo close...

quartz kindle
#

.filter(guild => guild.me.permissions.has("CREATE_INVITE"))

#

or something like that

pure lion
#

trying to make a sticky message command*

quartz kindle
#

i dont remember the exact permissions, check the docs

pure lion
#

i believe

#

CREATE_INSTANT_INVITE

quartz kindle
#

stickyMessages is a quick.db table? or what

pure lion
#

yup

quartz kindle
#

and did you log stAcc?

hazy sparrow
#

message.content.startsWith(`${prefix}ping`) also doesesnt work

quartz kindle
#

@hazy sparrow change the "i am ready" to something else, and see if the change actually works

pure lion
#

and did you log stAcc?
@quartz kindle ye wait ill get what it logs

hazy sparrow
#

okay

quartz kindle
#

its possible you're not saving the file correctly

blazing ravine
#

thanks

hazy sparrow
#

yes it works

#

i changed it to !

#

and it logs !

pure lion
#
[ { ID: 'Stick', data: { '725823869897932921': 'test' } } ]

tim

hazy sparrow
#

!*

quartz kindle
#

and did you remove the if(command ===) part?

hazy sparrow
#

yes

quartz kindle
#

show your code again

hazy sparrow
#

oof

#

okay

quartz kindle
#

@pure lion so thats an array

#

you need to access its contents

pure lion
#

when i call it to log it through eval:

{ '725823869897932921': 'test' }
quartz kindle
#

discord.client.commands.get is wrong

#

should be client.commands.get

blazing portal
pure lion
#

when i call it to log it through eval:

{ '725823869897932921': 'test' }

and when i call the ID, it logs 'test'

earnest phoenix
#

lol

quartz kindle
#

@blazing portal thanks

#

as i suspected, their disks are slow

#

which is a bummer

earnest phoenix
blazing ravine
#

@quartz kindle

pure lion
#

tfw tim uses the correct spelling of disk in the right context

blazing ravine
quartz kindle
#

@blazing ravine yeah i told you to check the docs for the exact permission, since i dont remember

#

do you know how to check the docs?

hasty sparrow
#

Damn, DigitalOcean has 3-4x the disk speed

quartz kindle
#

same with galaxygate

#

did you run the benchmark in do?

pure lion
quartz kindle
#

can you show the results?

hasty sparrow
#

Running it right now

blazing portal
#

Well, I'll take the trade off for the cheaper price. I don't need that much disk speed

summer torrent
quartz kindle
#

awesome

hasty sparrow
#

You collecting these benchmarks somewhere? Would love to be able to easily compare them

quartz kindle
#

these are the disk speeds in galaxygate

viral spade
#

In a sharded mongodb cluster for a statistics bot with lots of user data, should i make

a) 1 guild collection, that contains all the data in arrays, including roles,members,channels and big statistics arrays textmessages,voiceminutes,...

b) 1 collection per all of these entities

also note i have to do lots of calculations on the data.

blazing ravine
#

@quartz kindle thanks

quartz kindle
#

@hasty sparrow not really, but since apparently nobody is doing that, i kinda want to

blazing portal
#

Might actually be a good idea to collect these

blazing ravine
#

can i get link for docs

hasty sparrow
#

~20MB faster than DO, NYC 3 is at 372MB/s

quartz kindle
#

shall we make a google sheets?

hasty sparrow
#

Sure

summer torrent
#

learn to how to use google

blazing ravine
#

0-0

#

google ?

quartz kindle
#

@viral spade not sure since i dong use mongo, but theorically one document per guild makes sense

#

mongo is capable of doing collections inside collections right?

blazing portal
#

@hasty sparrow @quartz kindle want to dm me your google emails? Then I'd start a sheet with you as collabs

quartz kindle
#

so collection of guild documents, and each guild stores a collection of member documents

hasty sparrow
#

Will do

viral spade
#

i also think so, because i can shard only this one collection. ont he other hand i fear that my stat update queries might take longer,which then access many different arrays inside the guild collections

pure lion
#

bleurgh im back

earnest phoenix
quartz kindle
#

@blazing portal sure

pure lion
#

tim how would i fix?

plucky harness
#

hey jonny bnator

#

contabo needs Setup fee
(one-time) ?

earnest phoenix
#

no reply

quartz kindle
#

@earnest phoenix never seen that before, try googleing it

blazing portal
#

Uhm I don't remember Damian, it's been over 2 years for me. just check their pricing table. It should specify whether there is one

pure lion
#

github importing issue help plz
@earnest phoenix apparently github temporarily died

quartz kindle
#

yes i believe contabo has a setup fee from what i heard

finite bough
#

yes

#

4-5$

pure lion
#

tim how do i access just the guild ID from the provided code?

finite bough
#

for the 4$ plan atleast

quartz kindle
#

@pure lion it sounds like you're storing the data wrong in the first place, dont you want to access a text directly from .get(...channelid)?

blazing ravine
#

docs

quartz kindle
#

or do you want to save multiple texts per each channel?

pure lion
#

yes i do

quartz kindle
#

show how you store them, where you do .set()

pure lion
#

wait i should be pushing them right?

#

oh okay

#
          let messageStc = args.slice(1).join(' ')
          let sticc = await msg.channel.send(messageStc)
          StickyMessages.set(`Stick.${msg.channel.id}`, `${sticc}`)
quartz kindle
#

thats not a good idea

pure lion
#

ah shi-

quartz kindle
#

sticc is the message object that you just sent

#

you cant store a full message object

#

youre stringifying it, so it gets converted to something,

hazy sparrow
#

discord.client.commands.get is wrong
@quartz kindle none of the commands are responding

quartz kindle
#

but its not reliable to stringifying it generally like that

pure lion
#

its how i log stuff to my snipe.json tho

#

same kinda idea, stores the message

quartz kindle
#

you want to store the id and the content or only the content?

pure lion
#

content

quartz kindle
#

or also attachments and shit

pure lion
#

ok ill go change it brb

quartz kindle
#

@hazy sparrow did you remove discord.?

#

should be just client.commands not discord.client.commands

hazy sparrow
#

yea

restive pebble
#

ok

tiny venture
#

How to make Random Cat image In python

pure lion
#

uh

#

i am the physical embodiment of js

#

sorry

quartz kindle
#

Lol

tiny venture
#

Ooof

restive pebble
#

lol

tiny venture
#

Anyone?

restive pebble
#

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

noble dagger
#

I NEED HELP!

I'm coding my bot and I'm adding a feature where you would type (prefix)wide and it makes an embed where its the authors profile pic but stretched out wider.

How would i go about doing this
I'm coding using glitch

quartz kindle
#

you would probably use an api that provides random cat images

#

or scrape websites for it

tight plinth
#

i know python "shuffles" a array when it becomes too big (it forgets where some elements are), but does js the same thing?

spare mirage
#

@noble dagger more code pls

noble dagger
#

i legit started coding like 3 days ago

restive pebble
#

ok

quartz kindle
#

@noble dagger you want to edit the image? you need an image manipulation library, such as gm sharp jimp , etc..

restive pebble
#

u can use some api

pure lion
#

msg.channel.send(JSON.stringify(StickyMessages.get(Stick)))

{"725823869897932921":"please work"}
```through eval
restive pebble
#

or jimp

#

as he said

pure lion
#

c0nvas

restive pebble
#

no

noble dagger
#

im pretty sure glitch is just discord.js but all done online

pure lion
#

./

earnest phoenix
#

:/

spare mirage
#

How would a man pronounce href?

restive pebble
#

@noble dagger its not so

earnest phoenix
#

-_-

pure lion
#

h-ref
like reference but h

restive pebble
#

update package.json and add

spare mirage
#

I sound like a dog when I do it

#

lmaoo

restive pebble
#

H R E F

#

separately

spare mirage
#

huhwref

earnest phoenix
restive pebble
#

lol

#

do again

earnest phoenix
#

same

#

issue

pure lion
#

i pronounce H ref

quartz kindle
#

@pure lion here's how i would do it more or less: ```js
msg = await ....send("whatever");
....set(bla.${msg.channel.id},{id:msg.id,content:msg.content})

msg = ....get(bla.${msg.channel.id})
....send(msg.content)

delicate shore
#

My bot isn't working

earnest phoenix
#

many times i try

restive pebble
#

internet ossu?

delicate shore
#

Fuck

restive pebble
#

map

earnest phoenix
#

@restive pebble my connection good

delicate shore
#

@restive pebble pls answer

restive pebble
#

ok

#

what answer

delicate shore
#

The code which you told me
The link which you sent

#

That isn't work in Ng

restive pebble
#

uh

delicate shore
#

Working

earnest phoenix
restive pebble
#

u try the previous one

earnest phoenix
#

what

restive pebble
#

normal code

#

not to u

delicate shore
#

That's not working either

earnest phoenix
delicate shore
#

Earlier it was saying ytdl core

restive pebble
#

@earnest phoenix glitch has their own export thing

delicate shore
#

Is not defined

restive pebble
#

then idk

#

use vsc

pure lion
#

@pure lion here's how i would do it more or less: ```js
msg = await ....send("whatever");
....set(bla.${msg.channel.id},{id:msg.id,content:msg.content})

msg = ....get(bla.${msg.channel.id})
....send(msg.content)

@quartz kindle ok ty

delicate shore
#

Vsc?

restive pebble
#

it has glitch plugin

#

visual studio code

delicate shore
#

Oh

restive pebble
#

i recommend googling the issue

#

or ytdl support

#

server

earnest phoenix
#

@earnest phoenix glitch has their own export thing
@restive pebble no no

restive pebble
#

go to glitch

#

click on tools

#

import and export

#

export to github

earnest phoenix
#

my english is slow

restive furnace
#

-> push to github -> then setup heroku

tiny venture
#

Yeh

earnest phoenix
#

yah yah

restive pebble
#

export to github

#

or i recommend

restive furnace
#

export and push same but ok

restive pebble
#

downloading

#

the files

#

and uploading

earnest phoenix
#

and upload?

restive pebble
#

manually

earnest phoenix
#

ok

#

but uploding not work empty file

restive pebble
#

install heroku cli

earnest phoenix
#

github heroku same??

restive pebble
#

i suggest u to read this

earnest phoenix
#

oh

hazy sparrow
#

tim what am i supposed to do ๐Ÿ˜ญ

#

oof he is offline

delicate shore
#

Pls someone help me

#

๐Ÿ˜ญ

#

I got rate limited

restive furnace
#

@delicate shore dont make api abusive commands, thats a fix

spare mirage
#

ouch

#

@hazy sparrow read the docs :P

restive furnace
#

like dm everyone, ban everyone, kick everyone, warn everyone etc.

spare mirage
#

isnt that the smae as nuking xD

delicate shore
#

@delicate shore dont make api abusive commands, thats a fix
@restive furnace
What do you mean ?
I mean YouTube API
My bot is a music bot

restive furnace
#

if you use glitch, heroku or repl.it

#

its normal then

delicate shore
#

Glitch

#

Oh

#

Then how to solve it

restive furnace
#

its normal then, you cant do anything

#

expect buy vps

delicate shore
#

Oh

#

VPS

#

But what is relation

#

Between Google API

#

And VPS

spare mirage
#

just use visual studio code and node :/

delicate shore
#

?

restive furnace
#

glitch has like 10k projects in 1 vps

#

so if you buy your own, then theres only ur porjects

delicate shore
#

But @restive furnace Google API got rate limited

restive furnace
#

google cloud, azure and aws provides free trials

delicate shore
#

My rest commands are working

restive furnace
#

i already told you why.

cinder patio
#

you can't do anything about that

delicate shore
#

:+

restive furnace
#

expect get a vps

delicate shore
#

Ok

cinder patio
#

VPS won't do anything

delicate shore
#

^

#

That's what I am staying

restive furnace
#

it gets the ratelimit off

delicate shore
#

Saying

restive furnace
#

since you only use it

delicate shore
#

No

restive furnace
#

i dont think you have like 10k guilds

delicate shore
#

I am talking about YouTube API

#

Here is a limit of 10K blocks per day

restive furnace
#

since th ratelimit on yt api is 10k/daily

#

yes i know lol...

delicate shore
#

And it got used

#

So

#

Fuck

restive furnace
#

yes because thats what is glitch

cinder patio
#

Glitch has nothing to do with that

delicate shore
#

^

restive furnace
#

there is like 100 bots per vps

#

on glitcjj

#

bruh

#

what ever

earnest phoenix
#

the official youtube api is shit, none of the large bots use it

#

they all scrape it and use the unofficial api that's made for browsers

restive furnace
#

and proxy(ies) right?

earnest phoenix
#

yes, a bunch of proxies

#

since youtube likes to ip (temp)ban

quartz kindle
#

aka big bots operate illegally

#

:^)

earnest phoenix
#

i mean... yeah

#

they all go against youtube's TOS

#

but youtube doesn't care

quartz kindle
#

lavalink has all of this built in doesnt it?

#

including proxies

earnest phoenix
#

correct

#

well

#

i dont know about proxies

#

i think not

#

lavalink is just wrapping a webserver around lavaplayer

#

yeah they don't do proxying for you

blazing ravine
#

how t oget channel id with command

hazy sparrow
#

you cant change channel ids

blazing ravine
#

no i mean

restive furnace
#

he means how to get them

hazy sparrow
#

oh

restive furnace
#

but what language, lib?

blazing portal
#

discord.js?

quartz kindle
#

the channel id where the message came from?

blazing ravine
#

i mean this

restive furnace
#

but what language, lib?
@restive furnace

quartz kindle
#

ah from a channel mention

blazing ravine
#

nodejs

#

yes

quartz kindle
#

message.mentions.channels.first().id

blazing ravine
#

oh thanks u ebst bro ๐Ÿ™‚ โค๏ธ

hazy sparrow
#

tim can u help me now

earnest phoenix
#
2020-06-30T12:09:51.534333+00:00 app[worker.1]:     at Object.Module._extensions..js (internal/modules/cjs/loader.js:665:10)
2020-06-30T12:09:51.534333+00:00 app[worker.1]:     at Module.load (internal/modules/cjs/loader.js:566:32)
2020-06-30T12:09:51.534334+00:00 app[worker.1]:     at tryModuleLoad (internal/modules/cjs/loader.js:506:12)
2020-06-30T12:09:51.534334+00:00 app[worker.1]:     at Function.Module._load (internal/modules/cjs/loader.js:498:3)
2020-06-30T12:09:51.534334+00:00 app[worker.1]:     at Function.Module.runMain (internal/modules/cjs/loader.js:695:10)
2020-06-30T12:09:51.534334+00:00 app[worker.1]:     at startup (internal/bootstrap/node.js:201:19)
2020-06-30T12:09:51.534335+00:00 app[worker.1]:     at bootstrapNodeJSCore (internal/bootstrap/node.js:516:3)
2020-06-30T12:09:51.626934+00:00 heroku[worker.1]: Process exited with status 1
2020-06-30T12:09:51.671546+00:00 heroku[worker.1]: State changed from up to crashed```
quartz kindle
#

that doesnt show the actual error lol

#

@hazy sparrow whats your current code

hazy sparrow
#

wait

blazing ravine
#

tim this good ;d ? let announceChannel = message.mentions.channels.first();

message.guild.channels.find(t => t.id == announceChannel.id).send(myMessage);

restive furnace
#

and if not working send error here

#

also use formatting ```js
code
```

quartz kindle
#

@blazing ravine no need to find it

#

message.mentions.channels.first() gives you the first channel mentioned

#

including the entire channel structure

#

you can send directly to it

quartz kindle
#

@hazy sparrow do the other commands work now?

hazy sparrow
#

nope

quartz kindle
#

not even foo bar?

hazy sparrow
#

nope

#

wait

#

foo does

quartz kindle
#

also, you sent your token

hazy sparrow
#

oof

#

i regenerated

quartz kindle
#

ok so check if all other commands work

#

roll, server, etc

hazy sparrow
#

yes

quartz kindle
#

ok good

#

now the problem with ping is that you're sending it args

#

but you have no args defined anywhere

#

you have to create your args

blazing ravine
#

ttim how to get channel id messages came from

quartz kindle
blazing ravine
#

oki ty

delicate shore
#

Hey @restive pebble you here

restive pebble
#

yes

hazy sparrow
#

tim the problem in ping.js or main code

delicate shore
#

i am facing an issue

quartz kindle
#

in main code

delicate shore
#

the code u sent me

restive pebble
#

ok

quartz kindle
#

you do execute(message,args) but args doesnt exist

hazy sparrow
#

so i do execute (message) only?

restive pebble
#

ah

delicate shore
quartz kindle
#

if you dont need args, you can do message only

delicate shore
#

i copied exact same code

restive pebble
#

let messageArray =message.content.split(" ")

hazy sparrow
#

ok

quartz kindle
#

but then your command also cant use args

restive pebble
#

let args =messageArray.splice(1)

#

in messagearray split prefix also

delicate shore
restive pebble
#

yes

earnest phoenix
hazy sparrow
#

it works finnally

#

thank you so much tim

earnest phoenix
hazy sparrow
#

and boeing

quartz kindle
#

@earnest phoenix pls read your errors

delicate shore
#

can you see?

blazing ravine
#

@quartz kindle ;dd

delicate shore
#

what's the error

restive pebble
#

in that

delicate shore
#

yedss

#

yes

restive pebble
#

const voiceChannel

#

it should be message.member.voice.channel

delicate shore
#

oooooooook

restive pebble
#

voiceChannel was v11 ig

#

who knows

#

/shrig

quartz kindle
#

@blazing ravine if you want just the id send the id

#

.id

earnest phoenix
#

@quartz kindle string means "" ??

quartz kindle
#

yes

#

"this is a string"

earnest phoenix
#

ohk

restive pebble
#

uh

#

i suggest u to take a look at W3Schools docs

delicate shore
#

now it's not responding

#

awesome

#

lol

restive pebble
#

erros

#

send error

delicate shore
restive pebble
#

lol

#

literally laughing

blazing portal
#

:hehe xD

restive pebble
#

no video id found : hehe

delicate shore
#

no

#

i entered the name of song

#

as !play hehe

blazing portal
#

oh ๐Ÿ˜ฆ

restive pebble
#

oh

#

u have to put id

delicate shore
#

but

#

that is bad

#

lol

restive pebble
#

let info = ytdl.songInfo(query)

delicate shore
#

i can't use that

earnest phoenix
#

your yotube api is error

restive pebble
#

getInfo

delicate shore
#

let info = ytdl.songInfo(query)
@restive pebble for me?

restive pebble
#

sorry

#

yes

pure lion
#

what is this

restive pebble
#

getInfo

#

sorry

pure lion
#

PGamer dm

#

lolll

restive pebble
#

ah i see

#

@delicate shore

#

that thing already exists

#

in ur code

#

dont do

earnest phoenix
#

eh

#

my issue not solve

restive furnace
#

ehh learn the programming language first before making a bot.....

earnest phoenix
#

i know

restive pebble
#

ah sorry

earnest phoenix
#

buddy

restive pebble
#

sorry

earnest phoenix
#

๐Ÿ˜‚

restive pebble
#

@delicate shore

#

ytdl.getInfo

#

is only valid if i give a valid url

#

it wont work with query

earnest phoenix
#

my issue

restive pebble
#

@delicate shore

yts("oh my god by alec benjamin",function(error,res){
if(err)throw err
let videos = res.videos[0]
let streamUrl=videos.url
})
earnest phoenix
#

hmm

#

???

restive pebble
earnest phoenix
#

my problem read

lofty lagoon
#

I got a "problem" with my code cuz I make a cmd of a fkick (fake kick) and in the script I make a code that say another think than {username} have been kicked when someone do the cmd on the bot but when I ping the bot with the cmd it's say {username} have been kicked ```java
module.exports = {
name: "fkick",
description: ":)",
execute(message) {
if (!message.mentions.users.size) {
return message.reply('you need to tag a user to kick');
}

    const taggedUser = message.mentions.users.first();

    if(taggedUser === "@astral#4352") {
     message.channel.send('why do you want to kick me TwT')
     message.react('๐Ÿ˜‚')
    }else{
        message.channel.send(`${taggedUser.username} have been kicked`);
        message.react('๐Ÿ˜‚')
     
    }
},

};```

restive pebble
#

its understood that the api key is not sting

earnest phoenix
restive pebble
#

string

finite bough
earnest phoenix
#

๐Ÿ˜‚

restive pebble
#

ah sorry

lofty lagoon
#

no

finite bough
#

he said fake kick

restive pebble
#

mistake happens

placid cobalt
#

can someone help me fixx this please

    if (message.content == '.config') {    
        new Discord.Guild(client);
        guild.channels.create('name', "text").then(createdChannel => { var id = createdChannel.id })
        message.channel.send (id);
    }
});
lofty lagoon
#

he said fake kick
@finite bough u are a big brain

earnest phoenix
#

๐Ÿ˜‚

#

brain op

restive pebble
#

are u sure the person u are kicking his username is not {username}

earnest phoenix
#

xD

finite bough
restive pebble
#

lol