#development

1 messages ¡ Page 1721 of 1

earnest phoenix
#

okkk

#
Object.defineProperty(exports, "__esModule", { value: true });
                      ^

ReferenceError: exports is not defined
quartz kindle
#

do you have type:module in your package.json?

earnest phoenix
quartz kindle
#

remove it

earnest phoenix
quartz kindle
#

node doesnt support import by default

#

if you really want to use import in node, you have to enable experiemntal es modules

quartz kindle
#

whats your node version?

earnest phoenix
quartz kindle
#

no idea then

#

for node 13+ its either put type:module in the package or same your file as .mjs instead of .js

#

if neither of those work, idk

#

if you want my opinion, just use commonjs

#

theres no reason to have es6 imports in the compiled files

#

you already have them in your ts files

earnest phoenix
#

😔

iron tendon
#

I'm trying to get a list of subcommands in a command group. How do I go about doing this?

Here is my current code: https://srcb.in/VJtFpwfmzi

cobalt spruce
#

code was working then

#

TypeError: Cannot read property 'setPresence' of null

iron tendon
#

yoo it works

cobalt spruce
#
bot.user.setPresence({ activity: {name: 'Hi',type: "WATCHING"}, status: 'dnd' ,}).catch(console.error);}```
cobalt spruce
long crow
iron tendon
#

ok wrong chat

cobalt spruce
long crow
#

lol

cobalt spruce
#

bully

#

lol

long crow
#

Im literally asking you wht version

cobalt spruce
#

v12

long crow
#

not whre you code

cobalt spruce
#

discordjs v12

cobalt spruce
#

but nothing helped

long crow
#

moment

cobalt spruce
#

just making a music bot using DisTube

long crow
#

did you pull it from github?

cobalt spruce
#

yes

#

why not

long crow
#

if so, activity become activies, and the activites is in array

#

so that is Master Branch

long crow
#

client.user.setPresence({ activities: [{ name: ';help' }], status: 'online' })

#

it become like this

cobalt spruce
#

client.user.setPresence({ activities: [{ name: ';help' }], status: 'online' })

#

same F error

#

nvm

#

how do i make my bot connect to stage channel

odd stratus
#

If you use discord.js you’ll need to use the master branch

#

V12 doesn’t support it

blissful coral
#

so I toss this data with this value into my function to change it to a string value depending on the number

#

its returning this?

#

@crimson vapor

odd stratus
odd stratus
#

Keep in mind you’ll have to make some code changes with master branch by checking the documentation

odd stratus
cobalt spruce
#

lol

#

i just wana connect my bot to stage channel

blissful coral
#

I did some custom shit for them

#

Through a PR that isn't merged to master

cobalt spruce
#

and make him a speaker

blissful coral
#

Yeah I did some stuff for muhimurs bot to do that lul

#

It isn't in master

cobalt spruce
#

F

cobalt spruce
#

or can u help me out

#

i read PR but am dumb

odd stratus
#

The stages PR got merged by Amish a while ago

blissful coral
#

Oh nvm

#

Then it is

odd stratus
earnest phoenix
#

I am looking to make a vote skip system, so when there are more than 3 people in the call, users have to vote to jump, but if there is a DJ he jumps straight, in which case he would do the forceskip to force and skip the song.

odd stratus
earnest phoenix
#

Could you tell me what your bot is for me to check how it works?

odd stratus
#

StormBeatz

#

The amount of votes required depends on the amount of people in VC

earnest phoenix
odd stratus
#

Yea

earnest phoenix
earnest phoenix
# odd stratus Yea

The problem is that I don’t even know how to start the command because I don’t have an idea or a basis for how it worked

odd stratus
#

Do you have a skip function right now

#

To be able to skip songs

earnest phoenix
#

I have the skip command

odd stratus
#

And that doesn’t make a vote right? Just instantly skips it?

earnest phoenix
#

It just skips to the next song, only the author or the DJ can use this command, to avoid playing by other users

steep drum
#

you should forget the code for now and just think through and list out the steps that you want to happen

tardy lion
#

wrong image

#

my folder isn't an command

umbral zealot
#

So first up, stop using batch files

#

This ain't the 90's

#

if you want your node program to restart automatically the way to go is to use pm2, forever, or nodemon. Personally I recommend PM2

tardy lion
#

ok

#

but

#

im trying to run all my bots at once

umbral zealot
#

pm2 start all works fine

#

¯_(ツ)_/¯

tardy lion
#

but how does it work

#

does it just go into each folder

#

and run index.js?

umbral zealot
#

You have to set up each process separately

#

like pm2 start index.js --name="bot1"

tardy lion
#

im trying to do cd folder & node index & cd ../

#

and then the rest

umbral zealot
#

You don't need to do that at all

#

that's the point, that's dumb

waxen bough
#

node is a console app so it will block the batch script

umbral zealot
#

pm2 literally registers each app separately and can be controlled separately too

tardy lion
#

so do i do

umbral zealot
#

here look

tardy lion
#

npx concurrently "pm2 start index.js & cd ../"

umbral zealot
#

no

tardy lion
#

and then the rest

umbral zealot
#

dude just read the docs seriously

#

it's not that hard

tardy lion
#

sooooooo

#

if i restart my pc

#

would it start?

umbral zealot
#

You can set pm2 as a service so it restarts itself

tardy lion
#

so as the bots?

umbral zealot
#

no need for dumb ass batch files

#

yes, the bots

tardy lion
#

hell yes im installing pm2 on my pc

#

brb

umbral zealot
tardy lion
#

its installing

#

its stuck

waxen bough
#

if only i knew pm2 sooner

tardy lion
#

now its installing

waxen bough
#

be patient

tardy lion
#

ok

#

how do i set pm2 as a process

#

that starts itself automatticly

umbral zealot
#

all the docs are there

tardy lion
#

i have a question

#

nvm

#

how

#

do i run more processes

#

oh

umbral zealot
#

yeah it goes back to prompt

#

now add another

#

yessir

#

and if you want to see logs, pm2 logs 0 shows the logs for id 0

#

they're all saved on disk

tardy lion
#

omg

umbral zealot
#

you might wanna use --name to give them better names than 'index' of course

tardy lion
#

oh

#

no

#

i want it to be called index

umbral zealot
#

you want all of them to be called index? how do you tell which one is which

tardy lion
#

so how do i make pm2 startup when my pc restarts

umbral zealot
tardy lion
#

im on windows

#

not linux

waxen bough
#

use windows task scheduler

tardy lion
#

where would i find that

waxen bough
#

might be a help

#

wait lemme boot up my vm

#

Ctrl + R

#

and enter taskschd.msc

tardy lion
#

no

#

i have search button

#

now what

waxen bough
#

well entering it there works too

#

right click in Task Scheduler Library

#

and click New Folder.... This is for your own custom apps DON'T mess with other task schedules

tardy lion
#

now what

waxen bough
#

oh wait expand it first

tardy lion
waxen bough
tardy lion
#

0:00

#

oh

#

ok

#

my pc is lagging

umbral zealot
#

hold up why the hell are you in the task scheduler now notlikethis

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

tardy lion
#

ok

#

bano is teaching me magic

umbral zealot
#

no he's teaching you BS, sorry

tardy lion
#

ok

umbral zealot
tardy lion
#

then why did i create a pm2 folder

umbral zealot
#

like, READ the page, the whole thing

#

look at the end

waxen bough
#

oh

#

i apologize

tardy lion
#

jk

umbral zealot
#

You have to learn to read and think, man, not just rely on everyone else spoonfeeding you answers

tardy lion
#

so

umbral zealot
#

So? is there anything in this screenshot that might be, y'know, super valid for you?

tardy lion
#

windows consideration

umbral zealot
#

Yes. Please, read the docs, don't skim them or stop at the first page and go "but the answer isn't here!"

tardy lion
#

windows consideration

#

i did

#

it was linux stuff

umbral zealot
#

Ok and what's your next move then

#

it wasn't

tardy lion
#

oh

umbral zealot
#

look, I shows you the windows part at the end you didn't scroll down to see

#

so it wasn't just linux stuff

waxen bough
#

you can now delete the folder you created in task sceduler haha

#

well

tardy lion
#

ok

#

its telling me to install pm2

umbral zealot
#

no it's not

tardy lion
#

pm2installer repo

umbral zealot
#

It's telling you to run pm2-installer

#

that is not pm2

tardy lion
#

oh

umbral zealot
#

READ

#

THE

#

PAGE

tardy lion
#

OK

#

pm2-installer is designed to automate installation of pm2 as a service, particularly on Windows, even in environments without Internet access.

umbral zealot
#

yes exactly

#

now read all the other sentences on that readme

#

all the way to the end

tardy lion
#

its telling me cool features

umbral zealot
#

good, keep reading.

tardy lion
#

Create the C:\ProgramData\pm2 directory and set the PM2_HOME environmental variable at the machine level

#

Set permissions both the new npm and pm2 folders so that the Local Service user may access them

umbral zealot
#

don't come here and paste the entire readme

tardy lion
#

ok

umbral zealot
#

we don't need to read this. you do.

tardy lion
#

ok

#

so this is just an installer with new features

cosmic forum
#

Would replit or Heroku be better for hosting an api powered by Nodejs?

umbral zealot
#

Heroku

tardy lion
#

along with pm2

umbral zealot
tardy lion
#

ok

umbral zealot
#

you don't have time to confuse other people, just read and do your stuff MarioFP

tardy lion
#

who the f is jesse

umbral zealot
#

don't care, doesn't matter, it's a person that did a thing you need.

slender thistle
#

Both repl and Heroku are fine generally, but they are free, so you can't exactly scale it without money

tardy lion
slender thistle
#

That's where VPS and VDS come in play

umbral zealot
#

Yes. In our language we call that "someone's name", or "an author", or, "the identifying nomenclature of the person"

tardy lion
#

ok

#

Unfortunately, PM2 has no built-in startup support for Windows.

#

this readme is pog

#

PM2's documentation recommends using either pm2-windows-service or pm2-windows-startup. However, both of these projects have some real drawbacks.

#

ok

#

i read

#

now what i do

#

so wheres the ps1 file

#

where it starts pm2 when i reboot

umbral zealot
tardy lion
#

what

umbral zealot
#

yeah ok if you don't get simple english I'm pretty done trying to help you

tardy lion
#

so

#

do i download it as a zip file

umbral zealot
#

So literally pm2-installer is what you need

tardy lion
#

ok

umbral zealot
#

and if you just follow insructions and read instead of spinning your head around constantly like that emoji, maybe you'd get things done

tardy lion
#

thatw ould break my neck

sudden geyser
#

just buy a new one

tardy lion
#

on ebay

sudden geyser
#

sad

#

try to not break your neck then

tardy lion
#

GUYS

#

GUYS

#

i found the pro way

#

i did it

#

why isnt my bots starting

#

someone regenerated my token

#

pog

#

it works now

earnest phoenix
#

eh

tardy lion
#

yeah

#

now i think it isn't compatible for windows

waxen bough
#

i don't think they would release one for windows if it's not compatible

tardy lion
#

none of my processes are starting

#

for all the versions of pm2 i tried

#

so im sticking with bat file

umbral zealot
#

just annoyed.

earnest phoenix
#

why i'm getting this?: Unknown file extension ".json"

umbral zealot
#

where are you getting this?

earnest phoenix
umbral zealot
#

sounds like your environment isn't setup to import json

earnest phoenix
zenith knoll
#

all these people with emojis

umbral zealot
#

import isn't core javascript yet, so the question is, how do you use import in the first place?

#

babel? CJS? webpack?

earnest phoenix
umbral zealot
restive lily
#

Could someone guide me on what do to with /slash commands? (Python)

drifting wedge
#

how is this h++ if flip() == 1 else t++ invalid syntax?

#

python

#

got it

#

im good

snow niche
#

So I have the domain bob.xyz.
If I configure a sub domain called feedback.bob.xyz, in the same project, how would I make it return a different html page?
Please ping me if you know

solemn latch
snow niche
#

In the same project

#

In one big folder

#

How do I do that

#

saying

#

if the domnain is feedback.bob.xyz

#

then return bob.html

solemn latch
#

oh so you just want it to be a specific path?
what are you using for a webserver?

#

like how are you hosting your html files.

bronze vault
#

spaghetti code go brrr

lusty quest
#

saw worse tbh

bronze vault
#

you mean the first version of it

latent heron
#

If it works it works

bronze vault
delicate shore
#

are post and put same in requestS?

lyric mountain
#

Technically no

#

Endpoints configured for post will deny put requests

#

Same thing other way around

#

They only share similar structure, nothing more

delicate shore
#

oh

#

but how do I make a PUT request

#

with node-fetch

outer niche
old cliff
#

Remove the three dots in the left

delicate shore
#

why do I get this error

#
app.get('/callback',  async ({ query }, response, req, res)=> {
    const { code } = query;
        try {
            const oauthResult = await fetch('https://discord.com/api/oauth2/token', {
                method: 'POST',
                body: new URLSearchParams({
                    client_id: clientID,
                    client_secret: clientSecret,
                    code,
                    grant_type: 'authorization_code',
                    redirect_uri: `http://localhost:${port}`,
                    scope: 'identify email guilds.join'
                }),
                headers: {
                    'Content-Type': 'application/x-www-form-urlencoded',
                },
            });
            console.log(oauthResult)
            const oauthData = await oauthResult.json();
            console.log(oauthData)


            const userResult = await fetch('https://discord.com/api/users/@me', {
                headers: {
                    authorization: `${oauthData.token_type} ${oauthData.access_token}`,
                },
            });            
            
            userInfo = userResult
    
            let userbruh = await userResult.json()

             await fetch('https://discord.com/api/guilds/690557545965813770/members/{userbruh.id}',  {
               method: "post",
                headers: {
                    authorization: `${oauthData.token_type} ${oauthData.access_token}`,
                },
            });
            
            let finalInfo = [userbruh]
            
            res.redirect('/success');

            
        } catch (error) {

            console.error(error);
        }
    
    

})

})```

This is my code for /callback
next ferry
#

bot profile pic not showing ?

#

after change the profile

lusty quest
#

login and press update data or so, there is a button on the right side if you edit the bots page

outer niche
next ferry
#

thx\

lyric mountain
river basin
#

How can I put a vote on the commands, can I help?

worn sonnet
#

Yo! Anyone familiar with flask

#

i 'm trying make an API

#

which return link of the file

#

something like this

#
{'image': "https://domain.xyz/api/storage/lick/124.gif"}
#

i'm new to it so i'm stuck on how to share it

#

I've this

#

and it returns something like this```
{"image": "1.gif"}

