#development

1 messages · Page 1032 of 1

autumn aspen
#

Cya!

misty sigil
#

??

lusty quest
#

give me a week or 2 and i have this badge too

vivid crescent
#

Just ignore them

misty sigil
#

same @lusty quest

#

anyways, im off to clone luca mmlol

lusty quest
misty sigil
#

ah ofc

#

im gonna add a pull request

earnest phoenix
#

can someone help me use mongoose then?

misty sigil
#

sorry, i use mongodb

earnest phoenix
#

same

#

lol

#

i need to make a work cmd

lusty quest
#

@earnest phoenix i litteraly send you a YT series about this a week or two ago

earnest phoenix
#

but dont know how

misty sigil
#

no i mean npm i mongodb

earnest phoenix
#

no i mean npm i mongodb
@misty sigil ye

sick cloud
#

mongodb is way easier

earnest phoenix
#

ok

#

i am using that

#

but i need help

sick cloud
#

can someone help me use mongoose then?

earnest phoenix
#

making a work cmd

sick cloud
#

then why are you moving

earnest phoenix
#

nvm that

#

i saw things but anyway nvm i need help

#

with the cmd

still merlin
#

how do i get the last deleted message in a channel,
I wanna use it like
let lastdelete = and like however you get it

summer torrent
#

store it in a db

still merlin
#

isnt storing every deleted message in a server agienst discord api tos

summer torrent
#

no

still merlin
#

ohk

vivid crescent
#

Don't store every message?

#

@summer torrent you shouldn't store every message

summer torrent
#

every deleted message

vivid crescent
#

Why would you do that >.>

solemn latch
#

thats against TOS 🤔

summer torrent
#

snipe command akkoShrug

vivid crescent
#

Waste of db space

solemn latch
#

snipe is only the last deleted message

vivid crescent
#

^

solemn latch
#

storing every one is against TOS, you can store the last one.

summer torrent
#

bigsnipe

vivid crescent
#

Discord doesn't like you storing messages, for one it's a privacy issue, and secondly a potential security issue if your DB is breached & you don't store them properly

autumn aspen
#

Guys why isnt it working?

solemn latch
#

its not in your message event

summer torrent
#

^

autumn aspen
#

Wdym

#

help me

vivid crescent
#

I thought you were paying someone to do it

autumn aspen
#

Yes but sooner

#

I want to fix this first

#

bruh

summer torrent
autumn aspen
solemn latch
#

oo

vivid crescent
#

Don't spoonfeed this man

autumn aspen
#

sorry

solemn latch
#

thats not spoon feeding

slender thistle
#

let's see

warm cloud
#

where would message be defined on that line

#

seeing as the function that defined it has finished and had it's state discarded

autumn aspen
#

Guys why is it still wrong?

warm cloud
#

nice token bro

solemn latch
#

??

warm cloud
#

lemme pull up my ocr rq

autumn aspen
#

Fuck

#

lemme regenrate

#

Ha

solemn latch
autumn aspen
#

I regenrated

#

lemme pull up my ocr rq
@warm cloud I regenrated lmao

solemn latch
#

this is your message event, things inbetween those brackets run on that event

autumn aspen
#

Ok

warm cloud
#

and you didn't just regen your secret irght

slender thistle
#

a half-assed attempt

warm cloud
#

still helps

autumn aspen
#

still helps
@warm cloud what

#

Bro pls Im new

#

dont ruin for me

#

Pls man

warm cloud
#

you do not need to ping me

autumn aspen
#

Sorry man

warm cloud
#

and i'll note im not obligated to help you

lyric mountain
#

Regen the token, now

warm cloud
#

none of us are

#

he said he did

autumn aspen
#

Regen the token, now
@lyric mountain I did

warm cloud
#

if you want to continue to receive help from randos on discord be polite about it

autumn aspen
#

Ok

warm cloud
#

anyways

#

my question was

#

on line 9

#

if the on message function has concluded and the state has been discarded

#

how can message be still defined as a variable

autumn aspen
#

ALso it says thay if is wrong
^

#

Bro

warm cloud
#

right

#

look two lines down

#

in your OWN screenshot

#

and we'll find it says that message is not defined

#

which is the actual error

autumn aspen
#

What am I doing wrong

warm cloud
#

im asking questions to help you think of what is wrong

#

it says

#

right there

#

again in your OWN screenshot

#

message is not defined

#

am i clear

strange trout
#

At least learn the basics of JS before getting into bot development

warm cloud
#

at least learn scope lol yeah

autumn aspen
#

yes

#

Bro dont be so rude dude

#

Man

#

Instead help me

strange trout
#

You have been helped

warm cloud
#

you have been helped

strange trout
#

We don't spoon feed

warm cloud
#

we gave you a dirction in which to proceed

autumn aspen
#

Yeah

solemn latch
#

bot development is something you should do after you learn the language.

warm cloud
#

if you're not willing to think as a programmer you're not coding

#

and bot dev is coding

autumn aspen
#

Alright Im gonna try again

#

Send me a actual pic what Im gonna do

#

Also Im not 100% from US

strange trout
#

You're trying to access message outside of the scope

warm cloud
#

Send me a actual pic what Im gonna do
that's the defintion of spoonfeeding

pliant iron
#

Hello there

warm cloud
#

as shiv said move all your message stuff in the message function

#

also why are you asking for a pic shiv sent one

pliant iron
#

Is it possible to make a npm module that gets information from my MySql database and returns it and how hard would this be? An example of what I want to do is

something.get("Client ID", "Database");
strange trout
#

Like an ORM?

autumn aspen
#

You're trying to access message outside of the scope
@strange trout Yes but what am I doing like inside the brackets

warm cloud
#

um

#

if you can't understand that then you've just proven you dont know js

autumn aspen
#

Lemme see yt

lyric mountain
#

Is it possible to make a npm module that gets information from my MySql database and returns it and how hard would this be? An example of what I want to do is

something.get("Client ID", "Database");

@pliant iron that's basically common database managers

solemn latch
#

putting the code you want, inside the brackets off the message event @autumn aspen

lyric mountain
#

Just google about npm mysql libs

pliant iron
#

Thank you for the guidance

strange trout
#

I use Sequelize

warm cloud
#

isn't mysql a straight up npm package aready?

pliant iron
#

Well

solemn latch
#

hes looking for an ORM

lyric mountain
#

Idk, iirc it was sqlite

graceful dock
#

will it work if we define message as a global scope?

