#development
1 messages · Page 1522 of 1
is there a bot dev badge as well? not the early one
thats means your filter is wrong
as of now, nope
sad
there is a verified bot tick
they stopped giving badges right?
but no badge
no its not js const filter1 = m => m.content.startsWith([`c`, `m`])
...
learn how to use https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith first
The startsWith() method
determines whether a string begins with the characters of a specified string,
returning true or false as appropriate.
basically, your filter isnt working
Guys why is this not working, not outputting a error, not working, just saying error banning “I’d”
Id*
that indentation really said body crazy curvy wavy big tiddies lil waist huh
What lol?
pop culture reference
Hello
How to make a file like detect if the message has an attachment and then use that attachement
You guys see the kind of folder picture emoji next to the folder? Is there an extension for that?
Probably
Do you know the name?
looks like Material icons
Guys when you are adding ban commands and other Commands do you add it to a different server
?
@limpid shadow what?
wrong server probably
Maybe he thinks command handler means putting files in another server
Lol
@earnest phoenix ok how are you getting dick - i mean dict - errors in javascript
that's a python thing
I got no idea
@earnest phoenix all my codes are js tf
same
can you send the error stack trace on hastebin
Like console?
Basically send the whole error
@earnest phoenix holy wtf the errors are gonna but commands still not working
lmao wat
Yes I’m confused the errors go away
Does the bot have permissions to ban the member
Ye
You should add a check for that
I think so
Alr
Hey guyz i just started making bots so dm for offer
The code looks right, right?

Btw does the code look right?
Yeah
Send me your repl link
Sure, wait I’ve been recently getting problem with my index.Js
Lemme dm
You
why dm
@earnest phoenix i mean the link which takes you to the repl page
Not the link to join multiplayer
Ohh
Lol
Like to view?
It shoulf probably be: repl.it/@username/replnamr
People cant edit code there but they can only view it
@earnest phoenix Its BAN_MEMBERS not BAN_MEMBER
Ohh
Sorry I’m blind LOL
@earnest phoenix error again..
Not fixing anything
what's the error
i cant see your console
It’s not outputting any errors
well then it probably succeeded in banning
No, I’m trying and always says
Error
Error while banning @earnest phoenix
smh
you have a console.log in your catch function
it should probably output the error
It’s not tho
huh
Yep weird situation
My goodness
Your entire code seems really bugged
Like there are no paranthesis around new Discord.Client
And the missing semicolons
Yea...
so umm
ive got a question myself
Eyyyy
Is it a good idea to use Object Destructing for props in React Components?
Personally idfk
Do u know how to make the bot detect an attachment
?
message.attachments in djs iirc
Say i have this:
function GreetUser (props) {
return (
<>
<p>Hello {props.username}! </p>
<ProfileButton username={props.username} userid={props.userid} />
<LogoutButton username={props.username} userid={props.userid}/>
</>
);
}
It doesn't seem right to put props. before every single property name
i have that command
and i want that if there is not a number in args 1, it will return
So would this be better:
function GreetUser ({ username, userid }) {
// ...
}
Or should I avoid destructuring
i did: ```js
if(args[1].includes(!Number)) return
||@quartz kindle ||
@tardy hornet includes takes a primitive or object
not the constructor
lmao
wut
that doesnt matter lol
thats because classes use first letter capitilized
hmm
then how do i do it
use a regex pattern to match args[0]
or just parse it to a number using a math library
you want to check if args[1] is a number?
or if args[1] contains a number anywhere in its content?
nah i pinged you for a react question
i did that it will return if args 1 isnt a number, but if they do like, 1e3, its working
and i dont want it to work
isNaN if it returns true its not a number
because 1e3 is a number, in scientific notation or whatever its called
is, so i tried to do that if it detect something that isnt a number in args 1 it will return
mathjs is a good one
oki
i need help
with an embed
so basically
when someone says
m!Premium
it sends them an embed
message.reply(embed);
done
i think they want it to send it in DM

msg.channel.send(`**Calling the Police:typing:**`).then(
(msg) => {msg.edit(`**Calling the Police:typing:**\n**You:** Come fast! There are criminals robbing me! Help Me!`, {timeout: 2000})})``` Why if i use this code right after it sends the message it edits it while i have a 2000ms timeout?
yes
then it says
"sent you the details in dms!"
there is no timeout for edit
@quartz kindle aw man how can i fix that?
so it actually waits before it edits it @quartz kindle
setTimeout
the do, message.author.send(embed)
already tried that but than it doesnt edit it
then you did it wrong
wat
?you are not even this long here or where inactive for over 1 1/2 years
11/2 years
More like I was muted

