#development

1 messages · Page 430 of 1

shy verge
#

the site doesn't accept testing bots

forest stump
#

what do you guys use to host

#

i'm using heroku

#

is that a bad idea?? lol

shy verge
#

very bad idea

trim saddle
#

@forest stump if you try to save data yes

shy verge
#

horrible idea

forest stump
#

oof

shy verge
#

heroku is just a bad host in every possible way

trim saddle
#

but otherwise its fine..

forest stump
#

rn my bot doesn't save any data tho lol

shy verge
#

go use skysilk

#

it's an actual hosting solution

trim saddle
#

but local hosting is best

forest stump
#

is it free

trim saddle
#

imo

forest stump
#

i dont wanna have my pc open 24/7 ew

shy verge
#

skysilk

#

it's in a free beta

uncut slate
#

local hosting is pretty awful lol

trim saddle
#

online hosting doesn't usually save data

forest stump
#

my router stops working too often at night to local host lol

shy verge
#

@trim saddle boi what drugs are you on

#

any hosting solution worth it's salt can hold data

#

any hosting solution AT ALL

trim saddle
#

my bot uses heroku + mLab

shy verge
#

heroku

#

heroku is horrible for bots

#

horrible for anything really

trim saddle
#

i use it until i can get back on linux

forest stump
#

seems to work fine but the bot i'm using on it rn is extremely simple

glossy mason
#

Heroku is designed to be scalable with Dynos that can be created and destroyed at any point without interruption. The ephemeral filesystem reinforces this and encourages the usage of a database and other data stores for storage that multiple Dynos can interact with, especially when scaling. It's not designed to be a VPS.

forest stump
#

literally one command that makes an api request

#

hmm ill prob look at skysilk

inner jewel
#

also heroku wasn't designed to handle a bot

#

even hosting a single shard/dyno might still be too much depending on what you do

shy verge
#

heroku sleeps your shit if it's inactive mmLol

inner jewel
#

that's why people cheat doing requests to themselves

low garden
#

ok, i am fixing ehm... 2-5 cmds but now the bot online in release 😃

inner jewel
#

so you can add an http server to the load as well :^)

hot sleet
#

what is the best way to make dashboard for my bot ?

glossy mason
#

That's if you use a web dyno instead of a worker dyno. It (and similar services) are designed for a specific market that want it to work the way it does, however it is not designed with Discord bots in mind like you suggest.

hot sleet
#

like npm modules

queen violet
#

like a web dashboard?

trim saddle
#

when my bot was in 10 servers i just had a loop to print to the terminal so it wouldn't sleep

hot sleet
#

yeah

queen violet
#

express i guess

trim saddle
#

but now that its in 101 or something thats no longer an issue

hot sleet
#

gg

#

-bots @trim saddle

gilded plankBOT
#
xwx#5245
Bots

@lone nymph
@stable crow

hot sleet
#

-report copied bot

#

@stable crow i copy of another bor

#

t

#

same help command and prefix even the name

trim saddle
#

wait

#

you mean @cyan python ?

queen violet
#

thats the same bot

hot sleet
#

yeah

trim saddle
#

ooof.

low garden
#

-bots @low garden

gilded plankBOT
#
๖̶̶̶ζ͜͡LXI | 💎LolloGamer💎#8957
Bots

@livid geyser

low garden
#

is added? I go to test him

trim saddle
#

owopup is a furry bot. OwO is an anime bot with other shit

hot sleet
#

should i report

#

i will

#

oh okay

trim saddle
#

sure same prefix, but not same bot

hot sleet
#

yeah

#

did you asked @cyan python owner for the name

queen violet
#

i meant he tagged the same bot that luca sent

hot sleet
#

may he will report you

queen violet
#

not that your bot is the same as owo

trim saddle
#

owo's not a copyrighted name >:L

queen violet
#

ye

night imp
#

the name can't be copyrighted if it is a different bot

hot sleet
#

i know

night imp
#

Doesn't matter what base was used

hot sleet
#

what about owo prefix

night imp
#

conversation over

queen violet
#

if that was the case every bot with ! would be beaned

inner jewel
#

prefixes can't be copyrighted either

#

^

hot sleet
#

so

native narwhal
#

They are made in two different languages too

hot sleet
#

what can be copyrighted

night imp
#

that's like copyrighting the wheel

trim saddle
#

NOTHING

inner jewel
#

code

trim saddle
#

well that

night imp
#

@hot sleet code

hot sleet
#

wait

queen violet
#

i guess the source

#

yeah

hot sleet
#

wait wait

forest stump
#

pretty sure the only case would be if someone literally just stole your source code

night imp
#

people can't take your entire bot

#

But could take it and improve it

hot sleet
#

99% of bots have same avatar command code is that means copyright

safe axle
#

what's going on?, I got a report command from @sacred spruce and it said copied bot

night imp
#

Different licenses have different rules

inner jewel
#

if the code comes from a tutorial which allows copying however users want, no issues there

night imp
#

Some require a tieback to the original while some don't.

misty quest
#

Is it sad that I have all of my commands in 1 class file?

hot sleet
#

can i copy luca code

queen violet
#

yes

hot sleet
#

may i will hack it

inner jewel
#

yes

night imp
#

Why would you but sure

inner jewel
#

good luck copying closed source code

safe axle
#

haha

hot sleet
#

😢

#

i hacked it

queen violet
#

can i hack oliys computer

hot sleet
#

can i mute my self

#

zyad mute @hot sleet 10m

#

Muted ✅

queen violet
#

offtopic much

inner jewel
forest stump
#

if my bot gets declined i can resubmit it right

hot sleet
#

yeah

forest stump
#

i dont have to create a new bot app in discord or some shit

#

k

safe axle
#

you need to fix whatever got you rejected

trim saddle
#

review the reason and fix it before resubmitting

forest stump
#

ye ofc

safe axle
#

yea you can

hot sleet
#

just check the decline reason

misty quest
#

What’s the avatar update event called?

forest stump
#

what api

misty quest
#

JDA

forest stump
#

not sure i use discord.js

#

maybe check the official jda server?

misty quest
#

UserUpdateAvatarEvent

queen violet
misty quest
#

Shoulda probably checked the docs before asking xD

safe axle
#

maybe xd

queen violet
#

literally searched with intellij

misty quest
#

I use Eclipse

#

Neon

native narwhal
#

Neon 👀

safe axle
#

yeah but the library for the bot

low garden
#

i use Eclipse, discord.js

native narwhal
#

Isn't neon from like 2016 xD

misty quest
#

Oh yeah, I love Neon

#

