#development

1 messages Β· Page 422 of 1

olive drum
#

Same

midnight widget
#

Im a normie

olive drum
#

Lol

earnest phoenix
#

pojdaspodjpasodjpa

real ginkgo
#

lol

earnest phoenix
#

Fk it i'm switching to js for now

lament meteor
#

xD

midnight widget
#

Ladineko uses py I think

real ginkgo
#

xd

earnest phoenix
#

wait you can add your bot here right?

real ginkgo
#

Yea.

lament meteor
native narwhal
#

Bascially, sharding splits the bot into different instances, each instance controlling a group of guilds (Up to 2500 per shard), I guess the connected would mean that that instance of the bot (shard) is running

real ginkgo
#

But you need to approve it.

earnest phoenix
#

oh

#

to who

olive drum
#

It needs to have commands and it needs to work

real ginkgo
#

I mean, it needs to be appove*

olive drum
#

And be online mostly.

real ginkgo
#

and a help command

olive drum
real ginkgo
#

and online all the time.

#

gtg

#

bye guys

earnest phoenix
#

oof

real ginkgo
#

thanks for the help

earnest phoenix
#

cya o/

olive drum
#

Bye.

lament meteor
#

tbh py and js has their differences and they are both good so dont say js is better than py or yea.....

midnight widget
#

I'm thinking of switching to DSharpPlus

#

heard it's good

lament meteor
#

pretty yea

#

check if it uses gateway v5 thou

midnight widget
#

Doesn't Partner Bot use dsharp?

lament meteor
#

idk

midnight widget
#

Yeah it does

lament meteor
#

it does

earnest phoenix
#

@earnest phoenix whats up with python?

earnest phoenix
#

uhh

#

sorry late reply

#

Currently i'm trying to make my bot run some music

stray cedar
#

Does anyone use Heroku for their bot deployments / other apps?

earnest phoenix
#

but everytime I run it there's a message in the log

#

Failed to load extension ()
()
Failed to load extension ()
()
Failed to load extension ()
()
Failed to load extension ()
()
Failed to load extension ()
()
Bot online

#

@earnest phoenix

#

Ok

#

You using cogs i assume?

#

Cogs?

#

Ye to load your modules/extensions

#
if __name__ == "__main__":
    for extension in startup_extensions:
        try:
            bot.load_extension(extension)
        except Exception as e:
            exc = '{}: {}'.format(type(e).__name__, e)
            print('Failed to load extension {}\n{}'.format(extension, exc))
#

pip install youtube_dl?

#

yeah I have that code atm

#

Ok

#
from discord.ext import commands
from discord.voice_client import VoiceClient


startup_extensions = ("Music")
bot = commands.Bot("")

@bot.event
async def on_ready():
    print("Bot online")

class Main_Commands():
        def __init__(self, bot):
         self.bot = bot

@bot.command(pass_context=True)
async def Minri(ctx):
    await bot.say("He doesn't know what he's doing")

@bot.command(pass_context=True)
async def Help(ctx):
    await bot.say("```Commands... I don't know huehue```**gonna switch to javascript for now huehueh cya later**")

if __name__ == "__main__":
    for extension in startup_extensions:
        try:
            bot.load_extension(extension)
        except Exception as e:
            exc = '(): ()'.format(type(e).__name__, e)
            print('Failed to load extension ()\n()'.format(extension, exc))```
#

Do you have a list of modules you wish to load?

ruby dust
#

failed code block

earnest phoenix
#

Where is your startup_extensions?

#

oh wait there

#

Music

#

ok

#

Do you have a file named Music.py in the same folder?

#

yes

#

The odd thing here is that you are loading 5 empty ones O_o

#

nani

#

what do you mean

#
Failed to load extension ()
()
Failed to load extension ()
()
Failed to load extension ()
()
Failed to load extension ()
()
Failed to load extension ()
()
Bot online
#

So I should delete something?

#

Is your code on a github or something?

#

Got it from YetiGuy!

#

Oh dear

#

Copy pasta

ruby dust
#

so you just dowloaded someone else's project?

earnest phoenix
#

Thats where most issues begin πŸ˜›

#

As you never know what its build as πŸ˜ƒ

#

he showed how to do it but didn't show how to do the music.py file

#

wait

#

So i'm kinad confused where to search

ruby dust
#

what bot is that event?

earnest phoenix
#

Ok, lets start with the documentation

#

oki oki

#

Try comparing your code with this

#

oki oki

#

I started with this code. (bot.py) and rebuilded it to my own later on once i understood it πŸ˜‰

#

ooo oki oki

#

thank you ^-^

#

Did you get it to work?

#

Just PM me if you have any more questions πŸ˜‰

earnest phoenix
#

ok so uhhhh

#

Yes

#

It worked

#

Sweet! OwO

native narwhal
#

@humble gyro Here's an example command for my thingy

public class CommandAddTwo extends CommandImpl {

    public CommandAddTwo() {
        super("add two");
        
        super.setDescription("Add two integer numbers together and get the result");
        super.setAliases("addtwo", "at");
    }
    
    public void onCommand(MessageReceivedEvent event, CommandEvent commandEvent, @Argument(description="number 1") int num1, @Argument(description="number 2") int num2) {
        event.getChannel().sendMessage((num1 + num2) + "").queue();
    }
}```
#

Don't want to spam general

humble gyro
#

good idea

#

oh cool

#

I'm building something experimental like this

#

which will be like

native narwhal
#

I might also add a feature so that they can hotswap commands (By recompiling and reloading classes)

humble gyro
#
[Command("add")]
public Task Add(EventContext context, int numA, int? numB = null) 
{
    context.Channel.Send(numA + numB ?? numA);
}
#

and then it'll just check if the arguments will automatically fit

native narwhal
#

Wish you could do that in Java

humble gyro
#

you probably can

native narwhal
#

I haven't seen anything about it in the 4 years I have been using Java xD

humble gyro
#

pretty sure it's possible tho

native narwhal
#

Doesn't seem like it

humble gyro
#

oh

#

you meant those

native narwhal
#

xD

humble gyro
#

that's weird

#

lmao

native narwhal
#

Which one did you think I meant?

humble gyro
#

you can do it like this

#
class Nullable<T> {
    bool isInitialized = false;
    T value;

    T Get() {
        if(isInitialized) return value;
    return null;            
    }

    void Set(T value) {
    this.value = value;
    isInitialized = true;
    }
}

... 

public void DoThing(int one, Nullable<int> two) {
    int return = one + (two.Get() != null) ? two.Get() : one;
}
#

@native narwhal

native narwhal
#

I am here πŸ˜‚

humble gyro
#

just making sure

#

it took a long time

native narwhal
#

I know I can and I have already implemented something like that (Another example)

public class CommandAvatar extends CommandImpl {

    public CommandAvatar() {
        super("avatar", ArgumentFactory.of(User.class).setDescription("user").setDefaultValue(event -> event.getAuthor()).build());
        
        super.setDescription("Get the avatar of a user");
    }
    
    public void onCommand(MessageReceivedEvent event, CommandEvent commandEvent, User user) {
        event.getChannel().sendMessage(new EmbedBuilder().setImage(user.getAvatarUrl()).build()).queue();
    }
}```
#

Default value can either be a lambda or a direct value

humble gyro
#

nice

#

looks nice

native narwhal
#

It just gets annoying with multiple arguments doing that πŸ˜‚

#

And yeah it does

#

Maybe you got some ideas from my examples >:P

humble gyro
#

hmm

#

not really tbh πŸ˜‚

#

i dont know much java

#

seems like this works quite well

native narwhal
#

I meant for the concept πŸ˜‚

humble gyro
#

you could make a global default maybe

native narwhal
#

πŸ€”

#

When would you need them πŸ€”

humble gyro
#

just as a generic default

native narwhal
#

I am just trying to think of when you would acutally need to have a global default

humble gyro
#

if you don't like nulls that is πŸ˜‚

worn sparrow
#

globals are b a d

native narwhal
#

There are argument checks so unless one of the argument's default value is null the argument won't ever be null

#

Made a pretty extensive argument verifier

#

Basically if an argument has a default value it is considered optional otherwise the user must give that argument when they trigger the command

humble gyro
#

@worn sparrow It's not a static

#

basically as in

#
ArgumentType.FromType(User).SetDefault(event -> event.author);
#

and make that apply this for all other factories on create

native narwhal
#

You can also add your own classes to the ArgumentFactory

#

Which is pretty neat

#

By default it supports all primitve data types, String, Enums and the Member, User, Role, Emote and TextChannel classes

halcyon abyss
#

Is there any way to actually catch this kind of thing (outside of catch_me btw) ? πŸ€”

function catch_me() {
  return  new Promise( () =>
    setTimeout( () => {
      throw new Error('Catch me Babe');
    }, 1000)
  );
}```
austere meadow
#

@halcyon abyss what are you doing

#

why is this a promise

halcyon abyss
#

bc there would be a resolve in the settimeout ^^

#

But I simplified his in my testings

austere meadow
#

what are you trying to achieve though GWchadMEGATHINK

native narwhal
austere meadow
#

very confused

halcyon abyss
#

Catch don't catch 😦

austere meadow
#

so when you do catch_me() you want to catch the error that it makes?

halcyon abyss
#

yup

austere meadow
#

.catch should work

halcyon abyss
#

Well it doesn't x:

austere meadow
#

provided you have reject() and resolve() set properly

halcyon abyss
#

It works if I throw the error outside of a settimeout

austere meadow
#

"The catch() method returns a Promise and deals with rejected cases only."

#

you need to make a rejection in that promise

#

and throw the error

halcyon abyss
#
function catch_me() {
  return  new Promise( () => {
    throw new Error('Catch me Babe');
    /*setTimeout( () => {
      throw new Error('Catch me Babe');
    }, 1000)*/
  });
}```
This would work
#

Ah

#

hu

#

but i can't

#

I just wanted to do some clean eval cmd for myself

#

So the function is kind of unknown

#

And I wanted to cover every possibilities

native narwhal
frail kestrel
#

lmaoo

#

try send error, if theres an actual error send an error

halcyon abyss
#

Well I knew I could do this, but I wanted to execute catch_me() without knowing its content, considering it may be wrong, lead to anything and still catch it

#

too bad, I'll probably leave it as is

earnest phoenix
#

you can make that an async promise

#

and use a sleep wrapper instead

#

of setTimeout

#

so you will execute it in the same context after 1s

halcyon abyss
#

yeah but that once again implies that I know the content of catch_me(). The idea was to not be able to change it's content

#

bc it's given as is

#

Yeah i like useless and mind fucking problems

#

πŸ˜€

halcyon torrent
#

doesn anyone know the structure of embed footers in Eris? (nodejs)

severe socket
#

it's the same strucutre for all embeds

halcyon torrent
#

didnt know, thank you ^^

earnest phoenix
#

Embeds are provided by Discord, not by the libraries

#

The libraries only make you able to interact with the embeds

halcyon torrent
#

I meant the attribut names, I didnt know it was the same for all, since each library implements discord stuffs in different ways

earnest phoenix
#

That might be different but it should be similar

#

Just read the library docs

halcyon torrent
#

I do, I learnt from reading the code xD but there is nothing about the footer ^^

earnest phoenix
#

In Eris?

#

Which library?

halcyon torrent
#

yey

earnest phoenix
#

Eris

#

I use Discord.js and I use RichEmbeds, it's usually .setFooter(string)

#

He needs for eris

#

Should be similar for RichEmbeds in Eris

#

They're both js libraries

halcyon torrent
#

there is no RichEmbed class x)

earnest phoenix
#

That sucks lol

#

RichEmbeds is really nice

halcyon torrent
#

maybe

#

I prefer Eris :x

earnest phoenix
#
.setTitle(myTitle)
.setImage(imageURL)
msg.channel.send(embed)```
#

I prefer eris for voice.

#

Something like that

#

That would send an embed with a title and an image

#

It's pretty easy to customize richembeds that's why I use them in djs

#
    if (msg.content === "!embed") { // If the message content is "!embed"
        bot.createMessage(msg.channel.id, {
            embed: {
                title: "I'm an embed!", // Title of the embed
                description: "Here is some more info, with **awesome** formatting.\nPretty *neat*, huh?"
                , author: { // Author property
                    name: msg.author.username
                    , icon_url: msg.author.avatarURL
                }
                , color: 0x008000, // Color, either in hex (show), or a base-10 integer
                fields: [ // Array of field objects
                    {
                        name: "Some extra info.", // Field title
                        value: "Some extra value.", // Field
                        inline: true // Whether you want multiple fields in same line
                    }
                    , {
                        name: "Some more extra info."
                        , value: "Another extra value."
                        , inline: true
                    }
                ]
                , footer: { // Footer text
                    text: "Created with Eris."
                }
            }
        });
    }

#

Here is an example ^

#

Yeah there's a way of doing that in djs

#

It looks ugly imo

#

So I prefer RichEmbeds

#

lol

halcyon torrent
#

thanks bolt ^^

earnest phoenix
#

No problem.

#

I like short code

halcyon torrent
#

process.exit(0) pepo

#

short

earnest phoenix
#

Lol

#

Shorter than that

severe socket
#

I don't like richembed class

earnest phoenix
#

Well. Class is organized

severe socket
#

yeah but not needed for richembed imo

#

can just create the embed like this theshrug

earnest phoenix
#

There are tons of method to create embed in d.js

severe socket
#

yeah

earnest phoenix
#

Without class too.

#

So ye.

#

If you like class use class, if not use other methods out there.

#

Hi, Tonkku

severe socket
#

well i know, obv you can theshrug
I just don't like it beeing in the lib built in function tbh but that doesn't really matter. And you can just create your own embed builder if you really like it's super simple

earnest phoenix
#

make your own richembed class for eris mmLol

#

^

#

i would try

#

but cba

#

it’s already easy for me with embeds

halcyon torrent
#

that's why I prefer Eris, I feel more comfortable customising stuffs with it

#

maybe that's a dumb reason

earnest phoenix
#

Have you tried Commando

#

I had

severe socket
#

Commando is full of useless thing

earnest phoenix
#

I tried it once

#

Discord.js is the most popular.

severe socket
#

just build up your own command handler

earnest phoenix
#

I never had uninstalled any npm module so quickly

#

discord.js has better docs

#

Easy to understand.

severe socket
#

that's true for the docs tho

earnest phoenix
#

Well. It is better in most of the things.

severe socket
#

eris docs are just the code comments lol

earnest phoenix
#

lol

severe socket
#

not better in lot of things. It's built to be user/noob friendly theshrug

earnest phoenix
#

Everyone has their own opinions.

severe socket
#

indeed

earnest phoenix
#

Btw I have a general question

#

Sure. Please go ahead and ask it πŸ˜‰

#

How do some bots create profile cards for each user

#

Ofc not.

#

They use canvas.

#

@earnest phoenix actually it creates for each user

#

Well I know it's not through a discord library

#

Package.

#

But are there any libraries for such

inner jewel
#

any image manipulation library can do that

earnest phoenix
#

I use canvas

#

Text variables and all that?

#

Works pretty good fore me.

#

Sure.

#

You can do that all.

#

Do you recommend any

#

Lib

#

Which lang?

#

Javascript

#

(Node)

#

Discord.js?

#

I meant image manipulation libs

#

I'm using djs

solid cliff
#

Canvas 😩

night imp
#

canvas is what I use

earnest phoenix
#

I said canvas.

#

Lol

#

Is that on npm

#

Oh

#

Yes.

#

Thanks

#

No problem.

#

I thought you meant smth like html canvas

#

xD

#

It's a thing lol

#

Don't blame me

#

Ik

#

no

#

just no

#

canvas-constructor

#

canvas is canvas-constructor

#

canvas-constructor is well well better

#

ask anybody

#

^

#

Ik

stray cedar
#

Anyone handy with git? Is there an npm package I can use to automatically tag pushes to master?

lament meteor
#

no....

#

you guys are wrong...

#

canvas is what canvas-constructor works on

using plain canvas is like sending embeds in a json format and using canvas-constructor is like d.js richembed builder

earnest phoenix
#

🀦

gusty topaz
#

Actually @lament meteor, its messageEmbed builder

lament meteor
#

@gusty topaz tru...

#

but Rph they think that canvas-constructor doesnt need canvas xD

earnest phoenix
#

I just read some of the canvas-constructor docs on npm and it seems like it requires canvas to work

#

I think canvas-constructor purpose is to make it easier to manipulate images

#

Using canvas as a source

lament meteor
#

@earnest phoenix it is like d.js messageEmbed builder

#

if u ever used it

earnest phoenix
#

Yeah

#

It reminds me

#

My question is do I still need to require Canvas in order to use canvas-constructor?

#

Or do I just need to install it

#

They don't mention it on the docs, at least I didn't see it

inner jewel
#

i doubt you need to

earnest phoenix
#

opsakdopsak

lament meteor
#

i dont think so cause York is smart

#

but i use raw canvas. no bulli pls i like spaget code

earnest phoenix
#

is there a way to message the person if he/she leaves a server?

#

@inner jewel btw nice taste on that pfp mmLol

#

Yes

lament meteor
#

check docs for addMember or something

earnest phoenix
#

@earnest phoenix

inner jewel
#

:^)

earnest phoenix
#

heyy lad :}

#

Check the on_member_leave() and on_member_remove() events

#

they both have member as parameter

#

Depends on library

#

You can use that to send a message to that person

#

On djs it's something like: client.on("guildMemberAdd", () => {

#

ohhhh

#

arigato

#

πŸ˜ƒ

#

Rip

#

Hap"py"

#

I'm a dude

lament meteor
#

lol

earnest phoenix
#

We don't judge...
Ive heard on the radio here in NL they want to make everyone 'Gender-neutral'

#

.>

inner jewel
#

trap

earnest phoenix
#

then lets just say i'm a girl with a weener

#

Is gender a function?

topaz fjord
#

Chance of x and y chromosomes to find your gender

inner jewel
#
gender() {
    const wantedToChange = this.wantsToChangeGender;
    this.wantsToChangeGender = false;
    return (this.gender ? (wantedToChange ? this.gender = randomGender() : this.gender) : this.gender = randomGender());
}```
earnest phoenix
#

nice

#

Gender == A very hard mathmatic calculation

#

Maffs

#

All of us were a female fetus

#

we got nip nips

#

both?

#

But yeah, try playing with on_member_join(member) πŸ˜ƒ

#

is there a way to alternate this code

import discord
import asyncio

client=discord.Client()

@client.event
async def on_ready():
    print('logged in as')
    print(client.user.name)
    print(client.user.id)
    print('-----')

newUserMessage = """ yea a message, ***Why U leave***
"""

@client.event
async def on_member_join(member):
    print("Recognised that a member called " + member.name + " joined")
    await client.send_message(member, newUserMessage)
    print("Sent message to " + member.name)

    role = discord.utils.get(member.server.roles, name="Loli Member")
    await client.add_roles(member, role)
    print("Added role '" + role.name + "' to " + member.name)

client.run('hehe private') 
#

rather than join message you get a leave message

#
@client.event
async def on_member_remove(member):
topaz fjord
#

^

earnest phoenix
#

oh so it wass removeeee

I changed it to leave*

#

goddamit

topaz fjord
#

There are pretty much events for almost everything

earnest phoenix
#

arigato

#

^^

#

again

#

Remove as in : gets kicked / banned / leaves

#

removed from guild

#

so i am getting a DiscordAPIError Missing Access error now out of no where what is it and how can i fix this.. discord.js lib

#

Make sure your bot has permissions.

#

permissions to what exactly?

#

it didnt happen until it was approved here

tardy hatch
#

Guys

#

Anyone know how to make bot to send message to owner?

#

For example

#

!report Bug

#

I use python

earnest phoenix
#

Sure.

#

so @earnest phoenix what permission would i need to do and would it have to be in my invite link?

#

sorry for the ping by the way

#

@tardy hatch owners are received trough the guild system.
ctx.message.guild.owner

tardy hatch
#

*i want to set to message bot owner, ffs

earnest phoenix
#

Try giving admin perimissions

#

As for now.

#

If it doesn't throw error again, means the bot wasn't having sufficient permissions

#

ahh i see thank you

tardy hatch
#
@bot.command(pass_context=True)
async def chat(ctx, *, message: str = None):
    
    await bot.send_message(message)
    await bot.say("__Message sent to BOT__\n{}".format(message))
    await bot.add_reaction(ctx.message, "βœ…")```
#

Here

#

At bot.send_message

#

How to set user to be owner id

earnest phoenix
#

user? i dont see user

#

user.guild.owner

#

I cant add the permissions here

slender thistle
#

Because you are not a moderator.

#

Missing Access is lack of permissions, and bots do not have any permissions on this server.

earnest phoenix
#

is there any way i can get it off this server so it stops crashing my bot

tardy hatch
#

@earnest phoenix i want to make that command

#

To message bot owner

#

To message me

floral stone
#

just properly handle it

slender thistle
#

I am not a js coder. Use an if check for this server.

floral stone
#

owner = bot.get_user(id)

inner jewel
#

or properly fix your code so it doesn't error

earnest phoenix
#

I am not getting what you are trying to achieve here..
You want to message the guild owner?
or message it to you?

floral stone
#

bot.send_message(owner, "hi")

slender thistle
#

Is getting an application owner a thing in D.py async?

floral stone
#

@tardy hatch

slender thistle
#

@earnest phoenix Them.

floral stone
#

You want the bot owner?

tardy hatch
#

Okay

#

Wait

#

owner = bot.get_user(MyId)

#

Is okay?

floral stone
#

yes

#

I think that's it

#

@slender thistle just got on, what do you want

slender thistle
#

Me? I want to help this poor guy but I think I will only confuse everyone here. LUL

floral stone
#

He wants to basically message the bot owner

slender thistle
#

Brb Imma find that thing in my code to get a bot owner (an application owner).

floral stone
#

it's not trouble to just use the get_user function

slender thistle
#

I guess it's easier to fetch an application owner, but whatever. 02Shrug

floral stone
#

I would personally like to see that code

tardy hatch
#

@floral stone

#

Ignoring exception in command chat
File "/usr/local/lib/python3.5/dist-packages/discord/ext/commands/core.py", line 50, in wrapped
ret = yield from coro(*args, **kwargs)
File "bot.py", line 182, in chat
owner = bot.get_user(254198214415220738)
File "/usr/local/lib/python3.5/dist-packages/discord/client.py", line 296, in getattr
raise AttributeError(msg.format(self.class, name))
AttributeError: '<class 'discord.ext.commands.bot.Bot'>' object has no attribute 'get_user'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/discord/ext/commands/bot.py", line 846, in process_commands
yield from command.invoke(ctx)
File "/usr/local/lib/python3.5/dist-packages/discord/ext/commands/core.py", line 374, in invoke
yield from injected(*ctx.args, **ctx.kwargs)
File "/usr/local/lib/python3.5/dist-packages/discord/ext/commands/core.py", line 54, in wrapped
raise CommandInvokeError(e) from e
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: '<class 'discord.ext.commands.bot.Bot'>' object has no attribute 'get_user'

#

owner = bot.get_user(254198214415220738)

#

I have this

#

Ffs

#

I want to message bot owner (me)

slender thistle
#

owner = await bot.get_user_info('254198214415220738')

topaz fjord
#

honestly dude

#

learn python

floral stone
#

^

slender thistle
#

You were told to learn Python around 2-3 times before.

floral stone
#

^

low rivet
#

ew

slender thistle
#

S t o p b e i n g i g n o r a n t.

low rivet
slender thistle
#

3.5 all the way. mmLol

vital lark
#

3.6 is best

low rivet
#

if ur a beginner start with latest stable imo

slender thistle
#

3.5 is unroundable. Thinkmas

low rivet
#

f'not really'

slender thistle
#

Just kidding. 3.6 gud.

floral stone
#

Sololearn explains everything with activities and such

#

I recommend it

#

It helped me

ruby dust
#

I personally learned python in sololearn, 100% would recommend to others

floral stone
#

@tardy hatch

slender thistle
#

It didn't help me.
I never used it!
mmLol

low rivet
#

inb4 mute

ruby dust
#

yes

slender thistle
#

Better not get caught on spam. PETAHYPERLUL

floral stone
#

The docs look like a horrible guide for newbies

#

Sololearn is more interactive

ruby dust
#

that's why you recommend them docs for the language instead

low rivet
#

sololearn does not teach everything

tardy hatch
#

@floral stone i solved..

floral stone
#

But it teaches you the basics

slender thistle
#

Practice is the best teacher.

tardy hatch
#

I know a part of python

ruby dust
#

@tardy hatch please, can you at least learn the basics of python? if you are gonna write a bot, you have to at least know what you are doing yourself other than just copy example codes and hope for the best

verbal night
#

^

#

This applies to everything outside of bots as well

#

if you're not going to learn the language so you don't have to ask a million questions about incredibly basic things, don't fucking bother

topaz fjord
#

inb4 he comes back tommorow asking a question and ignoring what we said

slender thistle
#

I can see that coming.

earnest phoenix
#

Copy pasting code from github zoomeyes

#

Copy pasting code from github without knowing what it does zoomeyes zoomeyes zoomeyes

shy verge
slender thistle
unique solar
#

@shy verge Thanks for reccomendation of using newtonsoft, its great

shy verge
#

:D

raw wharf
#

@uncut slate fix the problem xd [sorry ping]

uncut slate
#

what's your bot's ID

raw wharf
#

413909677252935680

#

ty

uncut slate
#

use a different channel next time

earnest phoenix
#

I need help

#

for python

#

if anyone is online

#
async def ban(ctx, userName: discord.User):
    admin = has_role("Loli King")
    await bot.ban(userName)```
abstract mango
#

lmao it tagged bo

#

hmm

#

error?

earnest phoenix
#

discord.ext.commands.errors.CommandInvokeError: Command raised an exception: NameError: name 'has_role' is not defined

abstract mango
#

that's what i thought

#

has_role isn't defined, that's all

slim heart
#

Anyone have any easy code that I can steal where if a user joins the support discord it'll give them a role if they own any servers the bot is in?

abstract mango
#

you're looking for something like userName.has_role

spring ember
#

no spoon feeding

earnest phoenix
#

wdym isn't defined

#

I should @ it ?

slim heart
#

Sorry daddy donkku

abstract mango
#

no

slim heart
#

I'll go back to my hole then

abstract mango
#

what i'm meaning is

#

that has_role does not exist at all

earnest phoenix
#

oh wait

#

so that has_role is the one I should replace?

spring ember
#

just use a simple @slim heart onGuildMemberJoin

abstract mango
#

yeah

earnest phoenix
#

Ohhhhhhhhh

slim heart
#

ikik but like stiiiilll

earnest phoenix
#

arigato

#

thank you

spring ember
#

lol it's fast

abstract mango
#

np

#

lemme get you docs

earnest phoenix
#

actaully jk nvm I still don't get it

#

it didn't work :{

slender thistle
#

Check for a role name in [r.name for r in ctx.message.author.roles].

#

Use if.

worthy storm
#

Why do people use this for getting help with d.py

#

Why not be normal and yaknow, go to the support discord

slender thistle
#

Because why not. mmLol

slim heart
#

w

#

erm for some reason when i forEach my guildlist, it returns that it cant read guild.owner.id but it can read guild.owner but when i array guild.owner it does have the id property...

#
            if(!member.guild.id == "399688888739692552") return;
            var guildList = bot.guilds.array();
            console.log("checking")
            guildList.forEach(guild => {
                    console.log(guild.owner.id)
                    if(member.id == guild.owner.id) {
                        console.log("oof")
                    }
                
            })
});```
#

nvrm

#

Its because of servers like this with no guild owner lmaoo

native narwhal
#

This server does have an owner it's just that some libraries, especially discord.js, seem to have problems with it

earnest phoenix
#

@slim heart use .ownerID and fetchMember if you want anything more than the id

slim heart
#

I've already figured it all out, thanks tho :)

earnest phoenix
#

aight

slim heart
#

Alright and then any ideas on where to start with when the bot leaves a guild it'll check if the owner is in a specific server

earnest phoenix
#

you can get the specific server from bot.guilds

#

and search members

slim heart
#

like a way to array the members of a specific guild?

#

var memberlist = server.members.array();

#

is that?

earnest phoenix
#

yes but why do that

#

members its a collection

#

you can do

#

members.has(id)

slim heart
#

How would i actually use that though?

#

Cuz im basing in a specific server from a specific person

#

?

hushed oyster
#

@slim heart why is there a server var and a guild var

slim heart
#

the server im seeing the person is in is server

#

so im seeing if a person is in my support discord when the bot leaves their server

hushed oyster
#

ah

#

i see

slim heart
#
        const guildowner = bot.users.get(guild.owner.id)
        if(!guildowner) return;
        const supportserver = bot.guilds.get("399688888739692552")
        if(supportserver.members.has(guildowner.id)) {
//stuff
        }
})```
#

would that be?

#

it works

#

okay and then how would i create a member object? ive never done this kinda thing so i got no clue

#

no its not

#

idk

unique solar
#

or set a var of type member?

#

what you have there should work.

slim heart
#
        const guildowner = bot.users.get(guild.owner.id)
        if(!guildowner) return;
        const supportserver = bot.guilds.get("399688888739692552")
        if(supportserver.members.has(guildowner.id)) {
            let guildownermember = supportserver.fetchMember(guildowner.id)
            console.log(guildownermember)
            let role = supportserver.roles.find("name", "Server Owner");
            guildownermember.removeRole(role);
        }
})```
#

what is wrong here...

#

it says removeRole isnt a function

unique solar
#

is this python?

slim heart
#

js

unique solar
#

ok

#

can you post a screen shot of the actual error message?

spring ember
#

umm what happens if I do Collection.find() and it has nothing that has the certain filter?

unique solar
#

itll probaly return null but I dont know the context. Why dont you test it out

slim heart
unique solar
#

that means that that whatever object type "guildmemberowner" is, it doesnt have the function "removeRole"

slim heart
#

its a member tho

uncut slate
#

it returns a promise

unique solar
#

I ditched discord.js a while ago and havent used it since. Look in the documentation and see what type fetchMember returns.

#

or fetchmember is returning null

#

from what I understand supportserver.fetchMember(guildowner.id).then(//Put code here) should work

uncut slate
#

async/await is neat

unique solar
#

it is

uncut slate
#

so you'd make your function async and just change it to

let guildownermember = await supportserver.fetchMember(guildowner.id)
slim heart
#

or just supportserver.member

#

:>

#

instead of fetchMember

violet wyvern
#

dunno what to do

worn sparrow
#

Hm

#

@violet wyvern

#

Well. What does the error tell you?

violet wyvern
#

dunno

worn sparrow
#

Client network socket disconnected before secure TLS connection was established

violet wyvern
#

never got that error before

worn sparrow
#

and this is in php?

violet wyvern
#

before that, everything was ok

#

no it isn't

worn sparrow
#

What lang?

#

oh js

violet wyvern
#

js

earnest phoenix
#

do u have uws installed?

topaz fjord
#

so

worn sparrow
#

better syntax highlighting

topaz fjord
#

why are you taking message from a ready event

worn sparrow
#

...

#

what lib is this?

earnest phoenix
#

d.js

worn sparrow
#

theres like 3 js libs for discord

violet wyvern
#

discord.js

topaz fjord
#

d.js

worn sparrow
#

mk ill look at their docs

topaz fjord
#

ready doesnt emit anything

violet wyvern
#

I know

worn sparrow
#

you cant get anything from ready.

topaz fjord
#

then why do it

earnest phoenix
#

that's not his error anyway

#

do you have uws installed?

worn sparrow
#

ye but

violet wyvern
#

just to occupy space

worn sparrow
#

its still gonna error regardless

topaz fjord
#

^

earnest phoenix
#

you can do () =>

topaz fjord
#

^

violet wyvern
#

o

earnest phoenix
#

to occupy space

violet wyvern
#

k

#

I know

worn sparrow
#
const Discord = require('discord.js');
const client = new Discord.Client();

client.on('ready')=> {
    console.log('Ready!');
});

