#development

1 messages ยท Page 400 of 1

spring ember
#

Lel

solid cliff
#

120ms min rainbow role MmmYea

earnest phoenix
topaz fjord
#

You need to install the sqlite3 package

earnest phoenix
#

i did but it says manually

topaz fjord
#

npm I sqlite3

#

U did that?

earnest phoenix
#

yup

#

wait lemme do it again

#

still

lament meteor
#

Thonk try to download it via their github page ๐Ÿคท

earnest phoenix
#

i think i cant do that on evennode ๐Ÿค”

lament meteor
#

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

earnest phoenix
#

where do i host my bot then ;_;

#

cant host in heraku cuz bot is too big

#

AWS wants credit card information .-.

low owl
#

DigitalOcean

spring ember
#

Js?

#

There is a free one

#

I don't remember how it's called though

low rivet
#

glitch?

#

im not even a js dev GWqlabsKek

bleak sapphire
#

is it possible for my bot to edit a file on github? since im making a chat bot, the chat bot records pretty much records and save all messages it can read and for my pc it edits the sqlite3 file automatically, but how can i make it so that once i host my bot it stills edits file

ruby dust
#

I don't think you can, unless you do commits with a given interval (idk if you can get ratelimited on github either)

bleak sapphire
#

oh fk

earnest phoenix
#

Halo

lavish mango
#

Hi

bleak sapphire
#

anyone got a huge dataset?

lavish mango
spring ember
#

Use a database

earnest phoenix
#

i need free node.js host, anyone know any ?

earnest phoenix
trim plinth
#

use .gitignore

karmic parcel
#

you don't upload node_modules

lament meteor
#

^

low rivet
#

use git cli

toxic oracle
#

Inb4 doesn't have git repo for bot

frail harness
#

use bitbucket

#

Private repos for free

karmic parcel
#

It doesn't matter what git client/service you use. Don't upload node_modules

#

GitLab has free private repos too

frail harness
#

GitLab?

#

Huh

astral patio
#

I am trying to run my bot, but it doesn't response
I tried to do it with the same files just different bot and it works
this is 100% problem with the bot client
I tried to regenerate token, change name, run it from each one of my servers and I got nothing
what should I do?

low owl
#

Have you just tested it?

#

It's possible that the outage causes you issues

earnest phoenix
#

โฌ†

astral patio
#

outage?

#

o god

low owl
#

What I'd do is go step by step and pin point the issue

astral patio
#

the daily outage, I forgot :yay:

low owl
#

You could also take a binary search like approach

astral patio
#

Or I will just wait until this outage will be over ๐Ÿคท

low owl
#

Start with something easy: Is your bot receiving the message? Yes: Is your bot sending the message? No: Issue must be somewhere between there

astral patio
#

ok

#

no is my deal

#

between there;s no problem

#

I tired with other bot

#

works fine

#

its problem with my specific bot client

#

( @earnest phoenix )

abstract crystal
#

(try restarting)

astral patio
#

tried

abstract crystal
#

and run it in debug to see if it's even receiving messages (as Brian said)

astral patio
#

multiple times

low owl
#

Actually there is a very high change it's the outage

#

there've been multiple reports

astral patio
#

yea, probs

low owl
#

Discord at its best ๐Ÿ™„

astral patio
#

yea

#

that's bad thing, ya know

#

a lot of outages

abstract crystal
#

is it possible that discord is semi-random determining the endpoint based on the client id, just speculating

low owl
#

What do you mean?

astral patio
#

discord is mean

abstract crystal
#

lets say that client ID % 5 is 3 and discord selects an endpoint (API) that is a multiplier of 3 for example endpoint-9.discordapp.com

#

similar to how guilds are sorted to each shard

inner jewel
#

it's based on load

#

but this time probably a guild cluster went down

dapper olive
#

Yo

#

who tested my bot?

#

I was testing something

#

I've seen the request but just after I have seen it I closed the bot

#

woops

astral patio
#

how do I update Node.JS to the lastest version on Ubuntu 16.04?

dapper olive
#

curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -

#

and then

#

sudo apt-get install -y nodejs

cunning oxide
#

Can anyone give me some help with this?

#
const Discord = require(`discord.js`),
    bconf = require("../config.json"),
    errors = require("../utils/errors.js");


module.exports.run = async(bot, message, args) => {
    message.delete();
    var Role1 = member.guild.roles.find('name', 'Offline');
    var Role2 = member.guild.roles.find('name', 'Offline Premium');
    var Role3 = member.guild.roles.find('name', 'Offline VIP');
    var user = message.author;

    if (args[0] == "help") {
        return errors.cmdhelp(message, "`$redeem (code)`", "Redeems your role that corresponds to the site.", "Redeem");
    }
}

module.exports.help = {
    name: "redeem"
}```
#

it returns an error

#

one min

#

(node:8104) UnhandledPromiseRejectionWarning: ReferenceError: member is not defined

#

I have no clue why

glossy sand
#

you're trying to work with an object called "member" but you never declare an object called "member"

earnest phoenix
#

Lol

#

var member = something

cunning oxide
#

Yeah but when I declare member as message.author I get the same thing

earnest phoenix
#

Have you tried message.member?

cunning oxide
#

well member works as message.author

#

but now im getting undefined as guild

#

correct me if im wrong, but shouldn't guild be recognized as defined?

earnest phoenix
#

Depends

#

message.member.guild.roles works for me

spring ember
#

message.guild.roles I think also is ok

earnest phoenix
#

I gtg now, bye

cunning oxide
#

now im getting that member.addRole isn't a function

#

kms

#

one minute

prime cliff
#

Lib docs
Debuging code

cunning oxide
#

Yep. I just did that. it works.

#

but still having issues

stray cedar
#

What is the best way for a bot to listen for different commands? I have one command !roll 1d6 (where 1d6 is dynamic) and another !roll help
I was originally listening for the message .includes(!roll ), but that is no longer viable

glossy sand
#

in general, the algorithm is to strip the message of a prefix, split by space characters, then look up the command in a hash table using the first element

stray cedar
#

Thanks @glossy sand , but how would I handle my dynamic command (since the first element can be either an integer or d)?

#

I wonder if I should listen for a regex?

glossy sand
#

you wouldn't handle the whole command as one string

#

that's the point of splitting by the spaces

#

you can separate the command name from the arguments

#

then, by keeping a hash table of command names to command executors, you can perform efficient lookup without having to write a huge switch tree

#

since the first element of the split should be just the command name

prime cliff
#

@stray cedar the best options are blocking bot users, adding something like If Message.StartsWith("!") or any prefix that you choose then use that to filter based on "!help" or in your case "!roll" then you split it into 2 string 1 the command and the other the input text.

inner jewel
#

when a command runs, it checks if the first argument is a subcommand

#

if yes, it drops it and lets the subcommand handle from there

#

if no, it handles the message

fleet epoch
#

So

#
let g = client.guilds.get("429810117832081408")
    console.log( g.memberCount + " are in Hyther")```
#

can someone tell me how memberCount is undefined?

stray cedar
#

Thanks for the help, @inner jewel @prime cliff

prime cliff
#

๐Ÿ‘Œ

stray cedar
#

Any regex enthusiasts out there? I need an expression to check for [integer]d[integer]

inner jewel
#

\dd\d

#

or if you want a specific amount, \d{1,6}d\d{1,6} would match up to 999999d999999

#

replace {1,6} with a + and you have no limit

stray cedar
#

Nice one. Thanks ๐Ÿ˜ƒ

slim heart
#
                    
                    serverowner.addRole(role)
                    
                    console.log(`${message.author} claimed ownership of ${servername2}`)```

It keeps returning: 

```(node:3208) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejec
tion id: 1): TypeError: Supplied parameter was neither a Role nor a Snowflake.

I'm pretty sure im defining the role correctly ๐Ÿ˜ฎ

earnest phoenix
#

What is serverowner defined as

#

Also, it should be find not get

#

serverowner might be fine, but change get to find

#

@slim heart

slim heart
#

.find returns with unkown role now

#

also ```connection.query("SELECT * FROM censorbot WHERE idcensorbot = " + arg1, function (err, rows) {
if(err) throw err;

        let ids2 = rows[0].idcensorbot
        let servername2 = rows[0].servername
        let censor2 = rows[0].censor
        let serverids2 = rows[0].serverid
        let server2 = bot.guilds.get(serverids2)
        let serverowner = server2.owner```
earnest phoenix
#

Make sure it's spelled exactly as the role

frail harness
#

watch out, you could inject sql there

earnest phoenix
#

Well I gtg now

frail harness
#

wait nope never mind you couldn't bloblul

earnest phoenix
#

Bye

slim heart
#

can it not have a space ๐Ÿ˜ฎ

abstract crystal
#

role name? yes it can

slim heart
#

Well it's not working :/

#
tion id: 2): DiscordAPIError: Unknown Role```
abstract crystal
#

TypeError: Supplied parameter was neither a Role or a Snowflake.
It probably wants a Role object or a snowflake (role id)

slim heart
#

Look at what i just sent

#

that's the error i get wit .find

abstract crystal
#

catch that error and make a role

slim heart
#

so it's a role... but not ๐Ÿ˜ฎ

#

the role already exists tho

abstract crystal
#

which lib?

slim heart
#

js

abstract crystal
#

discord.js?

slim heart
#

yes

abstract crystal
#

maybe check some docs and google that error (not really a js dev)

mental solstice
#

What if someone did ".find 0; DROP censorbot"?

inner jewel
#

^

#

use prepared statements

#

besides blocking sql injection they are also faster

mental solstice
#

@slim heart also make sure that if your role has a space. arg1 includes it

#

If youre splitting arguments by a space, and some does.. .find my role

#

Arg1 = my

slim heart
#

i already have all that like set up, it's just the role that isn't working

mental solstice
#

Code?

#

In your code above, nothing about getting a role

slim heart
frail harness
#

because showing one line of code will give us enough info to help you

slim heart
#
    
    if(!message.guild) return;
    if(!message.guild.id == "399688888739692552") return;
    
    const args = message.content.slice().trim().split(/ +/g);
  const command = args.shift().toLowerCase();
        
    
    if(command === "+mmo") {
        
        message.delete()
        
        if(message.content == "+mmo") {
            message.reply("Error: Too little amount of arguments | format: +mmo jsid | Get JSID by running +jsid in your discord server")
            return;
        }
        let arg1 = args[0]
        connection.query("SELECT * FROM censorbot WHERE idcensorbot = " + arg1, function (err, rows) {
            if(err) throw err;
                
            
            let ids2 = rows[0].idcensorbot
            let servername2 = rows[0].servername
            let censor2 = rows[0].censor
            let serverids2 = rows[0].serverid
            let server2 = bot.guilds.get(serverids2)
            let serverowner = server2.owner
            
            if(message.author.id == server2.owner.id) {
                
message.reply(`You have claimed ownership of ${servername2}`)
                    
                    let role = message.guild.roles.find("name", "Server Owner");
                    let member = message.member
                    
                    
                    member.addRole(role)
                    
                    console.log(`${message.author} claimed ownership of ${servername2}`)
                    
            } else {
                
 message.reply(`Error! You are not the owner of the server you specified, make sure you are using the correct jsid by running +jsid in the server you are claiming ownership of, if that still doesnt work feel free to contact MCninja for manual confirmation`)

                
            }
            
        })
    }
})```
#

there

#

hf ๐Ÿ˜‚

#

nvm i fixed it

frail harness
#

okay

slim heart
#

I needed to grab message.member not message.author ๐Ÿ˜ฎ

vestal timber
#

hey does someone in here use vs code and could help me for a sec?

trim plinth
#

I use VSC ๐Ÿ‘€

#

what do ya need help with?

elder rapids
#

same

topaz fjord
#

@vestal timber explain

vestal timber
#

soo

#

you know there is the CTRL+P to quick search

#

for a file right

#

in here when im coding

#

on the right

#

hitting CTRL+P doesnt do shit

#

i first have to click a random file

#

in the browser

#

for it to open that window

#

thats majorly annoying as i have to jump between files alot and i want to be able to use this quick search while in the file on the right

#

instead of having to take the mouse

#

click a random file in the browser

#

to then search another one

topaz fjord
#

so you want to find a certain term in all files or what

vestal timber
#