I can’t stand Mars and the other new one

native narwhal
#

Oxygen

#

(Is the latest one)

misty quest
#

Ye, that one

native narwhal
#

Mars was before Neon I think

misty quest
#

I’ll check

safe axle
#

yes

shy verge
#

Jet🅱rains™

native narwhal
#

Mars is from 2015

low garden
#

GetBrains, all incluse me

safe axle
#

it's alphabetical

low garden
#

yep

native narwhal
#

Ooo

low garden
native narwhal
#

Never thought about that

shy verge
#

An🅱roid version style

low garden
#

yEP

shy verge
#

what will Google do when they run out of letters

misty quest
#

Photon, Oxygen, Neon, Mars, Luna, Kepler, Juno, Indigo, Helios, Galileo etc

shy verge
safe axle
#

create new letters

shy verge
#

use kana characters

inner jewel
#

^

misty quest
#

Imma use java 2, for shits and giggles

low garden
hot sleet
earnest phoenix
#

Where do you guys put your vote event from the api?

#

I dont know but I doesnt work for me

inner jewel
#

i put in main.go

misty quest
#

I put mine in DBLApiEvents.class

earnest phoenix
#

Hmmm

shell blade
#

I have an issue with a JSON database. I'm using the code below to save it whenever I edit it, but it isn't working. What am I doing wrong?

var database = require('./settings.json');

function save() {
  fs.writeFile('./settings.json', JSON.stringify(database), (err) => {
    if (err) console.error(err)
    console.log('Saved database!');
  });
}
shy verge
#

your issue is using a json db

#

please use SQLite instead

trim plinth
#
  1. don't use json for storing a lot of data 2. es6™
shell blade
#

Why is bad to use JSON databases?

topaz fjord
#

corruption

shell blade
#

Ah, okay.

lament rock
#

JSON files are prone to corruption and write locks which is not good if you're sharding

#

I suppose the same concept applies for SQL across shards but it's not as prone to corruption and it's easier to get data and write to it

shell blade
#

Whenever I edit my bot's code it restarts it. Will that cause the SQLite database to be cleared?

lament rock
#

no

shell blade
#

Okay, cool. Thanks and sorry.

lament rock
#

The database will be stored on disk. If you really plan on your bot to shard eventually, try and learn MySQL or another lib which acts like SQL but is non file based

shell blade
#

Alright.

#

Thanks.

lament rock
abstract mango
#

all sql is file based, it's just different format across some stuff

#

:p

main temple
#

HI HOW I CREATE MY BOT

quasi marsh
#

Can you code?

main temple
#

NO

quasi marsh
#

Then learn how

native narwhal
#
  1. Learn how to code
  2. Make a bot
main temple
#

OK

quasi marsh
#

Try tutorials like codecademy (also why do you keep talking in all caps)

shy verge
#

SoloLearn™

earnest phoenix
#

hello.. someone know how to make input space value block by argument?

argument 1 :
let args = message.content.slice(prefix.length).trim().split(" ");

if i use argument 1, i can use command to input args love : !example love
but, with argument 1. I can't use command to full input args : !example love fruits
"fruits" args not inputed to database, because blocked by split.

argument 2 :
let args = message.content.slice(prefix.length).trim().split("");

if i use argument 2, u all know.. the command will bring all with the values to call js, like : !example love
args will be call js : !example love.js , and the js can't call.

so, anyone know how to input full args love fruits to database?

i'm sorry if my english bad.

native narwhal
#

If you just want to get everything after the command you could probably do something like message.content.substring(message.content.indexOf(" ") + 1, message.content.length)

main temple
#

@shy rose GIVE ME YOU LINK

shy rose
main temple
#

THX

shy rose
#

also no need for caps

main temple
#

THE LINK NOT WORK

shy rose
#

i edited done a typo

main temple
#

OK

#

NOW THE LINK WORK

shy verge
#

please turn off caps lock

shy rose
#

^

main temple
#

THX @shy rose

#

@shy rose YOUR Desktop Edition IS NOT HAVE VIRUS

shy rose
#

oh yeah that

quasi marsh
#

Are you going to stop talking in all caps @main temple it's getting quite annoying and spammy?

shy rose
#

uh i cant afford the $400 a month cert on microsoft to have my product not say that

#

its not malware its jsut i cant afford the license to say its not ;-;

#

also maybe try get use to the web version they have basiclly the same features and saves can carry across

main temple
#

IM HAVE AVAST AND malwareBETY

shy verge
shy rose
#

thats the desktop version

#

the only diffrence of features is it lets you build offline and has a module called sockets which is a bit more advanced

main temple
#

IF MY ANITVIRUS SAY IS HAVE VIRUS IM SAY TO MICROSFT OK IM NO YOU NOT ADD VIRUS

shy rose
#

no caps ;-;

shy verge
#

lol

main temple
#

OK IM USE IT

shy verge
#

OK

quasi marsh
#

@main temple Final warning, stop using caps

shy rose
#

also if you wanna pay the license for me to not have that warning feel free to send me the 400 a month

main temple
#

lest see your app

shy verge
#

quick question

main temple
#

lest see your app

shy rose
#

yes?

shy verge
shy rose
#

at start they asked how to make a bot then after that a huge chunk of shitpost got deleted

#

and here we are

glossy mason
#

Chewy, just wanted to say, your node editor bot builder is pretty cool.

shy verge
#

lemme guess, they're too lazy to learn a language and you gave him your dbm

topaz fjord
#

if your antivirus says its a virus your antivirus is probs bad zoomeyes

shy rose
#

boi

#

i cant afford the fooken license

topaz fjord
#

inb4 they use norton

shy verge
#

what liscense

quasi marsh
#

Lets just talk about creating bots here, move the banter to #memes-and-media thanks

topaz fjord
#

ok bb

shy verge
#

kk

shy rose
#

verfied publisher license

#

k

stray wasp
#

Are php files visable and downloable if someone tries to veiw it.

shy rose
#

if you dont have php enabled in apache then yes

stray wasp
#

In the browser

shy rose
#

if its enabled then will render the page (at server end)

quasi marsh
#

afaik PHP is rendered server side

stray wasp
#

Oh sweet I don't need to worry then hahha

#

Thank you.

lament flint
#

+++

#

!help

shy rose
lament flint
#

why did i i get so many dm

topaz fjord
#

because many bots have the prefix !

lament flint
#

from bots

night imp
#

there are a lot of bots

#

and you asked a lot for help

misty quest
#

I’m having some issues with the AvatarUpdateEvent

shy verge
#

how so

misty quest
#

So; I can get it to log the previous and new avatars (as well as their URLs) but I’m just not too sure how to get that sent to chat

shy verge
#

im not super experienced with JDA but I imagine it's embed builder has a addThumbnailUrl() and addImageUrl() method

#

plug the image urls into an embed or something

misty quest
#

Yeah, I know that. But the event had no method of getting a guild (that I’m aware of).

shy verge
#

or if it tickles your fancy, you can generate a new image with the old image urls

misty quest
#

Thonk indeed

shy verge
#

is there a broadstrokes MemberUpdatedEvent class you can use?

#

with just a before and after member object?

#

cause the guild would be a property of those member objects

misty quest
#

Uhh, I can have a quick look. Gimme a sec.

#

Ermagawd, you’re a god. Thanks.

shell blade
#

How can I get the ID of an animated emoji without Nitro?

shy rose
#

gotta use a bot

#

like a bot with a feature that lets you acess the emojis

shell blade
#

Alright.

shy rose
#

even formated ready for copy and paste

oak nova
#

Does anyone have any python examples for using the API for posting server count?

slender thistle
oak nova
#

wait there's a library now?

#

gimme

slender thistle
#

Yes? LUL

#

pip install dblpy or something.

oak nova
#

@slender thistle dbl.errors.Forbidden: Forbidden (status code: 403): {"error":"Forbidden"}

#

I'm guessing that has something to do with uh

#

tfw I forgot the name

slender thistle
#

Your token. Think

oak nova
#

token

#

yeah

slender thistle
oak nova
#

well, first I had to convert it from self to normal

#

because my bot is not coded for self

#

usage

#
    dblpy = dbl.Client(client, config['dbltoken'])
    try:
            await dblpy.post_server_count()
            logger.info('Posted server count ({})'.format(len(client.servers)))
        except Exception as e:
            logger.exception('Failed to post server count\n{}: {}'.format(type(e).__name__, e))```
#

(It's not actually spaced like this)

#

Apparently, someone else is having the same issue too

slender thistle
#

Are you using it in on_ready event?

gilded blaze
#

Just use a request library

#

It's easy

slender thistle
#

Posting the server count every 30 mins is a better idea rather than posting it everytime the bot is added to/removed from a server.

low rivet
#

yes, there are ratelimits

gilded blaze
#

It's like 60 per minute though. So pretty lenient.

oak nova
#

401 errors?

stray wasp
#

"The 401 Unauthorized error is an HTTP status code that means the page you were trying to access cannot be loaded until you first log in with a valid user ID and password. If you have just logged in and received the 401 Unauthorized error, it means that the credentials you entered were invalid for some reason."

oak nova
#

Typical.

stray wasp
#

so your api key is wrong.

oak nova
#

it's right though

stray wasp
#

check again.

oak nova
#

It was working before I downgraded aiohttp

#

Because the latest version of aiohttp breaks my bot into pieces, so I needed to downgrade it

shy verge
#

wait don't you downgrade yarl not aiohttp

oak nova
#

@shy verge aiohttp removes my code which mosts uses the simple .get() crap

#

erm, not removes

#

breaks

#

the latest one

#

wow

#

somehow my token changed

#

and I don't remember changing it

shy verge
#

change pass

oak nova
#

Unless I didn't realize

#

that I somehow pressed the change button

#

by mistake

#

@shy verge Nobody is getting through my 2FA.

shy verge
#

they could just be the luckiest fucks ever to live

oak nova
#

woah

#

okay, how do I disable the response messages

#

I don't want em spamming my terminal

#
        async with aiohttp.ClientSession() as aioclient:
            await aioclient.post(dblurl, data=dblpayload, headers=dblheaders)```
#

I tried adding aioclient.close() at the end

#

Anyone here know what I'm doing wrong?

#

and alot of these examples are for rewrite

#

Maybe this is what happens when I ask for support at timezones nobody is on

#

What's worse is that I can't find documentation for this specific version of asyncio!

#

It's seems like it's buried with the latest version that breaks my bot

sick cloud
#

My embed descriptions aren't updating.. 👀 (discord.js):

    if (command === 'poll') {
        const poll = new Discord.RichEmbed()
        .setColor('#4a5177')
        .setTitle((msg.member.nickname ? `${msg.member.nickname}` : `${msg.member.user.username}`) + ' has started a poll!')
        .setDescription(`\`What are better, carrots or pickles?\`\n\n:carrot: Carrots\n:cucumber: Pickles  `)
        .addBlankField()
        .addField('Ending in..', `12 minutes`, true)
        .addField('Multiple votes?', `No`, true)
        .setDescription('React with the matching emoji to vote!')
        msg.channel.send({ embed: poll });
    }
#

(everything else is working.. but the .setDescription isn't ;-;)

stray wasp
#

msg.channel.send(poll);??

#

idk other then that.

sick cloud
#

I see.. 👀

#

.setDescription('React with the matching emoji to vote!')

#

instead of .setFooter

#

🤦 stupid me

stray wasp
#

omg

#

🤦

sick cloud
#

._.

stray wasp
#

sweet haha

slender thistle
#

@oak nova Eh.

oak nova
#

@slender thistle ?

slender thistle
#

Edit this code.

oak nova
#

Yeah, my bot doesn't use self, or rewrite.

#

that's the problem

#

I think this is working now, so far

#
            if r.status == 200:
                pass```
#

calls it once every minute

slender thistle
#

Did you add asyncio.sleep(1800)? retardsmile

oak nova
#

asyncio.sleep(60)

#

but yeah

#

it's part of my minute loop

#

which also keeps track of the status

#

discord status, I meant.

slender thistle
#

aiohttp.post()? Is aiohttp equal to aiohttp.ClientSession() or what

oak nova
#

The problem I had with clientsession

#

was the "unclosed connection" crap

#

and the huge textwalls of what happened.

slender thistle
#

Try using async for posting as well.

oak nova
#

I'm starting to hate async

#

erm

#

not async

#

I meant aiohttp

slender thistle
#

Blame Python. bloblul

oak nova
#

The only language I am good at.

#

Took me 4 years to go from "shit" to "less shit"

#

great progress I made.

#

It looks like my line works now

#

not sure how "optimized" it is.

slender thistle
#
async with aiohttp.ClientSession() as session:
    async with session.post(dblurl, data=payload, headers=dblheaders) as r:
    # your stuff
await asyncio.sleep(60)
``` ![Think](https://cdn.discordapp.com/emojis/373010203345551360.webp?size=128 "Think")
#

Or wait. Think

oak nova
#

I don't really need a response

#

or

#

maybe I do

slender thistle
#

For status checking?

#

🤷

oak nova
#

Yeah, it'd be wise if I do, I don't want to spam the API with 403s

#

or god knows what

slender thistle
#

Then just remove the as r thing. :^)

oak nova
#

@slender thistle Do I need to close it everytime?

#

or does it close itself?

slender thistle
#

It should close itself. Think

oak nova
#

hm, thanks for the help

#

at 2 in the morning.

stray wasp
#

any idea what the max reason string length is?

#

for like member.kick("REASON")

#

or member.ban("REASON")

sick cloud
#

Dunno, that might be something for the Discord API server though, they'd know.

stray wasp
#

sweet alright I'll look there.

sick cloud
#

👍

ruby dust
stray wasp
#

Oh thank you

#

sweet

#

figured 2k character reason is quite big haha

ruby dust
stray wasp
earnest phoenix
#

You can give me the code to setrpresence my bot with the number of servers on which it is present in Js

#

Please

stray wasp
#

@earnest phoenix Not going to spoon-feed you. BUT I can give you documentation.

low rivet
#

um what have you tried?

earnest phoenix
#

?

stray wasp
earnest phoenix
#

Juste the code for setpresence my bot with the server where he present

stray wasp
#

Nath I'm not going to spoon-feed you man

#

client.user.setActivity('YouTube', { type: 'WATCHING' })

#

now look at this code. This is the example they give you in the docs.

earnest phoenix
#

Ok

stray wasp
#

Now think about it. how would you add the number servers he is in.

earnest phoenix
#

I don't understand the documentaion

stray wasp
#

little help here.

misty quest
#

Magic jazz hands

earnest phoenix
#

/coins

stray wasp
#

🤦 what are you doing.

misty quest
#

🤣

stray wasp
#

READ THE DOCUMENTION PLSSSSSS

#

Try and understand it logically

prime cliff
#

Noone can ever read docs GWqlabsFeelsLULMan

stray wasp
#

do you see "name"

halcyon abyss
#

It's a really well done doc

misty quest
#

@prime cliff or can they?

halcyon abyss
#

Perfectly readable

stray wasp
#

People just don't understand the mindset it takes a little bit

#

lol

misty quest
#

The JDA docs are literally my best friend at this point

stray wasp
#

Is he even here?

misty quest
#

Presumably, he’s reading the docs

stray wasp
#

Hopefully.

sick cloud
#

@earnest phoenix your client has a guilds properly, that has a size property. connect the dots :^)

misty quest
#

XD

#

I guess that’s not spoonfeeding? 🤣

stray wasp
#

lol

sick cloud
#

:3

earnest phoenix
#

helloo everyone..

so, do u know how to know server name by id server?

#

example :
<@ its for member
<# for channel

what command for server?

#

some answer it can't mention server in chat

#

any other way?

#

thankyou 😊

trim plinth
#

you can't mention a server

earnest phoenix
#

any other way to know server name by id?

trim plinth
#

nope

#

not really

native narwhal
#

Not necessarily by the id but depending on the library you are using you can get a server object by its id and then get the name from there

trim plinth
#

^

earnest phoenix
#

hhm.. ok, thankyou for u'r answer here..

buoyant oak
#

guys

#

how do I add the reaction

#

1⃣

#

because

#

it keeps telling me

#

Unknown emoji

#

when I do this

#

await self.bot.add_reaction(msg , ":one:")

#

where msg is the msg

ruby dust
#

is this async?

buoyant oak
#

asyncio

#

don't I have to await

#

cuz its async

#

so I'm guessing yes

#

@ruby dust

#

is there anything special that I have to specifically import

#

this is the error I get

#

msg = await self.bot.say(embed=embed) await self.bot.add_reaction(msg,":one:")

#

this is what I wrote

solid cliff
#

\1⃣

trim saddle
#

@buoyant oak your emoji has to be unicode

#

i.e \1⃣

#

oof.

buoyant oak
#

xD

solid cliff
#

When adding reactions, you can either send the unicode for standard emojis, or send name:id, not <:name:id> for custom emojis. think

trim saddle
#

and since the async branch is no longer being updated, you can't react animated emojis

hazy marten
#

got it

#

thanks

buoyant oak
#

guys

#

it gives me a funky looking embed

#

when I call upon it

#

and then if I switch servers

#

and come back

#

it looks normal

quasi hearth
#

weird

buoyant oak
#

Scratches head

quasi hearth
#

what is the code that sends the embed?

#

it looks like its being edited incorrectly?

buoyant oak
#
msg = await self.bot.say(embed=embed)
for i in ["1\u20e3","2\u20e3","3\u20e3"]:
         print (i)
          await self.bot.add_reaction(msg,i)
while True:
                reaction = await self.bot.wait_for_reaction(message=msg)
                emoji = reaction.reaction.emoji
                print (emoji)
                u = author
                if emoji == "1\u20e3":
                    embed2 = discord.Embed(title='{} Statistics:'.format(username),colour=discord.Colour.purple())
                    embed2.add_field(name="Overview", value= Overview)
                    msg = await self.bot.edit_message(msg, embed = embed2)
                elif emoji == "2\u20e3":
                    embed3 = discord.Embed(title='{} Statistics:'.format(username),colour=discord.Colour.purple())
                    embed3.add_field(name="Economy", value = Economy)
                    msg = await self.bot.edit_message(message = msg, embed = embed3)
                elif emoji == "3\u20e3":
                    embed4 = discord.Embed(title='{} Statistics:'.format(username),colour=discord.Colour.purple())
                    embed4.add_field(name="Resources", value = Partners)
                    msg = await self.bot.edit_message(message = msg, embed = embed4)
                else:
                    await self.bot.say('Wrong reaction')
#

oh

#

uhhhhhh

#

xD

#

how do I edit it correctly

#

also

#

when its edited

#

it has some words from the one before (if that makes sense)

quasi hearth
#

hmm

buoyant oak
#

like some words meant for the previous embed is still present

#

and it gives it the funky look

#

but once I switch and come bacj

#

its looks normal

quasi hearth
#

that might be a bug with discord? idk. Its never happened to me before.

buoyant oak
#

.-.

#

can I inv you to the server so I can show you what I mean

quasi hearth
#

sure

#

dm me

uncut slate
#

it's a client issue, yes

buoyant oak
#

ohh

#

okay

#

thought my code was retarded

#

probably is

earnest phoenix
#

can i delete channel with js?

quasi marsh
#

Yes

#

As long as you have permissions

grizzled isle
#

@earnest phoenix

// <Message> is what you defined in your message event
if (<Message>.guild.me.permissions.has("MANAGE_CHANNELS")) {
<Message>.guild.channels.get("ChannelID").delete();
}
inner jewel
#

missing a )

grizzled isle
#

Thank you.

earnest phoenix
#

hi

native narwhal
#

Did you mean to send that in general?

upper ember
#

Hmm I am trying to setup oAuth2 login with RocketChat

#

what should be the username field?

topaz fjord
#

wut is rocketchat

upper ember
#

hmmm

#

Any ideas?

spring ember
#

is it a js framework for website?

abstract mango
#

no?

earnest phoenix
#

can discord get data localstorage then show up to console log?

uncut slate
#

what?

wispy plank
#

@wispy schooner I used your GuideBot's event handler

        const evtFiles = await readdir("./events/");
        evtFiles.forEach(file => {
            const eventName = file.split(".")[0];
            const event = require(`../events/${file}`);
            this.on(eventName, event.bind(null, this));
            const mod = require.cache[require.resolve(`../events/${file}`)];
            delete require.cache[require.resolve(`../events/${file}`)];
            for (let i = 0; i < mod.parent.children.length; i++) {
                if (mod.parent.children[i] === mod) {
                    mod.parent.children.splice(i, 1);
                    break;
                }
            }
        });```
and I get this

TypeError [ERR_INVALID_CALLBACK]: Callback must be a function
at makeCallback (fs.js:167:11)
at fs.readdir (fs.js:878:14)
at RinClient.bind (C:\Users\Tish\Rin\client\index.js:118:32)
at process._tickCallback (internal/process/next_tick.js:68:7)
at Function.Module.runMain (internal/modules/cjs/loader.js:746:11)
at startup (internal/bootstrap/node.js:238:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)```
GWcfcThonk

trim plinth
#

oof

sick cloud
#

@wispy plank Ask in the idiots guide server? 👀

halcyon torrent
#

I'm having issue with Eris, can someone help me?

earnest phoenix
#

yes

halcyon torrent
#

I'm trying to connect my second bot, but this one doesnt seem to succeed in connecting to the API

earnest phoenix
#

wdym

halcyon torrent
#

also I tried the example and it didnt work

#

I mean I do bot.connect() then nothing

earnest phoenix
#

oh

#

show code

#

pls

halcyon torrent
#

not even the emition of ready

#

sure

#
const Eris=require('eris')
const fs=require('fs')

const config=require('./conf.json')

const bot=new Eris(config.token)
bot.connect().catch(e => {
  console.log(e)
  process.exit(1)
})
bot.config=config

bot.commands={}
fs.readdir('./commands',(err,files)=>{
  if(err){
    console.log(err)
    process.exit(1)
  }
  files.forEach(file =>{
    var cmd=require('./commands/'+file)
    cmd.names.forEach(name => bot.commands[name]=cmd)
  })
})

bot.on('messageCreate',(msg)=>{
  console.log('working')
})

bot.on('ready', ()=>{
  console.log('ready')
})
earnest phoenix
#

tbh i would think of doing bot.connect at the bottom

halcyon torrent
#

even abal's example doesnt work so it's not because of the connect :x

sick cloud
#

Doesn't ready have to go before any other events?

uncut slate
#

make sure your token is valid

halcyon torrent
#

it is

#

I checked like 3 times

uncut slate
#

yeah that works fine for me, so either your token is invalid or your connection is bad

topaz fjord
#

or that

uncut slate
#

how long are you giving it to connect

halcyon torrent
#

I have a second bot running and it doesnt seem to have high latency

#

idk

uncut slate
#

eris should eventually time out with the connection

#

add a .then(() => console.log('hi')) to the connect() call

#

and just let it run

compact haven
#

so

#

I'm trying to improve my bot's mdn command

#

by using cheerio and getting the code snippet

#
const $ = cheerio.load('<pre class="syntaxbox">constructor([arguments]) { ... }</pre>');
.addField($('pre.syntaxbox'))
#

if anyone knows how to use cheerio please help

halcyon torrent
#

okay so, the .then logs something, but it doesnt trigger the ready event

uncut slate
#

try hooking your events before bot.connect()

#

although that wouldn't explain why the message event is borked aswell

halcyon torrent
#

done

#

still nothing

uncut slate
#

shrugs

#

try running it on a VPS or on a different machine

#

or get someone to run it for you

halcyon torrent
#

okay, idk what happened but it works

#

I just reset the token

uncut slate
#

boi

halcyon torrent
#

tho the old one was valid

uncut slate
#

mmhm

halcyon torrent
#

I mean, still valid

uncut slate
#

you know old tokens are invalidated, right

#

if you make a new one

halcyon torrent
#

I know

#

okay, I meant, when I tried few minutes ago to connect with the old one, it was still valid xD

uncut slate
#

mhm

halcyon torrent
#

now that I reset, the new one works

#

that's weird

#

should it deserve a report?

uncut slate
#

dunno, smells like pebcak to me hah

#

if you want to, I guess

halcyon torrent
#

okay x)

floral stone
#

How would I set up rich pressence for electron made apps?

sick cloud
#

How do I stop this from happening every time I start my express server?

const express = require('express');
const router = express.Router();

router.use((req, res, next) => {
    let conf = require('../../server-config');
    
    if (conf.firstRun === true && req.originalUrl !== '/install') {
        res.redirect('/install');
        next();
    } else {
        if (req.session.auth) {
            res.locals.authorized = true;
            res.locals.user = req.session.user;
        } else {
            res.locals.authorized = false;
        }
        res.locals.name = `${conf.website.name}`;
        next();
    }
});



router.get('/', function (req, res) {
    res.render('index', { title: 'All posts.' });
});

router.get('/install', function (req, res) {
    res.render('install', { title: 'Install your blog.' });
});



module.exports = router;

Its trying to send / as well as /install, and while it works and goes to install, it errors ;-;

uncut slate
#

hmm, you might not want that next call after the redirect

topaz fjord
#

es6 pls

sick cloud
#

Hm, I need to use next(); though to get it to render install right?

uncut slate
#

Well, when you redirect to install it should call your listener for /install

#

I'm not entirely sure, test it

topaz fjord
#

you can make specific middleware

#

that is just a function, so you can place it where u want it

sick cloud
#

👀

#

I'll have a play around with it anyways, but thanks

topaz fjord
#

and i just place that where i need it

#

and if you were using it for yours it would be

#
router.get('/', <middle ware name>, (req, res) => { magic })
#

@sick cloud ^

sick cloud
#

Hmmmmm okay, totally doesn't make sense but okay 👌

topaz fjord
#

lmao

#

i would call it route specific middle ware

sick cloud
#

Wait, fixed it by replacing next(); with return;, but okay :3

topaz fjord
earnest phoenix
#

hello

topaz fjord
#

hi

earnest phoenix
#

anyone know code for create category like create channel..?
for channel : message.guild.createChannel

topaz fjord
#

discord.js?

earnest phoenix
#

yep

topaz fjord
sick cloud
#

set the type as category

earnest phoenix
#

thankyou.. i'll try

earnest phoenix
#

u hall know, ow to get roleid discord? 😕

sick cloud
#

\@Role Mention

#

there are other ways iirc but thats the most straightforward way

low rivet
#

doing an eval

sick cloud
#

Lil' css question here, but my footer is overlapping content and not being pushed down by the <form> above it. 👀

#

How do I fix that so it gets pushed down?

night imp
#

Padding

#

iirc

topaz fjord
#

or margin

#

afaik padding also shifts everything under it

sick cloud
#

Well I have this right now:

div.footer {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    padding: 24px 72px;
}
topaz fjord
#

but margin on shifts the thing you want shifted

#

you can do padding on fixed iirc

sick cloud
#

Well my issue is it always sticks, when I only want it to stick to the bottom when the page has no content to push it off view ;-;

topaz fjord
#

hmm

#

i usually use css framrworks so idk that much raw css

sick cloud
#

hmmmmmmm

topaz fjord
#

i could recommend some to you

#

like bootstrap, materialize, or bulma

#

there are many

quartz kindle
#

what you want is a "sticky footer", its not that simple, but there are many code samples for it

topaz fjord
#

im pretty sure dbl uses semantic

uncut slate
#

bulma + parts of semantic

topaz fjord
#

oh

#

semantic seems as complicated as bootstrap

sick cloud
#

¯_(ツ)_/¯

#

I don't like frameworks

quartz kindle
#

me neither

acoustic oracle
#

Hi. I created my 1st Discord App. Can someone help me or direct me to how I can add it to my server as a bot in an info channel? The channel is already made with default permissions and settings. I'm hoping it's pretty simple to just add the app/bot to the channel somehow ?

quartz kindle
#

your bot should have an invite link that you can use to add it to your server, like you add any other bot

acoustic oracle
#

the only thing i see on the page/form for the app settings is a redirect url. that's where i put the url which contains the content I want the bot to display in the channel. i'm hoping that's right?

quartz kindle
#

nope

acoustic oracle
#

i have an app client ID & secret. do i have to create a Bot User perhaps? (I skipped that since it said it was irreversible)

quartz kindle
night imp
#

Yes you have to make a bot account

#

The above video will go through setup

quartz kindle
#

and then you have to actually get or code a bot software

acoustic oracle
#

a youtube video showed me a few lines of code for php. i believe that will grab the info via a message function and feed it to the bot

#

the url grabs some info from a forum for which i am a member of. (team trade history & updates)

quartz kindle
#

so you want the bot to receive a command, fetch the url, and post the url contents, correct?

acoustic oracle
#

i'd prefer for the bot to automatically be checking for new info and post the new info. for example the very first time grab the last 200 entries, then every so often (I dunno, 30 seconds or 1 hour) post any new trades that have been made

#

but yes.

quartz kindle
#

well, this is what you need and how it works

  1. a software in which the bot will be running 24/7
  2. software "logs in" to discord using your secret code
  3. your code will create a loop where it connects to the url and looks up the content
  4. cache the content or an identifier to keep track of what's new and what isnt
  5. post the content if the cache or identifier doesnt match any past posts
acoustic oracle
#

I will be creating other bots after, but I thought I'd start with 1 and make sure it works first then i can just alter the url for the others

quartz kindle
#

so first of all you need something in which to keep the bot running 24/7, it can be a server, it can be your own computer, etc

acoustic oracle
#

so my 1st problem is....isn't the discord server/app or bot supposed to be where it is running 24/7 ?

quartz kindle
#

then you need to decide for an environment and a language to work with

acoustic oracle
#

or can i put it in GitHub ? (will that work?)

quartz kindle
#

bots are simply accounts, meaning you created a bot account

#

now you need something that uses that account to log in and do things

#

like people do

acoustic oracle
#

i'm not very knowledgeable about GitHub, if i create the code there...will that suffice?

quartz kindle
#

no, github is a place for you to store your code

#

it doesnt run software

acoustic oracle
#

is there any service that will let me run it for free? for like 4 months?

quartz kindle
#

yes, amazon has a free for 1 year plan i think, and google cloud also has a free plan

acoustic oracle
#

season runs 3-4 months depending if we make playoffs or not

quartz kindle
#

my bot runs in google cloud

acoustic oracle
#

similar to azure i presume?

quartz kindle
#

yes

#

in essence, you're going to get a VPS, a virtual server to which you can connect to using a command line connection such as SSH

#

and in that server you're going to install the software you need

#

now there are many ways to connect to discord, and many different languages to work with, so you need to chose your environment

#

for example, i use node.js and javascript, someone else might use python, or .NET, etc..

acoustic oracle
#

be back in 20 min. game time. hae to stop some puckds

ivory sorrel
#

heyyyyyy

sick cloud
#

@ivory sorrel Thonk unless you have a development question, use #general for that.

ivory sorrel
#

huhh

sick cloud
#

Stupid question but, is there a list of permissions like MANAGE_MESSAGES anywhere for discord.js?

quiet bobcat
#

There are on the docs

restive silo
#

Yea look in docs for Permission flags

quiet bobcat
#

One second

sick cloud
#

Cheers blobsmilehappy

quiet bobcat
#

No problem :)

earnest phoenix
#

like adding the image there

slender thistle
#

An image field in Embed object. Think

ornate kiln
hearty tulip
native narwhal
#

Easiest way would be to just hide a bunch of characters under it

spring ember
#

That's naughty

native narwhal
#

Well you can't really do much else can you 👀

spring ember
#

U can also put 300 letters with style: visible: false

ornate kiln
#

I just put images (long URLs)

hearty tulip
#

i just put that code over and over

#

¯_(ツ)_/¯

#

wait

#

no

#

bad idea

stiff stratus
#

😂

spring ember
#

Images with sha512 on their name GWskarzzLUL

topaz fjord
#

Just put

#

A bunch of div tags

stiff stratus
#

Why don't you put something that describe your bot...:? 😂

spring ember
#

U can't

#

div isn't included

stiff stratus
#

I know you have the frame, but... 😂

frail harbor
#

Why describe your bot, when you just put the Bots' website

hearty tulip
#

¯_(ツ)_/¯

native narwhal
#

Put something secret which leads to another secret which leads to another secret which leads to 20 other secrets

spring ember
#

In the 300 chars

topaz fjord
#

Lmao

hearty tulip
#

lmao

topaz fjord
#

Or just customize your bot pag with css

spring ember
#

Which leads to joakims discord

stiff stratus
#

Cause if your webpage fails, (for any reason), other people will know what your bot do... xD

topaz fjord
#

That's how I get my 300

frail harbor
#

I just added style="border:0px #ffffff none;" name="nerobot" scrolling="no" frameborder="0" marginheight="0px" marginwidth="0px" height="720px" width="1240px" allowfullscreen to the iframe tag

#

and it hit the 300 character mark

spring ember
#

Lmao

topaz fjord
#

Ok

frail harbor
#

But my websites' link is a tad long

hearty tulip
#

ok i am just gonan put the www part to my website

#

so it longer with 4 chars

frail harbor
#

If you really want, just whack ?thisisjustmeextendingthelengthofmyurlsoithitsthe300charactermarkrequiredforthissite to the end of your URL LUL

hearty tulip
#

lol

topaz fjord
#

Or a base64 string for embeding a image

frail harbor
#

An image that's a single pixel

hearty tulip
#

ez

frail harbor
#

LUL why you hiding the link

earnest phoenix
languid dragon
#

can you be a little more specific

#

what language are you using and what library

earnest phoenix
#

How do I add the big image using python

hearty tulip
#

ok wil lthis work?>

native narwhal
#

Have you tried looking at the documentation for the library?

stiff stratus
#

hahahahahahh

frail harbor
#

bajoPonder Looks fine

stiff stratus
#

Rush B with me 😂

hearty tulip
#

aye

#

worded

#

worked*

#

lmfao

frail harbor
#

nice site you tried to hide LUL

hearty tulip
#

how did u find the link

#

..

frail harbor
#

you edited the bot

#

read the html

#

easy

hearty tulip
#

cyka

#

lol

frail harbor
#

Thats why I asked why'd you hide the link

stiff stratus
#

😂

frail harbor
#

There's no point ablobsalute

hearty tulip
#

xd

frail harbor
#

Quick thing; please do something about the colour on the commands page

#

Gray blends in too much w/ the background

#

Also !clap has the wrong usage. !calp instead of !clap

#

hearty tulip
#

lol

#

#

i am makign new website

frail harbor
#

one last thing lul

#

Your invite URL only needs admin

#

hearty tulip
#

wut

frail harbor
#

admin already comes with the other permissions

topaz fjord
#

I don't trust people enough to send them my website

hearty tulip
#

LOL

topaz fjord
#

Because they always inspect element to see how I did it

frail harbor
#

"hey guys i made a new site"
"can I see?"
"nope"

topaz fjord
#

And then they probs steal it

hearty tulip
#

lol

topaz fjord
#

I only give to some people

hearty tulip
#

u can make so it blocks the right clicks

frail harbor
#

oh man

topaz fjord
#

Chrome had Ctrl shift i

frail harbor
#

i got your sites code

hearty tulip
#

oh

#

lol

frail harbor
hearty tulip
topaz fjord
#

Also there is view page source

hearty tulip
#

put license

#

ez

topaz fjord
#

No commercial use mmLol

hearty tulip
#

LMAO

topaz fjord
#

I want one that's no use at all

frail harbor
#

Ohh this is a nice site

#

Looks like a couple of templates I've seen, but it's clean

topaz fjord
#

Did u do bots on me name

hearty tulip
#

i can share my website beacuse no one wil lne ver waste their time trying to steal that 💩

#

lol

topaz fjord
#

@frail harbor it's bootstrap :(

#

No template

frail harbor
#

This sort of look has been done so many times it starts to look like a template

topaz fjord
#

If it was I would credit the template artist

hearty tulip
#

omg why it's white 😦

frail harbor
#

cause white is clean boi

topaz fjord
#

It's not

#

It's a darker version

frail harbor
topaz fjord
#

Just doesn't look like that

hearty tulip
#

👀 🔥

topaz fjord
#

I made it ex on the eyes

#

Ez

frail harbor
#

been focusing too much on the discord login integration then anything else LUL

hearty tulip
#

wat site is that @frail harbor

frail harbor
hearty tulip
#

and how tf do u make that loing

#

i raged 200 times trying to make login

frail harbor
#

not that hard

#

PHP's easy

hearty tulip
#

EW

#

php

#

ew

#

html

frail harbor
#

¯_(ツ)_/¯

hearty tulip
#

ftw

frail harbor
#

Good luck with that then ❤

hearty tulip
#

-.-

frail harbor
#

It's not easily possible to make a Discord login system w/ just HTML

#

I mean you can

#

but you'll also need to use jQuery, among other libraries

hearty tulip
#

i can add and js

frail harbor
#

And then your Client and Secret is exposed

hearty tulip
#

i use js

#

xd

frail harbor
#

Why not all three?

#

Nice and easy

hearty tulip
#

┬─┬ ノ( ゜-゜ノ)

frail harbor
hearty tulip
#

das chinese

#

or harder

#

let the better code win

frail harbor
#

T-That's just login code

#

It doesn't display anything

hearty tulip
#

¯_(ツ)_/¯

frail harbor
#

There ya go

hearty tulip
#

😮

#

wat editor

frail harbor
#

Atom

hearty tulip
#

¯_(ツ)_/¯

frail harbor
#

People hate it for some reason

#

¯_(ツ)_/¯

#

I love it

#

There ya go ❤

hearty tulip
#

i use vsc

#

xd

#

A hackable text editor

#

lol

halcyon torrent
#

anything related to vs is cancerous asf

hearty tulip
#

u say that one more time and u are dead

frail harbor
#

Anything related to VC isn't the best thing in the world.

hearty tulip
#

better

#

xd

frail harbor
#

It's the absolute worst thing.

hearty tulip
#

wati

frail harbor
#

Sorry - autocorrect.

hearty tulip
halcyon torrent
#

lmao

frail harbor
#

That was a close one

hearty tulip
frail harbor
#

I'm coded out. 🏃🏻 I need food

hearty tulip
#

no food challenge

#

ez

ruby dust
#

in discord.py, is there a way to change the bot's presence synchronized with the bot application going online? the on_connect event is not doing it fast enough

low rivet
#

@ruby dust rewrite or async?

ruby dust
#

rewrite

low rivet
#

in rewrite, you can pass activity as a kwarg into bot.run