warm cloud
#

no

#

because it's an event param

solemn latch
#

it will work if you put the code inside the event

#

🤔

warm cloud
#

it changes for every incoming message

solemn latch
#

lol

warm cloud
#

@solemn latch we've been telling him that lmao

#

he went to search on youtube

vivid crescent
#

Are you still trying to help that guy

warm cloud
#

good god damn luck

vivid crescent
#

With that 2 line fix lmao

warm cloud
#

no we're not he went to watch youtube and find a solution

#

yes lmoa

lyric mountain
#

That's a different dude ain't it?

strange trout
#

Sequelize + PostgreSQL

await message.guild.update({ 'starboard.channel': channel.id });
return message.channel.success(`Set starboard channel to ${channel}`);
solemn latch
#

i think they are friends @lyric mountain

graceful dock
#

his english must be bad so he didnt rly understand

lyric mountain
#

Is larko Gostley?

graceful dock
#

?

solemn latch
#

said we 🤷‍♂️

lyric mountain
graceful dock
#

Me i was just asking a general question about this

vivid crescent
#

I like how he asked for a pic but you've already sent like 3

warm cloud
#

(Hard)

#

yeah good luck with bot dev

graceful dock
#

(Pr0 d3v)

warm cloud
#

:Hard:

lyric mountain
#

Imagine making music commands

vivid crescent
#

Imagine making music

lyric mountain
#

Imagine making

strange trout
#

Just use an actual good music bot

graceful dock
#

he edited a discord bot template and now hes considering himself a developer 🐒

vivid crescent
#

More like tried to edit

warm cloud
#

if we're gonna lay on him do it somewhere else because this isn't dev anymore lol

graceful dock
#

bruh☠️ ☠️ ☠️

vivid crescent
#

Tripped over the first twig

graceful dock
#

Edited and broke it ☠️ ☠️ ☠️

slender thistle
#

if we're gonna lay on him do it somewhere else because this isn't dev anymore lol
Let me just quote this to make sure people see it

earnest phoenix
#

Is their a way to code in discord.js for the bot to send a message when it joins a server?

strange trout
#

Yes

earnest phoenix
#

Aight umm how lol

sonic lodge
#

watch for the guildCreate event

strange trout
earnest phoenix
#

Thanks

#

where do u want the message sent?

#

in a log channel?

strange trout
#

I think it'll be null if it was deleted though

glossy elk
#

I fail to finish my reload command

#

someone help

strange trout
#

You'll have to handle that yourself

earnest phoenix
#

^

#

@earnest phoenix in any

glossy elk
#

current code

#

  client.owners = '690414288065658881'
  if(msg.author.id !== client.owners) return msg.channel.send('LOL, and I thought I was dum. You aren\'t a dev buddy.');
  if(!args[0]) return msg.channel.send('Provide a group and command to reload')
  if(!args[1]) return msg.channel.send('Provide a command to reload')

  const commandName = args[1].toLowerCase()
  let group = args[0].toLowerCase()

  try {

      delete require.cache
      client.commands.delete(commandName)
      const pull = require(`/home/container/src/commands/${group}/${commandName}.js`)
  client.commands.set(commandName, pull)
     
      
  } catch(e) {
     console.log(e)
  }

  msg.channel.send(`\`${commandName}\` was reloaded!`)```
#

After i re-set the command

#

and try to run it

#

it returns command.run is not a function

earnest phoenix
#
const Discord = require("discord.js")

module.exports = {
    name: "work",
    aliases: ["w"],
    category: "Currency",
    run: async (bot, message, args, err) => {
    let random = Math.floor(Math.random() * 100);
    let prevmoney = await bot.db.collection("Money").findOne({"User_ID": message.author.id})
    
    await bot.db.collection("Money").updateOne({"User_ID": message.author.id}, {$set:{Money: prevmoney + random}},  {upsert: true})

    }
}
``` shit dont work
strange trout
#

Cool

glossy elk
#

thats not a valid error

strange trout
#

Very informative

earnest phoenix
#

i doesnt add

glossy elk
#

ikr

earnest phoenix
#

the number

#

it says [object Object]63

#

not the number added

strange trout
#

Have you tried logging stuff to the console

#

Log prevmoney

earnest phoenix
#

ok

glass flare
#

so how would I simply listen for when a user votes for a bot on top.gg?

strange trout
#

Pretty sure you can use top.gg API for that

glass flare
#

i tried the example, didnt work

autumn aspen
#

@solemn latch I did "Ping is 194 ms." Is that ok? ALso how do u fix what roles, perms the bot can run the command

sinful belfry
autumn aspen
#

Like what roles its activates on

solemn latch
autumn aspen
#

thx

solemn latch
#

^ covers roles, perms, ping commands

earnest phoenix
autumn aspen
#

Lol

strange trout
#

Okay so prevmoney is an object

earnest phoenix
#
let prevmoney = await bot.db.collection("Money").findOne({"User_ID": message.author.id})
solemn latch
#

console.log(JSON.stringify(prevmoney))
to log the structure i think

#

🤔

strange trout
#

What properties does it have

earnest phoenix
#

wdym

spare mirage
#

lalalalallala

weary ridge
autumn aspen
#

Guys how do I do a richpresence?

solemn latch
autumn aspen
#

Lmao I have a JavaScript bot

earnest phoenix
#

cool

autumn aspen
#

@solemn latch how do I fix a rich presence?

#

Anyone?

earnest phoenix
autumn aspen
#

Guys so I can change my prefix to anything in the command I want?

digital ibex
#

hi, I have this: js if (typeof this.data !== 'string') { console.log(this); throw TypeError('rawData must be a string'); } else console.log('not'); I do stroople.hash('1'); but its saying its not a string? does anyone know why this is happening? this logs:

#

Hash { data: undefined, amount: undefined }

tulip ledge
#

@digital ibex Are u working with an object or a class?

autumn aspen
#

Guys anyone knows how I can fix my rich presence?

strange trout
#

For example if I want to access a members currency I'd have to do something like this

const data = await message.member.fetchData(['balance']);

console.log(data);
// Logs an object with the balance prop

console.log(data.balance);
// Logs the currency 
digital ibex
#

class

tulip ledge
#

As when ur using a class you need create a constructor

#

Do you have a constructor?

solemn latch
#

@earnest phoenix properties are like this
message.content

content is a property of message

earnest phoenix
#

ok

digital ibex
#

ik, thats not causing the error though