nono

#

a file itself

#

like i wanna search for whatever.cs

#

quick file search

uncut slate
#

so you're looking for a file with that name in your whole project directory

trim plinth
#

hmmm

topaz fjord
#

you do know that you do CTRL-P and type the file name in that box right?

#

and it will bring up file that match that keyword

vestal timber
#

i found the problem

#

yes that window didnt show up

#

bcs i had some intellij shortcut extensions installed

#

and apparently that fucked with the ctrl P in file

#

but not in the browser

#

so it worked 50% of the time

topaz fjord
#

you could always bind it to a diff key

vestal timber
#

๐Ÿ™ƒ

#

it was more the working in one place but not the other

#

that confused the shit out of me

stray cedar
#

If I'm passing a string to message.reply(), how do I break the string to a newline? <br> and \n have failed me

night imp
#

I use \n and it works

#

Have you tried using the key under the escape button instead of double quotes?

#

Sometimes that works for me

#

@stray cedar

inner jewel
#

make sure it's \n

stray cedar
#

back tick?

inner jewel
#

i've seen a lot of people use /n

stray cedar
#

I probably fall into the latter category

inner jewel
#

it needs to be a \

stray cedar
#

Am I being silly here? I'm trying to store a regExp in a variable const REGEX_DIE = new RegExp(/[d][0-9]+/);

topaz fjord
#

nice regex name

stray cedar
#

Reaper loves it

#

REGEX_DIE_DIE_DIE

earnest phoenix
prime cliff
#

discord.Embed is not a valid function?

earnest phoenix
#

ye

#

that's what it says

prime cliff
#

Read your lib docs for the embed function

frail harness
#

*class

earnest phoenix
#

the thing is

#

i tried it for other bots, and it's not working for this one

frail harness
#

show me your module imports

hushed oyster
#

@earnest phoenix your discord.py installation/import is incorrect

earnest phoenix
frail harness
#

yeah it's your installation prolly

hushed oyster
frail harness
#

^

earnest phoenix
#

yep

#

that's what im doing

hidden veldt
#

hi

#

I need....

#

HELP

#

HOW DO U GET EMOJI ID

#

I TRIED say uh... \๐Ÿช

#

but

#

it gives me THAT

#

๐Ÿ˜„

hushed oyster
#

๐Ÿช

hidden veldt
#

wat

#

uh....

#

I need emoji id not emoji

earnest phoenix
#

438111850433871872

hidden veldt
#

whoah

#

ok

hushed oyster
#

default emojis are just :cookie:

hidden veldt
#

how did u do that

hushed oyster
#

etc

earnest phoenix
#

right click on the emoji

hidden veldt
#

๐Ÿช

hushed oyster
#

no

#

that is copying the message id

earnest phoenix
#

lol

#

xd

hushed oyster
#

not the emoji id

hidden veldt
#

438111946642817024

#

whoah

#

IT WORKS

inner jewel
#

unicode doesn't have od

#

id*

hidden veldt
#

wait

#

that didnt happen last time...

earnest phoenix
#

i dont think it has an ID

inner jewel
#

it's just a couple of characters

hushed oyster
#

that is the message ID

#

not the emoji id

inner jewel
#

1-4 in UTF-8

hushed oyster
#

yes

earnest phoenix
#

just type :cookie:

hushed oyster
#

default emojis have no id

hidden veldt
#

hmm...

hushed oyster
#

only custom do

hidden veldt
#

it works

#

lemme try

earnest phoenix
#

no

hushed oyster
#

yes

hidden veldt
#

๐Ÿ˜„

earnest phoenix
#

that's an ID for a message

hushed oyster
#

yes

#

it is

hidden veldt
#

438112139459428362

#

wait...

earnest phoenix
#

still an ID for a message

hidden veldt
#

so that aint the emoji id

hushed oyster
#

that is the message id

#

no

trim plinth
#

if you want the id of a custom one, just do \:yourCustomEmote:

hidden veldt
#

๐Ÿ˜

#

its not custom

#

like a discord one

#

how would that work

inner jewel
#

๐Ÿค” - doesn't have it
blobthinkingfast - has id

hushed oyster
#

if its a default one, just type in the default characters

earnest phoenix
#

just type :cookie:

hidden veldt
#

wait...

hushed oyster
#

like :cookie: would work

hidden veldt
#

ok...

earnest phoenix
#

it'll work

hidden veldt
#

yay

trim plinth
#

you can't get the id of a default emote

low owl
hidden veldt
#

rlly

#

lemme show u

hushed oyster
#

ids are only for custom

trim plinth
#

@low owl zoomeyes better

inner jewel
#

ids are discord generated

#

why would unicode have ids?

hidden veldt
#

wait....

#

ok

#

hold up

low owl
#

If you are not sure whether something is an emote or emoji you can just escape it

inner jewel
#

\emoji

#

if it returns <:name:id>

#

it has id

trim plinth
inner jewel
#

else it's unicode

hidden veldt
#

if message.content == "!!react":
emoji = get(client.get_all_emojis(), name= "cookie")
await client.add_reaction(message, emoji)

#

this is my code

#

Im using pythin 3.6 btw

inner jewel
#

that only looks for custom

hushed oyster
#

get() is not a function

trim plinth
#

\๐Ÿ‘€

hidden veldt
#

oh...

#

can I have a command for reaction

#

thx

#

cuz it says this

hushed oyster
#

yes

low owl
#

\๐Ÿช

hushed oyster
#

you can make a react command

trim plinth
#

no spoonfeed zone

low owl
#

That is the unicode cookie

hidden veldt
#

Ignoring exception in on_message
Traceback (most recent call last):
File "C:\Python\lib\site-packages\discord\client.py", line 307, in _run_event
yield from getattr(self, event)(*args, **kwargs)
File "C:\Users\edwar\Desktop\Bot-Lib\CV\DLT Path XXIII 1.15.3.py", line 104, in on_message
await client.add_reaction(message, emoji)
File "C:\Python\lib\site-packages\discord\client.py", line 951, in add_reaction
raise InvalidArgument('emoji argument must be a string or Emoji')
discord.errors.InvalidArgument: emoji argument must be a string or Emoji

low owl
#

You can literally copy paste it

hidden veldt
#

ik

hushed oyster
#

rewrite or async?

hidden veldt
#

wat

#

ik this is no spoonfeed

#

but i looked it up online

#

and NOBODY KNOWS FOR SOME FRIGGIN REASON

#

๐Ÿ˜ฆ

#

โ˜น

#

thats better

#

...

low owl
#

Good that you looked it up by yourself first, thank you ๐Ÿ˜ƒ

hidden veldt
#

um...

#

thanks?

trim plinth
#

people want to help, we just need you to specify if you're using is async or rewrite

hidden veldt
#

async

low owl
#

If you knew how many people don't and just ask straight away..

hidden veldt
#

...

#

cool...

hushed oyster
#

just do if message.content == "!!react": await client.add_reaction(message, "๐Ÿช")

hidden veldt
#

ok

#

thanks...

#

lemme try

hushed oyster
#

np

hidden veldt
#

wait,,,

trim plinth
#

\๐Ÿ•

hidden veldt
#

python just crashed...

hushed oyster
#

what is the error

hidden veldt
#

idk

#

the shell just crashed

earnest phoenix
#

wait

hidden veldt
#

like the window closed

earnest phoenix
#

oh

hushed oyster
#

well

hidden veldt
#

I was copying and pasting

hushed oyster
#

how about

#

you

earnest phoenix
#

drag the file in the command file

hidden veldt
#

and it crashed...

#

ok

hushed oyster
#

no

hidden veldt
#

...

hushed oyster
#

do not do that

hidden veldt
#

ok

hushed oyster
#

that is not how to run programs

hidden veldt
#

๐Ÿ˜

earnest phoenix
#

soz

hidden veldt
#

...

hushed oyster
#

just restart the program

earnest phoenix
#

i meant command prompt

hidden veldt
#

ok

#

its working...

#

again...

hushed oyster
#

ok good

hidden veldt
#

lemme try again

#

ok...

low owl
#

iirc droping files in the cmd will paste the file path

hidden veldt
#

wait..

low owl
#

not sure about that though since I don't use cmd

hushed oyster
#

it will

hidden veldt
#

hmm

#

lemme try it

#

Ignoring exception in on_message
Traceback (most recent call last):
File "C:\Python\lib\site-packages\discord\client.py", line 307, in _run_event
yield from getattr(self, event)(*args, **kwargs)
File "C:\Users\edwar\Desktop\Bot-Lib\CV\DLT Path XXIII 1.15.3.py", line 103, in on_message
await client.add_reaction(message, "๐Ÿช")
File "C:\Python\lib\site-packages\discord\client.py", line 956, in add_reaction
yield from self.http.add_reaction(message.id, message.channel.id, emoji)
File "C:\Python\lib\site-packages\discord\http.py", line 200, in request
raise HTTPException(r, data)
discord.errors.HTTPException: BAD REQUEST (status code: 400): Unknown Emoji

#

I got that

#

this is my code btw

hushed oyster
hidden veldt
#

if message.content == "!!react":
await client.add_reaction(message, "๐Ÿช")

#

...

#

Wait what was that bit about cmd prompt

trim plinth
#

no

low owl
#

Not relevant

hidden veldt
#

ok

frail harness
#

Wait are you using async or rewrite

trim plinth
#

it says "unknown emoji" in the error

hushed oyster
#

async

hidden veldt
#

async

frail harness
#

Oh

hidden veldt
#

๐Ÿ˜„

#

:?

#

...

low owl
#

That's why I do C#. Typesafety rocks. /s

trim plinth
frail harness
#

Check docs.

hidden veldt
#

i did

earnest phoenix
#

did you put an emoji?

trim plinth
#

c# is pretty hawt

hushed oyster
#

yes

hidden veldt
#

no

hushed oyster
#

what

frail harness
#

It might be add_reaction(emoji, message)

hidden veldt
#

i said (๐Ÿช)

hushed oyster
#

no

frail harness
#

Let me check tocs

hushed oyster
#

it isn't

hidden veldt
#

oh wait

earnest phoenix
#

like an actual emoji?

hidden veldt
#

ok

frail harness
#

Oh

hidden veldt
#

no

#

I wrote the :emojiname

#

::

earnest phoenix
#

ok

hidden veldt
#

like that

hushed oyster
#

no

hidden veldt
#

is that ok

hushed oyster
#

that is not what i said

hidden veldt
#

wat

#

oh

hushed oyster
#

do await client.add_reaction(message, "๐Ÿช")

#

not await client.add_reaction(message, ":cookie:")

hidden veldt
#

that crashes whenever I try

#

ok python just crashed again

#

...

#

wtf

#

this weird

#

:?????

hushed oyster
#

i think you're just closing the window

hidden veldt
#

whenever I use ctrl+v

#

it crashes

#

๐Ÿช

frail harness
#

KeyboardInterrupt

hushed oyster
#

why are you using ctrl+v in a terminal

hidden veldt
#

what should I use

#

it doesnt have to be cookie btw

frail harness
#

Right click and paste

hushed oyster
#

๐Ÿคฆ

#

no

hidden veldt
#

wait...

#

wheres paste

hushed oyster
#

don't paste anything into the terminal

hidden veldt
#

...

hushed oyster
#

paste it into the actual file

trim plinth
#

copy and paste doesn't work in cmd btw

hidden veldt
#

what...

#

what do u mean actual file

hushed oyster
#

paste it into the actual file

hidden veldt
#

which one

hushed oyster
#

the file of the program?

hidden veldt
#

oh im not using the terminal

trim plinth
#

\๐Ÿ‘€

frail harness
#

what are you even pasting

hidden veldt
#

๐Ÿช

#

oh wait

#

no

#

๐Ÿช

#

that

#

no wait

#

\๐Ÿช

#

that

#

yeet

#

the C++ cookie

#

idk whats its actually called

#

I read something that said that the weird smaller cookie is like... smaller...

#

C++

trim plinth
#

what are you talking about at this point

hidden veldt
#

uh what I'm pasting

#

@frail harness asked me

trim plinth
hidden veldt
frail harness
#

What?

hidden veldt
#

what im pasting

frail harness
#

Oh

hidden veldt
#

/๐Ÿช

#

\๐Ÿช

#

that

#

