#development

1 messages · Page 1817 of 1

tiny lily
#

Hi

timber fractal
#

does anyone know why this does set the level to the right thing but doesnt reset xp to 0?

modest maple
#

pretty sure they need to be in the same object

rapid remnant
#

can someone code me few sentences fre

modest maple
#

atm you're passing them as seperate parameters

timber fractal
#

i did but i couldnt find but thx

wheat mesa
rapid remnant
#

kid

timber fractal
#

i checked that alr

#

thx

rapid remnant
#

bot.on('guildMemberAdd', function(member){
member.send("welcome");
});

#

will this send new members a dm?

#

yeah?

wheat mesa
#

Yes

rapid remnant
#

wow

wheat mesa
#

Unless they block your bot

rapid remnant
#

so simple

#

but wait

#

i forgot how to make the token part

#

can u modify it for me

wheat mesa
#

Also use lambdas it looks nicer (you don’t have to, just seems better)

rapid remnant
#

eh idk whats lambdas

wheat mesa
#

Lambdas are these: =>

rapid remnant
#

what will the lambdas do

wheat mesa
#

It’s the same thing as what you wrote, it’s just nicer-looking

#

(Also I apologize for the formatting, I’m on mobile atm)

rapid remnant
#

do i put the message in // code part

#

member.send

wheat mesa
#

Yeah that’s just whatever code you want to have run whenever your guildMemberAdd event triggers

rapid remnant
#

bot.on(“guildMemberAdd”, (member) => {
member.send("welcome");
});

wheat mesa
#

Perfect!

rapid remnant
#

is that will send a dm to new users who join

#

ok

#

i forgot how to use vs code

#

oh

#

alr i know

#

new file

#

client.login(“token”)

bot.on(“guildMemberAdd”, (member) => {
member.send("welcome");
});

#

@wheat mesa

#

would it be like that

wooden kindle
#

is repl a good website to host a small website

rapid remnant
#

hey

#

is this correct

#

client.login(“token”)

bot.on(“guildMemberAdd”, (member) => {
member.send("welcome");
});

wooden kindle
#

ur trying to make ur bot DM them when they join the server

#

correct

rapid remnant
#

yes

#

i want a selfbot

#

so like my account can dm

#

as owner

wooden kindle
#

self bots are agents TOS

rapid remnant
#

oh

wheat mesa
#

Yeah...

rapid remnant
#

but i can still use

wooden kindle
#

so...

rapid remnant
#

on my risk

wooden kindle
#

but discord has a good chance of catching u

wheat mesa
#

None of us here could help you with it if it's a selfbot

wooden kindle
#

they literally have anti cheat for discord

rapid remnant
#

oof

#

ok ill just use developer portal for bot yes?

wooden kindle
#

ye

rapid remnant
#

and i put token there

#

ok

woeful pike
rapid remnant
#

but is this for token

#

client.login(“token”)

bot.on(“guildMemberAdd”, (member) => {
member.send("welcome");
});

woeful pike
#

creator of swc

wheat mesa
#

By selfbot, you mean automating your own account, correct?

rapid remnant
#

yes someone told thats the name

#

but i didnt know its illegal

wheat mesa
#

Okay yeah, I was just making sure that you didn't mean like "self bot" as in, a bot that you create yourself

wheat mesa
#

It's not illegal per se, just against discord's ToS and they can terminate your account at any point

rapid remnant
#

ok

#

but is this how to make a token

#

client.login(“token”)

bot.on(“guildMemberAdd”, (member) => {
member.send("welcome");
});

#

@wheat mesa

#

hellloo

wooden kindle
#

not helping 😮

latent heron
#

Why did you ping him?

wooden kindle
#

wrd lmfao

wheat mesa
#

Don't think I can help you with that, now that I know it might be used for a selfbot

rapid remnant
#

okay now you wastem y fucking time to find another person who will help

#

i said i didnt know its ilegal and ill uise a bot

#

but noo you still wont help

wheat mesa
#

Because you can say something and do something else.

rapid remnant
#

fuck u

wheat mesa
#

I'd rather not risk it, even though I'm pretty sure that's not even how you create a selfbot.

latent heron
#

Nobody is obligated to help you..?

#

@earnest phoenix

wooden kindle
warm crypt
wheat mesa
#

I'm not sure, I've never tried

#

I don't really know much about selfbotting, I just know it's against ToS

wooden kindle
latent heron
#

What a gamer

warm crypt
wheat mesa
#

I mean, you'd think that they would remove that functionality even in older versions to prevent that sort of thing

wooden kindle
#

ye

#

in v12 they updated it

#

BECAUSE SELF BOTTING = NOOB

wheat mesa
#

self bots are cool as a concept, but it's good that they're not allowed

stray seal
#

I have a bot and the Help is done. The help looks sloppy. Can someone come and fix it?

wheat mesa
#

We can help you if you have issues, but no one is going to write all your code for you 🙂

warm crypt
wheat mesa
#

Fair enough

feral aspen
#

Hello. 👋

#

I have a command handler, you input values to the properties of name: to name the command, description: to give description to a command, and etc.
I sometimes don't want commands but events whereas if someone said, for example, Idiot, it would react with a reaction, or reply with a message.

#

I've tried searching for videos like those.. can't seem to find. I want to do it in my message event.. but that would be too unorganised.

#

.. kind-of lost, ideas?

timber fractal
#

still doesnt work

#

can you help?

slender wagon
#

can you install youtube-dl and ffmpeg on heroku

tulip ledge
#

Anyone knows how to fix? Casting it as TextChannel also returns an error

lyric mountain
#

why don't u retrieve the textchannel instead of a raw channel?

tulip ledge
#

this.client.channels.cache.get("858264225105575937")

lyric mountain
#

also, looks like you have deprecated stuff up there

tulip ledge
#

yeah

#

don't worry about it

lyric mountain
#

or isnt that a command?

quartz kindle
#

how did you cast it?

tulip ledge
#

(<TextChannel> channel).send(...)

#

I just realised it's because the channel is undefined

#

which is weird

#

because I basically had the same code in js

#

and it worked

lyric mountain
#

cache maybe?

tulip ledge
#

oh

#

use fetch instead then?

lyric mountain
#

I guess

quartz kindle
#

channels should always be cached

#

if you use normal discord.js

#

fetching wont make a difference

#

you said you casted it, but the code you showed doesnt have the casting

#

can you show the code with casting and the error warning?

feral aspen
#

Hello. 👋
I'm having this code.

Inventory.updateMany({}, { $unset: { test: ??? }}).exec();
```It removes the test property in **MongoDB**.. but how can I remove a property that is inside an array of objects and this array is called `lmao`
lyric mountain
#

filter the array ig

feral aspen
#

How, though?

lyric mountain
#

well, you need to fetch -> filter -> save

#

don't think you can do it in a single command

feral aspen
#

That sucks..

lyric mountain
#

in sql it'd be possible KEKW

feral aspen
#

God dammit.

#

Thanks.. anyways. :)

boreal iron
#

God damn… who could think of a server in your garage would be a dust “collector” KEKW

lyric mountain
#

reverse thanos-inator

#

one could say the server is, ahem, garbage collecting

feral aspen
#

At first.. I thought I wanted to do that.. but sadly I wasn't.

boreal iron
#

At least the RAM upgrade was successful after blowing all the dust out of the slots

feral aspen
#

Well.. I'm removing that property from 500 documents.. :((((

#

.. but I realised it's 13 anyways.

#

😂

#

Imma do it manually.
Edit: 13 document - 10 = 3.

boreal iron
lyric mountain
#

that is surprisingly clean

feral aspen
#

.. or is that not a PC.

boreal iron
#

Now the dust got blown out into the garage waiting for being suck into the system again

#

lmao

boreal iron
misty sigil
#

close enough

boreal iron
#

Yeah just with the difference the hardware is like 10x more expensive

#

But fair enough as the most components are running 24/7 the last decade without any issues so far

amber thistle
#

this randomly popped into my mind but how does top.gg know if the bot the users that are submitting are actually owned by them and not someone else?

slender thistle
#

It doesn't

amber thistle
#

so does that mean i can take someone else's bot and submit it as mine?

lyric mountain
#

technically, yes

slender thistle
#

Yes but good luck if you get confronted about it

amber thistle
#

woa

lyric mountain
#

but like, if you can prove the bot is actually yours I guess the fake author will probably be banned and the ownership transferred to you

amber thistle
#

i see

#

lmao imagine if i uploaded dank memer as my bot and the vote revenue goes to my wallet

lyric mountain
#

also most bots have a "created by" info somewhere

#

like info command

deft forge
#

can someone tell me what is wrong in this?

async def whois(ctx, member: discord.Member):

  roles = [role for role in member.roles]

  roles = []
  for role in member.roles:
    roles.append(role)

  whoemb = discord.Embed(color=member.color, timestamp=ctx.message.created_at)

  whoemb.set_author(name=f"User Info - {member}")
  whoemb.set_thumbnail(url=member.avatar_url)
  whoemb.set_footer(text=f"Requested by {ctx.author}", icon_url=ctx.author.avatar_url)


  whoemb.add_field(name="ID:", value=member.id)
  whoemb.add_field(name="Guild name:", value=member.display_name)

  whoemb.add_field(name="Created at:", value=member.created_at.strftime("%a, %#d %B %Y, %I:%M %p UTC"))
  whoemb.add_field(name="Joined at:", value=member.joined_at.strftime("%a, %#d %B %Y, %I:%M %p UTC"))

  whoemb.add_field(name="Roles:)", value=" ".join([role.mention for role in roles]))
  whoemb.add_field(name="Top role:", value=member.top_role.memtion)


  await ctx.send(embed=whoemb)```
