#development

1 messages · Page 1779 of 1

cinder patio
#

By match I meant the match method in JS

boreal iron
#

One second

#

/(.*)\\(.*)\.js:([0-9]+):([0-9]+)/gi

#

Group 1 - the whole match
2 - path
3 - file
4 - line
5 - column

cinder patio
#

still null BlobThonk

boreal iron
#

I’m on the highway

#

Gimme a second

cinder patio
#

oh wait

pale vessel
#

/(.+):([0-9])+:([0-9]+)/

cinder patio
#

wait wtf

boreal iron
#

Works like a charm for me

cinder patio
#

regex101 works

#

but when I test it in the console it returns null

boreal iron
#

But you probably need multiline

#

/gmi

pale vessel
#

Did you escape the slashes

cinder patio
#

oh sh

woeful pike
#

just use path.parse lol

boreal iron
cinder patio
pale vessel
#

remove /g

cinder patio
#

oh yup now it's good

#

thanks guys!

boreal iron
#

Flazepe version is shorter but doesn’t require a valid path in front

#

That’s why I was looking for a \

#

However you need it

woeful pike
cinder patio
woeful pike
#

for what

cinder patio
#

I need the line and column too, I'd have to parse the ext property

#

or base

woeful pike
#
const [extension, line, column] = result.ext.split(":")
#

now you don't have to worry about whether or not the filename might have a : in it or something

cinder patio
#

wait, can filenames contain a :

woeful pike
#

with this approach you don't need to find out

cinder patio
#

The regex still returns the right stuff even if the filename has a :

woeful pike
#

yeah but regex is ass and it'll break if you try to run your code on a unix machine

cinder patio
#

I'll keep that in mind

woeful pike
#

generally regex is a last resort. If you're parsing paths, urls, html etc use an actual parser because these are syntaxes with a specific spec that has edge cases not covered by your regex

summer torrent
cinder patio
#

can you give an example?

copper cradle
#
in <file> *some path*/file.js:569:25
#

line:column

cinder patio
#

yeah... I thought they were talking about in the file path itself

#

we all know about the line and column

copper cradle
cinder patio
#

same

#

I hope not

stuck dawn
#

How i can get all of data of a determined collection (using mongoose)

lusty quest
#

use find()

#

if you pass no filter it will get all documents

#

like find({})

stuck dawn
#

ok i will try

#

@lusty quest i tryed and it gives me only the info about the Query

#

no data at all

lusty quest
#

show your code

stuck dawn
#
async function SearchMatch() {
    const Match = require('./schemas/MatchSchema');
    console.log(Match.find({}))
}
lusty quest
#

thats not how you query MongoDB with mongoose

stuck dawn
#

? i am trying to log the data

lusty quest
#

ohh wait nvm

stuck dawn
#

xD

lusty quest
#

where a bit confiused with match being your value name

#

is your schema valid?

stuck dawn
#
const mongoose = require('mongoose');

const MatchSchema = new mongoose.Schema({
    startedSearching: mongoose.SchemaTypes.Number,
    oponentName: mongoose.SchemaTypes.String,
    oponentId: mongoose.SchemaTypes.String,
    inQueue: mongoose.SchemaTypes.Boolean,
    inMatch: mongoose.SchemaTypes.Boolean,
    userId: mongoose.SchemaTypes.String,
    msgId: mongoose.SchemaTypes.String
});

module.exports = mongoose.model('Match', MatchSchema);
#

this is my schema

#

what i am trying to do is a match system

lusty quest
#

yea

#

did you use VSC?

stuck dawn
#

yep

lusty quest
#

if you hover over your match variable in your query you see that it shows your Schema right?

stuck dawn
lusty quest
#

also did you tried to use Match.find()?

#

possible that your export is a bit weird

stuck dawn
lusty quest
#

wait did you ran the query Async?

#

bcs otherwise you get a pending Promise

stuck dawn
boreal iron
lusty quest
boreal iron
#

just to say

lusty quest
#

or without {}

#

one of them should work

stuck dawn
#

yes i tryed both ways

lusty quest
#

also async?

stuck dawn
#

when i use the function?

lusty quest
#

the db call

stuck dawn
#

now it works

#

xD

lusty quest
#
 const Match = require('./schemas/MatchSchema');