๐Ÿ˜

low owl
#

Unicode

hidden veldt
#

yeah

#

that

#

python will crash whenever I paste that

low owl
#

If I may give you an advice. Discord bots might not be the best way to start your dev journey.

hidden veldt
#

...

low owl
#

They can become complex really fast and documentation can be difficult.

trim plinth
#

learn python first before making a buttโ„ข

hidden veldt
#

i did

#

I know some python

frail harness
#

some

hidden veldt
#

thats why I chose python

#

some

trim plinth
#

key word some

hidden veldt
#

well enough to like make games...

#

and that cool stuff

#

bots beat games

#

its more fun

trim plinth
hidden veldt
fluid basin
hidden veldt
trim plinth
#

saying you know "some" python and being able to make a game out of py GWqlabsThonkery

low owl
#

I don't even think Python is your problem. It might rather be researching. Using documentation and understanding it can be key to succeeding. Or knowing which questions to ask to get the answer you want.

hidden veldt
#

i saw the thing

#

that?

#

yep read it

#

๐Ÿ˜„

low owl
#

Well, then you probably just need experience

hidden veldt
#

like I looked it up hard

#

heh wait

#

I think I got an IDEA

#

:lightbulb:

#

no

#

wait

#

thats not an emoji

#

oh well ๐Ÿ˜ฆ

fluid basin
#

๐Ÿ’ก

hidden veldt
#

wow

#

whats it called

#

๐Ÿ’ก

#

oh

#

bulb

fluid basin
hidden veldt
#

\๐Ÿช

#

ok u know what

#

screw reactions

#

ima try something else

#

๐Ÿ˜ฆ

#

ok thx for help though ๐Ÿ˜„

fluid basin
earnest phoenix
#

Why is it saying name isn't verified?

mental solstice
earnest phoenix
#

So what would it be?

#

Or where could I find it?

#

*answer

mental solstice
#

check in commands/help Directory.. and make sure name is listed

earnest phoenix
#

where? I'm still on the guide of command handlers

mental solstice
#

do you have a folder named commands along with your Main JS file?

earnest phoenix
#

yes

mental solstice
#

inside that folder is there something named help.. a file or a folder?

earnest phoenix
#

I'm coding help.js now

mental solstice
#

help.js needs a property named.. name

earnest phoenix
#

Ok

topaz fjord
#

go to the main page and scroll to the bottom

#

theres a dark mode switch

ashen quail
olive ridge
#

where is ur prefix defined

topaz fjord
#

thats not the problem

#

thats not how you make messageembeds

olive ridge
#

