Added uptime informations

This commit is contained in:
ahoZiorce
2018-07-06 13:25:50 +02:00
parent e7315688e7
commit 7b1644369f
4 changed files with 45 additions and 2 deletions

3
.gitignore vendored
View File

@@ -1,4 +1,5 @@
/node_modules/
/config.json
/logoriDB/
/.vs/
/.vs/
/uptime.json

View File

@@ -1,6 +1,9 @@
const configM = require('./src/configManager');
const logger = require('./src/logger');
const commandH = require('./src/commandHandler');
const uptimeM = require('./src/uptimeManager');
uptimeM.loadUptime();
if (!configM.loadConfig('./config.json')) {
logger.error('No config file has been found in the directory, please configure the template that has been created.');
@@ -37,6 +40,7 @@ bot.on('messageCreate', (msg) => {
bot.connect();
process.on('SIGINT', async function() {
uptimeM.thingsDoTo();
await bot.disconnect();
logger.log('Disconnected');
process.exit();

View File

@@ -1,5 +1,6 @@
const commandH = require('../commandHandler');
const bot = require('../botClient').bot;
const uptimeM = require('../uptimeManager');
exports.loadModule = function loadModule () {
commandH.endpoint('^ping$', (match, message) => {
@@ -17,10 +18,21 @@ exports.loadModule = function loadModule () {
});
commandH.endpoint('^debug$', async (match, message) => {
let debugMessage = '```\n';
debugMessage += 'Logori v2.2.3\n\n';
debugMessage += 'Logori v2.2.4\n\n';
debugMessage += 'Shard id ' + message.channel.guild.shard.id + ' on ' + bot.shards.size + '\n';
debugMessage += 'Uptime : ' + bot.uptime / 1000 + ' seconds\n';
debugMessage += 'Memory Usage : ' + Math.floor(process.memoryUsage().rss / 1048576) + ' MiB\n';
if (uptimeM.uptimeInfo.runningTime) {
let t = new Date();
let totalTime = t.getTime() - uptimeM.uptimeInfo.firstLaunch;
let sessionDuration = t.getTime() - uptimeM.startTime.getTime();
let pourcentage = (uptimeM.uptimeInfo.runningTime + sessionDuration) / totalTime * 100;
let roundPourcentage = Math.round(pourcentage * 100) / 100;
debugMessage += 'Uptime Pourcentage : ' + roundPourcentage + '%\n';
}
else {
debugMessage += 'Uptime Pourcentage : 100%\n';
}
debugMessage += '```';
bot.createMessage(message.channel.id, debugMessage);
});

26
src/uptimeManager.js Normal file
View File

@@ -0,0 +1,26 @@
const fs = require('fs');
const uptimeInfoFile = './uptime.json';
exports.startTime = new Date();
exports.uptimeInfo = {};
exports.loadUptime = function loadUptime () {
if (fs.existsSync(uptimeInfoFile)) {
exports.uptimeInfo = JSON.parse(fs.readFileSync(uptimeInfoFile));
}
}
exports.thingsDoTo = function thingsToDo () {
let t = new Date();
if (!fs.existsSync(uptimeInfoFile)) {
exports.uptimeInfo.firstLaunch = exports.startTime.getTime();
exports.uptimeInfo.runningTime = t.getTime() - exports.startTime.getTime();
fs.writeFileSync(uptimeInfoFile, JSON.stringify(exports.uptimeInfo));
}
else {
exports.uptimeInfo.runningTime = exports.uptimeInfo.runningTime + (t.getTime() - exports.startTime.getTime());
fs.writeFileSync(uptimeInfoFile, JSON.stringify(exports.uptimeInfo));
}
};