diff --git a/js/main.js b/js/main.js index 9f53f5d4..6dea28df 100644 --- a/js/main.js +++ b/js/main.js @@ -266,7 +266,7 @@ Core.prototype.initSettings = function () { this.saveSettings(); } else { this.loadSettings(); - + $('"),$("head").append(""),document.getElementsByClassName("bd-loaderv2")[0].remove(),settingsCookie["bda-gs-9"]&&r.showStartupErrors(),r.initObserver()):setTimeout(s,100)}var r=this,n="undefined"==typeof version?bdVersion:version;return n
Please download the latest version from BetterDiscord.net"):void(utils=new Utils,utils.getHash(),emoteModule=new EmoteModule,quickEmoteMenu=new QuickEmoteMenu,voiceMode=new VoiceMode,dMode=new devMode,emoteModule.init(),this.initSettings(),$(document).ready(function(){setTimeout(s,1e3)}))},Core.prototype.injectExternals=function(){utils.injectJs("https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.25.0/codemirror.min.js"),utils.injectJs("https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.25.0/mode/css/css.min.js"),utils.injectJs("https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.25.0/addon/scroll/simplescrollbars.min.js"),utils.injectCss("https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.25.0/addon/scroll/simplescrollbars.min.css"),utils.injectCss("https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.25.0/theme/material.min.css"),utils.injectJs("https://cdnjs.cloudflare.com/ajax/libs/Sortable/1.4.2/Sortable.min.js")},Core.prototype.initSettings=function(){if(void 0==$.cookie("better-discord"))settingsCookie=defaultCookie,this.saveSettings();else for(var s in this.loadSettings(),defaultCookie)void 0==settingsCookie[s]&&(settingsCookie[s]=defaultCookie[s],this.saveSettings())},Core.prototype.saveSettings=function(){$.cookie("better-discord",JSON.stringify(settingsCookie),{expires:365,path:"/"})},Core.prototype.loadSettings=function(){settingsCookie=JSON.parse($.cookie("better-discord"))},Core.prototype.initObserver=function(){let s=this;mainObserver=new MutationObserver(function(r){r.forEach(function(n){if("undefined"!=typeof pluginModule&&pluginModule.rawObserver(n),n.removedNodes.length&&n.removedNodes[0]instanceof Element){let c=n.removedNodes[0];(c.classList.contains("activityFeed-HeiGwL")||"friends"===c.id)&&pluginModule.channelSwitch()}if(n.addedNodes.length&&n.addedNodes[0]instanceof Element){let o=n.addedNodes[0];o.classList.contains("layer")&&(o.querySelector(".guild-settings-base-section")&&o.setAttribute("layer-id","server-settings"),o.querySelector(".socialLinks-1oZoF3")&&(o.setAttribute("layer-id","user-settings"),!o.querySelector("#bd-settings-sidebar")&&settingsPanel.renderSidebar())),o.classList.contains("popout")&&o.getElementsByClassName("emoji-picker").length&&quickEmoteMenu.obsCallback(o),(o.classList.contains("activityFeed-HeiGwL")||"friends"===o.id)&&pluginModule.channelSwitch(),o.classList.contains("messages-wrapper")&&(s.inject24Hour(o),s.injectColoredText(o),pluginModule.channelSwitch()),o.classList.contains("message-group")&&!o.querySelector(".message-sending")&&(s.inject24Hour(o),s.injectColoredText(o),o.parentElement&&o.parentElement.children&&o==o.parentElement.children[o.parentElement.children.length-1]&&pluginModule.newMessage()),o.classList.contains("message")&&!o.classList.contains("message-sending")&&(s.injectColoredText(o.parentElement.parentElement),pluginModule.newMessage()),emoteModule.obsCallback(n)}})}),mainObserver.observe(document,{childList:!0,subtree:!0})},Core.prototype.inject24Hour=function(s){settingsCookie["bda-gs-6"]&&s.querySelectorAll(".timestamp").forEach(r=>{if(!r.getAttribute("data-24")){let n=r.innerText||r.textContent,o=/([^0-9]*)([0-9]?[0-9]:[0-9][0-9])([^0-9]*)/.exec(n);if(null!=o&&!(4>o.length)){let c=o[2].split(":"),d=parseInt(c[0]),l=c[1],m=o[3].toLowerCase();m.includes("am")&&12==d?d-=12:m.includes("pm")&&2>d&&(d+=12),d=("0"+d).slice(-2),r.innerText=o[1]+d+":"+l+o[3],r.setAttribute("data-24",o[2])}}})},Core.prototype.remove24Hour=function(s){s.querySelectorAll(".timestamp").forEach(r=>{if(r.getAttribute("data-24")){let n=r.getAttribute("data-24");r.removeAttribute("data-24");let o=r.innerText||r.textContent,c=/([^0-9]*)([0-9]?[0-9]:[0-9][0-9])([^0-9]*)/.exec(o);null==c||4>c.length||(r.innerText=c[1]+n+c[3])}})},Core.prototype.injectColoredText=function(s){settingsCookie["bda-gs-7"]&&s.querySelectorAll(".user-name").forEach(r=>{let n=r.style.color;"rgb(255, 255, 255)"===n||r.closest(".message-group").querySelectorAll(".markup").forEach(o=>{o.getAttribute("data-color")||(o.setAttribute("data-color",!0),o.style.setProperty("color",n))})})},Core.prototype.removeColoredText=function(s){s.querySelectorAll(".user-name").forEach(r=>{r.closest(".message-group").querySelectorAll(".markup").forEach(n=>{n.getAttribute("data-color")&&(n.removeAttribute("data-color"),n.style.setProperty("color",""))})})},Core.prototype.alert=function(s,r){let n=$(`
+(function(){let s=window.require("fs"),r=window.require("process"),n=r.platform,o=("win32"===n?r.env.APPDATA:"darwin"===n?r.env.HOME+"/Library/Preferences":process.env.HOME+"/.config")+"/BetterDiscord/",c={};if(s.existsSync(`${o}localStorage.json`))try{c=JSON.parse(s.readFileSync(`${o}localStorage.json`))}catch(m){console.log(m)}else if(s.existsSync("localStorage.json"))try{c=JSON.parse(s.readFileSync("localStorage.json"))}catch(m){console.log(m)}var d=c;d.setItem=function(m,u){d[m]=u,this.save()},d.getItem=function(m){return d[m]||null},d.save=function(){s.writeFileSync(`${o}/localStorage.json`,JSON.stringify(this),null,4)};var l=new Proxy(d,{set:function(m,u,h){d[u]=h,d.save()},get:function(m,u){return d[u]||null}});window.localStorage=l})(),(()=>{let s=document.createElement("div");s.className="bd-loaderv2",s.title="BetterDiscord is loading...",document.body.appendChild(s)})(),window.bdStorage={},window.bdStorage.get=function(s){return betterDiscordIPC.sendSync("synchronous-message",{arg:"storage",cmd:"get","var":s})},window.bdStorage.set=function(s,r){betterDiscordIPC.sendSync("synchronous-message",{arg:"storage",cmd:"set","var":s,data:r})},window.bdPluginStorage={},window.bdPluginStorage.get=function(s,r){return betterDiscordIPC.sendSync("synchronous-message",{arg:"pluginstorage",cmd:"get",pn:s,"var":r})},window.bdPluginStorage.set=function(s,r,n){betterDiscordIPC.sendSync("synchronous-message",{arg:"pluginstorage",cmd:"set",pn:s,"var":r,data:n})},betterDiscordIPC.on("asynchronous-reply",(s,r)=>{console.log(s),console.log(r)});var settingsPanel,emoteModule,utils,quickEmoteMenu,voiceMode,pluginModule,themeModule,dMode,jsVersion=1.792,supportedVersion="0.2.81",mainObserver,twitchEmoteUrlStart="https://static-cdn.jtvnw.net/emoticons/v1/",twitchEmoteUrlEnd="/1.0",ffzEmoteUrlStart="https://cdn.frankerfacez.com/emoticon/",ffzEmoteUrlEnd="/1",bttvEmoteUrlStart="https://cdn.betterttv.net/emote/",bttvEmoteUrlEnd="/1x",mainCore,settings={"Startup Error Modal":{id:"bda-gs-9",info:"Show a modal with plugin/theme errors on startup.",implemented:!0,hidden:!1,cat:"core"},"Show Toasts":{id:"bda-gs-10",info:"Shows a small notification for starting and stopping plugins & themes.",implemented:!0,hidden:!1,cat:"core"},"Save logs locally":{id:"bda-gs-0",info:"Saves chat logs locally",implemented:!1,hidden:!1,cat:"core"},"Public Servers":{id:"bda-gs-1",info:"Display public servers button",implemented:!1,hidden:!1,cat:"core"},"Minimal Mode":{id:"bda-gs-2",info:"Hide elements and reduce the size of elements.",implemented:!0,hidden:!1,cat:"core"},"Voice Mode":{id:"bda-gs-4",info:"Only show voice chat",implemented:!0,hidden:!1,cat:"core"},"Hide Channels":{id:"bda-gs-3",info:"Hide channels in minimal mode",implemented:!0,hidden:!1,cat:"core"},"Dark Mode":{id:"bda-gs-5",info:"Make certain elements dark by default(wip)",implemented:!0,hidden:!1,cat:"core"},"Override Default Emotes":{id:"bda-es-5",info:"Override default emotes",implemented:!1,hidden:!1,cat:"core"},"Voice Disconnect":{id:"bda-dc-0",info:"Disconnect from voice server when closing Discord",implemented:!0,hidden:!1,cat:"core"},"Custom css live update":{id:"bda-css-0",info:"",implemented:!0,hidden:!0,cat:"core"},"Custom css auto udpate":{id:"bda-css-1",info:"",implemented:!0,hidden:!0,cat:"core"},"24 Hour Timestamps":{id:"bda-gs-6",info:"Replace 12hr timestamps with proper ones",implemented:!0,hidden:!1,cat:"core"},"Coloured Text":{id:"bda-gs-7",info:"Make text colour the same as role colour",implemented:!0,hidden:!1,cat:"core"},"BetterDiscord Blue":{id:"bda-gs-b",info:"Replace Discord blue with BD Blue",implemented:!0,hidden:!1,cat:"core"},"Developer Mode":{id:"bda-gs-8",info:"Developer Mode",implemented:!0,hidden:!1,cat:"core"},"Twitch Emotes":{id:"bda-es-7",info:"Show Twitch emotes",implemented:!0,hidden:!1,cat:"emote"},"FrankerFaceZ Emotes":{id:"bda-es-1",info:"Show FrankerFaceZ Emotes",implemented:!0,hidden:!1,cat:"emote"},"BetterTTV Emotes":{id:"bda-es-2",info:"Show BetterTTV Emotes",implemented:!0,hidden:!1,cat:"emote"},"Emote Menu":{id:"bda-es-0",info:"Show Twitch/Favourite emotes in emote menu",implemented:!0,hidden:!1,cat:"emote"},"Emoji Menu":{id:"bda-es-9",info:"Show Discord emoji menu",implemented:!0,hidden:!1,cat:"emote"},"Emote Autocomplete":{id:"bda-es-3",info:"Autocomplete emote commands",implemented:!1,hidden:!1,cat:"emote"},"Emote Auto Capitalization":{id:"bda-es-4",info:"Autocapitalize emote commands",implemented:!0,hidden:!1,cat:"emote"},"Show Names":{id:"bda-es-6",info:"Show emote names on hover",implemented:!0,hidden:!1,cat:"emote"},"Show emote modifiers":{id:"bda-es-8",info:"Enable emote mods",implemented:!0,hidden:!1,cat:"emote"}},defaultCookie={version:jsVersion,"bda-gs-0":!1,"bda-gs-1":!1,"bda-gs-2":!1,"bda-gs-3":!1,"bda-gs-4":!1,"bda-gs-5":!0,"bda-gs-6":!1,"bda-gs-7":!1,"bda-gs-8":!1,"bda-gs-9":!0,"bda-gs-10":!0,"bda-es-0":!0,"bda-es-1":!0,"bda-es-2":!0,"bda-es-3":!1,"bda-es-4":!1,"bda-es-5":!0,"bda-es-6":!0,"bda-es-7":!0,"bda-gs-b":!0,"bda-es-8":!0,"bda-jd":!0,"bda-dc-0":!1,"bda-css-0":!1,"bda-css-1":!1,"bda-es-9":!0},settingsCookie={},bdpluginErrors,bdthemeErrors;function Core(){}Core.prototype.init=function(){function s(){console.log(new Date().getTime()+" Defer"),0.CodeMirror{ min-width:100%; }"),$("head").append(""),document.getElementsByClassName("bd-loaderv2")[0].remove(),settingsCookie["bda-gs-9"]&&r.showStartupErrors(),r.initObserver()):setTimeout(s,100)}var r=this,n="undefined"==typeof version?bdVersion:version;return n
Please download the latest version from BetterDiscord.net"):void(utils=new Utils,utils.getHash(),emoteModule=new EmoteModule,quickEmoteMenu=new QuickEmoteMenu,voiceMode=new VoiceMode,dMode=new devMode,emoteModule.init(),this.initSettings(),$(document).ready(function(){setTimeout(s,1e3)}))},Core.prototype.injectExternals=function(){utils.injectJs("https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.25.0/codemirror.min.js"),utils.injectJs("https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.25.0/mode/css/css.min.js"),utils.injectJs("https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.25.0/addon/scroll/simplescrollbars.min.js"),utils.injectCss("https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.25.0/addon/scroll/simplescrollbars.min.css"),utils.injectCss("https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.25.0/theme/material.min.css"),utils.injectJs("https://cdnjs.cloudflare.com/ajax/libs/Sortable/1.4.2/Sortable.min.js")},Core.prototype.initSettings=function(){if(void 0==$.cookie("better-discord"))settingsCookie=defaultCookie,this.saveSettings();else for(var s in this.loadSettings(),$("