Added uptime informations
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,4 +1,5 @@
|
||||
/node_modules/
|
||||
/config.json
|
||||
/logoriDB/
|
||||
/.vs/
|
||||
/.vs/
|
||||
/uptime.json
|
||||
4
index.js
4
index.js
@@ -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();
|
||||
|
||||
@@ -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
26
src/uptimeManager.js
Normal 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));
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user