diff --git a/lib/Utils.js b/lib/Utils.js index 66cd559..f7f1b00 100644 --- a/lib/Utils.js +++ b/lib/Utils.js @@ -15,6 +15,27 @@ var logs = ""; function Utils(mainWindow) { _mainWindow = mainWindow; + + this.injectVar("gglol", "test"); + + //Let's inject a decent alert box + var bdAlert = '\ +
\ +
\ +
\ +
\ + BetterDiscord - \ + \ + \ +
\ +
\ +
\ +
\ +
\ +
\ +
\ + '; + this.injectVar("BdAlert", bdAlert); } //Get browser mainwindow @@ -99,11 +120,42 @@ Utils.prototype.updateLoading = function(message, cur, max) { //Logger Utils.prototype.log = function(message) { - console.log("[BetterDiscord]" + message); - logs += message + eol; + console.log("[BetterDiscord INF] " + message); + var d = new Date(); + var ds = ("00" + (d.getDate() + 1)).slice(-2) + "/" + + ("00" + d.getMonth()).slice(-2) + "/" + + d.getFullYear() + " " + + ("00" + d.getHours()).slice(-2) + ":" + + ("00" + d.getMinutes()).slice(-2) + ":" + + ("00" + d.getSeconds()).slice(-2); + logs += "[INF]["+ds+"] " + message + eol; +} +Utils.prototype.err = function(err) { + console.log("[BetterDiscord ERR] " + err.message); + var d = new Date(); + var ds = ("00" + (d.getDate() + 1)).slice(-2) + "/" + + ("00" + d.getMonth()).slice(-2) + "/" + + d.getFullYear() + " " + + ("00" + d.getHours()).slice(-2) + ":" + + ("00" + d.getMinutes()).slice(-2) + ":" + + ("00" + d.getSeconds()).slice(-2); + logs += "[ERR]["+ds+"] " + err.message + eol; +} +Utils.prototype.warn = function(message) { + console.log("[BetterDiscord WRN] " + message); + var d = new Date(); + var ds = ("00" + (d.getDate() + 1)).slice(-2) + "/" + + ("00" + d.getMonth()).slice(-2) + "/" + + d.getFullYear() + " " + + ("00" + d.getHours()).slice(-2) + ":" + + ("00" + d.getMinutes()).slice(-2) + ":" + + ("00" + d.getSeconds()).slice(-2); + logs += "[WRN]["+ds+"] " + message + eol; } Utils.prototype.saveLogs = function(path) { - _fs.writeFileSync(path + "/logs.log", logs); + try { + _fs.writeFileSync(path + "/logs.log", logs); + }catch(err) {} } //Execute javascript @@ -116,6 +168,22 @@ Utils.prototype.execJsParse = function(js) { this.execJs(js); //TODO } +//Inject variable +Utils.prototype.injectVar = function(variable, data) { + this.execJs('var ' + variable + ' = "' + data + '";'); +} +Utils.prototype.injectVarRaw = function(variable, data) { + this.execJs('var ' + variable + ' = ' + data + ';'); +} + +//Alert +Utils.prototype.alert = function(title, message) { + this.execJs("document.body.insertAdjacentHTML('afterbegin', BdAlert);"); + this.execJs("document.getElementById('bdAlertTitle').innerHTML = \""+title+"\";"); + this.execJs("document.getElementById('bdAlertScroller').innerHTML = \""+message+"\";"); + this.execJs("document.getElementById('bdAlert').style.opacity = 1;"); +} + //Css internal style injector Utils.prototype.injectStylesheet = function(url) { var self = this;