#development

1 messages ยท Page 1048 of 1

slender thistle
#

Is walrus operator going to exist in JS?

tulip ledge
#

Your bracket is the wrong way around friend

opal plank
#

also =

tulip ledge
#

Yeah

opal plank
#

should be == or ===

tulip ledge
#

It's == or ===

opal plank
#

im never going to get used to SQL operators

spare mirage
#

@hazy sparrow facts

tulip ledge
#

coudn't understnd tim should also be a string

opal plank
#

i need a cheat sheet for it

spare mirage
#

I have never heard about SLQ operators

opal plank
#

<> who the f decided this is NOT EQUAL

tulip ledge
#

Wdym SQL operators?

#

Oh

#

Yeah

opal plank
#

<@

tulip ledge
#

I use a cheatsheet aswell

opal plank
#

<#

hazy sparrow
#

bruh stop teasing me lmfao

opal plank
#

there are way too many operators for SQL

tulip ledge
#

^-=

#

Like what the fuck even is this

#

|*=

opal plank
#

though to be fair i used to the same about regex, now its somewhat decent

tulip ledge
#

I mean < & > are pretty easy smaller then and greater then but then you put them both together <> NOT EQUAL TO

#

Like wtf?

#

Isn't there like WHERE NOT or something

quartz kindle
#

@slender thistle im pretty sure js already does the walrus thing without it

tulip ledge
#

I swear I remember something like that

opal plank
#

gates makes more sense than that tbh

#

NOR XOR NOT OR

tulip ledge
#

True

#

I only understand NOT and OR ngl

#

Lmao

slender thistle
#

Oh, how come? @quartz kindle

quartz kindle
#

i mean

#

i dont know much about it, so im reading some python blogs about it

tulip ledge
#

Whats a walrus operator?

earnest phoenix
quartz kindle
#

and for example

#

this

tulip ledge
#

the f?

slender thistle
#
if (x := 2) == 2:
    y = x ** 2```
tulip ledge
#

Oh

quartz kindle
#

is already doable in js: if(name = entry.get("name")) { console.log() }

slender thistle
#

oh really that's possible after all?

#

Dear lord

tulip ledge
#

Since when do they use () in if statements in python?

#

I thought it was like if 5 > 1:

#

oh wait

#

I'm stupid

slender thistle
#

PEP says to use (w := x) when used in conditions iirc

tulip ledge
#

I don't know what iirc means but everyone keeps saying it

#

Can someone explain lmao

opal plank
#

if i remember correctly

slender thistle
#

"if I recall/remember correctly"

tulip ledge
#

Oh

mystic fulcrum
#

why does that picture makes "without walrus operator" longer when its the same length

quartz kindle
#

the problem is, you cannot declare a local variable on it, so it defaults to global

#

i think

#

let me test

night bridge
#

how to stop setInterval() command?

quartz kindle
#

yes, it defaults to global

opal plank
#

not sure if a while can do it

#

while would be better rather than set interval

#

cuz you can break it

quartz kindle
#

so you'd need to declare the variable beforehand, even if empty (typo in console.log, but works the same)

tulip ledge
#

Any tips for how I should push my test version to my VPS when it's done? Now I just delete the commands file from my VPS and upload the one on my PC but the problem is that I sometimes do "hotfixes" directly in the VPS and it's not changed on my PC so I basically reupload the bug

opal plank
#

pull from git

#

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

tulip ledge
#

I don't use git lmao

opal plank
#

start using it instead

tulip ledge
#

Ok

#

So

opal plank
#

pc > vsc > commit > reload vps bot > updated

tulip ledge
#

Wait so I can change my startup command from my VPS to pull the code from git?

#

Right?

slender thistle
#

Is there any significant performance/RAM usage in using global variables compared to local?

opal plank
#

yeah you can script a git clone

tulip ledge
#

Is there a way to make private githubs?

opal plank
#

chickendev, yes

quartz kindle
#

no, the problem is that globals pollute the namespace and may cause hard to track bugs due to being unknowingly overwritten elsewhere

tulip ledge
#

So to what should I change my startup command to automatically pull from the github?

slender thistle
#

But, I mean, if you keep close track of your variables that are not used in the rest of the code... catshrug

quartz kindle
#

then yeah, there is no performance difference

#

at least there shouldnt be

#

but like, they wont get deallocated probably

#

unless you explicitly set them to null or undefined

earnest phoenix
tulip ledge
#

Do I just do
git pull something IDK

opal plank
#

@tulip ledge its a bit more complicated than it seems btw, cuz you need multiple steps

slender thistle
#

Understandable

#

thanks for the smart talk Tim :^)

tulip ledge
#

Just so u know

quartz kindle
#

lmao np

tulip ledge
#

I've never used github before

#

Do I need like an npm package?

earnest phoenix
#

Anyone!??

tulip ledge
cinder patio
#

You have to install git

tulip ledge
#

is it like a vsc extension?

opal plank
#

Bot command => run external js
process kill PID bot
start rewrite.
clear folder
start git clone
finish git clone
process start index.js
process.exit(external script)

tulip ledge
#

Or a package?

#

Wait so

opal plank
#

you'd need an external script to run the git, the clean and the bot restart

tulip ledge
#

I'm confused

#

But

#

I have some connections in the index file that aren't in my files

opal plank
#

first, i needs to initiate an external js, since your bot will go down and it wont be able to function

tulip ledge
#

So I would have to change it every time?

opal plank
#

wdym connections ?

tulip ledge
#

Database

opal plank
#

what about it?

tulip ledge
#

It's not in my files if u get what I mean

opal plank
#

im unsure if git already does a replace if exists type of deal

tulip ledge
#

Oh

opal plank
#

well yeah, you'd run it in the vps

tulip ledge
#

How do I install git?

opal plank
#

on vps? beats me

tulip ledge
#

Is it a package or something?

#

Both

#

VPS and my PC

cinder patio
#

google is your friend

tulip ledge
#

The problem is I don't have full control over my VPS tho

opal plank
#

hence why i dont use one

tulip ledge
cinder patio
#

Still, you can install anything via the CLI

#

just google how to

opal plank
#

did u just say git is skecthy?

tulip ledge
#

The site looks sketchy

#

I just installed git

dense prism
sudden geyser
#

try restarting your computer chicken

opal plank
#

@dense prism Squint why did u lose your password?

feral aspen
#

Hello coders.

#

I am new to databases and I'd like to ask a question

earnest phoenix
#

Can anyone help me?

opal plank
#

with?

feral aspen
#

..

tulip ledge
#

I need to give my full name and email and stuff but does it get saved on this PC? As this PC has to return to school in september

dense prism
#

@opal plank haha long story short i am stumbling through all this. been trying to take as many notes as i can but just this....... yeah

feral aspen
#

Question

#

I want the code where if someone used my a!help command, it would store the user's data to the specific JSON file filled with his ID only.

earnest phoenix
#

I tried fs.mkdir function but its created without (commands/util) how can i set this?

opal plank
#

@feral aspen dont

feral aspen
#

@feral aspen dont
@opal plank Why

opal plank
#

no json in database, for your own sanity

#

ive been using jsonb for quite a few days now, its a pain

earnest phoenix
#

Anyone!?

opal plank
#

highly recommend not copying

tulip ledge
opal plank
#

take it as example

night bridge
#

how to show collection name and content?
name => content

opal plank
#

@feral aspen save it on an array if you're only doing IDs, its better, keep it string based in an array

night bridge
#

i tried foreach but it only respond with content

dense prism
#

@opal plank @feral aspen that i can relate to. it will be simpler

opal plank
#

@night bridge forEach bad, should prob use better loops

night bridge
#

loop collections?

opal plank
#

collection is map

tulip ledge
#

I mean

#

It only pushed the README

opal plank
#

thats when its created

night bridge
#

okay i just remember ๐Ÿ˜…

earnest phoenix
#

@opal plank no

opal plank
#

you need to upload it

night bridge
#

thanks for info

tulip ledge
#

how?

opal plank
tulip ledge
#

how do I upload it?

opal plank
#

first you should use VSC

#

you need to login in it

tulip ledge
#

I am

#

I did

opal plank
#

now commit

tulip ledge
#

git commit -m "initial commit"

#

That?

opal plank
misty sigil
#

me using git desktop thonkku

opal plank
#

theres an easier way

tulip ledge
opal plank
#

are you committing on the right branch/repo?

tulip ledge
#

I don't know what that is

opal plank
#

that link that you sent before, are your files being sent there?

tulip ledge
#

I don't know

opal plank
#

pretty sure you need a workspace set as target dir before you commit

tulip ledge
#

Do I do git add

opal plank
#

press ctrl+, on vsc

tulip ledge
#

It zooms in

opal plank
#

i edited

tulip ledge
#

What now

opal plank
#

forgot the comma

#

search for git

earnest phoenix
#

Anyone!?

tulip ledge
opal plank
#

actually

#

take a look at this guide

#

it'll explain better than i will

#

my brain still coming back from yesterdays drinking

#

@earnest phoenix i sent you a link

#

with example in it

earnest phoenix
#

error```events.js:292
throw er; // Unhandled 'error' event
^

