#development

1 messages Β· Page 1235 of 1

dire obsidian
#

I forget there is discord.bat

earnest phoenix
#

can I code a discord bot in batch

dire obsidian
#

Yes

faint prism
#

I mean

earnest phoenix
#

send library

#

just set fullscreenable to false in BrowserWindow options

faint prism
#

Shell scripts are more for orchestrating other binaries

dire obsidian
#

Thanks

#

Oh my, tomato colour beautiful

faint prism
#

can I fix?
@solemn leaf Yes, but it's to whatever precision you want

earnest phoenix
#

@faint prism u got any c# bot library recommendations. there are like 3

#

they all look equally as bad

faint prism
earnest phoenix
#

ok thx

drifting wedge
#

is this correct?
if word 'og' is in var badg?
or do i do == true?

cerulean salmon
#

🀦

sharp thicket
sonic lodge
#

someone answered your question

sharp thicket
#

?

drifting wedge
#

this is my code

#

and no errors

#

its just not pasting in the icons

#

python and pillow

faint prism
#

hm well

earnest phoenix
#

.xyz domains look good & are dirt cheap

#

a lot of services rank xyz domains down or dont accept them because they're used for tech support scams to the point it's insane

#

i believe google knocked down the SEO of sketch tlds like xyz a few years ago

#

dk if they're still doing it

opal plank
#

wait what?

earnest phoenix
#

a tip for your sanity

#

don't bother with word filters

#

and the way you're doing it right now is bad

opal plank
#

also doing calls on every message

#

REALLY bad

#

store them in memory

earnest phoenix
#

Word filtering?

opal plank
#

profanity filter

#

im assuming

earnest phoenix
#

Yeah profanity filter

opal plank
#

dont call it every time

#

store it in memory

earnest phoenix
#

@slim heart hey frog come here, you know da wae.

#

Okay

slim heart
#

i do know da wae

#

but da wae is

earnest phoenix
#

Thank you

opal plank
#

doing sql calls is one hell of a waste

earnest phoenix
#

Da wae

#

Show him da wae

slim heart
#

lmao pog i make da wae censor bot

#

no

#

i mean

#

u can make ur own filter with my code

#

but uh

earnest phoenix
#

Show @earnest phoenix da wae

slim heart
#

it's a lot of work lmao

opal plank
#

is that ads? 002_think

slim heart
#

not rlly

#

i mean

#

he's already gone so

#

eez what it eez lmao

opal plank
slim heart
hidden cedar
faint prism
#

love mobile devs

#

keep it up

#

don't listen to what others say about you

earnest phoenix
#

@faint prism love mobil3 dev

drifting wedge
#

how do i make like bascily a var that is like mentioned user id or if mention user not specified

#

just send the author;'s id

earnest phoenix
#

Hi, i have a problem hosting my bot in a vps. It says 'Error: Cannot find module './handlers/Commands' but i don't have any errors in my local. It just pops up when i try and make my bot online in that vps

sudden geyser
#

The remote VPS probably isn't sync with your local // has the file your local has. You could see for yourself by looking in the ./handlers/ directory remotely.

earnest phoenix
#

Hmm i don't understand the second part, sorry

sonic lodge
#

your remote vps probably does not have the same file structure as your local directory

#

there seems to be a missing file on your vps

earnest phoenix
#

But I have already uploaded everything

sonic lodge
#

check again

#

./handlers specifically

earnest phoenix
#

wait

#

and in that i only have one file

sonic lodge
#

is that what it's supposed to be

earnest phoenix
#

Yeah

sonic lodge
#

case sensitivity

earnest phoenix
#

Oh hold on

#

It works now. Thanks

#

Also about the slowmode command, how do i remove it

near veldt
#

i have good news or probably bad news, i dont know

#

my phones downloading a custom os and idk

#

tried booting into recovery mode and came across that

#

f

solemn leaf
#

Ree

lament spruce
#

How do i fetch all users from all the guilds my bot is in? client.users.cache.size only caches online users, would appreciate some help

opal plank
#

fetch each guilds member list

#

@lament spruce

earnest phoenix
#

So how do i get started making a bot?

#

Is a certain format i have to use or somewhere i have to go first?

faint prism
#

So how do i get started making a bot?
@earnest phoenix It says how to start making one in #502193464054644737 πŸ™‚

earnest phoenix
#

Ok thx

hazy sparrow
#

is <set>.has() a proper thing in js

#

@earnest phoenix bluefox?

drifting wedge
#

So basicly in python I need help making a thing where it gives me the member mentioned Id if I were to do like .profile @granite pagoda

#

And if I don’t specify the user, it gives me the authors I’d

#

Id

#

Ping me please

cinder patio
#

@hazy sparrow it is

hazy sparrow
#

oki thanks

#

what about

#

<set>.add()

#

ok nvm got it

#
const db = require("quick.db");
const cooldown = new Set();
const cooldownAmount = 3600000;
module.exports = {
    name: 'work',
    description: "flip a coin!",
    
    execute(message){
      
      
      const expirationTime = Date.now() + cooldownAmount
      const now = Date.now();
        
      
      if(cooldown.has(message.author.id)){
          const timeLeft = (expirationTime - now) / 1000;
          
          message.channel.send(`You have worked recently! Please wait ${timeLeft} seconds before you can work again!`);
      }  
      else {
            
             const bal = new db.table(`${message.author.id}mybal`);
            
        
      
            
          db.add(`${message.author.id}mybal`, 2);
          message.channel.send("you got **2** bowbucks for working");
          cooldown.add(message.author.id)
          setTimeout(() => cooldown.delete(message.author.id), cooldownAmount);
            
              
      
      }}
    
     
        
    }

help? these are 10 seconds apart

#

should i wait an hour and try?

earnest phoenix
#

isnt the amount set to 60 hours

hazy sparrow
#

wait what

#

i thought it was 60 minutes

earnest phoenix
#

nvm it is im just heavily blind

hazy sparrow
#

lol

earnest phoenix
#

i typed in an extra 0

#

since im on mobile

hazy sparrow
#

kk

#

what about the thing

#

should i wait an hour and try again?

earnest phoenix
#

also you subtract a static amount

#

it's always going to be the same

hazy sparrow
#

kk

#

oh wait

      const expirationTime = Date.now() + cooldownAmount

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ im dumb

lethal raptor
fringe axle
hazy sparrow
#

its for anything which is related to bot development @lethal raptor

open rune
#

^

lethal raptor
#

oh

open rune
#