earnest phoenix
#

Are you using jsonify?

worn sonnet
#

i mean to send data in JSON format

#

the prob is i can't access it

earnest phoenix
#

İ have no idea

#

There is a thing called fastapi btw

worn sonnet
#

it gives 404 error URL NotFound

#

do i need to pass any additional params somewhere to be able to see that folder or files?

#

so i kinda got it working now by adding another route

#
@app.route("/storage/<tag>/<file>")
def send_image(tag, file):
    if os.path.isfile(f"{storage}/{tag}/{file}"):
        return send_file(f"{storage}/{tag}/{file}")
#

but i would like to know if this is the correct way to do it?

waxen snow
#

Help when I'm trying to use the npm rebuild I get this!

lusty quest
#

did you tryed to delete the node_modules folder and then run npm install?

waxen snow
#

Yes

#

But it doesn't work

lusty quest
#

did you have Build Tools installed? idk how it works on repl.it

#

ohh wait Repl.it iirc doesnt allow ffmpeg

keen tinsel
slender thistle
#

but that's what I do with my server 🤷

worn sonnet
#

sure?

lusty quest
#

are the permissions on the folders/files read only?

worn sonnet
#

how to set those perms and all

slender thistle
#

Ah

lusty quest
#

linux?

worn sonnet
#

for now what i did was make another route

#

which will check if the file exists or not

#

if it does then it sends the file

#

but how do i access it without doing all that thing?

worn sonnet
lusty quest
#

if its on windows you should just be able to read them, but i dont know where the issue is tbh, it works

worn sonnet
slender thistle
#

Is it specifically necessary if you don't give users a way to edit them?

lusty quest
#

idk i dont use py, but if it works it works

worn sonnet
#

yeah! u r right bro! if it works i'm not touching it

lusty quest
#

if you have public facing stuff its better for production to make it read only

#

atleast for non system users

slender thistle
#

Guess my lazy ass should get to creating a separate user for my webserver then 😂

lusty quest
#

just make it 644 or 755

#

did you send some nsfw link here?

worn sonnet
#

got inspiration from this weirdsip

worn sonnet
slender thistle
lusty quest
#

with nsfw images

#

it sort of does

worn sonnet
slender thistle
#

I never worked with file permissions

lusty quest
#

but you can still edit the permissions

worn sonnet
#

deleted so no probs i guess

lusty quest
worn sonnet
slender thistle
lusty quest
slender thistle
worn sonnet
#

oh oke

dense spire
#

why do most people make bots in JS rather than python?

#

or so ive seen over my short time in bot development

slender thistle
#

Depends on which part of the dev community you are looking at. There's still a handful percentage of Python devs (such as myself and a few others I know).

It might be related to the fact that some users who get into discord.js haven't learned JS well enough to not require assistance with basics.

dense spire
#

hm so its cause js users just tend to ask for more help? thats why theyre more visibly common?

#

I was thinking maybe there were some benefits or some exclusives to JS

worn sonnet
#

well people learn JS for web development

#

and then they get to know what all things they can do with

#

and boom end up creating bot

#

IMO

dense spire
#

i see i see

#

good starting point

worn sonnet
#

i dunno JS

slender thistle
#

... and then if you look at this server over the past year or two, some users just copy discord.js tutorials and expect stuff to work

worn sonnet
#

lol

#

even my bot was kinda tutorial based then i added new cmds to it

#

based on what all things i can do with python

dense spire
#

many tutorials ive found are not the best way to do any of the things the discord library allows or rather don't allow for flexibility

#

So i caved in and just read the docs : (

slender thistle
#

That's what you'd get into if you were to develop something more advanced just a few commands like ping, autoresponders, stats, server-/user-info

#

Python developers don't come here as often as JS developers do, since this server is rather active with those. You will most likely see a larger discord.py userbase in the discord.py or the official Python servers.

worn sonnet
#

yeah

#

read the docs, search for libs

#

add functionality

dense spire
#

I initially started with some JS tutorial, didn't like JS syntax for certain things so switched to python tutorial that based all of its command recognition in 1 giant if elif statement but later found out that you can put them in separate functions so had to reform all my code : (.

slender thistle
#

We all learn something new with time

worn sonnet
#

yeah even i got to know about sub-commands later

dense spire
#

For rn though i feel like i could add everything i need to add to my bot without needing to learn any more about the discord.py library

supple shore
#

alr how do i add my number of servers in my bot thatll be shown in top.gg

slender thistle
#

Which library are you using

supple shore
worn sonnet
#

len()

slender thistle
#

What's your Python version?

supple shore
#
name = "finallyabot"
version = "0.1.0"
dense spire
#

len(bot.guilds)?

supple shore
#

and py is 2.8

slender thistle
supple shore
#

im usiong this

slender thistle
#

Of course I can't type out the link manually

supple shore
#

but i need to show it in top.gg

slender thistle
#

Feel free to use that package

supple shore
#

alr ty

earnest phoenix
supple shore
earnest phoenix
#

since 2.8 dont exist

supple shore
#

lol

#
class TopGG(commands.Cog):
    """
    This example uses dblpy's autopost feature to post guild count to top.gg every 30 minutes.
    """

    def __init__(self, bot):
        self.bot = bot
        self.token = ''  # set this to your DBL token
        self.dblpy = dbl.DBLClient(self.bot, self.token, autopost=True)  # Autopost will post your guild count every 30 minutes

    @commands.Cog.listener()
    async def on_guild_post(self):
        print("Server count posted successfully")


def setup(bot):
    bot.add_cog(TopGG(bot))
#

used this

#

says no cog

slender thistle
#

Are you using cogs?

supple shore
#

nope

#

i should just remove that

#

class TopGG():
    """
    This example uses dblpy's autopost feature to post guild count to top.gg every 30 minutes.
    """

    def __init__(self, bot):
        self.bot = bot
        self.token = ''  # set this to your DBL token
        self.dblpy = dbl.DBLClient(self.bot, self.token, autopost=True)  # Autopost will post your guild count every 30 minutes

    @client.command()
    async def on_guild_post(self):
        print("Server count posted successfully")
```this is ok ?
slender thistle
#

Not ok

dense spire
#

um

supple shore
#

lmoa why

#

i rmoved cogs cause im not using any

slender thistle
supple shore
#

it shows error here

#

i just copy pasted

#
update_stats.start()
NameError: name 'update_stats' is not defined
#

anyone ?

waxen bough
#

Dont copy code

dense spire
#

it shows you something general

#

form it/adapt it to your code

supple shore
#

thats what i did

#

like it was in bot

#

but im using client

#

but its showing error in ```py
update_stats.start()

#

only

#

?

earnest phoenix
#

Could someone explain to me how to list all the administrators (permission) of a server?

deft flame
#

Isn't it postStats()?

earnest phoenix
#

no

#

put that line after you define the update_stats function

lavish bramble
#

My bot posting invalid invited people

#

Why?

dense spire
#

how are you performing the mention?

#

are you inputting by string with ID or actually getting the user member

lavish bramble
#

But when I check logs
No one joined

#

The server

deft flame
#

You mean audit log?

#

in here it doesn't show

lavish bramble
#

Nope

#

Dyno logs

deft flame
#

oh

lavish bramble
#

Or koya bot channel too

#

So can I know why?

waxen bough
#

I have the same case with mentions

cinder patio
#

probably discord going crazy

waxen bough
quartz kindle
#

discord mobile shows invalid user

#

its been that way since forever and nobody ever fixed it

#

most likely caused by data saving features for mobile networks

lavish bramble
quartz kindle
#

ie, users are not downloaded

#

to save data

#

but who knows

waxen bough
#

Some mentions are fine

quartz kindle
#

same thing but on desktop

#

desktop shows id, mobile shows invalid user

#

when the member is not available

#

and discord decides not to download it

waxen bough
#

ohh so i have nothing to do with that

quartz kindle
#

if the id is valid, nope its not your fault

waxen bough
#

Okay good to know

quartz kindle
#

you can get around that issue by showing both mention and tag

worn sonnet
waxen bough
#

well

earnest phoenix
#

Hope my Bot gets accepted

worn sonnet
#

Everyone says Linux is good but no one says how long we have to wait to install all those packages

waxen bough
#

I copy all packages from cache folder so i wont have to download again

worn sonnet
#

installing Python 3.8.6 again on termux
cuz 3.9 doesn't build multidict yarl or smth

silent whale
#

ahh

#

How send a custom emoji to another server with discord.js?

worn sonnet
#

from bot?

silent whale
#

yeah

vivid fulcrum
#

stolen from dapi

worn sonnet
#

works

silent whale
worn sonnet
cinder patio
#

did you read the screenshot cry sent

silent whale
#

ok

#

thx

worn sonnet
#

![pandasad](https://cdn.discordapp.com/emojis/585884410180665345.webp?size=128 "pandasad")

silent whale
worn sonnet
willow latch
#

is there anyone here that can help me with my discord.py bot?

vivid fulcrum
#

just ask

worn sonnet
#

ask

silent whale
#

파이썬이 있는것을 보아 내가 말 실수를 한 것으로 알았다

#

:>

earnest phoenix
flat pelican
#

@modest maple hi qt, how many clusters should I ideally run for a bot with 40 shards? blobthinking

#

or how do you calculate it

modest maple
#

mmmm generally i dont really pay attention to that

#

i just n amount equal to the server's core count

flat pelican
#

oh

#

fair

modest maple
#

if you were doing alright upto 40 shards on a single process two processes should be ok

#

but its just what ever you wanna do really

flat pelican
#

Nah, my shards are blocking themselves when it gets multiple tasks to deal with in the background

#

so I should split my processes asap

#

thanks! ablobpats

worn sonnet
#

someone help me i can't install discord.py on termux

#

at first i could install and run the bot

#

then i had to install the numpy

#

so i checked how to do it for termux

#

pkg install numpy
was the cmd to install numpy
but it upgraded my python3.8.6 to 3.9

#

and all this happened

silent whale
#

thx :>

earnest phoenix
#

my bot is online in my main server, but when i add him to a different server, hes offline there, why is that

vivid fulcrum
#

you invited either the wrong bot or you're sharding and one of your shards isn't active

earnest phoenix
#

Check the log

zinc pine
#

if so whats the error in this

#
async def leaderboard(ctx,x = 1):
    users = get_bank_data()
    leader_board = {}
    total = []
    y = 10*x
    for user in users:
        name = int(user)
        total_amount = users[user]["wallet"] + users[user]["bank"]
        leader_board[total_amount] = name
        total.append(total_amount)

    total = sorted(total,reverse=True)    

    em = discord.Embed(title = f"Top {y} Richest People In All Servers" , description = "This is decided on the basis of raw money in the bank and wallet",color = discord.Color(0xfa43ee))
    index = 1
    for amt in total:
        id_ = leader_board[amt]
        member = client.get_user(id_)
        name = member.name
        em.add_field(name = f"{index}. {name}" , value = f"{amt}",  inline = False)
        if index == y:
            break
        else:
            index += 1

    await ctx.send(embed = em)```
signal estuary
#

How do I get all tags.name into a var and split it with a ","

#

so that I can send it

earnest phoenix
#

Use <Array>.map() and map it and join it with a , by <Array>.join()

#
signal estuary
earnest phoenix
#

Read what I said

#

Use <Array>.map(info => info.name) for example

signal estuary
#

<Array> thats what i need

earnest phoenix
#

<> is notation

#

config in your code is an array, which means you replace <Array> with config

signal estuary
#
            for (let index = 0; index < config.tags.length; index++) {
                var map = config.map(info => info.name)
                var join = map.join(', ')
                msg.channel.send(join)
            }  
earnest phoenix
#

KEKW bruh

vivid fulcrum
#

wtf is this honey

cobalt spruce
#

can anyone help me connect my bot to a stage channel

earnest phoenix
#

I didn't tell you to iterate through it with a for loop, just use <Array>.map() and then simply join it and send it, e.g. config.tags.map(info => info.name) and join it with <Array>.join()

signal estuary
#

How can I delete infos out of the config using file system?

umbral zealot
vivid fulcrum
#

you're also using useless and stale data

#

servername and author are useless data

umbral zealot
#

True, author and server should be IDs only

#

In a database you could easily use the serverid-tagname as a key.

signal estuary
umbral zealot
#

Ok but don't learn using JSON as a database

#

especially not with this horrible structure

#

If you want to learn a database, learn it now

signal estuary
#

Ok I know myself that using json as a database is not goot. But I want to know how to delete data in the json

umbral zealot
#

There is negative value in trying to learn how to store and edit data as a json file. It's literally bad

#

Use a database.

quartz kindle
#

to delete data from json you have to read the file, json parse it, delete the key, json stringify it, write the file again

worn sonnet
#

They say u learn something everyday and one thing I learned today is never ever uninstall termux if u have it running properly

cobalt spruce
#
const http = require('http');
const server = http.createServer((req, res) => {
  res.writeHead(200);
  res.end('Working...');
server.listen(3000);
#

i get err

#

server.listen(3000);
SyntaxError: Unexpected end of input

lusty quest
#

you call the function inside the function

umbral zealot
#

not closing the createServer scope and function

cobalt spruce
umbral zealot
#

these things here

lusty quest
#

you miss a )}

umbral zealot
#

you're not closing them

cobalt spruce
#

const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200);
res.end('Working...');
});
server.listen(3000);

#

same shit

umbral zealot
#

can't be, that is now valid syntax.

lusty quest
#

i think your createServer syntax is wrong, res should be the response to a call, but there is none

cobalt spruce
#

server.listen(3000);

SyntaxError: Unexpected end of input

pale vessel
#

why are you even using http

cobalt spruce
#

IT WAS WORKING BEFORE

umbral zealot
#

ok so what did you break

cobalt spruce
#

nothing

umbral zealot
#

If something stops working and nothing's changed, Something's Changed.

#
const http = require('http');
const server = http.createServer((req, res) => {
  res.writeHead(200);
  res.end('Working...');
  });
server.listen(3000);

This is syntactically valid code, so the question is, what is the error you get now since it cannot be an error about syntax?

cobalt spruce
earnest phoenix
#

Show us all of your code

cobalt spruce
#

there

umbral zealot
#

ok and what error are you getting right now?

#

ideally the full error stack

cobalt spruce
#

server.listen(3000);

SyntaxError: Unexpected end of input

#

home/runner/botname/index.js:62
server.listen(3000);

SyntaxError: Unexpected end of input
at wrapSafe (internal/modules/cjs/loader.js:915:16)
at Module._compile (internal/modules/cjs/loader.js:963:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
at Module.load (internal/modules/cjs/loader.js:863:32)
at Function.Module._load (internal/modules/cjs/loader.js:708:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
at internal/main/run_main_module.js:17:47
exit status 1

sage bobcat
#

One message removed from a suspended account.

umbral zealot
#

oh your message event isn't closed correctly

earnest phoenix
#

Never closes the message event

sage bobcat
#

One message removed from a suspended account.

umbral zealot
#

smh

#

please read (i promise it's actually directly helpful to your situation)

pale vessel
#

what's that vsc font? firacode?

umbral zealot
#

yes, with font ligatures cb_love

pale vessel
#

aye

cobalt spruce
#

true

lusty quest
#

if you use VSC errorlense is also helpful

cobalt spruce
umbral zealot
#

exactly.

lusty quest
#

adds a large red marker on each syntax error

umbral zealot
#

I mean you can use a linter for that too tbh

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.

umbral zealot
#

I mean it's easy

#

just follow the guide

#

oh dammit

#

that link is gone or changed. shit

earnest phoenix
#

linters are pog unless they scream at you with over 5000 lines of linting issues

#

:^)

distant bramble
#

lol

cinder patio
#

most of them can fix them all for you

fierce ether
#

everytime i restart my app the css file dosent refresh onto the web any reason for this?

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

cobalt spruce
umbral zealot
#

in js, jslint + prettier is the best combination ever

sage bobcat
#

One message removed from a suspended account.

umbral zealot
#

Sorry buddy I don't, I haven't done bots for 2 years

cobalt spruce
sage bobcat
#

One message removed from a suspended account.

cobalt spruce
#

and that is cool btw

sage bobcat
#

One message removed from a suspended account.

umbral zealot
#

Yes, I've done Enmap, and Enmap isn't discord or bots 😛

earnest phoenix
umbral zealot
#

I haven't touched stages, slash commands, interactions, or anything like that.

sage bobcat
#

One message removed from a suspended account.

umbral zealot
#

I'll be lost in the noob zone soon

cobalt spruce
#

...

earnest phoenix
cobalt spruce
unreal estuary
#

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> does anyone know what this does?

lament rock
#

fuck it. Un-API's your document

earnest phoenix
#
 node:1166) UnhandledPromiseRejectionWarning: Error [SHARDING_READY_TIMEOUT]: Shard 0's Client took too long to become ready.
    at Timeout.onTimeout (/rbd/pnpm-volume/8cd8c70f-f3c7-44b1-88d5-28e2b4dce893/node_modules/discord.js/src/sharding/Shard.js:163:16)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
#

No errors in bot

#

But still

#

what to do

umbral zealot
#

try making sure you're updated to the very latest version of discord.js

#

often enough updating to the latest resolves that issue

earnest phoenix
#

Yes

#

All are updated

umbral zealot
#

Also make sure you don't have anything that takes a long time in your ready event

earnest phoenix
#

umm
Nothing that
Just
Client.on ready
And console log

umbral zealot
#

So let me guess the situation: your bot is in like 50 guilds and you want to "prepare" for sharding or "learn" how to do it?

earnest phoenix
# earnest phoenix ``` node:1166) UnhandledPromiseRejectionWarning: Error [SHARDING_READY_TIMEOUT]...

Got this error: Error [SHARDING_READY_TIMEOUT]: Shard 0's Client took too long to become ready.?
The spawnTimeout can be set to -1 or Infinity to prevent future errors:
https://discord.js.org/#/docs/main/stable/class/ShardingManager?scrollTo=spawn. This can also happen if you call ShardingManager#spawn before attaching a listener to the shardCreate event which could create a race condition possibly preventing the shard 0 to perform a successful launch.

umbral zealot
#

alternatively, ignore sharding manager completely and use internal sharding ```js
const client = new Discord.Client({ shards: 'auto' });

#

magic, everything works, no effort required.

earnest phoenix
#

ookay

worn sonnet
#

Hey how do I install webp on termux?

umbral zealot
#

webp is a file format, you don't install file formats on terminals.

lavish bramble
#

Where can I host my website for
Free

vivid fulcrum
#

for static websites use github pages

#

for dynamic websites check out heroku & glitch

lavish bramble
#

Is it 24/7?

modest maple
#

Or Cloudflare pages

#

Personally i prefer CF pages for static

vivid fulcrum
#

github pages is, since it's just static content

lavish bramble
vivid fulcrum
#

🤦

umbral zealot
#

And glitch technically is since when someone goes on the page it will "wake up" the system and thus is by definition 24/7

lavish bramble
#

😅

#

Oki

modest maple
#

https://crunchy.gg/home is technically a 'static' site bloblul

umbral zealot
#

Just don't host your entire bot on glitch, though

lavish bramble
modest maple
umbral zealot
#

Good, so you're golden, glitch works fine for that

lavish bramble
#

Thnx

rough current
#

Is there a way that I could see how meany servers my bot is in though a command as in guild.count or something along those lines

umbral zealot
#

what programming language and Discord library is your bot written in?

delicate shore
#

Hey guys

#

how can I add header based auth in my api

#
 let header = await req.get("api_key");
    if (!header)
      return res.json([
        {
          error: "401",
          message: "Unauthorized",
          solution:
            "Kindly make sure to make request using api_key as a header. Get one api_key at ",
        },
      ]);
    const list = await keys.findOne({
      key: header,
    });
    if (!list)
      return res.json([
        {
          error: "401",
          message: "Unauthorized",
          solution:
            "Kindly make sure to make request using a valid api_key as a header. Get one api_key at",
        },
      ]);

#

This is my code

#

but when I log headers

#

it logs ```1|index | {
1|index | 'x-real-ip': '108.162.219.116',
1|index | 'x-forwarded-for': '206.189.205.251, 108.162.219.116',
1|index | host: 'api.pgamerx.com',
1|index | 'x-nginx-proxy': 'true',
1|index | connection: 'close',
1|index | 'accept-encoding': 'gzip',
1|index | 'cf-ipcountry': 'US',
1|index | 'cf-ray': '64583c53bd01e720-EWR',
1|index | 'x-forwarded-proto': 'https',
1|index | 'cf-visitor': '{"scheme":"https"}',
1|index | accept: '/',
1|index | 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36',
1|index | 'cf-connecting-ip': '206.189.205.251',
1|index | 'cdn-loop': 'cloudflare',
1|index | 'cf-request-id': '09ab0408510000e720ab263000000001'
1|index | }

#

even tho I am adding a header with name api_key and value as the key

pale vessel
#

req.get()?

sour flame
#

...

modest maple
#

you have a list of guilds

#

bot.guilds

#

just get the length of the list

rough current
#

Okay thanks

#

How could I count that it is saying I could just u len(listname) but idk how I would do that?

modest maple
#

CoffeeSip well just get the length of the list of guilds

worn sonnet
umbral zealot
#

so doesn't pip install webp work?

#

¯_(ツ)_/¯

vivid fulcrum
#

how is tmux related to any of this lol

#

it's just a terminal like any other

umbral zealot
#

my point exactly

earnest phoenix
#

hello

worn sonnet
#

Yo!

earnest phoenix
#

i need help

worn sonnet
#

Ask

earnest phoenix
#

i want turn on safe search on my bot

#

so

earnest phoenix
worn sonnet
earnest phoenix
#

i stop this kind

#

of messages

#

IDK 😐

fiery canyon
#

is there any mongodbers here

umbral zealot
#

just go ahead and ask your question

fiery canyon
#

okay so, i'm thinking of implementing a way to cache documents from mongodb, so it doesn't have to find & save on request

delicate shore
fiery canyon
#

i tried saving each doc for 30mins after it getting .find'ed, and then using that cache until it expires

delicate shore
fiery canyon
#

but yea, that's shard-based, and it doesnt' sync properly

umbral zealot
#

Probably the "easiest" solution is to just put redis in front of mongo

#

with a TTL

fiery canyon
#

so does anyone have an idea, or tried doing that before, probably a cacheing system that's more efficient, or something attached to the sharding manager so if a shard dies, cache doesn't die

#

Redis

worn sonnet
#

After trying pip install webp I get this error

fiery canyon
#

I'll look into that

worn sonnet
#

Since the terminal isn't like the terminal in Linux
We need to install some packages manually

#

So I was asking if anyone knows how to troubleshoot this prob

lyric mountain
#

Not only that, but they should expire after a set time

#

Like 1 hour per entry

fiery canyon
#

yeah I'm aware, but if there's some way to attach it to the shardmanager, then if a shard goes down, it can still exist, idk

fiery sun
#

Hi, advise me on a good hosting service for a music bot

opaque acorn
#

`const pack = require("./package.json");

module.exports = {
name: "version",
descripcion: "Mostrar la version actual del bot.",
aliases: ["v"],
async execute(client, message, args) {
const version = (pack.version);

message.reply(` Mi version actual es ${version}.`);

}
}`

#

its okay?

fiery canyon
#

change that line to this ^

#

oh wait nevermind, my bad lmfao

#

you already have it

#

yeah it should be good

lyric mountain
#

That's why you use codeblocks

fiery canyon
#

yeah lol, got confused for a sec

opaque acorn
lyric mountain
#

About your question hoss, afaik JS treats shards as individual processes

fiery canyon
#

yeah i believe so

#

they're child processes

lyric mountain
#

So like, you can try redis or some other lightweight database

opaque acorn
# fiery canyon yeah it should be good

Error: Cannot find module './package.json'
Require stack:

  • /app/commands/version.js
  • /app/handlers/command_handler.js
  • /app/index.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
    at Function.Module._load (internal/modules/cjs/loader.js:725:27)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.<anonymous> (/app/commands/version.js:1:14)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at module.exports (/app/handlers/command_handler.js:9:21)
    at /app/index.js:21:35
    at Array.forEach (<anonymous>)
    at Object.<anonymous> (/app/index.js:20:38)
    at Module._compile (internal/modules/cjs/loader.js:1063:30) {
    code: 'MODULE_NOT_FOUND',
    requireStack: [
    '/app/commands/version.js',
    '/app/handlers/command_handler.js',
    '/app/index.js'
    ]
    }
lyric mountain
#

Did you delete package.json?

opaque acorn
#

no

lyric mountain
#

Is it on project root?

opaque acorn
#

no

lyric mountain
#

There's your problem

earnest phoenix
#

const pack = require('./package.json')
const version = (pack.version)
Thonk
const { version } = require('./package.json')

lyric mountain
#

Authentication

#

That's the auth header

delicate shore
#

what does that mean?

lyric mountain
#

It means what it mean

delicate shore
#

what you mean?

#

like api_key is header

lyric mountain
#

Authentication: "your key"

delicate shore
#

oh
wait
so it's authentication and can't be changed?

lyric mountain
#

How are you authenticating requests on your api?

#

Ah nvm, that's the api part

delicate shore
#

yes

#

sooo

lyric mountain
#

Are you sure req.get() is getting from the headers not the url params?

#

If you console.log req what does it return?

sudden geyser
#

I'm designing a GraphQL API and running into concerns regarding static vs. dynamic data.

For example, I have a type named Tag which describes an attribute on some object (e.g. a character's personality). There can be many tags associated with a single object, but the real concern is what fields to add to the type.

Right now, I have an id field (as standard with most types I'm creating). I could include a name field for the name of the tag and a description field for details about the tag, but these may turn out to be more static than dynamic since only administrators can add, alter, and delete tags (not normal members). So, with the name and description rarely changed, the tag could really only feature an id property.

The advantage to this approach is the client is not receiving data they could've provided (and can provide their own localization if needed). The disadvantage is the client has to provide their own name and descriptions for tags, which may cause inconsistency among implementors. So, the question I have is: would adding a name and description be more wise in this case and when should I rely on the client to provide their own implementation as opposed to serving it to them.

umbral zealot
#

I'm designing a GraphQL API
The pain. I'm sorry to hear that.

sudden geyser
#

I like it.

lyric mountain
#

Masochism ig

modest maple
#

Always entertains me when people use graphQL just cuz and it ends up being way more complex and slower than your standard REST setup

sudden geyser
#

My problem is less about GraphQL and more about if the client should receive the data or provide its own instead

umbral zealot
#

GraphQL is meant to provide public APIs where people can save and retrieve partial query results through filtering and selection of specific fields by name. If you're not using it to serve and store data in this way (as in your example where there's literally only 3 fields???) then you're using GraphQL wrong.

#

First time I had to use GraphQL was the last time I ever used it - 75% of the app's front-end code was made purely of graphql queries and field lists and filters and selectors. It was absolutely craptastically horrible.

sudden geyser
#

Read wrong a bit*

umbral zealot
#

Who's reading what wrong?

lusty quest
#

graphql looks nice, atleast if you have it working

sudden geyser
#

Me. A previous message I sent was a bit wrong.

earnest phoenix
#

hello

#

how add image in bot description

lusty quest
#

use html

earnest phoenix
#

say how

#

meant how add

lusty quest
#

im a backend dev not frontend, and i dont really know html ¯_(ツ)_/¯

earnest phoenix
#

i say how add it in description

umbral zealot
snow urchin
#

ping command over slash commands, is it possible 👀

sudden geyser
# umbral zealot GraphQL is meant to provide public APIs where people can save and retrieve parti...

There are only three fields in my example since:

  • I'm drafting the API.
  • It's a short example.

There may be more fields in the future, but right now, it looks like this. In reality, this type is being used among other types to compile the list of data I need. For example (an example where I need a lot of data, but I may need less data in some other cases): graphql query MediaSearch($id: ID!) { Media(id: $id) { # Media type format description coverImage { # Image type url color } bannerImage { # Image type url color } # ... some other fields ... tags { # Tag type id name description } } }
But even then, let's say I was using REST instead of GraphQL. This still does not answer my question since it's about providing more than the client truly needs.

umbral zealot
#

Well, I'm not sure I understand your question then. If the "client" has their own data they're not storing with you it doesn't make a lot of sense to ask if you should let them store it with you

sudden geyser
#

The question is whether I should have the client ask me for the data (like name and description) even if it hardly changes or don't provide it in the API (so name and description don't exist and can't be queried) and expect the client it on-device instead (like a JSON file that lives in the project with the tag names and descriptions).

umbral zealot
#

Wouldn't that be up to the client?

#

just provide the fields and let them decide?

sudden geyser
#

I could do that

umbral zealot
#

That's literally the point of GraphQL so... y'know....

round vault
#

When will I get to know that my bot is approved or declined?

sudden geyser
#

You should receive a DM from @gilded plank

stiff lynx
sudden geyser
#

it ain't defined chief

quick willow
#

is there 2 numbers separated with a colon?

stiff lynx
#

how I define the function find?

quick willow
#

does it say 2 numbers that are separated with a colon like 92:5

dusky sundial
worn sonnet
#

and me?

quick willow
#

define it like this:

const find = function(){
// function code here
}
worn sonnet
#

i mean it's been a week i guess,
nvm
i'll wait another week

lyric mountain
#

Queue times are around 2 weeks

cinder iron
#

How do I get my bot to login? there needs to be a login command but I can't seem to find it and where should I place it? I need help

from discord.ext import commands
client = commands.Bot(command_prefix="prefix")
@client.event
async def on_ready():
  print("Bot Connected")
@client.event 
async def on_message(message):
    if message.author.id == 712027036511633429:
        await message.delete()```
lyric mountain
#

Login?

#

You mean start the bot?

slender thistle
#

Rtfd

#

Rtfd

#

Rtfd

#

client.run

lyric mountain
#

Also wtf is that code supposed to do?

#

Delete all messages sent by user with that id?

slender thistle
#

Yup

#

Seems so

#

I don't know why you're using the commands extension, however

lyric mountain
#

Also that prefix="prefix" tells me you just copypasted that code from somewhere

slender thistle
#

What are your bets they didn't

grizzled raven
#

weary

#

can you install better-sqlite on replit

slender thistle
#

What says you can't?

wraith bear
#

;_;

#

i dont speak english

#

sorry

#

turkish.

#

yes

worn sonnet
#

so i was looking some hosting options

#

and they say cloud hosting is better

#

compared to VPS as it can be configured on the go and cheap

#

is it true or is there any drawback to cloud hosting?

lusty quest
#

its pretty much the same

wraith bear
#

tßrkçe bilen varmĹ

lusty quest
#

but just look if the specs are ok

worn sonnet
#

what spec are recomended?

lusty quest
#

if you try to use some really bad config like 265mb ram you will run into issues quickly

#

would recommend for a small bot 1 vCore 1Gb ram and whatever space they offer

worn sonnet
lusty quest
#

if you do like to stuff like Image Manipulation or Machinelearning you probably want some big Boy server

worn sonnet
#

well yeah i do have image manupilation thing

#

but i doubt anyone uses

#

it

lusty quest
#

you could try to run it on a single core VPS, but try to run it on a different Thread to not bog down your main Thread

worn sonnet
#

how?

lusty quest
#

i like to use a internal API

worn sonnet
#

i heard autoshard client

#

they keep saying shards and all

lusty quest
#

then just run the Image manipulation stuff as its own process

#

shards is for the bot itself

lyric mountain
#

Multiple shards on 1GB?

worn sonnet
#

but i never get it

lyric mountain
#

Really?

lusty quest
worn sonnet
#

i dunno

lyric mountain
#

Tim is an exception

quartz kindle
#

Lol

worn sonnet
#

like how to create shards

#

and all

#

i read on docs

lyric mountain
#

You'll see your first shard ahen you reach 1.5k servers

lusty quest
#

sharding is only required if you reach 2500 Guilds, discord suggest to start sharding at 1000 Guilds

worn sonnet
#

oh

#

nvm then

#

long time to go

#

i'll just deploy it, as it is

#

like seriously shards for a bot in 6 servers?

#

😂

lusty quest
#

so with the different Thread for the image manipulation, i suggest to run it on a different thread if it takes a lot of time, ive had my Tensorflow stuff first running with the same Process of the bot, but it caused the bot to become sluggish.

quartz kindle
#

what kind of image manipulation tho? shit like canvas/pil/pillow can easily run in the main thread

worn sonnet
#

then again thanks for sharing info i'll try looking into it again

lyric mountain
#

Yeah, unless you want to do heavy pixel processing simple manipulation is quite fast

wraith bear
#

hi

worn sonnet
#

yo!

lyric mountain
#

Honesty, my only issue with images is upload times

solemn latch
#

^

lyric mountain
#

Not upload actually, but discord's shitty image processing times

worn sonnet
#

i face them too

quartz kindle
#

ye dont make your images too big

modest maple
#

Just run your own system

wraith bear
#

hi dedik mk

torpid otter
#

for the bot status it said i need a token is the bot token or iD

modest maple
#

Atm im working on my new CDN server so i can auto optimize stuff pain

#

100k images on le todo list

solemn latch
#

I had 32Mb gifs at one point 👀
no fun.

wraith bear
#

Hİ

quartz kindle
#

jeez

lyric mountain
#

I mean, I use 16k+ dimension images

#

So it's no wonder

wraith bear
#

:d

quartz kindle
#

can bots even upload that?

worn sonnet
#

and yeah about that API thing i was asking
in Flask
seems like i need to have a FTP server for it

quartz kindle
#

i ran into errors with 8k images

#

so i lowered the max size to 4k

solemn latch
#

resolution is limited to 4k now isnt it?

quartz kindle
#

is it?

solemn latch
#

i thought so.

lyric mountain
#

You can upload giant images

#

Discord just downscales them to show

solemn latch
#

ah

lyric mountain
#

But you can still open the orig image

quartz kindle
#

ye but dont bots have the 8mb attachment limit?

lyric mountain
#

Yes

#

I compress them

modest maple
#

8 default

lyric mountain
#

Never seem my long rope?

modest maple
#

if you have boosted / partnered servers gets increased though

lyric mountain
#

160k height image

#

100+ ish kbs

modest maple
#

On the Py Discord the bot can upload some 100MB

lyric mountain
#

^ that too

wraith bear
#

guys give me mute and unmute code please

lyric mountain
#

No

solemn latch
#

if thats true, someone make a bot for posting large images, videos, gif, etc.

wraith bear
#

oh ok ;_;

solemn latch
sharp wave
#

How can i use dbd.js from phone

lyric mountain
#

Like, I only need to figure out how to speed up compressing to improve my tcg game

wraith bear
sharp wave
#

Ok

lyric mountain
#

It takes about 4 seconds to send the img on each play