TypeError: Class constructor Channel cannot be invoked without 'new'```

code:

if(args[0] === "remove") {
                   LeaveChannel.findOneAndDelete(Guild, Channel)

                   return message.channel.send("Canalul a fost exlus din baza de date!")
               }```
copper prairie
#

I got a bot that can give the number of servers the bot's in, how do i get the number of users that are in those servers. Im on discord.py

tulip ledge
#

@earnest phoenix You are trying to create a class but you need to use new as a keyword to create a class

earnest phoenix
#

wdym ?

tulip ledge
earnest phoenix
#

@opal plank its not wrkng

#

I didn't copied

#

...

woeful void
#

๐Ÿ˜„

pure lion
#

poob

#

wouldnt it be awesome if i used mongodb as my vps x))))

cobalt spruce
dense prism
#

to my question above i see 2 options. Delete everything and start fresh. <<<(preferred) or is there any way to retrieve the password that i had set in the DB on first startup? i have been looking for ways to do both but coming up short on both accounts

viral spade
#

I cannot log into my production bot anymore. However, when i exchange the botId and auth token to some other testbot, it works. Any one has some explanation for this?

lusty quest
#

did you run it on your pc or a server?

viral spade
#

both

lusty quest
#

usually i get this bcs my internet is to slow to send all files by time

viral spade
#

not that

night bridge
#

i tried to make poll but the bot not waiting me to type and just skipping the await Messages function.
do i make wrong code?

pure lion
#

h

#

title:

#

@night bridge params use colons and not equals

plucky harness
#

So i want to read my bots messages using history. And delete the messages

#

However i want only some type of content to be deleted

#

And that content is embed

#

So how do i wrote it?

lusty quest
#

i think message objects have the property embed

plucky harness
#

msg.content == embed?

#

Oh

#

Lemme check

lusty quest
#

get the array and filter embeds

pure lion
#

forEach loop?

lusty quest
#

on the filtered array

earnest phoenix
#

Help?

toxic jolt
#

Hello i how to delete in cookies?
for superagent and md5 npm module```javascript
const req = await superagent.post("https://www.cleverbot.com/webservicemin?uc=UseOfficialCleverbotAPI")
.set("Cookie", cookies)
.type("text/plain")
.send(payload);

return decodeURIComponent(req.header["cboutput"]);
return unset($_COOKIE[cookies]); // < not deleted... :c ``` here is my code
#

THANKS FOR HELPING.

solemn latch
#

This doesn't look like bot development

#

๐Ÿค”

slender thistle
#

still development

#

hence why HTML, CSS, all other crap isn't prohibited

cinder patio
#

@earnest phoenix There's no such thing as guild.member, there's guild.members, a collection of all guild members

earnest phoenix
#

k

cinder patio
#

Well, there is a guild.member function, it's not a property

earnest phoenix
#

K

#

Is there something wrong?

#

The bot doesnt kick

sudden geyser
#

Do you get an error? Is it failing in your try block? Did you make sure to check if the member is actually kickable?

delicate merlin
#

what is the format to get someone's profile pic

solemn latch
#

Depends on the library

delicate merlin
#

like url

tulip ledge
#

So I have this date and I have a timestamp how do I find the difference between them?

delicate merlin
#

subtraction

tulip ledge
#

Dude

#

I have a Date and a timestamp

#

They're 2 different things

slender thistle
#

You can convert the date into a timestamp

tulip ledge
#

How?

earnest phoenix
#

how do i the Bot developer role_

#

_

