Did stuff
This commit is contained in:
parent
8b7eb29866
commit
db57128ebf
16 changed files with 726 additions and 78 deletions
BIN
assets/audio/WOOMY.mp3
Normal file
BIN
assets/audio/WOOMY.mp3
Normal file
Binary file not shown.
BIN
assets/img/attackhelicopter.jpg
Normal file
BIN
assets/img/attackhelicopter.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 99 KiB |
BIN
assets/img/fax.png
Normal file
BIN
assets/img/fax.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
21
assets/json/coolpeople.json
Normal file
21
assets/json/coolpeople.json
Normal file
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"coolPeople": [
|
||||
"448354605617643520",
|
||||
"433790467830972417",
|
||||
"231777839576252417",
|
||||
"285992938314661899",
|
||||
"231704701433937931",
|
||||
"324937993972350976",
|
||||
"336492042299637771",
|
||||
"273867501006225419",
|
||||
"331870539897372672",
|
||||
"304000458144481280",
|
||||
"239787232666451980",
|
||||
"264970229514371072",
|
||||
"254310746450690048",
|
||||
"358390849807319040",
|
||||
"211011138656272386",
|
||||
"266472557740425216",
|
||||
"102943767346057216"
|
||||
]
|
||||
}
|
110
assets/json/identities.json
Normal file
110
assets/json/identities.json
Normal file
|
@ -0,0 +1,110 @@
|
|||
{
|
||||
"agender": {
|
||||
"name": "agender",
|
||||
"description": "A gender identity used by someone who has no gender, or sometimes by someone whose gender is neutral."
|
||||
},
|
||||
"androgyne": {
|
||||
"name": "androgyne",
|
||||
"description": "A gender identity associated with androgyny. Androgynes have a gender which is simultaneously feminine and masculine, although not necessarily in equal amounts."
|
||||
},
|
||||
"androgynous": {
|
||||
"name": "androgynous",
|
||||
"description": "A term used to refer to people who have both feminine and masculine characteristics."
|
||||
},
|
||||
"aporagender": {
|
||||
"name": "aporagender",
|
||||
"description": "A gender that is not male, female, or anything in between that still has a distinct gendered feeling."
|
||||
},
|
||||
"bigender": {
|
||||
"name": "bigender",
|
||||
"description": "Having two gender identities, either simultaneously or varying between the two."
|
||||
},
|
||||
"cisgender": {
|
||||
"name": "cisgender",
|
||||
"description": "Someone who identifies with their assigned gender at birth."
|
||||
},
|
||||
"demiboy": {
|
||||
"name": "demiboy",
|
||||
"description": "Someone who identifies as partially male and partially another gender."
|
||||
},
|
||||
"demiflux": {
|
||||
"name": "demiflux",
|
||||
"description": "A gender where one part of someone’s gender is static, and the other part fluctuates in intensity."
|
||||
},
|
||||
"demigender": {
|
||||
"name": "demigender",
|
||||
"description": "Someone who identifies as partially one gender, and partially another."
|
||||
},
|
||||
"demigirl": {
|
||||
"name": "demigirl",
|
||||
"description": "Someone who identifies as partially female and partially another gender."
|
||||
},
|
||||
"dyadic": {
|
||||
"name": "dyadic",
|
||||
"description": "A word used to refer to people who are not intersex"
|
||||
},
|
||||
"enby": {
|
||||
"name": "enby",
|
||||
"description": "Shortened term for “nonbinary”. Used as a noun, like “boy” or “girl” but for nonbinary people."
|
||||
},
|
||||
"fluidflux": {
|
||||
"name": "fluidflux",
|
||||
"description": "A gender identity which refers to someone with a gender that moves between two or more genders and also fluctuates in intensity."
|
||||
},
|
||||
"genderfluid": {
|
||||
"name": "genderfluid",
|
||||
"description": "Someone whose gender varies over time. This might be fluctuating between different genders, or expressing multiple aspects of various genders at the same time."
|
||||
},
|
||||
"genderflux": {
|
||||
"name": "genderflux",
|
||||
"description": "Someone whose gender fluctuates, usually between agender and something else."
|
||||
},
|
||||
"genderqueer": {
|
||||
"name": "genderqueer",
|
||||
"description": "An umbrella term for all the nonbinary genders. Genderqueer can be a standalone identity, or can refer to a more specific gender identity."
|
||||
},
|
||||
"gendervoid": {
|
||||
"name": "gendervoid",
|
||||
"description": "Someone who does not experience gender, or who feels an absence or void in the place of gender."
|
||||
},
|
||||
"intersex": {
|
||||
"name": "intersex",
|
||||
"description": "An intersex person is someone with sex characteristics (sexual anatomy, reproductive organs, chromosomal patterns, etc.) that do not align with the typical descriptions of male and female."
|
||||
},
|
||||
"libragender": {
|
||||
"name": "libragender",
|
||||
"description": "A gender identity that is mostly agender, but has a connection to masculinity and/or femininity and/or other gendered feelings. That connection may be static (libragender, librafeminine, libramasculine, etc) or fluid, where one feels that the gender one experiences changes (librafluid)."
|
||||
},
|
||||
"neutrois": {
|
||||
"name": "neutrois",
|
||||
"description": "Having a null or neutral gender."
|
||||
},
|
||||
"nonbinary": {
|
||||
"name": "nonbinary",
|
||||
"description": "An umbrella term for all the gender identities that aren't male or female (the binary genders)"
|
||||
},
|
||||
"non-gendered": {
|
||||
"name": "non-gendered",
|
||||
"description": "Having no gender."
|
||||
},
|
||||
"polygender": {
|
||||
"name": "polygender",
|
||||
"description": "Having more than one gender, either at the same time or at different times. A polygender person may identify with any combination of binary and nonbinary genders."
|
||||
},
|
||||
"pangender": {
|
||||
"name": "pangender",
|
||||
"description": "Having more than one gender, especially someone who identifies as all genders."
|
||||
},
|
||||
"transfeminine": {
|
||||
"name": "transfeminine",
|
||||
"description": "A transgender person who identifies with femininity, either as a binary female or a fem-leaning nonbinary identity."
|
||||
},
|
||||
"transgender": {
|
||||
"name": "transgender",
|
||||
"description": "Someone whose identity differs from their assigned gender at birth."
|
||||
},
|
||||
"transmasculine": {
|
||||
"name": "transmasculine",
|
||||
"description": "A transgender person who identifies with masculinity, either as a binary male or a masc-leaning nonbinary identity."
|
||||
}
|
||||
}
|
122
assets/json/lyrics.json
Normal file
122
assets/json/lyrics.json
Normal file
|
@ -0,0 +1,122 @@
|
|||
{
|
||||
"bohemian_rhapsody": [
|
||||
"Is this the real life?",
|
||||
"Is this just fantasy?",
|
||||
"Caught in a landslide, no escape from reality",
|
||||
"Open your eyes, look up to the skies and see",
|
||||
"I'm just a poor boy, I need no sympathy",
|
||||
"Because I'm easy come, easy go, little high, little low",
|
||||
"Any way the wind blows doesn't really matter to me, to me",
|
||||
"Mama, just killed a man",
|
||||
"Put a gun against his head, pulled my trigger, now he's dead",
|
||||
"Mama, life had just begun",
|
||||
"But now I've gone and thrown it all away",
|
||||
"Mama, ooh, didn't mean to make you cry",
|
||||
"If I'm not back again this time tomorrow",
|
||||
"Carry on, carry on as if nothing really matters",
|
||||
"Too late, my time has come",
|
||||
"sends shivers down my spine, body's aching all the time",
|
||||
"Goodbye, everybody, I've got to go",
|
||||
"Gotta leave you all behind and face the truth",
|
||||
"Mama, ooh, (Anyway the wind blows)",
|
||||
"I don't wanna die",
|
||||
"I sometimes wish I'd never been born at all",
|
||||
"i see a little silhouetto of a man",
|
||||
"Scaramouche! Scaramouche! will you do the Fandango?",
|
||||
"Thunderbolt and lightning, very, very fright'ning me",
|
||||
"(Galileo) Galileo, (Galileo) Galileo, Galileo Figaro magnifico",
|
||||
"I'm just a poor boy, nobody loves me",
|
||||
"He's just a poor boy from a poor family",
|
||||
"spare him his life from this monstrosity",
|
||||
"Easy come, easy go, will you not let me go?",
|
||||
"Bismillah! No, we will not let you go",
|
||||
"(Let him go!) Bismillah! We will not let you go",
|
||||
"(Let him go!) Bismillah! We will not let you go",
|
||||
"(Let me go) Will not let you go",
|
||||
"(Let me go) Will not let you go",
|
||||
"(Let me go) Ah",
|
||||
"no, no, no, no, no, no, no",
|
||||
"(Oh mamma mia, mamma mia) Mamma mia, let me go",
|
||||
"Beelzebub has the devil put aside for me, for me, for me!",
|
||||
"So you think you can stone me and spit in my eye?",
|
||||
"so you think you can love me and leave me to die?",
|
||||
"Oh baby, can't do this to me, baby!",
|
||||
"Just gotta get out, just gotta get right outta here!",
|
||||
"Nothing really matters, anyone can see",
|
||||
"nothing really matters",
|
||||
"Nothing really matters, to me",
|
||||
"any way the wind blows"
|
||||
],
|
||||
|
||||
"creeper": [
|
||||
"Aw man",
|
||||
"So we back in the mine",
|
||||
"Got our pickaxe swinging from side to side",
|
||||
"Side side to side",
|
||||
"This task a grueling one",
|
||||
"Hope to find some diamonds tonight night night",
|
||||
"Diamonds tonight",
|
||||
"Heads up",
|
||||
"You hear a sound turn around and look up",
|
||||
"Total shock fills your body",
|
||||
"Oh no it's you again",
|
||||
"I can never forget those eyes eyes eyes",
|
||||
"Eyes-eye-eyes",
|
||||
"Cause baby tonight",
|
||||
"The creeper's tryna steal all our stuff again",
|
||||
"Cause baby tonight",
|
||||
"You grab your pick, shovel and bolt again",
|
||||
"And run run until it's done done",
|
||||
"Until the sun comes up in the morn",
|
||||
"Cause baby tonight",
|
||||
"The creeper's tryna steal all our stuff again",
|
||||
"Just when you think you're safe",
|
||||
"Overhear some hissing from right behind",
|
||||
"Right right behind",
|
||||
"That's a nice life you have",
|
||||
"Shame it's gotta end at this time time time",
|
||||
"Time-time-time-time",
|
||||
"Blows up",
|
||||
"Then your health bar drops and you could use a one up",
|
||||
"Get inside, don't be tardy",
|
||||
"So now you're stuck in there",
|
||||
"Half a heart is left, but don't die die die",
|
||||
"Die-die-die",
|
||||
"Cause baby tonight",
|
||||
"The creeper's tryna steal all our stuff again",
|
||||
"Cause baby tonight",
|
||||
"You grab your pick shovel and bolt again",
|
||||
"And run run until it's done done",
|
||||
"Until the sun comes up in the morn",
|
||||
"Cause baby tonight?",
|
||||
"The creeper's tryna steal all our stuff again",
|
||||
"Dig up diamonds and craft those diamonds",
|
||||
"And make some armor, get it baby",
|
||||
"Go and forge that like you so MLG pro",
|
||||
"The sword's made of diamonds, so come at me bro, huh",
|
||||
"Training in your room under the torchlight",
|
||||
"Hone that form to get you ready for the big fight",
|
||||
"Every single day and the whole night",
|
||||
"Creeper's out prowlin', hoo, alright",
|
||||
"Look at me, look at you",
|
||||
"Take my revenge, that's what I'm gonna do",
|
||||
"I'm a warrior baby, what else is new",
|
||||
"And my blade's gonna tear through you, bring it",
|
||||
"Cause baby tonight",
|
||||
"The creeper's tryna steal all our stuff again",
|
||||
"(Gather your stuff, yeah, let's take back the world)",
|
||||
"Yeah baby tonight",
|
||||
"Grab your sword armor and go",
|
||||
"Take your revenge",
|
||||
"So fight fight like it's the last last night",
|
||||
"Of your life life show them your bite",
|
||||
"Cause baby tonight",
|
||||
"The creeper's tryna steal all our stuff again",
|
||||
"Cause baby tonight",
|
||||
"You grab your pick shovel and bolt again",
|
||||
"And run run until it's done done",
|
||||
"Until the sun comes up in the morn",
|
||||
"Cause baby tonight",
|
||||
"The creeper's tryna steal all our stuff again"
|
||||
]
|
||||
}
|
154
assets/json/pronouns.json
Normal file
154
assets/json/pronouns.json
Normal file
|
@ -0,0 +1,154 @@
|
|||
{
|
||||
"ae/aer": {
|
||||
"name": "ae/aer",
|
||||
"examples": "• **Ae** went to the park.\n• I went with **aer**.\n• **Ae** brought **aer** frisbee.\n• At least I think it was **aers.**\n• **Ae** threw a frisbee to **aerself**."
|
||||
},
|
||||
"e/em": {
|
||||
"name": "e/em",
|
||||
"examples": "• **E** went to the park.\n• I went with **em**.\n• **E** brought **eir** frisbee.\n• At least I think it was **eirs**.\n• **E** threw a frisbee to **emself**."
|
||||
},
|
||||
"ey/em": {
|
||||
"name": "ey/em",
|
||||
"examples": "• **Ey** went to the park.\n• I went with **em**.\n• **Ey** brought **eir** frisbee.\n• At least I think it was **eirs**.\n• **Ey** threw a frisbee to **eirself**."
|
||||
},
|
||||
"fae/faer": {
|
||||
"name": "fae/faer",
|
||||
"examples": "• **Fae** went to the park.\n• I went with **faer**.\n• **Fae** brought **faer** frisbee.\n• At least I think it was **faers**.\n• **Fae** threw a frisbee to **faerself**."
|
||||
},
|
||||
"fey/fem": {
|
||||
"name": "fey/fem",
|
||||
"examples": "• **Fey** went to the park.\n• I went with **fem**.\n• **Fey** brought **feir** frisbee.\n• At least I think it was **feirs**.\n• **Fey** threw a frisbee to **feirself**."
|
||||
},
|
||||
"he/him": {
|
||||
"name": "he/him",
|
||||
"examples": "• **He** went to the park.\n• I went with **him**.\n• **He** brought **his** frisbee.\n• At least I think it was **his**.\n• **He** threw a frisbee to **himself**."
|
||||
},
|
||||
"hu/hum": {
|
||||
"name": "hu/hum",
|
||||
"examples": "• **Hu** went to the park.\n• I went with **hum**.\n• **Hu** brought **hus** frisbee.\n• At least I think it was **hus**.\n• **Hu** threw a frisbee to **humself**."
|
||||
},
|
||||
"it/its": {
|
||||
"name": "it/its",
|
||||
"examples": "• **It** went to the park.\n• I went with **it**.\n• **It** brought **its** frisbee.\n• At least I think it was **its**.\n• **It** threw a frisbee to **itself**."
|
||||
},
|
||||
"jee/jem": {
|
||||
"name": "je/jem",
|
||||
"examples": "• **Jee** went to the park.\n• I went with **jem**.\n• **Jee** brought **jeir** frisbee.\n• At least I think it was **jeirs**.\n• **Jee** threw a frisbee to **jemself**."
|
||||
},
|
||||
"kit/kits": {
|
||||
"name": "kit/kits",
|
||||
"examples": "• **Kit** went to the park.\n• I went with **kit**.\n• **Kit** brought **kits** frisbee.\n• At least I think it was **kits**.\n• **Kit** threw a frisbee to **kitself**."
|
||||
},
|
||||
"ne/nem": {
|
||||
"name": "ne/nem",
|
||||
"examples": "• **Ne** went to the park.\n• I went with **nem**.\n• **Ne** brought **nir** frisbee.\n• At least I think it was **nirs**.\n• **Ne** threw a frisbee to **nemself**."
|
||||
},
|
||||
"peh/pehm": {
|
||||
"name": "pe/pehm",
|
||||
"examples": "• **Peh** went to the park.\n• I went with **pehm**.\n• **Peh** brought **peh's** frisbee.\n• At least I think it was **peh's**.\n• **Peh** threw a frisbee to **pehself**."
|
||||
},
|
||||
"per": {
|
||||
"name": "per/per",
|
||||
"examples": "• **Per** went to the park.\n• I went with **per**.\n• **Per** brought **per** frisbee.\n• At least I think it was **pers**.\n• **Per** threw a frisbee to **perself**."
|
||||
},
|
||||
"sie/hir": {
|
||||
"name": "sie/hir",
|
||||
"examples": "• **Sie** went to the park.\n• I went with **hir**.\n• **Sie** brought **hir** frisbee.\n• At least I think it was **hirs**.\n• **Sie* threw a frisbee to **hirself**."
|
||||
},
|
||||
"se/sim": {
|
||||
"name": "se/sim",
|
||||
"examples": "• **Se** went to the park.\n• I went with **sim**.\n• **Se** brought **ser** frisbee.\n• At least I think it was **sers**.\n• **Se** threw a frisbee to **serself**."
|
||||
},
|
||||
"shi/hir": {
|
||||
"name": "shi/her",
|
||||
"examples": "• **Shi** went to the park.\n• I went with **hir**.\n• **Shi** brought **shir** frisbee.\n• At least I think it was **hirs**.\n• **Shi** threw a frisbee to **hirself**."
|
||||
},
|
||||
"si/hyr": {
|
||||
"name": "si/hyr",
|
||||
"examples": "• **Si** went to the park.\n• I went with **hyr**.\n• **Si** brought **hyr** frisbee.\n• At least I think it was **hyrs**.\n• **Si** threw a frisbee to **hyrself**."
|
||||
},
|
||||
"they/them": {
|
||||
"name": "they/them",
|
||||
"examples": "• **They** went to the park.\n• I went with **them**.\n• **They** brought **their** frisbee.\n• At least I think it was **theirs**.\n• **They** threw a frisbee to **themself**."
|
||||
},
|
||||
"thon": {
|
||||
"name": "thon/thon",
|
||||
"examples": "• **Thon** went to the park.\n• I went with **thon**.\n• **Thon** brought **thons** frisbee.\n• At least I think it was **thons**.\n• **Thon** threw a frisbee to **thonself**."
|
||||
},
|
||||
"she/her": {
|
||||
"name": "she/her",
|
||||
"examples": "• **She** went to the park.\n• I went with **her**.\n• **She** brought **her** frisbee.\n• At least I think it was **hers**.\n• **She** threw a frisbee to **herself**."
|
||||
},
|
||||
"ve/ver": {
|
||||
"name": "ve/ver",
|
||||
"examples": "• **Ve** went to the park.\n• I went with **ver**.\n• **Ve** brought **vis** frisbee.\n• At least I think it was **vis**.\n• **Ve** threw a frisbee to **verself**."
|
||||
},
|
||||
"ve/vem": {
|
||||
"name": "ve/vem",
|
||||
"examples": "• **Ve** went to the park.\n• I went with **vem**.\n• **Ve** brought **vir** frisbee.\n• At least I think it was **virs**.\n• **Ve** threw a frisbee to **vemself**."
|
||||
},
|
||||
"vi/ver": {
|
||||
"name": "vi/ver",
|
||||
"examples": "• **Vi** went to the park.\n• I went with **ver**.\n• **Vi** brought **ver** frisbee.\n• At least I think it was **vers**.\n• **Vi** threw a frisbee to **verself**."
|
||||
},
|
||||
"vi/vim/vir": {
|
||||
"name": "vi/vim/vir",
|
||||
"examples": "• **Vi** went to the park.\n• I went with **vim**.\n• **Vi** brought **vir** frisbee.\n• At least I think it was **virs**.\n• **Vi** threw a frisbee to **vimself**."
|
||||
},
|
||||
"vi/vim/vim": {
|
||||
"name": "vi/vim/vim",
|
||||
"examples": "• **Vi** went to the park.\n• I went with **vim**.\n• **Vi** brought **vim** frisbee.\n• At least I think it was **vims**.\n• **Vi** threw a frisbee to **vimself**."
|
||||
},
|
||||
"xie/xer": {
|
||||
"name": "xie/xer",
|
||||
"examples": "• **Xie** went to the park.\n• I went with **xer**.\n• **Xie** brought **xer** frisbee.\n• At least I think it was **xers**.\n• **Xie** threw a frisbee to **xerself**."
|
||||
},
|
||||
"xe/xem": {
|
||||
"name": "xe/xem",
|
||||
"examples": "• **Xe** went to the park.\n• I went with **xem**.\n• **Xe** brought **xyr** frisbee.\n• At least I think it was **xyrs**.\n• **Xe** threw a frisbee to **xemself**."
|
||||
},
|
||||
"xey/xem": {
|
||||
"name": "xey/xem",
|
||||
"examples": "• **Xey** went to the park.\n• I went with **xem**.\n• **Xey** brought **xeir** frisbee.\n• At least I think it was **xeirs**.\n• **Xey** threw a frisbee to **xemself**."
|
||||
},
|
||||
"yo": {
|
||||
"name": "yo",
|
||||
"examples": "• **Yo** went to the park.\n• I went with **yo**.\n• **Yo** brought **yos** frisbee.\n• At least I think it was **yos**.\n• **Yo** threw a frisbee to **yosself**."
|
||||
},
|
||||
"ze/hir": {
|
||||
"name": "ze/hir",
|
||||
"examples": "• **Ze** went to the park.\n• I went with **hir**.\n• **Ze** brought **hir** frisbee.\n• At least I think it was **hirs**.\n• **Ze** threw a frisbee to **hirself**."
|
||||
},
|
||||
"ze/zem": {
|
||||
"name": "ze/zem",
|
||||
"examples": "• **Ze** went to the park.\n• I went with **zem**.\n• **Ze** brought **zes** frisbee.\n• At least I think it was **zes**.\n• **Ze** threw a frisbee to **zirself**."
|
||||
},
|
||||
"ze/mer": {
|
||||
"name": "ze/mer",
|
||||
"examples": "• **Ze** went to the park.\n• I went with **mer**.\n• **Ze** brought **zer** frisbee.\n• At least I think it was **zers**.\n• **Ze** threw a frisbee to **zemself**."
|
||||
},
|
||||
"zee/zed": {
|
||||
"name": "zee/zed",
|
||||
"examples": "• **Zee** went to the park.\n• I went with **zed**.\n• **Zee** brought **zeta** frisbee.\n• At least I think it was **zetas**.\n• **Zee** threw a frisbee to **zedself**."
|
||||
},
|
||||
"ze/zir": {
|
||||
"name": "ze/zir",
|
||||
"examples": "• **Ze** went to the park.\n• I went with **zir**.\n• **Ze** brought **zir** frisbee.\n• At least I think it was **zirs**.\n• **Ze** threw a frisbee to **zirself**."
|
||||
},
|
||||
"zie/zir": {
|
||||
"name": "zie/zir",
|
||||
"examples": "• **Zie** went to the park.\n• I went with **zir**.\n• **Zie** brought **zir** frisbee.\n• At least I think it was **zirs**.\n• **Zie** threw a frisbee to **zirself**."
|
||||
},
|
||||
"zie/zem": {
|
||||
"name": "zie/zem",
|
||||
"examples": "• **Zie** went to the park.\n• I went with **zem**.\n• **Zie** brought **zes** frisbee.\n• At least I think it was **zes**.\n• **Zie** threw a frisbee to **zirself**."
|
||||
},
|
||||
"zie/hir": {
|
||||
"name": "zie/hir",
|
||||
"examples": "• **Zie** went to the park.\n• I went with **hir**.\n• **Zie** brought **hir** frisbee.\n• At least I think it was **hirs**.\n• **Zie** threw a frisbee to **hirself**."
|
||||
},
|
||||
"zme/zmyr": {
|
||||
"name": "zme/zmyr",
|
||||
"examples": "• **Zme** went to the park.\n• I went with **zmyr**.\n• **Zme** brought **zmyr** frisbee.\n• At least I think it was **zmyrs**.\n• **Zme** threw a frisbee to **zmyrself**."
|
||||
}
|
||||
}
|
102
assets/json/sexualities.json
Normal file
102
assets/json/sexualities.json
Normal file
|
@ -0,0 +1,102 @@
|
|||
{
|
||||
"aesthetic attraction": {
|
||||
"name": "aesthetic attraction",
|
||||
"description": "Getting pleasure from the appearance of a specific individual like you would from watching beautiful scenery."
|
||||
},
|
||||
"platonic attraction": {
|
||||
"name": "platonic attraction",
|
||||
"description": "A desire to have a platonic relationship or friendship with a specific individual."
|
||||
},
|
||||
"romantic attraction": {
|
||||
"name": "romantic attraction",
|
||||
"description": "A desire to have a romantic relationship with a specific individual."
|
||||
},
|
||||
"sensual attraction": {
|
||||
"name": "sensual attraction",
|
||||
"description": "A desire for physical intimacy with a specific individual. Cuddling, hand holding, etc."
|
||||
},
|
||||
"sexual attraction": {
|
||||
"name": "sexual attraction",
|
||||
"description": "A desire for sexual contact with a specific individual."
|
||||
},
|
||||
"abrosexual": {
|
||||
"name": "abrosexual",
|
||||
"description": "Someone whose sexuality changes frequently. They experience different sexualities over time."
|
||||
},
|
||||
"androgynosexual": {
|
||||
"name": "androgynosexual",
|
||||
"description": "Someone who is attracted to both men and women, particularly those who are androgynous in appearance."
|
||||
},
|
||||
"androsexual": {
|
||||
"name": "androsexual",
|
||||
"description": "Someone who is attracted to men and/or masculine people."
|
||||
},
|
||||
"aromantic": {
|
||||
"name": "aromantic",
|
||||
"description": "Someone who does not experience romantic attraction. They do not have to also be asexual however as they may still experience other types of attraction."
|
||||
},
|
||||
"asexual": {
|
||||
"name": "asexual",
|
||||
"description": "Someone who feels little to no sexual attraction to anyone."
|
||||
},
|
||||
"bisexual": {
|
||||
"name": "bisexual",
|
||||
"description": "Someone who is attracted to more than one gender."
|
||||
},
|
||||
"ceterosexual": {
|
||||
"name": "ceterosexual",
|
||||
"description": "Someone who is attracted to non-binary people."
|
||||
},
|
||||
"demisexual": {
|
||||
"name": "demisexual",
|
||||
"description": "Someone who doesn't experience sexual/romantic attraction towards someone until they form an emotional connection."
|
||||
},
|
||||
"finsexual": {
|
||||
"name": "finsexual",
|
||||
"description": "Someone who is attracted to women and/or feminine people."
|
||||
},
|
||||
"gay": {
|
||||
"name": "gay",
|
||||
"description": "Someone who is homosexual (attracted to ones own gender)"
|
||||
},
|
||||
"gynosexual": {
|
||||
"name": "gynosexual",
|
||||
"description": "Someone who as attracted to women and/or feminity."
|
||||
},
|
||||
"grey-romantic": {
|
||||
"name": "grey-romantic",
|
||||
"description": "Someone with a romantic orentiation that is somewhere between aromantic and romantic."
|
||||
},
|
||||
"heterosexual": {
|
||||
"name": "heterosexual",
|
||||
"description": "Someone who is attracted to people of the opposite gender."
|
||||
},
|
||||
"homosexual": {
|
||||
"name": "homosexual",
|
||||
"description": "Someone attracted to people of ones own gender."
|
||||
},
|
||||
"lesbian": {
|
||||
"name": "lesbian",
|
||||
"description": "A woman who is attracted to other women."
|
||||
},
|
||||
"omnisexual": {
|
||||
"name": "omnisexual",
|
||||
"description": "Someone who is attracted to all genders."
|
||||
},
|
||||
"pansexual": {
|
||||
"name": "pansexual",
|
||||
"description": "Someone who is attracted towards people regardless of their gender identity."
|
||||
},
|
||||
"pomosexual": {
|
||||
"name": "pomosexual",
|
||||
"description": "Someone who does not fit into any sexual orientation label."
|
||||
},
|
||||
"polysexual": {
|
||||
"name": "polysexual",
|
||||
"description": "Someone who is attracted to some, but not all genders."
|
||||
},
|
||||
"straight": {
|
||||
"name": "straight",
|
||||
"description": "Someone who is heterosexual (attracted to people of the opposite gender)"
|
||||
}
|
||||
}
|
24
commands/level.js
Normal file
24
commands/level.js
Normal file
|
@ -0,0 +1,24 @@
|
|||
exports.conf = {
|
||||
enabled: true,
|
||||
guildOnly: false,
|
||||
aliases: ['plevel', 'permlevel'],
|
||||
permLevel: 'User',
|
||||
requiredPerms: [],
|
||||
cooldown: 2000
|
||||
}
|
||||
|
||||
exports.help = {
|
||||
name: 'level',
|
||||
category: 'Utility',
|
||||
description: 'Returns your permission level.',
|
||||
usage: 'level'
|
||||
}
|
||||
|
||||
exports.run = async (client, message, args, level) => {
|
||||
try {
|
||||
const friendly = client.config.permLevels.find(l => l.level === level).name
|
||||
message.reply(`your permission level is ${level} (${friendly}).`)
|
||||
} catch (err) {
|
||||
message.channel.send('There was an error!\n' + err).catch()
|
||||
}
|
||||
}
|
|
@ -4,7 +4,7 @@ exports.conf = {
|
|||
aliases: [],
|
||||
permLevel: 'User',
|
||||
requiredPerms: [],
|
||||
cooldown: 5000
|
||||
cooldown: 2000
|
||||
}
|
||||
|
||||
exports.help = {
|
||||
|
@ -17,6 +17,6 @@ exports.help = {
|
|||
exports.run = async (client, message) => {
|
||||
const msg = await message.channel.send('Pinging...')
|
||||
msg.edit(
|
||||
`Pong! \`${msg.createdTimestamp - message.createdTimestamp}ms\` (💗\`${Math.round(client.ws.ping)}ms\`)`
|
||||
`Pong! \`${msg.createdTimestamp - message.createdTimestamp}ms\` (💗 \`${Math.round(client.ws.ping)}ms\`)`
|
||||
)
|
||||
}
|
||||
|
|
34
config.js
34
config.js
|
@ -13,13 +13,43 @@ const config = {
|
|||
systemNotice: true
|
||||
},
|
||||
|
||||
//
|
||||
// Permission levels
|
||||
permLevels: [
|
||||
{
|
||||
level: 0,
|
||||
name: 'User',
|
||||
|
||||
check: () => true
|
||||
},
|
||||
|
||||
{
|
||||
level: 1,
|
||||
name: 'Moderator',
|
||||
check: (message) => {
|
||||
try {
|
||||
if (message.member.roles.cache.has(message.settings.modRole)) return true
|
||||
} catch (e) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
level: 2,
|
||||
name: 'Administrator',
|
||||
check: (message) => {
|
||||
try {
|
||||
if (message.member.roles.cache.has(message.settings.adminRole) || message.member.permissions.has('ADMINISTRATOR')) return true
|
||||
} catch (e) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
level: 3,
|
||||
name: 'Server Owner',
|
||||
|
||||
check: (message) => message.channel.type === 'text' ? (message.guild.ownerID === message.author.id) : false
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -30,6 +30,13 @@ module.exports = async (client, message) => {
|
|||
return message.channel.send('This command is unavailable via private message. Please run this command in a guild.')
|
||||
}
|
||||
|
||||
// Dev perm level is separate so dev's don't get owner perms where they shouldn't have them
|
||||
if (cmd.conf.permLevel === 'Developer') {
|
||||
if (!message.client.config.owners.includes(message.author.id)) {
|
||||
return message.channel.send('You don\'t have permission to run this command!')
|
||||
}
|
||||
}
|
||||
|
||||
if (level < client.levelCache[cmd.conf.permLevel]) {
|
||||
return message.channel.send('You don\'t have permission to run this command!')
|
||||
}
|
||||
|
@ -51,6 +58,7 @@ module.exports = async (client, message) => {
|
|||
|
||||
message.author.permLevel = level
|
||||
|
||||
// Might use this
|
||||
message.flags = []
|
||||
while (args[0] && args[0][0] === '-') {
|
||||
message.flags.push(args.shift().slice(1))
|
||||
|
|
77
index.js
77
index.js
|
@ -18,25 +18,20 @@ client.logger = require('tracer').colorConsole({
|
|||
format: [
|
||||
'{{timestamp}} [{{title}}] {{file}}: {{message}}',
|
||||
{
|
||||
log: `{{timestamp}} ${'[{{title}}]'.white} {{file}}: {{message}}`,
|
||||
debug: `{{timestamp}} ${'[{{title}}]'.magenta} {{file}}: {{message}}`,
|
||||
info: `{{timestamp}} ${'[{{title}}]'.cyan} {{file}}: {{message}}`,
|
||||
ready: `{{timestamp}} ${'[{{title}}]'.green} {{file}}: {{message}}`,
|
||||
warn: `{{timestamp}} ${'[{{title}}]'.yellow} {{file}}: {{message}}`,
|
||||
error: `{{timestamp}} ${'[{{title}}]'.red} {{file}}: {{message}}`,
|
||||
fatal: `{{timestamp}} ${'[{{title}}]'.red.bold} {{file}}: {{message}}`
|
||||
debug: `{{timestamp}} ${'<{{title}}>'.magenta} {{file}}:{{line}} {{message}}`,
|
||||
log: `{{timestamp}} ${'<{{title}}>'.white} {{file}}:{{line}} {{message}}`,
|
||||
info: `{{timestamp}} ${'<{{title}}>'.cyan} {{file}}:{{line}} {{message}}`,
|
||||
ready: `{{timestamp}} ${'<{{title}}>'.green} {{file}}:{{line}} {{message}}`,
|
||||
warn: `{{timestamp}} ${'<{{title}}>'.yellow} {{file}}:{{line}} {{message}}`,
|
||||
error: `{{timestamp}} ${'<{{title}}>'.red} {{file}}:{{line}} {{message}}`,
|
||||
fatal: `{{timestamp}} ${'<{{title}}>'.red.bold} {{file}}:{{line}} {{message}}`
|
||||
}
|
||||
],
|
||||
dateformat: 'yyyy-mm-dd HH:MM:ss',
|
||||
dateformat: 'yyyy-mm-dd"T"HH:MM:ss',
|
||||
methods: ['log', 'debug', 'info', 'ready', 'warn', 'error', 'fatal'],
|
||||
filters: [colors.white]
|
||||
})
|
||||
|
||||
// Load modules
|
||||
require('./modules/functions')(client)
|
||||
require('./modules/music')(client)
|
||||
require('./modules/botlists')(client)
|
||||
|
||||
// Checks to make sure config.js and .env exist
|
||||
if (fs.existsSync('./.env') === false) {
|
||||
client.logger.fatal('The .env file is missing! Please create a .env file.')
|
||||
|
@ -48,49 +43,32 @@ if (fs.existsSync('./config.js') === false) {
|
|||
process.exit()
|
||||
}
|
||||
|
||||
require('dotenv').config()
|
||||
client.config = require('./config')
|
||||
require('dotenv').config()
|
||||
require('./modules/functions')(client)
|
||||
require('./modules/music')(client)
|
||||
require('./modules/botlists')(client)
|
||||
|
||||
if (process.env.DEV_MODE === 'true') {
|
||||
if (process.env.DEV_MODE) {
|
||||
client.devmode = true
|
||||
client.logger.warn('Running in development mode.')
|
||||
} else {
|
||||
client.devmode = false
|
||||
// load botlist stuff here eventually
|
||||
}
|
||||
|
||||
// Collections that
|
||||
client.levelCache = {}
|
||||
client.commands = new Discord.Collection()
|
||||
client.cooldown = new Discord.Collection()
|
||||
client.aliases = new Discord.Collection()
|
||||
|
||||
// Initialization function
|
||||
const init = async () => {
|
||||
// Load events
|
||||
fs.readdir('./events', (err, files) => {
|
||||
if (err) {
|
||||
client.logger.fatal('Failed to get files in events directory: ' + err)
|
||||
process.exit()
|
||||
};
|
||||
|
||||
client.logger.info(`Loading ${files.length} events.`)
|
||||
files.forEach(file => {
|
||||
if (!file.endsWith('.js')) {
|
||||
return
|
||||
}
|
||||
const event = require(`./events/${file}`)
|
||||
client.on(file.substr(0, file.length - 3), event.bind(null, client))
|
||||
})
|
||||
})
|
||||
|
||||
// Load commands
|
||||
// Command handler
|
||||
fs.readdir('./commands', (err, files) => {
|
||||
if (err) {
|
||||
client.logger.fatal('Failed to get files in commands directory: ' + err)
|
||||
|
||||
process.exit()
|
||||
};
|
||||
|
||||
client.logger.info(`Loading ${files.length} commands.`)
|
||||
files.forEach(file => {
|
||||
if (!file.endsWith('.js')) {
|
||||
|
@ -103,17 +81,30 @@ const init = async () => {
|
|||
})
|
||||
})
|
||||
|
||||
// Level cache
|
||||
client.levelCache = {}
|
||||
// Event handler
|
||||
fs.readdir('./events', (err, files) => {
|
||||
if (err) {
|
||||
client.logger.fatal('Failed to get files in events directory: ' + err)
|
||||
process.exit()
|
||||
};
|
||||
client.logger.info(`Loading ${files.length} events.`)
|
||||
files.forEach(file => {
|
||||
if (!file.endsWith('.js')) {
|
||||
return
|
||||
}
|
||||
const event = require(`./events/${file}`)
|
||||
client.on(file.substr(0, file.length - 3), event.bind(null, client))
|
||||
})
|
||||
})
|
||||
|
||||
// Cache client permissions
|
||||
for (let i = 0; i < client.config.permLevels.length; i++) {
|
||||
const thisLevel = client.config.permLevels[i]
|
||||
client.levelCache[thisLevel.name] = thisLevel.level
|
||||
}
|
||||
|
||||
// Login into Discord
|
||||
client.login(process.env.TOKEN)
|
||||
|
||||
if(client.devmode === true) {
|
||||
// Log into Discord
|
||||
if (client.devmode === true) {
|
||||
client.login(process.env.DEVTOKEN)
|
||||
} else {
|
||||
client.login(process.env.TOKEN)
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
module.exports = client => {
|
||||
|
||||
client.permlevel = message => {
|
||||
let permlvl = 0
|
||||
|
||||
|
@ -34,6 +33,102 @@ module.exports = client => {
|
|||
}
|
||||
}
|
||||
|
||||
client.unloadCommand = async (commandName) => {
|
||||
let command
|
||||
if (client.commands.has(commandName)) {
|
||||
command = client.commands.get(commandName)
|
||||
} else if (client.aliases.has(commandName)) {
|
||||
command = client.commands.get(client.aliases.get(commandName))
|
||||
}
|
||||
if (!command) return `The command \`${commandName}\` doesn"t seem to exist, nor is it an alias. Try again!`
|
||||
|
||||
if (command.shutdown) {
|
||||
await command.shutdown(client)
|
||||
}
|
||||
const mod = require.cache[require.resolve(`../commands/${command.help.name}`)]
|
||||
delete require.cache[require.resolve(`../commands/${command.help.name}.js`)]
|
||||
for (let i = 0; i < mod.parent.children.length; i++) {
|
||||
if (mod.parent.children[i] === mod) {
|
||||
mod.parent.children.splice(i, 1)
|
||||
break
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
client.getUser = async function (search) {
|
||||
let user = null
|
||||
if (!search || typeof search !== 'string') return
|
||||
// Try ID search
|
||||
if (search.match(/^<@!?(\d+)>$/)) {
|
||||
const id = search.match(/^<@!?(\d+)>$/)[1]
|
||||
user = this.users.fetch(id).catch(() => {})
|
||||
if (user) return user
|
||||
}
|
||||
// Try username search
|
||||
if (search.match(/^!?(\w+)#(\d+)$/)) {
|
||||
const username = search.match(/^!?(\w+)#(\d+)$/)[0]
|
||||
const discriminator = search.match(/^!?(\w+)#(\d+)$/)[1]
|
||||
user = this.users.find((u) => u.username === username && u.discriminator === discriminator)
|
||||
if (user) return user
|
||||
}
|
||||
user = await this.users.fetch(search).catch(() => {})
|
||||
return user
|
||||
}
|
||||
|
||||
client.getMembers = function (guild, query) {
|
||||
if (!query) return
|
||||
query = query.toLowerCase()
|
||||
|
||||
var a = []
|
||||
var b
|
||||
|
||||
// MAKE IT SO IT CAN TAKE AN ID
|
||||
|
||||
try {
|
||||
b = guild.members.cache.find(x => x.displayName.toLowerCase() === query)
|
||||
if (!b) guild.members.cache.find(x => x.user.username.toLowerCase() === query)
|
||||
} catch (err) {}
|
||||
if (b) a.push(b)
|
||||
guild.members.cache.forEach(member => {
|
||||
if (
|
||||
(member.displayName.toLowerCase().startsWith(query) ||
|
||||
member.user.tag.toLowerCase().startsWith(query)) &&
|
||||
member.id !== (b && b.id)
|
||||
) {
|
||||
a.push(member)
|
||||
}
|
||||
})
|
||||
return a
|
||||
}
|
||||
|
||||
client.getUsers = function (guild, query) {
|
||||
if (!query) return
|
||||
query = query.toLowerCase()
|
||||
|
||||
var a = []
|
||||
var b
|
||||
|
||||
// MAKE IT SO IT CAN TAKE AN ID
|
||||
|
||||
try {
|
||||
b = guild.members.cache.find(x => x.displayName.toLowerCase() === query)
|
||||
if (!b) guild.members.cache.find(x => x.user.username.toLowerCase() === query)
|
||||
} catch (err) {}
|
||||
if (b) a.push(b)
|
||||
guild.members.cache.forEach(member => {
|
||||
if (
|
||||
(member.displayName.toLowerCase().startsWith(query) ||
|
||||
member.user.tag.toLowerCase().startsWith(query)) &&
|
||||
member.id !== (b && b.id)
|
||||
) {
|
||||
a.push(member)
|
||||
}
|
||||
})
|
||||
return a
|
||||
}
|
||||
|
||||
// Both of these functions catch errors and log them
|
||||
process.on('uncaughtException', (err) => {
|
||||
const errorMsg = err.stack.replace(new RegExp(`${__dirname}/`, 'g'), './')
|
||||
client.logger.fatal(`Uncaught Exception: ${errorMsg}`)
|
||||
|
|
51
package-lock.json
generated
51
package-lock.json
generated
|
@ -443,15 +443,6 @@
|
|||
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
|
||||
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
|
||||
},
|
||||
"chalk": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
|
||||
"integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
|
||||
"requires": {
|
||||
"ansi-styles": "^4.1.0",
|
||||
"supports-color": "^7.1.0"
|
||||
}
|
||||
},
|
||||
"cheerio": {
|
||||
"version": "0.19.0",
|
||||
"resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.19.0.tgz",
|
||||
|
@ -984,6 +975,27 @@
|
|||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz",
|
||||
"integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY="
|
||||
},
|
||||
"isarray": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
|
||||
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "1.1.14",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
|
||||
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
|
||||
"requires": {
|
||||
"core-util-is": "~1.0.0",
|
||||
"inherits": "~2.0.1",
|
||||
"isarray": "0.0.1",
|
||||
"string_decoder": "~0.10.x"
|
||||
}
|
||||
},
|
||||
"string_decoder": {
|
||||
"version": "0.10.31",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -1046,11 +1058,6 @@
|
|||
"resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
|
||||
"integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
|
||||
},
|
||||
"isarray": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
|
||||
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
|
||||
},
|
||||
"isexe": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
||||
|
@ -1495,17 +1502,6 @@
|
|||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
|
||||
"integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM="
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "1.1.14",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
|
||||
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
|
||||
"requires": {
|
||||
"core-util-is": "~1.0.0",
|
||||
"inherits": "~2.0.1",
|
||||
"isarray": "0.0.1",
|
||||
"string_decoder": "~0.10.x"
|
||||
}
|
||||
},
|
||||
"release-zalgo": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz",
|
||||
|
@ -1740,11 +1736,6 @@
|
|||
"strip-ansi": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"string_decoder": {
|
||||
"version": "0.10.31",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
|
||||
},
|
||||
"stringstream": {
|
||||
"version": "0.0.6",
|
||||
"resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz",
|
||||
|
|
Loading…
Reference in a new issue