autumn aspen
#

Guys anyone knows how I can fix my rich presence?

tulip ledge
#

message is an object therefore content is a key

autumn aspen
#

FOr my bot

earnest phoenix
#

uhh

restive pebble
#

hi chicken

tulip ledge
#

Hi

autumn aspen
#

hi guys

strange trout
#

Or I could do this

const { balance } = await message.member.fetchData(['balance']);

console.log(balance)
// Logs the balance
earnest phoenix
#

ok..

autumn aspen
#

Guys anyone knows how I can fix a rich presence for my bot?

tulip ledge
#

@digital ibex Can I see how ur structuring the class?

#

And the whole code as when working with a clas you need to do let <variable> = new ClassName()

strange trout
#

@autumn aspen Well you haven't said what's wrong with it so no

tulip ledge
#

If you forget the new keyword it breaks

digital ibex
#

thats not causing the error.

earnest phoenix
#

so let me try that then 1 sec

digital ibex
#

but sure

#
class Hash {
    constructor(rawData, amount) {
        this.data = rawData;
        this.amount = amount;
    }
    hash() {
        if (typeof this.data !== String) {
            console.log(this);
            throw TypeError('rawData must be a string');
        } else console.log('not');
    }
}
module.exports = Hash;
autumn aspen
#

@autumn aspen Well you haven't said what's wrong with it so no
@strange trout I dont know how to fix one

glossy elk
#

Everytime I try to make a reload command, then set the command I get command.run is not a function

autumn aspen
#

Pls help me fix one how do I do?'

digital ibex
#

oh and String is 'string' btw

strange trout
#

What's the issue

tulip ledge
#

When you're creating and object based of the class are you using the "new" keyword?

strange trout
#

I have no idea what you're talking about

sudden geyser
#

The issue is you're checking if a string is equal to a String class.

autumn aspen
#

I dont have a issue I just need a rich presence for my bot'

#

@strange trout

strange trout
#

Oh okay

digital ibex
#

yes chicken dev, if there was something wrong with the class it would not throw my error, it would throw a different error

tulip ledge
#

true

autumn aspen
#

How can I fix one?

tulip ledge
#

oH

strange trout
#

look at the docs

tulip ledge
#

Euhm

earnest phoenix
#

uhh fuck i get NaN

autumn aspen
#

@strange trout guys can anyone show me how to do a rich presence for my bot?

earnest phoenix
#

and it logs undefined

tulip ledge
#

Oh wait

#

The issue is you're checking if a string is equal to a String class.
@sudden geyser

#

Already told u

#

I just thoguht of the same lmao

solemn latch
#

@autumn aspen docs

autumn aspen
#

thx

strange trout
#

I already linked the docs

digital ibex
#

alexis, i've got this code: js if (typeof this.data !== 'string') { console.log(this); throw TypeError('rawData must be a string'); } else console.log('not'); } and its erroring saying rawData is must be a string, I do stroople.hash('1')

earnest phoenix
tulip ledge
#

Can u

#

console.log(typeof this.data)

sudden geyser
#

Well the first argument doesn't really matter assuming stroople is a new instance of the class

manic maple
#

bb'help

digital ibex
#

this logs: Hash { data: undefined, amount: undefined }

#

it would return undefined

manic maple
#

still not added

sudden geyser
#

it's just a matter on what you set it in the constructor

tulip ledge
#

Alright

#

I told you but you said the error wasn't from there

strange trout
#

new Hash(...props)

digital ibex
#

wdym?

tulip ledge
#

let variable = new Hash(rawData, amount)

kind sedge
#

fuck

#

forgot

digital ibex
#

this is my full code: ```js
const Stroople = require('./lib/hash');
const hash = new Stroople();

hash.hash('bob');

solemn latch
#

reported, dotpost

tulip ledge
#

Well

#

Lmao

kind sedge
#

can anyone help me

autumn aspen
kind sedge
#

good for you @solemn latch

tulip ledge
#

its undefined cuz you're not passing rawData

earnest phoenix
#

someone help it logs undefined

tulip ledge
#

new Stroople(); your class asks for parameters but you're not giving any

glossy elk
#

dum help

#

oops

tulip ledge
strange trout
#

The hash method doesn't have params

tulip ledge
#

As seen here

kind sedge
#

I need help

#

I'm working on a music command atm and I get it to join but it doesn't play anything

digital ibex
#

OHH

#

im stupid

#

thanks

kind sedge
#

everything is set up i'm just confused in why it wont play

autumn aspen
#

@solemn latch

spare mirage
#

@autumn aspen do it in ur 'ready' () arrow function

sinful belfry
#

@kind sedge are you getting any errors in the console?

tulip ledge
#

@digital ibex You wanna do like
let variable = new Stroople("String" ,1)
variable.hash()

#

As hash also requests no parameters

earnest phoenix
#

someone help

digital ibex
#

no i dont

autumn aspen
#

@autumn aspen do it in ur 'ready' () arrow function
@spare mirage I dont have that command my is JavaScripted

kind sedge
#

not at all @sinful belfry

tulip ledge
#

Wdym u dont?

#

hash.hash('bob');

#

Will not work

digital ibex
#

ik

tulip ledge
#

As you're not asking a parameter

digital ibex
#

i fixed it just by adding the methods

sinful belfry
#

@kind sedge lets see ur code then

tulip ledge
#

Since it's using the data from the object

sinful belfry
#

has it worked before?

spare mirage
#
bot.on('ready', () =>{ 

}); ```
autumn aspen
kind sedge
#

yes

#

imma send you my code in dms

spare mirage
#

@autumn aspen stop spamming

autumn aspen
#

Ok

strange trout
#

Lost, do you know how OOP works

sonic lodge
#

@autumn aspen move the code that sets the presence in to the client's ready event function

spare mirage
#

bot.on('ready', () =>{

});

#

do it in here

solemn latch
#

needs to be in an event @autumn aspen
preferably in the ready event

spare mirage
#

@autumn aspen

autumn aspen
#

Ok

sonic lodge
#

it's like how you fixed the problem with the message event

autumn aspen
#

thx!

solemn latch
#

your using bot, he is using client @spare mirage

spare mirage
#

doesnt matter

#

thats something you should see

#

lol

solemn latch
#

he wont 🤔

tulip ledge
#

Prob not

warm cloud
#

jesus christ he's back

spare mirage
#

🤦‍♀️

tulip ledge
#

Just like you Justii