async function SearchMatch() {
  const db = await Match.find()
console.log(db)
   
stuck dawn
#

yes

#

now it works

#

thx

#

one last thing @lusty quest

#

can i use

#
Object.keys(find).forEach(function (key) { // i called "find" the db call

});
#

to navigate through each object

lusty quest
#

try and see

stuck dawn
#

?

lusty quest
#

but looping over the results should work like a normal JS object

stuck dawn
#

you mean a for loop?

boreal iron
#

To still give you an alternative way

lusty quest
stuck dawn
#

@lusty quest ok trying that way then

#

thx

boreal iron
#

Damn embeds

cinder patio
boreal iron
#

The link doesn’t work?

cinder patio
#

with the original string

#

no the regex

boreal iron
#

Huh works me for me

cinder patio
#

Actually nvm it works! I forgot that I modified your original regex a little bit!

boreal iron
#

lmao

cinder patio
#

To match the path when it's between parentheses

boreal iron
#

Ah ok

#

Yeah well I can’t think off any case oldEyes

cinder patio
#

Working on prettier errors in JS bloblul

boreal iron
#

The regex?

cinder patio
#

the regex was used to extract the path from the error

boreal iron
#

Ah lol

cinder patio
#

What's cool about it is that it works with normal errors too

wary pollen
#

Anyone knows what going wrong, the error is in discordjs

silk wadi
#

Data is undefined

wary pollen
#

Hmm

#

So change is that I ask a function of discord and give it something that is undefined

#

Only happens once a month

lusty quest
#

@rustic nova

rustic nova
#

thanks

ashen bane
#

i need opinion from lower level language developers like for example c
if ur making a network request, would you rather do it asyncly by yourself, ie start a thread, run a synchronous request, and then handle it
or rather have the library do the running for you and all you do is give it a callback?

#

cuz if its async then how are you gonna get the data out of the callback other than a void pointer, but if its synchronous ur gonna have to do thread management yourself

woeful pike
#

sir this channel is for people who don't know how to read error messages

ashen bane
#

ah ok my bad

woeful pike
#

you might have better luck asking in an actual programming server

#

no I'm just joking, I just mean usually people don't ask any meaningful questions here

ashen bane
#

u still make a fair point

earnest phoenix
#

Im using chakra's editable component and i want to modify the style of the component. Can you use style props on the Editable component?

cinder patio
#

So this regex /\((.*)[\\|/](.*\.js):([0-9]+):([0-9]+)\)/ is invalid 😩

lusty quest
#

is using sentry for Logging overkill or just fine?

stuck dawn
#
function FindMessage(channelId, oponentChannelId, msgId, oponentMsgId, tag, oponentTag) {
    const { MessageEmbed } = require('discord.js');
    let userMessage = new MessageEmbed()
            .setDescription(`Match found!\nOponent: \`${oponentTag}\``)
            .setColor([0, 255, 0])

    let oponentMessage = new MessageEmbed()
        .setDescription(`Match found!\nOponent: \`${tag}\``)
        .setColor([0, 255, 0])

    client.channels.cache.get(channelId).fetchMessage(msgId).then(msg => msg.edit(userMessage));
    client.channels.cache.get(oponentChannelId).fetchMessage(oponentMsgId).then(msg => msg.edit(oponentMessage));

}

Why is giving me this error

lusty quest
#

is fetchMessage still a thing?

stuck dawn
#

i am trying to find a message by ID

summer torrent
#

it is messages.fetch now

stuck dawn
#

theres another way?

#

oh

#

ok

summer torrent
#

also channel is undefined

#

read error

stuck dawn
#

aahhhhh i forgot to define channelId In the function

#

thx

earnest phoenix
#

Anyone know how to successfully set a category overwrite for a bot to make more channels under a category (Working on a ticket bot if that helps)

#

SInce i am getting Permission errors with out admin and have tried giving all channel related and role management based perms, and it won't work how ever i am doing (D.js)

ashen bane
#

u might need to set your intents too, but im not entirely sure

earnest phoenix
#

what kinda intents would be for that? its not fetching members or presences iirc.

#

Unless partials count but thats for reacts(?)

boreal iron
cinder patio
#

👌

boreal iron
#

Just to ask why are the parentheses being an issue anyways?

#

Oh nvm it will collect any chars before as well

#

Yeah I got it the fix is very easy oldEyes

#

We just gonna make sure there’s a ( or " " in front

ashen bane
#

but i meant set the intent in your code

#

i think thats a thing

rocky hearth
#

Iv a string Like "LetSayContext", and I want regex to extract, the "LetSay" part here. ie, I just want to remove Context from every string
(Im trying to make snippet in vsc, and Ive TM_FILENAME_BASE)

pale vessel
#

Does it always end with Context?

rocky hearth
#

yes

pale vessel
#

There's multiple ways to do it

boreal iron
#

replace("context”, “”)

pale vessel
#

Slice, split, replace

rocky hearth
#

I knew, u guyz will suggest, these methods 😆
So thats y I said, Im making a vsc snippet.
and I;ve TM_FILENAME_BASE only

#

So can I get regex for that?

pale vessel
#

Well since it's just regex ${TM_FILENAME_BASE/(.+)Context/$1/}

rocky hearth
#

Ooh wow. Thx

#

Also I want the first char to be a uppercase

lyric mountain
#

[A-Z]

rocky hearth
#

no I meant I want to convert the first char of a string to be an uppercase including, /(.+)Context/$1/ too

lyric mountain
#

if you want to convert the result look at that url
if you want to match only if the first letter is uppercase use [A-Z] in the regex

pale vessel
#

Try ${TM_FILENAME_BASE/(.+)Context/${1:/capitalize}/}

#

You can also use PascalCase if you need to /pascalcase

rocky hearth
#

that just results in index

#

idk y

#

I'll back come to it in future. Its not required for me right now though. Thanks anyways!

sand walrus
#

why the bot rewiever rewiev my bot at the midnight, when i sleep ??

woeful pike
#

because they were awake

sand walrus
#

i would that the review on the day, no at the midnight, that i am off from internet

west spoke
woeful pike
#

why would anybody use your bot if it goes down when you're not in front of your pc lol

#

are users supposed to dm you before they use your bot to make sure it's up

sand walrus
#

i don't have a plan for bot to on 24/7, there is a Heroku, but is limitated

grizzled raven
#

anyone wanna help me debug cursed code

#

why's this throwing an error? i do use ?. but it's like nah fam we don't care

rocky hearth
#

what node version u running?

#

Is it ok to require package on a condition?

function myFun(isTrue) {
  const pkg = require(`./icons/${isTrue ? 'solid' : 'outline'}`);
}
grizzled raven
#

ol

#

okay

#

follow up question

#

why does undefined?.push(...[], 1) throw an error

#

nevermind

viscid gale
#

trying to have child_process in one folder, yet the dependencies are circular? any fix? idc how tedious

viscid gale
#

:/

woeful pike
#

when u don't know optional chaining

#

feelsbad

earnest phoenix
#

Was fixed in Node.js v15

viscid gale
#

:{

#

sowwy

rocky hearth
odd stratus
#

Isn’t it node 14 or above

#

I use node 14 and optional chaining works fine

rocky hearth
#

oh fine, then maybe node14

viscid gale
#

well he does have node 14+

#

cuz it send undefined.push isn't a function

#

push is from Array.prototype

#

so u can't do Number.push

#

or String.push

crimson vapor
#

undefined?.push would return undefined, not an error

viscid gale
opal plank
#

dude

#

optional chaining

#

that ? is literally an if

#
something?.push()

//is the same as
if(something) something.push```
viscid gale
#

huh..

opal plank
#

thats what optional chaining does

viscid gale
#

so then he doesn't have node 14+?

opal plank
#

it checks before continuing

#

its IN node 14

#

if he has node 14 he's fine

#

just run node --v and get this over with

#

and i'll make a very bold statement and say they are using d.js

#

which means theya re on node 14

#

since d.js requires node 14

viscid gale
#

i must have a pretty low version huh

opal plank
#

-v

#

not --v

#

my bad

rocky hearth
#

peerDependencies are used when, we expect the user of our package to have some packages pre-installed, am I right?

viscid gale
#

10.16.0 ;-;

opal plank
viscid gale
earnest phoenix
#

Bruh why are you using the archived version

#

node-v0.x-archive

#

That's like v0.1

viscid gale
#

;--; my brain

earnest phoenix
#

I don't see how that's a circular dependency

rocky hearth
#

@viscid gale dunno, if it might help u or not but last time when I was hving a circular dependency error, I fixed tht by adjusting the imports sequence

#

but that was from my own files though

vivid fulcrum
#

what's the actual error

#

because you're misinterpreting it

vivid fulcrum
#

the error is 99.9% coming from their own code

#

not node internals

#

that's why i asked for it

#

so i can see the stacktrace

earnest phoenix
#
1|ccweb  | Response: Service Temporarily Unavailable
1|ccweb  |     at RequestHandler.execute (/home/rake/ccweb/node_modules/discord.js/src/rest/RequestHandler.js:161:15)
1|ccweb  |     at processTicksAndRejections (internal/process/task_queues.js:97:5)
1|ccweb  |     at async RequestHandler.push (/home/rake/ccweb/node_modules/discord.js/src/rest/RequestHandler.js:39:14)
1|ccweb  |     at async WebSocketManager.connect (/home/rake/ccweb/node_modules/discord.js/src/client/websocket/WebSocketManager.js:138:9)
#

what does this mean?

vivid fulcrum
#

that the service is temporarily unavailable

rocky hearth
#

Try again later

vivid fulcrum
#

it's a server sided error

earnest phoenix
vivid fulcrum
#

not much you can do

#

yeah

earnest phoenix
#

okay :C

#

lol if didn't see else i would get ratelimited

clear marlin
#

Welp, I'm getting a service temporarily unavailable too sadge

clear marlin
#

lol

earnest phoenix
clear marlin
#

yeah

#

ratelimited

earnest phoenix
#

yep all

earnest phoenix
#

Discord Server Issues

#

is vue worth learning

clear marlin
#

The discord api is under maintainance probs

earnest phoenix
clear marlin
earnest phoenix
#

i mean, i use react a lot

clear marlin
#

stick to one

earnest phoenix
#

worth a shot tho

median moss
#

yo guys, do you know if discord.js is having any error?

#

cause I'm having this:

UnhandledPromiseRejectionWarning: Response: Service Temporarily Unavailable

vivid fulcrum
crystal wigeon
#

umm

earnest phoenix
median moss
crystal wigeon
#

anyone else getting service not available?

#

for bots

median moss
#

I just said this .-.

vivid fulcrum
#

literally read above

crystal wigeon
#

dem

median moss
crystal wigeon
#

mb

#

xd

earnest phoenix
long crow
#

🤔 All fine for me

vivid fulcrum
#

lol

#

messages are lagging asweell

#

aswell*

#

discord shat itself again

long crow
#

I'm using interaction though

crystal wigeon
#

dem

earnest phoenix
crystal wigeon
#

well i hope they resolve it quickly

#

wait there's free nitro?

#

where

#

am i late

#

;-;

#

ah

vivid fulcrum
#

by the time i got my code it was already used

#

bots probably spamming the endpoint

earnest phoenix
#

This guys who uses fake cc, ban them all

median moss
#

I have an event to do tomorrow lol

earnest phoenix
vivid fulcrum
#

while (true) makeRequestToClaimEndpoint()

#

by bots i mean userbots

#

obviously

#

bots can't access the claim endpoint

earnest phoenix
#

I have set pm2 to stop ,else it will login every sec since it throw a type error

earnest phoenix
#

uff

lavish bramble
#

Why this error

vivid fulcrum
#

literally read

#

a single message above

lavish bramble
#

So how much time its take

vivid fulcrum
#

count to infinity

crystal wigeon
#

any idea when it might be up?

vivid fulcrum
#

by the time you finish, the error will get fixed

solemn latch
#

honestly, not sure how we would know. discord down errors sometimes are a few seconds, to however long it takes to fix it.

vivid fulcrum
#

this error is out of their scope ^

#

cloudflare is at fault

lavish bramble
#

So all bots ere down?

pale vessel
#

No?

earnest phoenix
#

clouldfare

#

cloudfart more like thunder

vivid fulcrum
#

i mean imagine how much traffic they handle every single day

earnest phoenix
lavish bramble
#

Well fixed

earnest phoenix
#

yes

hot sage
#

Ok, I want to start a new project, a currency bot. I know that you could use .json files to store data like their balance or whats in their inventory, but it is not recommended, so what can I use instead of a .json?

ashen bane
#

Database

#

Json is OK for small data storage where the user is meant to edit stuff

#

Databases are good cuz they are a lot faster, can manage concurrency, etc

kind thicket
#

a database like MongoDB will do well

ashen bane
#

Even smth like SQLite can be ok unless ur too big

hot sage
#

Does MongoDB work with Python?

solemn latch
#

yes

hot sage
#

Ok

solemn latch
#

technically, it works with every language.

mild agate
#

whats the best graph lib for nodejs
(easy, advanced)?

earnest phoenix
woeful pike
mild agate
earnest phoenix
mild agate
#

Okeeh

earnest phoenix
#

I'm trying to perform and aggergation query in mongoose. I defined _id and assigned it a type of a string in my schema. When I'm trying to cast a discord snowflake id to an object id it keeps saying:

Error: Argument passed in must be a single String of 12 bytes or a string of 24 hex characters

Is there any fix to this? Because i know that custom _ids are supported by mongodb.

tired panther
tired panther
earnest phoenix
tired panther
#

the snowflake id is probably longer than 12 bytes

#

or 24 hex chars

cinder patio
#

thonkku I don't think object id's have a limit on how large they can be?

earnest phoenix
#

I can easily do it through the shell tho...

#

I have read a question on stackoverflow, it said that mongoose auto casts the _id in findOne and find it did indeed work. But in aggregation i need to do it myself.

cinder patio
#

you have to check if the package is installed yourself in the code to avoid errors

rocky hearth
#

I'm trying to make react package for tailwind's @heroicons/react
To use this package, we've to import each icon to use.

Rather I'm making it so, we import a wrapper, and we only hv to provide the name of the icon to use.
So to achieve this, do I hv to install react as a peer dependency or what?

This is my index.ts for my package. The jsx is also not working.

#

currently Ive installed, react as a peerdependency

#

window.onload = () => {}

frozen topaz
#

recently dipped quite a bit

woeful pike
#

bro it's almost literally at an all time high

frozen topaz
#

rn?

woeful pike
#

yeah 94

frozen topaz
#

weow

#

I got in at 17 right at the ipo

#

and sold off a few months ago at like 70 right before it dipped

#

yeah its waaay back up

#

wow

tulip knoll
#

is anyone available hear? i need help warmcri

lyric mountain
#

first you ask your question

tulip knoll
#

i want a random cat image from unsplash.com to be sent by bot on command , this is not working ;-;

client.ses=aiohttp.ClientSession
@client.command()
async def catt(ctx, *, search):
search=search.replace(' ', '')
unsplash=('api key')
url=f'https://api.unsplash.com/photos/random/?query=cat&client_id={unsplash}'
async with client.ses.get(url) as r:
if r.status in range(200, 299):
data=await r.json()
url=data['urls']['regular']
embed=discord.Embed(
title='Here is a cat image'
).set_image(url=url)
await ctx.send(embed=embed)

lyric mountain
#

what is the error?

tulip knoll
lyric mountain
#

ah, so you've already set it up properly

#

you need to supply search argument

#

probably ?search=something

#

read the docs to see whether that's a url param or a header

tulip knoll
stiff lynx
#

there is a way to reset the command cooldown and make it a daily command?

drifting wedge
#

I have a for loop that gets all of my bots prefixes for the servers

#

How do I get the top 10 most used ones

#

And how much they're used.

tulip knoll
lyric mountain
#

yw

pale vessel
#

👍

snow urchin
lyric mountain
#

% in flex??

#

like, flex is already a space calculator

#

flex 1 in a div with 3 elemens mean each takes 33% of the space

#

if one has flex 1 and the other 2 have 2 it means it'll take 1/5 of the available space

pearl trail
#

align-items ?

pale vessel
#

sus

#

then idk

#

You can ask in discord-developers

#

There might be other factors

fringe badge
#

users dont kno

#

w

pale vessel
#

F

fringe badge
#

I'll provide everything I have to prove I'm clear

gritty bolt
#

anyone know why pm2 would be spinning up 25 of the same screen?

#

im having it run a screen function and it just errors for no apparently reason and makes 25 screens

lyric mountain
#

200 maybe?

#

Depends on what you're doing tbf, but 200 is fine

#

That's it then

#

Unless you want to return actual data

#

In that case just...well...return it

#

Daring today ain't we?

lost berry
#

uncool

sudden geyser
#

I've seen a lot of users posting that kind of scam recently

#

maybe their accounts are getting hacked

lyric mountain
#

Is it supposed to have return data?

#

If not, 200 is fine

#

You could go with more specific 2xx statuses if you want

#

Doesn't discordjs have integrated interaction handling?

prime mist
gritty bolt
#

i have a discord bot linked to turn on a server that i want to have start up a minecraft server using screen and pm2

#

when i turn pm2 on it makes 15 screens each one at the "loading libraries" screen

#

it says theres errors but when I run it without screen it works fine and i cant find the error

wheat jewel
#
        settings: {
            channel: {
                type: String,
                required: true,
                default: "msgsent"
            }
        },
        levels: {
            type: Object,
            required: true,
            default: {}
        }


    }```
How would I update leveling.levels.test with mongoose?
hardy loom
#

any command suggestions?

prime mist
pale vessel
#

Tim, you're smart

prime mist
#

Ooo, command that prints out your credit card information to the channel 🙂

pale vessel
#

Ah yes, very good for claiming free three months of nitro!

#

For legal reasons that was a joke

prime mist
#

Yes, don't do that. But if you do, invite me to the channel first please.

#

Got my eye on something on Amazon.

lusty quest
clear marlin
#

The credit card information command would be an awesome one 😉

opal plank
#

get a command that register credit cards to unlock a premium feature.
use that credit card to buy 100's of nitros
dm people saying you got nitro giveaways
tell them to join you only need to invite the bot to 5 servers
give random nitros with the credit card u used

rinse and repeat
ggez, you're now as big as mee6 /s

lusty quest
#

and then 3 weeks later go into jail for Federal Crimes, Tax Fraud, and Theft

opal plank
quiet pawn
#

damn

granite zealot
#

How to verifu

#

Verify

#

Please tell me

near stratus
#

*By

#

*Applying

mild agate
#

Hey. Do guild permissions apply to ApplicationCommands? (/cmds)

#

or are they independent?

quiet pawn
#
<style>
.entity-header__image {
    border-radius: 50% !important;
    border: 3px solid gold;
    animation: float 5s ease-in-out infinite;
}
  
@keyframes float {
  0% {
    box-shadow: 0 5px 15px 0px rgba(0, 0, 0, 0.6);
    -webkit-transform: translatey(0px);
            transform: translatey(0px);
  }
  50% {
    box-shadow: 0 25px 15px 0px rgba(0, 0, 0, 0.2);
    -webkit-transform: translatey(-30px);
            transform: translatey(-30px);
  }
  100% {
    box-shadow: 0 5px 15px 0px rgba(0, 0, 0, 0.6);
    -webkit-transform: translatey(0px);
            transform: translatey(0px);
  }
}

.entity-wrapper {
    width: 100%;
    height: 100vh;
    overflow: scroll;
    overflow-x: hidden;
    background: url('your image url');
    background-repeat: no-repeat;
    background-size: cover;
    scrollbar-width: none;
}

.entity-wrapper::-webkit-scrollbar {
    display: none;
}

body{
    scrollbar-width: none;
}

body::-webkit-scrollbar {
    display: none;
}

#menu {
    background: transparent;
}
.entity-content__description {
    background: transparent !important;
    border: none;
}

.entity-content__divider {
    display: none;
}

.entity-hint {
    display: none;
}

blockquote {
    background: linear-gradient(90deg, #363636 30%, #fff0 100%) !important;
}
</style>
``` @drowsy ledge
drowsy ledge
#

thx

quiet pawn
#

no problem ofcourse

drowsy ledge
#

:D

slender thistle
quiet pawn
slender thistle
#

It's up to the dev to modify behavior depending on your permissions as command invoker

#

You can use slash commands only if you have the according permission

sly sierra
#

aight homie

quiet pawn
#

and to change the border color

#
.entity-header__image {
    border-radius: 50% !important;
    border: 3px solid gold; 
    animation: float 5s ease-in-out infinite;
}

change gold to a color you want, red, blue, black, green so on

mild agate
drowsy ledge
#
.entity-wrapper {
    width: 100%;
    height: 100vh;
    overflow: scroll;
    overflow-x: hidden;
    background: url('https://static.theprint.in/wp-content/uploads/2020/03/minor-planets.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    scrollbar-width: none;
}

</style>```
CSS For top.gg custom background ^^
quiet pawn
#

yea more simplify lel

#

mines a bit weird

drowsy ledge
#

btw change the background: url('https://static.theprint.in/wp-content/uploads/2020/03/minor-planets.jpg');
Change the link to the image u want

quiet pawn
#
<style>
.entity-wrapper {
    width: 100%;
    height: 100vh;
    overflow: scroll;
    overflow-x: hidden;
    background: url('your image url');
    background-repeat: no-repeat;
    background-size: cover;
    scrollbar-width: none;
}

</style>
#

there

wanton pebble
#

Hoq can i make my bot have a cystom stats and be dnd

quiet pawn
#

yea

drowsy ledge
#

ye

quiet pawn
#

you use a custom file for status or your main file?

wanton pebble
#

whenever i add status: "dnd" it doesnt do anything

quiet pawn
#

i can send my status code

wanton pebble
#

ok

#

i just have it in my index,js

quiet pawn
#
console.log(`${client.user.tag} is Now Online/Updated`)
    client.user.setPresence({
      status: 'idle',
      activity: {
        name: `${index}`,
        type: 'WATCHING',
      }
    });
foggy umbra
#

How do you send files over 8mb from a discord bot?

drowsy ledge
#
const ap = AutoPoster(process.env.TOPGG, client)

ap.on('posted', () => {
  console.log("\n")
    console.log(`Bot updated! | Info : Guilds - ${client.guilds.cache.size}, Channels - ${client.channels.cache.size}, Users - ${client.users.cache.size}!`)
})```
top.gg stat updater if u are too lazy to read the docs
wanton pebble
quiet pawn
#

yea

#
client.on("ready", () => {
console.log(`${client.user.tag} is Now Online/Updated`)
    client.user.setPresence({
      status: 'idle',
      activity: {
        name: `${index}`,
        type: 'WATCHING',
      }
    });
});
#

there

#
const config = require("../config.json");

module.exports = (client) => {
  console.log(`${client.user.tag} is Now Online/Updated`)

  const messages = [
    `${client.guilds.cache.size + 1} Servers | n.help | n.vote`,
    `111 Commands |  n.vote`,
    `${client.guilds.cache.size + 1} Servers | n.help | n.vote`,
    `111 Commands |  n.vote`,
    `${client.guilds.cache.size + 1} Servers | n.help | n.vote`,
    `111 Commands |  n.vote`,
    `${client.guilds.cache.size + 1} Servers | n.help | n.vote`,
  ];
      
  setInterval(() => {
    const index = messages[Math.floor(Math.random() * messages.length)];
    
    client.user.setPresence({
      status: 'idle',
      activity: {
        name: `${index}`,
        type: 'WATCHING',
      }
    });
  }, 8000);
}
#

thats my actual status code

#

lol

#

its changes every 8seconds

drowsy ledge
#
    let wordArray = message.content.split(' ')

    const fs = require('fs');

    let reply_data = fs.readFileSync('./wordblck.txt').toString();
    
    // Take each word in the text file and put them into an array
    let replies = reply_data.split('\n');    

    for (var i = 0; i < replies.length; i++) {
        if (wordArray.includes(replies[i])) {
            message.delete()
            break;
        }
    }
})```
Word blacklist ^^

`wordblck.txt` should look like :

Test-1
Test-2```

wanton pebble
#

omg

quiet pawn
drowsy ledge
# quiet pawn ```js const config = require("../config.json"); module.exports = (client) => { ...
    { type: 'WATCHING', status: `the world burn` },
    { type: 'LISTENING', status: 'to spotify' },
    { type: 'PLAYING', status: 'with new commands!' },
    { type: 'PLAYING', status: 'lego starwars!' },
    { type: 'WATCHING', status: `for $!help` },
    { type: 'WATCHING', status: `youtube` },
    { type: 'PLAYING', status: 'Minecraft' },
], i = 0

client.on("ready", () => {
  client.user.setActivity('a new update :D', { type: 'WATCHING' })

setInterval(() => {
    const current = activities[i++ % activities.length]
    const { type, status } = current
    client.user.setActivity(status, { type })
}, 15 * 1000)
})```

My version :D
wanton pebble
#

wait

quiet pawn
#

so can change type also

#

i like

drowsy ledge
#

thx

quiet pawn
#

ofocurse

quiet pawn
wanton pebble
#

whats the name: ${index}

#

it said it was undefined

quiet pawn
#

o

drowsy ledge
quiet pawn
#

change that

#

to what ya want your status to say

wanton pebble
#

i just changed it to pog

drowsy ledge
#

u can change that to ur text

#

or

wanton pebble
drowsy ledge
#

add

quiet pawn
#

if u want server count in status do

${client.guilds.cache.size + 1}
drowsy ledge
#

const index = "pog";

quiet pawn
#

lol

wanton pebble
quiet pawn
#

yea

#

like

#

forsay

#
client.on("ready", () => {
console.log(`${client.user.tag} is Now Online/Updated`)
    client.user.setPresence({
      status: 'idle',
      activity: {
        name: `${client.guilds.cache.size + 1} servers`,
        type: 'WATCHING',
      }
    });
});
#

fixed

#

there

#

llike that

wanton pebble
#

i hate that it takes so long for status to update

quiet pawn
#

o

#

damn

#

did u do

#

node index.js

#

in term

#

?

#

to restart bot

wanton pebble
#

no

quiet pawn
#

do that

#

to restart bot

#

unless u do something else to update it

wanton pebble
quiet pawn
#

o

drowsy ledge
#
const client = new discord.Client();
const disbut = require('discord-buttons');

module.exports = {
    info: {
        name: "dbutton",
        description: "Tests the discord buttons!",
        usage: "[nothing lol]",
        aliases: ["dbt"]
    },

    run: async function(client, message, args){
        let button = new disbut.MessageButton()
     .setStyle('url')
      .setURL('put_link_here)
     .setLabel('ez!') 
     .setID('click_to_function1') 

     let button2 = new disbut.MessageButton()
     .setStyle('blurple')
     .setLabel('ezpz!') 
     .setID('click_to_function2') 

      message.channel.send('hmmm', { buttons: [ button, button2 ] });
    }
}```
Discord button stuff (change ur command handler tho) ^^
wanton pebble
#

im using replit

quiet pawn
#

i use galaxygate vps

drowsy ledge
#

ye just stop the bot and then run it again

quiet pawn
#

does stuff usually update when press run?

drowsy ledge
#

in repl

wanton pebble
drowsy ledge
wanton pebble
#

how do u get alliaeses to work

#

it work work for me

quiet pawn
#

like

#

n.h to do n.help

#

as example

#

?

wanton pebble
#

hea

quiet pawn
#

add

client.aliases = new Discord.Collection
#

to main file

wanton pebble
#

k

drowsy ledge
#

and also const { Collection } = require("discord.js");

quiet pawn
#

module.exports = {
    name: '',
    description: "",
    async execute(client, message, args, command) {
}
}
#

@wanton pebble do u use something like that

#

to execute commands

wanton pebble
#

yes

quiet pawn
#

oki so undername add

wanton pebble
#
  name: 'cheese',
  description: "a command to have the bot say cheese,suggested by pink.",
  execute(message, args){
    message.channel.send('Cheese! Eat Cheese and not Tacos');
  }
}````
quiet pawn
#

aliases: [''],

#
module.exports= {
  name: 'cheese',
 aliases: [''],
  description: "a command to have the bot say cheese,suggested by pink.",
  execute(message, args){
    message.channel.send('Cheese! Eat Cheese and not Tacos');
  }
}
#

there

wanton pebble
#

wtf

quiet pawn
#

?

wanton pebble
#

that thing nvm

quiet pawn
#

lol

#

for more then 1 aliases do aliases: ['', ''],

#

and so on

wanton pebble
#

ok

quiet pawn
wanton pebble
drowsy ledge
quiet pawn
#
client.aliases = new Discord.Collection
#

just that

wanton pebble
#

ok

#

also

quiet pawn
#

yes?

drowsy ledge
#

wait

quiet pawn
#

no idea

#

topgg rip off

wanton pebble
#

console.log(`${client.user.tag} is Now Online/Updated`)
    client.user.setPresence({
      status: 'idle',
      activity: {
        name: `${client.guilds.cache.size + 1} servers! Pog`,
        type: 'WATCHING',
      }
    });``` isnt shoing servers
quiet pawn
#

whats it show?

#

also for dnd change idle to dnd btw

wanton pebble
#

k

#

its saying
"Watching servers! Pog

quiet pawn
#

o

#

wierd

#

umm

#
${client.guilds.cache.size} ```
#

try just that

#

with out + 1

wanton pebble
#

oop its working

#

it says 2 servers

quiet pawn
#

that means ya bots in 2 servers

#

lol

wanton pebble
#

even tho its in 4 servers but what ever

quiet pawn
#

the + 1

#

is to fix that

wanton pebble
quiet pawn
#

is what fixes that

wanton pebble
quiet pawn
#

o

#

weird

#

well do + 3

#

lol

wanton pebble
#

lol

quiet pawn
wanton pebble
#

console.log(`${client.user.tag} is Now Online/Updated`)
    client.user.setPresence({
      status: 'idle',
      activity: {
        name: `${client.guilds.cache.size + 1} servers! Pog`,
        type: 'WATCHING',
      }
    });
``` thats what i have now
quiet pawn
#

o

#

well if its off by 3

#

do + 3

wanton pebble
#

ok

#

should it fix its self after that

quiet pawn
#

yea

#

mines off by 1

#

thats why i have + 1

wanton pebble
#

oh ok

#

rip alliese isnt working

#
  name: 'cheese',
 aliases: ['che', 'cat'],
  description: "a command to have the bot say cheese,suggested by pink.",
  execute(message, args){
    message.channel.send('Cheese! Eat Cheese and not Tacos');
  }
}```
quiet pawn
#

umm

#

ill tyr running it my self

#

1 sec

wanton pebble
wanton pebble
quiet pawn
#

works for me

#

weird

#
client.aliases = new Discord.Collection
#

you added that

#

to index.js

#

?

wanton pebble
quiet pawn
#

maybe

#

hasnt updated yet

#

kinda liek status took awhile

#

because that all sems right

wanton pebble
#

ya maybe

quiet pawn
#

ow ait

#

you use a message.js

#

?

#

liek where are you're commands executed from

#

like

#
const cmd = client.commands.get(command)

#

you have something like that somehwere?

wanton pebble
#

umm

wanton pebble
quiet pawn
#

well where do you execute commadns from

#

like

#
module.exports = async (client, message) => {

    if (message.author.bot) return;
    if (message.content.indexOf(prefix) !== 0) return;

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

    const cmd = client.commands.get(command) || client.commands.find(a => a.aliases && a.aliases.includes(command));


        cmd.execute(client, message, args, command);
        }
wanton pebble
#
  client.commands.get('cheese').execute(message, args); 
}``` just from index lol
quiet pawn
#

soemthing like that

quiet pawn
#

idk how to use aliases liek that

wanton pebble
#

ok

#

should i make a messeges.js

quiet pawn
#

if you know how to use it

wanton pebble
#

nope

quiet pawn
#

umm

#
}else if (command == 'cheese'){
  client.commands.get('cheese')|| client.commands.find(a => a.aliases && a.aliases.includes('cheese')).execute(message, args); 
}
#

try that

#

idk if it will work

#

but worth a shot

wanton pebble
#

i have theses

  if(!message.content.startsWith(prefix) || message.author.bot) return;

  const args = message.content.slice(prefix.length).split(/ +/);
  const command = args.shift().toLowerCase();````
wanton pebble
cinder patio
#

(it won't)

quiet pawn
#

damn

#

i never executed commands through main file

cinder patio
#

(client.commands.get('cheese')|| client.commands.find(a => a.aliases && a.aliases.includes('cheese'))).execute(message, args); that will work tho

quiet pawn
#

thats what i

cinder patio
#

nope

quiet pawn
#

o

#

wait

#

the other ()

rocky hearth
#
type MyFun = (a: A) => B;
function myFun() {}

How do I make, myFun of Myfun type?

cinder patio
#

it fits the type as long as it has the same signature

#

myFun(a: A) : B {
//...
}

wanton pebble
quiet pawn
#

try that

#

i was wrong

wanton pebble
#

k

prime mist
#

The argument types would then get inferred for you.

rocky hearth
#

😦

#

that's sad. TS never comes to my expectations

prime mist
#

Also, that isn't valid typescript lol.

#

What are you actually trying to do? That probably isn't the best example.

cinder patio
#

It just has to match the signature

rocky hearth
#

I tried this,

function myFun<MyFun>(a) {}
cinder patio
#

That's a generic parameter

rocky hearth
#

whats that used for

cinder patio
#

generic types

prime mist
#

They are pretty much types that could be anything. For example:

function echo<T>(input: T) {
  return input;
}

const out = echo("test");
// out now has the type `string`

const another = echo(123);
// another now has the type 'number'
cinder patio
#

that's a bad example

wheat jewel
#
        settings: {
            channel: {
                type: String,
                required: true,
                default: "msgsent"
            }
        },
        levels: {
            type: Object,
            required: true,
            default: {}
        }


    }```
How would I update leveling.levels.test with mongoose?
prime mist
wheat jewel
#

ty

wanton pebble
quiet pawn
wanton pebble
#

ill prob find out how to make a messages.js

quiet pawn
#

its not tooo hard

wanton pebble
#

ok

quiet pawn
#

do you store prefix in a config.json?

wanton pebble
#

nope

sly sierra
#

@quiet pawn I tried to use my own background code but didn't work so i tried yours, and it still didnt work

#

any idea why?

quiet pawn
#

umm

#

is it at bottom of desc

sly sierra
#

mhm

quiet pawn
#

no idea then

#

what did u use for iomage url?

sly sierra
feral trout
quiet pawn
#
background: url(' https://i.imgur.com/AbbIh0z.jpeg');```
#

@sly sierra there

sly sierra
#

ah

#

aight

sly sierra
#

@quiet pawn how did you get it btw

quiet pawn
#

get what?

pale vessel
#

Your mom?

quiet pawn
pale vessel
#

oh

sly sierra
#

How did you get it to work

quiet pawn
#

just added the ' that was deleted at eend

pale vessel
#

I literally misread that as "mines bot"

sly sierra
pale vessel
#

What is wrong with me

quiet pawn
sly sierra
#

you added a i. and jpeg

#

hmm

quiet pawn
sly sierra
#

nvm

quiet pawn
#

embed

#

there

#

@sly sierra ^

pale vessel
#

piss

sly sierra
#

ahh

sly sierra
near stratus
#

wtf

pale vessel
#

I thought you're into feet

sly sierra
earnest phoenix
#

I am getting undefined time after executing work command 2nd time . It is not showing cooldown time.

quiet pawn
#

piss is just abunch of random tabs

rocky hearth
#

for functional component, object state. If I reset the state with same data. Does the component gets rerendered?

cinder patio
#

wdym by reset

pale vessel
#

re-set?

cinder patio
#

res-et?

cinder patio
rocky hearth
#

is it same for class components also?

cinder patio
#

probably

rocky hearth
#

suppose the state is {value: 5} and doing this.setState({value: 5}) No change in value
will this trigger a rerender

cinder patio
#

yeah definitely

#

you should test it just in case though, haven't touched react in a while

rocky hearth
#

so for functional component, which is better to store state. an object or multiple useState's?

cinder patio
#

Hmmm I'd say it's up to preference, there isn't really much of a difference

#

If you get your state from your props as an object then using an object will be more convenient

rocky hearth
#

ok

pale vessel
#

okay...?

rocky hearth
#

I want to do animations based on a state in react, instead of rerender.
Can I do that, with only using react.

earnest phoenix
#

i downloaded node v16 from the website and i extracted this folder from the tarball:

#

now what do i need to do to add it to path?

#

when i installed the raw binary for deno i added it's file path to .bashrc

#

can i do that the same for node?

#

well it worked

#

npm failed

#

lesson learned: use nvm for installing node on linux

cinder patio
quartz kindle
old cliff
#

Rate my stinky code https://github.com/CircuitBotDev/DJS13Test

Its a pretty advanced handler which using which you can handle normal and slash cmds with same methods.. aka single command will function for both normal and /cmds... simple buttons pagination and stuff

quartz kindle
#

the lack of spacing between text and bracket is triggering me

#

so offensive

old cliff
#

._.

lusty quest
#

did you use prettier?

pale vessel
#

Evaluating regex twice

old cliff
#

took that from old code

old cliff
lusty quest
#

give it a try, will atleast fix the spacing

old cliff
#

someday

#

note: it has both embed and embeds while sending embeds because when djs13 will be released, it will shift to embeds: [] but rn only sends embed in message

sudden geyser
old cliff
#

?

spare badger
#

@zealous trellis Lets talk about your issue here

zealous trellis
#

alright

spare badger
#

So the message author returns a User type. The user type doesn't have the voice property.

#

You need a GuildMember type

zealous trellis
#

Got any ideas? I just want to grab a voice channel instance from the message's author

#

Im using message.member

#

which returns a guildmember

spare badger
#
const guildMember = message.guild.member(user.id);
zealous trellis
#

but guildmember has no instance of the voiceChannel property

spare badger
#

The GuildMember object has a voice property

zealous trellis
#

member.voice?

spare badger
#

Yes

#

It will return a VoiceState object

zealous trellis
#

so const voice = msg.member.voice.channel; then..

spare badger
#

I think so yes

zealous trellis
#

gotta love api rewrites

#

turn .voiceChannel into .voice.channel

#

ffs

spare badger
#

It's all documented in the Discord.js documentation!

silent crag
#

is it discord.js v12?

zealous trellis
#

Well, Discord.js is a pretty large library
hard to memorize everything ya know

spare badger
#

Thats why they have a documentation 😉

silent crag
#

when i started coding i found docs useless

#

but now theyre actually useful

zealous trellis
#

Docs are both extremely useful, and utterly useless

#

but thats abstract

#

it just depends on how the library was written

#

Well, I guess that success was short lived... I just got an ffmpeg error. Though I guess it makes sense, you cant run audio / video without it..
However, I have absolutely no clue how to add ffmpeg to a nodejs project

(node:13132) UnhandledPromiseRejectionWarning: Error: FFmpeg/avconv not found!

Anyone got any ideas?

rocky hearth
lusty quest
zealous trellis
#

so now I have to restart my damn computer to use it

#

ffs vscode

sudden geyser
#

Do you know where it's coming from? What host are you using?

crimson vapor
#

my bets are on replit

lusty quest
#

did you auto login after a crash?

rustic meadow
#

In terms of a giveaway bot, I know it’s now against tos to require someone to join a server to enter a giveaway, but in regards to the total of invites the user has to join the giveaway (in that guild) is that against terms of services too now?

lusty quest
#

its against TOS, considered Advertising using the API or something along the lines

opaque seal
#

Are you sure? I don't think so

sudden geyser
lusty quest
stable eagle
#

Am I doing smth wrong? Why is pm2 stopping after like 24h and my bot goes offline

stable eagle
#

Like where?

opaque seal
#

with pm2

#

pm2 start index.js?

stable eagle
#

Ye

opaque seal
#

Do you have metrics for your hardware usage?

#

Can you view like cpu, ram usage

#

Maybe you don't have enough resources

stable eagle
opaque seal
stable eagle
#

Yes

opaque seal
#

do you have any errors logged in pm2?

stable eagle
#

Imma see

opaque seal
#

pm2 log

#

you can see more lines with the --lines tag, like pm2 log --lines 100

stable eagle
#

Ik

opaque seal
#

What are you trying to do @low orbit

#

Are you trying to rename a channel?

half bear
#

hi

opaque seal
#

I guess the issue is in your code then

half bear
#

@sudden geyser

#

it says line 5 on vscode

sudden geyser
#

The ... was a placeholder. You were supposed to put the content in it (in this case, the test variable)

half bear
#

oh

sudden geyser
#

oof wrong file type

#

Well you could just rename the file on your local system or edit the send method to also specify the file name

half bear
#

like test.txt

#

(test, test.txt)?

sudden geyser
#

Yeah, like

message.channel.send({
  files: [{
    name: "guilds.txt",
    attachment: Buffer.from(...)
  }]
});
half bear
#

lemme test 1 sec

sudden geyser
half bear
#

thank you so much

#

and how can i send message and quit the bot with id

#

or is there a guide about it

sudden geyser
#

If you have intents enabled, you'll need to iterate over the guild list and count up the number of regular members and bots. For example:

client.guilds.cache.map((guild) => {
  let partition = guild.members.cache.partition((member) => member.user.bot);

  return `${guild.name} (${guild.id}): ${guild.memberCount} (bots: ${partition[0].size} | members: ${partition[1].size})`
}).join("\n");

(This is untested, but it probably will work)

#

It may be inaccurate as well, but it should give a good estimate for the bot vs. member difference.

half bear
#

thats for bot / member count for each server right?

sudden geyser
#

yes

heavy notch
#

?avatat

sudden geyser
#

It lists the total member count, the number of bots in the server, and the number of members (non-bots) in the server.

half bear
#

it seems like bots is not correct

#

and members: section also shows total

sudden geyser
#

I think you need to do member.user.bot

half bear
#

lemme try it

#

☑️

#

and how can i send embed and quit the bot from specific servers

#

not automaticly

#

with server id

#

because there is servers in my lang also and i want to send a Turkish message to them to understand

#

or guild owner via dm

slender thistle
#

Whoever cares will either reinvite it or contact you

sudden geyser
#

You can call the .leave() method on a Guild instance to leave the guild.

client.guilds.cache.get(...).leave(); // ... will be the guild ID as a string

If you wanted to DM the owner of the server, there's an owner and ownerID property on a Guild instance. You can use it to DM the owner. However, I don't think it's worth the time.

half bear
#

not yours please

slender thistle
#

🤷

half bear
#

i will directly leave the servers yes

#

lemme start

#

afk

#

@sudden geyser

sudden geyser
#

You passed a number.

#

Not a string.

half bear
#

oh wait found the thing

#

my english is not too good sorry :/

#

i forgot to add ' also

#

thank you for helping

sudden geyser
#

np

mild agate
#

Some bots got bonk because of that

lavish bramble
#
const shipname = user1.username.slice(0, 5)
const shipname2 = user2.username.slice(0, 5)
const name = shipname+shipname2
   if (ship > 50) {
    message.Reply(name, love);
   } else {
    message.Reply(name, mehh);
   }
  } ```
Error cannot read property type slice
proper bolt
#

pretty sure slice is for arrays

#

@lavish bramble use substring instead

lavish bramble
#

How

proper bolt
#

change slice to substring

lavish bramble
#

Ok

safe gyro
#

Anyone can help me?
&scope=bot%20applications.commands&permissions=3490573430
My invite link have
Manage Server
Manager roles
Manage channels
Member Bann/kick
Manage emijo
Read/send/Manage messages
Links embed
Read message history
Add reaction
Usw external emoji
Slash comamds

When i invite in a clean Server its All work

But when i invite in a server with setting Up channels and roles then i become
Missing permissions how can i solve this? Any discord bot lists use a server with channels who my bot bot response

lavish bramble
proper bolt
#

ok so read the error

sudden geyser
lavish bramble
#

Then why it's not working

sudden geyser
#

Because .username is probably null

proper bolt
#

or undefined

lavish bramble
#
TypeError: user1.substring is not a function```
sudden geyser
#

May I ask how much experience you have with JavaScript

lavish bramble
#

Well 2 weeks

#

😅

sudden geyser
#

interesting

#

though you may want to spend more time learning

lavish bramble
#

Thnx 😁

lavish bramble
proper bolt
#

user1 isnt a string

sudden geyser
#

What's user1 and user2

lavish bramble
#

Args[0]

#

Wait

solemn latch
lavish bramble
#

Lemme show

sudden geyser
#

yeah you see

#

user1 is either going to be a String or a User instance.

#

and that's not very reliable

#

maybe when constructing the embed

#

but when you try doing operations that are sensitive to the type

#

e.g. .substring and .slice

#

all hell breaks loose

#

You should either rely on strings only or users only

#

I recommend users to improve integrity

lavish bramble
#

Ok

quartz kindle
#

and user2 is neither

#

its a member object

prisma lion
#

heroku didnt recognize discord.ext.forms any help?

earnest phoenix
#

Just append whatever it is to the requirements.txt?

#

Seems like discord-ext-forms, but you know more

safe gyro
solemn latch
#

your bot should ask for perms it doesnt have, not randomly give itself perms it was not given on invite.

safe gyro
#
REQUIRES OAUTH2 CODE GRANT
If your application requires multiple scopes then you may need the full OAuth2 flow to ensure a bot doesn't join before your application is granted a token

I need this?

But here All perms for invite

lusty quest
safe gyro
#

Ok thnaks

#

But What make i false? I Set the perm right i know this 😩

I cant give Administrator then dont accept the bot list my bot with admin its work

solemn latch
#

👀 we dont check the invite link