ruby dust
#

woah woah, new teritory here

#

bot.run can do that?

low rivet
#

this is why u read changelogs thonkku

#

yep

ruby dust
#

as well as changing status?

low rivet
#

what do you mean?

ruby dust
#

discord.Status

low rivet
#

um... dont think so..

#

update your rewrite to the latest version

#
# Setting `Playing ` status
await bot.change_presence(activity=discord.Game(name="a game"))

# Setting `Streaming ` status
await bot.change_presence(activity=discord.Streaming(name="My Stream", url=my_twitch_url))

# Setting `Listening ` status
await bot.change_presence(activity=discord.Activity(type=discord.ActivityType.listening, name="a song"))

# Setting `Watching ` status
await bot.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name="a movie"))

ActivityType enum: https://github.com/Rapptz/discord.py/blob/rewrite/discord/enums.py#L216-L221
Activity class: https://github.com/Rapptz/discord.py/blob/rewrite/discord/activity.py#L80-L128

#

new stuff

ruby dust
#

well those I know

#

I was talking about online, idle, etc.

low rivet
#

oh lol not sure

solid cliff
#

status=discord.Status.dnd etc 👀 @ruby dust

ruby dust
#

that I know

tall falcon
#

So I have my bot running on two APIs, I'm having trouble letting my bot be able to reply to commands from I made in discordjs and others I made using the 2nd API

#

It only replies to commands made on the 2nd API but when I add a command for example I add a help command in my discord.js it doesn't read it :/

mental solstice
#

we will probably need to see some of the code

earnest phoenix
#

@mental solstice hey, could i ask you for some help?

mental solstice
#

yeah, dont be shy

#

usually best just to ask, anyone who can help will pitch in

earnest phoenix
#

i added a mute command to my bot, and it does not run. their is no error or anything.

#
        if(command === "mute") {
        if(!msg.member.roles.some(r=>["Assisting Coder", "Server Administrator", "Devs", "Head Administrator"].includes(r.name)) )
            return msg.reply("Sorry, you don't have permissions to use mute command! You need to be null or higher! [#446679015999406081](/guild/264445053596991498/channel/446679015999406081/)")
        }
         if (msg.mentions.users.size === 0) {
            return msg.reply("Please mentionned an user to mute/unmute")
    
          }
          if (!msg.guild.member(bot.user).hasPermission("BAN_MEMBERS")) {
         return message.reply("The bot need to have perm BAN_MEMBERS to do this")
          } 

        let mutedRole = msg.guild.roles.find('name', 'Muted')
        let member = msg.guild.member(msg.mentions.users.first())
        
        if(!member.roles.find('name','Muted')){
            member.addRole('438780003883155497').then(addRole => msg.channel.send(`The user ${params[0]} is now muted`)).catch(console.err)
            console.log(`The user "${msg.mentions.users.first().username}" has been muted from the server ${msg.guild.name}`)
        }else{
            member.removeRole('438780003883155497').then(removeRole => msg.channel.send(`The user ${params[0]} is now unmuted`)).catch(console.err)
            console.log(`The user "${msg.mentions.users.first().username}" has been unmuted from the server ${msg.guild.name}`)
        }     
    }```
tall falcon
#

@mental solstice and it comes down to that

#

What do you need to see? Because I have a lot

mental solstice
#

is there no prefix mike? or is that added in command variable?

earnest phoenix
#

the perfix is"/"

mental solstice
#

does your code know that?

tall falcon
#

That's very clean @earnest phoenix mine if I skid?

mental solstice
#

it says command === "mute"

earnest phoenix
#

let me try and add perfix with it

#

"/mute"

#

@tall falcon i dont mine

tall falcon
#

@earnest phoenix did you do npm update

#

Lots of people forget to do that after making changes

earnest phoenix
#

yeah

#

@mental solstice yeah, "command ===" is the perfix, "/"

mental solstice
#

are you using an ide by chance? im not very familiar with JS, and im not gonna look up all that stuff in docs 😃

earnest phoenix
#

discord.js

mental solstice
#

ide.. like VSCode? or are u just using a text editor

tall falcon
#

So if the person is an "Administrator" reply "Sorry, you don't have permission to use mute command!...."?

earnest phoenix
#

text editor

mental solstice
#

Erud he has the ! operator, which checks for a false bool

tall falcon
#

Oh okay I had a feeling I was looking at it wrong

earnest phoenix
#

@tall falcon no, when listing roles, and below it says "if'' means anything but the roles listed

mental solstice
#

nothing in that if (command === "mute") condition gets called?

#

and you have another working command if (command ===" othercmd") the code inside that works?

earnest phoenix
#

yes, but random user does not get role

mental solstice
#

oh

earnest phoenix
#

yeah (command === "clear")

mental solstice
#
if(!member.roles.find('name','Muted')){
            member.addRole('438780003883155497').then(addRole => msg.channel.send(`The user ${params[0]} is now muted`)).catch(console.err)
            console.log(`The user "${msg.mentions.users.first().username}" has been muted from the server ${msg.guild.name}`)
        }else{
#

so your issue is in that code block?

earnest phoenix
#

i believe so

mental solstice
#

whats console.err?

#

should that be console.log(err)?

earnest phoenix
#

let me re-try

mental solstice
#

that could be why youre not getting an error, atleast

halcyon torrent
#

console.err works

#

it's a function

earnest phoenix
#

nvm, a member of the team fix it

mental solstice
#

👍

halcyon torrent
#

^^

earnest phoenix
#

thank you, and have a great day

slender thistle
#
{'results': [{'defAvatar': '1cbd08c76f8af6dddce02c5138971129', 'invite': 'https://discordapp.com/oauth2/authorize?permissions=8&scope=bot&client_id=247056469894103041', 'website': 'http://tink-bot.weebly.com/', 'longdesc': 'Full description coming soon.', 'shortdesc': 'A multipurpose bot for Discord.', 'prefix': '+', 'lib': 'discord.js', 'clientid': '247056469894103041', 'avatar': '92c5a2eaf21f3bf08c77f42b707ac07a', 'id': '247056469894103041', 'discriminator': '1744', 'username': 'Tink', 'date': '2017-04-25T18:29:32.653Z', 'server_count': 67, 'guilds': [], 'shards': [], 'monthlyPoints': 0, 'points': 10, 'certifiedBot': False, 'owners': ['198466968725094400'], 'tags': [], 'legacy': True}]
``` is what `await dblpy.get_bots(limit=1)` returns. Could anyone help how I can get `invite` part from there?
unique solar
#

gonna need to parse it