client.login('token');```
#

I don't know much of discord.js

earnest phoenix
worn sparrow
#

but i know with discord api

#

you cant get message from ready

#

for example in lua its lua client:on('ready', function() --blahblah end)

#

not too different.

topaz fjord
#

thats besides the point

#

answer what Ntanis said

worn sparrow
#

I'll look at his error again.

earnest phoenix
#

so ak do you have uws installed

violet wyvern
#

yes

earnest phoenix
#

are you running on windows or linux

violet wyvern
#

windows

worn sparrow
#

npm install uws

#

^^^

violet wyvern
#

I installed it

worn sparrow
#

then answer us when we ask

violet wyvern
#

ok

earnest phoenix
#

is this your first attempt / has d.js worked before?

worn sparrow
#

....

violet wyvern
#

d.js worked before

worn sparrow
#

(node:6712) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

#

will terminate the Node.js process with a non-zero exit code. h m m m m m

topaz fjord
#

thats doesnt mean much

#

he just didnt catch the error

worn sparrow
#

still worth looking into

earnest phoenix
#

well you're being disconnected before handshake

#

running any firewall or any paranoid antivirus?

violet wyvern
#

hmmm

#

no

worn sparrow
#

this is where i take my leave, #notmylib

topaz fjord
#

or like anything new

#

because you said d.js worked before

earnest phoenix
#

can you client.on("disconnect", console.log)

violet wyvern
#

ok

earnest phoenix
#

see if that brings something up

#

but you should also handle the promise so it doesn't crash the process

#

client.login("token").catch(console.error)

violet wyvern
#

ok

topaz fjord
#

i would add this for good measures

#
process.on('unhandledRejection', error => console.error(`unhandledRejection:\n${error.stack}`));
process.on('uncaughtException', (error) => {
  console.error(`uncaughtException:\n${error.stack}`);
  process.exit(); // better to exit here.
});
process.on('error', error => console.error(`Error:\n${error.stack}`));
process.on('warn', error => console.error(`Warning:\n${error.stack}`));
earnest phoenix
#

yea its good to handle everything, but its ok with his 10 lines file for now xD

topaz fjord
#

lmao yeah

slim heart
#

Is it possible to create like a message and then keep being able to edit it like forever, ik u can with ids and stuff but like would the message ever like "expire" and not be able to be edited anymore?

earnest phoenix
#

I don't think there's a limit for editing messages?

#

As long as you have the perms to edit it

spring ember
#

There is a ratelimit

#

Actually no

#

Infinite editing is against the ToS

inner jewel
#

could be considered api spam

earnest phoenix
#

plus why?

ruby dust
#

iirc there's a chance that if the message is far in channel's history then bot won't be even able to find it to edit it

elder rapids
#

Why would there not be a ratelimit on message editing...

#

I'm sure it has one Thonk

ruby dust
#

there is a ratelimit

#

remember the times when I was editing messages fast with a selfbot on an old account

earnest phoenix
#

he is just asking if you can edit it forever in time

#

not spam edit it

#

^

elder rapids
#

Oh in that case you can edit any message from any time

#

As long as the bot can get a message id to edit it's possible

#

I don't think Discord limits the time period of edits

earnest phoenix
#

I think the same

#

with d.js you'd probably just need to fetch the message by ID because after a point it won't be loaded into cache if the chat scrolls down to cache limit

tepid laurel
#

Yeah fetch it always just to be sure

#

πŸ€·πŸΌβ€β™‚οΈ

#

If you dont have an id but know some specific details the message should contain, attempt to fetchMessages() and then filter the collection to your requirements

slim heart
#

ya

#

Like I want to have one message and then when the bot goes offline it edits it and when it comes back on it edits it again

brisk ginkgo
#

Can anyone help me make my bot auto give new members a role. I am using discord.js

earnest phoenix
#
member.addRole(role);
});```
#

Something like that

brisk ginkgo
#

Thx

earnest phoenix
#

Np

brisk ginkgo
#

How do is start my bot again?

earnest phoenix
#

What do you mean?

brisk ginkgo
#

How do I bring him online

earnest phoenix
#

Are you using Node.js?

brisk ginkgo
#

Ua

#

Ya

earnest phoenix
#

Navigate to your project folder in a terminal

#

And type in node .

ruby dust
#

one small question, if you don't mind, how old are you?

brisk ginkgo
#

15

ruby dust
#

alright, thanks

brisk ginkgo
#

Y

topaz fjord
#

lmfao

ruby dust
#

don't worry, it's nothing

earnest phoenix
topaz fjord
#

we were seeing if your qualified for the under 13 channel

brisk ginkgo
#

How do I make make my bot stay online with out my code thing open?

earnest phoenix
#

You can't

topaz fjord
#

use a process manager

earnest phoenix
#

On a local setup

brisk ginkgo
#

Can u help me @topaz fjord

earnest phoenix
#

By the way can you show your code

topaz fjord
#

npm i -g pm2
pm2 start <your bot file>

brisk ginkgo
#

And where do I put that in to @topaz fjord

topaz fjord
#

in your console

earnest phoenix
#

Where is the client login

topaz fjord
#

@earnest phoenix no token 4 u

earnest phoenix
#

Oh lol

#

I meant just the function

#

Not the actual token

brisk ginkgo
#

Ya that is hidden away so people know see it

earnest phoenix
#

So you had it there at least?

brisk ginkgo
#

It’s there cuz my bot is online now

earnest phoenix
#

Because you need it

#

Since you're using the vscode terminal no need to open up another cmd

brisk ginkgo
#

?

earnest phoenix
#

If you want to run npm

#

You can just type in the commands in the terminal window

brisk ginkgo
#

But how do I keep him online 247

topaz fjord
#

buy a vps

earnest phoenix
#

Keep your pc online