timber fractal
#
let nextLevel = profileData.level * 300;
        let newLevel = profileData.level + 1;
        if(nextLevel <= profileData.xp) {
            let secondResponse = await profileModel.findOneAndUpdate({
                userID: message.author.id,
            }, update, {level: newLevel, xp: 0});
            if(secondResponse) message.reply(`Congratulations, you are now level ${newLevel}`);
            if(!secondResponse) {
            message.reply(`OOPS, I tried to update your level but it failed, developers have been noticed.`);
            console.log(`Failed to updated ${message.author.tag}\`s level. They are currently level ${profiledata.level} with ${profiledata.xp} xp.`)
        }```
lyric mountain
deft forge
#

?

lyric mountain
#

what is expected to happen vs what did happen

deft forge
#

well its supposed to be a user info command but it says that an error occured when ever i try it

lyric mountain
#

ok, show the error

deft forge
#

imma find my error decorator gimme a sec

#

i wrote memtion...

lyric mountain
#

?

earnest phoenix
#

@lyric mountain they made a typo in their code lol

deft forge
#

yeah

lyric mountain
#

oh, ok

jovial sand
#

discord keeps giving the developers badge?

quartz kindle
#

no

jovial sand
timber fractal
jovial sand
#

.__.

timber fractal
quartz kindle
jovial sand
#

ok

jovial sand
timber fractal
#

Tim do u know how to use mongoose

quartz kindle
#

no

earnest phoenix
#

They have docs

timber fractal
#

still does the exact same thing

#

do you know whats wrong?

quaint wasp
#

uhh

#

How do I post a "json" with express?

solemn latch
#

res.json(OBJECT)

quaint wasp
#

?

solemn latch
quaint wasp
#

so statsJSON.toString ?

solemn latch
#

no need, just make it an object originally

#

const statsJSON = {status: "Online!"}

latent heron
#

.json() also helps with serializiation of the JSON content for HTTP requests

#

which is extremely important

#

non-serialized JSON be like 🤢

quaint wasp
timber fractal
#

do you know why it still does exactly the same?

latent heron
#

does anyone know any good JS minifer scripts that either obfuscate or 1-line minify the HTML contents of a webpage?

split hazel
#

If you're looking for something like an express middleware, there's one called express-minify which automatically minifies any cdn requested from your website.

#

It uses uglifyjs for JS which supports, well making JS ugly aka obfuscating

lyric mountain
#

transform the js into jsfuck, profit

split hazel
#

that would increase your load time lmao

lyric mountain
#

but it'd be obfuscated 😎 👉 👉

latent heron
#

trying to not hit performance too terribly

modest maple
#

your html is technically 1 line in the first place

latent heron
#

you knew what i meant cf8 pepeHands

modest maple
#

why not just let CF handle it?

latent heron
#

do they have an option for minification/obfuscation like that though?

lyric mountain
#

cf caches a helluva of stuff

modest maple
cinder patio
#

I will not let ChillFish8 handle it

pale vessel
#

But ChillFish8 is really useful

old umbra
#

I was trying to make the boot logo round but it's just in the preview, what should I do to fix it?

#

and sometimes when I restart the page it stays as it was before
here it appears that I modified the tag

#

´-´

#
.entity-header__details img {
    border-top: 6px;
}

.entity-header__image {
    border-top: 6px;
}
#

I put this css

boreal iron
#

Making it round requires to use the border-radius property

old umbra
#

ahhh

boreal iron
#

Don’t forget to append !important to the rule to enforce it

#

border-radius: 999px !important;

old umbra
boreal iron
#

For a completely round look

#

Or less pixels for a rounded corner

old umbra
#

OK thanks

boreal iron
#

And use a CSS border generator to get the right properties for Mozilla and webkit devices

#

Should be something like:
-webkit-border-radius: …
-moz-border-radius: …
border-radius: …

#

@old umbra

old umbra
#

when I load the boot from my bot it doesn't load what do I do for it to load the auteration I made instead of it taking the one I did before?

#

like I just changed the logo but when I go to see the bot page it doesn't load

#

he sometimes takes the previous change

wheat mesa
#

Nice

#

@rustic nova

rustic nova
#

Thanks

rose warren
# boreal iron border-radius: 999px !important;

border-radius: 50% is better to use. I mean, a size big enough to make 999px not work as intended would never really be reached, but 50% is guaranteed to work all of the time no matter how big your element gets.

boreal iron
#

Yes, a good note

rose warren
#

I'm 1000% nit-picking 😅 but just a note 😉

boreal iron
#

Aye that’s why I wrote “good note” not “get the fuck outta here”

rose warren
boreal iron
#

I can deal with critics as long as you criticize somebody else not me

#

sarcasm warning

boreal iron
#

Percentage is the better choice as he said

old umbra
#

beautiful haha

boreal iron
#

50%

#

👍

old umbra
#

but it still doesn't update the site

boreal iron
#

Huh topgg got a new design?!
Not even aware of that

boreal iron
brave garnet
#

yeah got, but its in beta

#

EARLY BETA

boreal iron
#

Or SHIFT + F5
(depends on the browser)

brave garnet
#

yeah, shift+f5 + some luck

old umbra
#

ahhh

#

it resets the page but it doesn't change to new designer

#

😭

foggy umbra
#

can someone give me a one or two sentence description of what a restful API is?

timber fractal
#

Bruh literally noone can help me

foggy umbra
#

that doesnt tell me shit

vivid fulcrum
#
REST API Tutorial

REST is an architecture style for designing networked applications. REST is a lightweight alternative to mechanisms like RPC (Remote Procedure Calls) and Web Services (SOAP) etc.

#

also a google away

foggy umbra
#

mf i know how google works

vivid fulcrum
#

then use it

#

this is a useful article

#

you don't have to go beyond headers and paths

foggy umbra
#

I got it, its more of a philosophy about how to design than like specific implementation

vivid fulcrum
#

pretty much

#

it's the most sane api design today

quartz kindle
#

it pretty much means being able to access/execute it any time from anywhere without any precondition or setup, as everything is self contained

quartz kindle
#

lmao

vivid fulcrum
#

enlighten me

quartz kindle
#

it uses cookies

vivid fulcrum
#

what

#

do you pass params through cookies or??

quartz kindle
#

you have to make a request first, store the cookie, and send all other requests with the cookie. the cookie lasts for 2 hours, after which you have to get a new one

#

the first request needs to send username and password to get the cookie

#

then

#

their routes are like this

vivid fulcrum
#

that's so unnecessarily complex

#

it's basically reinventing CSRF tokens

#

whoever designed that must've been on crack

quartz kindle
#

i'd send you their docs, but they are also locked behind login

#

lmao

#

dafuq

earnest phoenix
#

Wtf

crimson vapor
#

@drowsy crag

quasi shard
#
const { MessageMenu, MessageMenuOption } = require('discord-buttons');

let menuOption1 = new MessageMenuOption()
    .setLabel('Fusion I')
    .setEmoji('1️⃣')
    .setValue('f1');

UnhandledPromiseRejectionWarning: TypeError: MessageMenuOption is not a constructor

#

What am I doing wrong here think

wheat mesa
#

Using discord-buttons

sudden geyser
cinder zenith
#

I added a menu in addition to the help menu of my bot, but when I go to that menu, it throws the help menu before it, even though I set aliases, I couldn't fix it. What is the problem?

sudden geyser
#

@ripe prairie

ripe prairie
#

thanks

bright thorn
#

anyone can explain me my bot not coming online in same code i put other bot token and this is only why ?

lyric mountain
#

No code no help

#

Or at least an error

long crow
#

come on, you can read mind, can you

lyric mountain
#

Mind reading is not included in your current plan.

Would you like to purchase it for just $49,99 per month?

crimson vapor
#

Plus the one time setup fee of $420.00

quiet sedge
#

ok so I am trying to make some reaction thing with the reactions from my server but the filter won't detect them. any idea what am I doing wrong ?

         if(pistol >= 1){msg.react('![pistol](https://cdn.discordapp.com/emojis/867572243016712204.webp?size=128 "pistol")')}
          if(mac10 >= 1){msg.react('![mac10](https://cdn.discordapp.com/emojis/867572488296333342.webp?size=128 "mac10")')}
          if(ak47 >= 1){msg.react('![ak47](https://cdn.discordapp.com/emojis/867573116859711488.webp?size=128 "ak47")')}
          if(m4a4 >= 1){msg.react('![m4a4](https://cdn.discordapp.com/emojis/867578362103726110.webp?size=128 "m4a4")')}
          msg.edit('',craftembed[message.author.id])
          const filter = (reaction, user) => {
            return ['![pistol](https://cdn.discordapp.com/emojis/867572243016712204.webp?size=128 "pistol")','![mac10](https://cdn.discordapp.com/emojis/867572488296333342.webp?size=128 "mac10")','![m4a4](https://cdn.discordapp.com/emojis/867578362103726110.webp?size=128 "m4a4")', '![ak47](https://cdn.discordapp.com/emojis/867573116859711488.webp?size=128 "ak47")'].includes(reaction.emoji.name) && user.id === message.author.id;
          };
          msg.awaitReactions(filter, { max: 1, time: 120000, errors: ['time'] })
            .then(collected => {
              const reaction = collected.first();

              craftitems[message.author.id].push(reaction.emoji.name)
              message.channel.send(craftitems[message.author.id])
              msg.delete()
              RefreshCrafting()
pale vessel
#

reaction.emoji.name returns the emoji name (e.g. ak47) so your filter won't pass

#

Use reaction.emoji.toString(), that returns the mention (e.g. <:name:id>)

long crow
#

I wish I can publish this without the fear of 429 from YT

split hazel
#

shame YouTube doesn't let people stream content through a 3rd party with no ad revenue for free isn't it

craggy pine
#

ip rotators op.

split hazel
#

actually does YouTube offer a paid API for videos

#

probably not

#

they should

long crow
#

the API is too much rate limited

split hazel
#

well you're not supposed to be using it anyways lol

#

actually no you can

#

just not for that

fleet lion
#

Whoops

#

I put something in the wrong channel

regal lotus
earnest phoenix
#

i wonder why people dont use REAL music services like spotify or musixmatch which do allow music streaming through their api
are you too broke to buy an api key?

long crow
#

spotify is encrypted, yt dont

#

musicmatch? who use that

pale vessel
#

Musixmatch is for lyrics, no?

#

Spotify only has web player SDK

devout vapor
#

yooo, im trying to get the bot to react to a message that it has just sent out from a list but it doesnt seem to be doing so :/ am i doing something wrong?

         channel.send(sendingmessage).then(r => {
            for (x in reaction) {
                r.react(reaction[x])
            }
        })
cinder patio
#

What is reaction

#

Also you have to put let or const before x

pale vessel
#

Why not vr

austere mountain
#

@pale vesselHi, what perms does a bot need to detect members voting for a server?

pale vessel
#

Are you using webhooks?

#

It doesn't need any perms

austere mountain
#

if the bot dev is using webhooks then it doesn't need perms?

pale vessel
#

Yes

austere mountain
#

what if he is not using webhooks, what to do?

pale vessel
#

What are they using?

#

IIRC you can only use webhooks for server votes

austere mountain
#

oh alright, I will tell them so. Thanks for your help.

Okay, one more thing please.. what perms to track invites?

#

alright, thank u:)

#

@opaque fern adding that perm didn't make it work

#

I'm not the dev, but we are trying to track invites by members to others

#

like.. ppl inviting their friends or so to our server

#

so we want to track how many invites does each has/makes

#

just asked him.

gritty oak
#

Can anyone say how to add gif to my bot?

#

I mean bot commands

#

@cinder patio

wary forge
gritty oak
#

@wary forge nope gif s like this

cinder patio
#

I wouldn't tell my users what the bot was built with tbh

wary forge
gritty oak
#

@wary forge but I want to add it in a specific one command oy on help

#

So I will add it in help.js?

wary forge
gritty oak
#

@wary forge but I need js

wary forge
feral aspen
#

Hello.

#

When is the best time to start rewriting my bot? .. when V13 is stable or from now?

long crow
#

From now, if you wait v13 to release, you be waiting eternity

slender thistle
#

^

burnt sage
#

How does this work?

iron stirrup
#

Just started learning coding in js and wanted to ask what is the console.Log() actually do and whats it used for in actual code cuz i understood the other stuff except this one.

steady shell
#

ty stara ruro

quartz kindle
#

console.log writes stuff to the console so you can see them

steady shell
#

ty stara ruro

#

ty stara ruro

#

ty stara ruro

#

ty stara ruro

#

ty stara ruro

#

ty stara ruro

#

ty stara ruro

#

ty stara ruro

#

ty stara ruro

#

ty stara ruro

#

ty stara ruroty stara ruro

#

ty stara ruro

#

ty stara ruro

#

ty stara ruro

iron stirrup
steady shell
#

ty stara ruro

quartz kindle
#

dafuq

steady shell
#

ty stara ruroty stara ruro

#

ty stara ruro

#

ty stara ruro

#

ty stara ruro

#

ty stara ruro

#

ty stara ruro

#

v

#

ty stara ruro

#

ty stara ruro

quartz kindle
#

@round cove

iron stirrup
steady shell
#

ty stara ruro

#

poolski

#

dwe best

quartz kindle
#

kurwa

steady shell
#

oo

#

oo

#

o

#

o

#

o

iron stirrup
steady shell
#

xd

earnest phoenix
#

@flat pelican

steady shell
#

please ban me

earnest phoenix
#

you already failed your ban speedrun

#

lmao

iron stirrup
#

XD

steady shell
#

maj englisz iz fanstastik

flat pelican
#

sigh

flat pelican
#

-m @steady shell Spamming & asking to get banned | 1 month

gilded plankBOT
#

🤐 Muted Ezdrass ツ#7206 (@steady shell)

iron stirrup
quartz kindle
#

where you see the output of your code

iron stirrup
#

Ic ok thanks now it makes sense

quartz kindle
#

console.log writes the output in the console, without it nothing will appear there

iron stirrup
#

Ic

crimson vapor
#

I don't think those comments are accurate to what it does

quartz kindle
#

ye lul

iron stirrup
#

I just code until i find out! Never lose hope!

quaint wasp
#

why does it show like this?

stable eagle
#

did you mean if (role) {
muteRole = role;
}

#

?

quaint wasp
#

now yes.

errant flax
quaint wasp
#

I thought theres also if-...

errant flax
#

try means to try a code
catch means if there was an error it will catch it instead breaking the whole code
and finally means if the code succeeded or not it will run the code pd_pepethumbsup

try {
l()
} catch(e) {
console.log(e) //l is not a function
} finally {
console.log("i run no matter what happens")
}
errant flax
#

an*

quaint wasp
#

oh alright.

#

thankss

errant flax
#

np

next delta
#

Hello I Have 1 Problem I Can't Write This Bot Code

clear marlin
next delta
#

okey

austere mountain
#

he said (on_events) not sure what is that, u know?

slender thistle
austere mountain
#

speaking to me?

slender thistle
#

Yup

austere mountain
#

I have no clue, u want me to ask him?

slender thistle
#

Sure

austere mountain
#

@slender thistleYea it's python. he said

#

do u know what perms to give a bot to track server invites?

slender thistle
#

Manage Guild gives perms to view server invites iirc

long crow
#

I wonder if it fine if I just use github page for bot webpage

radiant kraken
#

yes

austere mountain
slender thistle
#

Yeah

pale vessel
brave garnet
#

Idk why not?

#

Only maybe becoz of some things bout github but its another thing...

quasi shard
#

But thanks for reply

earnest phoenix
#

Np 🤔

torn mesa
#

Here it says the bot has no authorization, but what permission does the bot need?

lyric mountain
#

what are you trying to do?

torn mesa
# lyric mountain what are you trying to do?

I'm trying to start the radio, the bot has the authority to enter the room, it has all the authority related to the room, but the log record says it has no authority, it works when I give the bot administrator permission, but I don't understand what permission it actually wants.

lyric mountain
#

where did you give permission to it? role or channel?

torn mesa
#

channel

lyric mountain
#

it cant join the channel or cant talk?

torn mesa
#

and it can play normal songs but for some reason the radio can't play it either

torn mesa
lyric mountain
#

hm, if it can play normal but not radio then idk

#

is there any difference in the code for both?

torn mesa
#

Yes there is

lyric mountain
#

could you show it?

torn mesa
#

Because the ability to play normal music is thanks to artificial intelligence, but the radio broadcasts directly from the site.

torn mesa
torn mesa
lyric mountain
#

I mean, what's the difference between both normal and radio code

#

that's only the radio code

torn mesa
tulip ledge
#

So I'm using keyv as my databse "handler" (mysql) and I'd like to gain all the data with one query. Keyv does not have a method that does that from what I know. Does anyone have an idea how to? Do I just make a custom function to connect to the db and query all data? Or is there a better way?

torn mesa
lyric mountain
#

well, that's as far as we can go then, you need to compare both codes and see what you're doing differently

#

in all cases, MANAGE_CHANNEL perm should prevent any channel-related issues

#

also don't be so obcessed over copyrighting a section of code

torn mesa
lyric mountain
#

nonono, that probably isn't the actual issue, but manage_channel will allow free access to the channel for the bot

#

like, no mute or contraints preventing the bot from talking or joining it

torn mesa
lyric mountain
#

that code is just a basic embed menu, even if you didn't show I'm pretty sure it's common out there

#

protect your complexier code, not the basic stuff

#

also I see a ton of references there, so without them that code is anti-copypaste-proof

#

what?

lyric mountain
#

like, all rows from all tables?

stiff lynx
#

Is discord.js v13 out?

torn mesa
# lyric mountain what?

I mean, I asked because the bot can't tell users the error it is getting on the radio command Normally it works fine when I allow it, but there is a problem with the test servers.

tulip ledge
torn mesa
#

To download the v13 Dev Version: npm i discordjs/discord.js

lyric mountain
quaint wasp
#

why this

#

🤔

lyric mountain
#

json syntax

#

you cant have ```js
{
const answers = []
}

#

but ```js
{
answers: []
}

quaint wasp
#

but the file is with the extention .js..

lyric mountain
#

json = javascript object notation

#

if you return something that is inside brackets it's expected to be a json or a function

quaint wasp
#

oh..

#

is there a way for it not to be json?

#

While there are mutltiple replys?

lyric mountain
#

why not a json tho?

summer torrent
#

folder's name is jsons

lyric mountain
#

didn't notice that lul

quaint wasp
lyric mountain
#

he doesn't mean that

quaint wasp
lyric mountain
#

it's just ironic that the folder is named "jsons" and you don't want to return a json

#

but anyway

#

why not return a json?

quaint wasp
#

I will

#

But to know for the later

lyric mountain
#

you'd need to export a function or an object

quaint wasp
#

alr.

quartz kindle
#

you cant use const inside an object literal

copper cradle
#

The only good thing about js is json

brave garnet
#

I don't know any good thing :/ I write in .py instead =p

summer torrent
#

@torn mesa what is legal ways? It is not copyrighted and you don't own that right when you write "depends on copyrights" . Also you can't file a report because someone is using code you posted to discord chat

worthy ivy
lyric mountain
#

"per character" limit?

cinder patio
#

Imagine copyrighting your shit code

boreal iron
lyric mountain
#

you mean total char limit?

worthy ivy
#

...

solemn latch
#

Probably will want to get length from the actual message content, would be easier than getting it from args

cinder patio
#

That was not directed towards you

lyric mountain
#

if so, args.join(" ").length ig

#

or as woo said, just get the message length

worthy ivy
summer torrent
#

what the fuck is "legal ways will be applied!"

worthy ivy
#

why would you put your code on github if you plan it to be closed source qphmm

lyric mountain
solemn latch
#

You can be open source and not license code for being used for others.

worthy ivy
#

what specific license is that

lyric mountain
#

none

#

no license means no right to steal

solemn latch
#

^

summer torrent
#

posting it to discord channel

worthy ivy
#

ill try and test code tmr, thanks

solemn latch
#

Technically speaking some code is free to use even if you write it.

For example the code above(in the file, not GitHub) all seems to just be discordjs methods, a court probably wouldn't consider it stolen even if you did take it without a license.

solemn latch
#

The same way small parts of songs cannot be copyrighted.

worthy ivy
#

yeah unless you used a specific length of a song

#

say more than a minute

#

just how it works in yt tho i swear the copyright system there is really busted, but not the right channel to discuss it

solemn latch
#

Oh I'm not talking like free use. I mean like basic cords cannot be copyrighted.
A small jingle absolutely can be copyrighted

worthy ivy
#

i see

lyric mountain
#

twitch be like:

  • me playing without any music, only game sounds
  • an egg car passes on my street
  • YoU cAnT uSe CoPyRiGhTeD sOuNdS, tHe ViDeO wIlL bE mUtEd FoR 1 HoUr
worthy ivy
solemn latch
#

Very twitch like

worthy ivy
#

inb4 we get PepePunch by mods

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

const client = new Discord.Client();

const prefix = config.prefix;

client.on('message', function (message) {
    if (
        message.content.toLowerCase().startsWith(prefix + 'djrole')
    ) {
        if (!message.member.hasPermission('MANAGE_MESSAGES'))
        return message.channel.send("You cant use this command since you're missing `Admin` role");  
        let role = message.guild.roles.cache.find(r => r.name === "Vodify DJ");
        let member = message.mentions.members.first();
        member.roles.add(role).catch(console.error);
        const user = message.author;
        const djrole_embed = new Discord.MessageEmbed()
        .setTitle('Vodify DJ Role:')
        .addField('Role Added To:', `**[${member}]**`)
        .addField('Added by:', `**[${user}]**`)
        .setThumbnail('https://imgur.com/O8y9v9b.jpg')
        .setAuthor('Vodify Developer', client.user.displayAvatarURL())
        .setColor('PURPLE')
        .setFooter('Vodify Moderator', 'https://imgur.com/iX6h2rZ.gif');

        message.channel.send(djrole_embed);
    }
});

client.login(config.token);```
sacred aurora
#

can i pass a class as another class constructor arg?

lyric mountain
#

ye ig

knotty talon
#

saying roles is not defined

#

idk how to do the catch error thingy

sacred aurora
#

hmm im doing it rn and i dunno why the first class didn't seem to work

lyric mountain
sacred aurora
#

this is the constructor

  constructor(agent) {
    this.Agent = agent;
  }
knotty talon
lyric mountain
#

I only pointed to the probable error cause

sacred aurora
#

then i call it

const { data } = await this.Agent.get("home");

and it says Cannot read property 'Agent' of undefined

lyric mountain
#

where is that const?

sacred aurora
#

its like

class Name {
  async Here(){}
}
lyric mountain
#

...that doesn't answer my question

sacred aurora
#

its like

class Name {
  async Home(){
///Here im sorry
const { data } = await this.Agent.get("home");
}
}
lyric mountain
#

that wont work

sacred aurora
#

hmm

#

then what should i do

lyric mountain
#

because the constructor isn't called yet when you try to set the property

sacred aurora
#

?

#

thats the Class script alright

lyric mountain
#
class Name {
  const a = this.args; // args doesnt exist here yet

  constructor(args) {
    this.args = args;
  }

  function getA() {
    return this.args; // it does exist here tho
  }
}
sacred aurora
#

when i use the class i do it like this first

  const Base = new Controller(Agent);
crimson vapor
#

whats wrong with your class wtf

crimson vapor
#
// Define a class
class Name {
  /*
   * args
   */
  a = this.args

  /*
   * Create the class
   * @param {any} args
   */
  constructor (args) {
    // Assign args = args
    this.args = args
  }

  /*
   * Return a which is args
   * @returns {any} args
   */
  getA () {
    // Return a
    return this.a
  }
}```
#

there you go

#

I fixed it for you

lyric mountain
#

thanks I prefer the verbose way

sacred aurora
#

still the same error!!?

crimson vapor
#

added more coments

sacred aurora
#

its like this rn

class Controller {
  Agent = this.arg;
  constructor(agent) {
    this.arg = agent;
  }
  async Home(){
    const { data } = await this.Agent.get("home");
  }
}
lyric mountain
crimson vapor
#

whytho

lyric mountain
#

it's an example of where the variable would be valid

#

a wouldn't be able to receive this.args outside of the constructor

crimson vapor
#
class Controller {
  Agent

  constructor (options) {
    this.Agent = options.agent
  }

  async home () {
    const { data } = await this.Agent.get('home')
  }
 }``` I would do it like this
lyric mountain
#

but getA would be able to return this.args because it exists after creating the object

crimson vapor
#

yeah

lyric mountain
#

Agent = this.arg is impossible

quartz kindle
#

is this typescript?

lyric mountain
#

not outside the constructor

crimson vapor
#

nope

#

what

sacred aurora
#

does try catch change this variable?

crimson vapor
#

defining shit outside of the constructor doesn't work?

sacred aurora
#

cause that was called inside a try catch

lyric mountain
quartz kindle
#

prealocating props outside the constructor is a typescript thing

#

doesnt exist in js

crimson vapor
#

oh what

lyric mountain
#

Agent is undefined
this.arg is agent

crimson vapor
#

it works for static stuff tho, right?

lyric mountain
#

ye

#

well, not with constructors

sacred aurora
#

the error is "Cannot read property 'Agent' of undefined"

crimson vapor
#

ok js is dumb wtf

sacred aurora
#

so "this" is the one that undefined

silent hornet
#

hey guys anyone know something about paypal integration?

quartz kindle
#
// js
class Bla {
  constructor(arg) {
    this.arg = arg;
  }
}

// ts
class Bla {
  arg: string;
  constructor(arg: string) {
    this.arg = arg;
  }
}
silent hornet
#

in node.js

crimson vapor
#
// better ts
class Bla {
  constructor(public readonly arg) {}
}```
sacred aurora
sacred aurora
#

then i try to move it outside

#

js btw

quartz kindle
#

then dont

sacred aurora
#

"this" is undefined

quartz kindle
#

with what code?

sacred aurora
#

do i have to return "this" on the constructor?

crimson vapor
#

no

quartz kindle
#

no

crimson vapor
#

you can iirc?

sacred aurora
quartz kindle
#

show code, so many codes were posted idk which is which

copper cradle
#

I think so

#

But that only returns a reference to itself

quartz kindle
#

you can return something else from a constructor, if you dont it will return this by default

crimson vapor
#

isnt it nonstandard to return anything else tho?

quartz kindle
#

it is, but there are some use cases

#

for example promises and async constructors

sacred aurora
#
class Controller {
  constructor(agent) {
    this.Agent = agent;
  }
  async Home(){      
    console.log(this);
    try {
      console.log(this);
      const { data } = await this.Agent.get("home");
    } catch (e) {....}
  }
}
#

both log show undefined

quartz kindle
#

how did you run that code?

copper cradle
#

How

crimson vapor
copper cradle
#

How can this be undefined

sacred aurora
#
const Controller = require("./client/controller");
///....defining the Agent
const Base = new Controller(Agent);
quartz kindle
#

then Base.Home()?

sacred aurora
#

yeah

crimson vapor
#

oh right I can search too

#

anyway

quartz kindle
#

you might have a circular dependency

copper cradle
#

What's up with the excessive PascalCase here tho

crimson vapor
#

why the fuck is it on starboard?

summer torrent
#

i mean this is normal on top.gg

crimson vapor
#

yeah but it was 6 hours ago

#

and its not funny

wary forge
#

Unexpected indent is a nightmare for me

quartz kindle
summer torrent
quartz kindle
#

also he was a spammer

#

asked to be banned

summer torrent
#

oh this guy

quartz kindle
#

his final message before mute was that

crimson vapor
#

oh

#

im dissapointed

quartz kindle
#

iz yuor english fantastik?

summer torrent
#

whats difference between compiling to commonjs and esnext

copper cradle
#

Lles

cinder patio
#

english only please

crimson vapor
#

ok that one gets a star

quartz kindle
#

commonjs will add polyfils instead

summer torrent
#

im using ts btw

cinder patio
#

isnt commonjs how the modules are generated

#

it's not a valid target

summer torrent
#

is there any more performance or something like that

quartz kindle
#

not really

#

compiling to old targets will produce bigger code

#

so you get a bigger js file

#

other than that, old code can even be faster than new code

summer torrent
#
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));```
#

nice shitcode

crimson vapor
#

more readable than the average javascript "developer"'s code

wary forge
#

it's not registering the rich presence for some reason (not even the status)

sick agate
#

make await bot.change after activity declartion

earnest phoenix
#

There's no declaration doe

wary forge
#

nvm i forgot

#

but the thing is

sick agate
slender thistle
#

kwar

#

g

wary forge
earnest phoenix
#

Btw just pass them when instantiating the Client object rather than changing it in on_ready so that it's sent when identifying

wary forge
#

I realized, something was wrong with my host.

sick agate
wary forge
#

well this is awkward

earnest phoenix
latent heron
#

Jokes on you I still use on_ready verycool

worthy ivy
clear marlin
#

read👏the👏docs

frail pollen
#

i'm trying to make a command to remove member ids from a file
here is the code:

@client.command()
async def removeban(ctx, user: discord.Member=None):
  with open('banned.json', 'r') as f:
      users = json.load(f)

  users.pop(str(user.id))

  with open('banned.json', 'w') as f:
      json.dump(users, f)

but i get this error " 'int' object has no attribute 'pop' "
any way to fix this? (python)

copper cradle
#

Ok and? (Apparently the error was already there and I did not see it)

frail pollen
#

no,i added (python)

#

the error was already there

earnest phoenix
#

@raven burrow Still not work

raven burrow
stray seal
#

How is there an about the bot on bots (like About Me)? PokeTwo has it…

raven burrow
#

@earnest phoenix

earnest phoenix
raven burrow
#

what u want do

earnest phoenix
raven burrow
#

line 16 change

#

await client.send(your message)

#

or

#

channel = client.get_channel(channelid)

earnest phoenix
#

I will change in line 16?

raven burrow
#

wait

#
channel = client.get_channel(your_channel_id)
await channel.send(your message here)
earnest phoenix
#

@raven burrow

#

Show error on line 17

raven burrow
#

change line 17

#

await channel.send(f'{member.name} has join the server')

earnest phoenix
mental furnace
#

how to get rider for free works 2021 (no virus)

marsh oar
#

Hello I am new to discord.js bot coding and I would like to know how to announce that a person has voted for the bot on top.gg if you can mp me

lyric mountain
#

it's everything you'll need

marsh oar
#

thx

eternal osprey
#

``import got from 'got';
^^^^^^

SyntaxError: Cannot use import statement outside a module``
How do i fix this?:```js

const Discord = require("discord.js");
const client = new Discord.Client();
const auth = require("./config.json");
const fs = require("fs");
import got from 'got';```

pale vessel
#

Use require()

eternal osprey
#

i can't

#

it needs import for some reason

pale vessel
#

🩴

eternal osprey
#

i can use the require method when trying to start the bot on my pc

#

but as soon as i use the bot on my vps it says that it needs to be imported

earnest phoenix
#

Ugh

pale vessel
#

What was the actual error

earnest phoenix
#

Well unless your version supports using imports then import wont work

pale vessel
#

"Cannot"

earnest phoenix
#

What is your node version

pale vessel
#

Did you ignore that word

eternal osprey
#

v12.18.3

earnest phoenix
#

Mmm update

#

You are old

#

iirc 14+ or 15+ is the current stable

#

and iirc they support import syntax

pale vessel
#

Also that's not a VPS, that's fucking heroku

eternal osprey
#

yeah i tried it on my galaxygate vps too

#

both failed

pale vessel
#

Try upgrading your node version

earnest phoenix
#

I am betting its a version issue

#

so update to the current stable

pale vessel
#

It shouldn't error though

#

Require() should work with no problem

eternal osprey
#

okay will try updating node

earnest phoenix
#

Yes it should, but they still should update node

#

v12 is quite old

#

It could also be an issue with that specific version of v12

#

require could of been broken idk

eternal osprey
#

it's really strange as the package works with require when i run it from vsc

#

but as soon as i put it on heroku or my vps, it just gives the import needed error

pale vessel
earnest phoenix
#

Yea, I doubt it but shrug

#

I can't be bothered to look up if there was an issue with it

eternal osprey
#

how do i update node.js through vsc?

earnest phoenix
#

You don't...

#

Unless you are on a vps then you can use nvm

eternal osprey
#

oki

earnest phoenix
#

If you are on your local machine

#

you just gotta download the latest installer for the stable verison

eternal osprey
#

however it is still strange that it gives me that module error

#

eventhough i can run it perfectly fine from my pc

earnest phoenix
#

shrug I don't really know tbh

#

I just know a common issue is a version issue

#

Beyond that im am useless on this topic

eternal osprey
#

ive updated node so i will try it now

#

same error

pale vessel
#

Check if your code was actually pushed

#

It could still be using import

quasi shard
#

@earnest phoenix Hey, sorry for the tag but can you help with this error I am getting when I select something in a MessageMenu?

UnhandledPromiseRejectionWarning: DiscordAPIError: Unknown interaction

bot.on('clickMenu', async menu => {
    await menu.clicker.fetch();
    const user = menu.clicker.user.id;
    if (user != message.author.id) {
        return menu.reply.send("Test0", true);
    } else if (menu.values[0] == "1") {
        return await menu.reply.send("Test1", true);
    } else if (menu.values[0] == "2") {
        return await menu.reply.send("Test2", true);
    }
})

Edit: The thing is working btw, just getting that error in console.

lyric mountain
#

eh wtf?

lyric mountain
#

Yes, use codeblocks

#

```lang
Code
```

lofty cedar
brave garnet
#

Work everywhere

#
Lol
lofty cedar
#

    @commands.command()
    async def rank(self, ctx):
              stats = levelling.find_one({"id" : ctx.author.id})
              if stats is None:
                  embed = discord.Embed(description="You haven't sent any messages yet.")
                  await ctx.send(embed=embed)
              else:
                  xp = stats["xp"]
                  lvl = 0
                  rank = 0
                  while True:
                        if xp == ((50*(lvl**2))+(50*(lvl-1))):
                            break
                        lvl += 1
                  xp -= ((50*(lvl-1))+(50*(lvl-1)))
                  boxes = int((xp/(200*((1/2) * lvl)))*20)
                  rankings = levelling.find().sort("xp",-1)
                  for x in rankings:
                      rank += 1
                      if stats["id"] == x["id"]:
                          break
                  embed = discord.Embed(title="{}'s level stats".format(ctx.author.name))
                  embed.add_field(name="Name", value=ctx.author.mention, inline=True)
                  embed.add_field(name="XP", value=f"{xp}/{int(200*((1/2)*lvl))}", inline=True)
                  embed.add_field(name="Rank", value=f"{rank}/{ctx.guild.member_count}", inline=True)
                  embed.add_field(name="Progress bar [lvl]", value=boxes * ":blue_square:" + (20-boxes) * ":white_large_square:", inline=True)
                  await ctx.send(embed=embed)



    @commands.Cog.listener()
    async def on_message(self, message):

            stats = levelling.find_one({"id" : message.author.id})
            if not message.author.bot:
                if stats is None:
                    newuser = {"id" : message.author.id, "xp" : 100}
                    levelling.insert_one(newuser)
                else:
                    xp = stats["xp"] + 5
                    levelling.update_one({"id" : message.author.id},{"$set":{"xp" : xp}})
                    lvl = 0
                    while True:
                        if xp  == ((50*(lvl**2))+(50*(lvl-1))):
                            break
                        lvl += 1
                    xp -= ((50*(lvl-1))+(50*(lvl-1)))
                    if xp == 0:
                        await message.channel.send(f"Well done {message.author.mention}! You leveled up to **level: {lvl}** and earned 100$!")
                        cursor.execute("SELECT * FROM users WHERE tag = ?", (message.author.id,))
                        result = cursor.fetchall()
                        if len(result) > 0:
                            for row in result:
                                pass
                            cursor.execute("UPDATE users SET money = ? WHERE tag = ?", (row[2] + 100, message.author.id))
                            storage.commit()
                        else:
                            cursor.execute("INSERT INTO users (tag, job, money) VALUES (?, 'no_one', ?)", (message.author.id, 100))
                            storage.commit()

It doesn’t work but doesn’t give errors, any suggestion?

proven lantern
#
                        if xp == ((50*(lvl**2))+(50*(lvl-1))):
                            break
                        lvl += 1
#

this part looks like it could miss and then loop forever

lofty cedar
#

I got it from a yt tutorial

proven lantern
#

start adding logging to each line and see where it stops logging

lofty cedar
#

Wdym

#

It’s an error on the on_message because it doesn’t answer on any other cmd

eternal osprey
#

Access to XMLHttpRequest at '(mylinkwashere)' from origin 'http://localhost:4200' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Why does this happen in magix ide?

eternal osprey
#

Yeah cors. Lovely.

#

Are there any fixes tho?

lyric mountain
#

you need to whitelist your origin

#

cors basically block any request coming from another origin

#

this is to protect your service from injections and other "hacks" that can manipulate without you allowing

eternal osprey
#

<add name="Access-Control-Allow-Origin" value="http://localhost:4200/" /> this is teh code

#

the*

#

I have already allowed it right

#

so how would it still block my requests

lyric mountain
#

the other way around

#

do it on the server

#

cors is almost the WORST thing to deal with

#

only losing to CSRF errors

eternal osprey
lyric mountain
#

ye, allow cors on the server

eternal osprey
#

as i am using magix ide

#

so that like automatically does that iirc

lyric mountain
#

"how to fix CORS policy error on XXXX lib"

boreal iron
#

@lyric mountain
Is it just me… ?
Try to send a random URL with a port please in here

lyric mountain
#

hmmm

boreal iron
#

heh wtf

#

Wtf

lyric mountain
#

that is a valid url btw

boreal iron
#

It’s working now

lyric mountain
#

what was happening?

boreal iron
#

Oh I see

#

Take a look into the API channel

lyric mountain
#

?

boreal iron
#

Using non-numeric chars as port will add it as query argument automatically

#

(http://example.com:port/)

lyric mountain
#

ah

#

weird

boreal iron
#

Ahh my bad I see

lyric mountain
#

also adding quotation after a link is impossible

boreal iron
#

Discord just rewrites the URL if the port isn’t a valid numeric value

#

Even sending an invalid URL should be my decision and not be rewritten 🤦‍♂️

#

Trashcord

crimson vapor
#

Ehh

#

why would they respect an invalid port?

lyric mountain
#

that's cool but, did you ever try to write `` inside ``?

crimson vapor
#

yes I did

#

I failed

sudden geyser
lyric mountain
#

literally impossible because escaping ` is impossible

#

so you either escape all or escape none

eternal osprey
#

what was the name of the guy with a golden apple in his name

#

from this server

slender thistle
#

code913

split hazel
#

lmao thats how you remember him

sudden geyser
#

the alternatives are harsh

gusty bone
#

how much would a vps cost

#

per month

#

(a decent vps for discord bots)

solemn latch
#

define decent?

#

could be $3 a month, could be $300 a month to thousands a month.
it really depend on your bot size, how much overhead you want, the library your bot uses, and functionality.

wheat mesa
#

I've heard DigitalOcean is good, not sure though.

#

Their basic plan is $5 a month

#

Pretty good imo

plain talon
#

Digital ocean is very expensive for what you get

old umbra
#

is it possible to change the page title? I would like to change the ft and in the title put "Julinha | Top.GG"

lyric mountain
#

cant u just rename the bot?

old umbra
#

no bro I just wanted to change the business

#

to stay the way I like it, you know

#

to match the page too

lyric mountain
#

Well, sadly you can't rename the page since that's a metadata defined on the <head> of the page

#

You can't override it

lyric mountain
#

The only thing you can change is the css, everything else is fixed

old umbra
wheat mesa
lyric mountain
wheat mesa
#

Haven't bothered with a VPS yet, but that's the next step so I've been looking around for advice on which ones to look at.

lyric mountain
#

Great support, great price and after the service rework, no problems so far

plain talon
quartz kindle
#

contabo gives you the biggest stats for the price by far

wheat mesa
#

damn that's cheap asf for what you get from it

lyric mountain
#

Ye

quartz kindle
#

everything else is not even close, which makes you question the validity of it

#

however most people confirm that they are indeed for real

lyric mountain
#

Tbf, contabo site used to look like a scam site lul

quartz kindle
#

ye

lyric mountain
#

But indeed, legit business

wheat mesa
#

I highly doubt this would happen, but would they charge for going over the 32tb limit, or do they just block off your connection until the next cycle?

lyric mountain
#

I never ever got even close to it

wheat mesa
#

32TB is a massive amount

lyric mountain
#

Put massive in that

#

Unless you're running a piratebay site reaching that is physically impossible

quartz kindle
#

the logical conclusion is that their hardware is older/slower, thats the only explanation for such cheap prices

#

but the raw stats offset it

lyric mountain
#

Used to be, they reworked all the stuff

#

They used to have hdd and ssd plans

#

Hdd were the old and oversold stuff

quartz kindle
#

ye overselling and steal is also a thing

lyric mountain
#

But well, for $2 you couldn't expect more

#

Nowadays it's everything much more stable

wheat mesa
#

I'll consider this as an option, honestly looks great for hosting a bot

#

For now I'll stick with my free host until my bot grows in size.

quartz kindle
#

i never actually tried them but heard great things

#

some people did run some benchmarks on them per my request and my theory was kinda confirmed

#

but it varies from instance to instance

lyric mountain
#

I'm some people

quartz kindle
#

ye

#

xd

lyric mountain
wheat mesa
#

Stupid question, but what's the difference between vCPU cores and just normal CPU cores?

quartz kindle
#

nothing

wheat mesa
#

Oh okay good

quartz kindle
#

well...

#

the first one explicitly says its logical cores

#

the second one makes you think for a while if they mean logical or physical

plain talon
#

a vcpu is like you having 1 core of an 8 core cpu available, right?

quartz kindle
#

but 99% of the people mean logical cores

lyric mountain
#

The only way to get actual cores is buying a dedi

quartz kindle
wheat mesa
#

Also if I were to buy that, would it be worth paying the slightly extra fee per month for a US server, or not since it's only a discord bot?

plain talon
#

well the closer you are to discord the better in terms of your ping to the api

quartz kindle
#

it will give you better ping

#

otherwise no difference

plain talon
#

would be important if you're doing music

quartz kindle
#

US ping to discord is 20-40ms, Europe ping to discord is 80-120

wheat mesa
#

Alright

quartz kindle
plain talon
#

oh fair enough, ive not dealt with music much

wheat mesa
#

I'll probably look into paying the extra for a US server if I need to

#

But I doubt it'll make a huge difference

plain talon
#

i was with galaxy gate before that was right near discord

#

had really low ping

quartz kindle
#

ye im still using galaxygate

#

average ping is 20-25

plain talon
#

yeah

wheat mesa
#

GalaxyGate seems like a good option too

plain talon
#

yeah

#

rythm uses/used to use galaxy gate

small fractal
#

anyone know any good hosting sites?

wheat mesa
#

I'll also have to figure out what steps I need to take to host a bot on a linux server. Never worked with linux before, so not sure what differences there might be in the setup

plain talon
#

what lang

lyric mountain
lyric mountain
#

But I say in 2-3 days you get natural with it

small fractal
lyric mountain
#

It's just that the first time is really scary

#

You have all the power to royally fck everything up

#

But keep calm and explore it

plain talon
lyric mountain
#

Always remember, stay away from chmod 777 -R /

small fractal
#

ooooo

lyric mountain
#

Don't ever try it

brave garnet
#

Ik