#development

1 messages · Page 668 of 1

maiden mauve
#

@sonic peak it turned out beautiful

sonic peak
#

yay!!

#

Good to see :3

maiden mauve
#

I got to use a goofy deconstructor for fun too

sonic peak
#

ghghhgfth that works too

maiden mauve
#

oh im sure it could be written different

#

lmao

earnest phoenix
#

Oh I've got some code for people doing lots of pings too, if someone pings more than 3 roles they get sent to detention

#

Like sometimes you get a troll that's pining every role constantly over and over, I figured a way to punish them for too many pings

#

then I just added tooManyPings into the spam if chain

#

However if you mention the same role 4x or the same member 4x it won't work, still fixing that though

hollow saddle
#

Because it's only mapped once I believe

earnest phoenix
#

Right

maiden mauve
#

hmm

hollow saddle
#

You can shorten that to message.mentions.roles.size and so on instead of using arrays

maiden mauve
#

that also looks like a solution to repeating last message

earnest phoenix
#

I've got a crazy spam filter, I have a stack of each user who is not a trusted member's last 3 messages

worthy loom
#

hello

earnest phoenix
hollow saddle
#

Like

const members = message.mentions.members.size;
const roles = message.mentions.roles.size;

if (members >= 4 || roles >= 3) {
  blah blah blah
}
earnest phoenix
#

So it records the time and the message, if any of the previous 3 messages are identical or the time from the first to the last is less than spam_time_thresh presently set to 7 seconds, it's considered spam and all messages are deleted

#

@hollow saddle I like that alot actually

#

I might borrow that idea

hollow saddle
#

It makes code a lot more readable and condensed

#

And it might solve your problem of the same role being pinged multiple times and being ignored

sonic peak
#

oh man I think my bot is actually DMing the owner of this server saying it doesn't have permissions.. like that's by design but Imma put a way to turn it off vfdbhv

spare goblet
#

@sonic peak yeah you better, or you'll have a very angry admin kicking your bot xD

sonic peak
#

yeah fair I'll do it uh in a bit, I'm technically in the hospital rn

earnest phoenix
#

Wut

sonic peak
#

I'm kinda in the hospital because I like, ruptured a spinal disc

#

and my bot was approved while I was being treated bvhfdbhvf

golden mountain
#

Hey iara, how do you check the bots so fast?

#

Like what is your method

valid frigate
#

speed

amber fractal
#

It's a lot easier to decline than to accept

real helm
#

Hello

#

@zealous veldt Bro

zealous veldt
#

ye

real helm
#

Bro, could you help me with html?

#

I see that you are Wbesite Moderator

zealous veldt
#

HTML is not fortay

#

I'd wait for someone else to help you

#

I'm not very good at html

#

sorry

real helm
#

okay 😦

short siren
#

@real helm What are you stuck on I know basic html

real helm
#

I need 2 thing xd

#

Encypt my html code

#

I have a basic encrypt but is very easy to decrypt

#

and I need a button to copy text

#

If I do the button I don't need crypt my code

stone dust
#

do you mean like

#

input validation

short siren
#

Like passwords? Or...

real helm
#

xD

short siren
#

I'm kinda confused lol, so you want to encrypt your login system?

real helm
#

No

#

I explain you

stone dust
#

you want to encrypt the whole page?

real helm
#

I have a script

#

that it generate X thing

#

In a list

#

If you go to the font code do you see all the items that the bots generate

#

Or

#

If i do a copy button, I don't need encrypt

#

Like copy text

stone dust
#

encrypt like

#

uh

#

whats the font code

real helm
#

go to any web site

#

and press ctrl + u

stone dust
#

oh like the html itself

#

so you want it to copy to the clipboard?

real helm
#

Better yes

#

With a button

#

But idk xD

sonic peak
#

use JavaScript

#

window.addEventListener("click", () => { // do stuff });

real helm
#

stuff?

sonic peak
#

like, use the DOM methods to copy the text to clipboard

real helm
#

copyToClipBoard?

stone dust
#

document.execCommand("copy") on the active element i guess

real helm
#

@stone dust I go to do it

sonic peak
#

you need to select it first

real helm
#

Yes

sonic peak
#

selectAllChildren() on the element

real helm
#

The cody to copy is a result from a script

sonic peak
#

what

stone dust
#

you could modify the value of a desired form element

#

and then copy from that in this case

#

there's probably a cleaner way to do that

sonic peak
#

just Google JS DOM methods

stone dust
quartz kindle
#

you cant hide something on clientside, if you absolutely need people to not be able to extract something from your source code, you need to never send it in the first place, ie: keep it in the server

earnest phoenix
#

guys why is there a limit for editing a message it does not make any sense

#

it is considered as a post

#

how am i supposed to go around this problem

slender thistle
#

You can't bypass ratelimits

#

It does make sense for editing messages to be ratelimited too

earnest phoenix
#

so what if i want to update a message every second

#

what am i supposed to do

slender thistle
#

Don't?

earnest phoenix
#

lol this is so frustrating

slender thistle
#

Update it every 2 seconds or don't at all, depending on the purpose of the edits

earnest phoenix
#

it is a timer

#

Wait what

#

You can't edit a msg every second?

#

no it is a post action

#

same as sending a mesage

#

the api does not care

slender thistle
#

The default ratelimit for that is 5/5s Shrug

earnest phoenix
#

so you can update one message every second

#

5/5s

#

Speaking of which does any of you know how many servers does your bot need to be in to ask Discord for a decrease in rate limits

#

Just wondering

slender thistle
#

Technically you can but it's not suggested, Static

earnest phoenix
#

well i do not want my bot getting deleted

#

lol

#

allright ill work around that problem

#

@earnest phoenix hi buddy

#

@earnest phoenix well mine has 2300

#

but im not sure 🤔

#

I read somewhere that you could ask them to increase the amount of actions you could do

#

But your bot needed to be in a lot of servers

#

you can't really ask

#

they'll get in touch with you when you cross 100k guilds for sharding reasons and they'll increase the amount of IDENTIFY you can send in a day

#

huge bots like rythm have their ratelimits adjusted

quartz kindle
#

yeah, you're looking at a absolute minimum of 100k guilds for discord to even read your request

#

let alone do something

#

probably

earnest phoenix
#

Alright thx yall

fast wagon
#

so you can ask discord to adjust your bots ratelimit?

#

yay

earnest phoenix
#

Can you find out what guilds your bot is in?

#

why couldn't you

#

I mean how cool would it be to get your bot right now to use a for loop and create a few thousand invites to all the guilds that bot is in and then go check them all out, meet new people?

slender thistle
#

Not cool at all

earnest phoenix
#

that is probably against the tos

slender thistle
#

It is

#

Privacy invasion, comrade Thinkmas

earnest phoenix
#

So they're allowed to use your bot, but you're not allowed to know their guild that's using your bot?

#

that's not what you said

#

Don't see an issue if it's a one time invite just to see your bot on that server for "development inspection"

#

that's the discord equivalent of "i come from planetminecraft, give me op so i can review the server"

quartz kindle
#

developer inspection should be done by analyzing your bot's logs, accessing guild information, etc

#

not by going in there uninvited

#

still, you can easily see whats going on in a server without needing to go there

earnest phoenix
#

But your bot was invited onto their server and you're that bot's creator

quartz kindle
#

and your bot is public

#

you give them permission to add it

#

if you want to collect information of any kind, you require the user's consent, same as with websites that use cookies, etc

earnest phoenix
#

gdpr compliant yayy

#

So you're telling me my spam filter that MUST collect the last 3 messages a user sent to determine if it is spam or not is actually unwarranted information collection?

quartz kindle
#

no, because you're not storing them

#

not long term storage for data analysis at least

earnest phoenix
#

No the last three messages a user sent are being stored on file, but anything older than 3 messages is over-written

quartz kindle
#

plus when they add it, they agree to that

#

but they didnt agree to let you come in anytime

#

unless you write it in your bot description or something

#

"by using this bot you agree to let the bot owner join your server at any time for development inspection"

#

lmao

winged thorn
#

cause everyone would totally agree to that

earnest phoenix
#

They probably would actually because they would want their server numbers to grow

quartz kindle
#

lol true

winged thorn
#

I wouldn't want some rando joining my servers

quartz kindle
#

depends on the servers i guess

earnest phoenix
#

well if it's a small invite only server with your close friends probably not

#

yeah exactlyt

#

you're allowed to store information about messages, because when they're being sent, they're sent out to everyone who has permissions to read the messages in the channel and they're aware of that, however you're not allowed to farm information about users without their consent because they aren't aware it is happening, by GDPR you're also required to delete the data if your bot is no longer in the guild

quartz kindle
#

there are people who would do anything to get more members of any kind for some reason

earnest phoenix
#

likely advertising marketing

quartz kindle
#

but anyway why do you want to join their servers? just to talk to them?

earnest phoenix
#

Yeah just look through an equivalent of a yellow pages of discord servers and go war dialing

quartz kindle
#

lmao

earnest phoenix
#

err hi I randomly joined this discord server

#

What's this server about?

languid dragon
quartz kindle
#

LOL

earnest phoenix
#

i-

#

I mean it could go either way, either people say yeah this bot's really cool it helps you get more members and you get more people using your bot
or
it could go badly wrong and people go murrr who are these randoms joining my discord.

#

About 2 years ago there was this discord bot phone and you could ring up random discords and ask for an invite

#

then you got there and it was like 20 bots, 3 users and a dead server.

winged thorn
#

You mean yggdrasil

short siren
#

Ygg was sick

#

Deathbattle command

earnest phoenix
#

Problem is once your bot gets a lot of subs, you get scared to go out of your comfort zone in case your entire reputation implodes. Me I've got a bot on 2 servers and I'm just toying with ideas right now.

quartz kindle
#

Yeah once your bot gets going, better to stick to guidelines

real helm
#

Hello

#

Who are a HTML master?

#

🤔

quartz kindle
#

im a web developer

real helm
#

Do you help me? @quartz kindle

quartz kindle
#

with what?

real helm
#

I need to do a copy button

earnest phoenix
#

Does it only have to copy the string in one box?

real helm
#

I think yes

#

First i need select and after copy

quartz kindle
#

select from where?

copper cradle
#

@real helm what tim said

trail dagger
#

What do i change this to so it shows shards? async def updateservers(): while True: async with aiohttp.ClientSession() as s: data = { 'server_count': len(bot.guilds) } await s.post( 'https://discordbots.org/api/bots/605712924635430912/stats', json=data, headers={ 'Authorization': dbl_token }) await asyncio.sleep(1800)

quartz kindle
#

if you set server_count as an array, it works as shards

#

if you're posting individually from each shard, then set a shard id

real helm
#
       
       <script>document.write("Stock accounts:" + cuentas.length + "");</script>
            
#

How I put it in the right?

earnest phoenix
#

wat

quartz kindle
#

@real helm i dont understand what you are trying to do

pallid zinc
#

Can we add vote command in bot

#

Or it's only for webhook

earnest phoenix
#

what would the command do

quartz kindle
#

you mean for a person to vote through the bot?

#

if so then no

pallid zinc
#

It will tell if someone upvote our bot

quartz kindle
#

then yes

pallid zinc
#

We can or not

quartz kindle
#

show if voted -> yes
vote -> no

pallid zinc
#

Ok

#

Thanks

earnest phoenix
#

$eval client.ping

#

Whoops

#

Wrong server

grim aspen
earnest phoenix
#

Jeez way to go man he had already apologized and everything

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

spare goblet
#
``` ?
sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

bitter sundial
#

relative path vs absolute path

spare goblet
#

../../folder/whatever.png

sage bobcat
#

One message removed from a suspended account.

bitter sundial
#

D:\UnderCord\Images\beab5bda41d2d6c74d806725320dd06d.png absolute
Images\beab5bda41d2d6c74d806725320dd06d.png relative to D:\UnderCord

sage bobcat
#

One message removed from a suspended account.

spare goblet
#

@sage bobcat ^^

stray garnet
#

module.exports.run = async (bot, message, args) => {
  
  if(args[0] === "lol") {
    const embed = new Discord.RichEmbed()
    .setAuthor("test")
    .addField("test", "test")
    message.channel.send(embed)
}
  
  const embed = new Discord.RichEmbed()
  .setAuthor("test")
  .addField("some other test", "test")
  message.channel.send(embed)
  
}
  module.exports.help = {
    name: "test",
    aliases: []
  }```

when i type `n.test lol` it sends both embeds
inner jewel
#

because you always send the second

#

and only send the first if the first argument is lol

stray garnet
#

oh thx

bold wigeon
#

someone did python music bot? im trying and its just not working

peak quail
#
const { RichEmbed } = require("discord.js");
const botconfig =require("../../config.json")
module.exports = {
    config: {
        name: "hack",
        Description: "banne einen User von dem Server ",
        category: "Moderation",
        accessableby: "Moderation",
        aliases: [""]
        
    },
    run: async (bot, message, args) => {
      if(!message.member.hasPermission("MANAGE_MESSAGES")) return message.channel.send("Du hast keine rechte diesen command auszuführen")
      if(!message.author.id == botconfig.OwnerID) return message.channel.send("an diesen command wird momentan fertig gestellt!")
    
        if(!args[0]) return message.channel.send(`Bitte gebe eine UserID an!`)
        let bannedMember = await bot.fetchUser(args[0])
        .catch(() => {
         return message.channel.send("Das ist keine UserID !")
      });
        if(!bannedMember) return message.channel.send("Bitte gebe eine Richtige UserID an!")

       

        
      //  message.channel.send("SAS")
      let nopermE = new RichEmbed()
      .setTitle("Nicht genügend Rechte")
      .setDescription("Bitte gebe dem Bot Die rechte: \`KICK_MEMBERS\` damit dieser command funktioniert")
      .setFooter("Tip: am besten du gibst mir Adminstrator")
      .setColor("RED")
      .setTimestamp();
      if (!message.guild.me.hasPermission("KICK_MEMBERS")) return message.channel.send(nopermE)

      try{
        message.guild.ban(bannedMember, `MOD: ${message.author.tag}`)
       
      }catch(e){
          message.channel.send("Etwas ist schief gelaufen...")
      console.error(e)
       return;
      }if(error)
      message.channel.send(`${bannedMember} wurde gebannt`)
     
        ```when i m doing a return in the catch
 the messge `message.channel.send(`${bannedMember} wurde gebannt`)` 
get executed how can i fix that
#

🤔

earnest phoenix
#

What

#

Remove the return

#

And put a else statement

#

} else {

} ```
#

idk if its what are you trying to do

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

earnest phoenix
#

Yea?

#

Not sure what this error meaning, but i think it's when the bot can't have acces to the db in the correct time

sage bobcat
#

One message removed from a suspended account.

earnest phoenix
#

add a await

sage bobcat
#

One message removed from a suspended account.

earnest phoenix
#

let Goldtoadd = await goldtoadd?

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

bitter sundial
earnest phoenix
#

Oh yeah

bitter sundial
#

Goldtoadd = Math.ceil(Math.random() * 50)
did you intend that to be lowercase goldtoadd

sage bobcat
#

One message removed from a suspended account.

spare goblet
#

let Goldtoadd;

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

bitter sundial
#

you're currently assigning a value to Goldtoadd, then initializing it as a let later, causing an error

spare goblet
#

let Goldtoadd;

//code here
Goldtoadd = Math.ceil(Math.random() * 50)

#

also you didnt define goldtoadd

sage bobcat
#

One message removed from a suspended account.

spare goblet
#

don't redefine Goldtoadd

peak quail
#
  if(!message.member.hasPermission("MANAGE_MESSAGES")) return message.channel.send("Du hast keine rechte diesen command auszuführen")
      if(!message.author.id == botconfig.OwnerID) return message.channel.send("an diesen command wird momentan fertig gestellt!")
    
        if(!args[0]) return message.channel.send(`Bitte gebe eine UserID an!`)
        let bannedMember = await bot.fetchUser(args[0])
        .catch(() => {
         return message.channel.send("Das ist keine UserID !")
      });
        if(!bannedMember) return message.channel.send("Bitte gebe eine Richtige UserID an!")
      let nopermE = new RichEmbed()
      .setTitle("Nicht genügend Rechte")
      .setDescription("Bitte gebe dem Bot Die rechte: \`KICK_MEMBERS\` damit dieser command funktioniert")
      .setFooter("Tip: am besten du gibst mir Adminstrator")
      .setColor("RED")
      .setTimestamp();
      if (!message.guild.me.hasPermission("KICK_MEMBERS")) return message.channel.send(nopermE)
      try{
        message.guild.ban(bannedMember, `MOD: ${message.author.tag}`)
      } catch(e){
        message.channel.send("Hmm etwas ist schief gelaufen")
      }else {
        message.channel.send(`${bannedMember} wurde gebannt`)  
      } 
    }}

@earnest phoenix that dosen´t work D:

spare goblet
#

what you can do:
let a = 0;

a = 1;

what you can't do:
a = 1;
let a = 0;

earnest phoenix
#

@peak quail what do you want exactly

spare goblet
#

did you define goldtoadd

#

goldtoadd was never defined

#

👀

peak quail
#

i want that the bot sends a message when there is no err
@earnest phoenix

earnest phoenix
#
      if(!message.author.id == botconfig.OwnerID) return message.channel.send("an diesen command wird momentan fertig gestellt!")
    
        if(!args[0]) return message.channel.send(`Bitte gebe eine UserID an!`)
        let bannedMember = await bot.fetchUser(args[0])
        .catch(() => {
         return message.channel.send("Das ist keine UserID !")
      });
        if(!bannedMember) return message.channel.send("Bitte gebe eine Richtige UserID an!")
      let nopermE = new RichEmbed()
      .setTitle("Nicht genügend Rechte")
      .setDescription("Bitte gebe dem Bot Die rechte: \`KICK_MEMBERS\` damit dieser command funktioniert")
      .setFooter("Tip: am besten du gibst mir Adminstrator")
      .setColor("RED")
      .setTimestamp();
      if (!message.guild.me.hasPermission("KICK_MEMBERS")) return message.channel.send(nopermE)
      try{
        message.guild.ban(bannedMember, `MOD: ${message.author.tag}`)
      } catch(e){
        message.channel.send("Hmm etwas ist schief gelaufen")
      }

        message.channel.send(`${bannedMember} wurde gebannt`)  
      }}```
#

Try without else

sage bobcat
#

One message removed from a suspended account.

earnest phoenix
#

gold.gold

inner jewel
#

the issue is ban being async

earnest phoenix
#

Gold not defined

sage bobcat
#

One message removed from a suspended account.

inner jewel
#

that try will never go into the catch block

#

(unless there's no guild)

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

peak quail
#

it should only sent one message

#

(the first)

earnest phoenix
#

So delete it?

peak quail
#

the last

#

yes

#

but it should not sent it

quartz kindle
#

@sage bobcat js const variable = something; // cannot be edited; let variable = something; // can be edited

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

quartz kindle
#

you set it as a const?

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

quartz kindle
#

where did you set it?

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

quartz kindle
#

did you set it maybe somewhere else in the code?

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

quartz kindle
earnest phoenix
#

pong

sage bobcat
#

One message removed from a suspended account.

earnest phoenix
#

you cant change a const

sage bobcat
#

One message removed from a suspended account.

earnest phoenix
#

You can change a let but not a const

quartz kindle
#

it didnt say it was goldtoadd

#

read the error lul

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

bitter sundial
sage bobcat
#

One message removed from a suspended account.

bitter sundial
#

I think you want to do if (gold) instead

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

bitter sundial
#

well it depends on what you're actually trying to do

#

bc rn nothing is making sense

sage bobcat
#

One message removed from a suspended account.

bitter sundial
#

soo

#

what you're actually wanting to do is newGold.save()?

#

`

topaz fjord
#

if gold is null

#

and your create newGold

#

why are you still using gold

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

topaz fjord
#

you cant run gold.save() when gold is null

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

topaz fjord
#

any error

#

in console

sage bobcat
#

One message removed from a suspended account.

bitter sundial
sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

bitter sundial
#

"

#

`

topaz fjord
#

You have to wrap the whole string in `

#

not that specific part

bitter sundial
sage bobcat
#

One message removed from a suspended account.

topaz fjord
#

also what is newGold1

#

It doesn't seem to be used

sage bobcat
#

One message removed from a suspended account.

topaz fjord
#

where

sage bobcat
#

One message removed from a suspended account.

topaz fjord
#

The variable is literally not used

sage bobcat
#

One message removed from a suspended account.

topaz fjord
#

newGold1 = Goldtoadd + gold

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

bitter sundial
#

it's still only gonna send the message if the gold does not exist

sage bobcat
#

One message removed from a suspended account.

topaz fjord
#

add message.channel.send outside of the if statement

stray garnet
#

please help

sudden geyser
#

aliases is undefined

topaz fjord
#

^

sage bobcat
#

One message removed from a suspended account.

stray garnet
#

wait waht?

sage bobcat
#

One message removed from a suspended account.

topaz fjord
#

outside of the if statement

sage bobcat
#

One message removed from a suspended account.

topaz fjord
#

not in it

sage bobcat
#

One message removed from a suspended account.

topaz fjord
#

@stray garnet there is nothing in the aliases array

stray garnet
#

what does that mean ? Ik im stupod

topaz fjord
#

so when you run the forEach its trying to do whatever it does on something that doesn't exist

stray garnet
#

oh

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

topaz fjord
#

try it

#

yes

stray garnet
#

@topaz fjord but aliases exist

sage bobcat
#

One message removed from a suspended account.

sudden geyser
#

It doesn't exist for your object help

sage bobcat
#

One message removed from a suspended account.

sudden geyser
#

maybe you misspelled it?

topaz fjord
#

@sage bobcat

#

one min

sage bobcat
#

One message removed from a suspended account.

topaz fjord
#

wouldn't you want it to return newGold1 for new accounts

#

since it shows the gold that they just got

sage bobcat
#

One message removed from a suspended account.

topaz fjord
#

Just newGold1

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

topaz fjord
#

Not .gold

#

My since newGold1 is an int

sage bobcat
#

One message removed from a suspended account.

topaz fjord
#

put return in front of both message.channel.send

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

topaz fjord
#

which part

#

It says 7 in the image ZoomEyes

sage bobcat
#

One message removed from a suspended account.

topaz fjord
#

no

#

remove the if(gold === null) gold = 0 in the if statement

sage bobcat
#

One message removed from a suspended account.

topaz fjord
#

and turn newGold1 = Goldtoadd + gold to newGold1 = Goldtoadd

sage bobcat
#

One message removed from a suspended account.

topaz fjord
#

if it's still doing it after the document was created

#

log gold

#

It may be that you have multiple documents in the db

sage bobcat
#

One message removed from a suspended account.

topaz fjord
#

log gold

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

topaz fjord
#

exactly after you fetch it

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

topaz fjord
#

before the if statement

warm marsh
#

So my brain doesn't seem to be functioning correctly. I've tried to think of many ways of doing this one thing but it's not happening.
I'd like to have separate prefixes for different categories but I just don't know how.

discord.js@12.0.0-dev

topaz fjord
#

Use a database

warm marsh
#

For?

topaz fjord
#

Actually

#

nvm

#

I'm stupid

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

topaz fjord
#

on the top of the if statement

#

not in

#

Like right before if(!gold)

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

topaz fjord
sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

winged thorn
#

can I change the colour scheme of my bot page?

sage bobcat
#

One message removed from a suspended account.

opaque eagle
#

Are you sure you'd like to violate ToS?

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

opaque eagle
#

Don't log messages unless it's critical for the functioning of your bot

#

critical means critical, btw

sage bobcat
#

One message removed from a suspended account.

opaque eagle
#

Fine for testing

#

not on production

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

opaque eagle
#

oh ok

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

opaque eagle
#

Maybe push it to a webhook lol

#

I know like 2 ppl who manually check their VPS logs on a regular basis

sage bobcat
#

One message removed from a suspended account.

topaz fjord
#

Is there a document in mongodb

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

topaz fjord
#

Is there one now

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

topaz fjord
#

Don't

sage bobcat
#

One message removed from a suspended account.

topaz fjord
#

change find one into .findOne({ ... }, (err, adventure) => { ...})

sage bobcat
#

One message removed from a suspended account.

topaz fjord
#

and console.log err

#

don't assign it to a variable tho

sage bobcat
#

One message removed from a suspended account.

topaz fjord
#

create a new one that is ```js
Gold.findOne({ ... }, (err, adventure) => { ... })

#

and in that second curly braces log err

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

earnest phoenix
#

wait

sage bobcat
#

One message removed from a suspended account.

earnest phoenix
#

why is logging command execution against tos?

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

earnest phoenix
#

ohh lol

#

logging messages aka deletes/updates is a feature in my bot but locked to the discord servers its enabled in

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

earnest phoenix
#

yeah i log commands

sage bobcat
#

One message removed from a suspended account.

earnest phoenix
#

so i know whos abusing.

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

placid lion
#

Hiya, does anyone have an idea as to why the Gaius bot isn't responding to some commands... I would guess it has something to do wither permissions, but I've given it all. I got the bot online, but can't find a control panel like Dyno and other bots have.
It's code: 245675252821000193

viral kayak
#

is there a js function to "title" strings

#

basically Make It Into This

earnest phoenix
#

Who can tell me how I do in discord.py that gives a role on support server to a voter and sende a message?

sudden geyser
#

You mean like proper case? (Case Like This With Capitals)

earnest phoenix
#

Peace_Of_CakeToday at 9:12 PM
Hiya, does anyone have an idea as to why the Gaius bot isn't responding to some commands... I would guess it has something to do wither permissions, but I've given it all. I got the bot online, but can't find a control panel like Dyno and other bots have.
It's code: 245675252821000193
this isn't a support server for that bot, go to the owner and report whatever's happening, that's an id by the way

viral kayak
#

yes

#

thats what i mean

sudden geyser
#

There's no built-in function, but you could create one yourself.

viral kayak
#

how so

smoky mica
#

i tried splitting the message and i get object object

#

what should i do

earnest phoenix
#

what is your code

sudden geyser
#

Lunabit, you could just create a function which takes a string, make the first letter of a word capital, stuff like that

smoky mica
#

```message.channel.send(\``${roles.map(r => • ${r.name}\n${message.member.roles.map(r => r.name)} Members).join(\n), { split: true }}````)

#

still got some things tot do but i'll after i get this correct

maiden mauve
#

at some point I have to clean up my message handling over all

earnest phoenix
#

@smoky mica you've misplaced your brace

#

right now, it's ( {string, {options}} ), when it should be ( {string}, {options} )

placid lion
#

@earnest phoenix thank you

maiden mauve
#

what's the difference between split(" "); and split(/ +/); ?

earnest phoenix
#

one is a string passed by reference, the other is regex

smoky mica
#

@earnest phoenix is this not correct?
``` message.channel.send(\``${roles.map(r => • ${r.name}\n${message.member.roles.map(r => r.name)} Members).join(\n)}, ${{ split: true }}````)

earnest phoenix
#

no

#

${{ split: true }} why are you doing this

#

it's not a string, it's an object

smoky mica
#

this happens if i do that

#

it doesn't act like a function i guess anymore

earnest phoenix
#

because you're still passing it in the string

#

ergo you're typing it in the string itself as the message content

earnest phoenix
#

Hey

#

Your bot @invalid-user was declined. Reason: Your bot's presence changes every few seconds which is considered API abuse, please limit the amount of times your bot changes it's status to a more reasonable amount, for example every 12 seconds.

#

how do I limit 12 seconds

west spoke
#

Make it wait x seconds

#

x being 12

maiden mauve
#

5 x 700 is 3.5 seconds

earnest phoenix
#

you can can you draw

#

I can not see

west spoke
#

Make it 5*7000 at least

#

that will be 35 seconds

maiden mauve
#

why is it a math expression anyhow

#

isn't 35 | 000

earnest phoenix
#

hmm

maiden mauve
#

clearer?

earnest phoenix
#

i make 35| 000 ?

west spoke
#

no

maiden mauve
#

35000

#

i just put the line to separate s and ms

earnest phoenix
#

error

west spoke
#

you are dumb

#

Remove the *

#

and add a 0

earnest phoenix
#

Thank

maiden mauve
#

lol

#

nailed it

#

ofc if you insist you can do 35000 * 1

#

some people like the identity rule

midnight vine
#

Can I ask for something else than discord bot ?

opaque eagle
#

go ahead

#

as long as it relates to code, you should be fine

midnight vine
#

I don't understand

midnight vine
#

Someone can help me ?

hushed quarry
#

for a discord bot?

#

if so, google "discord.py music bot" and you'll see tons of examples/tutorials

mossy vine
#

or you know

#

read the answer marked as solution

opaque eagle
#

@midnight vine ```sh
pip install pygame``````python
from pygame import mixer # Load the required library

mixer.init()
mixer.music.load('PATH/TO/SONG')
mixer.music.play()```

floral bloom
#

Why does my JSON file keep resetting when I restart my bot/update my code?
Restart command:

message.channel.send({embed: {
    color: client.color,
    title: "Bot restarting...",
    timestamp: new Date(),
    footer: {
      text: client.version,
      icon_url: client.user.avatarURL
    }
  }}).then(client.destroy().then(process.exit()))
midnight vine
#

@opaque eagle I can write pip install pygame in a line of visual studio code? I don't understand much about feature installations

winged thorn
#

command line

#

run it through command line

sudden geyser
#

@floral bloom what do you mean by your json keeps resetting? All I know is you should pass a function for <Promise>.then method.

#

Also <Client>.destroy returns void/undefined, so it wouldn't work

floral bloom
#

I have a currency system. collect adds money to the users balance. When I restart the bot, the user's currency is back at 0.

sudden geyser
#

Source code where you save it?

floral bloom
#

You mean, how I save the JSON file?

sudden geyser
#

Yeah, I also recommend you don't use json to read/write for storage. The file can be corrupted

floral bloom
#

