// ==UserScript==
// @name TW ivvi
// @description Twitch Emotes for TW
// @author Ivvi + leb
// @version 1.6.5
// @match https://*.the-west.net/game.php*
// @match https://*.the-west.de/game.php*
// @match https://*.the-west.pl/game.php*
// @match https://*.the-west.nl/game.php*
// @match https://*.the-west.se/game.php*
// @match https://*.the-west.ro/game.php*
// @match https://*.the-west.com.pt/game.php*
// @match https://*.the-west.cz/game.php*
// @match https://*.the-west.es/game.php*
// @match https://*.the-west.ru/game.php*
// @match https://*.the-west.com.br/game.php*
// @match https://*.the-west.org/game.php*
// @match https://*.the-west.hu/game.php*
// @match https://*.the-west.gr/game.php*
// @match https://*.the-west.dk/game.php*
// @match https://*.the-west.sk/game.php*
// @match https://*.the-west.fr/game.php*
// @match https://*.the-west.it/game.php*
// @grant none
// @run-at document-end
// @namespace https://greasyfork.org/users/684666
// ==/UserScript==
/*
Adds a bunch of new Twitch Emotes (BetterTTV and FrankerFaceZ).
*/
const script = document.createElement('script');
script.type = 'text/javascript';
script.textContent = '(' + (function () {
const TWKappa = {
Settings: {
image_size: 200,
video_width: 300,
video_height: 190
},
VersionControl: {
version: 0.16,
isOutdated: function () {
return TWKappa.Emotes.Extra.storage.latestVersion > TWKappa.VersionControl.version;
},
// Gotta find a better way to do this now
notifyOutdated: function () {
if (TWKappa.VersionControl.isOutdated()) {
new west.gui.Dialog(
"TWKappa is outdated",
"There's a new version of TW ivvi currently available! Do you want to install it?",
west.gui.Dialog.SYS_WARNING
)
.addButton("Install!", function () {
window.open(
" https://greasyfork.org/en/scripts/410668-tw-ivvi-gh/code",
"_blank"
);
})
.addButton("Close", function () {
})
.show();
}
}
},
LocalStorage: {
key: "twkappa_settings",
init: function () {
if (localStorage.getItem(TWKappa.LocalStorage.key) === null) {
TWKappa.LocalStorage.save();
} else {
const fromLocal = JSON.parse(localStorage.getItem(TWKappa.LocalStorage.key));
for (let key in TWKappa.Settings) {
if (fromLocal[key] === undefined) {
TWKappa.LocalStorage.save();
break;
}
}
TWKappa.LocalStorage.load();
}
},
save: function () {
localStorage.setItem(
TWKappa.LocalStorage.key,
JSON.stringify(TWKappa.Settings)
);
},
load: function () {
TWKappa.Settings = JSON.parse(
localStorage.getItem(TWKappa.LocalStorage.key)
);
}
},
Window: {
RegisterWestApi: function () {
const content = $("<div>").text(
"TWKappa, originally built by xShteff, no longer maintained. If you wish to contribute please contact me on GitHub and I will grant you access."
);
TheWestApi.register(
"TWKappa",
"TW Twitch Chat Emotes",
"2.1",
Game.version.toString(),
"xShteff",
"https://greasyfork.org/en/scripts/410668-tw-ivvi-gh/code"
).setGui(content);
},
Table: {
buildRow: function (array) {
const row = $("<tr>");
for (let i = 0; i < array.length; i++) row.append(array[i]);
return row;
},
buildCell: function (content) {
return $("<td>").html(content);
},
buildRowCell: function (content) {
return $("<td>")
.attr("colspan", "2")
.html(content);
},
buildLabel: function (text) {
return $("<td>")
.text(text)
.css({
"line-height": "30px",
"font-weight": "bold"
});
},
buildInputTable: function () {
const table = $("<table>").attr("id", "twkappa_input_table");
const r1Content = [
TWKappa.Window.Table.buildLabel("Img max size: "),
TWKappa.Window.Table.buildCell(
new west.gui.Textfield("kappa_image_size")
.setValue(TWKappa.Settings.image_size)
.setSize(2)
.onlyNumeric()
.getMainDiv()
)
];
const r1 = TWKappa.Window.Table.buildRow(r1Content);
const rYTWidthContent = [
TWKappa.Window.Table.buildLabel("YT Height: "),
TWKappa.Window.Table.buildCell(
new west.gui.Textfield("kappa_yt_height")
.setValue(TWKappa.Settings.video_height)
.setSize(2)
.onlyNumeric()
.getMainDiv()
)
];
const rYTWidth = TWKappa.Window.Table.buildRow(rYTWidthContent);
const rYTHeightContent = [
TWKappa.Window.Table.buildLabel("YT Width: "),
TWKappa.Window.Table.buildCell(
new west.gui.Textfield("kappa_yt_width")
.setValue(TWKappa.Settings.video_width)
.setSize(2)
.onlyNumeric()
.getMainDiv()
)
];
const rYTHeight = TWKappa.Window.Table.buildRow(rYTHeightContent);
const buttonSave = new west.gui.Button("Save", function () {
TWKappa.Settings.image_size = $("#kappa_image_size").val();
TWKappa.Settings.video_height = $("#kappa_yt_height").val();
TWKappa.Settings.video_width = $("#kappa_yt_width").val();
new UserMessage("Settings saved!").show();
TWKappa.LocalStorage.save();
});
const buttonEmotes = new west.gui.Button("Emotelist", function () {
$("#tw_kappa_emote_list").toggle();
});
const buttonFetchEmotes = new west.gui.Button(
"Refresh",
function () {
TWKappa.Emotes.Twitch.init();
TWKappa.Emotes.Extra.init();
}
);
const r2 = TWKappa.Window.Table.buildRow([
TWKappa.Window.Table.buildCell(buttonFetchEmotes.getMainDiv()),
TWKappa.Window.Table.buildCell(buttonEmotes.getMainDiv())
]);
table
.append(r1)
.append(rYTHeight)
.append(rYTWidth)
.append(
TWKappa.Window.Table.buildRow(
TWKappa.Window.Table.buildRowCell(
"Emotesuggestions are always welcome xo"
)
)
)
.append(
TWKappa.Window.Table.buildRow(
TWKappa.Window.Table.buildCell(buttonSave.getMainDiv())
)
)
.append(r2);
return table;
},
buildEmoteTable: function () {
const table = $("<table>")
.attr({
id: "tw_kappa_emote_list",
border: 1
})
.css({
display: "none",
"text-align": "center",
width: "100%"
});
const header = $("<tr>");
header.append(
TWKappa.Window.Table.buildCell("<b>Image</b>"),
TWKappa.Window.Table.buildCell("<b>Keyword</b>")
);
table.append(header);
$.each(TWKappa.Emotes.Extra.storage.emoteArray, function (index, value) {
const row = $("<tr>");
const image = $("<img>")
.attr({
src: value.url,
alt: value.name,
title: value.name,
class: "twkappa_preview"
})
.click(function () {
const val = $("input.message").val();
$("input.message").val(val + key + " ");
});
row.append(
TWKappa.Window.Table.buildCell(image),
TWKappa.Window.Table.buildCell(value.name)
);
table.append(row);
});
if (TWKappa.Emotes.Twitch.storage.emotes !== null)
$.each(TWKappa.Emotes.Twitch.storage, function (key, value) {
const row = $("<tr>");
const image = $("<img>")
.attr({
src: `https://static-cdn.jtvnw.net/emoticons/v1/${value.id}/1.0`,
alt: key,
title: key,
class: "twkappa_preview"
})
.click(function () {
const inputMsg = $("input.message");
const val = inputMsg.val();
inputMsg.val(val + key + " ");
});
row.append(TWKappa.Window.Table.buildCell(image), TWKappa.Window.Table.buildCell(key));
table.append(row);
});
return table;
}
},
open: function () {
const content = $("<div>");
content.append(TWKappa.Window.Table.buildInputTable());
content.append(TWKappa.Window.Table.buildEmoteTable());
const contentScroll = new west.gui.Scrollpane().appendContent(content);
wman
.open("twkappa", "TWivvi")
.setMiniTitle("TWivvi")
.setSize(320, 480)
.appendToContentPane(contentScroll.getMainDiv());
$("#twkappa_input_table tr:nth-child(4) td").css("padding-bottom", "20px");
}
},
Icon: {
init: function () {
const icon = $("<div></div>")
.attr({title: "TWivvi", class: "menulink"})
.css({
background: 'url("https://i.imgur.com/t2JBXb5.jpg")',
"background-position": "0px 0px"
})
.mouseleave(function () {
$(this).css("background-position", "0px 0px");
})
.mouseenter(function (e) {
$(this).css("background-position", "25px 0px");
})
.click(function () {
TWKappa.Window.open();
});
const cap = $("<div></div>").attr({class: "menucontainer_bottom"});
if ($("#twkappa_init_button").length === 0) {
$("#ui_menubar").append(
$("<div></div>")
.attr({
class: "ui_menucontainer",
id: "twkappa_init_button"
})
.append(icon)
.append(cap)
);
}
}
},
Emotes: {
Extra: {
storage: {},
init: function () {
emoteData.sort(function (x, y) {
if (x.name.length < y.name.length) {
return 1;
}
if (x.name.length > y.name.length) {
return -1;
}
return 0;
});
emoteData.forEach(function(item) {
item.name = $('<textarea/>').text(item.name).html();
});
TWKappa.Emotes.Extra.storage.emoteArray = emoteData;
}
},
Twitch: {
storage: null,
init: function () {
TWKappa.Emotes.Twitch.storage = twitchData;
}
},
isInit: function () {
return TWKappa.Emotes.Twitch.storage !== null || TWKappa.Emotes.Extra.storage !== null;
},
Fix: {
KappaPride: "55338",
KappaClaus: "74510",
KappaWealth: "81997",
KappaRoss: "70433",
PeteZarollTie: "81244",
AMPEnergyCherry: "99265"
}
},
GameInject: {
parser: function () {
const oldfunc = Game.TextHandler.parse;
Game.TextHandler.parse = function (m) {
//YouTube
if (TWKappa.Settings.video_width > 0 && TWKappa.Settings.video_height > 0) {
const ytRegex = /^(?:https?:\/\/)?(?:www\.)?youtu(?:be\.com\/watch\?(?:.*?&(?:amp;)?)?v=|\.be\/)([\w\-]+)(?:&(?:amp;)?[\w?=]*)?$/g;
const ytUrl = ytRegex.exec(m);
if (ytUrl) {
const ytFrame = $("<iframe>").attr({
width: TWKappa.Settings.video_width,
height: TWKappa.Settings.video_height,
src: `https://www.youtube.com/embed/${ytUrl[1]}`,
frameborder: 0,
allowfullscreeen: ""
});
return ytFrame[0].outerHTML;
}
}
//Images
if (TWKappa.Settings.image_size > 0) {
const imgRegex = /^http(|s):\/\/([^\s]*)\.(png|jpg|gif)$/g;
if (imgRegex.test(m)) {
const image = $("<img>")
.attr({
src: m,
alt: "Click to enlarge"
})
.css({
"max-width": TWKappa.Settings.image_size + "px",
"max-height": TWKappa.Settings.image_size + "px"
});
return oldfunc(`<a href='${m}' target='_blank'>${image[0].outerHTML}</a>`);
}
}
//Extra Emotes
try {
for (const k of TWKappa.Emotes.Extra.storage.emoteArray) {
const emojiRegex = new RegExp("(^|\\s)" + k.name.replace(/([).^(])/g, "\\$1"), "g");
const imgHtml = ` <img alt='${k.name}' title='${k.name}' src='${k.url}' />`;
m = m.replace(emojiRegex, imgHtml);
}
} catch (error) {
console.error(`Error with extra emotes: ${error}`);
}
//Fix for Kappas
try {
for (const k in TWKappa.Emotes.Fix) {
const emojiRegex = new RegExp("(^|\\s)" + k.replace(/([).^(])/g, "\\$1"), "g");
const imgHtml = ` <img alt='${k}' title='${k}' src='https://static-cdn.jtvnw.net/emoticons/v1/${TWKappa.Emotes.Fix[k]}/1.0' />`;
m = m.replace(emojiRegex, imgHtml);
}
} catch (error) {
console.error(`Error with kappa emotes: ${error}`);
}
try {
if (TWKappa.Emotes.Twitch.storage !== null)
for (const k in TWKappa.Emotes.Twitch.storage) {
const emojiRegex = new RegExp("(^|\\s)" + k.replace(/([).^(])/g, "\\$1"), "g");
const imgHtml = ` <img alt='${k}' title='${k}' src='https://static-cdn.jtvnw.net/emoticons/v1/${TWKappa.Emotes.Twitch.storage[k].id}/1.0' />`;
m = m.replace(emojiRegex, imgHtml);
}
} catch (error) {
console.error(`Error with twatch emotes: ${error}`);
}
try {
if (new Date().getMonth() === 11)
for (const k in TWKappa.Emotes.Extra.storage.winter)
m = m.replace(
new RegExp(`(^|\\s)${k.replace(/([).^(])/g, "\\$1")}`, "g"),
` <img alt='${k}' title='${k}'src='${TWKappa.Emotes.Extra.storage.winter[k].src}' style='${TWKappa.Emotes.Extra.storage.winter[k].style}' />`
);
} catch (error) {
console.error(`Error with Winter stuff: ${error}`);
}
return oldfunc(m);
};
}
},
init: function () {
TWKappa.Emotes.Twitch.init();
TWKappa.Emotes.Extra.init();
TWKappa.Icon.init();
TWKappa.LocalStorage.init();
TWKappa.GameInject.parser();
TWKappa.Window.RegisterWestApi();
if (new Date().getMonth() === 11)
$("head").append(
"<style>div.tw2gui_window.chat .chat_text { overflow:visible; }</style>"
);
}
};
const twitchData = {
MrDestructoid: {
id: 28,
code: "MrDestructoid",
emoticon_set: 0,
description: null
}
};
const emoteData = [
{name: "3Head", url: "https://cdn.betterttv.net/frankerfacez_emote/274406/1"},
{name: "<3", url: "https://static-cdn.jtvnw.net/emoticons/v1/555555584/1.0"},
{name: "5Head", url: "https://cdn.betterttv.net/frankerfacez_emote/239504/1"},
{name: "AYAYA", url: "https://cdn.betterttv.net/emote/58493695987aab42df852e0f/1x"},
{name: "berdboBongo", url: "https://static-cdn.jtvnw.net/emoticons/v1/302316421/1.0"},
{name: "berdboCop", url: "https://static-cdn.jtvnw.net/emoticons/v1/300399102/1.0"},
{name: "berdboDed", url: "https://static-cdn.jtvnw.net/emoticons/v1/300399135/1.0"},
{name: "berdboMuah", url: "https://static-cdn.jtvnw.net/emoticons/v1/300614723/1.0"},
{name: "berdboOwO", url: "https://static-cdn.jtvnw.net/emoticons/v1/300399138/1.0"},
{name: "berdboPog", url: "https://static-cdn.jtvnw.net/emoticons/v1/303476714/1.0"},
{name: "berdboSkunk", url: "https://static-cdn.jtvnw.net/emoticons/v1/303206929/1.0"},
{name: "BibleThump", url: "https://cdn.frankerfacez.com/emoticon/269642/1"},
{name: "BibleTrump", url: "https://cdn.betterttv.net/emote/5668b60dafcaf5da4a5805a1/1x"},
{name: "catJAM", url: "https://cdn.betterttv.net/emote/5f1b0186cf6d2144653d2970/1x"},
{name: "Clap", url: "https://cdn.betterttv.net/emote/55b6f480e66682f576dd94f5/1x"},
{name: "cmonBruh", url: "https://cdn.frankerfacez.com/emoticon/461598/1"},
{name: "DonaldPls", url: "https://cdn.betterttv.net/emote/5823a0167df8f1a41d082cf2/1x"},
{name: "DonoWall", url: "https://cdn.betterttv.net/emote/5efcd82551e3910deed68751/1x"},
{name: "EZ", url: "https://cdn.betterttv.net/emote/5590b223b344e2c42a9e28e3/1x"},
{name: "FeelsAmazingMan", url: "https://cdn.betterttv.net/emote/5733ff12e72c3c0814233e20/1x"},
{name: "FeelsBadMan", url: "https://cdn.betterttv.net/emote/566c9fc265dbbdab32ec053b/1x"},
{name: "FeelsBirthdayMan", url: "https://cdn.betterttv.net/emote/55b6524154eefd53777b2580/1x"},
{name: "FeelsBlueMan", url: "https://cdn.betterttv.net/emote/57b4f47651067c5243fe1c60/1x"},
{name: "FeelsGoodMan", url: "https://cdn.betterttv.net/emote/566c9fde65dbbdab32ec053e/1x"},
{name: "FeelsOkayMan", url: "https://cdn.frankerfacez.com/emoticon/145947/1"},
{name: "FeelsTrumpMan", url: "https://cdn.betterttv.net/emote/57c4270b34df7eab4ca2690c/1x"},
{name: "FeelsSpecialMan", url: "https://cdn.frankerfacez.com/emoticon/191854/1"},
{name: "forsenCD", url: "https://cdn.betterttv.net/frankerfacez_emote/249060/1"},
{name: "gachiHYPER", url: "https://cdn.betterttv.net/emote/59143b496996b360ff9b807c/1x"},
{name: "haHAA", url: "https://cdn.betterttv.net/emote/555981336ba1901877765555/1x"},
{name: "HandsUp", url: "https://cdn.frankerfacez.com/emoticon/229760/1"},
{name: "HYPERS", url: "https://cdn.frankerfacez.com/emoticon/236895/1"},
{name: "Jebaited", url: "https://cdn.frankerfacez.com/emoticon/380518/1"},
{name: "Kappa", url: "https://cdn.frankerfacez.com/emoticon/398790/1"},
{name: "KEKW", url: "https://cdn.betterttv.net/frankerfacez_emote/381875/1"},
{name: "KKomrade", url: "https://cdn.frankerfacez.com/emoticon/145916/1"},
{name: "Kkona", url: "https://cdn.betterttv.net/emote/566ca04265dbbdab32ec054a/1x"},
{name: "KKonaW", url: "https://cdn.frankerfacez.com/emoticon/229486/1"},
{name: "Kreygasm", url: "https://static-cdn.jtvnw.net/emoticons/v1/41/1.0"},
{name: "LUL", url: "https://cdn.betterttv.net/emote/567b00c61ddbe1786688a633/1x"},
{name: "LULW", url: "https://cdn.betterttv.net/frankerfacez_emote/139407/1"},
{name: "Madge", url: "https://cdn.frankerfacez.com/emoticon/510861/1"},
{name: "monkaChrist", url: "https://cdn.frankerfacez.com/emoticon/243681/1"},
{name: "monkaEyes", url: "https://cdn.frankerfacez.com/emoticon/268204/1"},
{name: "monkaGun", url: "https://cdn.frankerfacez.com/emoticon/185572/1"},
{name: "monkaH", url: "https://cdn.frankerfacez.com/emoticon/201362/1"},
{name: "MonkaHmmm", url: "https://cdn.frankerfacez.com/emoticon/240746/1"},
{name: "monkaKnife", url: "https://cdn.frankerfacez.com/emoticon/275877/1"},
{name: "monkaS", url: "https://cdn.betterttv.net/emote/56e9f494fff3cc5c35e5287e/1x"},
{name: "monkaW", url: "https://cdn.betterttv.net/frankerfacez_emote/214681/1"},
{name: "monkaX", url: "https://cdn.betterttv.net/emote/58e5abdaf3ef4c75c9c6f0f9/1x"},
{name: "OMEGALUL", url: "https://cdn.betterttv.net/emote/583089f4737a8e61abb0186b/1x"},
{name: "PedoBear", url: "https://cdn.betterttv.net/emote/54fa928f01e468494b85b54f/1x"},
{name: "peepoArrive", url: "https://cdn.betterttv.net/emote/5d922afbc0652668c9e52ead/1x"},
{name: "peepoClap", url: "https://cdn.betterttv.net/emote/5d38aaa592fc550c2d5996b8/1x"},
{name: "peepoClown", url: "https://cdn.frankerfacez.com/emoticon/318914/1"},
{name: "peepoBlanket", url: "https://cdn.frankerfacez.com/emoticon/262458/1"},
{name: "peepoFat", url: "https://cdn.betterttv.net/frankerfacez_emote/288800/1"},
{name: "peepoHappy", url: "https://cdn.frankerfacez.com/emoticon/228449/1"},
{name: "peepoHug", url: "https://cdn.frankerfacez.com/emoticon/237403/1"},
{name: "peepoLeave", url: "https://cdn.betterttv.net/emote/5d324913ff6ed36801311fd2/1x"},
{name: "peepoLove", url: "https://cdn.frankerfacez.com/emoticon/250614/1"},
{name: "pepeD", url: "https://cdn.betterttv.net/emote/5b1740221c5a6065a7bad4b5/1x"},
{name: "PepeDS", url: "https://cdn.betterttv.net/emote/5be9f494a550811484ed2dd4/1x"},
{name: "Pepega", url: "https://cdn.betterttv.net/emote/5aca62163e290877a25481ad/1x"},
{name: "PepeHands", url: "https://cdn.frankerfacez.com/emoticon/231552/1"},
{name: "pepeJAM", url: "https://cdn.betterttv.net/emote/5b77ac3af7bddc567b1d5fb2/1x"},
{name: "PepeLaugh", url: "https://cdn.betterttv.net/emote/59b73909b27c823d5b1f6052/1x"},
{name: "PepoG", url: "https://cdn.frankerfacez.com/emoticon/218530/1"},
{name: "PepoThink", url: "https://cdn.frankerfacez.com/emoticon/174942/1"},
{name: "POGGERS", url: "https://cdn.betterttv.net/emote/5e0b4077debc686b3a1646f4/1x"},
{name: "POGGERS", url: "https://cdn.frankerfacez.com/emoticon/216820/1"},
{name: "Pog", url: "https://cdn.betterttv.net/frankerfacez_emote/210748/1"},
{name: "PogO", url: "https://cdn.betterttv.net/frankerfacez_emote/401202/1"},
{name: "PogU", url: "https://cdn.betterttv.net/frankerfacez_emote/256055/1"},
{name: "(puke)", url: "https://cdn.betterttv.net/emote/550288fe135896936880fdd4/1x"},
{name: "Sadge", url: "https://cdn.betterttv.net/frankerfacez_emote/425196/1"},
{name: "sadKEK", url: "https://cdn.frankerfacez.com/emoticon/387103/1"},
{name: "(tf)", url: "https://cdn.betterttv.net/emote/54fa8f1401e468494b85b537/1x"},
{name: "VapeNation", url: "https://cdn.betterttv.net/emote/56f5be00d48006ba34f530a4/1x"},
{name: "WaitWhat", url: "https://cdn.betterttv.net/emote/55cbeb8f8b9c49ef325bf738/1x"},
{name: "WeirdChamp", url: "https://cdn.frankerfacez.com/emoticon/421124/1"},
{name: "WeSmart", url: "https://cdn.betterttv.net/emote/5a311dd16405a95e4b0d4967/1x"},
{name: "widepeepoHappy", url: "https://cdn.frankerfacez.com/emoticon/270930/1"},
{name: "widepeepoSad", url: "https://cdn.betterttv.net/frankerfacez_emote/303899/1"},
{name: "Sussy", url: "https://cdn.betterttv.net/emote/612960c0af28e956864a7b63/1x"},
{name: "ricardoFlick", url: "https://cdn.betterttv.net/emote/5bc2143ea5351f40921080ee/2x"},
{name: "pressF", url: "https://cdn.betterttv.net/emote/5c857788f779543bcdf37124/1x"},
{name: "bongoTap", url: "https://cdn.betterttv.net/emote/5ba6d5ba6ee0c23989d52b10/1x"},
{name: "peepoShy", url: "https://cdn.betterttv.net/emote/5eaa12a074046462f768344b/1x"},
{name: "NODDERS", url: "https://cdn.betterttv.net/emote/5eadf40074046462f7687d0f/1x"},
{name: "PETTHEPEEPO", url: "https://cdn.betterttv.net/emote/5ec059009af1ea16863b2dec/1x"},
{name: "FeelsRainMan", url: "https://cdn.betterttv.net/emote/57850b9df1bf2c1003a88644/1x"},
{name: "MLADY", url: "https://cdn.betterttv.net/emote/5b34ef0dbe275b629fc726a2/1x"},
{name: "BOOBA", url: "https://cdn.betterttv.net/emote/61344c73af28e956864bfab8/1x"},
{name: "WTFF", url: "https://cdn.betterttv.net/emote/5fbe52df68e2d56f0f3a0979/1x"},
{name: "PauseChamp", url: "https://cdn.betterttv.net/emote/5cd6b08cf1dac14a18c4b61f/1x"},
{name: "DICKS", url: "https://cdn.frankerfacez.com/emoticon/19972/1"},
{name: "PagMan", url: "https://cdn.frankerfacez.com/emoticon/517647/1"},
{name: "whatBlink", url: "https://cdn.betterttv.net/emote/591ad4992f456546af54fdcd/1x"},
{name: "peepoRun", url: "https://cdn.betterttv.net/emote/5bc7ff14664a3b079648dd66/1x"},
{name: "AbdulPls", url: "https://cdn.betterttv.net/emote/59a4ea2865231102cde26e9c/1x"},
{name: "WOWERS", url: "https://cdn.betterttv.net/emote/58c5c65357baeb710f657195/1x"},
{name: "BOGU", url: "https://cdn.betterttv.net/emote/5ef5f33d51e3910deed605aa/1x"},
{name: "nutTasty", url: "https://cdn.betterttv.net/emote/5b3c1eae05e329206af7138e/1x"},
{name: "modCheck", url: "https://cdn.betterttv.net/emote/5d7eefb7c0652668c9e4d394/1x"},
{name: "xdd", url: "https://cdn.betterttv.net/emote/634f2fdb9bb828a9f0d3edea/1x"},
{name: "Clueless", url: "https://cdn.betterttv.net/emote/63a391da91ab7f35abe02670/1x"},
{name: "GIGACHAD", url: "https://cdn.betterttv.net/emote/609431bc39b5010444d0cbdc/1x"},
{name: "HUH", url: "https://cdn.betterttv.net/emote/61cf4c6ec8cc7f36d52b27a9/1x"},
{name: "WAYTOODANK", url: "https://cdn.betterttv.net/emote/5ad22a7096065b6c6bddf7f3/1x"},
{name: "Copium", url: "https://cdn.betterttv.net/emote/5f64475bd7160803d895a112/1x"},
{name: "peepoPooPoo", url: "https://cdn.betterttv.net/emote/5c3427a55752683d16e409d1/1x"},
{name: "Hackermans", url: "https://cdn.betterttv.net/emote/5b490e73cf46791f8491f6f4/1x"},
{name: "PeepoDance", url: "https://cdn.betterttv.net/emote/5a6edb51f730010d194bdd46/1x"},
{name: "PeepoShy", url: "https://cdn.betterttv.net/emote/5eaa12a074046462f768344b/1x"},
{name: "ConfusedCat", url: "https://cdn.betterttv.net/emote/5d5d9fe322f52e1d9b41ac91/1x"},
{name: "Sussy2", url: "https://cdn.betterttv.net/emote/6197ab6f54f3344f8806589d/1x"},
{name: "HUHH", url: "https://cdn.betterttv.net/emote/6220c51b06fd6a9f5be613b4/1x"},
{name: "Nerdge", url: "https://cdn.betterttv.net/emote/5ff94c895362e1049403662a/1x"},
{name: "Chatting", url: "https://cdn.betterttv.net/emote/618c77311f8ff7628e6d5b8f/1x"},
{name: "Aware", url: "https://cdn.betterttv.net/emote/6151c623b63cc97ee6d39040/1x"},
{name: "DIESOFCRINGE", url: "https://cdn.betterttv.net/emote/62f0acb3ecbd41815423a0f5/1x"},
{name: "Smoge", url: "https://cdn.betterttv.net/emote/5e8c3a008fb1ca5cde58723f/1x"},
{name: "Bedge", url: "https://cdn.betterttv.net/emote/634c9335b62997baec52ab1e/1x"},
{name: "Wokege", url: "https://cdn.betterttv.net/emote/632f4fe0ee60425d31b65e83/1x"},
{name: "Susge", url: "https://cdn.betterttv.net/emote/6357957aed98a03da0cdb5ab/1x"},
{name: "KEKL", url: "https://cdn.betterttv.net/emote/6211428206fd6a9f5be50250/1x"},
{name: "MODS", url: "https://cdn.betterttv.net/emote/603451b77c74605395f3295d/1x"},
{name: "Hmmm", url: "https://cdn.betterttv.net/emote/5ed355b1fdee545e3065c80e/1x"},
{name: "ICANT", url: "https://cdn.betterttv.net/emote/6201d23206fd6a9f5be3c4cd/1x"},
{name: "SNIFFA", url: "https://cdn.betterttv.net/emote/60be7fa7f8b3f62601c3a4b2/1x"},
{name: "lebronJAM", url: "https://cdn.betterttv.net/emote/5fa939a9f32aa26441c83a70/1x"},
{name: "YEP", url: "https://cdn.betterttv.net/frankerfacez_emote/418189/1"}
];
TWKappa.init();
}).toString() + ')()';
document.head.appendChild(script);