exposeStats parameter

This commit is contained in:
loicbersier 2019-12-16 17:35:09 +01:00
parent 325687a244
commit 520cfd14b8
2 changed files with 41 additions and 37 deletions

View file

@ -7,6 +7,7 @@
"ownerID": "Id of the owner ( probably you )", //optional but recommended
"statsChannel": "channel where the bot send his stats", //optional but recommended
"supportServer": "Invite to the support server of the bot", //optional but recommended
"exposeStats": true, // False or true, it open a webserver that expose various stats about the bot
"feedbackChannel": "id of the channel where the feedback goes", //optional but recommended
"yandexAPI": "yandex api key", //optional | for the translate command
"acoustID": "acoust api key", //optional | for the music match command

View file

@ -2,7 +2,7 @@ const { Listener } = require('discord-akairo');
const akairoVersion = require('discord-akairo').version;
const djsVersion = require('discord.js').version;
const pjson = require('../../package.json');
const { prefix, statsChannel, ownerID, supportServer } = require('../../config.json');
const { prefix, statsChannel, ownerID, supportServer, exposeStats } = require('../../config.json');
const game = require('../../json/status/playing.json');
const watch = require('../../json/status/watching.json');
@ -73,44 +73,47 @@ class ReadyListener extends Listener {
*/
// Expose stats
const port = 3000;
if (exposeStats) {
const port = 3000;
const http = require('http');
const http = require('http');
const requestHandler = (req, res) => {
// Refresh some info
commandSize = this.client.commandHandler.modules.size;
guildSize = this.client.guilds.size;
userSize = this.client.users.size;
profilePicture = this.client.user.displayAvatarURL();
const requestHandler = (req, res) => {
// Refresh some info
commandSize = this.client.commandHandler.modules.size;
guildSize = this.client.guilds.size;
userSize = this.client.users.size;
profilePicture = this.client.user.displayAvatarURL();
let response = {
'commandSize': commandSize,
'ClientTag': clientTag,
'guildSize': guildSize,
'userSize': userSize,
'prefixSize': prefix.length,
'profilePicture': profilePicture,
'clientID': clientID,
'djsVersion': djsVersion,
'akairoVersion': akairoVersion,
'homepage': pjson.homepage,
'author': author,
'supportServer': supportServer
let response = {
'commandSize': commandSize,
'ClientTag': clientTag,
'guildSize': guildSize,
'userSize': userSize,
'prefixSize': prefix.length,
'profilePicture': profilePicture,
'clientID': clientID,
'djsVersion': djsVersion,
'akairoVersion': akairoVersion,
'homepage': pjson.homepage,
'author': author,
'supportServer': supportServer
};
res.statusCode = 200;
res.setHeader('Content-Type', 'application/json');
res.end(JSON.stringify(response));
};
res.statusCode = 200;
res.setHeader('Content-Type', 'application/json');
res.end(JSON.stringify(response));
};
const server = http.createServer(requestHandler);
const server = http.createServer(requestHandler);
server.listen(port, (err) => {
if (err) {
return console.log('something bad happened', err);
}
});
console.log(`Exposing stats on port ${port}`);
}
server.listen(port, (err) => {
if (err) {
return console.log('something bad happened', err);
}
});
console.log(`Exposing stats on port ${port}`);
console.log('===========[ READY ]===========');
}