delicate merlin
#

learn your language

tulip ledge
slender thistle
#

By having an approved bot on top.gg @earnest phoenix

tulip ledge
#

@delicate merlin You're being really toxic

#

he's just asking a question

delicate merlin
#

you don't specific what language

tulip ledge
#

A date and a timestamp are the same in all languages friend

solemn latch
#

Convert your date to a timestamp

#

Then subtract

delicate merlin
#

^

tulip ledge
#

Alright ty

earnest phoenix
#

@earnest phoenix v12?

tulip ledge
#

Any idea why I'm getting a negative value?

message.channel.send(toTimestamp("07/11/2020 18:00:00") - message.createdTimestamp)

  function toTimestamp(strDate){
    let date = Date.parse(strDate);
    return date/1000;
   }
sudden geyser
#

You're trying to divide a date object by 1000?

patent sphinx
#

!avatar @indigo flax

tulip ledge
#

dat is not an object

#

Pretty sure it's number

sudden geyser
#

Ah, well it's negative because Date.parse returns the time since 1970 in milliseconds.

earnest phoenix
#

YEa

#

v12

sudden geyser
#

You're then dividing that by 1000 and trying to minus it by createdTimestamp, which is kind of 1000 times bigger.

tulip ledge
#

Oh

#

If createdTimestamp is 1000 times larger?

earnest phoenix
#

731534132647166042

#

The CMD in not working

solemn latch
#

Is the member cached?

earnest phoenix
#

KICK not working

solemn latch
#

If its not cached, it won't kick

#

Since get gets from the cache

earnest phoenix
#

I added cache

solemn latch
#

Yes

#

And is that member cached?

tulip ledge
earnest phoenix
#

And is that member cached?
@solemn latch IDK

solemn latch
#

You need to be sure before kicking.
If its not, you need to fetch them

tulip ledge
solemn latch
#

Discord timestamps are a specific timezone right?

#

Or well seconds since 1970 in a specific timezone

#

You'll want to do that in the same standard

tulip ledge
#

timestamps are made to prevent the issue with timezones

slender thistle
#

I believe Discord uses UTC

solemn latch
#

Oh okay, so your date your putting in is in utc aswell?

tulip ledge
#

I don't know

#

Yes

#
function toTimestamp(strDate){
    let date = new Date(Date.UTC('2020','07','11','18','30','0'));
    return date.getTime()/1000;
}
#

All of a sudden I'm getting this now:

-26,548,114 minutes 16 seconds

#

My head hurts

pale vessel
#

how are you parsing it?

tulip ledge
#
function toTimestamp(){
    let date = new Date(Date.UTC('2020','07','11','18','30','0'));
    return date.getTime()/1000;
}
solemn latch
pale vessel
#

like how did you get -26,548,114 minutes 16 seconds

tulip ledge
#

Code:

console.log(toTimestamp())
console.log(message.createdTimestamp())
console.log(client.moment.duration(toTimestamp() - message.createdTimestamp)
message.channel.send(client.moment.duration(toTimestamp() - message.createdTimestamp, 'milliseconds').format("m [minutes] s [seconds]"))
function toTimestamp(){
    let date = new Date(Date.UTC('2020','07','11','18','30','0'));
    return date.getTime()/1000;
}

Logs:

1597170600
1594484027014
-1592886856414
pale vessel
#

you're supposed to multiply it by 1000 to retrieve it in milliseconds

#

/ 1000 makes it return in seconds

#

either that or just client.moment.duration(toTimestamp() - message.createdTimestamp / 1000, 'seconds')

tulip ledge
#

26,592,935,263 minutes 21 seconds

#
function toTimestamp(){
    let date = new Date(Date.UTC('2020','07','11','18','30','0'));
    return date.getTime()*1000;
}
pale vessel
#

why * 1000?

solemn latch
#

Multiply it by 1000 make it be milliseconds
That means its already in seconds?

pale vessel
tulip ledge
#

44,772 minutes 40 seconds

pale vessel
#

getTime() is in milliseconds

tulip ledge
#

Is without the /1000 and *1000

#
function toTimestamp(){
    let date = new Date(Date.UTC('2020','07','11','18','30','0'));
    return date.getTime();
}
#

I'm confused

#

Wait a sec

#

Don't

#

Date months start witth 0?

pale vessel
#

yeah

tulip ledge
#

So the month should be 06

#

Not 07

pale vessel
#

mhmm

#

that's how dates work in js

tulip ledge
#

I mean

#

It got close

#

131 minutes 53 seconds

#

But not right

#

It's still 12 minutes

solemn latch
#

It is 131 minutes is it not?

tulip ledge
#

And here it sais 131 minutes

#

Oh wait yeah timezones

#

I have to remove 2 hours

#

Ok it's working now

solemn latch
#

I dont remember what your doing.
But embeds can take timestamps and will do all the timezone stuff in the footer.

quartz kindle
#

what are you trying to do?

tulip ledge
#

I'm trying to make a lottery command and want to display when the next draw will be wich is every saturday at 2pm CEST. I'm gonna try to use node-schedule to schedule it aswell

#

Now I just need to implement it so it ups the day with 7 every time

#

Oh fuck

#

Months

pale vessel
#

add 7 days as timestamp

tulip ledge
#

Anyone got a better solution lol

#

Oh

pale vessel
#

and then convert it to date

tulip ledge
#

Bigbrain

#

I don't need to convert the date into a timestamp then

#

If I just save the timestamp in a database

pale vessel
#

Date.now() + (86400000 * 7)

solemn latch
#

Tim also had a point, that you can hardcode it into the program and just add the do the math at start up each time

tulip ledge
#

Well the Date.now will be different

solemn latch
#

if its been 5 weeks since your hard-coded date.
Add 5 weeks to that date, then do the difference

vernal vapor
#

Ok I've been trying for ages on discord.py and don't know how to get the despawn function working so that if [another spawn spawns]
[cancel other spawn]

quartz kindle
#

the only way to work with timezones in the Date object is during initialiation, when you create a date

#

for example new Date("2020-07-13T14:00:00.000+02:00");

vernal vapor
#

No matter what I do it just won't work

tulip ledge
#

No I think I have an idea on how to do it

quartz kindle
#

that date will give you the correct UTC timestamp for the input time in that timezone

tulip ledge
#

The only thing I don't quite understand is Cron-style Scheduling

#

Well the thing is that it's just every so often and I can just save the timestamp from the last draw and add 7 days to it

quartz kindle
#

yes you can

#

so just check what timestamp it is the the next date you want, and save that timestamp

#

and you're done

tulip ledge
#

Alright

#

Do you know how I can make it so every 7 days at x hours it does a thing using the Cron-style Scheduling?

#

Cuz like 0 17 ? * 0,4-6 this is apparently every 5 minutes and I don't understand anything of it

warm cloud
#

there's a cron generator online

#

use that

#

it helps you learn AND not fuck it up

tulip ledge
#

Never mind they support objects

warm cloud
#

pogey

tulip ledge
#
var j = schedule.scheduleJob({hour: 18, minute: 00, dayOfWeek: 6}, function(){
  console.log('Time for tea!');
});

Saturday at 6 PM

#

I just need to find out what timestamp this is

#

i mean zone

#

It doesn't say on the docs

#

_date: Moment<2020-07-11T18:50:00+02:00> this is what it logs

#

Any idea what timezone this is?

quartz kindle
#

+2 hours

long cipher
#

I assume thats +2 from UTC?

tulip ledge
#

Ok

#

UTC+2 = CEST?

#

Thats a yes

#

Perfect

quartz kindle
#

i think so

tulip ledge
#

Schedular is working too :>

quartz kindle
#

CEST is summer time right?

#

yes, CET is standard time

tulip ledge
#

I don't know lol

#

I always assumed they were the same

#

SELECT * FROM users WHERE tickets <> 0 should give me every user who does not have 0 tickets am I right?

quartz kindle
#

i believe so

#

<> is so ugly tho

tulip ledge
#

SELECT * FROM users WHERE NOT tickets = 0 this then?

quartz kindle
#

!= is so much better

lusty quest
#

CEST is summer time

tulip ledge
#

That works too?

#

Damn didnt know lmao

quartz kindle
#

should work

fringe axle
#

Hello

marble juniper
#

hi

fringe axle
#

I have a big problem with nodeJS

lusty quest
#

or check where the tickes are lower than 1

marble juniper
#

then say the problem

fringe axle
#

If I want to install discord.js then the error โ€žrollbackFailedOptional: verb npm-sessionโ€œ is coming

#

On my PC at home itโ€˜s working

quartz kindle
#

the NOT should be after the colum name tho

#

WHERE tickets NOT 0

fringe axle
#

But on my laptop says: no

lusty quest
#

does the laptop runs the same node version? maybe there is a difference in the supported version for the node installation

fringe axle
#

Yes

#

The same one

lusty quest
#

could you make a screenshot of the entire error stack?

fringe axle
#

Its only that, what I said

quartz kindle
#

does it return control to the console? or it stays like that until you press ctrl+c?

fringe axle
#

Wait

#

I test it

#

Itโ€˜s removing if im typing ctrl+c

quartz kindle
#

but if you dont type ctrl+c is says that forever?

fringe axle
#

There is something with โ€žDo you want to close the Batch (J/N)?

#

but if you dont type ctrl+c is says that forever?
@quartz kindle yes

quartz kindle
#

sounds just like your laptop being slow

fringe axle
#

Yes

quartz kindle
#

how long have you waited?

fringe axle
#

Thats right

#

Long time

#

Long, long time

quartz kindle
#

can you do node -v and npm -v?

fringe axle
#

Okay

lusty quest
#

i guess it can take a pretty long time easy a hour if its a potato

fringe axle
#

And now? @quartz kindle

quartz kindle
#

what does it say?

fringe axle
#

i guess it can take a pretty long time easy a hour if its a potato
@lusty quest its slower as a potato

lusty quest
#

i know someone who still uses a Laptop with a Core Duo it cant be worse

fringe axle
#

what does it say?
@quartz kindle node -v = v12.18.2 npm -v = 6.14.5

#

i know someone who still uses a Laptop with a Core Duo it cant be worse
@lusty quest I have a PC but im in holidays... on my PC all is working

quartz kindle
#

try npm install discord.js --verbose

fringe axle
#

Okay

lusty quest
#

and if it is the case its maybe better to buy a Raspberry Pi this thing probably got more power

fringe axle
#

try npm install discord.js --verbose
@quartz kindle there is coming a text and at the end the same error

tulip ledge
#

Oh nvm I just noticed

earnest phoenix
#

Algum Portuguรชs?

fringe axle
#

@quartz kindle what I have to do now?

#

;-;

quartz kindle
#

what is the text

fringe axle
#

I send a screen

earnest phoenix
#

!bag

#

:0

quartz kindle
fringe axle
#

Loading...

quartz kindle
#

@tulip ledge you have Math.random(()*something)

#

() * something

#

@fringe axle wait some minutes and see if anything changes

fringe axle
#

Okay

#

YES

#

Something changes

tulip ledge
#

Yeah I noticed

#

What does --verbose do?

fringe axle
#

You see Tim?

#

And what now? uwu

#

@quartz kindle

quartz kindle
#

keep waiting

pale vessel
#

that is a long ass user name lmao

fringe axle
#

Okay

#

Tim how long?

#

10 minutes?

#

20 minutes?

quartz kindle
#

until it finishes

fringe axle
#

Okay

quartz kindle
#

keep watching for more changes

pale vessel
#

there's a progress bar

fringe axle
#

That will be a long time

#

I do

#

I know flaz

quartz kindle
#

that username looks like a broken windows user profile lmao

pale vessel
#

t h e n wait for it to finish thanks

tulip ledge
#

Thank you Tim!

fringe axle
#

@quartz kindle he did something

quartz kindle
#

gimme 5000

fringe axle
tulip ledge
#

I mean if u want sure ๐Ÿคทโ€โ™‚๏ธ you'd have to join the server tho lmao

fringe axle
#

Oh

#

Its the same one

#

Bruh

quartz kindle
#

jesus christ 240 seconds to download abort-controller

#

sounds like your computer's internet is fucked up

tulip ledge
#

But what does --verbose do?

fringe axle
#

jesus christ 240 seconds to download abort-controller
@quartz kindle its a laptop and its 6 years old I think

quartz kindle
#

verbose = show all logging

fringe axle
#

Im coding on my PC all is working and super fast..

nimble summit
#

You need to join servers before you can do this command, please do +find and join some servers from that list then come back. To do this command.

#

how should i do?

quartz kindle
#

what bot is that?

tulip ledge
#

oh I see

nimble summit
#

Member +

quartz kindle
#

idk that bot

tulip ledge
#

Yeah join the discords

quartz kindle
#

try asking in their support server

pale vessel
tulip ledge
#

And then you can use the command

fringe axle
#

Still the same message

quartz kindle
#

keep waiting

fringe axle
#

But its writing the same message over and over again... ;-;

quartz kindle
#

doesnt matter

fringe axle
#

Okay

quartz kindle
#

the logs are coming, its working

fringe axle
#

Im waiting

quartz kindle
#

the files are being downloaded one by one

fringe axle
#

Okay

#

Oh

#

Its getting some prism-media

nimble summit
#

@tulip ledge you tell me join the discords you can send me by pv?

fringe axle
#

Nice

pale vessel
fringe axle
#

It do something

pale vessel
tulip ledge
#

100K MEMBERS

#

JEZUS CHRIST

#

For a bot that gives people members?

quartz kindle
#

people are desperate lol

fringe axle
#

200+ Boosts too

tulip ledge
#

Yeh now imma use that to launch my bot

#

Lmao

#

They prob give the coins thing when u boost

undone gorge
tulip ledge
fringe axle
#

lol

tulip ledge
#

I'm so happy with how my bot is coming together this feeling is why I code ๐Ÿ˜„

still badge
#

Can I get help with a help command?

#

I have one but need an updated one

tulip ledge
#

Sure

fringe axle
#

I'm so happy with how my bot is coming together this feeling is why I code ๐Ÿ˜„
@tulip ledge I have a bot that is on 93 Servers. Im very proud about it too

solemn latch
#

I hit 38 for a bit

tulip ledge
#

I'm working on a second one :>

fringe axle
#

lol

tulip ledge
#

I still have to rewrite the one in 139 guilds as it's still V11 and I coded it when I was a braindead stick

fringe axle
#

@quartz kindle ITS DONE!!

#

:P

#

Bru

#

Now โ€žSorry, name can only contain URL-friendly characters.โ€œ is coming

#

;-;

earnest phoenix
#
const { Client, Collection } = require("discord.js");
const bot = new Client();
require('dotenv').config();

["aliases", "commands"].forEach(x => bot[x] = new Collection());
["snipes"].forEach(x => bot[x] = new Map());
["command", "event", "server", "users"].forEach(x => require(`./handlers/${x}`)(bot));


bot.login(process.env.TOKEN);
#

does my index look good ?

#

:))

#

why using dot env

coral lichen
#

cos

#

why not

earnest phoenix
#

why not

#

it is good

#

i preffer a config file

#

:))

#

nah

#

.env is better

pale vessel
#

because you can use process.env everywhere

earnest phoenix
#

like easier

pale vessel
#

after initializing it

#

well, same can be done with json

#

but still

cinder patio
#

you can also use a json file anywhere if you just require it

pale vessel
#

yeah

coral lichen
#

env is just easier imo

earnest phoenix
#

yes lmao

pale vessel
#

MY POINT STILL STANDS
bruh

earnest phoenix
#
let json = require("config.json")
json . . .. 
#

huh

#
require("dotenv").config
process.env.. . . .
#

what is drffrent

errant perch
#

SyntaxError: Unexpected token F in JSON at position 4

pale vessel
#

it sets the variable

#

your json file is malformed i guess

earnest phoenix
#

xD

#

@errant perch show code

#

or it is just F

fringe axle
#

@quartz kindle thank you soo much for all! Finally all is working like I want it

errant perch
tulip ledge
#

Ok this is weird:

let lotteryin = client.moment.duration(nextlottery - message.createdTimestamp, 'milliseconds').format("d [d] h [h] m [minutes]")

let nextlottery = lastlottery + (86400000 * 7)
//lastlottery is a timestamp from today at 2pm
errant perch
#

when it tries to get a video it shows that error

lusty quest
#

rip. i just reache 110 guilds and its possible that i will shutdown the bot in the future bcs the Game i made the bot for is probably fucked.

unique nimbus
#

Define fucked

lusty quest
#

the Company get probably Buyed by Tencient

tulip ledge
#

Oh thats bad

#

WHat game?

lusty quest
#

Warframe

tulip ledge
#

oh F

#

Does anyone knows why mine behaves like that?

quartz kindle
#

@errant perch that error happens if body is not valid json

tulip ledge
#

Tim your big brain can probably find out why right? ๐Ÿ˜‰

lusty quest
#

@tulip ledge what exactly defines last lottery?

#

also is last lottery defined in MS or Formated?

errant perch
#

thanks

lusty quest
#

bcs this looks like its formated

tulip ledge
lusty quest
#

hmm

tulip ledge
#

Ok I fixed it

#

lottery is a varchar

#

And not an integer

#

So I'm basically creating a huge string

#

Instead of doing an integer - integer

#

I just had to parseInt it

lusty quest
#

ohh this is the most annoying one

tulip ledge
#

Yup

#

Been looking for it for quite a while now

quartz kindle
#

why are you using nextlottery before defining it?

tulip ledge
#

Well

#

@quartz kindle I just put it in the wrong way in the codeblock

quartz kindle
#

lul

tulip ledge
#

Idk why lmao

#

Does isNaN work on a string?

earnest phoenix
#

hello

#

can someone help me with command to warns?

#

Don't ask2ask

tulip ledge
#

What?

errant perch
#

anyone wanna commit multiple accounts of arson?

marble juniper
#

show code maybe

#

then we could help

earnest phoenix
#

no charge XD

#

XD

#

Lol

#

IDK much

#

Let me see...

#

I am learning my self

solemn latch
#

Its hard to tell because we can't see all the code

marble juniper
#

just copy paste it to hastebin

pale vessel
#

N OMEGALUL

tulip ledge
#

We cant help if we dont know the problem

pale vessel
#

sendEmbed()? where did you get that function?

sudden geyser
#

Why are you making a new client at the top of your file?

tulip ledge
#

there's so many weird things happening in there

sudden geyser
#

Yeah like how it's based on Discord.js v11

tulip ledge
#

also

earnest phoenix
#

It's a ready cmd

pale vessel
#

ready event has message? thonk

earnest phoenix
#

No, i mean he didn't code it

tulip ledge
#

Guys I need a name for the first boss of my bot? Any ideas?

earnest phoenix
#

ChickenBot

#

lol

tulip ledge
#

Well

solemn latch
#

Woo

tulip ledge
#

I have a bot called ChickenBot

#

But I mean a boss

#

Alright Woo I'll add you

opal plank
#

Tim

solemn latch
#

Yes

tulip ledge
#

Tim Big Brain will also be one

opal plank
#

Tim the Unbeatable

quartz kindle
#

The Chicken

tulip ledge
#

That'll be the final boss

solemn latch
#

Lmao

opal plank
#

Karen, the MANAGER

earnest phoenix
#

I need any ideas , too :(

tulip ledge
#

Any special abilities for Woo and Tim Big Brain?

opal plank
#

Tim has a healthpool equal to the amount of messages he has sent in this chat

tulip ledge
#

Holy fuck

#

Thats a shit ton

quartz kindle
#

make my attacks be random programming questions

opal plank
#

indeed

tulip ledge
#

Lmao
Tim used if else statement

opal plank
#

tim exported class

tulip ledge
#

Lmao

#

Well thats not gonna fit

#

Sadly

opal plank
#

tim defined Attack!

nimble summit
#

I need help

quartz kindle
#

Tim needs time to recharge (to google)

opal plank
#

lmao

eternal furnace
tulip ledge
#

The bosses work like
1st uysers attacks
2nd user attacks
3rd user attacks
4th user attacks
Boss does main attack or ability

opal plank
#

imagine being so nice as to let the users attack first

nimble summit
#

I need help please

quartz kindle
#

do users have stats like intelligence?

tulip ledge
#

Well

#

I can show u

#

But not intelligence

quartz kindle
#

dont ask to ask, just ask the question Zipo

earnest phoenix
#

@nimble summit for what?

opal plank
#

Tim 1 hit ko anyone with intelligence lower than 120IQ

tulip ledge
earnest phoenix
#

bro can you send me those emojis lol

tulip ledge
#

I got them from sky.lea.moe (you need permission tho)

earnest phoenix
#

I just need emojis!

#

not api

tulip ledge
#

You need to ask the devleoper

opal plank
#

blatantly stealing copyrighted material bangoblob

tulip ledge
#

And she will send u the emojis if she finds ur project interesting

earnest phoenix
#

who is she?

nimble summit
quartz kindle
#

this is not the members+ server

earnest phoenix
#

Wrong server

quartz kindle
#

go ask there

tulip ledge
crimson vapor
#

lmao

tulip ledge
#

So no specials abilities for Tim and Woo?

#

I mean I could try to implement intelligence

#

But it would just be more work and stuff

opal plank
#

'already joined enough server'

#

is that a bot that makes you invite it to servers?

tulip ledge
#

Yes

opal plank
#

hmmm

tulip ledge
#

You join others people join yours

sudden geyser
#

Woo has more points in dates objects than anyone else.

quartz kindle
#

just make me shoot lasers from my eyes and shit on noobs

tulip ledge
#

is what I've noticed

#

Alright lmao

nimble summit
#

so what should i do

vernal vapor
#

How would I make it so if another character spawns it will replace the value using messagewait. (I created a variable character id where the latest spawn character is added)

earnest phoenix
#

go to their support server

#

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

tulip ledge
#

Woo The Date Clown lmao

nimble summit
#

Oo

#

Ok

opal plank
#

ooof

quartz kindle
opal plank
#

might aswell pick some random people from here and turn them into bosses

vernal vapor
tulip ledge
#

I want 15 total bosses

opal plank
#

thats quite a score

tulip ledge
#

And then there'll be "quest bosses" aswell

#

Tim Big Brain will drop Tim's keyboard

opal plank
#

ngl it did go thru my head couple weeks ago to try an rpg, but scripting dialogue is soooooooooooooooooo boring

tulip ledge
#

Well

#

Mine doesn't really have a dialogue lmao

#

The RPG game is a discord bot btw

quartz kindle
#

Tim Big Brain uses You are being Monitored

tulip ledge
#

Lmao

opal plank
#

lol

tulip ledge
#

All attacks miss

crimson vapor
#

I am so confused by the conversation rn

tulip ledge
#

for the next moves

#

I just asked for boss ideas for my RPG bot ๐Ÿคทโ€โ™‚๏ธ

earnest phoenix
#

Imagine adding fake stars

quartz kindle
#

i mean, monitored means throwing a monitor on their heads

#

lmao

crimson vapor
#

Oh

tulip ledge
#

Oh like that

#

Lmao

opal plank
#

i feel like sending this cuz the context

tulip ledge
#

Oh no

opal plank
tulip ledge
#

LMAO

opal plank
#

the amount of snippets i've seen the past hour or so is insane

tulip ledge
#

Now i gotta implement the bank

#

Wish me luck

#

Oh btw

#

If I make 1000 different MySQL queries at the same time what would happen?

#

Just asking for my friend ๐Ÿ‘€

hidden lynx
#

What is the best way to get a users ID with his username + discriminator? (discord.js) Comparing all userdata to the wanted one would be a bit unefficient :/

tulip ledge
#

message.author.tag?

hidden lynx
#

what if its not the author :)

tulip ledge
#

<User>.tag

earnest phoenix
#

message.member.user.tag

#

:D?

tulip ledge
#

message.member.user.tag waitWhat just use author.tag then

earnest phoenix
#

yeah

hidden lynx
#

Image i have the username + descriminator as a string. The suggested things wont work then i guess

earnest phoenix
#

wdym?

tulip ledge
#

Oh

hidden lynx
#

Basically i want to search for a users id in the guild by their username

tulip ledge
#

U wanna find the user object depending on the tag?

quartz kindle
#

@tulip ledge nothing, mysql will process all queries as fast as it can

hidden lynx
#

excatly

tulip ledge
#
let found;
let userArray = Array.from(client.users.cache.values())
for(let i = 0; i < userArray.length; i++) {
    if(userArray[i].tag === <your thing here>) found = userArray[i]
}
#

Not 100% sure about the Array.from

earnest phoenix
#

Good idea

hidden lynx
#

Well first of all thanks for that snippet

#

but yk

#

if the userArray includes more that 1k values it wouldnt be a great way to handle it

#

Maybe now you understand the problem

tulip ledge
#

Well looping over an array with 1k values only takes about .2 seconds

#

I don't see a different way tho

#

Maybe Tim knows cuz of his brain size but yeah

earnest phoenix
#

(node:6260) UnhandledPromiseRejectionWarning: TypeError: bot.guilds.keyArray is not a function

Help ?

#
await bot.guilds.keyArray().forEach(id => {

    config.findOne({ 
      GuildID: id
    }, (err, guild) => {
      if(err) console.log(err)

      if(!guild) {
        const newConfig = new config ({
          GuildID: id,
          prefix: dprefix
        });

        return newConfig.save();
      }
    })

   })
#

cache

#

if you're on v12

#

bot.guilds.cache.keyArray ?

hidden lynx
#

Hm yeah i mean its not much of a problem. Ill just loop if there is no other way

#

Thanks for helping out :)

earnest phoenix
#

Yeah

#

is it

#

Oh, thank you

#

I didn't knew that this changes too in v12 ๐Ÿ˜…

vernal vapor
#

i need to know how to call and load updated json

#

Any ideas lads

tulip ledge
#

Should I implement interest on coins that are stored in the bank?

earnest phoenix
#

I think this is off topic

gray finch
#

ok so i have to rewrite this, can someone help me make my bot to join a specific voice channel by id/name?

#

i'm using this but it doesn't work

#

and neither crash

earnest phoenix
#

Did you edited it!?

gray finch
#

yes i use my id

crimson vapor
#

Your id or the vc id?

gray finch
#

vc id

#

he join only if i'm first

topaz fjord
#

that's not how it works

#

you can't change msg.member.voice.channel

gray finch
#

but i want to set a default channel for him to join, in case the message owner is not in a vc

frank wraith
#

how to get a role developer bot

#

??

topaz fjord
#

it'll only change if the user joins a vc

gray finch
#

oh

topaz fjord
#

@frank wraith add a bot to top.gg

frank wraith
#

done

topaz fjord
#

and wait for it to get approved

frank wraith
#

but my bot is offline

topaz fjord
#

I think the wait time is like 2-3 weeks

gray finch
#

you need a pc to keep it open 24/7

#

i use heroku for free host

#

you get 550 hours for free monthly

#

get 2 accounts and shift them every 1st and 15th of the month

#

free for life

frank wraith
#

i am use a ping dom

abstract gale
#

does anyone know about Discord.js
my bot is broken and wont get online
i need it online for Luca to approve it

gray finch
#

can you show the error from console?

abstract gale
#

i copied and pasted the text

#

is it ok to paste it all?

topaz fjord
#

paste it in a hastebin

abstract gale
#

its all one error message

#

where is that

gray finch
earnest phoenix
#

hastebin > pastebin

opal plank
honest perch
#

not like its open source

opal plank
#

OMG

#

we just sent 3 links for something to paste on

earnest phoenix
#

ok then

#

If i use $lc remove the bot is not removing any data from mongoDB

#

i got no errors

crimson vapor
#

Why the hell are you making a doc for leaving a vc?

earnest phoenix
#

me ?

#

is not for leaving a vc

#

is for a setting a leave message channel

crimson vapor
#

Oh

#

Nvm

#

Ok that makes sense tbh

earnest phoenix
#

xD

crimson vapor
#

Looks like it should work, is args[0] the second argument of a command?

earnest phoenix
#

yes

#

like

#

$leavechannel remove

#

remove is args[0]

crimson vapor
#

Ok

#

I structure my code a bit differently, using await instead of callbacks, but it still looks like it should work

still badge
#

can i get help with my help command?

#

i got one but it needs updated

earnest phoenix
#

@crimson vapor (sorry ping) Can you tell me how findOneAndUpdate works ?

plucky harness
#

i am getting this error when i am trying to call a method/function (which is outside cog class) inside cog class in python

#

<function toop at 0x03F91DF0>

#

when i print it^

slender thistle
#

are you calling it

plucky harness
#

yes

slender thistle
#

show code

crimson vapor
#

You should read mongoosjs docs but it is โ€œfindOneAndUpdate(findObj, UpdateObj, callback)โ€ I think

plucky harness
#
      guild = message.guild
    
      if guild:
        target_path_1 = os.path.dirname(os.path.abspath(__file__))
        with open(f'{target_path_1}/test.json') as fis:
                  test = json.load(fis)
        return(test)
      else:
        return('oof')```
slender thistle
#

and how are you calling it

earnest phoenix
#

I don't understand from docs, i don't know what findObj and UpdateObj mean ๐Ÿ˜…

plucky harness
#

i am printing it first

#

maybe idk how to call it

slender thistle
#

Show how you are calling it

plucky harness
#

message.id == toop

#

if*

delicate merlin
#

on the dbl api, how do I check if a user has voted in the last x time, or their total votes

slender thistle
#

You are not actually calling the function with parentheses

#

and since it's an async function, await it

earnest phoenix
#

So i made a function to detect if an string has a custom emoji and if there's... Show how many... Is this good enough?

function hasCustomEmoji(string){
if(!string){
throw new EvalError("Provide an string");
}
return string.toString().match(/\<?(a:|:)\w*\:(\d{17}|\d{18})\>/) ? string.toString().match(/\<?(a:|:)\w*\:(\d{17}|\d{18})\>/gi).length : "No custom emoji detected";
}```
crimson vapor
#

@earnest phoenix itโ€™s not called findObj, I just tried to simplify cuz docs confusing tbh

plucky harness
#

ah lemme try

crimson vapor
earnest phoenix
#

I don't know which part from my code should be findObj / UpdateObj, i tried with ```js
let channel = message.mentions.channels.first() || message.guild.channels.cache.get(args[0]);

            LeaveChannel.findOneAndUpdate(Channel, channel);
but this don't work
crimson vapor
#

Yea it wonโ€™t

#

You can look at examples at the docs

#

It will help

#

Lemme see if I can get screenshot of how I use

earnest phoenix
#

Ok

#

And for findOneAndDelete please

crimson vapor
#

K one sec

#

I donโ€™t use findOneAndDelete anywhere tbh

summer torrent
#
<Model>.findOneAndDelete({find query})```
crimson vapor
#

Thatโ€™s what I assumed it was

pure lion
#

Can I use two queries

#

For findOne

#

?

crimson vapor
#

As long as it is in the same object I assume so

pure lion
#

Do i do it in the same {} or comma?

summer torrent
#

both

pure lion
#

Eh it's fine I'll figure it out (fucking xp system)

#

Sweet

earnest phoenix
#

@crimson vapor sorry again for ping.

if(args[0] === "remove") {
                    LeaveChannel.findOneAndDelete({
                        Guild: message.guild.id,
                        Channel
                    }, (err, res) => {
                        if(err) console.log(err)
                        console.log("Worked");
                    })

                    return message.channel.send("Canalul a fost exlus din baza de date!")
                }
                if(!channel) return message.channel.send("Trebuie sa specifici un canal ! (ID sau Mention)")

                message.channel.send(`Canalul a fost setat la ${channel}`);

                LeaveChannel.findOneAndUpdate(Channel, channel);
            
            }

According to docs this should work, if i execute the command i got "worked" in console but the data is not deleted, any idea why ?

summer torrent
#

what is Channel?

earnest phoenix
#

i got channel from here
in leavechannel command

const { Guild, Channel } = require("../../models/LeaveChannel);```

In LeaveChannel.js 
```js
const mongoose = require("mongoose");

const Schema = new mongoose.Schema({
    Guild: String,
    Channel: String
})

module.exports = mongoose.model("LeaveChannel", Schema);
summer torrent
#

this is wrong

#

this is not a query

earnest phoenix
#

Why? What is wrong ?

summer torrent
#

you are defining your model in query

#

what do you want to do

earnest phoenix
#

I want to do a leavechannel(for leave message) command and if i use $leavechannel remove the data will be removed from db

#

Do you understand ?

marble juniper
#

@quartz kindle why is there no shard property for guild objects

tulip ledge
#

Anyone knows why this function gives NaNM? When I log coins (I'm doing readables(coins) btw) it gives a valid number
And when using this SAME function on coins wich is the SAME value in a different file it returns 990M like it's supposed to be?

  function readables(number, decPlaces) {
    decPlaces = Math.pow(10,decPlaces);
    var readables = ["M", "B", "T", "Qd", "Qn", "Sx"]
    for (var i=readables.length-1; i>=0; i--) {
        var size = Math.pow(10,(i+1)*3);
        if(size <= number) {
             number = Math.round(number*decPlaces/size)/decPlaces;
             if((number == 1000000) && (i < readables.length - 1)) {
                 number = 1;
                 i++;
             }
             number += readables[i-1];

             break;
        } else if (number <= 999999) {
            number = number.toLocaleString('en')
        }
    }
    return number;
}
#

Nvm fixed

#

I wasn't giving a decPlaces

#

How come that always after I ask for help I get the answer

earnest phoenix
#

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

still badge
#

can i get help with a help command

#

i have one but needs updated

pure lion
#

Sure

#

Do you have a command handler?

still badge
#

ye

pure lion
#

Is it dynamic?

still badge
#

i believe so

#

yeah

pure lion
#

What does your commandfile look like

still badge
#

hold on

#

will i dm u it?

pure lion
#

<channel>.bulkDelete(Number)

#

can someone help me with mongoose

pale vessel
#

aSktOaSk

still badge
#

i need a new help command PepeCry

pure lion
#
    guildID: {type: String, unique: true, index: true},
    userID: String,

im not sure if i should do the same as guildID to userID (more context, i will be searching using guildID and userID as the query if that is even possible)

#
  const data = await GuildMember.findOne({guildID:msg.guild.id, userID:msg.author.id})
#

wait nvm its fine because the user ID will appear multiple times (hopefully pandasad )

tulip ledge
#

I have this error sometimes saying embed fields may not be empty and it's annoying cuz I know what command it is but the issue is that I have 8 different embeds in there

pure lion
#

log the fields

tulip ledge
#

That what I'm doing but none of the fields are empty

#

yet I still get the error

pure lion
#

tehfuk

slender wagon
#

client.login(process.env.TOKEN);
how is it possible that it says invalid token token is not invalid

earnest phoenix
#

i don't know you tell me

#

debug your code

#

i don't have magic powers to do it for you

sudden geyser
#

Do you have dotenv?

crimson jetty
#

Heyo Python developers

slender wagon
#

ye

#

i don't know you tell me
@earnest phoenix try to be helpful

earnest phoenix
#

i am

crimson jetty
#

Does anybody know if it's possible to open a discord.py bot in another thread

earnest phoenix
#

im forcing you to debug it yourself because you're prefectly capable of doing so

#

perfectly

crimson jetty
#

Like with threading.Thread(target=the_whole_bot_wrapped_in_a_function)

#

???

slender wagon
#

debugging gives no errors at all but bot doesn't start it just shows me the list of commands

earnest phoenix
#

you do not know how to debug

#

inspect your variables

#

that is the first thing you do when you complain something is not what it is supposed to be

#

tldr

#

log your token

slender wagon
#
    at Client.login (C:\Users\User\Desktop\Remixor\node_modules\discord.js\src\client\Client.js:204:52)
    at Object.<anonymous> (C:\Users\User\Desktop\Remixor\remixor.js:146:8)
    at Module._compile (internal/modules/cjs/loader.js:1138:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
    at Module.load (internal/modules/cjs/loader.js:986:32)
    at Function.Module._load (internal/modules/cjs/loader.js:879:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    at internal/main/run_main_module.js:17:47
(node:28632) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, orc function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unha flag `--unhandled-rejections=strictndled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)                                                                                                             handled will terminate the Node.js 
(node:28632) [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.```
earnest phoenix
#

yes....and?

slender wagon
#

wym by log your token

crimson jetty
#

No do not give your token lmao

#

Well you mistyped your token

earnest phoenix
#

tf who said to give me their token

#

im telling them to log their token in order to see if it exists in the first place

crimson jetty
#

ooooh

slender wagon
#

Well you mistyped your token
@crimson jetty nope i didn't i could put the token in there without the process.env and it works but when i try to process the env file it doesn't work

crimson jetty
#

ok

#

Your bot is on heroku?

earnest phoenix
#

if it does then you know the file is being read properly and you can progress onto comparing the token to the actual token on the developers page

slender wagon
#

not yet

crimson jetty
#

Well that's why it isn't working

earnest phoenix
#

do not use heroku nor glitch

slender wagon
#

if it does then you know the file is being read properly and you can progress onto comparing the token to the actual token on the developers page
@earnest phoenix the token is just fine