message.channel.send({embed: {

#

i think he did

#

um message.channel.send([embed: {

topaz fjord
#

^

olive ridge
#

Oh i did something

#

How did you get the hex for the color value

#

i tried it and it doesnt work

#

Mine will only accept the 7 digit ones

dusty sandal
#

how would i do a command that would only work for one person
like if(message.member !== "id" return message .channel.send("Couldn't do that sorry!"))

olive ridge
#

oh

#

u can eitehr put it only for the command

#

or for a whole set of commads

#

i did it

#

using the id of the author

#

if you fixed your syntax errors that should work

dusty sandal
#

ok thanks

olive ridge
#

np

fast fjord
#

Anyone know of a bot that can delete the last massage by a user whenever a new message from them is made (basically to automate it so that only peoples most recent message is shown, and any time they make a new post and forget to delete their last one, the bot would've already done it for them automatically)?

olive ridge
#

but why?

#

that would be api abuse

quasi marsh
#

I doubt that exists

olive ridge
#

in a busy server

quasi marsh
#

It would be better to build it yourself

olive ridge
#

^

fast fjord
#

Does anyone know of any that could prune all except the most recent message by every user?

olive ridge
#

can you code?

fast fjord
#

No I would only do it if a bot already existed. Wasn't sure how niche the task was.

olive ridge
#

I don't think a bot that specialized exsists.

#

It might

fast fjord
#

I'll keep looking, thanks ๐Ÿ˜ƒ

olive ridge
#

It would be easier to code it your self

#

and you can customize it to your hearts content

#

Coding is a great skill to have

#

You won't need it to work at McDonalds but it is very useful

fast fjord
#

It wouldn't work for me to host it even if I made a bot. Not for my servers purposes.

#

And it's a small thing in the grand scheme of things, but would be nice to have it automated.

olive ridge
#

free hosting is a thing

#

what you mean automated?

#

It would be automated either way, just one requires you to learn a life skill, and one takes time searching for something for weeks.

mental solstice
#

That type of bot would be very easy

olive ridge
#

yeah

#

Is it api abuse?

#

Ina busy server

mental solstice
#

In a busy server, yeah.. of they are spamming

#

If

olive ridge
#

the lag would be real

lament meteor
#

well u could always add ratelimits so people cant spam ur commands

ashen quail
lament meteor
#

@ashen quail ez fix

    name: "Richest Account" //missing a ","
    value:`${guildRichest} with ${guildRichest$}```
#

people cant c errors like it is a problem

ashen quail
#

lol

lament meteor
#

is it fixed?

ashen quail
lament meteor
#

error?

ashen quail
#

um

#

oh

#

I just got an error

lament meteor
#

also u dont need the "," after the value

ashen quail
#
/Users/samirtata/Desktop/Strike/app.js:541
});
 ^

SyntaxError: Unexpected token )
#

ok

lament meteor
#

also why dont u use the richembed feature?

ashen quail
#

idk

#

i like it with that

#

im just using a new methoad

lament meteor
#

its just json

ashen quail
#

so wait which one should I remove

lament meteor
#

ur code i presume has too much )

ashen quail
#

@lament meteor Should I give you the whole code because if I remove anything it makes a new error

lament meteor
#

not rlly

#

cause i dont rlly like reading json it gets messy and hard to read at a certain stage

ashen quail
#

lol

glossy mason
frail harness
#

oh god json dbs

ashen quail
#

lol

frail harness
#

switch to sqlite right tf now

ashen quail
#

Ok I fixed the error but the guild command won't work

#

still xD

mental solstice
#

What does endsWith () do

glossy mason
mental solstice
#

Ok.. and his loop is useless

#

If user.money = 0.. set to richest?

#

I feel like there is code missing a lot of the loop is pointless

glossy mason
#
var richest = [{"name":"a","money":1},{"name":"b","money":5},{"name":"c","money":3}].reduce((max, p) => {return p.money > max.money ? p : max})
#
{name: "b", money: 5}
hushed oyster
#

@frail harness life lesson

#

dont use sqlite

frail harness
#

its better than json lol

hushed oyster
#

not really

frail harness
#

w0t

hushed oyster
#

sqlite made me have to reset my bot's database

#

then I switched to postgres

#

much better

frail harness
#

oh

#

ok ig

glossy mason
#
var guildMoney = [{"name":"a","money":1},{"name":"b","money":5},{"name":"c","money":3}].map(p => p.money).reduce((a, b) => {return a + b})
#
9
trim plinth
#

postgres is hawt

lament meteor
#

whats u guys doing?

faint cedar
#

What was a way to iterate over an array of objects? For ... In and of are not working

lament meteor
#

???

frail harness
#

Which lang

lament meteor
#

js

faint cedar
#

Yes

lament meteor
#

@faint cedar

for (var i = 0; i < number; i++) {
//do stuff
}```
#

also number can be yea....

solemn obsidian
#

that wont work for objects with non sequential keys

glossy mason
#
elements.forEach(el => {
    //do stuff slower https://jsperf.com/foreach-vs-loop
});
earnest phoenix
#

the first solution should work for arrays though

uncut slate
#

use for..in or for..of

craggy cave
#

Hmm

#

I want to ask a question but I don't want to look stupid.

#

It's regarding php and discords oauth2 login.

#

Anyways here it is:

#

How would you fetch soemones avatars image or name after having them loging in your website using discords oauth2

#

I am using this and so can't seem to actually get information onto a HTML page after them logging in.

lament meteor
#

cant u like grab data from the oauth2

earnest phoenix
#

do you know how to grab their username?

#

$user->username ?

#

well itโ€™s $user->avatar

lament meteor
#

its differnt

craggy cave
#

Oh what I was confused on was that the login page is separate and then they get redirected back to a dashboard after they authorised.

#

On the dashboard is HTML how would I grab info from their oauth2 login and transfer it to the dashboard.html

lament meteor
#

i am also figuring that out

mental solstice
#

Why not have your bot lookup their discord avatar

solid cliff
spring ember
#

I wanna make a web dashboard, do I need an ssl certificate?

uncut slate
#

you don't need one but you really really really want one

#

besides, it's really easy to get it done nowadays

spring ember
#

Why do I want it? What does it really do?

uncut slate
#

encryption of any data sent over https

#

without one, you'd be using http and you'd be susceptible to leaked data, e.g. attackers being able to use the dashboard of people they shouldn't be able to

#

obviously not guaranteed to happen

karmic parcel
#

It's easy enough to use SSL that you should use it

#

and easy to attain

#

letsencrypt or cloudflare blobokhand

spring ember
#

But it's expensive

low owl
#

No

#

There are free ones

#

aka. letsencrypt and cloudflare

spring ember
#

Cloudflare looks pretty good

#

Thanks!

craggy cave
#

It is pretty good but moderate to setup

#

Buying a ssl certificate is even harder to setup

#

I've completed it and done it once so msg me if you need a little help or just ask here I guess

earnest phoenix
#

How to make a bot say the servers it's in

#

or the number

ruby dust
#

what language?

earnest phoenix
#

python

ruby dust
#

str(len(self.bot.guilds))

#

amount of servers

earnest phoenix
#

ty

ruby dust
#

and for listing their names you'll have to use the for loop

#

I think

#

no wait, it will already be a list, so .join() will work fine

stray cedar
#

So my bot was declined for being offline.
I'm a little confused on what to do here? The only way I am able to run my bot atm is to attach it to my server and run node index.js in my terminal.
How do I set it up properly for testing, other than settings the Public Bot option to true in My Apps

low owl
#

Lmao for a second I thought you were implying that ticking "public bot" would make it "run" online

stray cedar
#

No no ๐Ÿ˜ƒ

#

What else do I need to do ๐Ÿ˜ƒ

low owl
#

Mh, that is perfectly fine then. Are you sure your bot wasn't offline from the timespan on when you applied?

stray cedar
#

So if I submit my bot for approval, I'll need to leave my terminal running until I receive a response?

low owl
#

Oh.. you are selfhosting

#

well, otherwise we can't test it

prime cliff
#

What are you hosting it on?

stray cedar
#

Self hosting by the looks of it. What would you recommend?

frail harness
#

Get a vps

stray cedar
#

Repo is on Github if that influences the decision

low owl
#

Negative

#

Unless your token is on there as well

stray cedar
#

Mmm, that sounds wrong

prime cliff
#

Phunk how are you self hosting it? You said terminal as in linux right

low owl
#

Yea. If we find your token on a public repo the bot won't get approved.

stray cedar
#

Nah, the token file is being ignored

#

I'm running a Git Bash terminal on Windows

frail harness
#

Oh

prime cliff
#

Ah

low owl
#

Ok, so here is what you want to do. By the time of testing, so from the moment you apply you should have your bot running. Because testing requires a functional bot. We test for different things, such as "has it any actual features", "does it have a help command or otherwise obvious point of entry" etc.

So either you get yourself a server to run your bot on or you will unfortunately have to self host it. I'd highly recommend a server tho, otherwise it makes no sense to add it to DBL.

stray cedar
#

Sorry I got pulled away for a sec there

#

Yeah, I'm going to add it to a server

#

Any recommendations?

#

Is Heroku still a thing?

frail harness
#

Do not host on Heroku.

low owl
#

Take a look at pins

frail harness
stray cedar
#

Thanks for the help @frail harness @prime cliff @low owl

frail harness
#

np

stray cedar
#

One last thing. Is it ok to submit a bot and then submit additional features post-release?

low owl
#

Yes

#

once submitted you basically can do whatever

stray cedar
#

Ah, so there's no review after it's been initially approved?

low owl
#

No, unless someone reports your bot for something. Then we'd take a look at whatever the person reported.

stray cedar
#

Cool, good to know. Thanks

prime cliff
#

@stray cedar yea i use servercheap aswell i recommended it here and have had no issues with it

fluid basin
#

Welp just needa find a host with a better connection to discord

prime cliff
#

Servercheap will

fluid basin
#

Thonk Ping i wonder

prime cliff
#

Standard ssd server at 20% off lifetime atm from servercheap

fluid basin
#

Wut are the pings?

sudden owl
#

Does anyone have issues with discordjs where the users presence becomes stale, as in the bot thinks the user is online but is actually offline (idle etc)

lament meteor
#

i think d.js still caches a planet ๐Ÿคท i dont

static spade
#

how to deal with Error: socket hang up?

earnest phoenix
#

get better internet

static spade
#

man its vultr hosting

#

@keen anvil i saw you on github, dealing with same problem, did you realize it how to fix?

inner jewel
#

afaik no

lament meteor
#

how to detect an error when u do

      $.ajax({
    method: 'POST'
    link: "link"
})```
#

its html

static spade
#

so i should switch on Eris

inner jewel
#
  1. that's js, not html
  2. did you try google?
lament meteor
#

i did try to google but it aint working

static spade
inner jewel
#

eris

lament meteor
#

d.js and eris is debateable

inner jewel
lament meteor
#

but i say eris in the long run

elder rapids
#

They aren't debatable

#

eris >

#

Reason? Shards

lament meteor
#

and others

#

doesnt eris voice handler is pretty buggy?

elder rapids
#

I mean probably

#

idk

glossy sand
#

if you're working with voice, consider using a different language

static spade
#

why node doesn't support multithreading ๐Ÿ˜ญ

glossy sand
#

because the language wasn't designed with multithreading in mind

#

javascript was never supposed to scale beyond simple scripts on web pages

elder rapids
#

yet it did

#

Node can support it with native libs iirc

glossy sand
#

you'll have a fun time trying to maintain thread safety though lol

elder rapids
#

yeah that's a downside

static spade
#

a what about js libraries vs python libraries?

inner jewel
#

tbh it's good that js is single threaded

#

multithreaded code is way more complex

#

harder to maintain

#

and harder to debug

elder rapids
#

same

inner jewel
#

source: experience

#

debugging a deadlock that takes 40 threads spamming to happen isn't fun :^)

elder rapids
#

Deadlocks are the best kind of failure

#

Especially when absolutely nothing is logged ... no errors, no info.

frigid thistle
#

Can someone help me understand webhooks more

glossy sand
#

webhooks are like http requests but in reverse

#

instead of you sending a request to the server to tell it to do something, the server sends a request to you to tell you that something has happened

#

essentially it's a callback that's invoked through an http request

frigid thistle
#

Oh

#

Can you help me set up a basic webhook for my bot

glossy sand
#

just google it

#

you just need to run a web server that listens for the http request from the webhook provider

bleak sapphire
#

can anyone help me out? im kinda new to this mysql thingy
i dont know what i should get

earnest phoenix
winged osprey
#

@earnest phoenix a little late here, but do you have an index.js file in that directory?

earnest phoenix
#

yup

#

i do

sly brook
#

how long does it usually take for a bot to get verified?

grizzled isle
#

24h-1w

toxic oracle
#

could be under 24h

spring ember
#

What ssl certificate provider do you guys use?

elder rapids
#

Who's "you guys"?

spring ember
#

Everyone here

elder rapids
#

CloudFlare

spring ember
#

Free?

elder rapids
#

.... yes

#

You can always get an SSL/TLS cert for free

spring ember
#

I mean do you use the free tier

elder rapids
#

Why would I pay for CloudFlare ๐Ÿ˜‚

topaz fjord
#

i use free tier

elder rapids
#

There is nothing off the free tier I need

topaz fjord
#

not like im a big business and need it

spring ember
#

You just need to set an a record to cloudflare and from cloudflare to the hosting?

elder rapids
#

You have to setup TLS on CloudFlare also

#

Setting DNS records doesn't magically give you HTTPS

topaz fjord
#

its just a slider

elder rapids
#

Dropdown*

#

correction

topaz fjord
#

@elder rapids shhhh

spring ember
#

Lel

elder rapids
#

well it's also a slider

#

but dropdown too if you want to include origin cert checks

spring ember
#

Is auto https redirect also in the free tier?

topaz fjord
#

yes

spring ember
#

Noice so I only need to listen at 443

topaz fjord
#

there are multiple clodufalre ports that work

elder rapids
#

HSTS preferred

#

You can listen to 443 but then you need a certificate on your origin server

topaz fjord
#

i listen on random ports

spring ember
#

So what should I do

topaz fjord
#

sometimes it works sometimes it doesnt

spring ember
#

Lel

topaz fjord
#

guess and check is the way i do it

#

cus some ports ubuntu reserves and stuff

elder rapids
#

Ubuntu doesn't reserve 443 or 80

#

In fact Ubuntu barely reserves

spring ember
#

Wait so what do I want to listen to 80?

elder rapids
#

If you use flexible CloudFlare connects to port 80 on your server

#

If you choose strict then it goes to 443 if HTTPS

#

If everyone is always on HTTPS (redirect and HSTS) then it will connect to 443 on your server if you use anything above flexible

#

It's an interesting setup ;P

topaz fjord
#

well it doesnt work on port 2000 for all i know

elder rapids
#

What doesn't

topaz fjord
#

listening a http server on it

elder rapids
#

You can listen an HTTP server on any port you want

#

80 and 443 work fine

#

I do that right now

topaz fjord
#

shit sorry

#

i cant redirect on port 2000 with nginx for some reason

elder rapids
#

mmmmmm

#

meh

hidden veldt
#

heheh

fickle hawk
#

is there a batch set /p equivalent in bash?

uncut slate
#

you mean set an environment variable?

#

you can just prefix the command with VARNAME=CONTENT

#

e.g. A=B node [file.js]

floral stone
#

process.cpu_percent() returns this
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 15849.9, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
I called it like 100 times.

#

How would I get the percent of my cpu of the current process via python.

solid cliff
frail harness
#

lol

floral stone
#

of the process @solid cliff

#

not the entire cpu

solid cliff
floral stone
#

It returns 0.0 alot above, as show in quote.

#

There's that 1 not 0.0 or 15849.9

#

This is also with a linux server

#

I'm going to bed, ping me if y'all got something. All my research returns to nothing.

tiny turtle
#

http://prntscr.com/j9rqam
anyone tell me how to get rid of this all embed and link message edits I tried if var old=var new stop the command

Lightshot

Captured with Lightshot

lament meteor
#

@tiny turtle ez fix
if (oldmsg === newmsg) return

tiny turtle
#

ty ty ty

uncut slate
#

don't compare the object

#

that'll be different

#

make sure you compare the content itself

desert jasper
#

@inner jewel i will invite you natan

lament meteor
#

what i mean is looks at the msg.content

desert jasper
#

Hi

#

Trade account

lament meteor
#

?

desert jasper
#

Pm me

lament meteor
#

dont talk non-dev stuff here

solemn obsidian
#

no trade account

#

go away

bleak sapphire
#

anyone knows how to get a server id using the server name? im using discord py

spring ember
#

Pretty sure that's in the docs

#

In client or bot

bleak sapphire
#

i cant seem to find it

spring ember
#

You use ext.commands?

bleak sapphire
#

yes

spring ember
#

I think you must iterate in client.guilds sadly

bleak sapphire
#

ow

#

well fk

spring ember
#

Ask d.py maybe they know better

frail kestrel
#

hold on

#

yeah i don't think thats possible. As dondish said, you may have to iterate through the guilds

glossy sand
#

server name to server id is not a one-to-one mapping since server names aren't unique

low owl
#

^ primary keys have to be unique

solid cliff
#

is dbl posting to webhooks slow or is it just me

prime cliff
#

Its not just you it has been acting funky

solid cliff
#

oki

slender thistle
#

How do you get members with a certain discriminator in async Discord.py? Thonk

sudden owl
#

Yea webhooks not working at all for me

lament meteor
#

Shivaco dont u have to do client.get_all_members() and stuff first

sudden owl
#

Iโ€™ve just received a bunch of webhooks in one go, so might be working again

lament meteor
earnest phoenix
#

lul

slender thistle
#

Discrims are string. Fixed my issue. ๐Ÿ˜„

lament meteor
#

ok kool

earnest phoenix
quiet bobcat
#

It's most likely the client.shard.id because you don't have shards yet (assuming here, you might have shards)

#

but most likely not

earnest phoenix
#

hmm

#

1 sec

quiet bobcat
#

๐Ÿค”

#

Just comment that part out and test it

earnest phoenix
#

without token right ..

low owl
#

You need a token

earnest phoenix
#

i know

quiet bobcat
earnest phoenix
#
client.on('ready', () => {
    console.log(`\nLogged in:
Bot: ${client.user.tag} / ${client.user.id} / v${version} (Codename ${description})

Shard: ${client.shard.id} (count ${client.shard.count})
`);
#
TypeError: Cannot read property 'id' of null
    at CommandoClient.client.on (C:\Users\frisby\Desktop\jColour-master\index.js:52:23)
    at CommandoClient.emit (events.js:185:15)
    at WebSocketConnection.triggerReady (C:\Users\frisby\Desktop\jColour-master\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:125:17)
    at WebSocketConnection.checkIfReady (C:\Users\frisby\Desktop\jColour-master\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:141:61)
    at GuildCreateHandler.handle (C:\Users\frisby\Desktop\jColour-master\node_modules\discord.js\src\client\websocket\packets\handlers\GuildCreate.js:13:31)
    at WebSocketPacketManager.handle (C:\Users\frisby\Desktop\jColour-master\node_modules\discord.js\src\client\websocket\packets\WebSocketPacketManager.js:103:65)
    at WebSocketConnection.onPacket (C:\Users\frisby\Desktop\jColour-master\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:333:35)
    at WebSocketConnection.onMessage (C:\Users\frisby\Desktop\jColour-master\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:296:17)
    at WebSocket.onMessage (C:\Users\frisby\Desktop\jColour-master\node_modules\ws\lib\event-target.js:120:16)
    at WebSocket.emit (events.js:180:13)
quiet bobcat
#

Just remove the shard thing

#

Try it

earnest phoenix
low owl
#

Are you sure user isn't null?

#

Although it should have thrown at tag already lol

earnest phoenix
#

oh fuck im dumb .-. i was using "bot" instead of "client" just changed client to bot

#

it worked

lilac pendant
#

Hey guys. I'm new to creating Discord bots. Literally just made my first locally hosted bot that just does the whole ping pong reply. Just curious, if you create a bot, Discord offers free public hosting so I don't have to leave the bot running on my PC all the time, right?

spring ember
#

No

#

You have to run it at all times

low owl
#

Take a look at our pins for this channel ๐Ÿ˜ƒ

lilac pendant
#

@spring ember Thank you @low owl Oh nice, thanks I appreciate it.

wise bridge
#
Unclosed connection
client_connection: Connection<('discordbots.org', 443, True)>
Unclosed response
client_response: <ClientResponse(https://discordbots.org/api/bots/424606447867789312/stats) [200 OK]>
<CIMultiDictProxy('Date': 'Wed, 25 Apr 2018 16:09:06 GMT', 'Content-Type': 'application/json; charset=utf-8', 'Content-Length': '2', 'Connection': 'keep-alive', 'Set-Cookie': '__cfduid=d493a322a3addf6fea8c00a650296559d1524672546; expires=Thu, 25-Apr-19 16:09:06 GMT; path=/; domain=.discordbots.org; HttpOnly; Secure', 'X-Powered-By': 'Express', 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Headers': 'Authorization', 'Etag': 'W/"2-vyGp6PvFo4RvsFtPoIWeCReyIC8"', 'X-Varnish': '597692118', 'Age': '0', 'Via': '1.1 varnish-v4', 'Accept-Ranges': 'bytes', 'Strict-Transport-Security': 'max-age=15552000; includeSubDomains; preload', 'X-Content-Type-Options': 'nosniff', 'Expect-Ct': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"', 'Server': 'cloudflare', 'Cf-Ray': '411212764f7a21c8-EWR')>```
#

how to fix that error on startup?

bleak sapphire
#

weird error, never seen it before

#

probally has something to do with the server count thingy on discordbots.org

#

or idk

wise bridge
#

It only happened after I moved the bot to my VPS