can u show how u do than?
with only 1k messages?
i literally learned it from that and thats exactly what i used
then you still did it wrong lol
how would you do it than?
hmm
what did you do?
can u help me
Really do I only have 1k?
Are you sure
I don’t think so
🤔


yes and the first message where at 09.12.2020
LOL
"How do i make my bot public?" where the message
@quartz kindle can you show how you would do it?
show how you did it first
;-;
okay
msg.channel.send(`Something`).then(setTimeout(function(){(msg) => {msg.edit(`Something`)}}, 2000)``` @quartz kindle
how than?
() => setTimeout
msg.channel.send('X').then((m) => {
setTimeout(() => {
m.edit('Y');
}, 2000);
})``` would work
or something
okay thanks
from index.js to handlers
what is the path?
Can't seem to figure it out
I keep have to make it like ```js
require(../src/handlers/${x})
./handlers, index.js is inside the src folder
Works!
Pog!
Commonde skyrock ?
??

What lol?
Alrighty
Some guy told me it’s BAN_MEMBERS and not BAN_MEMBER
@opaque fern nope not working
No errors..
Just use the ban command I guess
Anyone having issues rn?
Ye
With d.js
Ye me
but discord doesn't use snekfetch anymore
snekfetch is deprecated though
I think you didnt put the method that bans the person
so you add
in about line 13
are you using an older version
member.ban()
I meant discord.js
? @split cipher
yeah
What version of Discord.js are you using
Okie
They removed snekfetch from their dependencies a while ago
u gonna have to change snekfetch to something else
Nope nothing didn’t work
What are you using as a replacement
o
It probably comes from another package
did you change "BAN_MEMBER" to "BAN_MEMBERS"?
I still get a 404 not found...
weird
Ye
No it’s not that
WHY IS IT NOT WORKIGMDJJDNSUJSUJSS
Why? It was hard making it
ok put
const memberID = message.guild.members.cache.get(member.id)
and change member.ban() to memberID.ban()
yeah
How can I make a YouTube bot
For livestream
Like it will have custom commands and etc
I don't wanna use stramlabs chatbot
I wanna start from scratch
There is nothing on docs about it
Or any project on GitHub I can learn basics from
I’ve tried everything it won’t work
But this one was a bit complicated since so many problems
Why?
lemme try recreate
I’ve tried everything to try to make it work
module.exports = {
name: 'ban',
execute(message, args) {
const target = message.mentions.users.first()
const targetMember = message.guild.members.cache.get(target.id)
targetMember.ban()
}
}
thats all really

Lol thanks
But hm
I wanted a embed respond and that’s where the stuff started @split cipher

I will go hardcore
I WILL BE THE BEST
Lol
you put member.ban() below line 14
How do I make a bot for YouTube?
Like there is no freaking repo on GitHub which I can look at to learn
Like a bot which will have diff commands in it and will work on yt livestream
I tried
I came here to help
Hm, you said that I should change it to that
For*
oh yeah u havent changed that yet
I am making a YouTube bot for YouTube livestream
Like nightbot
Where to start
Like what is the functioning of yt API because it's docs are confusing at
Af*
member.ban not ,
How to check if message is bot message
add const memberID = message.guild.members.cache.get(member.id) below line 9 and change to memberID.ban() and add it to below line 14
yeah
Alrighty @delicate shore
shut up
I said I am not getting it
If you can't help then please shut up
yeah
So it’s only with Id now right?
yeah
yeah i think i know the answer
you didnt put those {} thing like
if (message.member.hasPermission('BAN_MEMBERS') ) {
}
yeah
your if statement is broken
hi i have a "issue" with mongodb, i try add 1 "caña" with method "inc" but it doesnt works, here is the code, someone meets the error?
db.collection('Users').updateOne({user: message.author.id, objetos: { objeto: "CañaBasica"} }, {$inc: {cantidad: 1}})
message.channel.send(new Discord.MessageEmbed()
.setColor('GREEN')
.setDescription(emoji.bien+' | Compraste exitosamente una :me_drod_flaming: **Caña Basica** '))
@split cipher haha I deleted my coding I guess I’ll have to start again
:0
Lol
I’ll work on this 😎
module.exports = {
name: 'ban',
execute(message, args) {
const target = message.mentions.users.first()
const targetMember = message.guild.members.cache.get(target.id)
targetMember.ban()
}
}
I mean it works
Ye
some error with this?
@split cipher hahahahahya thanks for that lol
np
@split cipher but uh it’s I’d only right! Yes
Id?
Id*
Ye
@split cipher btw the id is unidentified it says
This will work right?
did you type this:
ban @earnest phoenix
Mhm
who was the target?
apparently you cant ban youself
if you are the owner of the guikd
uh
Disappointment 240
idk why lol

smh
hasPermission is deprecated use permissions.has instead
oh, but haspermission still work at this time
yea its only deprecated on the latest D.js builds
if you run a older one it still works
i see
I AM GOING TO EXPLODE
first time?
nope
it depends on how the message handler works
^
this where for pepoo
oh
dm me if u found
use the YT api
did you get an error?
lol
if you sit already all day on it, maybe take a break, a tired programmer is a stupid programmer
then RTFD
what is RTFD
Read the fucking Docs
this has nothing to do with ytdl or ytsearch
Lol no
then take my other suggestion, take a break, and get your brain clear. its possible that you get an idea
Yes lol
i know how it feels
i kept getting stuck when i was a beginner
do i use that
mine
server.dispatcher = connection.play(ytdl(server.queue[0], {filter: "audioonly"}));
that new
ytdl(searchYouTubeAsync(args), { filter: 'audioonly' });
you could replace message.author.tag with message.author.username
target.user.tag is not a thing because target is already a user
ez
oh
CAN SOMEONE HELP ME
what do u mean
have you tried reading docs?
to copy an id right click and copy id
help me how to search in youtube to play a sound
in music bot
js
node 14v
Windows 10 x64 1909 Pro
Code App: Visual Studio Code (Now Using Notepad)
101 Lines Of Code
Using Index.js
OS Launguage : Greek
does it even matters what os you're using ? lol
ik xd
You never know
if you use a compiled language it can matter
@glad violet you can search in youtube by youtube api itself , saving the link you get from api top result , and then using ytdl to install your top result vid by it link and playing that with djs
Why would using a compiled language matter vs. an intercepted one.
there are many tutorials online
send code here
just search google for it api
bcs more efficency? stuff like C#, GO, Rust will run way faster than js or py
case 'play':
function play(connection, message){
var server = servers[message.guild.id];
server.dispatcher = connection.play(ytdl(server.queue[0], {filter: "audioonly"}));
server.queue.shift();
server.dispatcher.on("end", function(){
if(server.queue[0]){
play(connection, message);
}else {
connection.disconnect();
}
});
}
if(!args[1]){
message.channel.send("You Need To Provide A Link")
return;
}
if(!message.member.voice.channel){
message.channel.send("You Must Connect To A Voice Channel To Play")
return;
}
if(!servers[message.guild.id]) servers[message.guild.id] = {
queue: []
}
var server = servers[message.guild.id];
server.queue.push(args[1]);
if(!message.guild.voiceConnection) message.member.voice.channel.join().then(function(connection){
play(connection, message);
})
break;
play code
actually that's your problem , we're here to solve your issues , not to write code for you
Yes, but wasn't it in context of this?
does it even matters what os you're using ? lol
actually yes, ive learned some C# and wrote a bot with it, but the tutorial i followed made the bot in a way that it will not run on Linux bcs of some Nuget packages
but i want someone to help me i cant solve my problem
But that's not limited to a compiled language
It can be any language
node is mostly not affected by its platform, py mostly too, sure there is every an edge case, but it could also happen that someone try to run a Bot compiled for ARM on a x86 Server
oh in that case then yeah
sure you could use some hackery like docker or wine but why then not compile it directly for the target platform
also docker is limited to linux containers if not on a Windows machine
there is a chance that the member you try to get is not cached
also message.mentions.members.first() is a thing
error?
then you can skip the entire cache get thing
it removes some unnecessary code
also maybe run isBannable on the member first. just to make sure you can ban the member
otherwise it still should error
Well I have to use run in any single command...
but i think this way is more gracefull
To keep my bot online 24/7 I have to use run
where is the issue?
It’s just not working
well you show a command that is designed for a bot with Command handler
It’s not showing error
but try to run it in a single file bot
do a console log , to be sure that your cmd handler works well ,
like i said i would remove the members.cache.get line and use what i suggested
then you are not relying that the user is cached
replace your target line with it
since it does the same thing as this line and the one beneath
i suggested it him already
🙄
yea your right , network poor connection stuff 
the indentation is horrendous
anyone who can help me with github
Explain what you need help with about GitHub
client.api.applications(client.user.id).commands('idhere').delete()
doesnt work
yes i provide the id
error:
(node:41) UnhandledPromiseRejectionWarning: DiscordAPIError: Unknown application command
shouldn't it be .commands.delete("id");
maaarige?
bot
ARe you trying to say something? 😂
Delete as in the HTTP method
It's client.api()
Then at least write in turkish and use https://translate.google.com/ to give us half-decent english
Google's free service instantly translates words, phrases, and web pages between English and over 100 other languages.
you translet
yes as the http method, to add a command you do .commands.post(...) so I'm assuming it should be .commands.delete
Well you need to specify a command to delete
So /applications/{application.id}/commands/{command.id} = client.api.applications[id].commands[id].delete();
why its deleting my message
oo crap it was in the code
let response = await axios.get(`https://api.blox.link/v1/user/${id}`)
i console.log response.data
it prints the correct thing
i try to send response.data
it prints object

did you de serilized the data?
Well you can't just literally send an object to Discord.
discord api only accepts json iirc
o
When logging an object, node will display a certain level of data, but when you send it to discord it does .toString() which means it's going to be [object Object]
you can use JSON.stringify() to convert it to a readable string or just... format it correctly in a message 😉
But it will display it correctly though
I mean, as correctly as you can display an object in a discord message
Which usually is ugly as hell however you do it
anyone?
try restarting the shell
did you have a working github repo?
if you're on vscode you gotta restart the whole thing
umm no
I am just on terminal
and I restarted
did you reopen the terminal?
Not related to that website but others yes
yep
In Node.js, how can I convert code ' into a '?
what does $path do
try gitfolio build <username>
its an enviroment variable
-bash: gitfolio: command not found
restart your pc
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin```
I will brb in 30 min
Leave your suggestions
k
so i don't see any path for npm or yarn whatsoever
add your package manager's bin path
.setAuthor(interaction.member.user.username, interaction.member.user.displayAvatarURL());```
the first member.user.username works
the member.user.displayAvatarURL doesn't
i tried interaction.member and then interaction.user
neither work
guys I am kinda confused is glitch the one who doesn't want you to host bots on their platform or does discord block glitch ip's?
Glitch doesn't want users using bots on their free platform
oh okay thanks
Or more specifically, glitch doesnt want users to use uptime robot or force the program to be up on their free platform.
How?
Sorry if my ping disturbed you 
let channel = oldState.guild.channels.cache.get(await db.get(`newtext_${oldState.channelID}`));
channel.channel.delete()```
cannot read property 'channel' of undefined
what is oldState in this context?
invalid channel.channel
oh yeah that too 
no it doesn't
it does
they weren't saying it isn't wrong
they were saying it doesn't look wrong to them
because if i do channel.delete() it will say that cannot read property 'delete' of undefined
if u created a const or a var channel its alerady exist so rename it channel2 or something
that doesnt mean channel.channel is a thing lol
it gets a guild channel through the database
nvm the error says it's undefined
your channel is undefined, meaning, your database did not return any data for the query you asked for
if it doesn't return data it says null
which makes the channel undefined
because channel = ...cache.get(null)
put your database query in a separate line and log what it returns
so that means i search the wrong database?
its either returning null, or its returning an invalid channel
türk developer varsa dm
@tribal siren it says an error of channel.channel or oldstate.channel
ignore them
well still rn i don't have time to solve it so im just gonna think about it tomorrow thanks for advice
how would i make this work
.setAuthor(interaction.member.user.username, interaction.member.user.displayAvatarURL());
member.user.displayAvatarURL doesn't work
neither does user.dAURL
or member.dAURL (shortened for displayavatarurl)
Now?
Why do I always forget to disable ping
now you gotta do export PATH="$PATH:the/path/you/copied"
that will add the path you copied to the list
u must do export as webp or png
displayAvatarURL().replace('webp','png')
yea but
it says its not afunction
a function*
member.user or user.displayavatar
Thanks
can this help u https://github.com/discordjs/discord.js/issues/3197
this is a slash cmd
usually something like
message.author.displayAvatarURL() would work just fine
but this doesnt
work
interactions can't respond with embeds regardless
per command
can't you just pass a type: "png"
ah alright
thats not the issue tho
its not a function
for some reason
interaction.member.user.displayAvatarURL()
interaction.user.displayAvatarURL()
those are raw objects, not discord.js ones
oh wait
i need this file path
o
then wait
./models/prefix.js i think
@sterile lantern user.avatarURL is the function
over here
how did you define interaction?
use
message.member.user.displayAvatarURL();
nope
y e s
or
message.author.displayAvatarURL();
you will have to use something like this:
const guild = client.guilds.cache.get(interaction.guild_id); // to get the guild
const user = client.users.cache.get(interaction.member.user.id); // to get the user
and account for missing cache
client.ws.on('INTERACTION_CREATE', async interaction => {```
thats how tis defined
its*
yea
@sterile lantern
https://stackoverflow.com/questions/60687120/message-member-displayavatarurl-is-not-a-function
if this help u
oh
its different bc i dont think d.js has support for it yet
it's just
<user>.avatarURL( {type : "png" } );
that doesnt work
#development message this will. just get the user & guild objects or fetch them
do u want this file path
./models/prefix.js ??
discord.js does not have any code for the INTERACTION_CREATE yet
yes
which means you're receiving raw data from discord itself
nope
open bot folder
yea
how
really bruh
what operating system do u have bruh
nothing shows
win
?
(node:1699) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'displayAvatarURL' of undefined
where is . located ?
^^
I mean the file you're accessing the file with
?
. = SOURCE directory
The user isn't cached then
why is it on the other side?
show the code samm
and find prefix.js
ok
yes that is
umm make it png
now?
user isn't cached
cach it first
now?
.catch()
const guild = client.guilds.cache.get(interaction.guild_id); // to get the guild
const user = client.users.cache.get(interaction.member.user.id); // to get the user
const embed = new Discord.MessageEmbed()
.setTitle("Bloxlink API - Interaction")
.setColor("#83ff8f")
.setFooter("Hanalei Bay", client.users.cache.get("botidishere").displayAvatarURL())
.setThumbnail(client.users.cache.get("botidishere").displayAvatarURL())
.setDescription(`Sent a request to https://api.blox.link/v1/user/${id}\n` + "```json\n" + JSON.stringify(response.data) + "```")
.setAuthor(interaction.member.user.username, user.displayAvatarURL());```
oh uh
ignore the formatting
me?
what do u want to do with this file
no
need path
user is not cached
wait
you need to fetch
@sterile lantern
const guild = client.guilds.cache.get(interaction.guild_id); // to get the guild
const user = client.users.cache.get(interaction.member.user.id); // to get the user
const embed = new Discord.MessageEmbed()
.setTitle("Bloxlink API - Interaction")
.setColor("#83ff8f")
.setFooter("Hanalei Bay", client.users.cache.get("botidishere").displayAvatarURL())
.setThumbnail(client.users.cache.get("botidishere").displayAvatarURL())
.setDescription(`Sent a request to https://api.blox.link/v1/user/${id}\n` + "
json\n" + JSON.stringify(response.data) + "")
.setAuthor(interaction.member.user.username, user.displayAvatarURL());
to add here
client.users.cache.get("botidishere").displayAvatarURL()
now?
"botidishere" is not an id...
i want it to be all the way left
same error
i know its not an id
i put that there on purpose
theres an actual id there
float : left ;
keep in mind that fetching is a promise and requires awaiting
oh
now?
click here to get the path
then
copy it
it's not cached or it's not an actual id, then
So im an idiot and have a very very basic math question
"Image size can be any power of two between 16 and 4096"
How is 320 a power of 2
C:\Users\Sakith\Documents\Flame Bot\flamebot\models
And is there a valid value between 256 and 320?
it isnt
and no
thats the path
ok now?
🤔 does it work with all avatars
this is the file path
yes
if it cant read use "
It works with banner images
see
its weird
i wonder what other sizes are valid.
Hmm possible
@glad violet
240 isnt valid
thaths the path
uh
its ready
@glad violet you did your best
BTW I'm gonna die laughing if this continues
k
xd i know
that wont work lol, backslashes are escaping
if your folder structure is too complicated just use process.cwd()
||fuc|| windows
why
where?
windows supports both tho
its great
if you want to reference a file inside your project you can reference them incremental with ./folder/file
only windows use backslash
nobody else and it's fugin annoying
but hes referencing it from inside another folder
also easy
compulsory?
yes but he seems to be confused about it
I told him that already
He said it doesn't work
.. gets you to your root directory
because ./ means current folder
from there you can reference normally
i know
actually / is root
.. is back
yea sry my bad
process.cwd() is process root
me?
you can't use css with markdown
wait wtf
I thought it was on top.gg
it doesnt support \ for some reason
it is
now what
markdown is built to be an easier alternative to html & css, you can't mix those
then use custom CSS
where are your files located? show the full file path for both files
in CSS put the float value
i dont know
do .\flamebot\modules\prefix.js
😦
try this
the other file too
try now
%UserProfile%\Documents\Flame Bot\flamebot\modules\prefix.js
no
@lethal trout where is setprefix.js ???
just prefix
where is the file ?
custom prefix for a server
yeah the displayavaturl isnt working since user isnt cached
avatar*
if i specify a user id itll work
otherwise the other methods dont work
where the ||fuc|| is that ||fucin|| file
so i think i gotta wait for d.js support
its C:\Users\Sakith\Documents\Flame Bot\flamebot\models\prefix.js
./../models/prefix.js
use .. to go back
easy solution move your bot folder to C:\Users\botfolderhere
lmfao
or just
move your prefix.js
that's not easy
./../models/prefix.js will do fine
just move it on C:
./ = bot/commands/utility
../ = bot/commands
../../ = bot
../../models = bot/models
../../models/prefix.js = bot/models/prefix.js
no need to move
its more easiest
./../models/prefix.js
why don't you just use forward slashes again
windows supoorts forward and back slash
i have my bot on
D:\Discord\Bots\Music Bot
when you're going to be moving to UNIX for hosting you'll only get forward slash support
@quartz kindle explained the max someone can explain if he can't even understand that he can't understand anything
you did ./../ tho, not ../../
??
??
??
correct?
that first slash is redundant
I use forward slashes on my windows machine and it works fine
Too lazy to use path.join()
oh fuc he has 2 folders
one more ../
Just add an extra period
he had the bot on
Flame Bot\flamebot
why u dont have it on Flame Bot
stop using backwards slashes lmao
they are escapes in js strings
not literal backward slashes
wait / is forward
\is backwards
/ is forward
yea
and I use them (/)
because windows is stupid, but windows supports both
\ is for windows bcs its retarted and / is linux
if you type C:/ it works too
if you want to use backward slashes in js, you need to use two, because they escape each other
"C:\\bla\\bla\\bla"
if you would use the absolute path you will have to edit it again if you deploy to a server
Windows can even run Bash give up backslash.
THAT'S THE POINT
yea but the normal is \
Pls rich
if u type C:/ it will be C:\
wait @lethal trout is not replying. maybe his problem got fixed
normal is / \ is only windows. Most server Enviroments run on Linux
because windows is stupid
nope went afk
Tell something we don't know
but the more programs are for windows
was it fixed ?
and the games
and guess what, they all use / in their code
no program uses \ in the code
went afk lemme try
Actually windows only exists because Mac costs much and Linux don't have one click install
linux does have one click install tho?
Linux got one click install on some distros
ubuntu have bro
manjaro 
u will have a shortcut in desktop named "Install Mint"
it worked thx everyone
I'm convinced one day linux will take over the windows pc market.

Hopefully
linux doesnt have good support for gpu drivers tho
what path worked
it won't
i would switch to Linux if EA would not stop me than from Playing Titanfall 2
yes
prefix.findOne is not a function next issuse
oof
Actually you're also wrong on release dates. The first Windows release was in 1985, and Linus Torvalds started working on Linux in 1991.
windows is making big moves with windows 10X and bringing the same redesign to normal windows 10
10x?
Stop trying to dotpost you stock muppet
wut ?
it will finally be the modern day OS we got promised