So, I was thinking to make community currency which will be used on my community bots, but according to the rule of top.gg vote's rule no.3 at top.gg/api which is "Bots should not be rewarding users for voting for another bot. E.g if a User votes for Bot A they should not be receiving Bot B's currency" it seems makes me unable to do so, because if user vote for a bot, he/she will get the community currency. So, what now?
did I just misunderstanding the rule or what?

hazy sparrow
#

it means that for example you are not allowed to vote for dank memer to get owo bot's rewards

open rune
#

how if dank memer is a part of my community bot, and dank memer related to the community's currency, so it's currency basically used my bot's currency which is community currency as well?

hazy sparrow
#

doesesnt matter, if its not the bot which is giving you rewards for eg you can only vote for OwO to get OwO's rewards even if its related to dank memer/dank memer's currency thingy

open rune
#

Ok, thank you. I think I need to do some research.

hazy sparrow
#

guys i need a way to find out the last time someone did a specific command for example !ping, I have no idea how to store it with quick.db, any ideas?

open rune
#

why not mysql?

sudden geyser
#

Do you want it persisted across restarts and such (aka do you really need to save it in your db)

#

The way you'd do it is to save the user ID, the command name, and the timestamp.

earnest phoenix
#

store the unix timestamp of when they exexuted the command

hazy sparrow
#

okay, thanks!

near veldt
#

ok guys. QUICKDB or MONGODB. which is better, more secure, easier, and faster

hazy sparrow
#
db.add("cooldown", now)

^ i want to get the last time it did that

sudden geyser
#

probably going to say mongodb, but I've only ever used sql

hazy sparrow
#

@near veldt quick.db is easier

sudden geyser
#

quick.db uses sqlite under the hood and is "easier" I'd say

near veldt
#

before i switch to using quick.db, does quick.db feature per server settings like prefixs n sutff?

hazy sparrow
#

yes you can do that

near veldt
#

ok

#

now i gotta try and figure out how in the hell to switch to using quick.db

scenic kelp
#

no db will feature that, it's something you implement yourself

hazy sparrow
#

^

sudden geyser
#

yes we call those tables

earnest phoenix
#

@hazy sparrow your architecture is very weird, do this instead; have a db named cooldowns for example

add a key userid_commandname and for the value add your unix timestamp

near veldt
#

idk what u just said parmesan

scenic kelp
#

a db is a way to store something

hazy sparrow
#

@earnest phoenix i alr have a table named cooldown

near veldt
#

ik what a database is

scenic kelp
#

you implement the functionality of actually storing stuff like prefixes

near veldt
#

r u being serious rn?

hazy sparrow
#

@near veldt he means that you have to code it yourself and cant just like press a button for that

near veldt
#

lol no shet shirlock

slim heart
#

then why tf did u ask it

pale vessel
sonic lodge
#

you put the stuff in and tell the database how the stuff is ordered

near veldt
#

i was asking whether or not if it was possible to have per server settings using quick.db

pale vessel
#

it is

sonic lodge
#

of course

near veldt
#

ok

hazy sparrow
#

yes it is,

earnest phoenix
#

any db can do that

scenic kelp
#

it is withbany db

near veldt
#

thats what i wanted

hazy sparrow
#

^

near veldt
#

thank u people

hazy sparrow
#

welcome person

sudden geyser
#

for reference those are called tables

scenic kelp
#

in an sql db

hazy sparrow
#

how do i get the date of the last time a part of the code was executed?

earnest phoenix
#

i told you what to do

hazy sparrow
#

where

#

when

near veldt
#

how

#

why

earnest phoenix
#

your architecture is very weird, do this instead; have a db named cooldowns for example

add a key userid_commandname and for the value add your unix timestamp
@earnest phoenix

hazy sparrow
#

oh

#

i didnt get you

earnest phoenix
#

it's alright

hazy sparrow
#

ok i did a quick search on it and got it now, thanks

earnest phoenix
#

Is it possible to inject your own code into minecraft using java asm?

slim heart
#

I dont know about injecting to a normal minecraft instance, i've a feeling not, but i know you can create your own class loader app and "inject" into that directly since it's right on the app

torn ravine
#

@earnest phoenix are you making minecraft hacks?

#

lmfao

near veldt
#

LOL

#

minecraft hacks

cinder olive
#

Help me with my bot pls

blazing ravine
#

sup

pure lion
#

Can't help you if you don't give us anything

#

@cinder olive what's wrong?

cinder olive
#

Commands doesnt work

#

Its ofline

#

Idk how to turn it on

#

@pure lion

pure lion
#

Uh

#

Bro

#

Learn js

earnest phoenix
#

@torn ravine ye- i mean no

cinder olive
#

?

earnest phoenix
#

@oak cliff link, hoister

pure lion
#

Or whatever lang

cinder olive
#

?

#

Hoe

#

Tho

#

How

pure lion
#

Wait right there

cinder olive
#

?

#

Okeh

pure lion
blazing ravine
oak cliff
#

Dont send your bot link here

#

It's considered advertising

pure lion
#

@cinder olive go to that message

oak cliff
#

-faq 13

gilded plankBOT
blazing ravine
#

ye but

#

how to make

#

in userinfo

#

to show nitro

pure lion
#

Oh

cinder olive
#

@pure lion then?

blazing ravine
#

if the user have

#

πŸ˜„

pure lion
#

@cinder olive read it KEKW

cinder olive
#

Okeh

earnest phoenix
#

Dead chat

oak cliff
#

@earnest phoenix no need to post that in all the chats

#

So stop

earnest phoenix
#

Ok

cinder olive
#

@pure lion im 13

#

Im too dum

pure lion
#

I'm 13 too

cinder olive
#

Idk

#

I cant understand

#

Im new at bots

pure lion
#

If you think you're too dum then don't do this yet

earnest phoenix
#

I am 13 and i can code in java and typescript KEKW

pure lion
#

