first commit probably lots of errors
This commit is contained in:
commit
ec94c2080b
99 changed files with 10227 additions and 0 deletions
22
src/applications/bot.js
Normal file
22
src/applications/bot.js
Normal file
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
* licence https://github.com/404invalid-user/knightrider/blob/main/LICENCE
|
||||
*/
|
||||
const chalk = require('chalk')
|
||||
const { readdirSync } = require('fs')
|
||||
const Discord = require('discord.js')
|
||||
module.exports = (client, webServer) => {
|
||||
|
||||
client.commands = new Discord.Collection();
|
||||
client.addons = [];
|
||||
const handlers = readdirSync(__dirname + '/../bot/handlers/').filter((file) => file.endsWith(".js"));
|
||||
for (let handler of handlers) {
|
||||
require(`../bot/handlers/${handler}`)(client);
|
||||
}
|
||||
|
||||
try {
|
||||
client.login(require('../conf/tokens').bot.token);
|
||||
} catch (error) {
|
||||
console.log(chalk.blue('[bot]: ') + chalk.red('(error): ') + "cant login error: " + error);
|
||||
|
||||
}
|
||||
}
|
48
src/applications/webserver.js
Normal file
48
src/applications/webserver.js
Normal file
|
@ -0,0 +1,48 @@
|
|||
/*
|
||||
* licence https://github.com/404invalid-user/knightrider/blob/main/LICENCE
|
||||
*/
|
||||
const chalk = require('chalk')
|
||||
const bodyParser = require('body-parser');
|
||||
const rateLimit = require("express-rate-limit");
|
||||
const express = require('express')
|
||||
const fs = require('fs')
|
||||
const conf = require('../conf/conf.json')
|
||||
|
||||
module.exports = (client, webServer) => {
|
||||
|
||||
webServer.use(bodyParser.json());
|
||||
webServer.use(bodyParser.urlencoded({ extended: true }));
|
||||
webServer.use(express.static(__dirname + '/../express/www/static'));
|
||||
webServer.set('view engine', 'ejs');
|
||||
webServer.set('views', __dirname + '/../express/www/views');
|
||||
webServer.use((req, res, next) => {
|
||||
const { headers: { cookie } } = req;
|
||||
if (cookie) {
|
||||
const values = cookie.split(';').reduce((res, item) => {
|
||||
const data = item.trim().split('=');
|
||||
return {...res, [data[0]]: data[1] };
|
||||
}, {});
|
||||
res.locals.cookie = values;
|
||||
} else res.locals.cookie = {};
|
||||
next();
|
||||
});
|
||||
//rate limit the api so we dont have spam
|
||||
const apiLimiter = rateLimit({
|
||||
windowMs: 15 * 60 * 1000, // 15 minutes
|
||||
max: 400
|
||||
});
|
||||
|
||||
webServer.use("/api/", apiLimiter);
|
||||
|
||||
['get', 'post'].forEach(handler => {
|
||||
require(`../express/handlers/${handler}`)(client, webServer)
|
||||
})
|
||||
|
||||
try {
|
||||
webServer.listen(conf.port, () => {
|
||||
console.log(chalk.cyan('[webServer]: ') + 'running at ' + conf.domain + ' (port:' + conf.port + ')')
|
||||
});
|
||||
} catch (error) {
|
||||
console.log(chalk.cyan('[webServer]: ') + chalk.cyan('(error): ') + 'could not start the web server error: ' + error)
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue