#development

1 messages · Page 1540 of 1

earnest phoenix
#

How can I make a warn command I need for my bot

rustic nova
#

I have that on Java, not sure if JavaScript has it tho KEKW

earnest phoenix
#

it's the only one I need and my moderation bot is done

gilded olive
#

a warn command is very simple

#

you just create a new row in your db every time the command is called in the correct columns with the correct data

#

warner id, warned id, when, pk probably being the case num.

pure lion
#

Assuming they're using SQL

#

But then I wouldn't assume they know what SQL is

#

Or what a row is

#

Or what a db is

gilded olive
#

true blobpain

pure lion
mellow kelp
distant cobalt
#
dropMsg.react('🎉').then(() => dropMsg.react('🎉'));
            const filter = (reaction, user) => {
                return ['🎉'].includes(reaction.emoji.name) && !user.id === '779130889565110343';
            };
            
            dropMsg.awaitReactions(filter, { max: 1, time: 60000, errors: ['time'] })
                .then(collected => {
                    const reaction = collected.first();
            
                    if (reaction.emoji.name === '🎉') {
                        let winner = dropMsg.reactions.cache.get("🎉").users.cache.filter((u) => !u.bot).random();
                        channel.send(`Congrats ${winner}! You win!`)
                    } else {
                        return
                    }
                })
                .catch(collected => {
                    channel.send('**Drop exceeded the giveaway time limit! Ending...**');
                });
``` i did this but when i react, it does nothing, why?
mellow kelp
#

you're using a ! in your filter

distant cobalt
mellow kelp
#

the filter will always return false

distant cobalt
#

okay

cinder patio
#

!user.id returns false because user.id is always a string and ! means the opposite

#

you need to do !==

distant cobalt
#

i know

#

but

cinder patio
#

??? Then why are you asking for help here

distant cobalt
#

i don't want to include the bot in it

#

i want anyone to react

#

not just the author

cinder patio
#

... I don't think you know what I'm talking about then

distant cobalt
#

but not allow the bot to pass

mellow kelp
#

you need to use !== instead of !user.id

#

that's all

cinder patio
distant cobalt
#

okay

cyan geyser
#

just gonna hop in and say top.gg is the fucking bomb and it works. we got verified two days ago and grew over 100 servers

cinder patio
#

you didn't know after all did you

earnest phoenix
#
const commandFiles = readdirSync(join(__dirname, "command")).filter((file) => file.endsWith(".js"));
for (const file of commandFiles) {
  const command = require(join(__dirname, "command", `${file}`));
  client.commands.set(command.name, command);
}

I want to return if false value comes out in the code below, but if I put it in a for statement, the message keeps repeating, and if I put it in another column, the return value doesn't work.

  fetch(BASEURL + '/bots/voted/' + message.author.id, { headers: { token } })
    .then(r => r.json()).then(r=> { 
   if (r.voted == false) {
     let embed = new MessageEmbed()
     .setColor("FA003D")
     .setTitle("name"
     .setDescription("description")
     .attachFiles(new Discord.MessageAttachment(`${__dirname}/Image/Help_Guide.png`, 'Help_Guide')).setImage('attachment://Help_Guide.png')
     message.channel.send(embed)
     return;
    } // 
    })
  .catch(e=> console.error(e))
#

I thought a lot about this, but I couldn't get an answer.

mellow kelp
#

i'm not sure if this is the main problem, but your request header token should be Authorization

earnest phoenix
#

Oh, the request token works fine to prevent the execution of js in the command when a simple false is returned.

mellow kelp
#

oh the main problem is that the return statement is inside the .then() function, which means that it's not going to do anything outside of it

#

you might want to use async/await for this

earnest phoenix
#

Okay thanks

quartz kindle
#

its not lol, its in 2 months

earnest phoenix
#

Lol

earnest phoenix
mellow kelp
#

pog

earnest phoenix
#
const { Client, MessageEmbed, version } = require("discord.js");
const moment = require('moment')
var eco = require(`quick.db`);

module.exports = {
    name: "userinfo",
    async run (message, args) {
        const people = message.guild.member(message.mentions.members.first() || message.author);
       let username = people.user.username
        let registered = moment.utc(people.user.createdAt).format('MMMM Do YYYY');
        let joined = moment.utc(people.joinedAt).format('MMMM Do YYYY');
        const embed = {
        "title": `${people.user.tag}'s userinfos`,
        "color": "RANDOM",
        "thumbnail": {
          "url": (people.user.avatarURL())
        },
        "fields": [
          {
            "name": "User ID",
            "value": `${people.user.id}`,
            "inline": true
          },
          {
            "name": "BALANCE",
            "value": `*`+coins+`*`,
            "inline": true
          },
          {
           "name": 'USER ROLE ',
           "value": user.roles.cache.map(role => role.toString()).join(" ,"),
            "inline": true
          },
          {
            "name": "JOINED ON",
            "value": `*`+joined+`*`,
            "inline": true
          },
          {
            "name": "REGISTERED ON",
            "value": `*`+registered+`*`,
            "inline": true
          },
          {
            "name": "USERNAME",
            "value": `*`+username+`*`,
            "inline": true
          },
          {
            "name": "Social Links",
            "value": "[Invite Bot](https://dis.com/oauth2/authorize?client_id=734537695698878565&scope=bot&perm=2147483) | [Support Server](https://di.gg/)"
          }
        ]
      };
    message.reply({ embed });
    }
}```
#

For some reason this ain’t working

#

No errors btw

solemn latch
#

probably a very dumb question, but can private data be cached by cloudflare while still being authorized by the webserver?
the cache control header is "public" just didnt think it was possible to have something on a cdn and still be authorize-able.
https://woo.pics/images/1d43170f10.png

earnest phoenix
#

I don’t think so

earnest phoenix
#

Lol

solemn latch
#

i might not love cloudflare, but their documentation is so good

earnest phoenix
#

Btw do you see anything wrong with my code?

severe cedar
#

So I made a withdraw command and whenever I run the command it gives the error Command raised an exception: TypeError: 'Member' object is not subscriptable. Please not that this is a cog within discord.py and i have not defined ANY member object. Thank you for helping if you do!
Code: https://srcb.in/KxxLH4yFKo

solemn latch
earnest phoenix
#

It’s MEMBER I think

severe cedar
#

i haveb't defined a member object

#

so it doesn't make sense

#

oh wait nvm

#

u were talking to some1 else

solemn latch
#

oh wait, what is even happening in this line
const people = message.guild.member(message.mentions.members.first() || message.author);
🤔

#

you can just use the message#member property rather than using the .guild.member method.

severe cedar
#

so can no one answe my question?

solemn latch
#

dont think anyone who knows py is on right now.

severe cedar
#

oh

#

rip

#

dw i can find help in another server

#

not to be rude or anything

#

them's the breaks

solemn latch
#

the py discord server is super good

misty sigil
#

i'll call a drunk python dev

solemn latch
#

shiv pogey

misty sigil
#

im sure theres multiple other drunk py devs

#

but shiv is our drunk py dev

severe cedar
#

like shivaco?

#

or the other shivs

lyric mountain
#

statikk shivaco

severe cedar
#

100,00 messages

#

dang

trim saddle
misty sigil
#

rubbish

severe cedar
#

not to be rude qwq

trim saddle
#

what's going on exactly

severe cedar
#

um

#

So I made a withdraw command and whenever I run the command it gives the error Command raised an exception: TypeError: 'Member' object is not subscriptable. Please not that this is a cog within discord.py and i have not defined ANY member object. Thank you for helping if you do!
Code: https://srcb.in/KxxLH4yFKo

#

thats an exact descriprtion of whats going on

sudden geyser
#

The error means you tried doing x[y] on something that doesn't support it

lyric mountain
#

50% the internet is ~bin sites ain't it?

sudden geyser
#

netflix

trim saddle
#

@severe cedar i don't see an issues with your code

earnest phoenix
#
from utils import permissions,  default
defaultImportError: cannot import name 'permissions' from 'utils' 
(C:\Users\jusmi\AppData\Local\Programs\Python\Python38\lib\site-packages\utils__init__.py)```
#

anyone help

trim saddle
#

but that means you most likely did ctx.author/user[xyz]

severe cedar
trim saddle
#

but with a member

sudden geyser
#

That's on example, but the error will tell you where

severe cedar
#

huh

trim saddle
#

@earnest phoenix you didn't import it properly

earnest phoenix
#

then

severe cedar
#

so i don't know the line

earnest phoenix
#

im kinda confused

sudden geyser
#

Then you'll need to debug what update_bank and get_bank_data return.

#

Because either of those two aren't subscriptable.

severe cedar
#

ok

#

so i printed an integer as an aray

livid lichen
#

Anyone know how I could private my project on glitch.com?

sudden geyser
#

Or if you're able to make it easier, edit where you log the error to the channel to log the error to the console so you can see where it's coming from

#

because it could ideally come from a lot of places

livid lichen
#

It's exposed and the only way is by upgrading.

sudden geyser
#

The key is you're using a subscript on a Member instance

trim saddle
livid lichen
misty sigil
#

wh

drifting wedge
#

anyone up for chess?

misty sigil
#

a virtual private server

trim saddle
#

a virtual private server.

misty sigil
#

0exe this is dev

livid lichen
#

Oh.

drifting wedge
#

oh oops

#

lmfao

#

sry

sudden geyser
#

I don't even know how to play chess

trim saddle
#

you rent one for your projects

drifting wedge
#

lol rip

#

sorry

trim saddle
#

and your code is private

distant cobalt
#

how do you set a true or false thing for the current guild using a command? (djs)
btw, i'm using quick.db

misty sigil
#

db.set('thing', true)????????????

distant cobalt
#

k

earnest phoenix
#

So um guys my bot just died and isn’t booting up

trim saddle
#

you want us to work with that or are you gonna give us an error to help you

earnest phoenix
#

Well, um I don’t really know...

severe cedar
#

i'm not getting anyway

earnest phoenix
#

There’s no errors @trim saddle

severe cedar
#

anywehre*

sudden geyser
#

yikes

drowsy grail
#

@earnest phoenix how are you hosting it and what did you build it in

earnest phoenix
distant cobalt
drowsy grail
#

does repl.it run continuously? I think you need uptime robot to constantly ping it or it shuts off

trim saddle
#

get a dedi

misty sigil
distant cobalt
#

ok

earnest phoenix
#

I just resented the uptime robot and the token but still nothing @drowsy grail

misty sigil
drowsy grail
#

^

earnest phoenix
#

Lmao

drowsy grail
#

no need for a dedi lmao

severe cedar
#

h

earnest phoenix
#

Jeremy clarkcom

#

DAMN AUTO CORRECT

distant cobalt
# misty sigil yea

Btw, is this a variable for every guild? I want something like anti spam enabled on a guild or not. is the code i made for that?

earnest phoenix
misty sigil
#

thats a variable for all guilds yes

drowsy grail
#

@earnest phoenix what language is it in

earnest phoenix
#

JavaScript

drowsy grail
#

oh sure

distant cobalt
trim saddle
#

@misty sigil finish this for me

const overwrites = {
    VIEW_CHANNEL:
}

i'm too lazy

misty sigil
#

wh

distant cobalt
#

wait

#

nvm

#

lol

misty sigil
#

i need more context if im gonna be your code monkey

trim saddle
#

fricking filling out an array of overwrite permissions

#

too lazy to write them all

#

so i'm paying you nothing to do it

drowsy grail
trim saddle
#

oh yeah my bad

drowsy grail
#

yea just looking out for you

trim saddle
#
var overwrites: {} = { VIEW_CHANNEL: }
drowsy grail
#

perfect

ionic dawn
#

Is there anyway to get an emoji media link?

Message:
Bla bla bla KEKW

Output:
https://cdn.discordapp.com/emojis/665603897095880759.png?v=1

drowsy grail
#

yea, its just https://cdn.discordapp.com/emojis/<emoji ID>.<extension>

ionic dawn
#

yeah, I know the raw message provides the name+emojiID, just askin incase its a way better to do it

#

raw message will give me !KEKW

drowsy grail
#

depends on your lib

ionic dawn
#

djs

distant cobalt
#

Uhh so, i used quick.db

#

but my quick.db command changes the variable for ALL GUILDs

#

i want it to change the variable for only the current guild

#
const Discord = require('discord.js');
const db = require('quick.db');

