#development
1 messages ยท Page 1088 of 1
but then it gave this error:
UnhandledPromiseRejectionWarning: TypeError: client.channels.get is not a function
this is the error
cache
djs 12 uses channel managers
use cache to use get()
oh alright
Okay I have a weird issue and I hope one of you can solve it. I think the problem gets clear when I explain it.
First situation:
bot:js const role = guild.roles.cache.get('id'); role.d = 'hi';
console.log(role);=> role.d returns 'hi'
eval:guild.roles.cache.get('id').d=> undefinedSecond situation: (after restart)
eval:guild.roles.cache.get('id').d = 'hi';
eval:guild.roles.cache.get('id').d;=> returns 'hi'Why does it work if I add the property through eval and it doesn't work when the bot does it?
can anyone help me with this one? I get it's a weird thing though.
UnhandledPromiseRejectionWarning: ReferenceError: message is not defined
now it gave this error
im a beginner
message can only be used in the scope it was defined
if you havent defined it, it wont be defined
just to check things out
is role.d a property?
I want to make <role>.new_members which is an array, but I've simplified the solution (and also tested the simplified solution)
no it's a property I'm adding myself
that will not work
Erwin, its guild.roles.cache.get() not guild.roles.get()
i still dont understand extensions completely, but thats the right way to do it right?
that will not work
@crimson vapor apparently not, but it should work. Also doing that with channels
I know
now im confused
guild roles
returns role manager
yes
then?
yes
yes I'm adding a property myself, which is possible
extending?
Tim said it should work too
i see
tim knows like every answer asked here
why do you need a .d property that resets every time the bot restarts?
let filter = m => m.content === should work for getting collecting just the specified content right? (awaitMessages)
I always used message collectors
okay, for real, someone know if i can do this without opening 3 VSC instances?
that would filter for content === something
are you trying to map?
yes
no i just wanna filter by content
well for my problem I don't need to answer the question, but I'm adding newly added members of a role there. Same for <role>.old_members
yeah thats how you filter, iirc
and if I can finally manage to add those properties properly, I can add some more
@crimson vapor different workspaces
and after restart, the new_members aren't needed anymore
not if you drag it to the windows part
So I'm curious how would I let my bot play spotify stuff without ads?
is there some sort of spotify api?
hmmm dragging that ACTUAL window?
where I circled you can drag the tab
iirc spotify doesnt allow music playing
im sure its possible
well that'd still need the other VSC instance to be opened
hmm okay
open file in second window, drag over
no the windows does not need to be open
you know how you would open 2 files side by side on vsc in the same workplace?
What's going on here
do the same but with different windows
Isn't there a button to split the workspace
ctrl b toggles explorer
yes

wot
im not going for visuals lmao, just trying to only have 1 instance on 2 workspaces
ah
Are they different projects?@opal plank
Can't you just add them all to the same workspace
kinda
problem is the tsconfig loading
its 2 different langs
2 are Ts and 2 are Js
the debuggers would probably run fine since they each have their own targets, but not sure VSC linter and all that jazz would work fine
uuuuuughhh
that might be a bit troublesome
doable, but a lot of time required for it
const newMoney = new Money({
userId: message.author.id,
money: "0",
bank: { max: 1000, current: 0 }
})
newMoney.bank.current = undefiened
wtf ? help
what does the Money class look like
your model?
const mongoose = require("mongoose");
const moneySchema = mongoose.Schema({
userId: String,
money: Number,
bank: Number,
inventory: Object
})
module.exports = mongoose.model("Money", moneySchema);
oh no
bank is a number
and money is number too, not a string
if you want bank to be an object mark it as Object.
"0" = string
0 = number
You can use isNaN or parseInt
sir
also mongoose will fail to create the dataset if the types are miss matched
o no
did he just take the snippet or smth 
what it looks like you're doing is creating a schema for each module or whatever u wanna call it, this is really annoying and a stupid thing to do, here r the pros and cons of doing this:
cons:
- harder to maintain
- harder to upgrade
- uses A LOT more storage
- slows down the serialisation
- queries will be impacted
pros:
none im aware of
i use maybe 3 schemas. for each of my bots
i use 2
money.money = money.money - number;
money.bank.current = money.bank.current + number;
message.channel.send(`Deposited ${number}$ to your bank.`);
why money.bank.current is not adding money
moyai
i did money.save()
does mongodb send all data and let the lib deal with it or does mongodb do the searches?
@crimson vapor nope
wait no 1 bot uses 3 bcs one of them is not attached to the other 2 in a way
@earnest phoenix do money.save()
the others use 2 1 for the guild and 1 for users
it decompresses the data, adorabal number
then is a type missmatched
only money.money is losing money
use await Promise.all :p
money.bank.current is not adding money
you're already been told why
yes but lets say you can only download 5kbps, is it better to have more docs and stress the cpu or have one doc and stress then network?
i have promise all attached globally so i dont need to call it
bank is a number
@earnest phoenix show your data schema
._. ok wait
wdym?
const mongoose = require("mongoose");
const moneySchema = mongoose.Schema({
userId: String,
money: Number,
bank: Object,
inventory: Object
})
module.exports = mongoose.model("Money", moneySchema);
\๐ฟ
shouldnt inventory be an array?
replace Object with {current: 0}
just like do, type: [ { ur data here } ]
bank: { current: 0 }
wait what is even the problem with his schema now?
or js bank: { current: { type: Number, default: 0 } }
but the shema makes no problem
let number = parseInt(args[0]);
if(number <= 0) return message.channel.send("You can't deposite a number less then 1");
if((money.bank.current + args[0]) > money.bank.max) return message.channel.send("The maximum of moneys that you can deposite is " + (money.bank.max - money.bank.current));
if(number > money.money) return message.channel.send("You don't have so much moneys.");
money.money = money.money - number;
money.bank.current = money.bank.current + number;
message.channel.send(`Deposited ${number}$ to your bank.`);
@earnest phoenix this is what ur doing:
i assigned bobs name to a string, and im setting the default of bobs name, if he wants to change it, to a number
here is the problem
both are meant to be strings in mr bobs case
im so confused as well
me 2
maybe i didnt explain it good
How i put a welcome picture
its okay
?
heres another example
let bob: string = 'bob';
bob = 10;
``` ?
does this make more sense lul
?
i just wanted to ask why the money.bank.current is not working
the thing with mongoose is for some reason it doesnt throw errors if the types on a query are miss matched (atleast what i get in the past)
you've been told many times
let bob: string = 'bob';
bob = 10;
``` ?
@digital ibex I fixed it
because bank.current is not a thing
you can still do that with mongoose
because bank.current is not a thing
@crimson vaporbank: {max: 1000, current: 0}._.
can I see a picture of your doc in the db?
the schema and doc
it doesnt send a doc bcs it cant send one bcs the query fails
I want a picture of mongodb compas
ty
bank.current = bank.current + number
are you awaiting it?
@earnest phoenix https://npmjs.org/package/canvas
async function action() {
if(!args[0]) return message.channel.send("Please supply a number of moneys that you want to deposite.");
if(isNaN(args[0]) && args[0].toLowerCase() != "max") return message.channel.send("Invalid number !");
if(args[0].toLowerCase() == "max") {
if((money.money + money.bank.current) < money.bank.max) {
money.money = 0;
money.bank.current = money.bank.current + money.money;
message.channel.send(`Deposited ${money.money}$ to your bank.`);
}
if(money.money > money.bank.max) {
let number = money.bank.max - money.bank.current;
money.money = money.money - number;
money.bank.current = money.bank.current + number;
message.channel.send(`Deposited ${number}$ to your bank.`);
}
}
else {
let number = parseInt(args[0]);
if(number <= 0) return message.channel.send("You can't deposite a number less then 1");
if((money.bank.current + args[0]) > money.bank.max) return message.channel.send("The maximum of moneys that you can deposite is " + (money.bank.max - money.bank.current));
if(number > money.money) return message.channel.send("You don't have so much moneys.");
money.money = money.money - number;
money.bank.current = money.bank.current + number;
message.channel.send(`Deposited ${number}$ to your bank.`);
}
await money.save();
}
console.log your bank object
this is my function
@lusty quest no bank is working pretty well but the math is something wrong
so is the undefined error gone?
change js if(isNaN(args[0]) && args[0].toLowerCase() != "max") return message.channel.send("Invalid number !"); to js if(isNaN(args[0]) && args[0].toLowerCase() !== "max") return message.channel.send("Invalid number !");
this could be an issue due to the sync behavior of node
what was the error again?
only the
bank.current = bank.current + numberis not working
this
can I see what the error is?
YES
my bad
is the number a number?
if number was not a number he would have goten an error
not really
or maybe i have to parseInt() the bank.current ?
node can add numbers to strings
yea
if you store bank.current as a number it should return as a number
yea but like if he did that atleast the thing would not reamin the same
bank: { max: Number, current: Number },
add
it will not change bcs mongoose just dont query it bcs the field types are missmatched
maybe i have to fix the Shema
money.save().catch(err => console.log(err))
to check if there is something wrong with the saving
OMFG
it works
i need to fix the Shema
bank: { max: Number, current: Number },
@earnest phoenix message.guild.roles ?
an error?
guild is not defined
wait i need to check my code
@earnest phoenix define guild
message.guild
also, no need to create a role for your bot
its a ready event @earnest phoenix
there is no message on a ready event
either use a loop to do it for every guild or get the guildid of the guild where you want it
@earnest phoenix
https://discordapi.com/permissions.html
A small calculator that generates Discord OAuth invite links
you need to fetch or grab the role from the cache
i guess he has no idea about javascript and just throw a frankenstein bot from 5 different YT tutorials together
client.guilds.cache.get("GUILDID").roles.create()
im having a error install quick.db
more precise?
no you need to add the guild's ID
๐ค
...
........
dotpostum
the vast majority of people here ive noticed dont use quickdb
I use mysql
i remember when everyone here used to use it lul
I use mongodb
I remember lots of people having issues with quickdb
funny is if someone got issues with Databases its usually either MongoDB or quickdb
i installed nodejs v14.6, and im getting this error: SyntaxError: await is only valid in async function the code:
let connectSocket;
try {
connectSocket = await ws.createWebSocketStream(constants.GATEWAY);
console.log('mother trucker!!!');
} catch (e) {
console.error(e);
}```
like in the past 5 Months. i saw like 30 people here having issues with quickdb and 5 with MongoDB
nice error
thank m8
try using an async function
@digital ibex is your function async?
no
make is async
That's so sexy
its not
I love that so much
its really annoying
do node -v
wot
are you using .mjs?
Welcome to node {version}
yeah
Oh it actually joins them
What is the difference between mjs and js?
idk
e
mjs is just like source code.. of es6 kinda i think
im not familiar with it or ever used it in a production environment
ye
ยฏ_(ใ)_/ยฏ
Money.sort( a.money - b.money)
(node:7577) UnhandledPromiseRejectionWarning: TypeError: money.sort is not a function
Does someone has a fix for quick.db
๐ฟ
haha lmfao @solemn latch
explain
ah
its stupid tbh
iirc mongodb uses different sort
what sort?
one sec
your database sorting?
i thought meant an array.sort but for mongo
429 errors typically mean ratelimit
very likely
most music bots rotate ip's
someone know how to detect when someone is online?
i menan, if someone is online, the bot says "@someone is online"
status presence
im assuming its d.js
author has presence property in it
if you are looking for events when people go online.
i think your looking for GUILD_PRESENCES
which is privileged
https://discord.com/developers/docs/topics/gateway#privileged-intents
Integrate your service with Discord โ whether it's a bot or a game or whatever your wildest imagination can come up with.
client.guilds would be the guildManager
client.guilds.cache would be all the cached guilds
and size would give you the size of that
client.guilds.cache would be the actual guilds
spoonfeeding
Does anyone know how to add a music command to play music on the bot? It should connect to the voice channel itself
Ok
Thanks
the link he gave you is java
Oh
heroku doesnt like music bots
Is Guild changed to Server on discord.py latest version?
in that example, the console log would log 3
Yes i think
because map has a size of 3
Heroku likes bots wth
size gets the size of something
They earn $$$ from our bot hosting
well, heroku likes to host websites, not bots
It can host nice enough
something being your guilds @earnest phoenix

glitch doesnt let bots run 24/7 unless you pay for their 24/7 product
which is overpriced
at the end of the day, pretty sure youll be spending money to have a music bot
self hosting isnt a great idea either.
if you use youtube for music bots, youll get your whole home network banned from youtube
nearly everyone ive seen use heroku and music bots end up getting banned
or paying for better services
Why they get ban
its not really what its made for
proper vps hosting
virtual private server
iirc heroku doesnt offer enought power for music bots
many users here tryed it but came here bcs of out of memory errors
virtual private server
@solemn latch how do I do that
the link i just posted is a handful of suggested providers
i use galaxygate personally to host my websites and bots.
but any of them work really
Oh, I used Digital Ocean
i can also recomend Digital ocean
It gives 100$ when u add a payment method
i dont think they do that promotion anymore
will last for me maybe 4 Months
Firebase?
that bonus $ shouldn't be a selling point
Digital ocean is solid. i have currently 5 VPS there and they just work without any issue
Ok
i recommend this
- OVH: https://www.ovh.com/us/vps/
Starting at $3.35/mo for 1 core, 2GB RAM, 20GB SSD
So, I can host my bot there
ovh is shit
vultr is really good as well
why ?
it works
paid promotion?
but can be annoying
Lol
some users reported that they have issues with bots there

i had a Root server from OVH but it was Meh. so many issues with hosting gameservers
or maybe this
- Time4VPS: https://www.time4vps.eu/
Starting at โฌ3.99/month for 1 core, 2GB RAM, 20GB SSD
Nah
check pins
i personally use vultr because of price and also ease of use
Digital Ocean sounds good
if you want something reliable go to a Hoster with good rep
German server provider | #VPS from โฌ3.99 / mo | EU and US Locations available | 15+ years of experience | 70k+ happy customers | #hosting #cloud #infrastructure
contabo is ok but nah
but we need good cpu not ram
What does a VPS do?
you need Ram CPU not really
Makes ur bot 24/7
its just like your own server
its a small portion of a larger server
so you can run the bot all the time without having to keep your home computer on all the time
So what
other people are on the server with their own section of the server
Heroku does that too
thats not important woo
if ur bot is smal
he asked what a vps is
u can use Heroku
you can but its annoying af
i think he just meant what do i do with it

Oh
for all simple intents and purposes its the same as a dedicated server
If ur bot is in 20servers or less u can use Heroku
hello everyone, i need my bot to write a text and end the message with a custom emoji
what can i do?
Should I buy one
i use javascript
@ashen shard Read docs
your bot can use emojis just by typing out the emoji string
and discord will make it into the correct emoji
@ashen shard u need to add emoji and then send it
just look at docs to see the proper format
I have a Moderation bot
I have a partnership with Heroku
My bot iz online for Lifetime
\๐ฆ
U know DashCruft?
He got Partnership with Heroku
but does the same apply for custom emojis
i dont personally understand why people trust hosting sites like glitch and heroku with their public bot
so i have this emoji, :crycool:
So I paid with him 250$ to make app on his Heroku
Now it is lifetime
He coded the bot and more
It has so many features now
He setup MongoDB too!
Ez
Why is everyone so silent
Yup
if i write message.channel.sendMessage(<:'crycool:423199537482432522>') will it send me an emoji
@torn ravine
sure if you pay you get a Decent host. But free suck
sendMessage?
Lol
its a good deal?
nO
i'm using the classic index.js
He coded the bot
:0
i hope you dont mean pay him out of pocket
250$ for a lifetime?
index.js best lib
that is another thing

lol im a newbie
i thought he meant with partnership money
@bright quartz so u didn't coded ur bot
so im patching yt vids with discord servers to get some knowledge
then why YOU PAID HIM
$250 to remove bugs
dude you kinda got ripped off
pog
LMAO
$250 is hella expensive
@bright quartz ur so rich
@ashen shard that would be it
heroku is free
thanks, will return after i do it.
It has a downtime
520 hours for a month
lets say hosting fees are $5 (theyre free but for the sake of argument)
U don't know wtf
@quaint hound pay a VPS for 5 years how much did you spent?
ikr
what is the problem
$300 for 5 years
3 days for 250$ ?
3 Days
xD
so he payd 250$ for a lifetime this is way more than 5 years
rip 250$
No wth
how much is the extra 3 days anyway
hahha lmfao
๐ค
with ?
yeah but most people dont even keep their bot online for 3 years
I paid 250, he returned 50$ idk why
maybe he feel guilty
Now he has 200$
a one time investment wasnt smart
Bro whatever, he worked so hard
ive got a Minecraft Server with a Lifetime of uptime. payed 150$ on a Black Friday sale
if you want to get your money's worth, learn to do it yourself
pog
yes
Minecraft Server lol
Don't you have to have some type of code in for your invites to jump up by two
nah he just debug ur code and give u a hosting which is free for 250$
that is not good prise
so in other words, you got scammed
not scammed
i think NighMaster is crying in a corner ?
just made a bad buying decision
btw random question
huh ?
how many of you use one-file bots and how many use module exports
Nah that's definitely a scam. I doubt the other guy actually got the lifetime plan for 200$, probably put his bot on the free one and kept the coins
exports
how many of you use one-file bots and how many use module exports
@quaint hound wdym
command handler
is all or most of your bots code in one file
or no command handler
youll have a command handler either way
if there is command handler
handler 100%
ur index will be 5000lines +
after 10 commands you simply CANT not have it
if its a bot with simple shit, sure why not, but after a while it gets too cluttered
@quaint hound but slow
not any slower than modules
const { Client, Collection } = require("discord.js");
const bot = new Client();
require('dotenv').config();
const mongoose = require("mongoose");
["aliases", "commands"].forEach(x => bot[x] = new Collection());
["snipes"].forEach(x => bot[x] = new Map());
["command", "event"].forEach(x => require(`./handlers/${x}`)(bot));
mongoose.connect(process.env.mongourl, {
useNewUrlParser: true,
useUnifiedTopology: true
}).then(console.log("Mongo is ready.")).catch(e => console.log(e));
bot.login(process.env.token);
this is my index
use ES6+ syntax
performance won't matter, but it will be so much harder to modify
import/export
it's the same thing
It worked, thank you @torn ravine
require and import/export are the same thing
i mean i feel like both work just fine
my main index has
ones just more proper
i never had issues with too many lines cause you can just collapse in code editor
plus ctrl + f works with one file and not multiple
imagine u use command /eval process.env.token
yeah but thats an extra step
so, 150 on main, 140 on twitch, 400 on youtube
why is it an extra step
wdym ?
if i was making a framework i would 1000% use module exports
not for me lmao
for me it search only in one files
but idk why they put module exports in beginner tutorials because thats one of the most common beginner errors
when i use ctrl + f
always use es6
really isnt lmao
you already use module export, might aswell switch to export directly
lmao i always point that out
module exports arent basic tho
yes they are
its not complicated
its like week one of js
you should have a fairly decent grasp of JavaScript itself.
wtf
fairly decent grasp
exports default const example = "is this right es6 syntax?";
not working
they say "should"
export default {
module
}
anyone use jest module ?
but i just think it adds another level of unnecessary complexity to a tutorial meant to be for beginners
for testing their bot
the tutorial is meant for beginners of bots, not javascript
ah okay
ehhhh kinda
my point is why add a feature if its not necessary and doesnt clean up the code within the scope of the tutorial
im done
its not necessary to use switch cases too
you can nest 50 IF's
doesnt make it right tho
works? yeah. its it the worst thing you can do? also yes
afaik switch and if statements are considered equally good
both have advantages and disadvantages
there are right times to use switch cases and if statements
there are right times to use exports, and not use exports
if (args[0] === something) //do something;
if (args[0] === something) //do something;
if (args[0] === something) //do something;
if (args[0] === something) //do something;
//and 68 other commands```
ive seen this
quite a few times actually
ive seen few times too js switch(msg.content) { case "help": //do something // etc. }
switch cases are build for that are they not?
indeed
yeah whats the issue with that switch
thats the exact purpose for them
thats just matching content
how to console.log()
*
**
***
****
*****
Actually switch is faster, as it basically acts as a Map, while if statements get checked one by one
^
^^
you should use the proper stuff
ik switch is faster for some things and slower for others
its their purpose to do that
console.log("*")
.
.
.
console.log("*****")
its not cuz 'it works' that makes it ok to use
^^
i though faster for numbers and slower for strings, but i might have gotten mixed up
nah
you could do 30 message event listeners and enable more than 11 listeners on node too if you the type of person who is okay with anything

i'm not saying its right just cause it works
a once and an on
why
after 5 or 6 commands you definetly should move them into different folders
but there's usually a tradeoff between ease of use/readability, performance, and how "correct" it's considered
theres no reaosn not to
the bot can be ready more than once
my reason is "i didnt feel like it"
why u then have on too? i use once only.
lazyness 
it's not hurting anybody lmao
i need some things to run on every ready event
so are 33 message events
some only once
what no lmao
yeah, same for events
it works with multiple events
just ignore the memory leak warnings
ยฏ_(ใ)_/ยฏ
i dont see you sending anything
obv that causes memory issues
@earnest phoenix
send it
you just declaring it
now you worry about performance?
its okay to not split files to make stuff better both visually and performance speaking but not 10 listeners?

you really on the fence with that
its not better visually to me
having an index with 5k lines is?

my index.js is, and will stay at 30 lines hehe
my index file is 236 lines long
if you find it better then keep everything in one file, why is this discussion still going on? It's up to personal preference.
your probs spending more time searching for things than if you seperated everything
my indexes are 150 on main, 140 on twitch, 400 on youtube and 150 on beta branch
I decided to try to make a little coding language but only the last line of code is working.
For some reason, line 52 is messed up and I can't find the problem. Can anyone help me?
(ping me back)
Parser Code: https://github.com/real2two/custom-scripts/blob/master/index.js (line 51-53)
send Code: https://github.com/real2two/custom-scripts/blob/master/events/send%2520%2522%2520to%2520message%2520channel.js
Read Code: https://github.com/real2two/custom-scripts/blob/master/scripts/736608210932334593.txt
Output:
and collapsing shit helps
i really dont get you dawg
if you couldn't tell i'm 100% self taught
same
and one of the reasons people hate learning programming IME is because some things are just convention and are just considered correct
there's a lot of "that's not correct" just cause
yeah, if you work people will tell you to standartize your code
theres a reason those correct things are correct
ever been on stack exchange
You should push your changes more often ๐
sometimes there is
@cinder patio you are indeed correct
if i was actually working with people i would stick to the standard
im only pushing changes on the main branch wich is privated
'i rather walk with my hands, untill i need to go outside, then i walk with my legs'
you never know when projects will become worked on by a team
why not make a good habit?
but people like to pretend that there's only one way just because its the way most people do it
the moment you need to switch you'll struggle with it cuz you always been doing it the wrong way
if there's a good enough reason ofc i would

your saying things about this about things with actual reasons to do it properly tho.
i dont even like calling nested ifs wrong because it's not wrong
I mean, the most accepted way is probably also the best one, no? In general, if a ton of people are using it, then there's a reason why
30 message listeners also 'just work'
preference?
lazyness
nah
if it works, it's not wrong, and then that gets people into a weird mentality about "my way is right"
some things only have advantages in certain scenarios
true
we were told by who knows better than us as a fact and we followed it
not everyone who knows better than you is always right
same apply for teachers
my main issue is not even giving less efficient options the time of day
they have far more experience, unless you can prove otherwise, its wise to listen to it
stacking if statements is less efficent than switch cases
for example, option A is better most of the time, and everyone learns option A because its "right"
but A is better here
why use B when you know A is better?
its not that i take issue with
thats just being stuborn
list comprehensions are more efficient in Python but fuck nested ones, I'd rather do nested for loops
i mean when B is better people cant use it because its "wrong"
yes
I can only consider using one file if my bot is going to have only a few commands
stubbornness and laziness are killers
didnt you say your index is thousands of lines?
mine?
indeed
1800
i think from all of us here i was the one with most lines
150
you get the difference?
My main file is 18 lines
my youtube has 400 but that could be fixed rather easily by sending the dispatcher somewhere else
^ 440 is my index, and its because lazieness
but what about having 400 lines is inherently bad
mine is 400 cuz there isnt any lib on it, i had to write it all down
or even 50,000 if you can collapse it when you need to
in my case, doing things out of place.
if it was in its own file i could find it easier
there's nothing inherently wrong with that
i could just execute dispatcher with a callback function, sure, that'd cut my index to 280 ish
its so much easier to find things
this stuff comes with tradeoffs, and calling one thing "right" doesnt give the full story
easier is an opinion in a lot of cases
how many things do you collpase?
cuz the way we telling you is 2 clicks
if you rather click on 50 collapses , good luck
depends on mood
theres no mood
one is objectively faster here, even if i never told you a thing
i mean when i'm the one working on it i collapse however many I feel like
how many clicks does that take you?
idk how you could have issues finding things when you wrote the code
stubbornness and laziness are killers
agreed they can be
you're being both
your own
and who's preference, irrational as you may consider it, matters in that case
again if I was working with someone else and it affected them too i would care a whole lot more about what was considered correct
why do it wrong, when its only taking more work to do it wrong
going out of your way to be wrong makes no sense to me
in my experience it doesnt feel like more work

it feels like more work going through 18 exports to get where I need than just scrolling to where I know I put my code
you go to the one export
why would you go to the balance export, when you want the eval export
ok i meant file locations and such
its all going to be in one folder


