From b7e68d1f6bfde8625253eff3bf632fd2b76d18be Mon Sep 17 00:00:00 2001 From: pohky Date: Sun, 24 Jan 2016 04:16:40 +0100 Subject: [PATCH] Fix for latest Discord Update --- .gitignore | 3 +- js/main.js | 26 ++++++++--------- js/main.min.js | 75 ++------------------------------------------------ 3 files changed, 16 insertions(+), 88 deletions(-) diff --git a/.gitignore b/.gitignore index 73885d9..cb445fd 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,5 @@ devjs/.idea/devjs.iml *.bak.* *.xpi Firefox/data/js/jquery-2.1.4.min.js -*.dev.* \ No newline at end of file +*.dev.* +/nbproject/private/ \ No newline at end of file diff --git a/js/main.js b/js/main.js index cd9f591..72f39f2 100644 --- a/js/main.js +++ b/js/main.js @@ -239,11 +239,11 @@ Core.prototype.loadSettings = function () { }; var botlist = ["119598467310944259"]; //Temp Core.prototype.initObserver = function () { - mainObserver = new MutationObserver(function (mutations) { mutations.forEach(function (mutation) { if (mutation.target.getAttribute('class') != null) { - if (mutation.target.getAttribute('class').indexOf("titlebar") != -1) { + //console.log(mutation.target) + if(mutation.target.classList.contains('title-wrap') || mutation.target.classList.contains('chat')){ quickEmoteMenu.obsCallback(); voiceMode.obsCallback(); if (typeof pluginModule !== "undefined") pluginModule.channelSwitch(); @@ -887,12 +887,10 @@ QuickEmoteMenu.prototype.init = function (reload) { var bdfw = {}; QuickEmoteMenu.prototype.obsCallback = function () { - if (!emoteBtn) return; if (!$(".content.flex-spacer.flex-horizontal .flex-spacer.flex-vertical form")) return; var tcbtn = $("#twitchcord-button-container"); - if (tcbtn.parent().prop("tagName") == undefined) { quickEmoteMenu = new QuickEmoteMenu(); quickEmoteMenu.init(true); @@ -918,7 +916,7 @@ QuickEmoteMenu.prototype.initEmoteList = function () { css: { "display": "none" } - }) + }); var globalTab = $("
", { class: "emote-menu-tab emote-menu-tab-selected", @@ -1099,7 +1097,7 @@ SettingsPanel.prototype.init = function () { $("div[data-reactid='.0.1.1']").append($(emoteNamePopup)); }); $(document).on("mouseleave", ".emote", function () { - $(".tipsy").remove() + $(".tipsy").remove(); }); } else { $(document).off('mouseover', '.emote'); @@ -1208,14 +1206,14 @@ SettingsPanel.prototype.updateSetting = function (checkbox) { $("div[data-reactid='.0.1.1']").append($(emoteNamePopup)); }); $(document).on("mouseleave", ".emote", function () { - $(".tipsy").remove() + $(".tipsy").remove(); }); } else { $(document).off('mouseover', '.emote'); } mainCore.saveSettings(); -} +}; SettingsPanel.prototype.construct = function () { var self = this; @@ -1419,8 +1417,8 @@ Utils.prototype.jqDefer = function (fnc) { fnc(); } else { setTimeout(function () { - this.jqDefer(fnc) - }, 100) + this.jqDefer(fnc); + }, 100); } }; @@ -1484,7 +1482,7 @@ VoiceMode.prototype.obsCallback = function () { self.enable(); }, 300); } -} +}; VoiceMode.prototype.enable = function () { $(".scroller.guild-channels ul").first().css("display", "none"); @@ -1749,10 +1747,10 @@ BdWSocket.prototype.onMessage = function (e) { switch (type) { case "READY": - bdSocket.interval = setInterval(() => bdws.send({ + bdSocket.interval = setInterval(function(){bdws.send({ op: 1, d: Date.now() - }), data.heartbeat_interval); + });}, data.heartbeat_interval); utils.log("Socket Ready"); break; case "PRESENCE_UPDATE": @@ -1815,7 +1813,7 @@ BdApi.joinServer = function (code) { //id = id of element //css = custom css BdApi.injectCSS = function (id, css) { - $("head").append('') + $("head").append(''); $("#" + id).html(css); }; diff --git a/js/main.min.js b/js/main.min.js index 5d6ee04..6c4fa6a 100644 --- a/js/main.min.js +++ b/js/main.min.js @@ -1,73 +1,2 @@ -var settingsPanel,emoteModule,utils,quickEmoteMenu,opublicServers,voiceMode,pluginModule,themeModule;var jsVersion=1.57;var supportedVersion="0.2.5";var mainObserver;var twitchEmoteUrlStart="https://static-cdn.jtvnw.net/emoticons/v1/";var twitchEmoteUrlEnd="/1.0";var ffzEmoteUrlStart="https://cdn.frankerfacez.com/emoticon/";var ffzEmoteUrlEnd="/1";var bttvEmoteUrlStart="https://cdn.betterttv.net/emote/";var bttvEmoteUrlEnd="/1x";var mainCore;var settings={"Save logs locally":{"id":"bda-gs-0","info":"Saves chat logs locally","implemented":false},"Public Servers":{"id":"bda-gs-1","info":"Display public servers button","implemented":true},"Minimal Mode":{"id":"bda-gs-2","info":"Hide elements and reduce the size of elements.","implemented":true},"Voice Mode":{"id":"bda-gs-4","info":"Only show voice chat","implemented":true},"Hide Channels":{"id":"bda-gs-3","info":"Hide channels in minimal mode","implemented":true},"Quick Emote Menu":{"id":"bda-es-0","info":"Show quick emote menu for adding emotes","implemented":true},"Show Emotes":{"id":"bda-es-7","info":"Show any emotes","implemented":true},"FrankerFaceZ Emotes":{"id":"bda-es-1","info":"Show FrankerFaceZ Emotes","implemented":true},"BetterTTV Emotes":{"id":"bda-es-2","info":"Show BetterTTV Emotes","implemented":true},"Emote Autocomplete":{"id":"bda-es-3","info":"Autocomplete emote commands","implemented":false},"Emote Auto Capitalization":{"id":"bda-es-4","info":"Autocapitalize emote commands","implemented":true},"Override Default Emotes":{"id":"bda-es-5","info":"Override default emotes","implemented":false},"Show Names":{"id":"bda-es-6","info":"Show emote names on hover","implemented":true}};var links={"Jiiks.net":{"text":"Jiiks.net","href":"http://jiiks.net","target":"_blank"},"twitter":{"text":"Twitter","href":"http://twitter.com/jiiksi","target":"_blank"},"github":{"text":"Github","href":"http://github.com/jiiks","target":"_blank"}};var defaultCookie={"version":jsVersion,"bda-gs-0":false,"bda-gs-1":true,"bda-gs-2":false,"bda-gs-3":false,"bda-gs-4":false,"bda-es-0":true,"bda-es-1":true,"bda-es-2":true,"bda-es-3":false,"bda-es-4":false,"bda-es-5":true,"bda-es-6":true,"bda-es-7":true,"bda-jd":true};var bdchangelog={"changes":{"api":{"title":"Api Functions!","text":"New api events!","img":""},"dec":{"title":"Decorations&Snow!","text":"Decorations and snow have been removed.","img":""}},"fixes":{"emotes":{"title":"Sub emotes!","text":"Discord sub emotes are now replaced by BetterDiscord sub emotes and can be favorited!","img":""}},"upcoming":{"ignore":{"title":"Ignore User!","text":"Ignore users you don't like!","img":""}}};var settingsCookie={};function Core(){} -Core.prototype.init=function(){var self=this;if(version
Please download the latest version from BetterDiscord.net");return;} -utils=new Utils();var sock=new BdWSocket();sock.start();utils.getHash();emoteModule=new EmoteModule();quickEmoteMenu=new QuickEmoteMenu();voiceMode=new VoiceMode();emoteModule.init();this.initSettings();this.initObserver();function gwDefer(){console.log(new Date().getTime()+" Defer");if($(".guilds-wrapper .guilds").children().length>0){console.log(new Date().getTime()+" Defer Loaded");var guilds=$(".guilds>li:first-child");guilds.after($("
  • ",{id:"bd-pub-li",css:{"height":"20px","display":settingsCookie["bda-gs-1"]==true?"":"none"}}).append($("
    ",{class:"guild-inner",css:{"height":"20px","border-radius":"4px"}}).append($("").append($("
    ",{css:{"line-height":"20px","font-size":"12px"},text:"public",id:"bd-pub-button"})))));var showChannelsButton=$("'+'
    '+'
    '+'
    ';if(bdchangelog.changes!=null){changeLog+=''+'

    '+' New Stuff'+'

    '+'
      ';for(var change in bdchangelog.changes){change=bdchangelog.changes[change];changeLog+=''+'
    • '+' '+change.title+''+'
      '+change.text+'
      '+'
    • ';} -changeLog+='
    ';} -if(bdchangelog.fixes!=null){changeLog+=''+'

    '+' Fixed'+'

    '+'
      ';for(var fix in bdchangelog.fixes){fix=bdchangelog.fixes[fix];changeLog+=''+'
    • '+' '+fix.title+''+'
      '+fix.text+'
      '+'
    • ';} -changeLog+='
    ';} -if(bdchangelog.upcoming!=null){changeLog+=''+'

    '+' Coming Soon'+'

    '+'
      ';for(var upc in bdchangelog.upcoming){upc=bdchangelog.upcoming[upc];changeLog+=''+'
    • '+' '+upc.title+''+'
      '+upc.text+'
      '+'
    • ';} -changeLog+='
    ';} -changeLog+=''+'
    '+'
    '+' '+'
    '+'
    '+'';return changeLog;};Core.prototype.alert=function(title,text){$("body").append(''+'
    '+'
    '+' '+title+''+'
    ×
    '+'
    '+'
    '+'
    '+'
    '+text+'
    '+'
    '+'
    '+'
    ');};var emotesFfz={};var emotesBTTV={};var emotesTwitch={"emotes":{"emote":{"image_id":0}}};var subEmotesTwitch={};function EmoteModule(){} -EmoteModule.prototype.init=function(){};EmoteModule.prototype.getBlacklist=function(){$.getJSON("https://cdn.rawgit.com/Jiiks/betterDiscordApp/"+_hash+"/data/emotefilter.json",function(data){bemotes=data.blacklist;});};EmoteModule.prototype.obsCallback=function(mutation){var self=this;if(!settingsCookie["bda-es-7"])return;$(".emoji").each(function(){var t=$(this);if(t.attr("src").indexOf(".png")!=-1){t.replaceWith(""+t.attr("alt")+"");}});for(var i=0;i-1){return;} -markup.addClass("spoiler");markup.on("click",function(){$(this).removeClass("spoiler");spoilered.push($(this).attr("data-reactid"));});return;} -if(word.length<4){return;} -if(word=="ClauZ"){parentInnerHTML=parentInnerHTML.replace("ClauZ",'');return;} -if($.inArray(word,bemotes)!=-1)return;if(emotesTwitch.emotes.hasOwnProperty(word)){var len=Math.round(word.length / 4);var name=word.substr(0,len)+"\uFDD9"+word.substr(len,len)+"\uFDD9"+word.substr(len*2,len)+"\uFDD9"+word.substr(len*3);var url=twitchEmoteUrlStart+emotesTwitch.emotes[word].image_id+twitchEmoteUrlEnd;parentInnerHTML=parentInnerHTML.replace(word,'
    '+name+'
    ');return;} -if(typeof emotesFfz!=='undefined'&&settingsCookie["bda-es-1"]){if(emotesFfz.hasOwnProperty(word)){var len=Math.round(word.length / 4);var name=word.substr(0,len)+"\uFDD9"+word.substr(len,len)+"\uFDD9"+word.substr(len*2,len)+"\uFDD9"+word.substr(len*3);var url=ffzEmoteUrlStart+emotesFfz[word]+ffzEmoteUrlEnd;parentInnerHTML=parentInnerHTML.replace(word,'
    '+name+'
    ');return;}} -if(typeof emotesBTTV!=='undefined'&&settingsCookie["bda-es-2"]){if(emotesBTTV.hasOwnProperty(word)){var len=Math.round(word.length / 4);var name=word.substr(0,len)+"\uFDD9"+word.substr(len,len)+"\uFDD9"+word.substr(len*2,len)+"\uFDD9"+word.substr(len*3);var url=emotesBTTV[word];parentInnerHTML=parentInnerHTML.replace(word,'
    '+name+'
    ');return;}} -if(typeof emotesBTTV2!=='undefined'&&settingsCookie["bda-es-2"]){if(emotesBTTV2.hasOwnProperty(word)){var len=Math.round(word.length / 4);var name=word.substr(0,len)+"\uFDD9"+word.substr(len,len)+"\uFDD9"+word.substr(len*2,len)+"\uFDD9"+word.substr(len*3);var url=bttvEmoteUrlStart+emotesBTTV2[word]+bttvEmoteUrlEnd;parentInnerHTML=parentInnerHTML.replace(word,'
    '+name+'
    ');return;}} -if(subEmotesTwitch.hasOwnProperty(word)){var len=Math.round(word.length / 4);var name=word.substr(0,len)+"\uFDD9"+word.substr(len,len)+"\uFDD9"+word.substr(len*2,len)+"\uFDD9"+word.substr(len*3);var url=twitchEmoteUrlStart+subEmotesTwitch[word]+twitchEmoteUrlEnd;parentInnerHTML=parentInnerHTML.replace(word,'
    '+name+'
    ');return;}});if(parent.parentElement==null)return;var oldHeight=parent.parentElement.offsetHeight;parent.innerHTML=parentInnerHTML.replace(new RegExp("\uFDD9","g"),"");var newHeight=parent.parentElement.offsetHeight;var scrollPane=$(".scroller.messages").first();scrollPane.scrollTop(scrollPane.scrollTop()+(newHeight-oldHeight));} -if(edited){setTimeout(inject,250);}else{inject();}};EmoteModule.prototype.autoCapitalize=function(){var self=this;$('body').delegate($(".channel-textarea-inner textarea"),'keyup change paste',function(){if(!settingsCookie["bda-es-4"])return;var text=$(".channel-textarea-inner textarea").val();if(text==undefined)return;var lastWord=text.split(" ").pop();if(lastWord.length>3){if(lastWord=="danSgame")return;var ret=self.capitalize(lastWord.toLowerCase());if(ret!==null&&ret!==undefined){$(".channel-textarea-inner textarea").val(text.replace(lastWord,ret));}}});};EmoteModule.prototype.capitalize=function(value){var res=emotesTwitch.emotes;for(var p in res){if(res.hasOwnProperty(p)&&value==(p+'').toLowerCase()){return p;}}};var publicServers={"servers":{"server":{"code":0,"icon":null,"title":"title","language":"EN","description":"description"}}};function PublicServers(){} -PublicServers.prototype.getPanel=function(){return this.container;};PublicServers.prototype.init=function(){var self=this;this.container=$("
    ",{id:"bd-ps-container",style:"display:none"});var header=$("
    ",{id:"bd-ps-header"});$("

    ",{text:"Public Servers"}).appendTo(header);$("",{id:"bd-ps-close",style:"cursor:pointer;",text:"X"}).appendTo(header);header.appendTo(this.getPanel());var psbody=$("
    ",{id:"bd-ps-body"});psbody.appendTo(this.getPanel());var table=$("",{border:"0"});var thead=$("");thead.appendTo(table);var headers=$("",{}).append($("",{id:"bd-ps-tbody"});tbody.appendTo(table);table.appendTo(psbody);$("body").append(this.getPanel());$("#bd-ps-close").on("click",function(){self.show();});var servers=publicServers.servers;for(var server in servers){if(servers.hasOwnProperty(server)){var s=servers[server];var code=s.code;var title=s.title;var language=s.language;var description=s.description;this.addServer(server,code,title,language,description);}}};PublicServers.prototype.addServer=function(name,code,title,language,description){var self=this;var tableBody=$("#bd-ps-tbody");var desc=$("");tr.append($("
    ",{text:"Name"})).append($("",{text:"Code"})).append($("",{text:"Language"})).append($("",{text:"Description"})).append($("",{text:"Join"}));headers.appendTo(thead);var tbody=$("
    ").append($("
    ",{class:"bd-ps-description",text:description}));var tr=$("
    ",{text:title}));tr.append($("",{css:{"-webkit-user-select":"initial","user-select":"initial"},text:code}));tr.append($("",{text:language}));tr.append(desc);tr.append($("").append($("