client.save = fs.writeFile("./data.json", JSON.stringify(client.data), (err) => console.error);

client.save; // Save JSON
#

I think I may go to Enmap.

viral kayak
#

or a database

sudden geyser
#

^^ You should use a database. Maybe experiment to see why it's not saving, are you getting any error? Maybe it's taking a bit to save

floral bloom
#

Nope, no errors.... it just resets...

sick cloud
amber fractal
#

@floral bloom are you on heroku

#

Cuz it cant save stuff to github

floral bloom
#

No, but I fixed it.

inner jewel
#

i'd do return new Promise(...).finally(() => delete this.activeCollectors[...])

sick cloud
#

huh, ok, never heard of finally

#

@inner jewel it specifically triggers when it's resolved i'm guessing?

inner jewel
#

it's called when resolved or rejected

#

but doesn't affect the result

sick cloud
#

oh ok

#

otherwise that code should work right?

inner jewel
#

Promise.resolve(1).then(() => { cleanup }, () => { cleanup }) always resolves to the return of the cleanup functions

#

same with reject

#

(.then(a,b) is the same as .then(a).catch(b) where a doesn't throw)

#

the rest looks fine

sick cloud
#

so even though i'm using resolve(message) it's not going to end with the actual message?

inner jewel
#

if you use finally it will

#

if you used then/catch you'd have to do js .then(message => { delete ...; return message }).catch(e => { delete ...; throw e })

earnest phoenix
#

Eris isn't a planet!

hybrid ruin
#

Eris is a planet

earnest phoenix
#

It's a dwarf planet!

hybrid ruin
#

You got me there

#

But that doesn't fix my gradle issue 👀

earnest phoenix
#

the "-" between Main Class and the function may be case sensitive

hybrid ruin
#

Sorry, what?

inner jewel
#

use the application and shadowJar plugins

hybrid ruin
#

I got both already

maiden mauve
#

planet zebes imo

earnest phoenix
#

I think you should get sponsorship from companies and post random adverts on people's servers who use your bot and you take commission from the adverts.

#

Maybe send an email to the users and say you are "revising your bot policy"

#

I mean you'll have to code it well because if the bot just spams adverts every 5 seconds it's going to annoy the heck out of everybody

shy rose
#

tbh any bot that attempts to advertise in mine or any server im admin/mod in gets a free ban

valid frigate
#

this isn't about you though

#

but i can see where you're coming from, posting random ads in the middle of a chat would probably annoy most mods/admins

earnest phoenix
#

json is the easiest

earnest phoenix
#

Your bot @invalid-user was declined. Reason: Your bot has a server list command, m!ailemiz, which is considered a privacy breach as it lists all the servers your bot is in. Please either limit this to the bot owner (you), or make it opt-in, or simply delete it.

#

i deleted

#

Command

flat pelican
#

🤦

#

R E S U B M I T I T

#

Please, we already told you several times

weak parrot
#

Nice

spare goblet
#

resubmit botum please

#

no need to tag entire mod team blobsmilehappyeyes

zealous veldt
#

cute iara

earnest phoenix
#

reapply?

flat pelican
#

can someone kill me

drowsy sentinel
#

@earnest phoenix If you have trouble DM a moderator. This isn't the appropriate channel for that. Also, fix the reason listed and if you're confused DM the responsible moderator. You can find it by searching the bot's id in ( #mod-logs ).

spare goblet
#

ty

midnight vine
#

I don't understand

cursive dagger
#

So you have to type the first line into the console first

earnest phoenix
#

youre supposed to do pip install in the terminal to install it

midnight vine
#

In the terminal it's an error

earnest phoenix
#

did you use cd to change the directory?

midnight vine
#

?

earnest phoenix
#

oml

#

it's hard to explain

midnight vine
#

I think I have to download a pip thing but it doesn't work neither

earnest phoenix
#

do

#

you

#

know

#

how to change directories?

#

using cmd

midnight vine
#

no

#

what is cmd ?

#

I see this yesterday

earnest phoenix
#

COMMAND PROMPT

#

smh

midnight vine
#

I managed to do that yesterday but I do not know how

earnest phoenix
#

you don't know how to open cmd?

midnight vine
#

import subprocess
subprocess.call("start", shell=True)

#

Ok, it's open

#

If it's that

earnest phoenix
#

windows key + r then type cmd and press enter

midnight vine
earnest phoenix
#

that is right

#

now do pip install pygame

#

in there

midnight vine
#

'pip' is not recognized as an internal command
or external, an executable program or a batch file.

winged thorn
#

Rip you don't have python in path

cursive dagger
#

Try python -m pip install pygame

midnight vine
#

ho, yea, it's a new one

#

I also forget how to install python in a terminal

winged thorn
#

You already have python installed

midnight vine
#

Why It doesn't work so ?

slender thistle
#

python -m pip install pygame

#

Did you not install it to PATH as well

winged thorn
#

Wait on Windows it's py

slender thistle
#

No it's not?

winged thorn
#

Was by default for me

slender thistle
#

Both work for me

winged thorn
#

Hm

#

I use Linux now anyway so it doesn't matter

midnight vine
#

python -m pip install pygame doesn't work neither :/

slender thistle
#

Reinstall Python, add it to PATH and/or pip in addition to that is possible

midnight vine
#

The terminal don't recognize python

slender thistle
#

Try py

midnight vine
#

py work

slender thistle
#

If that ain't working, /shrug

#

so what are we going to use to install pygame

midnight vine
#

I just want can add music when I open a big program

#

But I need pygame

#

And pip

#

But i Can't download pip for a reason

winged thorn
#

Python comes with pip

slender thistle
#

Mate

midnight vine
#

Soo, I nothing understand

slender thistle
#

py -m pip

midnight vine
#

It work

#

What have I to do next ?

#

I can download pip pygame ?

#

No

#

I'm lost

steady geode
#

how to upload images with discord richembed?, & like the highlighed things (Today thingy)

earnest phoenix
#

setImage() setTimestamp I think

spiral moss
#

is anyone here who can help to setup own bot?!

quartz kindle
#

if you have any specific question, just ask

steady geode
#

can ya show me the example of setTimestamp & setImage()?, i'm having trouble 😕

quartz kindle
#

what did you try?

earnest phoenix
#

@steady geode .setImage('../directory/oliy.png')

#

Remove a dot if the embed it's in your main file

stray garnet
#

@spiral moss More specific

spiral moss
#

i can give in private

stray garnet
#

Ok

steady geode
earnest phoenix
#

Yes

#

And under just add .setTimestamp()

#

you can't provide local paths to setImage

steady geode
#

oh

#

so, what should i do?, imgur images?

earnest phoenix
#

instead, use attachFile to attach the file to the embed and then use setImage("attachment://filename.extension")

#

though, if its a command that's going to be continously used, you might want to save on bandwith usage and yes upload it to imgur

steady geode
#

i'll try

earnest phoenix
#

you're wrong again

stray garnet
#

uhm

earnest phoenix
#

you only use attachment:// for when you want to include images that you're uploading from a local path

#

also that imgur link is not the direct link to the image

#

don't spoonfeed

stray garnet
#

oh sht ur right

lusty dew
#

Not really spoon-feeding

earnest phoenix
#

guide them to the solution if you want to help

stray garnet
#

k

steady geode
#

okay now i get it, it should be i.imgur.com/K1JVYsp.jpg

#

thx

stray garnet
#

https://

steady geode
#

yeah forgot to mention that xd

stray garnet
#

xd

steady geode
#

how do the images also go into the richembed? (bad at english so i used googol translate :'v)

earnest phoenix
#

which images

#

you mean include the image you send in the bot's embed?

steady geode
#

yes :'v

earnest phoenix
#

e.g setImage(attachment.url)

steady geode
#

my brain, i confused so hard

#

Brain 0%

#

is there's no simple way? :<

quartz kindle
#

you want to take an image a user sent and put it in an embed?

earnest phoenix
#

what i told you is simple

#

3 lines of code

steady geode
#

@earnest phoenix do you mean this? new Discord.Attachment(filename)

#

or this.attachments = new Collection();

stray garnet
#

how to do an prefix with an space? like: nl help

midnight vine
#

I'm completely lost, I'm trying to activate a music option in my program, I was advised pygame but it must be installed via pip, But for now the only thing that worked is py -m pip, What am I supposed to do now?
I do not understand

cursive dagger
#

py -m pip install pygame

midnight vine
#

ho, it work

#

I'm really that stupid ...?

cursive dagger
#

google it

midnight vine
#

I'm doing this

midnight vine
earnest phoenix
#

provide an absolute path

midnight vine
#

How ?

stoic dock
#

'C:\Users[user_name]\Music\all.mp3' Like this @midnight vine

midnight vine
#

Ok, thanks

#

Why on google just the name is good ?

stoic dock
#

I don't know, it might be a problem with your Python IDE

earnest phoenix
#

no it isn't lol

#

i'm pretty sure it will assume that you're targeting a file in the same location as the py file if you don't provide an absolute path

midnight vine
#

yea, still error

earnest phoenix
#

what is your code

midnight vine
earnest phoenix
#

you put the wrong directory in the code

#

it's not in your onedrive folder

midnight vine
#

It's bureau

#

but it's the same error

#

Just to read music...

#

There is no other way ?@earnest phoenix

solid cliff
#

or triple quote it

earnest phoenix
#

can also \\

midnight vine
#

I just deleted all the way to keep all.mp3 and it's an other error

#

so, I convert mp3 in wav and we'll see

quartz kindle
#

if you put your music file in the same folder as your program, then you can use a relative path, ie: ...Sound("all.mp3")

#

if you put your music file in a different folder, then you must specify in which folder the program should look for that file

haughty panther
#

^

tough wyvern
#

why are my servers undefined what should i do to define them

slate iron
#

How do i delete a photo once posted in chat

tight heath
#

get the message

#

And delete it

slate iron
#

I've tried to delete it. Apparently I'm doing something wrong

tight heath
slate iron
#

Ok ty

#

I got it thanks @tight heath

tight heath
patent onyx
#

programmingsocks
lEgs

sage bobcat
#

One message removed from a suspended account.

stray garnet
#

how to do an prefix like this: nl help?

warm marsh
#

check for it.

midnight vine
#

@earnest phoenix with .wav everything is perfect, thanks a lot !

earnest phoenix
#

guys

#

is there any rate limit with GET request

#

??

amber fractal
#

Uh

#

For what

#

Every api has different rate limits

earnest phoenix
#

like when you need to get messages every second

amber fractal
#

Yes, discord has rate limits on all requests

earnest phoenix
#

like i mean would i get banned or what if make a GET request every second

#

cause my bot works like that

quartz kindle
#

depends on the route

#

discord has per route rate limits

#

ie: the post limit on the channels route is 5 per 5 seconds

#

i dont know about get, but you can enable the rate limit headers to get information about them

west spoke
#

GET I think is 2/s

#

Maybe more

winged thorn
#
REST:
        POST Message |  5/5s    | per-channel
      DELETE Message |  5/1s    | per-channel
 PUT/DELETE Reaction |  1/0.25s | per-channel
        PATCH Member |  10/10s  | per-guild
   PATCH Member Nick |  1/1s    | per-guild
      PATCH Username |  2/3600s | per-account
      |All Requests| |  50/1s   | per-account
WS:
     Gateway Connect |   1/5s   | per-account
     Presence Update |   5/60s  | per-session
 |All Sent Messages| | 120/60s  | per-session```
#

Ratelimits

abstract crow
#

In pins for people to look at

winged thorn
earnest phoenix
#

ratelimits arent static

#

you generally shouldn't follow that

amber fractal
#

The developer docs specifically say to use the rate limit header returned as they change.

mossy vine
#

if it really is per-channel then all of my ideas are saved

amber fractal
#

Read this, it doesnt actually say anything about per channel, it does say per account and per route, however

#

Wait

#

I read wrong, my apologies mmulu

earnest phoenix
#

/channels/123 & /channels/321 are different routes, each counts as its own ratelimit, but what the docs say is regardless what HTTP method you use it counts as a request and its fed into the same ratelimit (e.g GET to get the channel info and DELETE to delete the channel are both fed into the same ratelimit)

#

i hope that makes sense

#

there are some global ratelimits though that ignore the route e.g how many messages you can send in a second/minute (i forgot which one)

tight heath
#

@earnest phoenix they are not different routes

#

the route is /channels

earnest phoenix
#

yeah my bad, same routes, different parameters

tight heath
#

i.e. they'd share a rate limit

#

but like @mossy vine you or the lib you're using shall parse the headers

earnest phoenix
#

Additionally, rate limits take into account major parameters in the URL.

tight heath
#

yes but

#

this only means there is additionally a rate limit for channels on each

inner jewel
#

/channels/123/messages and /channels/456/messages are different buckets

#

they have different limits

tight heath
#

either way you shouldn't like

#

static

#

but more like

#

dynamic

inner jewel
#

but eg get /channels/123/messages and patch /channels/123 are the same bucket

#

so they share the limit

#

iirc

earnest phoenix
#

yes

woven zealot
#

so random question
naturally I log every guildCreate and guildDelete event, but the numbers just aren't matching up. Is that normal?
for example: yesterday - removed (now in 52)
today - added (now in 56)

#

okay no nvm I just checked the logs, the console log is working but the message sent to my channel is not, different issue entirely

steel cloak
#

in discord.js when using message.channel.send('text'); is it better to always await it? like always do await message.channel.send('text'); or does it depend on the situation?

twilit rapids
#

You don't need to unless you want to do something with that message after sending

steel cloak
#

oh okay thanks

amber fractal
#

I always do it to send messages in order, but I dont think it has any actual affect unless you want to do what timo said, just a habbit for me

valid frigate
#

all right yall

#

so in djs how do i murder a specific shard given that i have its id

#

i'm testing how my db handles shard status updates and need to like kill a shard and respawn it, but that's just backgorund information

amber fractal
#

Are you using shardingmanager?

valid frigate
#

yeah

tight heath
#

there's only ShardUtil#respawnAll

valid frigate
#

just disconnecting the shard, not respawning it

tight heath
#

inbuilt

valid frigate
#

ah

#

maybe i can eval Client#destroy?

tight heath
#

possibly

valid frigate
#

but that will do it for all shards

pearl grotto
#

need a good, committed developer to help me with my bot. Well basically "fixing it" or "cleaning" it up. To make commands more efficient, deprecation-less, and errorless

#

dm me or mention me

sage bobcat
#

One message removed from a suspended account.

winged thorn
#

what language

tight heath
valid frigate
#

ah thank you

winged thorn
#

@pearl grotto what language

pearl grotto
#

discord.js

valid frigate
#

i forgot you can put basic logic into eval commands lol

#

👌

tight heath
#

hehe

#

:)

winged thorn
#

pff

#

I can't js

tight heath
#

i personally spawn shards manually because I don't like the ShardingManager

winged thorn
#

at least not discord.js anyway

tight heath
#

using websockets and a small event handler

sage bobcat
#

One message removed from a suspended account.

pearl grotto
#

console.log

#

like when its ready?

tight heath
#

d.js doesn't have inbuilt commands

#

so idk what you're talking about

sage bobcat
#

One message removed from a suspended account.

tight heath
#

well in your command handler

#

put some console.log statements

#

yes

#

that's not a d.js thing though

#

that's basic js

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

tight heath
#

umwhat

#

do you know how template literals work

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

valid frigate
#

oh yeah ravy could you point me in the right direction of how to manage shards if i spawn them manually

tight heath
valid frigate
#

epic

tight heath
#

aero is the bot, aether the sharding manager

#

:)

valid frigate
#

very epic

tight heath
#

yw ^°^

tough wyvern
#

have someone a discord.js restart code to restart the bot

sudden geyser
#

kill the process

mossy vine
#

or use a process manager

tight heath
#

launch in pm2

#

and process.exit(0)

inner jewel
#

os services ftw

earnest phoenix
#

@tough wyvern bot.destroy() and then login

winged thorn
#

How can I change the little triangles at the end of the tags on my bot page. I can't find them in the css

earnest phoenix
#

Little triangles?

winged thorn
#

lil triangles

earnest phoenix
sage bobcat
#

One message removed from a suspended account.

winged thorn
#

damn it

earnest phoenix
#

I think it's when the ratelimit has been hit @earnest phoenix

#

your slow

#

you can change them @sage bobcat

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

earnest phoenix
#

you can change everything

#

just right click on a tag and try inspect element to get the html code

winged thorn
#

I tried

#

But I can't find how to change

sick cloud
#

@winged thorn i know how to change them

#

you need to find the element through inspect element and target the ::after tag

winged thorn
#

I found that but I tried background-color and background and neither changed the color

earnest phoenix
#

the property you're looking for is border-left

#

look that

#

i think

winged thorn
#

YES

#

I got it

#

it was border-left-color

earnest phoenix
#

¯_(ツ)_/¯

winged thorn
#

What

#

I can't submit

#

It says invalid token

earnest phoenix
#

copy whatever you need to and refresh the page

#

its probably an issue with xsrf tokens

winged thorn
#

yeah that was it

#

this is a lotta css my god

#

Anyone know if it's possible to remove the white border thing from the bot icon

unique nimbus
#

Photoshop

winged thorn
#

on the bot page

unique nimbus
#

oh

#

I dont think so

winged thorn
#

I managed to remove one of the borders from another aspect but this one stumped me

abstract crow
#

Is there a way that in Discord.JS I can check to see if x users role is higher than y users role

#

Like both their highest roles

#

And then compare them. Example is Owner is above Moderator, so moderator can't ban the owner role

winged thorn
abstract crow
#

Ok coolio. Thanks 😃

winged thorn
abstract crow
#

TypeError: message.member.highestRole.comparePositonTo is not a function @winged thorn

#
    if(message.member.highestRole.comparePositonTo(member.highestRole) == 0) {
        return message.reply("Sorry but you can't ban that person!");
    }
winged thorn
#

Are you on the latest version of d.js

#

there's this method too

abstract crow
#

I just installed it a few days ago

winged thorn
abstract crow
#

How do I check?