From 13f4ca29e1ab79540936d60bd3a543e6b1e12478 Mon Sep 17 00:00:00 2001 From: Jiiks Date: Thu, 10 Dec 2015 05:01:24 +0200 Subject: [PATCH] BetterTTV Emote Support --- js/main.js | 15 +++++++++++++-- js/main.min.js | 4 ++-- lib/BetterDiscord.js | 24 +++++++++++++++++++++--- 3 files changed, 36 insertions(+), 7 deletions(-) diff --git a/js/main.js b/js/main.js index a869397..17c3d51 100644 --- a/js/main.js +++ b/js/main.js @@ -17,8 +17,8 @@ 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 = ""; -var bttvEmoteUrlEnd = ""; +var bttvEmoteUrlStart = "https://cdn.betterttv.net/emote/"; +var bttvEmoteUrlEnd = "/1x"; var mainCore; @@ -435,6 +435,17 @@ EmoteModule.prototype.injectEmote = function(node) { return; } } + + console.log("Checking for bttv2"); + + if(typeof emotesBTTV2 !== 'undefined' && settingsCookie["bda-es-2"]) { + if(emotesBTTV2.hasOwnProperty(word)) { + console.log("bttv2 has word: " + word); + var len = Math.round(word.length / 4); + parentInnerHTML = parentInnerHTML.replace(word, '' + word.substr(0, len) + '); + return; + } + } if (subEmotesTwitch.hasOwnProperty(word)) { var len = Math.round(word.length / 4); diff --git a/js/main.min.js b/js/main.min.js index feaa86e..d335f7e 100644 --- a/js/main.min.js +++ b/js/main.min.js @@ -1,2 +1,2 @@ -function Core(){}function EmoteModule(){}function PublicServers(){}function QuickEmoteMenu(){}function SettingsPanel(){}function Utils(){}function VoiceMode(){}var settingsPanel,emoteModule,utils,quickEmoteMenu,opublicServers,voiceMode,jsVersion=1.52,supportedVersion="0.1.5",mainObserver,twitchEmoteUrlStart="https://static-cdn.jtvnw.net/emoticons/v1/",twitchEmoteUrlEnd="/1.0",ffzEmoteUrlStart="https://cdn.frankerfacez.com/emoticon/",ffzEmoteUrlEnd="/1",bttvEmoteUrlStart="",bttvEmoteUrlEnd="",mainCore,settings={"Save logs locally":{id:"bda-gs-0",info:"Saves chat logs locally",implemented:!1},"Public Servers":{id:"bda-gs-1",info:"Display public servers button",implemented:!0},"Minimal Mode":{id:"bda-gs-2",info:"Hide elements and reduce the size of elements.",implemented:!0},"Voice Mode":{id:"bda-gs-4",info:"Only show voice chat",implemented:!0},"Hide Channels":{id:"bda-gs-3",info:"Hide channels in minimal mode",implemented:!0},"Quick Emote Menu":{id:"bda-es-0",info:"Show quick emote menu for adding emotes",implemented:!0},"Show Emotes":{id:"bda-es-7",info:"Show any emotes",implemented:!0},"FrankerFaceZ Emotes":{id:"bda-es-1",info:"Show FrankerFaceZ Emotes",implemented:!0},"BetterTTV Emotes":{id:"bda-es-2",info:"Show BetterTTV Emotes",implemented:!0},"Emote Autocomplete":{id:"bda-es-3",info:"Autocomplete emote commands",implemented:!1},"Emote Auto Capitalization":{id:"bda-es-4",info:"Autocapitalize emote commands",implemented:!0},"Override Default Emotes":{id:"bda-es-5",info:"Override default emotes",implemented:!1},"Show Names":{id:"bda-es-6",info:"Show emote names on hover",implemented:!0}},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"}},defaultCookie={version:jsVersion,"bda-gs-0":!1,"bda-gs-1":!0,"bda-gs-2":!1,"bda-gs-3":!1,"bda-gs-4":!1,"bda-es-0":!0,"bda-es-1":!1,"bda-es-2":!1,"bda-es-3":!1,"bda-es-4":!1,"bda-es-5":!0,"bda-es-6":!0,"bda-es-7":!0,"bda-jd":!0},bdchangelog={changes:null,fixes:{compact:{title:"Compact Mode Emotes!",text:"Compact Mode Emotes have been fixed and should now be visible!",img:""}},upcoming:{ignore:{title:"Ignore User!",text:"Ignore users you don't like",img:""},more:{title:"More Things!",text:"More things but probably not in the next version.",img:""}}},settingsCookie={};Core.prototype.init=function(){function A(){if(console.log((new Date).getTime()+" Defer"),$(".guilds-wrapper .guilds").children().length>0){console.log((new Date).getTime()+" Defer Loaded");var B=($(".guilds li:first-child"),$("
';if(null!=bdchangelog.changes){A+='

New Stuff

    ';for(var D in bdchangelog.changes)D=bdchangelog.changes[D],A+="
  • "+D.title+"
    "+D.text+"
  • ";A+="
"}if(null!=bdchangelog.fixes){A+='

Fixed

    ';for(var B in bdchangelog.fixes)B=bdchangelog.fixes[B],A+="
  • "+B.title+"
    "+B.text+"
  • ";A+="
"}if(null!=bdchangelog.upcoming){A+='

Coming Soon

    ';for(var Q in bdchangelog.upcoming)Q=bdchangelog.upcoming[Q],A+="
  • "+Q.title+"
    "+Q.text+"
  • ";A+="
"}return A+='
'};var emotesFfz={},emotesBTTV={},emotesTwitch={emotes:{emote:{image_id:0}}},subEmotesTwitch={},twitchAc={"4head":"4Head",anele:"ANELE",argieb8:"ArgieB8",arsonnosexy:"ArsonNoSexy",asianglow:"AsianGlow",atgl:"AtGL",athenapms:"AthenaPMS",ativy:"AtIvy",atww:"AtWW",babyrage:"BabyRage",batchest:"BatChest",bcwarrior:"BCWarrior",biblethump:"BibleThump",bigbrother:"BigBrother",bionicbunion:"BionicBunion",blargnaut:"BlargNaut",bloodtrail:"BloodTrail",bort:"BORT",brainslug:"BrainSlug",brokeback:"BrokeBack",buddhabar:"BuddhaBar",coolcat:"CoolCat",corgiderp:"CorgiDerp",cougarhunt:"CougarHunt",daesuppy:"DAESuppy",dansgame:"DansGame",dathass:"DatHass",datsheffy:"DatSheffy",dbstyle:"DBstyle",deexcite:"deExcite",deilluminati:"deIlluminati",dendiface:"DendiFace",dogface:"DogFace",doomguy:"DOOMGuy",eagleeye:"EagleEye",elegiggle:"EleGiggle",evilfetus:"EvilFetus",failfish:"FailFish",fpsmarksman:"FPSMarksman",frankerz:"FrankerZ",freakinstinkin:"FreakinStinkin",fungineer:"FUNgineer",funrun:"FunRun",fuzzyotteroo:"FuzzyOtterOO",gasjoker:"GasJoker",gingerpower:"GingerPower",grammarking:"GrammarKing",hassanchop:"HassanChop",heyguys:"HeyGuys",hotpokket:"HotPokket",humblelife:"HumbleLife",itsboshytime:"ItsBoshyTime",jebaited:"Jebaited",jkanstyle:"JKanStyle",joncarnage:"JonCarnage",kapow:"KAPOW",kappa:"Kappa",kappapride:"KappaPride",keepo:"Keepo",kevinturtle:"KevinTurtle",kippa:"Kippa",kreygasm:"Kreygasm",kzskull:"KZskull",mau5:"Mau5",mcat:"mcaT",mechasupes:"MechaSupes",mrdestructoid:"MrDestructoid",mvgame:"MVGame",nightbat:"NightBat",ninjatroll:"NinjaTroll",nonospot:"NoNoSpot",notatk:"NotATK",notlikethis:"NotLikeThis",omgscoots:"OMGScoots",onehand:"OneHand",opieop:"OpieOP",optimizeprime:"OptimizePrime",osbeaver:"OSbeaver",osbury:"OSbury",osdeo:"OSdeo",osfrog:"OSfrog",oskomodo:"OSkomodo",osrob:"OSrob",ossloth:"OSsloth",panicbasket:"panicBasket",panicvis:"PanicVis",pazpazowitz:"PazPazowitz",peopleschamp:"PeoplesChamp",permasmug:"PermaSmug",picomause:"PicoMause",pipehype:"PipeHype",pjharley:"PJHarley",pjsalt:"PJSalt",pmstwin:"PMSTwin",pogchamp:"PogChamp",poooound:"Poooound",praiseit:"PraiseIt",prchase:"PRChase",punchtrees:"PunchTrees",puppeyface:"PuppeyFace",raccattack:"RaccAttack",ralpherz:"RalpherZ",redcoat:"RedCoat",residentsleeper:"ResidentSleeper",ritzmitz:"RitzMitz",rulefive:"RuleFive",shadylulu:"ShadyLulu",shazam:"Shazam",shazamicon:"shazamicon",shazbotstix:"ShazBotstix",shibez:"ShibeZ",smorc:"SMOrc",smskull:"SMSkull",sobayed:"SoBayed",soonerlater:"SoonerLater",srihead:"SriHead",ssssss:"SSSsss",stonelightning:"StoneLightning",strawbeary:"StrawBeary",supervinlin:"SuperVinlin",swiftrage:"SwiftRage",tbbaconbiscuit:"tbBaconBiscuit",tbchickenbiscuit:"tbChickenBiscuit",tbquesarito:"tbQuesarito",tbsausagebiscuit:"tbSausageBiscuit",tbspicy:"tbSpicy",tbsriracha:"tbSriracha",tf2john:"TF2John",theking:"TheKing",theringer:"TheRinger",thetarfu:"TheTarFu",thething:"TheThing",thunbeast:"ThunBeast",tinyface:"TinyFace",toospicy:"TooSpicy",trihard:"TriHard",ttours:"TTours",uleetbackup:"UleetBackup",unclenox:"UncleNox",unsane:"UnSane",vaultboy:"VaultBoy",volcania:"Volcania",wholewheat:"WholeWheat",winwaker:"WinWaker",wtruck:"WTRuck",wutface:"WutFace",youwhy:"YouWHY"};EmoteModule.prototype.init=function(){},EmoteModule.prototype.getBlacklist=function(){$.getJSON("https://cdn.rawgit.com/Jiiks/betterDiscordApp/"+_hash+"/emotefilter.json",function(A){bemotes=A.blacklist})},EmoteModule.prototype.obsCallback=function(A){var D=this;if(settingsCookie["bda-es-7"])for(var B=0;B-1)return;return Q.addClass("spoiler"),void Q.on("click",function(){$(this).removeClass("spoiler"),spoilered.push($(this).attr("data-reactid"))})}if(-1==$.inArray(A,bemotes)&&!(A.length<4)){if(emotesTwitch.emotes.hasOwnProperty(A)){var P=Math.round(A.length/4);return void(B=B.replace(A,''+A.substr(0,P)+'))}if("undefined"!=typeof emotesFfz&&settingsCookie["bda-es-1"]&&emotesFfz.hasOwnProperty(A)){var P=Math.round(A.length/4);return void(B=B.replace(A,''+A.substr(0,P)+'))}if("undefined"!=typeof emotesBTTV&&settingsCookie["bda-es-2"]&&emotesBTTV.hasOwnProperty(A)){var P=Math.round(A.length/4);return void(B=B.replace(A,''+A.substr(0,P)+'))}if(subEmotesTwitch.hasOwnProperty(A)){var P=Math.round(A.length/4);return void(B=B.replace(A,''+A.substr(0,P)+'))}}}),null!=D.parentElement)){var w=D.parentElement.offsetHeight;D.innerHTML=B.replace(new RegExp("﷙","g"),"");var P=D.parentElement.offsetHeight,g=$(".scroller.messages").first();g.scrollTop(g.scrollTop()+(P-w))}}}},EmoteModule.prototype.autoCapitalize=function(){var A=this;$("body").delegate($(".channel-textarea-inner textarea"),"keyup change paste",function(){if(settingsCookie["bda-es-4"]){var D=$(".channel-textarea-inner textarea").val();if(void 0!=D){var B=D.split(" ").pop();if(B.length>3){var Q=A.capitalize(B.toLowerCase());null!=Q&&$(".channel-textarea-inner textarea").val(D.replace(B,Q))}}}})},EmoteModule.prototype.capitalize=function(A){return twitchAc.hasOwnProperty(A)?twitchAc[A]:null};var publicServers={servers:{server:{code:0,icon:null,title:"title",language:"EN",description:"description"}}};PublicServers.prototype.getPanel=function(){return this.container},PublicServers.prototype.init=function(){var A=this;this.container=$("
",{id:"bd-ps-container",style:"display:none"});var D=$("
",{id:"bd-ps-header"});$("

",{text:"Public Servers"}).appendTo(D),$("",{id:"bd-ps-close",style:"cursor:pointer;",text:"X"}).appendTo(D),D.appendTo(this.getPanel());var B=$("
",{id:"bd-ps-body"});B.appendTo(this.getPanel());var Q=$("",{border:"0"}),w=$("");w.appendTo(Q);var P=$("",{}).append($("",{id:"bd-ps-tbody"});g.appendTo(Q),Q.appendTo(B),$("body").append(this.getPanel()),$("#bd-ps-close").on("click",function(){A.show()});var E=publicServers.servers;for(var e in E)if(E.hasOwnProperty(e)){var C=E[e],s=C.code,t=C.title,v=C.language,o=C.description;this.addServer(e,s,t,v,o)}},PublicServers.prototype.addServer=function(A,D,B,Q,w){var P=this,g=$("#bd-ps-tbody"),E=$("");e.append($("
",{text:"Name"})).append($("",{text:"Code"})).append($("",{text:"Language"})).append($("",{text:"Description"})).append($("",{text:"Join"}));P.appendTo(w);var g=$("
").append($("
",{"class":"bd-ps-description",text:w})),e=$("
",{text:B})),e.append($("",{css:{"-webkit-user-select":"initial","user-select":"initial"},text:D})),e.append($("",{text:Q})),e.append(E),e.append($("").append($("