warm cloud
#

and it took him so long

#

by god

spare mirage
#

stfu

tulip ledge
#

🤷‍♂️

solemn latch
#

we spent 30 minutes trying to show him how to put an if statement in a message event

warm cloud
#

GOD

digital ibex
#

yes, alexis

spare mirage
#

LOL

tulip ledge
#

Woo who we talking about?

#

Justii?

spare mirage
#

no lol

solemn latch
#

yikes

strange trout
#

@digital ibex You're not doing it correctly

#

Did you fix it now?

digital ibex
#

yeah

autumn aspen
digital ibex
#

i just removed the this and added the data and amount into the hash params

autumn aspen
#

This?

misty sigil
#

How do I get the tag of guild owner

earnest phoenix
#

HELP

#

PLEASE

misty sigil
#

I’ve tried message.guild.owner.user.tag

spare mirage
#

🤦

autumn aspen
#

@solemn latch check DM

#

🤦
@spare mirage LMAO

sonic lodge
#

@earnest phoenix show an error, code, anything

digital ibex
#

@misty sigil client.users.cache.get('owner id').tag

misty sigil
#

ok ty

strange trout
digital ibex
#

np

glossy elk
#
  const categories = fs.readdirSync("/home/container/src/commands");
    categories.forEach(category => {
        chokidar.watch(`/home/container/src/commands/${category}`, {
            awaitWriteFinish: true
        }).on("change", (file) => {
            const commandName = basename(file, ".js")
            delete require.cache[require.resolve(`/home/container/src/commands/${category}/${commandName}.js`)];
            client.commands.delete(`/home/container/src/commands/${category}/${commandName}.js`);
            const props = require(`/home/container/src/commands/${category}/${commandName}.js`);
            client.commands.set(commandName, props);
            
            console.log(`${commandName} from ${category} reloaded.`)     
        });
      });``` ^^ Full Code | Error => `command.run is not a function`
misty sigil
#

What? Why does that work for you

autumn aspen
#

OwO

digital ibex
#

oh well shrug

earnest phoenix
#

@earnest phoenix show an error, code anything
@sonic lodge ok it logs object Object thing code:


const Discord = require("discord.js")

module.exports = {
    name: "work",
    aliases: ["w"],
    category: "Currency",
    run: async (bot, message, args, err) => {
    let random = Math.floor(Math.random() * 100);
    let prevmoney = await bot.db.collection("Money").findOne({"User_ID": message.author.id})
    console.log("Previous money: " + prevmoney)
    console.log("Random money: " + random)
    
    await bot.db.collection("Money").updateOne({"User_ID": message.author.id}, {$set:{Money: prevmoney + random}},  {upsert: true})
    let embed = new Discord.MessageEmbed()
        .setColor("RANDOM")
        .setTitle(`You worked!`)
        .setDescription(`You worked and got ${random} money!💰`)
        .setFooter("This command is in beta so it wont save your money we are sorry :(")
      message.channel.send(embed);
        
    }
}
autumn aspen
#

We doing basic shit job here and I dont have a brain lmao

spare mirage
#

lol

warm cloud
#

so yuo admit it

spare mirage
#

u hae an error

warm cloud
#

go learn js

spare mirage
#

it wont work

digital ibex
#

this channels getting clusterfuck again lmao, bye

strange trout
#

@earnest phoenix try logging prevmoney by itself

autumn aspen
#

go learn js
@warm cloud yessir

earnest phoenix
#

@earnest phoenix try logging prevmoney by itself
@strange trout that wouldnt do anything

spare mirage
#

:3 it wouldnt do anything

glossy elk
#

can i get some help

warm cloud
#

clusterfuck noises

glossy elk
#

;/

spare mirage
#

it logs ur code

autumn aspen
#

it wont work
@spare mirage lmao also I fixed the ping thingy'

strange trout
#

You need to see it's properties

spare mirage
#

what?

autumn aspen
#

@solemn latch check DM

strange trout
#

How does your database look

spare mirage
#

hmm

#

-checkdms

#

:/

solemn latch
#

yo, i gotta block you. too many tags

sonic lodge
#

@earnest phoenix does it say Previous money: object Object? where does object Object appear

solemn latch
#

ive been pmed over 30 times, and like 5 or 6 pings

misty sigil
#

WOAh

warm cloud
#

just turn off dms tbh

solemn latch
#

i cant

warm cloud
#

i've had to block 5 people on this server already

solemn latch
#

i handle unbans in servers

warm cloud
#

oh

solemn latch
#

i gotta have open dms

warm cloud
#

eek

spare mirage
#

in this server?

solemn latch
#

no

spare mirage
#

then turn them off here

earnest phoenix
#

why

glossy elk
#
  const categories = fs.readdirSync("/home/container/src/commands");
    categories.forEach(category => {
        chokidar.watch(`/home/container/src/commands/${category}`, {
            awaitWriteFinish: true
        }).on("change", (file) => {
            const commandName = basename(file, ".js")
            delete require.cache[require.resolve(`/home/container/src/commands/${category}/${commandName}.js`)];
            client.commands.delete(`/home/container/src/commands/${category}/${commandName}.js`);
            const props = require(`/home/container/src/commands/${category}/${commandName}.js`);
            client.commands.set(commandName, props);
            
            console.log(`${commandName} from ${category} reloaded.`)     
        });
      });``` ^^ Full Code | Error => `command.run is not a function`
earnest phoenix
strange trout
#

Because prevmoney is an object. How did you structure your database

autumn aspen
#

@strange trout check DM

sinful belfry
#

-checkdms @autumn aspen

gilded plankBOT
earnest phoenix
#

Because prevmoney is an object. How did you structure you database
@strange trout ?

sonic lodge
#

what does console.log(prevmoney) show

autumn aspen
#

-checkdms @autumn aspen
@sinful belfry I swear lmao

earnest phoenix
#

what does console.log(prevmoney) show
@sonic lodge s

#

what does console.log(prevmoney) show
@sonic lodge smh i showed you

#

object Object

solemn latch
#

stringify the object

sonic lodge
#

it got converted to string

earnest phoenix
#

?

tulip ledge
#

.toString()

sonic lodge
#

try console.log(JSON.stringify(prevmoney))

earnest phoenix
#

ok

tulip ledge
#

Just a question but lets say I have this class Car and then I do

class Model extends Car {
  constructor(brand, mod) {
    super(brand);
    this.model = mod;
  }
}

This will create a new class with the properties of Car and add model to it right?

elfin flower
#

does permissions = administrator work

earnest phoenix
tulip ledge
#

Now to access the money

#

You do <Object>.Money

#

Idk what ur object is called

earnest phoenix
#

?

#

ohhghhhh

digital ibex
#

i think that super is irrelevant there, chicken dev, but yeah, it should.

sonic lodge
#

prevmoney is an object, and you just need to access its Money property

solemn latch
#

money is also an object object?

strange trout
#

Looks like you set Money to an object at one point though

earnest phoenix
#

prevmoney.Money?

strange trout
#

Yes

sonic lodge
#

yeah why does it say [object Object]39

earnest phoenix
#

ok let me log that

#

cuz prevmoney + random

#

i think

strange trout
#

Yeah

#

You saved the whole object under Money

autumn aspen
#

The issue: I cant fix the rich presence for my bot?

sudden geyser
#

the issue is your syntax?

strange trout
#

The solution: Don't copy-paste code from the internet

sonic lodge
#

what in the world is going on

misty sigil
#

anyone got an idea how i can make a temp mute command

#

do i need a db

autumn aspen
#

The solution: Don't copy-paste code from the internet
@strange trout lol

strange trout
#

Depends

solemn latch
#

yes, if you want to handle between reboots

strange trout
#

Do you want it to persist even if the bot restarts

misty sigil
#

thats essential

#

yes

strange trout
#

Then yes

solemn latch
#

bull queue i heard was pretty good for stuff like that if using js

earnest phoenix
#
(node:4) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'Money' of null
2020-07-07T16:37:56.940098+00:00 app[worker.1]:     at Object.run (/app/commands/work.js:11:27)
2020-07-07T16:37:56.940099+00:00 app[worker.1]:     at runMicrotasks (<anonymous>)
2020-07-07T16:37:56.940099+00:00 app[worker.1]:     at processTicksAndRejections (internal/process/task_queues.js:97:5)
2020-07-07T16:37:56.940185+00:00 app[worker.1]: (node:4) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
2020-07-07T16:37:56.940259+00:00 app[worker.1]: (node:4) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
``` uhhh
sonic lodge
#

@autumn aspen this:


}```
is the callback function for the `ready` event
#

when your bot is ready, everything in that function gets called

#

place your setPresence code in that function

strange trout
#

I'd do something like this if I was to make a mute command

sonic lodge
#

@earnest phoenix prevmoney is null if the user doesn't have an entry in the database, right?

#

check if prevmoney is null, and if it is, default it to 0

earnest phoenix
#

@earnest phoenix prevmoney is null if the user doesn't have an entry in the database, right?
@sonic lodge correct

misty sigil
#

prevmoney is the money var from before

earnest phoenix
#

yes

misty sigil
#

the command

sonic lodge
#

great

earnest phoenix
#

check if prevmoney is null, and if it is, default it to 0
@sonic lodge how?

strange trout
#

Couldn't you use an || op

sonic lodge
#
  // prevmoney is null; user does not have an entry
  // handle adding an entry for the user, and set prevmoney to 0
} else {
  // prevmoney is NOT null; user does have an entry
}```
#

actually you probably could ^

#

but he needs to also handle adding an entry in the databse for the new user

strange trout
#
await bot.db.collection("Money").updateOne({"User_ID": message.author.id}, {$set:{Money: prevmoney && prevmoney.Money || 0 + random}},  {upsert: true})
earnest phoenix
#
    if(prevmoney === null) {
    await bot.db.collection("Money").updateOne({"User_ID": message.author.id}, {$set:{Money: 0}},  {upsert: true})
    } else {
    await bot.db.collection("Money").updateOne({"User_ID": message.author.id}, {$set:{Money: prevmoney.Money + random}},  {upsert: true})
    }
``` correct?
strange trout
#

Ah true

misty sigil
#

upsert true makes the db entry

sonic lodge
#

i'm not sure how your database works but it looks fine to me

earnest phoenix
#

ok

strange trout
#

Actually yeah if it's upserted it should create the doc if it doesn't exist right?

earnest phoenix
#

?

strange trout
#

You're using mongodb right?

earnest phoenix
#

yes i am

strange trout
#

Yeah so this should work just as fine. If the user doesn't exist it'll set the the balance to 0 + random otherwise Money + random

<Collection>.updateOne({ User_ID: message.author.id }, { $set: { Money: (prevmoney && prevmoney.Money) || 0 + random } }, { upsert: true });
balmy knoll
#

Someone have the list of all Discord voice regions?

sonic lodge
earnest phoenix
#
(node:4) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'Money' of null
2020-07-07T16:53:31.566666+00:00 app[worker.1]:     at Object.run (/app/commands/work.js:11:27)
2020-07-07T16:53:31.566666+00:00 app[worker.1]:     at runMicrotasks (<anonymous>)
2020-07-07T16:53:31.566668+00:00 app[worker.1]:     at processTicksAndRejections (internal/process/task_queues.js:97:5)
2020-07-07T16:53:31.566847+00:00 app[worker.1]: (node:4) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
2020-07-07T16:53:31.566960+00:00 app[worker.1]: (node:4) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
``` @strange trout
strange trout
#

How does your code look

balmy knoll
#

@sonic lodge Yes, but I'd need it as returned by the Discord API

sonic lodge
#

oh

earnest phoenix
#

const Discord = require("discord.js")

module.exports = {
    name: "work",
    aliases: ["w"],
    category: "Currency",
    run: async (bot, message, args, err) => {
    let random = Math.floor(Math.random() * 100);
    let prevmoney = await bot.db.collection("Money").findOne({"User_ID": message.author.id})
    console.log(JSON.stringify(prevmoney))
    console.log(prevmoney.Money)
    console.log("Random money: " + random)
    

    await bot.db.collection("Money").updateOne({"User_ID": message.author.id}, {$set:{Money: (prevmoney && prevmoney.Money) || 0 + random}},  {upsert: true})
        
    let embed = new Discord.MessageEmbed()
        .setColor("RANDOM")
        .setTitle(`You worked!`)
        .setDescription(`You worked and got ${random} money!💰`)
        .setFooter("This command is in beta so it wont save your money we are sorry :(")
      message.channel.send(embed);
        
    }
}
``` @strange trout
strange trout
#

Remove the logs

sonic lodge
#

@balmy knoll are you on discord.js?

balmy knoll
#

Yes

earnest phoenix
#