#

24/7

#

Lol

brisk ginkgo
#

What is a vps?

earnest phoenix
#

Or host your bot on a server

topaz fjord
#

Virtual Private Server

earnest phoenix
#

You gotta pay for it

#

Fyi

topaz fjord
#

^

#

Free hosts are shit

brisk ginkgo
#

How much?

topaz fjord
#

check pinned messages

earnest phoenix
#

Depends

brisk ginkgo
#

On

earnest phoenix
#

Most hosting companies offer different plans for different needs

topaz fjord
#

check pins for this channel

#

york has a list

earnest phoenix
#

If your bot is small then you don't need an expensive hosting plan

topaz fjord
earnest phoenix
#

trying to come up with new bot ideas zoomeyes

#

is h a r d

topaz fjord
#

@earnest phoenix u

brisk ginkgo
#

Can I get a working link to the Amizon one

earnest phoenix
#

@topaz fjord no u

topaz fjord
#

that is a working link

earnest phoenix
#

Also not all free hosts are shit

topaz fjord
#

heorku and glitch

earnest phoenix
#

Most are pretty bad tho

topaz fjord
#

= shit for discord bots

earnest phoenix
#

Glitch is okay

topaz fjord
#

they can be good for other things

#

but not discord bots

earnest phoenix
#

Why not

topaz fjord
#

afaik they're not made for it

earnest phoenix
#

You can use glitch for many different things

#

Heroku on the other hand

#

Is gaaaayy

#

Even so i use localhost for my bots so whatever lol

topaz fjord
#

lmao

earnest phoenix
#

Well you can't host database servers on glitch

#

Not sure about heroku (free tier)

elder rapids
#

You can't persist data in Heroku

#

free tier ofc

restive silo
#

iirc Heroku offers databases to use

earnest phoenix
#

Does the free tier include mysql or mongo dbs

brisk ginkgo
#

What is local host?

earnest phoenix
#

Probably not

#

So idc

#

I don't use postgres or redis

restive silo
#

it includes mongo iirc

#

and postgres

topaz fjord
#

@restive silo help me get rid of dupes

#

now

restive silo
topaz fjord
#

or bad mod

earnest phoenix
#

Localhost is a server thing that runs on your pc

brisk ginkgo
#

Is there a way to keep my bot up with out my cv open?

knotty steeple
#

localhost is your pc

topaz fjord
#

cv open

#

tf

earnest phoenix
#

Yeah basically

#

He meant pc

topaz fjord
#

no

earnest phoenix
#

I think

topaz fjord
#

without buying a vps you cant host without your pc open

brisk ginkgo
#

No I ment my code editor

earnest phoenix
#

Depends

#

If you're running node from vscode

#

Then yes

topaz fjord
#

you dont need your code editor open, if your running in the code editors console you do

earnest phoenix
#

You can start up a cmd

#

And run node there

#

Then close the editor

knotty steeple
#

vscode is great

brisk ginkgo
#

Oh

earnest phoenix
#

@knotty steeple true

knotty steeple
#

but trying to use it for running your bot with the debug feature is bloblul

earnest phoenix
#

Lol debug a bot with vscode

#

I guess I need to install the python compiler

#

In order to debug JavaScript

elder rapids
#

wat

earnest phoenix
#

It's a joke

#

or is it?

vestal cradle
elder rapids
#

last message

#

creepy

vestal cradle
#

xDDD

elder rapids
#

at least add their profile picture

#

Embed Author works

vestal cradle
#

oh ya you're right

earnest phoenix
#

Hey,
I recently moved to a new Ubuntu VPS and I still haven't found out what issue I have with snekfetch. Every command I use snekfetch in it returns undefined and fails to work. I have no idea why snekfetch decided to this now but the same code works on my Windows hosted bot

vestal cradle
#

Thanks @elder rapids for the suggestion

mental trellis
#

I need some help with my bot. I'm using discord.py and I'm trying to make a command to edit the color of a role. I have: newvalue = discord.Color(value) which is the color typed in. for roles in ctx.message.server.roles: if roles.name.lower() in name.lower(): this searches the server roles to find a match. And: await bot.edit_role(server=ctx.message.server, role=roles, oolour=newvalue) this should edit the role but it doesn't change anything and returns no errors. Is there something I'm missing?

#

ok, I just saw the typo in the word color in the third code block and I fixed that, but now I get a bad request error

earnest phoenix
#

will a bot post a shard count to its page on discordbots.org if it only has one shard present?

topaz fjord
#

you can choose whether you want to send shard count or not

#

@earnest phoenix

#

you dont necessarily need to

#

all it does is show how many shards you have on the paage

loud bear
#