I know 4 langs >:(

cinder olive
#

I dont even get what that is

earnest phoenix
#

Bruv am I the only one who is older here ????

pure lion
#

All you need is the basics

earnest phoenix
#

Oh, you want the actual lidt?

oak cliff
#

Please keep this channel on topic:p

earnest phoenix
#

lua, java, javascript, typescript, C#
Anyways

#

Back to dev

#

to show nitro
@blazing ravine theres

#

Uh

cinder olive
#

Bruv am I the only one who is older here ????
@earnest phoenix mhmm old old old old mhmm 3000 Years Old?

blazing ravine
earnest phoenix
#

GuildMember

golden condor
#

There's no way to

pure lion
#

I'm going to learn C# but I don't know what the fuck to do KEKW

earnest phoenix
#

^

cinder olive
#

HELP ME

#

WITH

#

MY

#

BOT

#

PLS

pure lion
#

No

oak cliff
#

Stop spamming

earnest phoenix
#

@cinder olive learn coding

oak cliff
#

Someone already gave you your answrr

earnest phoenix
#

@earnest phoenix mhmm old old old old mhmm 3000 Years Old?
@cinder olive I am 20

cinder olive
#

😭 😭 😭

oak cliff
#

@earnest phoenix I just said keep this channel on topic

earnest phoenix
#

Or you can pay me 10$

cinder olive
#

I DONT WANNA LEARN SCHOOL EVEN THAT CODING

blazing ravine
#

;d

oak cliff
#

Please move on

pure lion
#

Or you can pay me Β£5

earnest phoenix
#

@oak cliff you look angry is everything ok?

#

Gettin nitro status isnt possible at this stage

cinder olive
#

😭 😭 😭

blazing ravine
#

but some1 getting

earnest phoenix
#

i cant wait for net 6 to introduce java interop, it's literally going to make c# one of the most powerful languages

blazing ravine
#

@restive shell

earnest phoenix
#

For some reason discord dint allowed it

blazing ravine
#

ahm

earnest phoenix
#

@blazing ravine they probably check it using boosting since

blazing ravine
#

ye

earnest phoenix
#

GuildMember.boostingSince

#

I think?

oak cliff
#

@cinder olive we are not going to spoonfeed you here. You'll need to learn yourself

blazing ravine
#

let me try

earnest phoenix
#

Try to sesrch up the docs

#

It is in guildmember class

golden condor
#

That doesn't tell nitro for sure tho

earnest phoenix
#

Ywah

pure lion
#

It's better than nothing

golden condor
#

You can check discrims ig

earnest phoenix
#

@golden condor nah m8

golden condor
#

Like have a list of nitro discrims

earnest phoenix
#

Sometime some dont have nitro

#

But got those discrim

golden condor
#

But it will sometimes return false positives

earnest phoenix
#

So boosting since is better

#

Wait

cinder olive
#

@oak cliff ...

blazing ravine
cinder olive
#

Yes i eanna make a bot

golden condor
#

Oof

cinder olive
#

But

#

First

earnest phoenix
#

Since we cant get boosting

cinder olive
#

HOW CAN I EDIT IT

earnest phoenix
#

In bot user

#

Does it mean i can

cinder olive
#

HOW CAN I PUT COMMANDS

#

AND STUFFS

earnest phoenix
#

@cinder olive shut the fuck up

oak cliff
#

-faq 3 @cinder olive

gilded plankBOT
#

@cinder olive

Frequently Asked Questions πŸ“œ
cinder olive
#

HOW CAN I MAKE IT

earnest phoenix
#

Search up youtube

cinder olive
#

...

earnest phoenix
#

Search google

oak cliff
#

Read that first

dense nest
#

I know this is a big question, but how would you go about making a simple webpanel for a discord bot?

earnest phoenix
#

We are not your personal coding teacher

cinder olive
#

FUCK THIS

earnest phoenix
#

@dense nest you start by learning how to link your bot with your website

#

@cinder olive stop spam

oak cliff
#

-m 679272530699091968 decided to have a tantrum and spam after not being spoonfed code | 1d

gilded plankBOT
#

🀐 Muted ! Maple#7646 (@cinder olive)

dense nest
#

@cinder olive casually has a mental breakdown

earnest phoenix
#

If you get the hang of it you can move to learn html and css

dense nest
#

I know html

blazing ravine
#

maple have problems xd

dense nest
#

I have a website setup

earnest phoenix
#

Then if you really get the hang of it, move to hosting server

dense nest
#

I've made a flask webserver for my bot

earnest phoenix
#

imagine not using a SPA

#

smh smh

#

@earnest phoenix yeag i dont use that

late dove
#

My code: ```py
import dbl
import discord
from discord.ext import commands

class TopGG(commands.Cog):
"""Handles interactions with the top.gg API"""
def init(self, bot):
self.bot = bot
self.token = 'token' # set this to your DBL token
self.dblpy = dbl.DBLClient(self.bot, self.token, autopost=True) # Autopost will post your guild count every 30 minutes

async def on_guild_post():
    print("Server count posted successfully")

@commands.command(
    aliases=[
        "Ρ‚ΠΎΠΏΠ³Π³"
    ]
)
async def topgg(self,ctx):
    dbltoken = "token"
    topgg = dbl.DBLClient(self.bot, dbltoken)
    l = await topgg.get_bot_upvotes()
    g1 = l[0]
    g2 = l[1]
    g3 = l[2]
    g4 = l[3]
    g5 = l[4]
    emb = discord.Embed(title='Last Votes', color=0x147DFF)
    emb.add_field(name=f"{g1['username']}", value=f"{g1['id']}", inline=False)
    emb.add_field(name=f"{g2['username']}", value=f"{g2['id']}", inline=False)
    emb.add_field(name=f"{g3['username']}", value=f"{g3['id']}", inline=False)
    emb.add_field(name=f"{g4['username']}", value=f"{g4['id']}", inline=False)
    emb.add_field(name=f"{g5['username']}", value=f"{g5['id']}", inline=False)
    await ctx.send(embed=emb)

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

My error: Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7f81ecab3e80>
Unclosed connector
connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x7f81dbdc79a0>, 26.822597434)]']
connector: <aiohttp.connector.TCPConnector object at 0x7f81f9069b70>
earnest phoenix
#

why not

#

SPAs are literally the future of the web

#

Cuz i dont do frontend KEKW KEKW KEKW KEKW

#

oh

#

lmfaoaoao

#

I only do backend

#

I suck at design

dense nest
#

Soooooo

earnest phoenix
#

full stack gang

cinder patio
#

I have an SPA and I'm having a hard time optimizing it for search engines

earnest phoenix
#

@dense nest problem?

golden condor
#

@late dove replace 'token' with your actual token

earnest phoenix
#

i need to cover a bit more devops fields and then i can actually call myself full stack

dense nest
#

Not really, just, like im thinking of having the webpanel just change the prefix to start with

late dove
#

My token is here (I don't wan't to show it)

earnest phoenix
#

@cinder patio yeah that's a huge disadvantage to client side rendering an SPA

golden condor
#

o

#

Right

#

Sorry

dense nest
#

Just no idea where to start πŸ˜‚

earnest phoenix
#

@dense nest first

#

You should make the webpage

dense nest
#

Done

earnest phoenix
#

And setup link to your discord bot application idk

golden condor
#

You can use something like glitch if it's just static ig

earnest phoenix
#

Ew

#

Glitch

golden condor
#

It's just an idea

#

Fuck off

dense nest
#

Oh god

earnest phoenix
#

@golden condor calm the fuck down

#

Dont start an arguement

#

Its just a fucking joke

golden condor
#

For developement not prod, he can use glitch

cinder patio
#

Anyone knows why this happens when I try to use typescript? My config file looks fine, and I've used the same config before. The only difference this time is that I'm using webpack as well, but the same error occurs even after I delete the webpack config

earnest phoenix
#

Uh

cinder patio
#

empty path

earnest phoenix
#

Ye

near veldt
#

wth happened here

cinder patio
#

console.log("Hello World!"); That's the only code I have right now since I just started setting up the project

near veldt
#

f

cinder patio
#

So it appears to be an error with the config but

#

I don't see anything wrong with it

restive furnace
#

you need to specify the path

dense nest
#

Ummmmmmmm

near veldt
#

um

dense nest
#

Its a big error

#

And

#

Tf

#

Is

#

This

#

Error

slender thistle
#

Sent everything BUT the exception itself

near veldt
#

^

dense nest
near veldt
#

f

#

cloudflare

cinder patio
#

I already have both an outDir and rootDir path specified

#

those are the only ones I need

golden condor
#

cloudflare fucked you over essentially

near veldt
#

lol right

dense nest
#

Howso

#

Ugh

golden condor
#

They aren't letting you connect to the gateway for whatever reason, such as you sending a large amount of requests

dense nest
#

I don't even use cloudflare

near veldt
#

???

golden condor
#

Discord does

dense nest
#

Oh

#

Nice

#

Sooo

near veldt
#

no, cloudflare is a system used to block DDoS attacks n such

dense nest
#

To fix

near veldt
#

it prolly thought ur bot was a DDoS attack or sum

dense nest
#

Loool

restive furnace
#

you probably abused the api

near veldt
#

yes

dense nest
#

Bruh

#

I has not

#

Well

near veldt
#

quick question

dense nest
#

Maybe it was my mass role command for my server

near veldt
#

cuz i saw 604 lines

dense nest
#

602 lines @near veldt

near veldt
#

holy

dense nest
#

Ya

near veldt
#

moly

dense nest
#

I dont use cogs

near veldt
#

w h y

restive furnace
#

every mass command is considered as api abuse if not handled correctly

dense nest
#

Oh

#

Well

#

I'm fucked

#

Damn

near veldt
#

i'd recommend shipping every command u have into its respected folder/file n what not if u havent already

dense nest
#

Ye ima try to get familiar with cogs

restive furnace
#

cogs are literally same as you did it in mainfile, just a bit different naming.

#

like @<client>.command is @commands.command

dense nest
#

Mk

#

Waitttttt

near veldt
#

if u used js, i think i'd b able to help u

restive furnace
dense nest
#

Will this affect my other bots?

restive furnace
#

no

dense nest
#

Ok good

restive furnace
dense nest
#

Because I run 2 EXTREMELY important bots

#

And I can't afford them not to work

#

Especially my main bot witch has this cloudflare issur

#

Bc it might get reviewed soon

restive furnace
#

if they aren't running on same repl (i assume you using repl.it, since that screenshot looks a bit like it), then it won't affect them.

dense nest
#

Yes

slender thistle
#

If you manage to not fail at implementing cogs, no problem

dense nest
#

Wdym

#

Because I really dont wanna go through the application process

#

Again

restive furnace
#

then don't fail :)

dense nest
#

I wont

#

I just gotta fix it quickk

slender thistle
#

Why not run a separate repl with your application, just running under a different token

pure lion
#

It's not the end of the world if you have to wait another 3-5 weeks, you could spend that time adding more stuff

near veldt
#

woah

dense nest
#

True @pure lion, it's just annoying lol

restive furnace
#

Why not run a separate repl with your application, just running under a different token
^ aka "development" bot

dense nest
#

Ok

#

But

slender thistle
#

Having a testing environment is nice and you should get used to creating one for projects that you may want to scale to public

dense nest
#

How would it get tested instead of the one i currently have in queue

slender thistle
#

Why would it need to be tested?

dense nest
#

Ohh

#

Nvm

#

Btw repl is nice when you don't have your server fully built yet lool

slender thistle
#

It really is

near veldt
#

thats what im using rn

#

cant ever get my play command to work for some reason tho

earnest phoenix
#

OH MY GOD REPL.IT MADE A DATABASE
(which is basically quick.db)

near veldt
#

where did u find this at

restive furnace
#

-dOtPoSt ok good

#

OH MY GOD REPL.IT MADE A DATABASE
(which is basically quick.db)
@earnest phoenix name?

earnest phoenix
#
FATAL ERROR: v8::ToLocalChecked Empty MaybeLocal.
 1: 0xa093f0 node::Abort() [node]
 2: 0xa097fc node::OnFatalError(char const*, char const*) [node]
 3: 0xb8407a v8::Utils::ReportApiFailure(char const*, char const*) [node]
 4: 0x7f56fa5ed45b Image::SetSource(Nan::FunctionCallbackInfo<v8::Value> const&) [/home/runner/codeco-discord-bot/node_modules/canvas/build/Release/canvas.node]

wut? I literally copy pasted my own code and modified it but it throws the above error.
My code:

exports.profile = async (message) => {
    let canvas = createCanvas(1000, 500);
    let ctx = canvas.getContext("2d");
    let userImage = new Image();
    userImage.onerror = err => {throw err;}
    userImage.onload = () => {
        let backgroundImage = new Image();
        backgroundImage.onerror = err => {throw err};
        backgroundImage.onload = () => {
            ctx.drawImage(backgroundImage, 0, 0, 1000, 500);
            ctx.drawImage(userImage, 50, 50, 450, 450);
            let attachment = new Discord.Attachment(canvas.toBuffer(), "profile.png");
            message.reply(attachment);
        }
        backgroundImage.src = "https://cdn.pixabay.com/photo/2016/09/08/22/43/books-1655783__340.jpg";
    }
    userImage.src = await message.author.avatarURL({ format: "png", dynamic: false, size: 4096 })
}

(just a test i'll be adding more stuff later on)

#

@pale vessel

pale vessel
#

Image::SetSource

#

you can't give urls to those (image.src = url), you need to use loadImage for that

#

get the url as buffer or use loadImage()

cinder patio
#

loadImage does the same thing though

pale vessel
#

loadImage uses simple-get and get the buffer iirc

earnest phoenix
#

Why are you awaiting User.avatarURL()

#

It's sync

pale vessel
#

never mind

#

you have so many onload it's confusing

#

if you can use await and loadImage it would have been so much simpler

cinder patio
earnest phoenix
cinder patio
#

I have a guess

earnest phoenix
#

@pale vessel wait the background image is JPEG and the user avatar is PNG will that cause any problem?

pale vessel
#

no

earnest phoenix
#

but i should http://tryitands.ee

cinder patio
#

Remove the await. avatarURL returns a string, not a promise

#

And also, maybe set the size to a smaller number

earnest phoenix
#

uhh ok?

#

1024

pale vessel
#

it's probably the size, idek

#

but removing await won't make any difference

earnest phoenix
#

Someone get me the ID of the owo what's this emoji please

pale vessel
earnest phoenix
#

Ty

cinder patio
#

I think using await automatically wraps the returned value inside a promise

pale vessel
#

wait a minute

#

he used await

#

why didn't he just use await loadImage, you can just omit the image load events

earnest phoenix
#

finally

cinder patio
#

It's the size right

earnest phoenix
#

It's the size right
@cinder patio haven't tested that

#

let's go for 4096 bois

#

@pale vessel what's teh actual name of the owo emoji

pale vessel
#

owowhatsthis

earnest phoenix
#

@earnest phoenix bruy why windows 7

#

Why not

pale vessel
#

viruses are cool

restive furnace
#

bruh why windows anyways? πŸ€”

earnest phoenix
#

yes

#

linux better

#

Bruh just use Minecraft command blocks

#

LoL

#

windows 7 officially hit end of life

#

Rip

#

i think windows 8 suck

#

@earnest phoenix now read the reactions

honest perch
#

Code you dont need a license

#

For win 10

restive furnace
#

i think windows suck (for development)

honest perch
#

But they're like 3$ on ebay

earnest phoenix
#

@earnest phoenix u can crack

#

i did one time

pale vessel
#

yikes

honest perch
#

Whats the poiny

#

Windows is free

earnest phoenix
#

I USE A SHARED PC BOIS I CAN'T DO ANYTHING TO MY COMPUTER RELATED TO OPERATING SYSTEMS

#

uhhh

#

xD

#

i think windows suck (for development)
windows is extremely flexible for development

#

use dual boost

#

it just depends on which tools you use

#

use dual boost
@earnest phoenix rockets powered by Linux intensify

#

@earnest phoenix but linux has better command line

#

and Mac 1

restive furnace
#

well true, but it's not simple as in linux, like single command to install development environ

earnest phoenix
#

2*

#

Bruh it's just an operation system, you're programming, not playing Minecraft in seus shaders

#

win10 has WSL2 so that arguments falls down the drain

#

but linux has better command line
@earnest phoenix brain_timebigbrain hell no

#

Cmd in windows 10 is hard to learn

restive furnace
#

my windows version doesnt have yet, since they can't support my pc lol

slim heart
#

did someone just try to argue that linux is simpler than windows

earnest phoenix
#

did you not understand what i said

slim heart
#

lord help us all

earnest phoenix
#

windows 10 b2004 has WSL2 support

#

you straight up dont have to use dos at all

#

This doesn't look like discussion about bot development to me.. odd.. yert

restive furnace
#

im on win10 1980 iirc

slim heart
#

boy.login(token)

earnest phoenix
#

Cmd in windows 10 is hard to learn
@earnest phoenix not like i made a whole trivia game in 7 days of learning it without even guides

pale vessel
#

it's not only about bots though

#

it's just the main topic

slim heart
#

chatting about (bot) development

earnest phoenix
#

This doesn't look like discussion about boy development to me.. odd.. :yert:
@earnest phoenix it's not about boy development it's about OSs

#

Or u can install linux subsystem

#

:))

restive furnace
#

i have WSL1

earnest phoenix
restive furnace
#

but can't get WSL2

earnest phoenix
#

LoL

#

update to 2004

#

it's a big boy update

#

let's stop this discussion (cuz i need help with canvas)

#

mainly because of WSL2

#

Canvas makes my brain explose

#

so bye

#

Bruh we went from canvas issues to operating system issues

#

Canvas makes my brain explose
@earnest phoenix explode or expose

restive furnace
#

well, the thing is, windows doesn't support my setup

earnest phoenix
#

expose

#

Bruh we went from canvas issues to operating system issues
@earnest phoenix now we're gonna get to pinging tim issues

restive furnace
#

2004 update

earnest phoenix
#

oh?

#

are you running arm or smt

restive furnace
#

no

#

x86_64

dense nest
#

So is my bot unusable then?

earnest phoenix
#

@restive furnace just install windows update

#

then u can update it

#

if u are on crack version

#

u need to reinstall

#

windows 10

restive furnace
#

but i'm not on crack ver

#

im on real win10 professional

dense nest
#

@restive furnace is my bot unusable then? Since the cloudflare fuckover

restive furnace
earnest phoenix
#

How's cloudflare related to bots

#

LoL

restive furnace
#

he abused the api

dense nest
#

Discord goes through cloudflare

#

On accadent

earnest phoenix
#

Not the gateway

dense nest
#

Lol*

earnest phoenix
#

the gateway does too

#

Bruh

slim heart
#

cloudflare fuckover

#

what does this mean

earnest phoenix
#

cloudflare can sometimes just kick you off the gateway connection

#

because it feels like itℒ️

#

90% of website has cloudflare

slim heart
#

what

earnest phoenix
#

._.

#

wdym it is fuckover

slim heart
#

if every bot is able to obviously connect fine there's no issue lmao

#

@dense nest ?

earnest phoenix
#

wait does Cloudflare has AI to kick ppl ??

slim heart
#

no

earnest phoenix
#

uhhh

#

Can I use Pixabay images in my bot (non-commercial use) without attributing the image creator? I hate copyright more than life.

#

Discord gateway just kicks you off when it feels like it

#

ℒ️

#

xD

#

Discord

#

ℒ️

misty sigil
#

not even tm

#

it just does

earnest phoenix
#

discordℒ️

#

better

#

not even tm
@misty sigil more like ping tim

misty sigil
#

stable (ℒ️)

earnest phoenix
#

Discord is a stable platformℒ️

#

Can I use Pixabay images in my bot (non-commercial use) without attributing the image creator? I hate copyright more than life.

misty sigil
#

we don’t know

earnest phoenix
#

yep i know i am repeating questions cuz yes

misty sigil
#

ask them

earnest phoenix
#

@earnest phoenix sometime the server broke ;))

#

lmao

#

Ask the creator

slim heart
#

tmw discord gateway is actually rlly stable you all just smell

earnest phoenix
#

they don't give their email

#

@earnest phoenix They're doing barbeque on the servers

#

I'll just attribute the creator

#

if the image is tagged with the CC license then you may iirc, not sure

#

Lmao

slim heart
#

the stench alone is enough to drive cloudflare away

misty sigil
earnest phoenix
#

The w o t

slim heart
#

never had an issue with discord gateway tbh

earnest phoenix
#

When search in google i search only for uncopy right images

#

:))

#

i wonder what dumpster fire their backend is now that they started implementing hooking into / commands and interactive ui elements

misty sigil
#

so xig is on 24/7 the gateway just runs away normally

slim heart
#

discord.js handles the gateway like hot fuckin garbage and sets a bad rep for discord

earnest phoenix
#

plz link me the MDN docs on drawing text on canvas cuz the search button never gives correct results

#

discord.js handles the gateway like hot fuckin garbage and sets a bad rep for discord
@slim heart say that in djs support server

#

xD

#

discord.js handles the gateway like hot fuckin garbage and sets a bad rep for discord
@slim heart That's just, did you hack into the mainframe to notice

misty sigil
#

I really don’t get problems with it using light

earnest phoenix
#

Cuz i can't see signs of it's handlers being broken

#

djs swallows all gateway errors you get

#

and acts as if nothing happened

#

lol

misty sigil
#

guess what

earnest phoenix
#

lol

slim heart
#

wrong

earnest phoenix
#

And where do they go after being swallowed

slim heart
#

it acts as if everything happens actually

#

and then it looks like ur bot is constantly restarting

#

so now ur like "oH DiscoRd GatEwAy StiNky"

#

but its just djs being fuckin stupid and treating normal sometimes even scheduled things from discord like errors

misty sigil
#

there was literally someone who done this

try{
//code here
}catch(err){
throw err
}``` like what
dense nest
#

Yey

earnest phoenix
#

there was literally someone who done this

try{
//code here
}catch(err){
throw err
}``` like what

@misty sigil every code

#

like ceery command

misty sigil
#

why are u try catch but then throwing the error back out

slim heart
#

brain

earnest phoenix
#

oh bot that

#

not

#

i have something like this

misty sigil
#

same

#

wait u just let ur eval error?

earnest phoenix
#

nah i will fix it soon

#

for example

misty sigil
#

I use a webhook

earnest phoenix
#

It be like

try {
// Your entire fucking JavaScript code
} catch(err) {
function abort(error) {
process.exit(69);
throw new AbortError(error.stack);
}

abort(err);
}```
#

Lmai

misty sigil
#

for about most logging things

earnest phoenix
#

js doesn't have goto unfortunately
but imagine it does mmLol

retry:
try {
throw new Error();
} catch(err) {
goto retry;
}
misty sigil
#

ikr

earnest phoenix
#

@misty sigil uhh maybe i should switch to webhook

misty sigil
#

it’d make so many things easier

earnest phoenix
#

yes

slim heart
#

function init () {
try {
throw new Error();
} catch(err) {
init()
}
}

earnest phoenix
#

so i dont have to find channels and send it

#

that's a few lines longer

#

yuck

pure lion
#

Can I send all of the http status codes mmulu

slim heart
#

no

pure lion
#

:(

slim heart
#

only this

earnest phoenix
#

function init () {
try {
throw new Error();
} catch(err) {
init()
}
}
@slim heart js RangeError: maximum call stack size has been reached

#

lol

#

xxx
there, all of them

misty sigil
#

teapot cat

#

xxx
there, all of them
@earnest phoenix what about 1000 class errors

#

shit aren’t they cf only

earnest phoenix
#

yes i think

#

xxxx are also websocket errors

slim heart
earnest phoenix
#

do it in the discord console and watch it crash mmLol

pure lion
#

I sent methew the codes UwU

#

Discord has console?

earnest phoenix
#

wut

pure lion
#

How 2 open

earnest phoenix
#

ctrl shift i

#

Your bot's eval command

pure lion
#

Oh

earnest phoenix
#

ah

#

ye

pure lion
#

Wai-

earnest phoenix
#

Do that in it

#

discord is electron
and electron is just chrome

#

that is dev tool

pure lion
#

Oh yeah cos it's an electron

#

Epic

earnest phoenix
#

uhhh

pure lion
#

Wait

earnest phoenix
#

248mb

#

Haha PC goes boom

#

lol

pure lion
#

What if you redirect from the console KEKW

slim heart
#

before it rangeerror'd

earnest phoenix
#

What if you redirect from the console KEKW
@pure lion you dont even have to redirect anything

#

it's just simply in memory

#

lmfaoao

#

    ctx.strokeStyle = "white";
    ctx.fillStyle = "white";
    ctx.fillText("Galaxy Image provided by Pixabay",500,450);

Why does this draw the text as some box thingy which Unicode puts to denote that the symbol cannot be displayed

#

Memory registers goes brrr

#

the token is standing there in memory, unencrypted, so a malicious program can straight up scan discord's memory for the token

misty sigil
#

well isn’t that 5head

slim heart
#

uh

#

no

#

its still an application

#

which cant be touched by other apps unless given admin which still might not even work since electron cookies are technically marked as secured info

misty sigil
#

cookies

earnest phoenix
#

kernel call to ReadProcessMemory

slim heart
#

you cant call kernel without admin 4head

#

smh

#

it belongs to a different application its like the basics of memory lmao

earnest phoenix
#

yes

#

but you're implying that people are smart enough not to give every app admin rights

slim heart
#

thats a them problem

#

its the blaming discord for everything for me pensiveaf

earnest phoenix
#

i mean

#

they could protect the token

slim heart
#

its as protected as can be

earnest phoenix
#

(or not, because electron so the token's being kept in the auth header)

slim heart
#

still separate data

#

in fact no

#

the auth header is not used at all in website stuff

#

and token is cleared when logging into the client

earnest phoenix
#

no no, i meant the networking tab in dev tools

slim heart
#

so in fact it isnt stored anywhere lol

#

thats protected behind a slew of things in front of the v8 engine

earnest phoenix
#

im wondering if the token is there before you open dev tools

slender thistle
#

ping pong I steal your token through requests :p

slim heart
#

no

#

you have to record network activity anyways

#

the secondu close dev tools its cleared, and it isnt logged until u open dev tools

earnest phoenix
#

i'm going to play around with it

#

i have a token regex laying around somewhere

slender thistle
#

Oh, man. I remember that regex

#

It was saved as a tag in in d.py server

slim heart
#

/[MN][A-Za-z\d]{23}\.[\w-]{6}\.[\w-]{27}/g

earnest phoenix
#

doesn't account for mfa tokens smh smh

misty sigil
#

ok so if(msg.content matches that regex)send to my server trole

earnest phoenix
#

in theory you can straight up just

#

make a userbot that listens to messages here and nukes bots whenever their token gets leaked don't do it that's against the tos

misty sigil
#

yea it is

slim heart
#

ikinda wanna put a listener on my bot and just see if tokens get leaked anywhere lmao

earnest phoenix
#

it works without the dev console

#

hm

#

so

#

after x amount of time it gets cleared from memory

floral creek
earnest phoenix
#

but when you make any kind of a REST request with the client it's back in memory

floral creek
#

mmmm......................

earnest phoenix
#

    ctx.strokeStyle = "white";
    ctx.fillStyle = "white";
    ctx.fillText("Galaxy Image provided by Pixabay",500,450);

Why does this draw the text as some box thingy which Unicode puts to denote that the symbol cannot be displayed
@pale vessel i removed the strokeStyle and fillStyle stuff so it uses the defaults but it still shows like some box thingy which Unicode puts to denote that the symbol cannot be displayed

floral creek
earnest phoenix
#

I see this in the console: Fontconfig error: Cannot load default config file

floral creek
#

d

earnest phoenix
#

-dpost

pale vessel
#

@pale vessel i removed the strokeStyle and fillStyle stuff so it uses the defaults but it still shows like some box thingy which Unicode puts to denote that the symbol cannot be displayed
@earnest phoenix repl doesn't have any system font so you have to download a font and register it first

earnest phoenix
#

f

#

i used comic sans any questions bois

grim mesa
#

I want eval code only 2 ID shard,This broadcastEval() evaling all shards.How make to only shard 2 eval?

earnest phoenix
#

@earnest phoenix Eh not really what I had in mind
@faint prism how would u go about doing it? theres just gonna be 1 ELO check and if it doesnt find someone in a certain amount of time it just picks 2 people randomly

#

I want eval code only 2 ID shard,This broadcastEval() evaling all shards.How make to only shard 2 eval?
@grim mesa js <ShardingManager>.shards.get(1).<method>

#

@earnest phoenix spoonfeeding

#

One line is not spoon feeding

#

smh

#

How many times i gotta say this smh

restive furnace
#

its not

#

and he just said the context

#

didnt spoonfeed whole func

earnest phoenix
#

How many times i gotta say this smh
@earnest phoenix you never said this smh you always write full sentences

#

Wot

restive furnace
#

yeah, what's wrong with that, writing full sentences?

slender thistle
#

Fairly sure spoonfeeding is just giving big snippets of code

#

We don't mind one-liners, but it's appreciated if you explain it

earnest phoenix
#

One day is gonna come when people gonna say

Map.prototype.get()``` is a spoonfeed
#

Wtf

slender thistle
#

Hence why we don't encourage minimodding

earnest phoenix
#

The thing is, telling someone to not spoon feed is not even a mod action, somebody is doing it let them be

slender thistle
#

In the end it bites you in the ass if you spoonfeed :^)

earnest phoenix
#

Unless they're writing code that's like longer than your life span

#

lmao

#

i like to write big blocks of code for people to explain them stuff, atleast there is some use of my absolutely terrible programming skills

slender thistle
#

I feel like I should write a proper OAuth token refresher that pulls it from a .json file instead of refreshing it on each restart πŸ€”

earnest phoenix
#

I hate it when people tell you to explain how something works instead of spoon-feeding, well good luck explaining how a shard manager is constructed or even a reaction collectors works through collections

slender thistle
#

Hmm. Storing unix timestamps might be a good idea for this

eternal osprey
#

like i already have a code that does the exact same. Searches countries and their coordinates

earnest phoenix
#

they both look ugly

#

wtf

#

They're literally emojis available for you to use @eternal osprey

eternal osprey
#

owh really

#

ffs

#

i have been scraping all fucking sites all day lmao

earnest phoenix
#

lmao

#

(sarcasm)

eternal osprey
#

@earnest phoenix srry to break it to you, but i do not like any of them.

earnest phoenix
#

yeah ik

#

they're just smth i'm testing

#

The background doesn't fit the theme

eternal osprey
#

yeah

earnest phoenix
#

WHAT THE FUCK I CLOSED REPL.IT TAB
CS_AlphabetF in chat

eternal osprey
#

also, what in the fucks name is going on with your name font.

#

that code 913 looks so bad

earnest phoenix
#

go for flat design, poppins font + high weight for title headings and headway font for other text

#

yeah

#

i used comic sans MS for the font any questions?

#

Just spam Gen Z emoji memes 69/10

eternal osprey
#

also use glow if you have a darker background like this.

slender thistle
#

Don't be lazy if you want proper profile cards

tough moth
#

Hello, pls help, i am creating music bot, i am installed ytdl-core ffmpeg-binaries and more.. but i am write -play (song name), in console error "No video id found"

eternal osprey
#

code

slender thistle
#

Look up fonts, see which ones may be suitable for your use case

earnest phoenix
#

Just catch the request error and return it as a message

#

yikes are you just trying to get video data from your arg

eternal osprey
#

but i cannot use normal emojis voltrex.

earnest phoenix
#

you need to input a video id, not your search query

eternal osprey
#

i have a weather search fucntion, like $po sunny. It will return a list of countries with sunny weather, but that changes all the time,

tough moth
#

you need to input a video id, not your search query
@earnest phoenix ok, but how to get video id?

eternal osprey
#

so i cannot just add emojis.

earnest phoenix
#

but i cannot use normal emojis voltrex.
@eternal osprey Wot

eternal osprey
#

should i just pastebin my code so you know what i am talking about?

earnest phoenix
#

These are the emojis, or i have no idea what you're trying to say

eternal osprey
#

look

#

the countries in the embed change all the time

#

depending to their weather atm.

earnest phoenix
#

the flags are just regional letters for the country ISO code

#

you can probably work with that

eternal osprey
#

so i cannot just add a emoji of france in the embed, because maybe in an hour it stops raining in france and it is out of the embed.

#

hmm wdym?

pale vessel
#

add the emoji inside the name

eternal osprey
#

but wouldn't that fuck up the weather search?

pale vessel
#

i'd do like :flag_us: Name and use name.split(": ")[1]

earnest phoenix
#

πŸ‡Ί πŸ‡Έ
on their own they give this
πŸ‡Ί πŸ‡Έ
combined, they give this
πŸ‡ΊπŸ‡Έ

eternal osprey
#

u:s

#

us

misty sigil
#

πŸ‡ΊπŸ‡Έ (πŸ‡Ί and πŸ‡Έ )

eternal osprey
#

uhh

earnest phoenix
#

those letters are not normal letters

#

they're regional indicators

eternal osprey
#

owh okay

earnest phoenix
#

imagine what disaster it would be if normal letters would be parsed as flags

slender thistle
#

Flags go πŸ‡§πŸ‡·rrrrrr

misty sigil
#

πŸ‡§πŸ‡·rrrrrr

restive furnace
#

πŸ‡³πŸ‡΄ooooooooooooo πŸ‡ͺπŸ‡Ί

earnest phoenix
#

Flags go to brazil?

#

<I know the brrr meme but bruh>

pale vessel
#

woooosh

eternal osprey
#

hey it works

#

but how do i make it so

#

that if the coutry is like spain

#

it gives the flag of spain?

earnest phoenix
#

get the ISO code of the country

eternal osprey
#

okay but the places of the countries in the embed change all the time.

#

so i can add a flag of a country in the embed

#

but in an hour it might not be there anymore

hybrid roost
#

How long Bot List Approving is?

earnest phoenix
#

get the ISO code of the country

#

i just told you above how flags work

#

they're 2 regional letters

#

those 2 letters are the ISO code

#

How long Bot List Approving is?
@hybrid roost read pins of #support

pale vessel
#

by the way you can just do :flag_code:

earnest phoenix
#

that too

#

that literally

#

why the hell would you use Unicode emojis

#

when we have Discord emojis

#

:youtried:

#

where's my nitro when i need it

#

thank you

jovial nexus
#

If my bot has 4 shard is there a way to turn off only one?

hazy sparrow
#

guys can the random-puppy thing get the title of a post?

earnest phoenix
#

If my bot has 4 shard is there a way to turn off only one?
@jovial nexus why

misty sigil
#

They're basically splitting the load

#

All bots have one shard by default

#

Once you reach 2500 servers "splitting the load" (sharding) is required

#

no

#

its more processes (splits it across cores in default sharding iirc)

pale vessel
#

guys can the random-puppy thing get the title of a post?
@hazy sparrow no

eternal osprey
#

i still don't get the flag:code:

#

like

#

meant for @earnest phoenix

hazy sparrow
#

@hazy sparrow no
@pale vessel aw man

jovial nexus
#

@jovial nexus why
@earnest phoenix idk

eternal osprey
#

guys how do i get a flag before a country name?

#

i had given the option to use flag:code

misty sigil
#

if you use the reddit api

eternal osprey
#

but got now clue on how to use

#
Bolivia",
  "Bosnia Herzegovina",
  "Botswana",
  "Brazil",
  "Brunei",
  "Bulgaria",
  "Burkina",
  "Burundi",
  "Cambodia",
  "Cameroon",
  "Canada",
  "Cape Verde",
  "Central African Rep",
  "Chad",
  "Chile",
  "China",
  "Colombia",
  "Comoros",
  "Congo",
  "Costa Rica",``` a weather database
#

i am not using an api

#

just a packge

#

i have

#

i have read it fucking 6 times. Do i have to give a lecture about it?

earnest phoenix
#

that might help

#

then just toLower it and chuck into :flag_code:

jovial nexus
#

how can i choose the shard i want to Shard.kill() ??

earnest phoenix
#

last time i checked gay isn't a country

fast loom
#
  1. map the name of the country with its code
  2. use like @earnest phoenix said: :flag_[flag_code_here]: (that's a string you format)
  3. Easy results
eternal osprey
#

justii

#

shut the fuck up

#

okay @fast loom i will try! Thanks.

pale vessel
#

i would do something like

const countries = [
  ":flag_us: USA",
  ...
];

const results = getResults(countries.map(x => x.split(": ")[1]));
const embed = new Discord.MessageEmbed();

results.map((entry, index) => embed.addField(countries[index].split(": ")[0], value));```
eternal osprey
#

-but i have got a location list

fast loom
#

like in C# and Python the strings are respectively:
Python: f":flag_{flag_code}:"
C#: String.Format(":flag_{0}:", flag_code)

earnest phoenix
#

US* but yes

eternal osprey
#

which contain 216 countries.

pale vessel
#

my bad

earnest phoenix
#

String.Format is slow as fuck in c#

eternal osprey
#

can't i just put in location

earnest phoenix
#

when your bot slows down as hell using canvas gradients for the gay command so you just save the gradient in a PNG file and combine it with the user pfp instead of creating the gradient when the command is run

fast loom
#

just adapt it to js

slender thistle
#

String interpolation gang, then?

eternal osprey
#

so it will get the whole lisst.

earnest phoenix
#

Awsome look at the lib i sent you

eternal osprey
#

i know

fast loom
#

I'm saying it as an example

slender thistle
#

concats all the way πŸ˜‚

fast loom
#

concats are taking space

#

.Format is the better way of making it
Or StringBuilder

#

if we're going for the better approach xD

tough moth
#

Hello, i am created music bot, and i am enter -play (song ID) but in console error: "FFmpeg/avconv not found"

fast loom
#

but yeh, in short -> that's the way it is in different languages. Just write it with the js syntax and al lgood

#

ah shit, I can't help about music bots. Still haven't made one weirdsip

misty sigil
#

Hello, i am created music bot, and i am enter -play (song ID) but in console error: "FFmpeg/avconv not found"
@tough moth its obvious

#

install ffmpeg-static

tough moth
#

Ok

eternal osprey
#

but @earnest phoenix i have looked through the lib you sent me.

#

but i would have to manually put in all the country codes again? Of 216 places/countries?

#

that is a bit too much.

#

isnn't there any way to do it automatically?

earnest phoenix
#

there might be an api for it

#

or