Remove the logs
@strange trout boi that wouldnt change anything

strange trout
#

What

#

Yes it would

sonic lodge
#

you can use client.fetchVoiceRegions() to ge tthe available regions

earnest phoenix
#

What can i use instead of roles.has in v12?

strange trout
#
console.log(prevmoney.Money)

This is causing the issue

balmy knoll
#

@sonic lodge Thanks

earnest phoenix
#

Anyone?

strange trout
#

What are you trying to achieve

earnest phoenix
#

Who?

strange trout
#

You

sonic lodge
#

roles.cache.has?

earnest phoenix
#

lemme try

#

worked

#

lmao

sonic lodge
#

👌

earnest phoenix
#

NOT WORKING

strange trout
#

What happened

earnest phoenix
#

bruh

#

you can see

#

what happend

sonic lodge
#

{Money: (prevmoney && prevmoney.Money) || 0 + random}

earnest phoenix
#

tf?

#

im doing

#

that

sonic lodge
#

it should be prevmoney ? prevmoney.Money + random : random

earnest phoenix
#

;?

elfin flower
#

random = random

#

...

sonic lodge
#

it checks if prevmoney is null; if it is, it returns random

#

if it's not null, it accesses the Money property and adds random to it

earnest phoenix
#
const Discord = require("discord.js")

module.exports = {
    name: "work",
    aliases: ["w"],
    category: "Currency",
    run: async (bot, message, args, err) => {
    let random = Math.floor(Math.random() * 100);
    let prevmoney = await bot.db.collection("Money").findOne({"User_ID": message.author.id})
    console.log(JSON.stringify(prevmoney))
    console.log("Random money: " + random)
    

    await bot.db.collection("Money").updateOne({"User_ID": message.author.id}, {$set:{Money: !prevmoney ? prevmoney.Money + random : random}},  {upsert: true})
        
    let embed = new Discord.MessageEmbed()
        .setColor("RANDOM")
        .setTitle(`You worked!`)
        .setDescription(`You worked and got ${random} money!💰`)
        .setFooter("This command is in beta so it wont save your money we are sorry :(")
      message.channel.send(embed);
        
    }
}
``` correct?
sonic lodge
#

sorry i added a ! by mistake

earnest phoenix
#

ok

strange trout
sonic lodge
#

change !prevmoney to prevmoney and see what hapepns

elfin flower
#

(")

earnest phoenix
#

ok ! sec

#

1

#

sec

#

lol

strange trout
#

{Money: (prevmoney && prevmoney.Money) || 0 + random} Works fine

#

wait

#

nvm

earnest phoenix
#

nope

#

not for me

strange trout
#

{Money: (prevmoney && prevmoney.Money || 0) + random}

#

There we go lol

earnest phoenix
#

hm

elfin flower
#

how do i set a roles permissions with discord py

earnest phoenix
#

let me try the other ones first

strange trout
#

Messed up the parentheses

sonic lodge
#

it kind of looks confusing over a ternary

earnest phoenix
#

AYYYY THHHEE E BITTCHCHCHHHH WOORKRRRKSSSS

#

@sonic lodge IT WORKED

raw ravine
#

Can anyone dm me good resources for Eris bot development...? I am a beginner...
Thanks!

strange trout
#

I think it's easy to understand

sonic lodge
#

you know how it works, right?

earnest phoenix
#

you know how it works, right?
@sonic lodge me?

sonic lodge
#

yeah

solemn latch
#

The docs are a good resource for eris

strange trout
#

eris doesnt have as much resources as discord.js

#

docs are pretty good

elfin flower
#

imagine if discord lua existed lol

earnest phoenix
#

UHH IT DOESNT WORK FOR OTHER PEOPLE ONLY ME!

#

HELP

sudden geyser
#

eris docs are eh

strange trout
#

Any errors?

sudden geyser
#

if you use an older version good luck

solemn latch
#

They are fine, just not a lot of examples and stuff

earnest phoenix
sonic lodge
#

but you've handled adding entries for new users right?

earnest phoenix
#
const Discord = require("discord.js")

module.exports = {
    name: "work",
    aliases: ["w"],
    category: "Currency",
    run: async (bot, message, args, err) => {
    let random = Math.floor(Math.random() * 100);
    let prevmoney = await bot.db.collection("Money").findOne({"User_ID": message.author.id})
    console.log(JSON.stringify(prevmoney))
    console.log("Random money: " + random)
    

    await bot.db.collection("Money").updateOne({"User_ID": message.author.id}, {$set:{Money: prevmoney ? prevmoney.Money + random : random}},  {upsert: true})
        
    let embed = new Discord.MessageEmbed()
        .setColor("RANDOM")
        .setTitle(`You worked!`)
        .setDescription(`You worked and got ${random} money!💰`)
        .setFooter("This command is in beta so it wont save your money we are sorry :(")
      message.channel.send(embed);
        
    }
}
``` my code
strange trout
#

I'm pretty sure {upsert: true} should handle that

earnest phoenix
#

huh?

strange trout
#

It's going to log null for them because they're not in the database

#

Tell them to repeat the command another time to see what it logs

earnest phoenix
#

i did

#

nothing

#

still null

sonic lodge
#

that's interesting

strange trout
#

Yeah upsert should find or create a document with the key

#

Unless I'm understanding it wrong

sonic lodge
#

i think we're officially stumped

earnest phoenix
#

mhm

#

should we try @strange trout idea asuming hes a verfied dev

prime glacier
#

await is only valid in async function

earnest phoenix
#

lol put it in one then

sonic lodge
#

you're already doing what he suggested

prime glacier
#

anyone know how to solve this in guildaddmember

sonic lodge
#

make the function an async one

prime glacier
#