My not keeps timing out on waiting for chunks :(

#

Bot

earnest phoenix
#

o ok

vestal cradle
#

Can i have a little help... discord.js here

trim plinth
#

ok

#

what do you need help with

vestal cradle
#

so if you do user.presence.game.name of course it shows the name ofthe game a user is playing but if user isn't playing any game it crashed

#

how do i check a condition that a user is or is not playing a game

#

technically to prevent the crash

earnest phoenix
#

else

trim plinth
#
user.presence.game.name || "nothing to see here"
vestal cradle
#

thank you imma check that out

trim plinth
#

ok

loud bear
#

Finally @lone nymph did a full proper boot without timeouts that only took like 30 reboots

mental trellis
#

can someone help me out too? with the edit roles in discord.py

vestal cradle
#

amm @trim plinth it still crashes with

TypeError: Cannot read property 'name' of null```
trim plinth
#

hm

mental trellis
#

I don't know js but couldn't you do some type of try/catch or try/except?

trim plinth
#

nah

#

catching the error with try/catch doesn't help in this situation

#

@vestal cradle try ternary operators

vestal cradle
#

ya.... i 've been trying to fixthe same thing for straight 10 minutes and it's bugging me so bad XD

trim plinth
#

I think that's how you spell it πŸ‘€

#
user.presence.game.name ? user.presence.game.name : "owo whats this"
earnest phoenix
#

guys join my game in league

loud bear
#

OwO

earnest phoenix
loud bear
#

No

vestal cradle
#

still cannot read property 'name' of null OMG my brain is hurting XD

trim plinth
#

show your code

loud bear
#

Coding is a pain

vestal cradle
#

sometimes

trim plinth
#

it might be something else causing the error

vestal cradle
#

wait 2 sec

#

am just gonna put in first state @trim plinth before i started asking here so you get rough idea of this

trim plinth
#

ok

vestal cradle
#

there @trim plinth

#

it works perfectly fine if a uer is playing the game but if someone is playing nothing then it fudges up

#

and by "msg" is just "message.content.toLocaleLowerCase"

trim plinth
#

why locale lowercase

vestal cradle
#

Just so nothing interupts with lower or upper case

#

like you can either type k!stats or K!sTatS and still work

knotty steeple
#
theMessager.presence.game.name ? theMessager.presence.game.name : "not playing anything oof"
#

something like that

trim plinth
#

@knotty steeple oof

uncut slate
#

theMessager.presence.game ? theMessager.presence.game.name : 'blah'

vestal cradle
#

ahm nope same error

#

ahhhhhh...

earnest phoenix
#

Guys I have this document in Mongo:
{doc: [{obj: value}]} and I need to know which query to use to check if a field with the name "obj" exists in "doc"

trim plinth
#

then GWqlabsRIP

uncut slate
#

@vestal cradle that last one wouldn't throw cannot read property 'name' of undefined

vestal cradle
#

it does tho

knotty steeple
#

yes use @uncut slate's stuff

trim plinth
knotty steeple
#

js master

uncut slate
#

then you're probably not saving your code

knotty steeple
#

save and restart

vestal cradle
#

ahm ahm i did save it xD

uncut slate
#

show me how you used it

knotty steeple
#

did you restart zoomeyes

trim plinth
#

inb4 hasn't been saving this whole time

vestal cradle
#

yes

earnest phoenix
#

Rip

uncut slate
#

@trim plinth your guys' snippet was wrong

trim plinth
#

yeah

knotty steeple
#

yes

trim plinth
#

you would first check if the game at all existed, not just the name GWnanamiRemThink

knotty steeple
vestal cradle
#

oaky no thanks @uncut slate

#

it worked

uncut slate
#

πŸ‘Œ

trim plinth
#

πŸ‘

#

there you go

vestal cradle
#

❀

mental trellis
#

now that that's settled, is anyone able to help me? I've been stuck on this for a while

shy verge
mental trellis
#

I need some help with my bot. I'm using discord.py and I'm trying to make a command to edit the color of a role. I have: newvalue = discord.Color(value) which is the color typed in. for roles in ctx.message.server.roles: if roles.name.lower() in name.lower(): this searches the server roles to find a match. And: await bot.edit_role(server=ctx.message.server, role=roles, color=newvalue) this should edit the role but it doesn't change anything and returns httpexception 400 . Is there something I'm missing?

#

this is what I posted earlier

buoyant estuary
#

@mental trellis i have a code which creates a new role ...

#
        try{
            role = await message.guild.createRole({
                name: "Silenciado",
                color: "#FF0000",
                permissions: []
            });
#

try changing this createRole code to modify ..

mental trellis
#

my bot is in python. I'm not really sure how I would switch that from js

#

and I have a command that creates roles, which works. but it starts having problems when I add color

latent gull
#

have any 1 setprefix code?

buoyant estuary
#

ooh, sorry ;-;

latent gull
#

πŸ‘

buoyant estuary
#

i do not know how it works in python

mental trellis
#

thanks anyway

buoyant estuary
mental trellis
#

I did. the edit_role docs says to do bot.edit_role(server, role, fields) and that's what I have

#

await bot.edit_role(server=ctx.message.server, role=roles, color=newvalue)

buoyant estuary
#

talvez

#

bot.edit_role(server, role, fields)

#

bot.edit_role("name", "role name here", {
color: "#FF0000"
});

vestal cradle
#

@uncut slate is there a way to get "member" or more exactly .then(member => { }); without banning or kicking?

uncut slate
#

for a snippet like that you want to try to avoid .then

#

just resolve the promise with await

#

if you're not fetching at all you can msg.channel.guild.member(id)

buoyant estuary
#

:/

vestal cradle
#

but i mean like if you type "member.whatever" if you don't define a function member it says "member undifined"

#

at least that's been the pain of entire bot always when i had to declare member

earnest phoenix
#
0|main     | Error: 403 This host is not accessible.
0|main     |     at _response.transport.request.then (/root/node_modules/snekfetch/src/index.js:182:21)
0|main     |     at <anonymous>
0|main     |     at process._tickDomainCallback (internal/process/next_tick.js:228:7)

SyntaxError: Unexpected token u in JSON at position 0
    at JSON.parse (<anonymous>)
    at Botinfo.run (/root/forbidden-bot/commands/Information/botinfo.js:144:30)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)

I've spent about 9 hours trying to figure out why snekfetch won't work. I moved to a new Ubuntu Server and snekfetch decided to not work. The Error above came from discordbots.org. I've tried several different urls and they all return undefined. Strawpoll, and Fortnite TRN are other apis that all return undefined.

The same code works on my Windows hosted computer. I'm running on node 8.11.2 and Snekfetch version 5.6.0. Has anyone else had this sort of problem?

uncut slate
#

try using something like curl to see if it's snekfetch or your machine

earnest phoenix
#

I did, it's snekfetch

uncut slate
#

what about superagent/https/another node.js request library

earnest phoenix
#

I will definitely try

#

Which one would you recommend to try first

uncut slate
#

superagent I guess, it doesn't really matter that much

#

superagent is the very very similar to snekfetch syntactically, you'll probably be able to just change require('snekfetch') to require('superagent')

earnest phoenix
#

Looking at it, the only thing I'd have to do is remove .then and .catch and replace it with .end

uncut slate
#

you don't need to use .end()

#

you can just await your calls / use .then.catch

earnest phoenix
#

πŸ‘

#

Yea, ok don't need to change anything. I'll be back soon to let you know if it works

#

@uncut slate Yep that worked thanks!

uncut slate
#

nw

#

you can keep using superagent if you want

earnest phoenix
#

I probably will

uncut slate
#

but if you want to use SF badly (less dependencies but also more prone to borking as you've found out), you can try downgrading your snekfetch version

earnest phoenix
#

Ok

strange citrus
earnest phoenix
#

Can someone help with a way to collect and input each users ids into a database from servers that my bot is on?

#

Discord.js

#

eh

austere meadow
#

would anyone happen to know what the exact ratelimit value is for editing messages

native narwhal
#

It might be included in the message sending rate

#

@austere meadow ^

austere meadow
#

i know but i was hoping to find a value or something, like 1/250ms for reactions or 5/5s for messages

#

y’know

native narwhal