#development

1 messages ยท Page 1688 of 1

slim stag
#

now

#

i gone screen shoo it

feral aspen
#

It displays the warns

river panther
#

ah

feral aspen
#

Not warning the user.

river panther
#

oh

#

yes

#

its warns not warn

slim stag
#

see

feral aspen
river panther
#

just make it,

let user = message.mentions.users.first() || message.author;
feral aspen
#

I don't want that.

river panther
#

oh

feral aspen
#

I want that if the mention is invalid, i add an if statement

#

I did do that, but doesn't work.

river panther
#

can you once console log args

feral aspen
#

.. and somehow it works for other commands.

feral aspen
#

[]

river panther
#

hm, so, hmm, wait, nose bleeding, brb

feral aspen
slim stag
#

thx @river panther to helping me

river panther
feral aspen
#

I used message.member instead of message.author

#

Somehow, now it works.

river panther
#

eh

#

ok

#

nice

feral aspen
#

Thanks for the help, though, appreciate it! :)

river panther
#

np np

earnest phoenix
#

someone explain why typescript hates me so much

cinder patio
#

It's usually because you don't know how to use it

earnest phoenix
#

found the problem

#

repl doesnt allow deno to read .env files

#

๐Ÿ‘๐Ÿ‘๐Ÿ‘ LITERALLY OUTSTANDING

#

My VPS recently crashed and I would like to know if it is possible to have the VPS logs?

earnest phoenix
#

uh

#

my computer is on drugs

quartz kindle
#

crashed how? what happened?

molten charm
#

I want to get a random printout with percentage odds, but I just couldn't do it.

Example:
Chance of x spawn: 25%
Chance of y spawn: 75%

When you run the code, it will randomly output x or y, but it will do so according to probabilities.

How can I do that?

quartz kindle
#

how do you store your probabilities?

earnest phoenix
#

I am on Debian.
I don't know, my bot is off and I can't connect to my vps (I have to restart it via the online panel)

molten charm
quartz kindle
#

what happens when you try to connect?

#

are you connecting via ssh?

quartz kindle
earnest phoenix
#

I just restarted it from the panel so I can connect.
Before his, when I tried to connect, he put me "Connection in progress ..." eternally

#

yes ssh

quartz kindle
#

hmm

#

and after you restarted it works again?

#

did you change anything? like firewall

earnest phoenix
#

And to check if it came from the VPS, I tried to access my phpmyadmin page and it put "Connection to the lost server"

#

no

#

i havenโ€™t firewall

earnest phoenix
quartz kindle
#

hmm weird

#

you can find all types of loggings linux does there, with an explanation of what they do

#

and where to find them

earnest phoenix
#

but it has done it to me several times. I contacted my vps support and they told me they did the necessary

#

ok thx

quartz kindle
#

strange, my vps never crashed like that

slim stag
#

do you knwo how to build a website like rythm

opal plank
slim stag
opal plank
#

actually, why dont you host it urself code?

#

i assume you just testing right?

slim stag
#

yea

shadow rapids
#

Guys

opal plank
earnest phoenix
autumn dust
#

hey,
i donwloaded 1 module (Ofc discord.js) and i get this error

PS C:\Users\justi_8vy6ryi\Downloads\account-generator-master\account-generator-master> node index.js
C:\Users\justi_8vy6ryi\Downloads\account-generator-master\account-generator-master\node_modules\discord.js\src\client\ClientDataManager.js:81
        guild.channels.set(channel.id, channel);
                                   ^

TypeError: Cannot read property 'id' of undefined
    at ClientDataManager.newChannel (C:\Users\justi_8vy6ryi\Downloads\account-generator-master\account-generator-master\node_modules\discord.js\src\client\ClientDataManager.js:81:36)
    at Guild.setup (C:\Users\justi_8vy6ryi\Downloads\account-generator-master\account-generator-master\node_modules\discord.js\src\structures\Guild.js:307:68)
    at GuildCreateHandler.handle (C:\Users\justi_8vy6ryi\Downloads\account-generator-master\account-generator-master\node_modules\discord.js\src\client\websocket\packets\handlers\GuildCreate.js:12:15)
    at WebSocketPacketManager.handle (C:\Users\justi_8vy6ryi\Downloads\account-generator-master\account-generator-master\node_modules\discord.js\src\client\websocket\packets\WebSocketPacketManager.js:108:65)
    at WebSocketConnection.onPacket (C:\Users\justi_8vy6ryi\Downloads\account-generator-master\account-generator-master\node_modules\    at WebSocketConnection.onMessage (C:\Users\justi_8vy6ryi\Downloads\account-generator-master\account-generator-master\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:299:17)
    at WebSocket.onMessage (C:\Users\justi_8vy6ryi\Downloads\account-generator-master\account-generator-master\node_modules\ws\lib\event-target.js:120:16)
    at WebSocket.emit (events.js:315:20)
    at Receiver.receiverOnMessage (C:\Users\justi_8vy6ryi\Downloads\account-generator-master\account-generator-master\node_modules\ws\lib\websocket.js:789:20)
    at Receiver.emit (events.js:315:20)
``` Help me!!
vivid fulcrum
#

update to djs v12

autumn dust
#

ok

#

ok tysm

slim stag
#

how to online the bots but not use ghostbot website @river panther

#

because its not can with music

vivid fulcrum
#

use a programming language of your preference and find a discord library

slim stag
#

ok

vivid fulcrum
#

check the library's docs on how to get started

slim stag
#

are can with node.js

vivid fulcrum
#

sure

slim stag
#

ok

#

thx

earnest phoenix
#

deno cant access .env on repl

quartz kindle
#

deno is fully locked by default

#

you need to use command line arguments to unlock what you need

#

like --allow-env

earnest phoenix
#

i did do that

#

and i also did --allow-read

#

and the filename is at the last so i didnt pass the argument to the script

quartz kindle
#

how do you run it?

earnest phoenix
#
run="deno run --allow-net --allow-read --allow-env test_index.ts"
#

oh_and_also_im_using_snake_case_in_my_JAVASCRIPT_code_please_forgive_me

quartz kindle
earnest phoenix
#

huh

#

--allow-all then

quartz kindle
#

with an sh file to start it

#

i saw another example that uses a bat file to start it

slim stag
#

can somebody help me with like website to active the bots

#

like bot ghost website

#

but there cant use music

solemn quartz
#

Guys, i need help with a swearing automod, i thinked it could work like this

const bannedWords = 
[
'word',
'world'
]

if (message.content.toLowerCase().includes(bannedWords.some())) {
message.delete()
message.channel.send('no swearing')
}

but this doesn't work, can anyone hep me?

umbral zealot
#

well yeah you didn't write a function in .some()

#

you need a function there

vivid fulcrum
#

don't bother with a profanity filter regardless

solemn quartz
umbral zealot
#

a function

#

that runs on each bad word

vivid fulcrum
#

explained it here why your efforts are basically futile and someone is always going to bypass it

umbral zealot
#

you also can't use includes() because that would expect something different

#

Also, like, you can't block any of these: ```
๐“ฏ๐“พ๐“ฌ๐“ด ๐”‚๐“ธ๐“พ
๐’ป๐“Š๐’ธ๐“€ ๐“Ž๐‘œ๐“Š
๐•—๐•ฆ๐•”๐•œ ๐•ช๐• ๐•ฆ
๏ฝ†๏ฝ•๏ฝƒ๏ฝ‹ ๏ฝ™๏ฝ๏ฝ•
๊œฐแดœแด„แด‹ สแดแดœ
noสŽ สžษ”nษŸ
fแตคcโ‚– yโ‚’แตค
แถ แต˜แถœแต สธแต’แต˜
โ“•โ“คโ“’โ“š โ“จโ“žโ“ค
ลฆเธขฯ‚ะบ ืฅเนเธข
ฯฯ…ฦˆฦ™ แƒงฯƒฯ…
ส„สŠฦˆำ„ สึ…สŠ
แŽฆแฌแˆแฆ แŽฉแŽงแฌ
ส„ลณฦˆฦ™ แƒงฦกลณ
fเธ™ยขk เธฏเปเธ™
๐Ÿ๐ฎ๐œ๐ค ๐ฒ๐จ๐ฎ
๐˜ง๐˜ถ๐˜ค๐˜ฌ ๐˜บ๐˜ฐ๐˜ถ
๐™›๐™ช๐™˜๐™  ๐™ฎ๐™ค๐™ช
๐š๐šž๐šŒ๐š” ๐šข๐š˜๐šž

So why even try? ![dogekek2](https://cdn.discordapp.com/emojis/719662720168755250.webp?size=128 "dogekek2")
solemn latch
#

or any combination of those ๐Ÿ‘€

lament rock
#

you'd have to map characters to original characters and then test the string against every possible combination

#

sounds like fun?

vivid fulcrum
#

and that's not accounting for any extra characters the user might put in between lol

sudden geyser
#

or if we're accounting other languages as well

vivid fulcrum
#

i dont understand why you would use a profanity filter in the first place

#

discord is 13+

#

if you're not allowed to swear, you shouldn't be on discord in the first place (implying children under 13)

#

both legally and for your safety

#

3 separate database calls notlikenoot

kind crescent
#

nvm, found the error

#

and yeah, im fixing that with a join xD

#

it was just a temporary thing

vivid fulcrum
#

you can select all 3 in the sql statement fyi

kind crescent
#

yeah, with LEFT JOIN

#

I already know, it was just a temporary thing

thick gull
#

hello

opal plank
#

like is odd or something

thick gull
#

uh

opal plank
#

check the link above my mention

thick gull
#

yeah i made like

#

100 gb chain of just if statements

opal plank
#

yes that

#

do you have screenshot still?

thick gull
#

i deleted it cause i didnโ€™t know what to do with it

#

search in here

opal plank
#

i did

#

didnt find it

thick gull
#

idk

opal plank
#

frick

elder loom
#

yo

#

how would i make it so that my bot tracks upvotes

opal plank
sudden geyser
#

"write your own compiler day 30"

elder loom
opal plank
#

oh, webhooks

elder loom
#

okay thanks

opal plank
#

np

placid meadow
#

whos writing a compiler?

#

O_O

sudden geyser
#

The compiler compiles itself ๐Ÿชƒ ๐Ÿ’ฅ

placid meadow
#

inceptions ....

#

๐Ÿ˜‚

#

ya know whats really cool, this actually exists, programs that program themselfs

#

In computer science, self-modifying code is code that alters its own instructions while it is executing โ€“ usually to reduce the instruction path length and improve performance or simply to reduce otherwise repetitively similar code, thus simplifying maintenance. Self-modification is an alternative to the method of "flag setting" and conditional ...

#

high quality worms do this sort of stuff

tired panther
#

How can I suppress mentions for specific messages, without changing the client options?

placid meadow
#

u could filter the message before hand

slender thistle
#

Does your library have that implemented?

placid meadow
#

if it meets a condition, skip or pass

tired panther
slender thistle
#

There's allowed_mentions which Discord API provides

tired panther
slender thistle
#

let's see what options allows

eternal osprey
#

hey

#

i have made a bot that actually triggers once a specific keyword is used

#

why isn't it able to trigger in embeds?

tired panther
slender thistle
#

because you are very possibly relying on message content

#

and excluding embed contents

eternal osprey
#

yeah i am

#
   const allItems = fs
      .readFileSync("./keywords1.txt", "utf8")
      .split("\n")
      .map((x) => x.split(/ +/))
    
    let filtered = allItems.filter((x) => x[1]);
    let final = filtered.map((x) => x[1])
 
   
    let m = final.filter(a => message.content.includes(a))
    let z = final.some(a => message.content.includes(a))
    console.log(m)
    let filtered33 = allItems.filter((x) => x[1] == m);
    let final33 = filtered33.map((x) => x[2]).join("\n");
    console.log(final33)
   
   if (z == true){
    let role = message.guild.roles.find(r => r. name === `${final33}`);
    message.channel.send(`${role} We need you here! Someone just used a specific trigger word! Get your ass back here now!`)
    }else{return}```
#

how would i also include the embed messages then?

tired panther
#

wow , allowedMentions is the opposite of disablementions xD

eternal osprey
tired panther
#

explode() is not a function xD

eternal osprey
#

yeah i kinda already figured that

tired panther
tired panther
eternal osprey
#

any real suggestions on how to trigger on embeds

tired panther
slender thistle
#

iterate over message.embeds

tired panther
#

message.content = message.content || message.embeds[0].description
then do with messsage.content what you want lol

slender thistle
#

or that

#

message content along with embed gang KEKW

tired panther
#

you can do something like this @eternal osprey

#

this will convert a embed message to a plain once

vivid fulcrum
#

why not just start with a string in the first place

#

and then just +=

opal plank
#

at that point why not just stringify the whole thing?

sick blaze
#

Hi

opal plank
winter remnant
#

Merhaba baka bilir misiniz? <@&695153281105920070>

gilded plankBOT
#

@winter remnant

ฤฐngilizceden baลŸka dillerde sohbet etmek iรงin #general-int kanalฤฑnฤฑ, top.gg hakkฤฑnda (Tรผrkรงe olarak da) destek almak iรงin #support kanalฤฑnฤฑ kullanฤฑn.
Bu kanalda Tรผrkรงe konuลŸmayฤฑn.

modern sable
#

Also please do not ping any staff roles for non-emergencies

lunar patio
#

@sage bobcat can help me to make cd command?

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

lunar patio
#

@sage bobcat I just wanted to make a command like !cd and bot replies "Alright, I'll remind you in 1 min" and after 1 min bot replies me " your cooldown is over"

sage bobcat
#

One message removed from a suspended account.

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

lunar patio
#

ok tell me

sage bobcat
#

One message removed from a suspended account.

lunar patio
#

ik

opal plank
#

or

#

use node schedule

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

lunar patio
#

ok

autumn dust
#

hey i get some errors when i type const in 53 line

let guild = message.guild
                        let reason = args.slice(1).join(' ');
                        let modlog = guild.channels.find('name', 'account-log');
                        if (!modlog) return message.reply('account-log /* Note 2:this section can be edited*/ can't **i find channel.**');
                       //here i get error> ~~const~~ embed = new Discord.RichEmbed()
                            .setColor("#e5bd38")
                            .setTimestamp()
                            .addField('**Action Taken**', 'Account Request')
                            .addField('**Channel**', ` ID โ‹™ ${message.channel.id} `)
                            .addField('**Channel**', ` Name โ‹™ ${message.channel.name}`)
                            .addField('**User**', `ID โ‹™ ${message.author.id}`)
                            .addField('**User**', `Name โ‹™ ${message.author.username}`)
                            .addField('**Account Provided (MAฤฐL)**', ` โ‹™ ${mail}`)
                            .addField('**Account Provided  (PASS)**', ` โ‹™ || HIDDEN ||`) /*Note 3:We're not sharing the password.*/
                            .addField('**Account Provided (TYPE)**', ` โ‹™ ${accountType}`)
                            .addField('**Command Used**', ` โ‹™ ${message.content.toLocaleUpperCase()}`)
                            .setFooter('ยฉ Charon X |', bot.user.avatarURL)
                            .setThumbnail(message.author.avatarURL);

                        return guild.channels.get(modlog.id).send(embed);
                    });
#

ping me if you finded out how to solve this

vivid fulcrum
#

let me use my telepathic powers to read the error

earnest phoenix
#

Dont use v11 d.js

autumn dust
earnest phoenix
#

RichEmbed message.author.avatarURL bot.user.avatarURL its v11

autumn dust
slim umbra
#

lol

#

discordjs.guide

#

read please

earnest phoenix
#

Read the Discord.js docs

pale vessel
#

oh shit it's doge

slim umbra
#

they have a section on v11 to v12

#

floosh

earnest phoenix
#

Exp RichEmbed => MessageEmbed

pale vessel
#

Read this

crystal wigeon
#

It's sad how discord stole Ben Awads Dogehouse idea and called it "audio stage"

placid meadow
#

they did ?

#

no credits or anything ?

opal plank
pale vessel
#

Based Erwin

opal plank
#

wdym based

#

its literally shit

#

30x slower

#

THIRTY

misty sigil
#

pog

pale vessel
#

Yeah but people doesn't give a duck since the difference is insignificant

#

Autocorrect moment

opal plank
#

chaining if's as a command handler works too

pale vessel
#

Look man, I don't use it but it's convenient for some poeple

opal plank
#

possibly even faster

pale vessel
#

It's still fast

opal plank
#

its not convenient at all

#

its only used cuz the examples use it

pale vessel
#

Go create an issue and ask the devs to remove it then

slim umbra
#

rofl dont ask the djs devs for better performance

opal plank
#

why would i bother go fixing something that is completely borked?

#

not like embed builders is their top priority either wya

slim umbra
#

and smh if u actually cared ab perf u would use rust

opal plank
#

why you think djs-light is a thing?

pale vessel
#

Is this the segue to our sponsor, Detritus?

opal plank
#

not even talking about detritus here

#

d.js overall is a poor lib for big bots

slim umbra
#

all js libs are lol

opal plank
#

in a way, yes

slim umbra
#

having a monolith js bot is braindead at scale

pale vessel
#

Big bots should go libless already

opal plank
#

you can make it somewhat performant depending on how you write

#

but nowhere close anything like cpp or rust

slim umbra
#

client libs in rust js and py pls buy

pale vessel
#

chad rust dev

slim umbra
#

lowkey tho people are also massive nerds

#

like theyre always v fixated on hurr durr djs caches inmemory how bad

#

but inmemory cache is good, and wayyyy better than redis or whatever

opal plank
#

not at all

#

thats tunnel vision right there

copper sage
#

When using global Slash commands are they automatically added to a Server when the bot enters a new Server?

opal plank
#

first, not every bot needs all cache

#

emojis

#

presences

#

messages

#

edited messages

#

d.js caches EVERYTHING

slim umbra
#

my gateway caches everything lol

copper sage
#

K

opal plank
#

its not much of a matter about caching is good, is about how much shit it caches

slim umbra
#

just do it smartly

pale vessel
#

They take some time to fully update though @copper sage

slim umbra
#

like there is so much bs in there

slim umbra
#

all those random properties which u never use

opal plank
#

thats why i said d.js is a dipper-ready library

#

it assumes you're making a small bot

#

and does everything for you

#

regardless if you use it or not

#

it does not scale well

slim umbra
#

yeah well tbf all those other "performant" js libs also cache like widgetChanneId lol

opal plank
#

at all

#

thats why i dig detritus (ads)

#

it allows you to customise all that

slim umbra
#

yeah detrius isnt bad

#

not great bc js but still decent lul

opal plank
#

which makes me even more confused

pale vessel
slim umbra
#

i mean u can w djs in fairness

#

but its kindof horrible to do

pale vessel
#

Monkey patches

opal plank
#

people like pre-made shit, detritus legits takes away 30% of your coding with command client, the rest is just you adding the commands

#

people enjoy d-js cuz its easy for them

#

like i said, dipper-ready

slim umbra
#

rofl ur not a performance pro if u havent ever created an enum for channel names

opal plank
#

but detritus provides a whole pre-built command handler for you

#

ontop of being a better lib with more customization than djs

#

and yet they stubbornly stay with that trash

slim umbra
#

yeah

#

even djslight isnt like a reallll solution

opal plank
#

the day detritus put their docs and examples on par with djs, i dont doubt it'll grow real good

slim umbra
#

because at scale you need to cache

#

and it doesnt make djs's sharding and whatnot less trash

opal plank
#

i recall some people getting temp banend from cloudflare

#

due to the sheer amount of requests

#

caching is good, caching all is bad

#

you cache more than you need

slim umbra
#

well it depends

opal plank
#

and end up needing a 128GB rig to scale it

slim umbra
#

sometimes you do need everything cached

opal plank
#

not everything, no

slim umbra
#

but everything meaning like everyone as in like members

#

but u may not need all properties of that member

opal plank
#

the fuck you need emojis cached for? or widgets? or stream previews?

slim umbra
#

i didnt mean everything as all types

opal plank
#

or presences?

slim umbra
#

all items

#

presences make sense for some bots lul

#

playtime tracking

opal plank
#

caching? not really

#

i do that without it

#

you dont need it cached whatsoever

cloud berry
#

Hi

cinder patio
#

store when they started playing it

cloud berry
#

How add bot

opal plank
#

storing presence is too inefficient

#

you'll be storing a shitton of other presences along with it

slim umbra
#

yeah

opal plank
#

presence payload can be some of the biggest payloads you recieve from discord

slim umbra
#

rofl that payloads spec is sososo bad

opal plank
#

this is what i do

#

as simple as this

#

set the user as playing

#

if another presence update triggers, and if they are playing, ignore

#

probably alt-tabing or something

#

those 3 keys are what i use

cinder patio
#

why are you storing them as strings

opal plank
#

my point still stands, you dont need most of the shit cached

#

cuz db

#

its stored as bigInt

#

the pgsq lib returns bigint as string

#

so you bigInt() yourself

cinder patio
#

There's no need to store timestamps as big int though

#

at least rn

opal plank
#

i know, sometimes its stored as ISO string

#

so i used string to make it more decent

onyx hare
#

i need a character advice...
ive hit the 2024 limit ive tried lower number more emojis show as the name and ID, i dramatically changed emoji names to shorten them as-well

const { MessageEmbed } = require("discord.js");
exports.run = (client, message, args,) => {
  const charactersPerMessage = 2024;
  const emojis = message.guild.emojis.cache
 .map((e) => `${e}`)
 .join(', ');
  const numberOfMessages = Math.ceil(emojis.length / charactersPerMessage);
  const embed = new MessageEmbed().setTitle(`Emoji List`);
  for (i = 0; i < numberOfMessages; i++) {
   message.channel.send(
    embed.setDescription(
     emojis.slice(i * charactersPerMessage, (i + 1) * charactersPerMessage)
    )
    
   )}
}

spice heart
#

does someone have some time for me who knows css well?

sudden geyser
#

I'd recommend using pagination instead. I assume you want to remove an emoji from the output if it can't fit, correct @onyx hare?

onyx hare
sudden geyser
#

Ah, I see the issue now.

#

I thought those were two separate commands.

#

But it's just two embeds in the same command use.

earnest phoenix
spice heart
earnest phoenix
#

mhm. Use markdown?

spice heart
#

i got sth nice but dont know how to add text xD

#

i think markdown isnt allowed

vivid fulcrum
#

...yes it is

eternal osprey
#

so look

#

i made a bot that triggers on text.

#

I coded it so that it also triggers on embeds now.

#

But it only works for the little text.

#

So the Usage: Donate would work

#

but the 2 bold ones not. Why is that?

cinder patio
#

you made it so it reads only reads the description

eternal osprey
#

yeah

#

how would i change that?

#

oh wait

cinder patio
#

Account for footer and field text...?

eternal osprey
#

message.embeds[0].description this is what i have rn

#

i am stupid nvm

#

got it

cinder patio
#

mhm

eternal osprey
#

what is the middle part named of the embed. I forgot the name.

#

fields

cinder patio
#

fields

eternal osprey
#

nvm

#

it didn't really seem to work

#
    const fake = message.content || message.embeds[0].description || message.embeds[0].footer || message.embeds[0].title || message.embeds[0].fields
    let m = final.filter(a => fake.includes(a))
    let z = final.some(a => fake.includes(a))
 
    let filtered33 = allItems.filter((x) => x[1] == m);
    let final33 = filtered33.map((x) => x[2]).join("\n");```
cinder patio
#

fields is an array of field objects

eternal osprey
#

tried triggering the dm word

eternal osprey
lusty atlas
#

Guys.

#

I need help please.

cinder patio
#

also why do you want it to be able to read embeds? Only bots and webhooks can send embeds

eternal osprey
#

For example some sneaker webhook

#

that has a new restock

#

and i want to ping others once that happens.

#

How would i loop throught all the fields?

lusty atlas
#

Can u guys help?

#

I have a problem.

#

I tried to make the bot join stage channels.

#

But idk how.

cinder patio
eternal osprey
#
  const zebr = message.embeds[0].fields
    console.log(zebr)
    let make =  zebr.map((x) => x[1]);```
#

i tried this.

#

to just console.log the output and see whether i was going in a right direction

opal plank
#

embeds is only used in webhooks

#

its embed for usual stuff

slender thistle
#

Oh, d.js splits those?

eternal osprey
#

owh but i am testing it on a bot

#

fuck

#

and djs doesn't split those @opal plank

#

it is embeds

#

still wouldn't work tho

#

the mapping

opal plank
eternal osprey
#

so i could just use console.log(make)

#

but for some reason i jst can't map it

cinder patio
#

not an array

#

{title, value, inline}

#

name* instead of title

eternal osprey
#

owh okay

brave tendon
#

Is there a better way to implement the client.on('ready') and client.on('message') event rather than just having it in the main file with the client.login(token) or is this just stupid to split these up in different files

cinder patio
#

it's not stupid

crimson vapor
#

most people will have an event handler, basically exporting a function in another file and requireing it in the "index.js" or whatever, then you just client.on('x', func)

brave tendon
#

I now have 3 files called message.js - ready.js and login.js these three files have a module.export which exports a start function in which these events are written in.. it does work but I am curious if this is a good example on how to do it

lusty kindle
#

If anyones wondering why my bots offline im letting him have a break

pale vessel
#

okay

eternal osprey
pale vessel
#

announce that in your support server

lusty kindle
#

K

cinder patio
#

Does your bot get tired or something

lusty kindle
#

Well no one is in my support server

pale vessel
#

yeah it needs some rest obviously

lusty kindle
eternal osprey
lusty kindle
eternal osprey
#

anyways, i do have some problems with mapping this object.

#

so far i've only mapped arrays.

placid meadow
#

sup ppls ๐Ÿ˜‰

sacred juniper
#

What is it?

pale vessel
#

An hourglass, it seems like

sacred juniper
#

Yea but in discord

#

And idk what does mean it

pale vessel
#

Probably servers that are being loaded

bronze aspen
#

someone donate to me, ive lost everything

vivid fulcrum
#

noโค๏ธ

cinder patio
#

go to gofundme or smth

latent heron
#

Ie. Servers that enforce you to read rules and accept them

vivid fulcrum
#

electron + react is such a beaut to work with

#

if only electron wasnt such a ram hog

cinder patio
#

I'm wondering why there aren't any electron competitors

vivid fulcrum
#

there's ultralight

cinder patio
#

that don't use chromium

vivid fulcrum
#

but ultralight is nowhere near stable enough for a production app

simple zodiac
#

Hey, so, you know how bots create their own role on entry to a server? My bot doesn't do that when it joins a server. Does anyone know why this is happening?

vivid fulcrum
cinder patio
#

Looks great

vivid fulcrum
#

when you include one, discord automatically creates a role for it that grants those permissions

cinder patio
#

That licensing though ๐Ÿ˜ฉ I guess you gotta make money somehow

vivid fulcrum
#

yup :p

simple zodiac
#

i removed the id

#

but those permission look correct

#

i did the bit math thing on discord developers page

vivid fulcrum
#

they don't seem to be

simple zodiac
#

no?

#

what am i missing?

#

I thought I gave it all the permissions it needed

vivid fulcrum
#

that isn't a valid permission value

simple zodiac
#

what should it be?

vivid fulcrum
#

don't know ๐Ÿคทโ€โ™‚๏ธ

simple zodiac
#

That was on the bit math thingy directly copy pasted

#

ill redo all the perms it needs and see

#

Oh, it is different, but, do you know what perm i need to have to create its own role?

vivid fulcrum
#

it looked way too large of a number to me in the first place, confirmed it when i tried inviting another bot with those same permissions and it didn't prompt me with a list of permissions it needs

simple zodiac
#

oh

#

what

vivid fulcrum
simple zodiac
#

i used the discord one

#

I think i got it

brave tendon
#

what exactly is a "shard" and "shardId" the docs say something about websocket but what does these two things do?

vivid fulcrum
#

they're for sharding

simple zodiac
#

i now get this when i use that url

#

thanks lol

#

wait it still doesnt create the role?

vivid fulcrum
vivid fulcrum
simple zodiac
#

I kicked the bot and reinvited it

#

does that matter?

brave tendon
vivid fulcrum
#

can you send the invite link over quickly

simple zodiac
#

like with the ID?

vivid fulcrum
#

yeah

simple zodiac
#

can i delete

vivid fulcrum
#

sure

simple zodiac
#

ok i didnt wanna leave it there

vivid fulcrum
#

it created the role for me

simple zodiac
#

oh, okay

#

Alright thank you lol

pale vessel
#

get the top-gg/sdk module or do a GET request to Top.gg API

brave tendon
#

this autoposter is based on the top-gg/sdk

pale vessel
pale vessel
brave tendon
#

yeah I am already using it and it did show me the console.log that it posted the stats

pale vessel
#

not that

brave tendon
#

uh

pale vessel
#

you can get the server count using that

slender thistle
#

Try pressing Refresh Data or just quite literally visiting the GET Bot URL in your browser

pale vessel
#

also, you should check out dblstatistics

#

they provide useful data and graphs for checking your bots growth

brave tendon
#

okay so the GET url does show me the bot stats

#

is there something else i need to do get the server count displayed in the bot overview?

#

refresh data didnt do much

zenith terrace
earnest phoenix
#

and it generates for you

brave tendon
#

do I have to set the bot overview to public on top.gg? when I am logged in I see the server count and the shards in the overview but when Im logged out I don't see these stats

vagrant summit
#

uhm

#

this is odd

#
const Event = require("../../Structures/Event"),
    izzyBotEmbed = require("../../Structures/vortexMusicEmbed");

module.exports = class extends Event {
    async run(message) {
        if (!message.guild || message.author.bot) return;
        const attachments = message.attachments.size
            ? message.attachments.map((attachment) => attachment.proxyURL)
            : null;
        const embed = new izzyBotEmbed()
            .setColor("RED")
            .setAuthor(
                message.author.tag,
                this.client.user.displayAvatarURL({ dynamic: true })
            )
            .addField(`Message Deleted`, [
                `**โฏ Message ID:** ${message.id}`,
                `**โฏ Channel:** ${message.channel}`,
                `**โฏ Author:** ${message.author.tag} (${message.author.id})`,
                `${attachments ? `**โฏ Attachments:** ${attachments.join("\n")}` : ""}`,
                `**โฏ Deleted Message:** ${message.content}`
            ]);
        const channel = "828346217100607508";
        this.client.channels.cache.get(channel).send(embed);
    }
};

https://cdn.discordapp.com/attachments/816066190752874497/828349897014640690/unknown.png

#

whys it not in likne with thr rest

#

ik the \n is there, bu that shouldnt affect the deleted msg right

cinder patio
#

whut

vagrant summit
#

its pretty obv

#

ive explained it

cinder patio
#

not very well, no

#

what's wrong?

vagrant summit
#

vat

#

wy tf is fht deleted

#

why cant i reply to my own msg

earnest phoenix
#

How do I post my bots guild count to top.gg?

vagrant summit
vagrant summit
#

its not inline with the rest, whys the gap there

#

the \n is on the attatchments line so why would it interfer wit thw deletd msg

cinder patio
#

Is the .addField method custom

surreal wagon
#

Hi all,

I would like to know who is using Erlpack with his Discord bot (preferably a large bot) written in JS (not necessarily with discord.js). React with ๐Ÿ‡ช or answer the following questions if you use it)

If you are using it [Erlpack], I would also like to know if you see a difference in performance, better or worse than before (JSON encoding vs ETF encoding)?
If you decided to use Erlpack for another reason than performance, I would like to know what interests you decided to change.

Thank you very much !

vagrant summit
#

lol

#

my whole embed is custom made ye

cinder patio
#

Don't give the .addField method an array because discord.js joins it with a \n by default

vagrant summit
#

o

#

hm

#

ok

cinder patio
#

use one single template literal

#

or join it yourself

vagrant summit
#

ty

placid meadow
#

has anyone have a good leveling (mmo style) formula ? i have good one, willing to share the code

#

just say the words ๐Ÿ˜‰

#

@slender thistle @cinder patio

#

i sort of 'used' it from the unity forums where they developed mmorpg's

#

they had a basis code

#

i ported it

slender thistle
#

๐Ÿคฃ Nah thanks I've had enough of calculus in my first 2 years of college

placid meadow
#

hehe

#

well for whoever wants it

#
   '// Settings
    Public Const LevelMax As Integer = 1000
    Public Const LevelFirst As Integer = 50
    Public Const LevelLast As Integer = 100000000

        '// This calculcates the required amount before leveling up
        Public Shared Function Calculate(current As Integer) As Double
            Return Math.Round(A * Math.Exp(B * current) - A * Math.Exp(B * (current - 1.0R)))
        End Function
        '// This will tell if current cant level up
        Public Shared ReadOnly Property CanLevel(current as Integer,required as integer) As Boolean
            Get
                Return current >= required
            End Get
        End Property
        '// Logarithm formula for section A 
         Private Shared ReadOnly Property A As Double
            Get
                Return LevelFirst / (Math.Exp(B) - 1)
            End Get
        End Property
        '// Logarithm formula for section B 
        Private Shared ReadOnly Property B As Double
            Get
                Return Math.Log(LevelLast / LevelFirst) / (LevelMax - 1)
            End Get
        End Property
slender thistle
#

I'm currently trying to update Python properly on my VPS but failing miserably

placid meadow
#

need help shiv ?

slender thistle
#

Nah, I'll unfuck this mess on my own

#

Just wondering how I managed to get to this point where everything just... broke

#

Usually it's one thing or another, but this time it's a whole new level of "broken"

placid meadow
#

oh dear

#

what did u do O_O

slender thistle
#

Deleted a few Python binaries, replaced them with other ones

#

Which in turn created some... unexpected chaos

placid meadow
#

what distro is it ?

slender thistle
#

Ubuntu 16.04

placid meadow
#

and you fu* with the base py ?

#

of the os ?

#

oh dear lord

slender thistle
#

3.6 and 3.9

placid meadow
#

perhaps u didnt know, but any version, it be perl or python can have multiple versions coexist

#

i have it like that too

slender thistle
#

Yeah, I'm perfectly aware, but my stubborn side decided to have it attached to python3 instead of python3.9

placid meadow
#

however u can change the main binary to be a link to the primary version u want

slender thistle
#

so here I am, willing to cry my soul out

#

because of my own mistake ๐Ÿคฃ

placid meadow
#

yikes, u should aptitude arrange it

slender thistle
#

Gotta fix it first

placid meadow
#

yup

#

lol smart ass ๐Ÿ˜‚

#

u know where to find me ๐Ÿ˜‰

quartz kindle
#

pythonk

slender thistle
#

eeeeeeeee

earnest phoenix
#

how can i remove any owner or add any owner at top.gg bot

#

at my bots

heavy marsh
#

Sorry for the ping but is there any updates

#

as I see it says added stage channels

vivid fulcrum
#

you could fork djs and merge the pr yourself

#

and then use your fork instead of the djs release on npm

restive lily
#

So I made status change commands for my bot, so it can change from dnd, idle, and online and watching, listening, playing, but they are all seperate commands and a mess of extra unneeded code. I was wondering if its possible to put it in a prompt serious or somehow all in one command? Here's an example of how it could be if its even possible .statuschange <watching, listening, playing> <dnd, online, idle> <arg> arg is for what the status says like "Playing a game." Or like in a prompt serious of answers. Please ping or ping reply (discord.py rewrite)

slim warren
#

how can i get an api for my bot

dusky sundial
#

What kind of api?

slim warren
#

just a api

#

for my bot

restive lily
#

Like your own API?

slim warren
#

ya

vivid fulcrum
#

find a HTTP server library for your language and throw it in your app with your bot

valid parrot
#

im not sure if this is the correct channel for this but:

Hey! this is my webhook code, but my vps is not receiving the requests sent by topgg tests. I have used sudo ufw allow 25569 and sudo ufw allow http Any idea how to fix this?

var path = require('path');
const { webhookPW } = require(path.resolve(path.normalize("./config.json")));

const init = async() =>
{
    console.log('[EXPRESS] STARTING SERVER')
    const express = require('express')
    const app = express()
    const Topgg = require('@top-gg/sdk')
    const webhook = new Topgg.Webhook(webhookPW) // add your top.gg webhook authorization (not bot token)
    
    app.post('/dblwebhook', webhook.middleware(), (req, res) => {
        // req.vote is your vote object e.g
        console.log(req.vote)
    }) // attach the middleware
    
    app.listen(25569, () => console.log('SERVER READY'))
}
module.exports.init = init
lament rock
vivid fulcrum
#

๐Ÿ˜ฎ til

sudden geyser
lament rock
valid parrot
earnest phoenix
#

can i find a discord server by its guild ID?

#

I have the name, guild ID.

valid parrot
#

i noticed that when i visit the webhook url in my browser, pm2 recognises http traffic, but my express app prints nothing

lament rock
earnest phoenix
#

What does this mean? How do I use it?

earnest phoenix
slender thistle
#

@placid meadow Wooooooooohoooooooo

#

Everything is in place again ๐Ÿ˜‚

placid meadow
#

noice

#

i fixed my "awaiter" issue too btw

slender thistle
#

๐Ÿ‘€

placid meadow
#

turns out the Discord.net Library for dotnet is not as stable when you fire a task (await) it sometimes never finishes

#

and then at some point u run out of thread resource

#

so i added a "GetResult" to force it

vivid fulcrum
#

๐Ÿค”

placid meadow
#

its not nice...but works

vivid fulcrum
#

what are you talking about per se

placid meadow
#

well cry, i had a strange behavior in my bot some commands fire and then suddenly stop all together

#

no errros, no exceptions

#

the debug showed me the methods are been fire, and return just fine

#

so it had to be inside the library internals

vivid fulcrum
#

that more so seems like a your code issue, you're deadlocking somewhere

placid meadow
#

yeah thats what i thought too

vivid fulcrum
#

i've been using dnet for 3 years and i never encountered this lol

placid meadow
#

im completely there with your thinking

#

well i never seen it do this either

#

i was puzzled

vivid fulcrum
#

it's weird how getresult should fix it when... await implicitly calls it

placid meadow
#

im puzzled lad, truly are XD

#

i tried everything from this point,

#

even weird/non-logic olsutions

#

anyway, when the Awatier.GetResult() was added, bot started to live up again

#

as desired

vivid fulcrum
#

where is this occuring again

placid meadow
#

well bear with me for a sec, so my incoming message is latched to a processor that sets up queue's so a second thread would pop them off (lifo) to process them on a different time then the main thread

#

that is handled by the Task.factory

vivid fulcrum
#

calling GetResult isn't ideal and it can cause thread pool starvation

placid meadow
#

yeah, i know i wish i knew a better way

vivid fulcrum
#

also

#

use Task.Run over the factory

placid meadow
#

i think i did change that later on ye

vivid fulcrum
#

this is more than likely your underlying your issue

placid meadow
#

hmm let me check real quick

vivid fulcrum
#

i use the same approach in a lot of my bots, never encountered an issue

placid meadow
#

hmm

#

anyway

#

so this is the secondary worker thread that does a split second check on the que

#
If (Me.Queue.Count > 0) Then
                Await Task.Run(AddressOf Me.Queue.Pop.Start)
                Me.Client.Update()
End If```
vivid fulcrum
#

oh

#

visual basic

#

yuck

placid meadow
#

oh ffs are we really gonna do this childish shit -.-

vivid fulcrum
#

why do you use it lol

#

it lacks so many features .net gives you

placid meadow
#

we are not allowed to flame or start a language war

#

so i am not going to engage you in this

#

if u wanna do that, ill just mute ya

vivid fulcrum
#

ok lol

placid meadow
#

its fine by me

vivid fulcrum
#

nobody asked

#

your code seems to be a dumpster fire regardless ๐Ÿคทโ€โ™‚๏ธ

placid meadow
#

i see, @slender thistle i dont think there much to learn from this one

#

too much emotional influenced reaction

#

no use ๐Ÿ˜‰

sudden geyser
#

but why use it

slender thistle
#

My brain is fried

placid meadow
#

ive explained this before, let me do it again for ya. dotnet vb and c# compile into the same bytecode, there is no difference. so it boils down to personal preference. now if you think you know me better then i know myself, to pick a language "i" like. u are very wrong

#

so move on with you life, dont be asking this question ...it doesnt make snese

#

other then wasting my time -.-

vivid fulcrum
#

they do not compile to the same thing lol

#

where did you get this information from

#

they compile to the same language

#

IL

placid meadow
#

@slender thistle what games do you play?

#

u got steam ?

vivid fulcrum
#

i love how they go offtopic just to show they're ignoring me and implying they blocked me ๐Ÿ˜†

earnest phoenix
#

If someone can find an invite to this server and send it to me, i will really really appreciate it!

<Guild id=758377739265900554 name='PMCO ESPORT' shard_id=None chunked=False member_count=11647>

placid meadow
#

eh ...i dont think i know that one

vivid fulcrum
#

uh

#

wrong channel

crimson vapor
#

blocking is such a dumb feature

sudden geyser
#

Nah, it's useful

crimson vapor
#

if you don't like someone, ignore them

sudden geyser
#

Why do you want an invite to that server anyway.

crimson vapor
#

it fucks up conversations

sudden geyser
#

If you don't want someone messaging you, you block them. If you're in a server and don't want to see any of their content, block them.

slender thistle
#

Okay what do you expect us to do with that information

#

Though more important question

#

Why do you want an invite to a server through your bot

snow urchin
#

how often can you update a channel's name without being ratelimited?

vivid fulcrum
#

2/10min

placid meadow
#

isnt that the api docs @snow urchin ?

#

in+

vivid fulcrum
#

no, ratelimits aren't static

#

the ratelimit was changed a few months ago and was mentioned in the discord developers server

#

that's why the exact value is known

#

but ratelimits for endpoints aren't documented

#

and they shouldn't be

#

follow the ratelimit headers

#

hardcoding bad

slender thistle
#

What if they weren't hardcoded

#

My English is suffering so hard I'm struggling to form a proper sentence

quartz kindle
#

tfw you pressed ctrl+C on excel and ctrl+V on google sheets 15 min ago and google sheets is still frozen

lyric mountain
opal plank
crimson vapor
#

probably should not use garbage software

quartz kindle
#

both are garbage

#

but libreoffice is even more garbo

#

unfortunately

placid meadow
#

so who is the worse then, the guys who made the garbage , or the guys who tries out the garbage out of better lack of knowing what should be better

#

hmm?

urban cape
#

how to get the IP of my own bot?

dusky sundial
#

The IP of your bot should be the IP of whatever network you're hosting it on

urban cape
#

Ehm yeay of course, but im using proxy, and i have a list of hundreds of IPs, and one of them is connected to my bot. I want to know which one.

quartz kindle
#

how did you chose which one is connected to the bot?

urban cape
#

random number

#

i = randomnumber

var x = list[i]

#

list = 255 different ips

quartz kindle
#

then console.log it or something

urban cape
#

but that isnt the point. I want to know if my proxy is working at all.

quartz kindle
#

you could monitor your traffic or something

#

or even run a small webserver inside your bot process to test

earnest phoenix
#

Hello

#

Nice to meet you all

#

Is anyone fluent in python willing to chat?

drifting wedge
#

just ask ur question

earnest phoenix
#

Well I'm making a bot. I am very amateur at this and could use just a small bit.of advice with something

drifting wedge
#

just ask your question

#

what is the problem ur having*

earnest phoenix
#

I have successfully made a basic bot with ..um I beleive its called ping pong...I can make my command %lootbox, or %inspire...there are others too... I have created lists and can pull from the lists and receive a random answer from the lists as well.... I am now trying to implement an economy

#

I'd like something such as %adventure or %work... I have the script down. But im not sure how.to integrate the new one with my old.one that uses the ping pong system

drifting wedge
#

wat

#

what are you trying to do

earnest phoenix
drifting wedge
#

thats not important

#

what are you tryintg top make

earnest phoenix
#

An economy where you do %work. And then a text comes up and says you have gotten 100$ or something...

drifting wedge
#

sorry lol in a chess game KEKW

#

thats easy

#

but you need to store data

earnest phoenix
#

Its ok im in no hurry

#

Yes could I maybe invite you to my server and show you?

drifting wedge
#

no thanks

earnest phoenix
#

Ok well then I'll try here

#

No offense meant

drifting wedge
#

no worries

earnest phoenix
#

Here's my error

#

I have created a file named economy.json

#

And am trying to get it to store the currency in there

#

Like I said...im very new to this.. I am sorry for being such an armatur

drifting wedge
#

gimme 1 sec lol

#

im on low time

earnest phoenix
#

Again no hurry

#

Could I friend request you. If you won't join my server?

drifting wedge
#

nrn

earnest phoenix
#

Ok

#

Again no offense meant

drifting wedge
#

k i won

#

ok so go again?

earnest phoenix
#

Congratulations

drifting wedge
#

lol

#

can you invite me to the repl?

earnest phoenix
#

Yes...but...how?

drifting wedge
#

oh idk i dont even have an account lmfao

#

whatever

earnest phoenix
#

Lol

drifting wedge
#

so uhh can you show your code?

#

without the token?

#

also do you know any python?

earnest phoenix
#

Yes I have it in a .env

#

Not really...im super new to it all

drifting wedge
#

or are you learning it by making a bot?

earnest phoenix
#

Wellll......

#

helloooo nerds

#

Is that a dealbreaker?

drifting wedge
#

i mean its a terrible way to start

earnest phoenix
drifting wedge
#

but i started the same way

#

so i cant judge lmfao

earnest phoenix
#

I know ...but i desperately love it

#

I'd love to show you what I have already

thick gull
#

do databases even work on repl

drifting wedge
#

yep just send code?

#

@thick gull i mean eventually if he;s gonna use repl ill suggest mongo to him

#

but its too advanced

earnest phoenix
#

Mongo?

drifting wedge
#

database

#

repl isnt too good

#

and you should use heroku

#

and with heroku

thick gull
#

heroku doesnt let you use databases

drifting wedge
#

u wanna use mongodb

thick gull
#

either

earnest phoenix
#

Oh geez

drifting wedge
#

bc mongo has a online option

#

and its free

#

(which i used)

earnest phoenix
#

Can I copy what i have from repl and paste it to mongo?

quartz kindle
#

heroku has their own integrated postgres database

drifting wedge
#

and json dbs can get corrupted easily

#

yes you can

#

@quartz kindle ye i know

earnest phoenix
#

Ugh.. can I please just show you?

drifting wedge
#

but if he does get a vps or something

earnest phoenix
#

I worked hard and am so proud

drifting wedge
#

then mongo is easier to transfer

#

just send the code

thick gull
#

i mean we should probably help him

#

instead

drifting wedge
#

ok so just show code

earnest phoenix
#

My server code? Or repl code?

drifting wedge
#

repl

earnest phoenix
#

I guess I'm in over my head

#

I'm not sure....how.to.do that...

drifting wedge
#

just show us the code

#

paste it in here?

#

copy it from there

quartz kindle
#

copy and paste

drifting wedge
#

and paste it in here

#

and delete the token

#

not delete, but jsut remove it

#

from the code that u send here

earnest phoenix
#

Oh my whole script

drifting wedge
#

YES

earnest phoenix
#

Ok lol

#

Sorry I have ptsd...

#

Sometimes it takes me.a min

#

Brb

lyric mountain
#

UNLESS

#

if your code is big

#

use hatebin instead

quartz kindle
#

why do you hate the bin

drifting wedge
#

java nerds are not needed for python help (jk)

lyric mountain
drifting wedge
#

@lyric mountain any new projects uve made?

lyric mountain
#

nope

earnest phoenix
#

Its too big

#

I cant send it as a msg

lyric mountain
#

just upgrading shiro as always

drifting wedge
earnest phoenix
#

I dont want to spam and get in trpuble

drifting wedge
#

open the website

#

put code in there

#

and click the save button

#

and send us the url

earnest phoenix
#

That?

drifting wedge
#

yes

earnest phoenix
#

I'm sorry. If I'm wrong

#

Oh good

#

Can you see it then?

drifting wedge
#

yes

earnest phoenix
#

It works great

drifting wedge
#

lemme look thru it 1 sec

earnest phoenix
#

%lootbox is a big hit

drifting wedge
#

ok so you dont need the if msg.startswith

earnest phoenix
#

Oh

#

Oh geez

quartz kindle
#

you dont need keep_alive either

#

thats only for webservers

drifting wedge
#

which you can access using

async def COMMAND_NAME(ctx):```
earnest phoenix
#

Can I show you what I'm trying to do?

drifting wedge
#

also its not a good idea to do if starts with also

#

bc like if someone does

#

%congrats urmom dumb

earnest phoenix
#

Oh

#

Wow I suck

drifting wedge
#

it would be better imo if it is just %congrats and if it has other things after it wont work

drifting wedge
earnest phoenix
#

I'm so sorry to embarrassed myself like this

drifting wedge
#

lol

earnest phoenix
#

Ty for being kind

drifting wedge
#

np

earnest phoenix
#

I write books and run dnd games...so I I can just get thebasic frame work down I know I can make an epic bot

drifting wedge
#

where did you learn all of this btw?

#

someone's getting a dislike lmfao

earnest phoenix
#

Here

#

I watched it for 10 hrs

#

And made what I have

drifting wedge
#

its a 1 hour video

#

...

earnest phoenix
#

Lol

#

You said no judgment

drifting wedge
earnest phoenix
#

I've been watching this

drifting wedge
#

here

#

watch that

earnest phoenix
#

Ooooo whats that

drifting wedge
#

an actually good video

earnest phoenix
#

So should I follow that and delete what I have?

thick nexus
#

for some reason the first time i write to like json file it gives me a keyerror like i try
[str(ctx.guild.id)] = {}
[str(ctx.guild.id)]["onoff] = True
But the first time i run the command it does like
Command raised an exception: KeyError: '796733556872708147'
But the second time it works

drifting wedge
#

also isntead of using repl

#

use atom or vsc

#

and you can test it faster

thick nexus
drifting wedge
#

yes

thick nexus
#

o

earnest phoenix
#

Here make a new file?

drifting wedge
#

wat do you use?

#

just watch the video

#

ignore EVERYTHING youve learned

#

and just follow the video

earnest phoenix
#

I will

thick nexus
#

lol

#

i think that video was how i started also

earnest phoenix
#

how do i

#

update

quartz kindle
#

btw dont you have discord on pc?

earnest phoenix
#

server list

#

But...thats a yes on the add file?

quartz kindle
#

its much better to take a screenshot on pc and send it through discord

#

than taking photos with a phone

thick nexus
earnest phoenix
#

Ok

drifting wedge
#

just use a ide

thick nexus
#

and then follow da video

earnest phoenix
#

So i need to basicly start over from scratch

drifting wedge
#

its way easier

#

yes

earnest phoenix
#

From that video

#

Ok

#

Ty soooooo much

drifting wedge
#

if you need help