YOUR BOT
10 |Fast, customizable discord's best bot YOUR BOT!
11 | 12 | 13 |├── LICENSE ├── README.md ├── assets ├── BOT LOGO.png └── fonts │ └── uni-sans.heavy-caps.otf ├── commands.json ├── config.json ├── package-lock.json ├── package.json ├── replit.nix ├── server.js └── web ├── public ├── script.js └── style.css └── views ├── commands.ejs ├── error.ejs ├── index.ejs └── parts ├── footer.ejs ├── head.ejs └── meta.ejs /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Vusal 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Discord Bot Website 2 | 3 | Basic discord bot website created by me 4 | 5 | ### Example 6 | 7 | https://discord-bot-website.vsldev.repl.co/ 8 | 9 | # Setup 10 | 11 | Fill in the blanks here with the characteristics of your own bot and arrange the parts that say YOUR BOT and the images on the site according to you. 12 | 13 |  14 | 15 | To add the commands, select the commands.json file and add the command as below and restart the project for it to load 16 | 17 |  18 | 19 | # Copyright! 20 | It is forbidden to delete the footer part below! If those who do are detected, good things will not happen :) 21 | 22 |  23 | 24 | # Links 25 | 26 | - Website - [vsldev.tk](https://vsldev.tk) 27 | - Instagram - [vsl.dev](https://vsldev.tk/instagram) 28 | - Github - [vsl-dev](https://vsldev.tk/github) 29 | - Discord - [VSL | Offical Server](https://vsldev.tk/discord) 30 | - Other Links - [vsldev.tk/links](https://vsldev.tk/links) 31 | 32 | # Support 33 | 34 | [Support & Feedback](https://vsldev.tk/discord) 35 | -------------------------------------------------------------------------------- /assets/BOT LOGO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsl-dev/discord-bot-website/94b7281ab39decf7a727ae2c901569abc1cb5c37/assets/BOT LOGO.png -------------------------------------------------------------------------------- /assets/fonts/uni-sans.heavy-caps.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vsl-dev/discord-bot-website/94b7281ab39decf7a727ae2c901569abc1cb5c37/assets/fonts/uni-sans.heavy-caps.otf -------------------------------------------------------------------------------- /commands.json: -------------------------------------------------------------------------------- 1 | { 2 | "commands": [ 3 | { 4 | "command": "!help", 5 | "description": "Sends all commands.", 6 | "category": "Help" 7 | }, 8 | { 9 | "command": "!moderation", 10 | "description": "Sends allmoderation commands.", 11 | "category": "Help" 12 | }, 13 | { 14 | "command": "!fun", 15 | "description": "Sends all fun commands.", 16 | "category": "Help" 17 | }, 18 | { 19 | "command": "!economy", 20 | "description": "Sends all economy commands.", 21 | "category": "Help" 22 | } 23 | ] 24 | } -------------------------------------------------------------------------------- /config.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "v1.0", 3 | "bot_name": "", 4 | "bot_id": "", 5 | "theme": { 6 | "color": "#Ff005a" 7 | }, 8 | "links": { 9 | "support_server": "", 10 | "bot_invite": "", 11 | "vote_url": "" 12 | } 13 | } -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Discord bot website by vsl-dev", 3 | "version": "1.0.0", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "Discord bot website by vsl-dev", 9 | "version": "1.0.0", 10 | "license": "ISC", 11 | "dependencies": { 12 | "body-parser": "^1.19.2", 13 | "cli-color": "^2.0.2", 14 | "discord.js": "^12.5.0", 15 | "ejs": "^3.1.6", 16 | "express": "^4.17.3", 17 | "express-session": "^1.17.2", 18 | "moment": "^2.29.1" 19 | } 20 | }, 21 | "node_modules/@discordjs/collection": { 22 | "version": "0.1.6", 23 | "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.1.6.tgz", 24 | "integrity": "sha512-utRNxnd9kSS2qhyivo9lMlt5qgAUasH2gb7BEOn6p0efFh24gjGomHzWKMAPn2hEReOPQZCJaRKoURwRotKucQ==" 25 | }, 26 | "node_modules/@discordjs/form-data": { 27 | "version": "3.0.1", 28 | "resolved": "https://registry.npmjs.org/@discordjs/form-data/-/form-data-3.0.1.tgz", 29 | "integrity": "sha512-ZfFsbgEXW71Rw/6EtBdrP5VxBJy4dthyC0tpQKGKmYFImlmmrykO14Za+BiIVduwjte0jXEBlhSKf0MWbFp9Eg==", 30 | "dependencies": { 31 | "asynckit": "^0.4.0", 32 | "combined-stream": "^1.0.8", 33 | "mime-types": "^2.1.12" 34 | }, 35 | "engines": { 36 | "node": ">= 6" 37 | } 38 | }, 39 | "node_modules/abort-controller": { 40 | "version": "3.0.0", 41 | "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", 42 | "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", 43 | "dependencies": { 44 | "event-target-shim": "^5.0.0" 45 | }, 46 | "engines": { 47 | "node": ">=6.5" 48 | } 49 | }, 50 | "node_modules/accepts": { 51 | "version": "1.3.8", 52 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", 53 | "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", 54 | "dependencies": { 55 | "mime-types": "~2.1.34", 56 | "negotiator": "0.6.3" 57 | }, 58 | "engines": { 59 | "node": ">= 0.6" 60 | } 61 | }, 62 | "node_modules/ansi-styles": { 63 | "version": "4.3.0", 64 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 65 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 66 | "dependencies": { 67 | "color-convert": "^2.0.1" 68 | }, 69 | "engines": { 70 | "node": ">=8" 71 | }, 72 | "funding": { 73 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 74 | } 75 | }, 76 | "node_modules/array-flatten": { 77 | "version": "1.1.1", 78 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", 79 | "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" 80 | }, 81 | "node_modules/async": { 82 | "version": "0.9.2", 83 | "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", 84 | "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=" 85 | }, 86 | "node_modules/asynckit": { 87 | "version": "0.4.0", 88 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 89 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" 90 | }, 91 | "node_modules/balanced-match": { 92 | "version": "1.0.2", 93 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 94 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" 95 | }, 96 | "node_modules/body-parser": { 97 | "version": "1.19.2", 98 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", 99 | "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", 100 | "dependencies": { 101 | "bytes": "3.1.2", 102 | "content-type": "~1.0.4", 103 | "debug": "2.6.9", 104 | "depd": "~1.1.2", 105 | "http-errors": "1.8.1", 106 | "iconv-lite": "0.4.24", 107 | "on-finished": "~2.3.0", 108 | "qs": "6.9.7", 109 | "raw-body": "2.4.3", 110 | "type-is": "~1.6.18" 111 | }, 112 | "engines": { 113 | "node": ">= 0.8" 114 | } 115 | }, 116 | "node_modules/brace-expansion": { 117 | "version": "1.1.11", 118 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 119 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 120 | "dependencies": { 121 | "balanced-match": "^1.0.0", 122 | "concat-map": "0.0.1" 123 | } 124 | }, 125 | "node_modules/bytes": { 126 | "version": "3.1.2", 127 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", 128 | "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", 129 | "engines": { 130 | "node": ">= 0.8" 131 | } 132 | }, 133 | "node_modules/chalk": { 134 | "version": "4.1.2", 135 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 136 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 137 | "dependencies": { 138 | "ansi-styles": "^4.1.0", 139 | "supports-color": "^7.1.0" 140 | }, 141 | "engines": { 142 | "node": ">=10" 143 | }, 144 | "funding": { 145 | "url": "https://github.com/chalk/chalk?sponsor=1" 146 | } 147 | }, 148 | "node_modules/cli-color": { 149 | "version": "2.0.2", 150 | "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-2.0.2.tgz", 151 | "integrity": "sha512-g4JYjrTW9MGtCziFNjkqp3IMpGhnJyeB0lOtRPjQkYhXzKYr6tYnXKyEVnMzITxhpbahsEW9KsxOYIDKwcsIBw==", 152 | "dependencies": { 153 | "d": "^1.0.1", 154 | "es5-ext": "^0.10.59", 155 | "es6-iterator": "^2.0.3", 156 | "memoizee": "^0.4.15", 157 | "timers-ext": "^0.1.7" 158 | }, 159 | "engines": { 160 | "node": ">=0.10" 161 | } 162 | }, 163 | "node_modules/color-convert": { 164 | "version": "2.0.1", 165 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 166 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 167 | "dependencies": { 168 | "color-name": "~1.1.4" 169 | }, 170 | "engines": { 171 | "node": ">=7.0.0" 172 | } 173 | }, 174 | "node_modules/color-name": { 175 | "version": "1.1.4", 176 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 177 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 178 | }, 179 | "node_modules/combined-stream": { 180 | "version": "1.0.8", 181 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 182 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 183 | "dependencies": { 184 | "delayed-stream": "~1.0.0" 185 | }, 186 | "engines": { 187 | "node": ">= 0.8" 188 | } 189 | }, 190 | "node_modules/concat-map": { 191 | "version": "0.0.1", 192 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 193 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" 194 | }, 195 | "node_modules/content-disposition": { 196 | "version": "0.5.4", 197 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", 198 | "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", 199 | "dependencies": { 200 | "safe-buffer": "5.2.1" 201 | }, 202 | "engines": { 203 | "node": ">= 0.6" 204 | } 205 | }, 206 | "node_modules/content-type": { 207 | "version": "1.0.4", 208 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", 209 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", 210 | "engines": { 211 | "node": ">= 0.6" 212 | } 213 | }, 214 | "node_modules/cookie": { 215 | "version": "0.4.2", 216 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", 217 | "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", 218 | "engines": { 219 | "node": ">= 0.6" 220 | } 221 | }, 222 | "node_modules/cookie-signature": { 223 | "version": "1.0.6", 224 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", 225 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" 226 | }, 227 | "node_modules/d": { 228 | "version": "1.0.1", 229 | "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", 230 | "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", 231 | "dependencies": { 232 | "es5-ext": "^0.10.50", 233 | "type": "^1.0.1" 234 | } 235 | }, 236 | "node_modules/debug": { 237 | "version": "2.6.9", 238 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 239 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 240 | "dependencies": { 241 | "ms": "2.0.0" 242 | } 243 | }, 244 | "node_modules/delayed-stream": { 245 | "version": "1.0.0", 246 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 247 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", 248 | "engines": { 249 | "node": ">=0.4.0" 250 | } 251 | }, 252 | "node_modules/depd": { 253 | "version": "1.1.2", 254 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", 255 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", 256 | "engines": { 257 | "node": ">= 0.6" 258 | } 259 | }, 260 | "node_modules/destroy": { 261 | "version": "1.0.4", 262 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", 263 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" 264 | }, 265 | "node_modules/discord.js": { 266 | "version": "12.5.3", 267 | "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-12.5.3.tgz", 268 | "integrity": "sha512-D3nkOa/pCkNyn6jLZnAiJApw2N9XrIsXUAdThf01i7yrEuqUmDGc7/CexVWwEcgbQR97XQ+mcnqJpmJ/92B4Aw==", 269 | "deprecated": "no longer supported", 270 | "dependencies": { 271 | "@discordjs/collection": "^0.1.6", 272 | "@discordjs/form-data": "^3.0.1", 273 | "abort-controller": "^3.0.0", 274 | "node-fetch": "^2.6.1", 275 | "prism-media": "^1.2.9", 276 | "setimmediate": "^1.0.5", 277 | "tweetnacl": "^1.0.3", 278 | "ws": "^7.4.4" 279 | }, 280 | "engines": { 281 | "node": ">=12.0.0" 282 | } 283 | }, 284 | "node_modules/ee-first": { 285 | "version": "1.1.1", 286 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 287 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" 288 | }, 289 | "node_modules/ejs": { 290 | "version": "3.1.6", 291 | "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz", 292 | "integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==", 293 | "dependencies": { 294 | "jake": "^10.6.1" 295 | }, 296 | "bin": { 297 | "ejs": "bin/cli.js" 298 | }, 299 | "engines": { 300 | "node": ">=0.10.0" 301 | } 302 | }, 303 | "node_modules/encodeurl": { 304 | "version": "1.0.2", 305 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", 306 | "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", 307 | "engines": { 308 | "node": ">= 0.8" 309 | } 310 | }, 311 | "node_modules/es5-ext": { 312 | "version": "0.10.59", 313 | "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.59.tgz", 314 | "integrity": "sha512-cOgyhW0tIJyQY1Kfw6Kr0viu9ZlUctVchRMZ7R0HiH3dxTSp5zJDLecwxUqPUrGKMsgBI1wd1FL+d9Jxfi4cLw==", 315 | "hasInstallScript": true, 316 | "dependencies": { 317 | "es6-iterator": "^2.0.3", 318 | "es6-symbol": "^3.1.3", 319 | "next-tick": "^1.1.0" 320 | }, 321 | "engines": { 322 | "node": ">=0.10" 323 | } 324 | }, 325 | "node_modules/es6-iterator": { 326 | "version": "2.0.3", 327 | "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", 328 | "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", 329 | "dependencies": { 330 | "d": "1", 331 | "es5-ext": "^0.10.35", 332 | "es6-symbol": "^3.1.1" 333 | } 334 | }, 335 | "node_modules/es6-symbol": { 336 | "version": "3.1.3", 337 | "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", 338 | "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", 339 | "dependencies": { 340 | "d": "^1.0.1", 341 | "ext": "^1.1.2" 342 | } 343 | }, 344 | "node_modules/es6-weak-map": { 345 | "version": "2.0.3", 346 | "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", 347 | "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", 348 | "dependencies": { 349 | "d": "1", 350 | "es5-ext": "^0.10.46", 351 | "es6-iterator": "^2.0.3", 352 | "es6-symbol": "^3.1.1" 353 | } 354 | }, 355 | "node_modules/escape-html": { 356 | "version": "1.0.3", 357 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 358 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" 359 | }, 360 | "node_modules/etag": { 361 | "version": "1.8.1", 362 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", 363 | "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", 364 | "engines": { 365 | "node": ">= 0.6" 366 | } 367 | }, 368 | "node_modules/event-emitter": { 369 | "version": "0.3.5", 370 | "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", 371 | "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", 372 | "dependencies": { 373 | "d": "1", 374 | "es5-ext": "~0.10.14" 375 | } 376 | }, 377 | "node_modules/event-target-shim": { 378 | "version": "5.0.1", 379 | "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", 380 | "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", 381 | "engines": { 382 | "node": ">=6" 383 | } 384 | }, 385 | "node_modules/express": { 386 | "version": "4.17.3", 387 | "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", 388 | "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", 389 | "dependencies": { 390 | "accepts": "~1.3.8", 391 | "array-flatten": "1.1.1", 392 | "body-parser": "1.19.2", 393 | "content-disposition": "0.5.4", 394 | "content-type": "~1.0.4", 395 | "cookie": "0.4.2", 396 | "cookie-signature": "1.0.6", 397 | "debug": "2.6.9", 398 | "depd": "~1.1.2", 399 | "encodeurl": "~1.0.2", 400 | "escape-html": "~1.0.3", 401 | "etag": "~1.8.1", 402 | "finalhandler": "~1.1.2", 403 | "fresh": "0.5.2", 404 | "merge-descriptors": "1.0.1", 405 | "methods": "~1.1.2", 406 | "on-finished": "~2.3.0", 407 | "parseurl": "~1.3.3", 408 | "path-to-regexp": "0.1.7", 409 | "proxy-addr": "~2.0.7", 410 | "qs": "6.9.7", 411 | "range-parser": "~1.2.1", 412 | "safe-buffer": "5.2.1", 413 | "send": "0.17.2", 414 | "serve-static": "1.14.2", 415 | "setprototypeof": "1.2.0", 416 | "statuses": "~1.5.0", 417 | "type-is": "~1.6.18", 418 | "utils-merge": "1.0.1", 419 | "vary": "~1.1.2" 420 | }, 421 | "engines": { 422 | "node": ">= 0.10.0" 423 | } 424 | }, 425 | "node_modules/express-session": { 426 | "version": "1.17.2", 427 | "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.17.2.tgz", 428 | "integrity": "sha512-mPcYcLA0lvh7D4Oqr5aNJFMtBMKPLl++OKKxkHzZ0U0oDq1rpKBnkR5f5vCHR26VeArlTOEF9td4x5IjICksRQ==", 429 | "dependencies": { 430 | "cookie": "0.4.1", 431 | "cookie-signature": "1.0.6", 432 | "debug": "2.6.9", 433 | "depd": "~2.0.0", 434 | "on-headers": "~1.0.2", 435 | "parseurl": "~1.3.3", 436 | "safe-buffer": "5.2.1", 437 | "uid-safe": "~2.1.5" 438 | }, 439 | "engines": { 440 | "node": ">= 0.8.0" 441 | } 442 | }, 443 | "node_modules/express-session/node_modules/cookie": { 444 | "version": "0.4.1", 445 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", 446 | "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", 447 | "engines": { 448 | "node": ">= 0.6" 449 | } 450 | }, 451 | "node_modules/express-session/node_modules/depd": { 452 | "version": "2.0.0", 453 | "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", 454 | "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", 455 | "engines": { 456 | "node": ">= 0.8" 457 | } 458 | }, 459 | "node_modules/ext": { 460 | "version": "1.6.0", 461 | "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", 462 | "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", 463 | "dependencies": { 464 | "type": "^2.5.0" 465 | } 466 | }, 467 | "node_modules/ext/node_modules/type": { 468 | "version": "2.6.0", 469 | "resolved": "https://registry.npmjs.org/type/-/type-2.6.0.tgz", 470 | "integrity": "sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ==" 471 | }, 472 | "node_modules/filelist": { 473 | "version": "1.0.2", 474 | "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz", 475 | "integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==", 476 | "dependencies": { 477 | "minimatch": "^3.0.4" 478 | } 479 | }, 480 | "node_modules/finalhandler": { 481 | "version": "1.1.2", 482 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", 483 | "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", 484 | "dependencies": { 485 | "debug": "2.6.9", 486 | "encodeurl": "~1.0.2", 487 | "escape-html": "~1.0.3", 488 | "on-finished": "~2.3.0", 489 | "parseurl": "~1.3.3", 490 | "statuses": "~1.5.0", 491 | "unpipe": "~1.0.0" 492 | }, 493 | "engines": { 494 | "node": ">= 0.8" 495 | } 496 | }, 497 | "node_modules/forwarded": { 498 | "version": "0.2.0", 499 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", 500 | "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", 501 | "engines": { 502 | "node": ">= 0.6" 503 | } 504 | }, 505 | "node_modules/fresh": { 506 | "version": "0.5.2", 507 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", 508 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", 509 | "engines": { 510 | "node": ">= 0.6" 511 | } 512 | }, 513 | "node_modules/has-flag": { 514 | "version": "4.0.0", 515 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 516 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 517 | "engines": { 518 | "node": ">=8" 519 | } 520 | }, 521 | "node_modules/http-errors": { 522 | "version": "1.8.1", 523 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", 524 | "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", 525 | "dependencies": { 526 | "depd": "~1.1.2", 527 | "inherits": "2.0.4", 528 | "setprototypeof": "1.2.0", 529 | "statuses": ">= 1.5.0 < 2", 530 | "toidentifier": "1.0.1" 531 | }, 532 | "engines": { 533 | "node": ">= 0.6" 534 | } 535 | }, 536 | "node_modules/iconv-lite": { 537 | "version": "0.4.24", 538 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 539 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 540 | "dependencies": { 541 | "safer-buffer": ">= 2.1.2 < 3" 542 | }, 543 | "engines": { 544 | "node": ">=0.10.0" 545 | } 546 | }, 547 | "node_modules/inherits": { 548 | "version": "2.0.4", 549 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 550 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 551 | }, 552 | "node_modules/ipaddr.js": { 553 | "version": "1.9.1", 554 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", 555 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", 556 | "engines": { 557 | "node": ">= 0.10" 558 | } 559 | }, 560 | "node_modules/is-promise": { 561 | "version": "2.2.2", 562 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", 563 | "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" 564 | }, 565 | "node_modules/jake": { 566 | "version": "10.8.4", 567 | "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.4.tgz", 568 | "integrity": "sha512-MtWeTkl1qGsWUtbl/Jsca/8xSoK3x0UmS82sNbjqxxG/de/M/3b1DntdjHgPMC50enlTNwXOCRqPXLLt5cCfZA==", 569 | "dependencies": { 570 | "async": "0.9.x", 571 | "chalk": "^4.0.2", 572 | "filelist": "^1.0.1", 573 | "minimatch": "^3.0.4" 574 | }, 575 | "bin": { 576 | "jake": "bin/cli.js" 577 | }, 578 | "engines": { 579 | "node": ">=10" 580 | } 581 | }, 582 | "node_modules/lru-queue": { 583 | "version": "0.1.0", 584 | "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", 585 | "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", 586 | "dependencies": { 587 | "es5-ext": "~0.10.2" 588 | } 589 | }, 590 | "node_modules/media-typer": { 591 | "version": "0.3.0", 592 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", 593 | "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", 594 | "engines": { 595 | "node": ">= 0.6" 596 | } 597 | }, 598 | "node_modules/memoizee": { 599 | "version": "0.4.15", 600 | "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", 601 | "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", 602 | "dependencies": { 603 | "d": "^1.0.1", 604 | "es5-ext": "^0.10.53", 605 | "es6-weak-map": "^2.0.3", 606 | "event-emitter": "^0.3.5", 607 | "is-promise": "^2.2.2", 608 | "lru-queue": "^0.1.0", 609 | "next-tick": "^1.1.0", 610 | "timers-ext": "^0.1.7" 611 | } 612 | }, 613 | "node_modules/merge-descriptors": { 614 | "version": "1.0.1", 615 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", 616 | "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" 617 | }, 618 | "node_modules/methods": { 619 | "version": "1.1.2", 620 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", 621 | "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", 622 | "engines": { 623 | "node": ">= 0.6" 624 | } 625 | }, 626 | "node_modules/mime": { 627 | "version": "1.6.0", 628 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 629 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", 630 | "bin": { 631 | "mime": "cli.js" 632 | }, 633 | "engines": { 634 | "node": ">=4" 635 | } 636 | }, 637 | "node_modules/mime-db": { 638 | "version": "1.52.0", 639 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 640 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", 641 | "engines": { 642 | "node": ">= 0.6" 643 | } 644 | }, 645 | "node_modules/mime-types": { 646 | "version": "2.1.35", 647 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 648 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 649 | "dependencies": { 650 | "mime-db": "1.52.0" 651 | }, 652 | "engines": { 653 | "node": ">= 0.6" 654 | } 655 | }, 656 | "node_modules/minimatch": { 657 | "version": "3.1.2", 658 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 659 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 660 | "dependencies": { 661 | "brace-expansion": "^1.1.7" 662 | }, 663 | "engines": { 664 | "node": "*" 665 | } 666 | }, 667 | "node_modules/moment": { 668 | "version": "2.29.1", 669 | "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", 670 | "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", 671 | "engines": { 672 | "node": "*" 673 | } 674 | }, 675 | "node_modules/ms": { 676 | "version": "2.0.0", 677 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 678 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 679 | }, 680 | "node_modules/negotiator": { 681 | "version": "0.6.3", 682 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", 683 | "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", 684 | "engines": { 685 | "node": ">= 0.6" 686 | } 687 | }, 688 | "node_modules/next-tick": { 689 | "version": "1.1.0", 690 | "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", 691 | "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" 692 | }, 693 | "node_modules/node-fetch": { 694 | "version": "2.6.7", 695 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", 696 | "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", 697 | "dependencies": { 698 | "whatwg-url": "^5.0.0" 699 | }, 700 | "engines": { 701 | "node": "4.x || >=6.0.0" 702 | }, 703 | "peerDependencies": { 704 | "encoding": "^0.1.0" 705 | }, 706 | "peerDependenciesMeta": { 707 | "encoding": { 708 | "optional": true 709 | } 710 | } 711 | }, 712 | "node_modules/on-finished": { 713 | "version": "2.3.0", 714 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", 715 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", 716 | "dependencies": { 717 | "ee-first": "1.1.1" 718 | }, 719 | "engines": { 720 | "node": ">= 0.8" 721 | } 722 | }, 723 | "node_modules/on-headers": { 724 | "version": "1.0.2", 725 | "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", 726 | "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", 727 | "engines": { 728 | "node": ">= 0.8" 729 | } 730 | }, 731 | "node_modules/parseurl": { 732 | "version": "1.3.3", 733 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", 734 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", 735 | "engines": { 736 | "node": ">= 0.8" 737 | } 738 | }, 739 | "node_modules/path-to-regexp": { 740 | "version": "0.1.7", 741 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", 742 | "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" 743 | }, 744 | "node_modules/prism-media": { 745 | "version": "1.3.2", 746 | "resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.3.2.tgz", 747 | "integrity": "sha512-L6UsGHcT6i4wrQhFF1aPK+MNYgjRqR2tUoIqEY+CG1NqVkMjPRKzS37j9f8GiYPlD6wG9ruBj+q5Ax+bH8Ik1g==", 748 | "peerDependencies": { 749 | "@discordjs/opus": "^0.5.0", 750 | "ffmpeg-static": "^4.2.7 || ^3.0.0 || ^2.4.0", 751 | "node-opus": "^0.3.3", 752 | "opusscript": "^0.0.8" 753 | }, 754 | "peerDependenciesMeta": { 755 | "@discordjs/opus": { 756 | "optional": true 757 | }, 758 | "ffmpeg-static": { 759 | "optional": true 760 | }, 761 | "node-opus": { 762 | "optional": true 763 | }, 764 | "opusscript": { 765 | "optional": true 766 | } 767 | } 768 | }, 769 | "node_modules/proxy-addr": { 770 | "version": "2.0.7", 771 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", 772 | "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", 773 | "dependencies": { 774 | "forwarded": "0.2.0", 775 | "ipaddr.js": "1.9.1" 776 | }, 777 | "engines": { 778 | "node": ">= 0.10" 779 | } 780 | }, 781 | "node_modules/qs": { 782 | "version": "6.9.7", 783 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", 784 | "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", 785 | "engines": { 786 | "node": ">=0.6" 787 | }, 788 | "funding": { 789 | "url": "https://github.com/sponsors/ljharb" 790 | } 791 | }, 792 | "node_modules/random-bytes": { 793 | "version": "1.0.0", 794 | "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", 795 | "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=", 796 | "engines": { 797 | "node": ">= 0.8" 798 | } 799 | }, 800 | "node_modules/range-parser": { 801 | "version": "1.2.1", 802 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", 803 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", 804 | "engines": { 805 | "node": ">= 0.6" 806 | } 807 | }, 808 | "node_modules/raw-body": { 809 | "version": "2.4.3", 810 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz", 811 | "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==", 812 | "dependencies": { 813 | "bytes": "3.1.2", 814 | "http-errors": "1.8.1", 815 | "iconv-lite": "0.4.24", 816 | "unpipe": "1.0.0" 817 | }, 818 | "engines": { 819 | "node": ">= 0.8" 820 | } 821 | }, 822 | "node_modules/safe-buffer": { 823 | "version": "5.2.1", 824 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 825 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 826 | "funding": [ 827 | { 828 | "type": "github", 829 | "url": "https://github.com/sponsors/feross" 830 | }, 831 | { 832 | "type": "patreon", 833 | "url": "https://www.patreon.com/feross" 834 | }, 835 | { 836 | "type": "consulting", 837 | "url": "https://feross.org/support" 838 | } 839 | ] 840 | }, 841 | "node_modules/safer-buffer": { 842 | "version": "2.1.2", 843 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 844 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 845 | }, 846 | "node_modules/send": { 847 | "version": "0.17.2", 848 | "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", 849 | "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", 850 | "dependencies": { 851 | "debug": "2.6.9", 852 | "depd": "~1.1.2", 853 | "destroy": "~1.0.4", 854 | "encodeurl": "~1.0.2", 855 | "escape-html": "~1.0.3", 856 | "etag": "~1.8.1", 857 | "fresh": "0.5.2", 858 | "http-errors": "1.8.1", 859 | "mime": "1.6.0", 860 | "ms": "2.1.3", 861 | "on-finished": "~2.3.0", 862 | "range-parser": "~1.2.1", 863 | "statuses": "~1.5.0" 864 | }, 865 | "engines": { 866 | "node": ">= 0.8.0" 867 | } 868 | }, 869 | "node_modules/send/node_modules/ms": { 870 | "version": "2.1.3", 871 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 872 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" 873 | }, 874 | "node_modules/serve-static": { 875 | "version": "1.14.2", 876 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", 877 | "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", 878 | "dependencies": { 879 | "encodeurl": "~1.0.2", 880 | "escape-html": "~1.0.3", 881 | "parseurl": "~1.3.3", 882 | "send": "0.17.2" 883 | }, 884 | "engines": { 885 | "node": ">= 0.8.0" 886 | } 887 | }, 888 | "node_modules/setimmediate": { 889 | "version": "1.0.5", 890 | "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", 891 | "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" 892 | }, 893 | "node_modules/setprototypeof": { 894 | "version": "1.2.0", 895 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", 896 | "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" 897 | }, 898 | "node_modules/statuses": { 899 | "version": "1.5.0", 900 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", 901 | "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", 902 | "engines": { 903 | "node": ">= 0.6" 904 | } 905 | }, 906 | "node_modules/supports-color": { 907 | "version": "7.2.0", 908 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 909 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 910 | "dependencies": { 911 | "has-flag": "^4.0.0" 912 | }, 913 | "engines": { 914 | "node": ">=8" 915 | } 916 | }, 917 | "node_modules/timers-ext": { 918 | "version": "0.1.7", 919 | "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", 920 | "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", 921 | "dependencies": { 922 | "es5-ext": "~0.10.46", 923 | "next-tick": "1" 924 | } 925 | }, 926 | "node_modules/toidentifier": { 927 | "version": "1.0.1", 928 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", 929 | "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", 930 | "engines": { 931 | "node": ">=0.6" 932 | } 933 | }, 934 | "node_modules/tr46": { 935 | "version": "0.0.3", 936 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", 937 | "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" 938 | }, 939 | "node_modules/tweetnacl": { 940 | "version": "1.0.3", 941 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", 942 | "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" 943 | }, 944 | "node_modules/type": { 945 | "version": "1.2.0", 946 | "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", 947 | "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" 948 | }, 949 | "node_modules/type-is": { 950 | "version": "1.6.18", 951 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", 952 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", 953 | "dependencies": { 954 | "media-typer": "0.3.0", 955 | "mime-types": "~2.1.24" 956 | }, 957 | "engines": { 958 | "node": ">= 0.6" 959 | } 960 | }, 961 | "node_modules/uid-safe": { 962 | "version": "2.1.5", 963 | "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", 964 | "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", 965 | "dependencies": { 966 | "random-bytes": "~1.0.0" 967 | }, 968 | "engines": { 969 | "node": ">= 0.8" 970 | } 971 | }, 972 | "node_modules/unpipe": { 973 | "version": "1.0.0", 974 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 975 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", 976 | "engines": { 977 | "node": ">= 0.8" 978 | } 979 | }, 980 | "node_modules/utils-merge": { 981 | "version": "1.0.1", 982 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", 983 | "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", 984 | "engines": { 985 | "node": ">= 0.4.0" 986 | } 987 | }, 988 | "node_modules/vary": { 989 | "version": "1.1.2", 990 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", 991 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", 992 | "engines": { 993 | "node": ">= 0.8" 994 | } 995 | }, 996 | "node_modules/webidl-conversions": { 997 | "version": "3.0.1", 998 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", 999 | "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" 1000 | }, 1001 | "node_modules/whatwg-url": { 1002 | "version": "5.0.0", 1003 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", 1004 | "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", 1005 | "dependencies": { 1006 | "tr46": "~0.0.3", 1007 | "webidl-conversions": "^3.0.0" 1008 | } 1009 | }, 1010 | "node_modules/ws": { 1011 | "version": "7.5.7", 1012 | "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", 1013 | "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==", 1014 | "engines": { 1015 | "node": ">=8.3.0" 1016 | }, 1017 | "peerDependencies": { 1018 | "bufferutil": "^4.0.1", 1019 | "utf-8-validate": "^5.0.2" 1020 | }, 1021 | "peerDependenciesMeta": { 1022 | "bufferutil": { 1023 | "optional": true 1024 | }, 1025 | "utf-8-validate": { 1026 | "optional": true 1027 | } 1028 | } 1029 | } 1030 | }, 1031 | "dependencies": { 1032 | "@discordjs/collection": { 1033 | "version": "0.1.6", 1034 | "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.1.6.tgz", 1035 | "integrity": "sha512-utRNxnd9kSS2qhyivo9lMlt5qgAUasH2gb7BEOn6p0efFh24gjGomHzWKMAPn2hEReOPQZCJaRKoURwRotKucQ==" 1036 | }, 1037 | "@discordjs/form-data": { 1038 | "version": "3.0.1", 1039 | "resolved": "https://registry.npmjs.org/@discordjs/form-data/-/form-data-3.0.1.tgz", 1040 | "integrity": "sha512-ZfFsbgEXW71Rw/6EtBdrP5VxBJy4dthyC0tpQKGKmYFImlmmrykO14Za+BiIVduwjte0jXEBlhSKf0MWbFp9Eg==", 1041 | "requires": { 1042 | "asynckit": "^0.4.0", 1043 | "combined-stream": "^1.0.8", 1044 | "mime-types": "^2.1.12" 1045 | } 1046 | }, 1047 | "abort-controller": { 1048 | "version": "3.0.0", 1049 | "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", 1050 | "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", 1051 | "requires": { 1052 | "event-target-shim": "^5.0.0" 1053 | } 1054 | }, 1055 | "accepts": { 1056 | "version": "1.3.8", 1057 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", 1058 | "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", 1059 | "requires": { 1060 | "mime-types": "~2.1.34", 1061 | "negotiator": "0.6.3" 1062 | } 1063 | }, 1064 | "ansi-styles": { 1065 | "version": "4.3.0", 1066 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 1067 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 1068 | "requires": { 1069 | "color-convert": "^2.0.1" 1070 | } 1071 | }, 1072 | "array-flatten": { 1073 | "version": "1.1.1", 1074 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", 1075 | "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" 1076 | }, 1077 | "async": { 1078 | "version": "0.9.2", 1079 | "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", 1080 | "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=" 1081 | }, 1082 | "asynckit": { 1083 | "version": "0.4.0", 1084 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 1085 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" 1086 | }, 1087 | "balanced-match": { 1088 | "version": "1.0.2", 1089 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 1090 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" 1091 | }, 1092 | "body-parser": { 1093 | "version": "1.19.2", 1094 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", 1095 | "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", 1096 | "requires": { 1097 | "bytes": "3.1.2", 1098 | "content-type": "~1.0.4", 1099 | "debug": "2.6.9", 1100 | "depd": "~1.1.2", 1101 | "http-errors": "1.8.1", 1102 | "iconv-lite": "0.4.24", 1103 | "on-finished": "~2.3.0", 1104 | "qs": "6.9.7", 1105 | "raw-body": "2.4.3", 1106 | "type-is": "~1.6.18" 1107 | } 1108 | }, 1109 | "brace-expansion": { 1110 | "version": "1.1.11", 1111 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 1112 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 1113 | "requires": { 1114 | "balanced-match": "^1.0.0", 1115 | "concat-map": "0.0.1" 1116 | } 1117 | }, 1118 | "bytes": { 1119 | "version": "3.1.2", 1120 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", 1121 | "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" 1122 | }, 1123 | "chalk": { 1124 | "version": "4.1.2", 1125 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 1126 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 1127 | "requires": { 1128 | "ansi-styles": "^4.1.0", 1129 | "supports-color": "^7.1.0" 1130 | } 1131 | }, 1132 | "cli-color": { 1133 | "version": "2.0.2", 1134 | "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-2.0.2.tgz", 1135 | "integrity": "sha512-g4JYjrTW9MGtCziFNjkqp3IMpGhnJyeB0lOtRPjQkYhXzKYr6tYnXKyEVnMzITxhpbahsEW9KsxOYIDKwcsIBw==", 1136 | "requires": { 1137 | "d": "^1.0.1", 1138 | "es5-ext": "^0.10.59", 1139 | "es6-iterator": "^2.0.3", 1140 | "memoizee": "^0.4.15", 1141 | "timers-ext": "^0.1.7" 1142 | } 1143 | }, 1144 | "color-convert": { 1145 | "version": "2.0.1", 1146 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 1147 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1148 | "requires": { 1149 | "color-name": "~1.1.4" 1150 | } 1151 | }, 1152 | "color-name": { 1153 | "version": "1.1.4", 1154 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1155 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 1156 | }, 1157 | "combined-stream": { 1158 | "version": "1.0.8", 1159 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 1160 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 1161 | "requires": { 1162 | "delayed-stream": "~1.0.0" 1163 | } 1164 | }, 1165 | "concat-map": { 1166 | "version": "0.0.1", 1167 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1168 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" 1169 | }, 1170 | "content-disposition": { 1171 | "version": "0.5.4", 1172 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", 1173 | "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", 1174 | "requires": { 1175 | "safe-buffer": "5.2.1" 1176 | } 1177 | }, 1178 | "content-type": { 1179 | "version": "1.0.4", 1180 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", 1181 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" 1182 | }, 1183 | "cookie": { 1184 | "version": "0.4.2", 1185 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", 1186 | "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" 1187 | }, 1188 | "cookie-signature": { 1189 | "version": "1.0.6", 1190 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", 1191 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" 1192 | }, 1193 | "d": { 1194 | "version": "1.0.1", 1195 | "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", 1196 | "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", 1197 | "requires": { 1198 | "es5-ext": "^0.10.50", 1199 | "type": "^1.0.1" 1200 | } 1201 | }, 1202 | "debug": { 1203 | "version": "2.6.9", 1204 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 1205 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 1206 | "requires": { 1207 | "ms": "2.0.0" 1208 | } 1209 | }, 1210 | "delayed-stream": { 1211 | "version": "1.0.0", 1212 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 1213 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" 1214 | }, 1215 | "depd": { 1216 | "version": "1.1.2", 1217 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", 1218 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" 1219 | }, 1220 | "destroy": { 1221 | "version": "1.0.4", 1222 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", 1223 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" 1224 | }, 1225 | "discord.js": { 1226 | "version": "12.5.3", 1227 | "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-12.5.3.tgz", 1228 | "integrity": "sha512-D3nkOa/pCkNyn6jLZnAiJApw2N9XrIsXUAdThf01i7yrEuqUmDGc7/CexVWwEcgbQR97XQ+mcnqJpmJ/92B4Aw==", 1229 | "requires": { 1230 | "@discordjs/collection": "^0.1.6", 1231 | "@discordjs/form-data": "^3.0.1", 1232 | "abort-controller": "^3.0.0", 1233 | "node-fetch": "^2.6.1", 1234 | "prism-media": "^1.2.9", 1235 | "setimmediate": "^1.0.5", 1236 | "tweetnacl": "^1.0.3", 1237 | "ws": "^7.4.4" 1238 | } 1239 | }, 1240 | "ee-first": { 1241 | "version": "1.1.1", 1242 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 1243 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" 1244 | }, 1245 | "ejs": { 1246 | "version": "3.1.6", 1247 | "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz", 1248 | "integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==", 1249 | "requires": { 1250 | "jake": "^10.6.1" 1251 | } 1252 | }, 1253 | "encodeurl": { 1254 | "version": "1.0.2", 1255 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", 1256 | "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" 1257 | }, 1258 | "es5-ext": { 1259 | "version": "0.10.59", 1260 | "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.59.tgz", 1261 | "integrity": "sha512-cOgyhW0tIJyQY1Kfw6Kr0viu9ZlUctVchRMZ7R0HiH3dxTSp5zJDLecwxUqPUrGKMsgBI1wd1FL+d9Jxfi4cLw==", 1262 | "requires": { 1263 | "es6-iterator": "^2.0.3", 1264 | "es6-symbol": "^3.1.3", 1265 | "next-tick": "^1.1.0" 1266 | } 1267 | }, 1268 | "es6-iterator": { 1269 | "version": "2.0.3", 1270 | "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", 1271 | "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", 1272 | "requires": { 1273 | "d": "1", 1274 | "es5-ext": "^0.10.35", 1275 | "es6-symbol": "^3.1.1" 1276 | } 1277 | }, 1278 | "es6-symbol": { 1279 | "version": "3.1.3", 1280 | "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", 1281 | "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", 1282 | "requires": { 1283 | "d": "^1.0.1", 1284 | "ext": "^1.1.2" 1285 | } 1286 | }, 1287 | "es6-weak-map": { 1288 | "version": "2.0.3", 1289 | "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", 1290 | "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", 1291 | "requires": { 1292 | "d": "1", 1293 | "es5-ext": "^0.10.46", 1294 | "es6-iterator": "^2.0.3", 1295 | "es6-symbol": "^3.1.1" 1296 | } 1297 | }, 1298 | "escape-html": { 1299 | "version": "1.0.3", 1300 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 1301 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" 1302 | }, 1303 | "etag": { 1304 | "version": "1.8.1", 1305 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", 1306 | "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" 1307 | }, 1308 | "event-emitter": { 1309 | "version": "0.3.5", 1310 | "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", 1311 | "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", 1312 | "requires": { 1313 | "d": "1", 1314 | "es5-ext": "~0.10.14" 1315 | } 1316 | }, 1317 | "event-target-shim": { 1318 | "version": "5.0.1", 1319 | "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", 1320 | "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" 1321 | }, 1322 | "express": { 1323 | "version": "4.17.3", 1324 | "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", 1325 | "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", 1326 | "requires": { 1327 | "accepts": "~1.3.8", 1328 | "array-flatten": "1.1.1", 1329 | "body-parser": "1.19.2", 1330 | "content-disposition": "0.5.4", 1331 | "content-type": "~1.0.4", 1332 | "cookie": "0.4.2", 1333 | "cookie-signature": "1.0.6", 1334 | "debug": "2.6.9", 1335 | "depd": "~1.1.2", 1336 | "encodeurl": "~1.0.2", 1337 | "escape-html": "~1.0.3", 1338 | "etag": "~1.8.1", 1339 | "finalhandler": "~1.1.2", 1340 | "fresh": "0.5.2", 1341 | "merge-descriptors": "1.0.1", 1342 | "methods": "~1.1.2", 1343 | "on-finished": "~2.3.0", 1344 | "parseurl": "~1.3.3", 1345 | "path-to-regexp": "0.1.7", 1346 | "proxy-addr": "~2.0.7", 1347 | "qs": "6.9.7", 1348 | "range-parser": "~1.2.1", 1349 | "safe-buffer": "5.2.1", 1350 | "send": "0.17.2", 1351 | "serve-static": "1.14.2", 1352 | "setprototypeof": "1.2.0", 1353 | "statuses": "~1.5.0", 1354 | "type-is": "~1.6.18", 1355 | "utils-merge": "1.0.1", 1356 | "vary": "~1.1.2" 1357 | } 1358 | }, 1359 | "express-session": { 1360 | "version": "1.17.2", 1361 | "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.17.2.tgz", 1362 | "integrity": "sha512-mPcYcLA0lvh7D4Oqr5aNJFMtBMKPLl++OKKxkHzZ0U0oDq1rpKBnkR5f5vCHR26VeArlTOEF9td4x5IjICksRQ==", 1363 | "requires": { 1364 | "cookie": "0.4.1", 1365 | "cookie-signature": "1.0.6", 1366 | "debug": "2.6.9", 1367 | "depd": "~2.0.0", 1368 | "on-headers": "~1.0.2", 1369 | "parseurl": "~1.3.3", 1370 | "safe-buffer": "5.2.1", 1371 | "uid-safe": "~2.1.5" 1372 | }, 1373 | "dependencies": { 1374 | "cookie": { 1375 | "version": "0.4.1", 1376 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", 1377 | "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==" 1378 | }, 1379 | "depd": { 1380 | "version": "2.0.0", 1381 | "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", 1382 | "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" 1383 | } 1384 | } 1385 | }, 1386 | "ext": { 1387 | "version": "1.6.0", 1388 | "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", 1389 | "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", 1390 | "requires": { 1391 | "type": "^2.5.0" 1392 | }, 1393 | "dependencies": { 1394 | "type": { 1395 | "version": "2.6.0", 1396 | "resolved": "https://registry.npmjs.org/type/-/type-2.6.0.tgz", 1397 | "integrity": "sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ==" 1398 | } 1399 | } 1400 | }, 1401 | "filelist": { 1402 | "version": "1.0.2", 1403 | "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz", 1404 | "integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==", 1405 | "requires": { 1406 | "minimatch": "^3.0.4" 1407 | } 1408 | }, 1409 | "finalhandler": { 1410 | "version": "1.1.2", 1411 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", 1412 | "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", 1413 | "requires": { 1414 | "debug": "2.6.9", 1415 | "encodeurl": "~1.0.2", 1416 | "escape-html": "~1.0.3", 1417 | "on-finished": "~2.3.0", 1418 | "parseurl": "~1.3.3", 1419 | "statuses": "~1.5.0", 1420 | "unpipe": "~1.0.0" 1421 | } 1422 | }, 1423 | "forwarded": { 1424 | "version": "0.2.0", 1425 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", 1426 | "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" 1427 | }, 1428 | "fresh": { 1429 | "version": "0.5.2", 1430 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", 1431 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" 1432 | }, 1433 | "has-flag": { 1434 | "version": "4.0.0", 1435 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 1436 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" 1437 | }, 1438 | "http-errors": { 1439 | "version": "1.8.1", 1440 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", 1441 | "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", 1442 | "requires": { 1443 | "depd": "~1.1.2", 1444 | "inherits": "2.0.4", 1445 | "setprototypeof": "1.2.0", 1446 | "statuses": ">= 1.5.0 < 2", 1447 | "toidentifier": "1.0.1" 1448 | } 1449 | }, 1450 | "iconv-lite": { 1451 | "version": "0.4.24", 1452 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 1453 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 1454 | "requires": { 1455 | "safer-buffer": ">= 2.1.2 < 3" 1456 | } 1457 | }, 1458 | "inherits": { 1459 | "version": "2.0.4", 1460 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1461 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 1462 | }, 1463 | "ipaddr.js": { 1464 | "version": "1.9.1", 1465 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", 1466 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" 1467 | }, 1468 | "is-promise": { 1469 | "version": "2.2.2", 1470 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", 1471 | "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" 1472 | }, 1473 | "jake": { 1474 | "version": "10.8.4", 1475 | "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.4.tgz", 1476 | "integrity": "sha512-MtWeTkl1qGsWUtbl/Jsca/8xSoK3x0UmS82sNbjqxxG/de/M/3b1DntdjHgPMC50enlTNwXOCRqPXLLt5cCfZA==", 1477 | "requires": { 1478 | "async": "0.9.x", 1479 | "chalk": "^4.0.2", 1480 | "filelist": "^1.0.1", 1481 | "minimatch": "^3.0.4" 1482 | } 1483 | }, 1484 | "lru-queue": { 1485 | "version": "0.1.0", 1486 | "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", 1487 | "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", 1488 | "requires": { 1489 | "es5-ext": "~0.10.2" 1490 | } 1491 | }, 1492 | "media-typer": { 1493 | "version": "0.3.0", 1494 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", 1495 | "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" 1496 | }, 1497 | "memoizee": { 1498 | "version": "0.4.15", 1499 | "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", 1500 | "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", 1501 | "requires": { 1502 | "d": "^1.0.1", 1503 | "es5-ext": "^0.10.53", 1504 | "es6-weak-map": "^2.0.3", 1505 | "event-emitter": "^0.3.5", 1506 | "is-promise": "^2.2.2", 1507 | "lru-queue": "^0.1.0", 1508 | "next-tick": "^1.1.0", 1509 | "timers-ext": "^0.1.7" 1510 | } 1511 | }, 1512 | "merge-descriptors": { 1513 | "version": "1.0.1", 1514 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", 1515 | "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" 1516 | }, 1517 | "methods": { 1518 | "version": "1.1.2", 1519 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", 1520 | "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" 1521 | }, 1522 | "mime": { 1523 | "version": "1.6.0", 1524 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 1525 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" 1526 | }, 1527 | "mime-db": { 1528 | "version": "1.52.0", 1529 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 1530 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" 1531 | }, 1532 | "mime-types": { 1533 | "version": "2.1.35", 1534 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 1535 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 1536 | "requires": { 1537 | "mime-db": "1.52.0" 1538 | } 1539 | }, 1540 | "minimatch": { 1541 | "version": "3.1.2", 1542 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1543 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1544 | "requires": { 1545 | "brace-expansion": "^1.1.7" 1546 | } 1547 | }, 1548 | "moment": { 1549 | "version": "2.29.1", 1550 | "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", 1551 | "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" 1552 | }, 1553 | "ms": { 1554 | "version": "2.0.0", 1555 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1556 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 1557 | }, 1558 | "negotiator": { 1559 | "version": "0.6.3", 1560 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", 1561 | "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" 1562 | }, 1563 | "next-tick": { 1564 | "version": "1.1.0", 1565 | "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", 1566 | "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" 1567 | }, 1568 | "node-fetch": { 1569 | "version": "2.6.7", 1570 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", 1571 | "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", 1572 | "requires": { 1573 | "whatwg-url": "^5.0.0" 1574 | } 1575 | }, 1576 | "on-finished": { 1577 | "version": "2.3.0", 1578 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", 1579 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", 1580 | "requires": { 1581 | "ee-first": "1.1.1" 1582 | } 1583 | }, 1584 | "on-headers": { 1585 | "version": "1.0.2", 1586 | "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", 1587 | "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" 1588 | }, 1589 | "parseurl": { 1590 | "version": "1.3.3", 1591 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", 1592 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" 1593 | }, 1594 | "path-to-regexp": { 1595 | "version": "0.1.7", 1596 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", 1597 | "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" 1598 | }, 1599 | "prism-media": { 1600 | "version": "1.3.2", 1601 | "resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.3.2.tgz", 1602 | "integrity": "sha512-L6UsGHcT6i4wrQhFF1aPK+MNYgjRqR2tUoIqEY+CG1NqVkMjPRKzS37j9f8GiYPlD6wG9ruBj+q5Ax+bH8Ik1g==", 1603 | "requires": {} 1604 | }, 1605 | "proxy-addr": { 1606 | "version": "2.0.7", 1607 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", 1608 | "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", 1609 | "requires": { 1610 | "forwarded": "0.2.0", 1611 | "ipaddr.js": "1.9.1" 1612 | } 1613 | }, 1614 | "qs": { 1615 | "version": "6.9.7", 1616 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", 1617 | "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==" 1618 | }, 1619 | "random-bytes": { 1620 | "version": "1.0.0", 1621 | "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", 1622 | "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" 1623 | }, 1624 | "range-parser": { 1625 | "version": "1.2.1", 1626 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", 1627 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" 1628 | }, 1629 | "raw-body": { 1630 | "version": "2.4.3", 1631 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz", 1632 | "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==", 1633 | "requires": { 1634 | "bytes": "3.1.2", 1635 | "http-errors": "1.8.1", 1636 | "iconv-lite": "0.4.24", 1637 | "unpipe": "1.0.0" 1638 | } 1639 | }, 1640 | "safe-buffer": { 1641 | "version": "5.2.1", 1642 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 1643 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" 1644 | }, 1645 | "safer-buffer": { 1646 | "version": "2.1.2", 1647 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 1648 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 1649 | }, 1650 | "send": { 1651 | "version": "0.17.2", 1652 | "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", 1653 | "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", 1654 | "requires": { 1655 | "debug": "2.6.9", 1656 | "depd": "~1.1.2", 1657 | "destroy": "~1.0.4", 1658 | "encodeurl": "~1.0.2", 1659 | "escape-html": "~1.0.3", 1660 | "etag": "~1.8.1", 1661 | "fresh": "0.5.2", 1662 | "http-errors": "1.8.1", 1663 | "mime": "1.6.0", 1664 | "ms": "2.1.3", 1665 | "on-finished": "~2.3.0", 1666 | "range-parser": "~1.2.1", 1667 | "statuses": "~1.5.0" 1668 | }, 1669 | "dependencies": { 1670 | "ms": { 1671 | "version": "2.1.3", 1672 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 1673 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" 1674 | } 1675 | } 1676 | }, 1677 | "serve-static": { 1678 | "version": "1.14.2", 1679 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", 1680 | "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", 1681 | "requires": { 1682 | "encodeurl": "~1.0.2", 1683 | "escape-html": "~1.0.3", 1684 | "parseurl": "~1.3.3", 1685 | "send": "0.17.2" 1686 | } 1687 | }, 1688 | "setimmediate": { 1689 | "version": "1.0.5", 1690 | "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", 1691 | "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" 1692 | }, 1693 | "setprototypeof": { 1694 | "version": "1.2.0", 1695 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", 1696 | "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" 1697 | }, 1698 | "statuses": { 1699 | "version": "1.5.0", 1700 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", 1701 | "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" 1702 | }, 1703 | "supports-color": { 1704 | "version": "7.2.0", 1705 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 1706 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 1707 | "requires": { 1708 | "has-flag": "^4.0.0" 1709 | } 1710 | }, 1711 | "timers-ext": { 1712 | "version": "0.1.7", 1713 | "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", 1714 | "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", 1715 | "requires": { 1716 | "es5-ext": "~0.10.46", 1717 | "next-tick": "1" 1718 | } 1719 | }, 1720 | "toidentifier": { 1721 | "version": "1.0.1", 1722 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", 1723 | "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" 1724 | }, 1725 | "tr46": { 1726 | "version": "0.0.3", 1727 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", 1728 | "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" 1729 | }, 1730 | "tweetnacl": { 1731 | "version": "1.0.3", 1732 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", 1733 | "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" 1734 | }, 1735 | "type": { 1736 | "version": "1.2.0", 1737 | "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", 1738 | "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" 1739 | }, 1740 | "type-is": { 1741 | "version": "1.6.18", 1742 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", 1743 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", 1744 | "requires": { 1745 | "media-typer": "0.3.0", 1746 | "mime-types": "~2.1.24" 1747 | } 1748 | }, 1749 | "uid-safe": { 1750 | "version": "2.1.5", 1751 | "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", 1752 | "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", 1753 | "requires": { 1754 | "random-bytes": "~1.0.0" 1755 | } 1756 | }, 1757 | "unpipe": { 1758 | "version": "1.0.0", 1759 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 1760 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" 1761 | }, 1762 | "utils-merge": { 1763 | "version": "1.0.1", 1764 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", 1765 | "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" 1766 | }, 1767 | "vary": { 1768 | "version": "1.1.2", 1769 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", 1770 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" 1771 | }, 1772 | "webidl-conversions": { 1773 | "version": "3.0.1", 1774 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", 1775 | "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" 1776 | }, 1777 | "whatwg-url": { 1778 | "version": "5.0.0", 1779 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", 1780 | "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", 1781 | "requires": { 1782 | "tr46": "~0.0.3", 1783 | "webidl-conversions": "^3.0.0" 1784 | } 1785 | }, 1786 | "ws": { 1787 | "version": "7.5.7", 1788 | "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", 1789 | "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==", 1790 | "requires": {} 1791 | } 1792 | } 1793 | } 1794 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Discord bot website by vsl-dev", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "server.js", 6 | "scripts": { 7 | "start": "node server.js", 8 | "test": "echo \"Error: no test specified\" && exit 1" 9 | }, 10 | "keywords": [], 11 | "author": "github.com/vsl-dev", 12 | "license": "ISC", 13 | "dependencies": { 14 | "body-parser": "^1.19.2", 15 | "cli-color": "^2.0.2", 16 | "discord.js": "^12.5.0", 17 | "ejs": "^3.1.6", 18 | "express": "^4.17.3", 19 | "express-session": "^1.17.2", 20 | "moment": "^2.29.1" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /replit.nix: -------------------------------------------------------------------------------- 1 | { pkgs }: { 2 | deps = [ 3 | pkgs.nodejs-16_x 4 | pkgs.nodePackages.typescript-language-server 5 | pkgs.nodePackages.yarn 6 | pkgs.replitPackages.jest 7 | ]; 8 | } -------------------------------------------------------------------------------- /server.js: -------------------------------------------------------------------------------- 1 | const express = require("express"); 2 | const app = express(); 3 | const bodyparser = require("body-parser"); 4 | const session = require("express-session"); 5 | const path = require("path"); 6 | const ejs = require("ejs"); 7 | const url = require("url"); 8 | const moment = require('moment') 9 | var clc = require("cli-color"); 10 | const cnfg = require("./config.json"); 11 | const Discord = require('discord.js'); 12 | const client = new Discord.Client(); 13 | const PORT = 8080 14 | 15 | // engines and other 16 | 17 | app.use(bodyparser.json()); 18 | app.use(bodyparser.urlencoded({ extended: true })); 19 | app.engine("html", ejs.renderFile); 20 | app.set('view engine', 'ejs'); 21 | app.set('views', path.join(__dirname, "/web/views")); 22 | app.use(express.static(path.join(__dirname, "/web/public"))); 23 | app.use('/assets', express.static('assets')); 24 | app.set('json spaces', 1) 25 | 26 | // discord bot 27 | 28 | client.on('ready', () => { 29 | console.log("Discord client logged!") 30 | }); 31 | 32 | client.login("YOUR BOT TOKEN"); 33 | 34 | // pages 35 | 36 | app.get('/', async(req, res) => { 37 | res.render('index', { 38 | user: req.user, 39 | chnc: client.channels.cache.size, 40 | usrc: client.users.cache.size, 41 | gldc: client.guilds.cache.size, 42 | cnfg 43 | }) 44 | }) 45 | 46 | app.get('/commands', (req, res) => { 47 | const commands = require('./commands.json'); 48 | const cmd = commands.commands 49 | res.render('commands', { 50 | user: req.user, 51 | cnfg, cmd 52 | }) 53 | }) 54 | 55 | // links 56 | 57 | app.get('/invite', (req, res) => { 58 | res.redirect(cnfg.links.bot_invite) 59 | }) 60 | 61 | app.get('/support', (req, res) => { 62 | res.redirect(cnfg.links.support_server) 63 | }) 64 | 65 | app.get('/vote', (req, res) => { 66 | res.redirect(cnfg.links.vote_utl) 67 | }) 68 | 69 | // error page 70 | 71 | app.get("/error", (req, res) => { 72 | res.render("error", { 73 | user: req.user, 74 | statuscode: req.query.statuscode, 75 | message: req.query.message, 76 | cnfg 77 | }); 78 | }); 79 | 80 | app.use((req, res) => { 81 | const err = new Error("Not Found"); 82 | err.status = 404; 83 | return res.redirect( 84 | url.format({ 85 | pathname: "/error", 86 | query: { 87 | statuscode: 404, 88 | message: "Page Not Found!" 89 | } 90 | }) 91 | ); 92 | }); 93 | 94 | // other 95 | 96 | app.listen(PORT, () => { 97 | console.log("Project running on port - " + PORT) 98 | console.log("Github - https://github.com/vsl-dev") 99 | console.log("Developer - https://vsldev.tk") 100 | }) 101 | -------------------------------------------------------------------------------- /web/public/script.js: -------------------------------------------------------------------------------- 1 | // Go top button 2 | 3 | window.onscroll = function() {scrollFunction()}; 4 | 5 | function scrollFunction() { 6 | if (document.body.scrollTop > 50 || document.documentElement.scrollTop > 50) { 7 | document.getElementById("goTopBtn").style.display = "block"; 8 | } else { 9 | document.getElementById("goTopBtn").style.display = "none"; 10 | } 11 | } 12 | 13 | function goTop() { 14 | document.body.scrollTop = 0; 15 | document.documentElement.scrollTop = 0; 16 | } 17 | 18 | // command search system 19 | 20 | function searchCmd() { 21 | var input, filter, table, tr, td, i, txtValue; 22 | input = document.getElementById("searchCommands"); 23 | filter = input.value.toUpperCase(); 24 | table = document.getElementById("cmdTable"); 25 | tr = table.getElementsByTagName("tr"); 26 | for (i = 0; i < tr.length; i++) { 27 | td = tr[i].getElementsByTagName("td")[0]; 28 | if (td) { 29 | txtValue = td.textContent || td.innerText; 30 | if (txtValue.toUpperCase().indexOf(filter) > -1) { 31 | tr[i].style.display = ""; 32 | } else { 33 | tr[i].style.display = "none"; 34 | } 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /web/public/style.css: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css2?family=Open+Sans&family=Varela+Round&display=swap'); 2 | @import url('https://fonts.googleapis.com/css2?family=Kanit:wght@300&display=swap'); 3 | @import url('https://fonts.googleapis.com/css2?family=Lexend+Deca&display=swap'); 4 | @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@500&display=swap'); 5 | @import url('https://fonts.googleapis.com/css2?family=Poppins&display=swap'); 6 | @font-face { 7 | font-family: "Uni Sans"; 8 | src: url("../assets/fonts/uni-sans.heavy-caps.otf"); 9 | font-weight: 500; 10 | } 11 | 12 | :root { 13 | --font-color: white; 14 | --bg-color: #1d1e22; 15 | --page-color: #Ff005a; 16 | } 17 | 18 | * { 19 | margin: 0; 20 | padding: 0; 21 | box-sizing: border-box; 22 | } 23 | 24 | html { 25 | scroll-behavior: smooth; 26 | } 27 | 28 | body { 29 | background-color: var(--bg-color); 30 | border-top: 6px solid var(--page-color); 31 | } 32 | 33 | .tos { 34 | font-family: 'Lexend Deca', sans-serif; 35 | color: var(--font-color); 36 | height: auto!important; 37 | width: 65%; 38 | font-size: 17px; 39 | border: 17px; 40 | border: 3px solid white; 41 | border-radius: 17px; 42 | word-break: break-all; 43 | text-align: left; 44 | padding: 13px 3px 13px 3px; 45 | margin: 40px 0 0 0; 46 | } 47 | 48 | .tos_title { 49 | font-family: 'Uni Sans', sans-serif; 50 | padding: 3px 0 3px 0; 51 | color: var(--font-color); 52 | font-size: 40px; 53 | text-align: center; 54 | } 55 | 56 | .tos_text { 57 | padding: 0 0 0 27%; 58 | } 59 | 60 | .main { 61 | padding: 230px 0 0 105px; 62 | } 63 | 64 | .main_title { 65 | font-family: 'Uni Sans', sans-serif; 66 | color: var(--font-color); 67 | font-size: 36px; 68 | } 69 | 70 | .main_invite_button { 71 | margin: 13px 1px; 72 | color: var(--font-color); 73 | background-color: var(--page-color); 74 | padding: 14px 45px; 75 | font-weight: 500; 76 | border-radius: 7px; 77 | transition: 0.3s; 78 | } 79 | 80 | .main_support_button { 81 | margin: 13px 1px; 82 | color: var(--font-color); 83 | background-color: #3b3d40; 84 | padding: 14px 45px; 85 | font-weight: 500; 86 | border-radius: 7px; 87 | transition: 0.3s; 88 | } 89 | 90 | .main_invite_button:hover { 91 | background-color: #eb0052; 92 | transition: 0.3s; 93 | } 94 | 95 | .main_alt_title { 96 | font-family: 'Uni Sans', sans-serif; 97 | font-weight: 100; 98 | color: #7a7a7a; 99 | font-size: 17px; 100 | } 101 | 102 | .f__title { 103 | font-family: 'Uni Sans', sans-serif; 104 | color: var(--font-color); 105 | font-size: 26px; 106 | padding: 30px 0 13px 110px; 107 | } 108 | 109 | .line_1 { 110 | width: 100%; 111 | height: 2.5px; 112 | margin: 45px 0 0 0; 113 | color: var(--font-color); 114 | opacity: 55%; 115 | background-color: var(--font-color); 116 | } 117 | 118 | .line_2 { 119 | width: 100%; 120 | height: 2.5px; 121 | margin: 21% 0 0 0; 122 | color: var(--font-color); 123 | opacity: 55%; 124 | background-color: var(--font-color); 125 | } 126 | 127 | .row { 128 | display: flex; 129 | flex-wrap: wrap; 130 | } 131 | 132 | .row_reverse { 133 | display: flex; 134 | flex-wrap: wrap; 135 | } 136 | 137 | .features__title { 138 | font-family: 'Uni Sans', sans-serif; 139 | color: var(--font-color); 140 | font-size: 23px; 141 | margin: 50px 20px 20px 55px; 142 | font-weight: bold; 143 | flex: 0 0 45%; 144 | } 145 | 146 | .features__alt__title { 147 | font-family: sans-serif; 148 | color: #7a7a7a; 149 | font-size: 17px; 150 | padding: 60px 20px 20px 0px; 151 | } 152 | 153 | .features__img { 154 | margin: 20px 20px 20px 125px; 155 | border-radius: 27px; 156 | border: none; 157 | width: 400px; 158 | height: auto!important; 159 | transform: scale(1) perspective(1000px) rotateX(5deg) rotateY(30deg) rotate(-9deg); /* translateX(-55px) */ 160 | transition: 0.7s; 161 | } 162 | 163 | .features__img__reverse { 164 | margin: 20px 20px 20px 105px; 165 | border-radius: 27px; 166 | border: none; 167 | width: 400px; 168 | height: auto!important; 169 | transform: scale(1) perspective(1000px) rotateX(5deg) rotateY(-30deg) rotate(9deg); /* translateX(-55px) */ 170 | transition: 0.7s; 171 | } 172 | 173 | .features__title__reverse { 174 | font-family: 'Uni Sans', sans-serif; 175 | color: var(--font-color); 176 | font-size: 23px; 177 | margin: 70px 20px 20px 13%; 178 | font-weight: bold; 179 | flex: 0 0 45%; 180 | } 181 | 182 | .features__img:hover, 183 | .features__img__reverse:hover { 184 | transform: none; 185 | transition: 0.7s; 186 | } 187 | 188 | .stats { 189 | align-items: center; 190 | } 191 | 192 | .stats_counters { 193 | width: 18rem; 194 | text-align: center; 195 | display: inline-block; 196 | padding: 65px 0 65px 0; 197 | letter-spacing: -0.07em; 198 | line-height: 35px; 199 | font-size: 50px; 200 | font-weight: bold; 201 | color: var(--page-color); 202 | background-color: transparent; 203 | } 204 | 205 | .copright p { 206 | color: #a2a8bd; 207 | font-size: 15px; 208 | font-weight: bold; 209 | padding: 20px 0 25px 0; 210 | text-align: center; 211 | } 212 | 213 | 214 | .ending { 215 | padding: 80px 0 0 105px; 216 | } 217 | 218 | .end_title { 219 | font-family: 'Uni Sans', sans-serif; 220 | color: var(--font-color); 221 | font-size: 36px; 222 | } 223 | 224 | .end_alt_title { 225 | font-family: 'Uni Sans', sans-serif; 226 | font-weight: 100; 227 | color: #7a7a7a; 228 | font-size: 17px; 229 | } 230 | 231 | .end_invite_button { 232 | margin: 13px 1px; 233 | color: var(--font-color); 234 | background-color: var(--page-color); 235 | padding: 14px 75px; 236 | font-weight: 500; 237 | border-radius: 7px; 238 | transition: 0.3s; 239 | } 240 | 241 | #features { 242 | background-color: #222328 /* #232428 */; 243 | width: 100%; 244 | height: auto!important; 245 | margin: 21% 0 0 0; 246 | } 247 | 248 | #end { 249 | background-color: #222328 /* #232428 */; 250 | width: 100%; 251 | height: auto!important; 252 | margin: 10% 0 0 0; 253 | } 254 | 255 | #footer { 256 | background-color: #222328 /* #232428 */; 257 | width: 100%; 258 | height: auto!important; 259 | margin: 0; 260 | } 261 | 262 | #searchCommands { 263 | background-image: url('https://cdn.vsldev.tk/images/bqjHsRpLoOeH52MN75ML.png'); 264 | background-size: 23px; 265 | background-position: 10px 12px; 266 | background-repeat: no-repeat; 267 | width: 80%; 268 | border-radius: 13px; 269 | font-size: 16px; 270 | padding: 12px 20px 12px 40px; 271 | margin-bottom: 12px; 272 | } 273 | 274 | #cmdTable { 275 | border-collapse: collapse; 276 | width: 100%; 277 | border: 2px solid var(--page-color); 278 | font-size: 18px; 279 | } 280 | 281 | #cmdTable tr, td, th { 282 | color: var(--font-color); 283 | border: 2px solid var(--page-color); 284 | text-align: left; 285 | padding: 12px; 286 | } 287 | 288 | #cmdTable td { 289 | color: var(--font-color); 290 | } 291 | 292 | /* Scrollbar */ 293 | 294 | ::-webkit-scrollbar { 295 | width: 8px; 296 | height: 13px; 297 | } 298 | ::-webkit-scrollbar-track { 299 | box-shadow: inset 0 0 3px var(--page-color); 300 | border-radius: 10px; 301 | } 302 | ::-webkit-scrollbar-thumb { 303 | background: var(--page-color); 304 | border-radius: 10px; 305 | } 306 | ::-webkit-scrollbar-thumb:hover { 307 | background: var(--page-color); 308 | } 309 | 310 | /* Go top button */ 311 | 312 | #goTopBtn { 313 | display: none; 314 | position: fixed; 315 | bottom: 20px; 316 | right: 30px; 317 | z-index: 99; 318 | font-size: 18px; 319 | border: none; 320 | outline: none; 321 | background-color: var(--page-color); 322 | color: var(--font-color); 323 | cursor: pointer; 324 | padding: 13px; 325 | border-radius: 12px; 326 | } 327 | 328 | #goTopBtn:hover { 329 | opacity: 85%; 330 | } 331 | 332 | @media only screen and (max-width: 600px), (max-width: 700px), (max-width: 800px), (max-width: 900px) { 333 | 334 | .main { 335 | padding: 200px 0 0 25px; 336 | } 337 | 338 | .ending { 339 | padding: 100px 0 0 25px; 340 | } 341 | 342 | #features { 343 | margin: 65% 0 0 0; 344 | } 345 | 346 | .tos { 347 | width: 85%; 348 | } 349 | 350 | .tos_text { 351 | padding: 0 0 0 3px; 352 | } 353 | 354 | .features__img, .features__img__reverse { 355 | margin: 20px 0 0 13%; 356 | width: 300px; 357 | } 358 | 359 | .features__title, .features__title__reverse { 360 | flex: auto; 361 | } 362 | 363 | .f__title { 364 | padding: 20px 20px 20px 0; 365 | text-align: center; 366 | } 367 | 368 | .row_reverse { 369 | flex-direction: column-reverse; 370 | } 371 | 372 | .main_support_button, 373 | .main_invite_button { 374 | margin: 10px 1px; 375 | } 376 | 377 | } -------------------------------------------------------------------------------- /web/views/commands.ejs: -------------------------------------------------------------------------------- 1 | <%- include('parts/meta') %> 2 | 3 |
Command | 17 |Description | 18 |Category | 19 |
---|---|---|
<%= x.command %> | 23 |<%= x.description %> | 24 |<%= x.category %> | 25 |
Fast, customizable discord's best bot YOUR BOT!
11 | 12 | 13 |Invite YOUR BOT and start giving your server cool perks!
59 | 60 |