module.exports = {
    name:"test",
    execute(message, args){
        if(db.get('trueTest') === true){
            db.set('trueTest', false)
            message.channel.send(db.get('trueTest'))
        }

        else{
            db.set('trueTest', true)
            message.channel.send(db.get('trueTest'))
        }
    }
}```
drowsy grail
#

you can use guild.emojis.cache.get(emojiID).url @ionic dawn, maybe you could find the emoji id using regex

distant cobalt
restive furnace
distant cobalt
tired panther
#

How to fetch the last message?

#

message.channel.messages.fetch().then , want to limit it to "1"message

lyric mountain
#

iirc it's {limit: 1}

earnest phoenix
eternal osprey
tired panther
eternal osprey
#

how would i get each element in this object?

lyric mountain
#

for, while, do while, forEach, map, peek, etc.
you choose it

earnest phoenix
#

You want to get all the elements of the arrays existing in the object?

#

Or what are you trying to do

eternal osprey
#

yeah that

earnest phoenix
#

You should either use Object.values() and filter all values that are arrays by Array.isArray() and concatenate all of the arrays by <Array>.concat(), or use a for loop and do the same thing

eternal osprey
#

aha yeah!

#

it worked, thanks!

earnest phoenix
#

Btw i would recommend using const or let in this context instead of var

eternal osprey
#

okay got it!

agile lance
#

[sorry mods this isnt development related]

earnest phoenix
#

That's npm runkit

livid lichen
#

Anyone know how to get an emoji's id?

earnest phoenix
#
earnest phoenix
#

Or just manually?

eternal osprey
#

hey

#

how would i define it?

earnest phoenix
#

Codeblock

eternal osprey
#

nvm i just wrapped the whole function at the end of the code

#

and it works

earnest phoenix
#

K

eternal osprey
#

srry!

#

1 problem tho

#

while in my json file it only saves 2 moves.

eternal osprey
#
const moving = dex2.findPokemon(currentMon.name);
const text = dex2.findPokemon(currentMon.name) 
const charge = text.moves.charge
const quick = text.moves.quick
for(const key in charge) {
    const value1 = charge[key];
    
    for(const key in quick) {
    const value2 = quick[key];
    ```
trim saddle
#

@quartz kindle wake up

earnest phoenix
#

Uhh

#

Umm

#

What's exactly the issue tho

trim saddle
#

i have a typing issue question

earnest phoenix
#

And why are you getting the pokemon or whatever twice

ancient nova
#

guys where can I paste a css code and call it from my website without getting the text/plain MIME error????

quartz kindle
#

dont wait for me lol, ask the damn question

ancient nova
#

can't

quartz kindle
#

why

ancient nova
#

because I can't add or edit files

quartz kindle
#

why

ancient nova
#

just because

earnest phoenix
#

why not just throw the css in a style tag

quartz kindle
#

then is it even your website?

ancient nova
#

nope

#

did I say it's mine

quartz kindle
#

you did

ancient nova
#

I'm doing a script for custom css for a website

quartz kindle
#

"from my website"

ancient nova
#

my mistake

quartz kindle
#

if you want to apply custom styling to other websites, use a browser extension

earnest phoenix
#

if you want custom css for a website just use something like stylish

#

this

quartz kindle
#

there are many of them like ^

earnest phoenix
#

@trim saddle

ancient nova
#

I wanna make my own script to do this though

earnest phoenix
#

+starbot

trim saddle
#

who pinged me

#

why

earnest phoenix
#

U

rustic nova
earnest phoenix
#

@rustic nova @rustic nova

rustic nova
trim saddle
#

can you not randomly ping people

rustic nova
#

why

trim saddle
#

thanks

ancient nova
#

so

#

you guys have no idea how to fix that eror them

#

then

zenith terrace
#

@rustic nova @rustic nova

rustic nova
zenith terrace
#

hope.ban()

rustic nova
quartz kindle
#

to inject js into websites

zenith terrace
#

tim.kick()

quartz kindle
#

:^)

trim saddle
#

i'm a regular

#

shoosh

quartz kindle
#

lmao

trim saddle
#

but i did need you because ts is dumb

ancient nova
#

@quartz kindle yeah I use tampermonkey

#

but I get the error

#

while injecting css from a website

zenith terrace
#

why is there a %22

trim saddle
#

url encoding

#

if you checked the raw message content

ancient nova
#

yeah so which website can I use not to get that error

trim saddle
#

it's still a "

ancient nova
#

what

quartz kindle
ancient nova
#

it's a simple css code

quartz kindle
#

i mean the tampermonkey code

ancient nova
#

.something {
background: #ffffff
}

#

oh

#
let head = document.head||document.getElementByTagName('head')[0]||0
this.resources = document.createElement("link");
this.resources.rel = "stylesheet";
this.resources.href = "website to call css from but not to give me the error"
this.resources.disabled = false;
head.appendChild(this.resources)```
#

@quartz kindle

quartz kindle
#

this.resources.type = "text/css"

ancient nova
#

really?

#

holy crap I must be dumb

#

@quartz kindle it didn't give me the error but the css didn't change

#

do I put it before the href or after

quartz kindle
#

doesnt matter

#

can you check in the dev tools if the link tag was correctly appended to the head?

ancient nova
#

alright hold on

#

it was

quartz kindle
#

is there any mention of its styling in the css list for .something?

#

did the file show up in the network tab? whats its status and response?

ancient nova
#

yeah it's working

#

I put the code on github

#

the end of the domain is .css

quartz kindle
#

so the style shows up in dev tools?

ancient nova
#

it shows as a "link"

#

but it's to append

#

the head

#

I had an example code for a different website it worked

#

bit I gotta pay to use it

quartz kindle
#

can you show a pic?

ancient nova
#

of the website?

quartz kindle
#

of the dev tools

ancient nova
#

yeah

#

hold on

#

can I send you in dms?

#

it has my private token

quartz kindle
#

ok

ancient nova
#

sent

quartz kindle
#

and the css list?

ancient nova
#

which list

quartz kindle
#

click on the element with class .something and show the css list for it

ancient nova
#

you mean element.style

quartz kindle
#

i mean what shows up in the dev tools, right side

ancient nova
#

yeah some css shows up

quartz kindle
#

or bottom side, depending on the window size

#

does your css show up there?

ancient nova
#

nope

#

it's a different than the one I put there

quartz kindle
#

does yours not show up anywhere on this list?

#

not even crossed out or grayed out?

ancient nova
#

nope

quartz kindle
#

and in the network tab?

#

does your css file show up there?

ancient nova
#

nope

quartz kindle
#

reload the page with the network tab open

ancient nova
#

doesn't appear to be anywhere in that list

quartz kindle
#

what about the console tag

ancient nova
#

my adblocker blocks some scripts but I don't see it blocking my css, besides the previous example one was working with my adblocker so I don't think that's a problem

quartz kindle
#

nothing about content security policy?

ancient nova
#

they allow the change of css

quartz kindle
#

but do they allow linking external files?

ancient nova
#

well yeah I think

quartz kindle
#

well i cant think of anything else without seeing it

ancient nova
#

:/

#

I see

#

but like I said it's paid

quartz kindle
#

are you 100% sure its not in the console tab? can you show a pic including all errors?

ancient nova
#

yea

#

one sec

#

sent

mellow kelp
#

i got an eventhandler class with a generic type

abstract class EventHandler<E extends keyof ClientEvents> {
    protected constructor(
        public readonly eventName: E,
        public readonly client: Client
    ) {}

    public abstract execute(...args: ClientEvents[E]): void;
}
#

and i want to extend that class for my event handlers like this, but i get a "missing type argument" error:

class ReadyHandler extends EventHandler { // ERROR: Needs a type argument
    public constructor(client: Client) {
        super('ready', client);
    }

    public execute() {
        console.log(`Logged in as "${this.client.user?.tag}"!`);
    }
}
#

is there a way typescript can infer the type argument with the super() call?

earnest phoenix
#

Help me

mellow kelp
#

just authorize

#

and this isn't the channel for that

earnest phoenix
rustic nova
#

as easy as that

ionic dawn
#

Hi, im trying to make a command that adds an emoji using an attachment, everything is going good so far, but im trying to make a confirmation message that includes the same emoji that has been added

#

idk why I can't get it to be sended.

opal plank
ionic dawn
#
msg.guild.emojis.create("foo/foo.jpg", "Emoji name").then(x => {
msg.channel.send(x)
});
#

Shouldn't that return the created emoji? Thonk

quartz kindle
zenith terrace
#

daddy tim

quartz kindle
#

from which you have to chose what you want to send, name? id?

ionic dawn
#

I want to send the created emoji

#

Input:
e.addemoji KEKW

Output:

Emoji added successfully KEKW

quartz kindle
#

<:${x.name}:${x.id}>?

#

although emojis have .toString() methods, so they can be concatenated

#
.send(`bla ${x}`)
``` should work
ionic dawn
#

idk why i was trying to get the emoji after the emoji was created using guild.emojis.cache.get. blablabla

#

like other emojis

#

Sorry for bothering you

quartz kindle
#

should work any way

ionic dawn
#

Couldn't find the emoji object on the guild

quartz kindle
#

did you await it?

ionic dawn
#

yeah

#

anyways, that should work, just need to add something like if(x.animated) etc

#

thanks anyway pepeOK

quartz kindle
#

👍

solemn latch
#

hey tim, is there an easy way to TTL a file on the filesystem?

#

i can do it by hand just checking expiration times, just wondering if there was an easier way.

quartz kindle
#

not that im aware of

#

what for? db backups?

solemn latch
#

just making my own image hosting for woo.pics, want images to expire after some time.

#

or well specific images.

mellow kelp
#

but not with super calls

quartz kindle
#

hmm i guess you'd need timeouts or cron

solemn latch
#

i have the mongo entires with an expire time, i was hoping to ttl them at the same time. think i will just ttl them together with something custom, for the fun of it.

quartz kindle
#

does mongo have pub/sub? or an event that fires when a file expires?

quartz kindle
solemn latch
zenith terrace
#

@quartz kindle dadddyyyyyyyy zoomeyes

quartz kindle
#

owo

zenith terrace
#

uwu

mellow kelp
#

i got it to work in the end, thanks for the help anyways vibing

grizzled raven
#

is there any way to timeout regex without forking a process?

#

actually

#

never mind

distant cobalt
#
else if(db.get(`${message.guild.id}.welcomeChannel`) === null){
                const embed = new Discord.MessageEmbed()
                    .setTitle('![redtick2](https://cdn.discordapp.com/emojis/798000767532924939.webp?size=128 "redtick2") To enable welcome messages, you need to set a welcome channel!')
                    .setDescription('You can set a welcome channel with `p!set-welcome-channel [channel]`')
                    .setColor('RED')
                message.channel.send(embed)
            }``` so i checked if a variable is null. it passes it, why?
pale vessel
#

because it is null

distant cobalt
#

i thought null means nothing

#

or value does not exist

glossy spoke
#

null means that it doesn't have a value

#

like let example = null

mellow kelp
#

it's like undefined, but it's not undefined freerealestate

#

basically means "this is defined, but doesn't have a value"

distant cobalt
mellow kelp
#

you probably want to use null

distant cobalt
#

but i did, and it passes the else if statement?

distant cobalt
#

else if(db.get(${message.guild.id}.welcomeChannel) === null){

mellow kelp
#

oh in that case you should use whatever the function returns as "not found"

mellow kelp
#

mongoose returns null for not found documents, but idk what it might be with quick.db

#

dunno

distant cobalt
#

Okay

mellow kelp
#

just use !db.get('thing')

#

javascript has some "falsey" values, which include null and undefined

distant cobalt
#

ok

mellow kelp
#

so you can use the ! operator to check if the value is "falsey"

#

probably that works

distant cobalt
#

so uh, undefined work

mellow kelp
#

aight

distant cobalt
#
client.on('guildMemberAdd', member => {
    
})``` how do i check which guild the member joins?
lyric mountain
#

member.guild

distant cobalt
#

okk

distant cobalt
pale vessel
lyric mountain
distant cobalt
#
client.on('guildMemberAdd', member => {
    const currentGuild = member.guild.id

    if(db.get(`${currentGuild}.welcomeStat`) === true){
        const welcomeChannelSend = db.get(`${currentGuild}.welcomeChannel`)
        const welcomeMsgSend = db.get(`${currentGuild}.welcomeMsg`)
        const welcomeChannelSend1 = client.channels.cache.get(welcomeChannelSend);
        welcomeChannelSend1.send(welcomeMsgSend)
    }

    else{
        return
    }
})``` it does nothing. Why?
mellow kelp
#

make sure you have the guild members intent

distant cobalt
#

hmm

#

k

#

o wait

#

thanks

#

it worked

#

i forgot i'm on a new bot

mellow kelp
#

gokart_doggo aight

earnest phoenix
#

why are you doing so many calls to your db wtf

#

can't you just keep those three in a single object?

quartz kindle
#

^

#

just db.get(currentGuild)

#

should return an object containing all of it

quartz flint
#

hi guys need some help on my bot development

#

discord has been constantly shooting down my server members intent verification

#

I have a guild leaderboard feature, is there a way to implement without the intent ?

quartz kindle
#

depends

#

what exactly does your leaderboard need?

#

what does it do with the members intent?

quartz flint
#

so I currently have a database of user profiles based on discord id

#

currently what i have is get the list of a guilds members and check which ones in that list have a game profile in my database

#

but this one needs the intent

quartz kindle
#

why not the other way around?

quartz flint
#

check which profile is in the guild ?

quartz kindle
#

get list of game profiles from db and fetch their members

quartz flint
#

this would mean i'd need to fetch every member each time i refresh the leaderboard would it not?

quartz kindle
#

how many members do you show at once?

#

like top 10?

quartz flint
#

yea top10

quartz kindle
#

so just fetch 10 members

quartz flint
#

of the current guild

quartz kindle
#

you can fetch them all in one request

#

guild.members.fetch({user:[id1,id2,id3,...]})

mellow kelp
#

wait is that an actual thing

#

gasp

quartz kindle
#

actually its user, not users

#

but yes, user accepts an array of ids

#

and iirc you can fetch up to 100 at a time, without the members intent

#

limit is set to 50 by default

quartz flint
#

would I not be sending my entire list of ids everytime i need a leaderboard refresh though with this ?

quartz kindle
#

depends

mellow kelp
#

fetch also checks the cache

quartz kindle
#

what kind of refresh do you need?

restive willow
#

Has anyone with bigger bots (like more than a few thousand servers) had Broken pipe errors? No idea what it means and it seems to stop the bot working in certain servers

quartz flint
#

after i fetch once does it cache indefinitely as long as my bot is up ?

quartz kindle
#

yes

#

but without the intent, the members wont get updated, for example you wont receive nickname changes and role changes

quartz flint
quartz kindle
#

your list is global or per guild?

#

or both?

quartz flint
#

for that I need to recheck on each leaderboard call because they could leave the guild, new ppl could join

#

I have both, per guild and global

#

global is fine

#

no issues

#

its the per guild I'm struggling

quartz kindle
#

so the per guild list should have guild ids stored with the profiles, no?

quartz flint
#

well they could be in multiple guilds

#

so it wasnt information i stored

quartz kindle
#

yes but they would be in different rankings in each guild no?

quartz flint
#

i was relying on the guild list to check against

quartz flint
quartz kindle
#

so if you have a guild-specific ranking, how do you know which ranking belongs to which guild in the database?

quartz flint
#

What I currently do is check which profile ids are also in the guild's id list, then rank those

quartz kindle
#

so its not a guild-specific ranking

#

its just a global ranking filtered by guild?

quartz flint
#

i mean yea i guess, it would show 1 through 10 of the members of that guild

quartz kindle
#

but if a member is in 2 guilds, he would have the same amount of points in both right?

quartz flint
#

yea but he could be #8 in one and #1 in another

quartz kindle
#

yes but the points are still the same

#

so its still a global ranking

quartz flint
#

yes points are the same

quartz kindle
#

so in this case there is not much you can do besides fetching the top members 100 at a time until you found 10 that exist in the guild

quartz flint
#

right

#

which sounds incredibly taxing

quartz kindle
#

kinda

#

they will get cached, so whatever can be reused later will be

#

but still

#

worst case scenario, you got a guild with 9 members and one of them has the lowest points in the entire database

#

you will fetch your entire database until you end up with those 9

quartz flint
#

right which was what I meant by wouldnt i need to run my entire list each time i refresh my leaderboard

quartz kindle
#

you shouldnt refresh it tho

#

leave it cached

quartz flint
#

kind of defects the leaderboard purpose if I dont update it live no? haha

quartz kindle
#

you update points and scores

#

not discord data

earnest phoenix
#

that's such a weird to handle this though, usually you'd either show your global top 10 regardless whether they're in the guild or not or you would store per guild 🤔

quartz flint
#

i have a global top 10

quartz kindle
#

didnt tatsumaki do things like that tho?

quartz flint
#

what do you mean by store per guild

quartz kindle
#

different ranking per guild

#

aka you have 50 points in one guild, you join another, you have 0 points there

quartz flint
#

ahh i see

#

well was working fine till i hit the intent verification wall

#

such a frustrating verification process

quartz kindle
#

ye

#

the best you can do is fetch 100 at a time

#

and beg discord to give you the intent

#

how many users do you have now?

#

in the db

quartz flint
quartz kindle
#

its even worse that the members wont even get cached if the guild is wrong lmao

#

lets say you fetch the top 100 in a specific guild

quartz flint
quartz kindle
#

if one person of those top 100 is in the guild, the fetch call will return 1 member, and cache one member

#

all other 99 will not be returned

earnest phoenix
#

you're still at quite a low user count, theoretically you can start storing the guild ids in which the user has been using your bot

quartz flint
#

yea tough, have to explicitly design to not use the intents

#

yea I was planning on redesigning to store latest guild id

quartz kindle
#

you'll have to make do with what cry said

quartz flint
#

or something or the sort, no other way around it

quartz kindle
#

lets say a person has to send at least one message before they get a ranking

#

once they do, you add them to the list of users that exist in the guild, in your db

#

you wont know if they leave the guild, but at least you know they were in it at some point

#

when you try to fetch them, if they are not in the guild anymore, the fetch will fail for them

#

at that point you remove them from the db

quartz flint
#

do you guys have experience with the verification? did you manage to get the intent whitelist ?

dusky sundial
#

I applied for it 4 days ago, no response yet

quartz kindle
#

i got the members intent for my captcha bot

#

my main bot doesnt need any of the intents tho

#

so i didnt ask for them

grizzled raven
#

you could save the total amount a server has in the db every time the server runs the leaderboard command, and then make the server leaderboard from those saved totals

quartz kindle
#

thats another option

dusky sundial
#

You can still get whitelisted despite your bot already being verified right?

quartz flint
#

yea my bots already verified

#

just they dont seem to want to grant the whitelist

quartz kindle
#

if you use an SQL database or similar, you can either put a list of guilds in each member row, or a list of members in each guild row

quartz flint
#

leading to some of my commands not working that was initially using the intent

grizzled raven
#

i got the intent first try so i guess i was just lucky seeing how many people are struggling to get it

#

or maybe my usage of the intent is actually good or something idk

dusky sundial
#

I'm still waiting for a reply. They said up to 5 days, so hopefully I'll get it today

quartz flint
#

whats your usage noob27 ?

quartz kindle
#

since when to companies respect their deadlines lul

dusky sundial
#

Tru

grizzled raven
#

reward roles, blacklisting/whitelisting roles

#

plus i need member nicknames but i didn't need it at the time of applying

dusky sundial
#

It's a bit annoying, but understandable that they're needed

quartz kindle
#

i think the solution of storing guild ids is the best option

quartz flint
#

i just feel like im doing gymnastics to workaround the intents

#

yea i'd probably redesign

quartz kindle
#

you can do something simple like this:

#

on message

  • check if user exists in ranking, if not create it
  • check if user has current guild id in ranking, if not add it
#

so you will have a user profile with a list of guild ids it exists in

#

and you can simply filter by it

#

get all users whose guild list includes current guild

#

then try to fetch them, to get their nicknames, etc

#

and if the fetch fails, remove the guild id from their guild list

quartz flint
#

cheers, i'll go have a think

#

thanks a bunch guys

mellow kelp
#

men go have a drink

#

programmers go have a think

#

chads go have both

opal plank
#

@quartz kindle timmy, shard meh non complicated bot pliz

#

tis good ts practice for you

spice ocean
#

why cant my bot purge

dusky sundial
#

Well, that's gonna be hard to say if you don't show the code or the error

spice ocean
#

it doesnt have the permites

#

permits

dusky sundial
#

So then your bot needs permissions to manage messages

spice ocean
#

so how do i give it permits-

dusky sundial
#

It needs it on it's role

spice ocean
#

how do i make it on its role-

#

like it generates it

#

like carl

dusky sundial
#

You can check what permissions your bot needs when you generate the invite link on your developer portal

spice ocean
#

i clicked admin

#

but how do you save it

#

it doesnt save

#

for next time

dusky sundial
#

The invite link changes depending on what permissions you check

#

it doesn't save it to the entire bot

#

only to that specific invite

spice ocean
#

oh

#

it works

#

tyty

wraith grotto
#

!rank

crystal wigeon
#
async function initDrops(array, validateRaid, user, isRare = false) {
  return await new Promise((resolve, reject) => {
    if (!Array.isArray(array)) resolve([])
    if (array && array.length > 0) {
      var rewards = [];
      array.map((drop, index) => {
        if (isRare) {
          const dropchance = [drop.rate, 100];
          const ratebool = [true, false];
          if (!ratebool[probability(dropchance)]) resolve(rewards);
        }
        validateRaid.raid_boss.map(async (c) => {
        for (var i = 0; i < drop.number; i++) {
            try {
              const ranks = await getRanks({ rank: drop.rank });
              var level = randomNumber(2, 5);
              var options = {
                character_id: c.character_id,
                character_level: level,
                r_exp: Math.floor(baseXp * level ** exponent),
                user_id: user.id,
                rank: ranks.rank,
                rank_id: ranks.rank_id,
                exp: 1,
              };
              rewards.push(options);
              if (index === array.length - 1) resolve(rewards);
            } catch (err) {
              console.log(err);
              reject(err);
            }
        }
      });
      });
    }
  })
    .then((res) => res)
    .catch((err) => {
      console.log(err);
      return;
    });
}```

Hey guys, so im trying to call this in Promise.all() but it doesnt seem to be waiting for everything to be pushed to the array rewards
#

its only pushing the first 1 and then completely resolves

#

ik im missing something

#

someone help

#

thanks!

#

@solemn latch

solemn latch
#

yo, im doing bot reviews rn

crystal wigeon
#

ah mb

sacred trout
lyric mountain
#

use the api

sacred trout
#

how?

#

what api?

lyric mountain
#

top.gg api, what lang do you use?

sacred trout
#

py

solemn latch
#

array.replace doesnt exist afaik

warm glade
#

i have a bot which is pretty much a fake stock market

#

it gets irl stocks and u trade them w/ fake money

#

i only have the barebones (invest,sell,portfolio,graphs,database) anyone have ideas for other stuff to add

sacred trout
#

can anyone tell me why is this not opening?

#

https://imgur.com/a/QND1Xu7

steady raven
modest crane
#

hastebin having problems

drifting shell
steady raven
solemn latch
#

reasonable solution.

drifting shell
steady raven
#

if it doenst work the only solution is..

#

delete it 😄

sacred trout
#

anyone know anout discord rpc?

#
var rpc = require("discord-rpc")
const client = new rpc.Client({ transport: 'ipc' })
client.on('ready', () => {
    client.request('SET_ACTIVITY', {
        pid: process.pid,
        activity: {
            details: "Skynet",
            assets: {
                large_image: "/botpic.jpg",
                large_text: "Skynet!" // THIS WILL SHOW AS "Playing <Status>" from the outisde
            },
            buttons: [{ label: "Vote!", url: "https://top.gg/bot/788612480636944414/vote" }, { label: "official Website!", url: "https://skynet.schwitz.repl.co/index.html" }]
        }
    })
})
client.login({ clientId: "" }).catch(console.error);```
#

is this correct?

pale vessel
#

only one way to find out

sacred trout
#

umm i ran

#

but

#

nvm working

#

mb

#

the button redirecting?

#

@pale vessel

earnest phoenix
#

any api that gets info a a anime character? not anilist

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

rocky hearth
earnest phoenix
sacred aurora
#

its not official tho

earnest phoenix
#

Wait no i didnt know u can also use their api without token ima just use anilist

#

anilist-node

sacred aurora
#

hmm

hasty mulch
#

Anyone know of any anime gif APIs?

sacred aurora
craggy pine
#

works fine for me mexShrug

sacred aurora
hasty mulch
#

@craggy pine Did you mean to tag me?

craggy pine
hasty mulch
#

Oh, ok

craggy pine
#

idk anime gifs api unfortunately.

sacred aurora
#

try to nekos.life npm

craggy pine
#

pretty sure Nekos.life isn't allowed for bots on top.gg | Or its a similar api due to loli NSFW

sacred aurora
#

oof yea tho

earnest phoenix
craggy pine
#

👍

pale vessel
#

So is Jikan

#

It returns OPs and EDs

#

I'd say it's better then MAL's official API

earnest phoenix
#

Wait wht

#

Ima check it out

pale vessel
#

But AniList GraphQL API is cool too

earnest phoenix
#

Aight

hasty mulch
timber frost
#

does anyone know how to save an image in mongodb for later use for a canvas? and are you able to provide the doc or an example. thanks :3

pale vessel
#

Store it in base64

#

Retrieve it from the database, convert it to a buffer and use const image = new Canvas.Image(); image.src = buffer;

timber frost
#

makes sense, thx I'll try it out later

tired panther
#

message.guild.me.permissons gives undefined
and yes I fetched the botmember (client.user) already
tried it also with .permisson

earnest phoenix
willow mirage
#

lmao

#

permission

earnest phoenix
#

install node then restart your shell

normal sage
old cliff
#

my rpc is not displaying the large_image

rocky hearth
#

in programming, why do multiplication and division has same priority?
Because, division is not always accurate...

cinder patio
#

multiplication comes before division

tribal siren
#

await member.kick({ reason: reason })

#

what's wrong

cinder patio
#

reason isn't a string but an object

#

show how you defien it

#

define

tribal siren
#

const reason = message.content.split(" ").slice(2).join(" ") || 'N/A';

#

so what's wrong?

pale vessel
#

Reason is a string, not an object

#

It's not like message.delete({ timeout })

tribal siren
#

oh

#

so like

#

await member.kick({ reason })?

pale vessel
#

Nope

#

Just reason

#

It's not an object, again

tribal siren
#

oh

#

so

#

await member.kick(reason)?

tribal siren
#

alrighgt thanks

sacred trout
#

Hey today mornig my bot was in 58 servers now in 100 so i wanna know how tf it got from 58 to 100 in like 4hrs

#

How can i see every guild my bot is in?

#

Please help

heady cradle
#

Hello

hallow viper
#

hello i need help for developing a bot

heady cradle
#

As in?

hallow viper
#

a placeholder bot so i can have a bot in for 24/7

#

vc

earnest phoenix
#

module.exports = {
  name: 'help',
  run: (message, args, client) => {
    message.channel.send(`<@${message.author.id}> check your DMs!`);

    const help = new MessageEmbed()
      .setColor('red')
      .setTitle('command list\nban')
      .setDescription('')
    message.author.send(`**thank you for adding this bot**\nPrefix: ${client.prefix}\nCommands: https://discordgg/5AJFadyJKZ`, help);
  }
}```
#

I need help, is there a way I can make

#

Name:
Value:

#

And so on

pale vessel
#

Can you elaborate

earnest phoenix
#

Like

#

Banana
Does banan stuff

Naughty
Dad bad cry

Oof
Yes no bruh

#

Like the titles are a bit more thick

#

Or lighter

#

@pale vessel

rocky hearth
#

@earnest phoenix u can make the text bold in the embed's field title, by **your_text**

earnest phoenix
#

Where?

#

Isn’t it just

#

Name:
Value:

rocky hearth
#

.addField("**your_bold_text**", "its value")

earnest phoenix
#

Alr, I can add multiple lines of this right?

rocky hearth
#

yup

earnest phoenix
#

Thanks man

sacred trout
#

hey how can i get a list of all servers my bot is in

stray moat
sacred trout
#

do you have any code for that?(py)

stray moat
pale vessel
#

It's <client>.guilds

stray moat
#

it is pretty easy

sacred trout
#

no i want a full list

#

of all servers

pale vessel
#

yes it's full

sacred trout
#

i want that only i can exe it

stray moat
#

u can do it in 2 ways u can do it through commands ..keep on printing all guilds in each message..or just open a file and adding it through loopand finally saving it

pure lion
#

oops wrong channel

slender thistle
sacred trout
#

no only me

#

as in

#

i am the dev

slender thistle
#

Exe what exactly

old cliff
#

my discord rpc doesn't show image

#

I have saved asset and selected large_image

#

still

#

also what to enter in client id ?

earnest phoenix
#

Should I use that

#

Or this

#

nobody cares

#

@earnest phoenix nobody cares about you too

pulsar bone
shadow pebble
#

how to fix ambassadors bot offline on my server

umbral zealot
#

Ask the owners of Ambassadors bot...

distant wren
#

whats a good tutorial for sqlite

lyric mountain
#

you're trying to retrieve an item at an invalid index somewhere

earnest phoenix
#

How do I make a GitHub repository like this?

#

Is this channel related or should I change channels?

summer torrent
#

what do you mean by "this"

earnest phoenix
#

Like the design

earnest phoenix
#

But I feel bad I don’t wanna copy hers

cinder patio
#

use markdown

earnest phoenix
#

Hi, I know maybe this is a stupid question, but do you know what command in ubuntu can replace existing files (downloaded from the same github repository) with new ones, replaced in this repository?
When I write a git clone I give a link, it won't work for me.

#

Like when you copy codes?

#

what.

earnest phoenix
#

but before i downloaded files from my repository and the folder has the same name

#

git clone only works the first time, then doesn't

#

it is private repo ; )

#

someone can help me with this?

earnest phoenix
#

🥺 pls

rustic nova
#

That folder already exists

#

Literally read

harsh blade
#

I Have a problem
My bot thinks an user has a ticket but i triple checked and he dosent have a ticket open
I Checked my code and saw his id in the database
How can i edit a database? like what programs to use

rustic nova
#

SQL syntax

#

Something like DBeaver or DataGrip

#

Well it actually depends what database you use

pulsar bone
lyric mountain
#

maybe you've mistaken the max value

pulsar bone
#

loopcounter = 1
while loopcounter <= 10:
one = message.content.split('D: ')
two = one[loopcounter].split('\n\n')
await message.channel.send(two[0])
await asyncio.sleep(10)
loopcounter += 1

earnest phoenix
#
const discord = require("discord.js")
const db = require("quick.db")
module.exports = {
  name: "msg",
  aliases: ["msgs", "mymsgs"],
  description: "Find out how many messages you have",
  run: async (message, args) => {
   
    let msgs = db.fetch(`messages_${message.guild.id}_${message.author.id}`)
  if(msgs === null) msgs = 0
    
    message.channel.send(`${message.author} has ${msgs} messages`)
    }
}```
#

For some reason it only shows 0

#

?

grizzled raven
#

do you save messages

earnest phoenix
#

Wdym?

limpid moth
#

I have a problem

#

my bot isn't turning on

earnest phoenix
limpid moth
#

Cmd prompy gives me and error saying Discord.client is not a function

#

promt*

earnest phoenix
#

use

#
<discord>.Client()```
limpid moth
#
const Discord = require('discord.js');

const client = Discord.client();



client.once('ready', () => {
    console.log('Doggo is online')
});



client.login('');
#

thats the code without token

earnest phoenix
#

wait

#
const Discord = require('discord.js');

const client = new Discord.Client();



client.once('ready', () => {
    console.log('Doggo is online')
});



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

yea

limpid moth
#

now it says its not a constructor

lyric mountain
lyric mountain
#

you need to consider array size

earnest phoenix
#
const Discord = require('discord.js');

const client = new Discord.Client();



client.on('ready', () => {
    console.log('Doggo is online')
});



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

use this

limpid moth
#

ty

#

it works mow

#

now

#

im dumb

#

sorry

earnest phoenix
#

;D

limpid moth
#

My bot won't respond to me

#

client.on('messsage', message =>{
    if(message.content.startsWith(prefix) || message.author.bot) return;

    const args = message.content.slice(prefix.length).split(/+/);
    const command = args.shift().toLowerCase();

    if(command === 'ping'){
        message.channel.send('pong!');
    }
})
#

That is message cod

#

code*

#

What is missing/ is the problem

slim umbra
#

please learn how to code lol

#

and dont throw together shit u found online

limpid moth
#

what?

knotty stirrup
# limpid moth what?

hes saying don't try to code, because your getting that from the web, or YouTube.

lyric mountain
#

if(message.content.startsWith(prefix)) return; lul

#

"If this starts with the prefix, quit"

tepid patio
#

not being rude

cinder patio
tepid patio
lyric mountain
#

if (NOT message starts with prefix || ...)
he'll copy this

knotty stirrup
#

exactly

tepid patio
#

why is people helping him...

#

he gotta learn js first....

knotty stirrup
#

then check make a bot

#

boom

#

learn js

cinder patio
#

you're being too harsh to someone who has 24 messages in this server. I'm not giving them code, I'm telling them what they need to do to fix it and what it means

knotty stirrup
#

my going to others people code any copy and pasting it? like he did.

#

last time i checked that aint it

tepid patio
limpid moth
#

ty

lyric mountain
#

oh my

limpid moth
#

I dont have much experience with text based coding and am trying to start

lyric mountain
#

I'd suggest u start with simpler apps

lyric mountain
#

like console programs

cinder patio
limpid moth
#

ok

#

ty

lyric mountain
#

there's no shame in starting with a calculator project

#

and it'll help u learn the lang you're using

#

bots aren't a beginner-friendly project

glossy spoke
#

I was a brginner when started my bot

#

But i knew a little bit of JS and i learn fast

knotty stirrup
#

now im tryna do ts which will be easy if i know js

glossy spoke
#

Nice

zealous scroll
#

my bot was removed from all the server how and why??

solemn latch
#

All bots got removed from this server

#

Like over a month ago

lusty quest
#

did you ran a eval command or have a open eval command

solemn latch
#

Oh all

zealous scroll
lusty quest
#

does your bot got a major issue that caused all guilds to remove it? like spammy behavior, broken commands?

solemn latch
#

Any chance of token leak or server hacking?

#

Or any other devs which had access to those things

glad violet
#

HELP THAT IS EMERENCY

#

my bot uses all prefixes

#

but i have type const PREFIX = "&"

#

code

#
const PREFIX = '&';

var version = '1.2';

var servers = {};

bot.on('ready', () =>{
    console.log('Bot Enabled') ;
})

bot.on('message', message=>{
    if(message.content === "Hi"){
        message.channel.send('Hello');
    }
    if(message.content === "How Are You"){
        message.channel.send("I Am Good")

    }
    
    let args = message.content.substring(PREFIX.length).split(" ");
#

Uses All Prefixed For Commands Next This Code

summer torrent
#

you are not checking message content for prefix

glad violet
#

Like &play it works with ^play too

#

i have more code @summer torrent

#
const PREFIX = '&';

var version = '1.2';

var servers = {};

bot.on('ready', () =>{
    console.log('Bot Enabled') ;
})

bot.on('message', message=>{
    if(message.content === "Hi"){
        message.channel.send('Hello');
    }
    if(message.content === "How Are You"){
        message.channel.send("I Am Good")

    }
    
    let args = message.content.substring(PREFIX.length).split(" ");
    switch (args[0]) {
        case 'play':
            
            function play(connection, message){
                var server = servers[message.guild.id];
                
                server.dispatcher = connection.play(ytdl(server.queue[0], {filter: "audioonly"}));

                server.queue.shift();

                server.dispatcher.on("end", function(){
                    if(server.queue[0]){
                        play(connection, message);
                    }else {
                        connection.disconnect();
                    }   
             
               });
            }

               
             if(!args[1]){
                 message.channel.send("You Need To Provide A Link")
                 return;
             }
summer torrent
#

still

glad violet
#

play command works with all prefixed

#

i know Hello And How Are U Dont Need Prefix

#

but play is the problem

summer torrent
#

just check if message content starts with your prefix

glad violet
#

let args = message.content.substring(PREFIX.length).split(" ");

#

where is the problem

summer torrent
glad violet
#

is
const PREFIX = '&';
const PREFIX = "&";

summer torrent
#

dude

glad violet
#

using " instead of '

summer torrent
#

can you read my messages please

glad violet
#

yes

earnest phoenix
rustic nova
#

Yes, a pc with vscode or intellij

earnest phoenix
#

I really have a lot of problems... with the hose

summer torrent
#

same for glitch

glad violet
#

it is a cloud editor

earnest phoenix
glad violet
#

i know Heroku

earnest phoenix
#

Is there any other ones?

earnest phoenix
glad violet
#

know*

solemn latch
#

Repl is a fine web editor, just don't expect anything fancy.
Most programming apps on mobile are intended for learning, not making stuff like bots.

#

If your looking for better experience when programming a computer is the way to go.

sudden geyser
#

Yes, computers have not gone away yet.

earnest phoenix
#

It dies every 2 minutes

pale vessel
#

??

#

How is that racist

solemn latch
#

I wonder if using uptime bots with repl is even allowed. From their acceptable use policy.

Interfer with or disrupt the Services or create an undue burden on Replit's website or the networks or services connected to Replit's website;
earnest phoenix
#

@solemn latch no it’s allowed since many famous bot devs do it lol

solemn latch
#

Someone else breaks tos so it must be okay!

#

Repl dont really do anything against it, which is fine, just the TOS reads like its not allowed.

cinder patio
solemn latch
earnest phoenix
solemn latch
#

2vcpu 2gb of ram $5 a month.

earnest phoenix
#

No one really uses that one unless 120 commands lmao

solemn latch
#

Your usage mostly depends on user count not command count

quartz kindle
#

not bad at all

#

but its still not a full vps is it?

#

so that hurts your use case possibilities

solemn latch
#

Oh totally, but just looking from the perspective of someone who doesn't know anything about Linux, it's not a bad option for just a one click upgrade.

#

Glitch and heroku the upgrade path from free to paid was kinda expensive iirc, figured repl was the same way.

lusty quest
#

repli.it still limits what you can do on the VPS

#

iirc

earnest phoenix
#

Pong! Latency is 66ms. API Latency is NaNms
Any idea why

quartz kindle
solemn latch
#

Per repl I'm guessing

earnest phoenix
solemn latch
#

We would need the code

earnest phoenix
#
        const m = await message.channel.send("Ping?");
        m.edit(`Ping! Latency is ${m.createdTimestamp - message.createdTimestamp}ms. API Latency is ${Math.round(client.ping)}ms`);
    
    }```
solemn latch
#

Client.ping doesn't exist

earnest phoenix
#

?

#

Seriously

solemn latch
#

You need to use the websocket to get ping

earnest phoenix
#

Means

#

Oh got it

austere zealot
#
@client.command()
async def cookie(ctx,member : discord.Member):
    await ctx.send(f"{ctx.author.mention} you gave a cookie to {member.mention} :cookieeat:")
``` this is my cookie command but the cookieeat emoji wont work