client.on ("guildMemberAdd", member => {

solemn latch
#

Make it async

strange trout
#

Yeah you already have {upsert: true}

prime glacier
#

how

#

🙄

strange trout
#

VΞЯIFIΞD BOΓ DΞVΞLOPΞЯ xD

sonic lodge
#

by adding async

#

async member => ...

prime glacier
#

ok xD

earnest phoenix
#

why sint this working then 😦

strange trout
#

I don't use mongodb so I dunno Derku

#

I'll look at the docs

earnest phoenix
#

k

digital ibex
#

I'm trying to create my own password hasher, does anyone know where I'd start? I've tried several methods but they've all failed, im using node.js if anyone knows btw

warm cloud
#

have you tried argon2?

#

it's meant for passwords

autumn aspen
#

Guys why dont work?

lusty quest
#

press the problems button in VSC

autumn aspen
#

I did

#

now?

lusty quest
#

fix the problems

autumn aspen
#

w8

#

cant find it

#

The pb button?

#

@lusty quest

lusty quest
#

did you see the bottom row where currently Terminal is selected?

autumn aspen
#

oh

#

thx

digital ibex
#

no laggy, im not using a library

sonic lodge
#

@autumn aspen are you trying to use java code in nodejs?

autumn aspen
#

@lusty quest why does it says that void is unexpected

#

@autumn aspen are you trying to use java code in nodejs?
@sonic lodge I have a JavaScripted bot so yeah

sonic lodge
#

?

autumn aspen
#

Also I took it from discord developer

#

portal

#

the code

sonic lodge
#

where did you get the code, can you link it

autumn aspen
#

Pls help me fix a got dammit rich presence for my bit

#

bot

#

ok

sonic lodge
#

java !== javascript

sly pike
#

How i get skins ?

autumn aspen
#

No

trim saddle
#

bots can't use rich presence

autumn aspen
#

java !== javascript
@sonic lodge w8

#

bots can't use rich presence
@trim saddle But how do I add to mine

#

Like Luca

#

and all bots

#

??

tulip ledge
autumn aspen
#

lmao

sonic lodge
#

it's not RICH presence

autumn aspen
#

OwO

sonic lodge
#

rich presence is for games

sly pike
#

How I get skins ?

autumn aspen
#

WHat ever the game they paly

sonic lodge
#

@sly pike wrong place

autumn aspen
#

lol'

sonic lodge
#

so you want to get the game a user is playing?

autumn aspen
#

rich presence is for games
@sonic lodge can u help me with this, I only want my bot presence to be "Playing a game !help"

sonic lodge
#

i see

autumn aspen
#

.setActivity()
@earnest phoenix huh?

sonic lodge
#

wherever your ready event is, use client.setActivity() in there to set your bot's presence

autumn aspen
#

SHow me in code mode

#

Like this

#
hey 
sonic lodge
#

i can't spoonfeed

autumn aspen
#

Bro its NOT

sonic lodge
#

😮

trim saddle
#

@autumn aspen how about

#

you read the docs

autumn aspen
#

LOL

opal plank
#

its Activity not Presence

autumn aspen
#

thx

opal plank
#

d.js is what you're using it seems

#

though the syntax seems wrong on the static void

autumn aspen
#

So I can use

client.setActivity()
sonic lodge
#

copied straight from the discord dev portal

autumn aspen
#

LMAO

opal plank
#

yeah, idk why you trying to make presence a class

autumn aspen
#

And smth in it

trim saddle
#

dude i just sent you the answer

autumn aspen
#

()

#

Thx

opal plank
#

yeah, check docs

trim saddle
#
// Set the client user's presence
client.user.setPresence({ activity: { name: 'with discord.js' }, status: 'idle' })
  .then(console.log)
  .catch(console.error);
opal plank
trim saddle
#

d.js is literally built for selfbotting and regular botting

#

why are there 3 methods to change your status

opal plank
#

you said it yourself

#

for selfbotting and regular botting

autumn aspen
#

Like this?

opal plank
#

that'd work, but prob better on ready event

misty sigil
#

no

autumn aspen
#

Or does it must be in a ready!

#

thing

misty sigil
#

in the bot.on event

opal plank
#

activity()

misty sigil
#

no wait its bot.ready

#

shit im dum

opal plank
#

i dont think its need to be there

#

you just making ti fire on that event

#

it'll run thru the code regardless

autumn aspen
#

Guys send me the exactly code

#

That I need to put

opal plank
#

no spoonfeeding

strange trout
#

No

kind sedge
#

is this for the bots status

#

?

autumn aspen
#

Hi
@earnest phoenix Sup Blu

strange trout
#

Hai Blu

autumn aspen
#

is this for the bots status
@kind sedge yes

#

@autumn aspen we’re not going to spoon feed you
@earnest phoenix Aight

opal plank
#

dont spoonfeed @kind sedge

kind sedge
#

oh well

autumn aspen
#
    client.user.setActivity(`status lolol`, { type: `PLAYING` }).then(presence => console.log(`Your bot is Online and active! ${presence.activities[0].name}`))
    console.log("Your Bot Is Starting up!")
})```

@kind sedge Thx

kind sedge
#

yup

autumn aspen
#

Lol

kind sedge
#

it's one of my old ones

#

so

opal plank
#

some people just dont caer

strange trout
#

Great now he learned absolutely nothing

opal plank
kind sedge
#

and thats his fault

opal plank
#

its your fault for spoonfeeding

#

read the rules

kind sedge
#

that's a rule

opal plank
#

indeed

kind sedge
#

gg i'm banned

#

wow wtf

opal plank
#

spoonfeeding just creates vampires

kind sedge
#

wellp

#

my bad

#

now I know

opal plank
#

all good

pure lion
#

Perhaps

autumn aspen
#

Is it possible to make a web hook send all audit log notifications to a channel?
@earnest phoenix idts

opal plank
#

you can

#

audit is accesible

pure lion
#

Fetch the audit logs (may have to iterate)

opal plank
#

lemme check if theres an event

pure lion
#

I believe there is

opal plank
#

i dont see any related

#

system messages is where it'd be i would assume

autumn aspen
#

my bad
@kind sedge Still not works??'

#

Why

kind sedge
#

uhh

#

because it doesn't

autumn aspen
#

Lol

kind sedge
#

100%

autumn aspen
#

Help

kind sedge
#

whats the error

opal plank
kind sedge
#

are you saving

opal plank
#

see example in the doc

autumn aspen
#

I cant use it

kind sedge
#

hold

autumn aspen
#

G>ot dammit

kind sedge
#

what's the error

#

i'm not giving any code anymore

#

only hints

autumn aspen
#

Bc idk what to type my presence

#

Blu help

kind sedge
#

@autumn aspen What's the error

#

alright nvm

#

then

autumn aspen
#

I deleted the command @kind sedge

kind sedge
#

alright

autumn aspen
#

Can u send me again

#

The error is this

opal plank
#

check

#

the

autumn aspen
#

w8

opal plank
#

doc

kind sedge
#

check the doc

#

I shouldn't had just gave you code

opal plank
kind sedge
#

you don't learn anything

#

except how to use ctrl c and ctrl v faster

autumn aspen
#

ok

kind sedge
#

wwdwdwd

opal plank
#

3 times i've sent that link, none has he clicked on it

autumn aspen
kind sedge
#

okay client

autumn aspen
#

I changed it to bot?

kind sedge
#

nope

autumn aspen
#

Yes

kind sedge
#

it's probably his first line

autumn aspen
#

No

#

Oh damn

#

lmao I think it was that

kind sedge
#

oh nvm

#

lo-l

#

didn't read the

opal plank
#

he 100% didnt read

autumn aspen
#

I have all on BOTs

#

he 100% didnt read
@opal plank what?

kind sedge
#

don't dot post

#

well

#

actually nvm

autumn aspen
#

I did

opal plank
#

im just gonna ignore from now

autumn aspen
#

frikin 3x

kind sedge
#

yeah

autumn aspen
#

Still cant use it

kind sedge
#

:\

#

read this

#

if you don't understand something

#

tell us

autumn aspen
#

YO IT WORKED!!!

#

THx

#

Allsion

elfin flower
#

i have been reading discord py docs and i dont understand something

modest maple
#

🤔

kind sedge
#

lololol

elfin flower
#

is

#

hold on

opal plank
#

blu are you making him a bot?

elfin flower
#

i dont understand how to set roles permissions

opal plank
#

i see

kind sedge
#

send me a link

#

ske

autumn aspen
#

It works

kind sedge
#

haha

elfin flower
#

is it like

#

permissions = administrator

autumn aspen
#

Thanks for exposing me hard

#

And the pfp is it

#

is a thing

#

its fine

kind sedge
#

Hold

#

are you just copying to copy from like youtube

autumn aspen
#

No

#

Im learning here

kind sedge
#

mm k.

#

just making sure

autumn aspen
#

You were asking me for the code that was already given in the tutorials
@earnest phoenix Yes but u changed alot brotha

#

little hard

modest maple
#

cross server drama is not what this chat is for

autumn aspen
#

Low key take this out of #development and this server
@modest maple LOEL

#

Yeah but the ping

modest maple
#

so either s h u t or take it to DMs

autumn aspen
#

@earnest phoenix u didnt smth wrong

#

do smth wrong

#

@earnest phoenix but u dont have the same kick command as in ur vid

pure lion
#

Hey hey hey

digital ibex
#

ogod, another yt bot tutorial-er

pure lion
#

^

#

🤮

hazy girder
#

how can we check user badges (discord.js)

digital ibex
#

user.flags.toArray()

pure lion
#

Fetch the flags

#

HHHHHHHHH

#

:(

fervent goblet
#

Y does it not return any of the nitro ones?

autumn aspen
#

@digital ibex and @pure lion stfu lol

digital ibex
#

uh ok

#

I dont need to listen to u, so i wont shut up thank u very much mmLol

pure lion
#

I will not shut up

#

I am very very useful

#

Apparently

#

Not sure

autumn aspen
#

Not sure
@pure lion LMAO

kind sedge
#

why do you think

digital ibex
#

read the docs, you've been here asking simple questions for like hours now

pure lion
#

Yo bro I'm dying right now you're so funny bloblul bloblul bloblul bloblul bloblul bloblul bloblul bloblul

autumn aspen
#

Lol

kind sedge
#

haha

fervent goblet
#

Cuz it default to playing

opaque seal
#

Can we keep this on topic

kind sedge
#

@autumn aspen Read the docs

autumn aspen
#

Lmao

pure lion
#

Yeah it's not custom status @autumn aspen

autumn aspen
#

Alrighty

kind sedge
#

Please

#

and thank you

torn ravine
#

so if I was using a separate branch of a node module and I wanted to import my bot onto a cloud platform, how would I do this. I was testing locally and if I import it to the cloud, it gives me an error

opaque seal
#

What do you mean with importing to the cloud

autumn aspen
#

and thank you
@kind sedge But I can change it to just playing (1) right?

digital ibex
#

you shouldn't even have your node_modules folder on whichever host you're using

#

@autumn aspen docs

kind sedge
#

try it for your self

fervent goblet
#

You need to install all the node modules separately

autumn aspen
#

you shouldn't even have your node_modules folder on whichever host you're using
@digital ibex lol

#

You need to install all the node modules separately
@fervent goblet I did

digital ibex
#

what are you talking about?

#

how old r u

opaque seal
#

@glad charm please mute @autumn aspen

digital ibex
#

~~ pls say 12 ~~~

opaque seal
#

He's keeping this chat toxic and off topic

autumn aspen
#

Sorry then

#

@kind sedge I changed it

glad charm
#

What's up.

autumn aspen
#

Sup Dylan!

kind sedge
#

alright what did it say

autumn aspen
#

Wait

kind sedge
#

losing brain cells

autumn aspen
kind sedge
#

there ya go

autumn aspen
#

@kind sedge

kind sedge
#

is that not waht you wanted

#

wooooooooooow

autumn aspen
#

Yes!

#

Thx

#

Wow, wasn’t that easy?
@earnest phoenix Yes but that command tho swiiiish..

#

Did you learn something now?
@earnest phoenix Yes

kind sedge
#

what did you learn

#

today

autumn aspen
#

I learned that I need to check Docks

kind sedge
#

...

digital ibex
#

no he didn't learn anything, he's been copying a tutorial tpsip

kind sedge
#

that's how I started off

autumn aspen
#

no he didn't learn anything, he's been copying a tutorial :tpsip:
@digital ibex No

kind sedge
#

it was bad

#

tho

#

learned nothinggg

digital ibex
#

and he can't even copy it properly wowcringe

autumn aspen
#

and he can't even copy it properly :wowcringe:
@digital ibex Bro stop

opaque seal
#

^

glad charm
#

All of you cut the convo.

autumn aspen
#

U dont have a role

#

Ok

kind sedge
#

...

#

wow

opaque seal
#

That's the best comeback I've heard so far

autumn aspen
#

LOl

kind sedge
#

damn

opaque seal
#

funniest*

kind sedge
#

🔥 we need a 🚒

glad charm
#

Please don't make me repeat myself. 🙂

digital ibex
#

o ok

#

👍

autumn aspen
#

Thx to be rude

#

Dylan get it.

glad charm
#

Hush you.

autumn aspen
#

Allison thx

kind sedge
#

Hold ask us questions if you don't understand something.

#

or read docs

autumn aspen
#

ok

#

thx