Commit 9afa02f3 authored by Morgân von Brylân's avatar Morgân von Brylân

Retiré BatteryWarden qui a été transféré sur Commander Shepherd.

parent 66b35038
......@@ -2,7 +2,7 @@
This bot is french so if you don't speak french... well, too bad!
Version actuelle : 3.1871.3
Version actuelle : 3.1872.0
# Presentation
Strun Bah Couille est un bot brutal et vulgaire qui a pour but d'animer votre serveur. À l'origine, il servait uniquement d'entraînement, mais s'est tellement développé qu'il est réellement devenu un bot à part entière, avec sa propre utilité.
......
......@@ -11,19 +11,6 @@ const Discord = require("discord.js"),
licence = "```" + fs.readFileSync("COPYING.txt", "utf-8") + "```https://upload.wikimedia.org/wikipedia/commons/thumb/0/05/WTFPL_logo.svg/256px-WTFPL_logo.svg.png",
batteryWarden = {
cmd: "upower -i /org/freedesktop/UPower/devices/battery_BAT1",
timer: null,
threshold: 20,
lastAlert: 100,
rgxp_prc: /percentage: +[0-9]+/,
rgxp_time: /(time to full|time to empty):.+(hours|minutes|seconds)/,
rgxp_prcn: /[0-9]+/,
rgxp_charging: /state: +charging/,
rgxp_charged: /state: +fully-charged/
},
client = new Discord.Client({
messageCacheLifetime: 604800, // 7 jours
messageSweepInterval: 10800, // 3 heures
......@@ -132,7 +119,7 @@ if(fs.existsSync('./savedData.json'))
}
}
else
params = { version: settingsVersion, state: "normal", fullyChargedWarningInterval: 10, punis: [], ignoredChannels: [], spying: [], servers: {} };
params = { version: settingsVersion, state: "normal", punis: [], ignoredChannels: [], spying: [], servers: {} };
servers = params.servers;
......@@ -715,82 +702,6 @@ client.on("guildMemberUpdate", (oldM, newM) => {
function batteryWardenExec()
{
exec(batteryWarden.cmd, (err, stdout, stderr) => {
if(stderr)
master.send('Erreur de BatteryWarden : ' + stderr + (err ? "\nBatteryWarden désactivé (voir aussi l'erreur dans la console)." : "")).catch(error);
if(err !== null)
{
clearInterval(batteryWarden.timer);
return console.error(err);
}
let line = batteryWarden.rgxp_prc.exec(stdout);
if(batteryWarden.rgxp_charging.exec(line))
batteryWarden.lastAlert = 100;
else if(params.fullyChargedWarningInterval && batteryWarden.rgxp_charged.exec(stdout))
{
if(batteryWarden.lastAlert <= 100)
{
if(master.presence.status !== "offline")
{
master.send("Batterie pleine !").catch(error);
batteryWarden.lastAlert = 100 + params.fullyChargedWarningInterval;
}
}
else
batteryWarden.lastAlert--;
}
else
{
let prc = batteryWarden.rgxp_prcn.exec(line);
if(!prc || !isFinite(prc[0]))
master.send(`Error: could not parse '${line}'.`).catch(error);
else
{
prc = ~~prc;
if(prc < batteryWarden.threshold && prc < batteryWarden.lastAlert - 1)
{
batteryWarden.lastAlert = prc;
master.send("Hé, on est bientôt à cours de jus !").catch(error);
}
}
}
});
}
// If 'interval' is not false or a strictly positive integer, returns an error message.
function setBatteryWardenFullyChargedWarningInterval(interval)
{
var error;
if(isFinite(interval))
{
interval = Number(interval);
if(interval < 1 || interval !== ~~interval)
error = "Paramètre incorrect : doit être un entier strictement positif.";
else
params.fullyChargedWarningInterval = interval;
}
else if(interval === "false")
params.fullyChargedWarningInterval = false;
else
error = `Paramètre incorrect : ${interval}. Doit être false, ou un entier positif.`;
if(!error)
saveParams();
return error;
}
client.on("ready", () => {
console.log(`Logged in as ${client.user.tag} !`);
......@@ -818,9 +729,6 @@ client.on("ready", () => {
république.init(strunUtil, éphémérides);
}
if(!batteryWarden.timer && auth.batteryWarden)
batteryWarden.timer = setInterval(batteryWardenExec, 60000);
});
......@@ -973,12 +881,6 @@ client.on("message", msg => {
eval(prm);
break;
case ">battery":
case ">batterie":
if(checkMaster(msg.author))
c_batterie(msg, prm);
break;
case ">setstate":
case ">setstatus":
if(checkMaster(msg.author))
......@@ -1311,45 +1213,6 @@ function c_aide(channel, quiDemande, prefix)
}}).catch(error);
}
function c_batterie(msg, prm)
{
exec(batteryWarden.cmd, (error, stdout, stderr) => {
if(!stderr && !error)
{
prm = prm.toLowerCase();
if(["full", "complet", "detailed", "détaillé", "détail"].includes(prm))
msg.channel.send(stdout).then(delayedMsgDelete, error);
else if(prm.includes("warning") || prm.includes("interval")) // on cherche chargedWarningInterval, mais pas directement, pour prendre aussi chargedWarning, warningInterval, etc.
{
let cmd = prm.split(" ", 1)[0],
interval = prm.length > (cmd.length + 1) ? prm.substr(cmd.length + 1).trim() : '';
if(interval)
{
let error = setBatteryWardenFullyChargedWarningInterval(interval);
if(error)
msg.channel.send(error).catch(error);
}
else
msg.channel.send(`Intervalle : ${params.fullyChargedWarningInterval ? params.fullyChargedWarningInterval + " minutes" : "aucun (avertissements désactivés)"}.`).catch(error);
}
else
msg.channel.send(batteryWarden.rgxp_prc.exec(stdout)[0]
+ (batteryWarden.rgxp_charged.exec(stdout) ? "%\nChargée, prête à débrancher !" :
((batteryWarden.rgxp_charging.exec(stdout) ? ("% (en charge)\n") : "% (se décharge)\n")
+ batteryWarden.rgxp_time.exec(stdout)[0]) ) )
.then(delayedMsgDelete, error);
}
else
{
if(stderr)
master.send('stderr: ' + stderr + (error ? "\n(see also error in the shell)" : "")).catch(error);
if(error !== null)
console.error(error);
}
});
}
function c_MP(msg, prm)
{
var userRes = prm.split(" ", 1)[0], user;
......
{
"name": "strun_bah_couille",
"version": "3.1871.3",
"version": "3.1872.0",
"description": "Strun Bah Couille le Crisse-Barbe",
"main": "bot.js",
"repository": {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment