Added some icons

This commit is contained in:
Thomas Forgione 2020-03-20 16:01:29 +01:00
parent 619eca519a
commit 91d57db52c
7 changed files with 490 additions and 4 deletions

BIN
static/broadcaster.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 B

BIN
static/dragonrck.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

439
static/emotes.json Normal file
View File

@ -0,0 +1,439 @@
{
":/": {
"url": "https://static-cdn.jtvnw.net/emoticons/v1/10/1.0"
},
":)": {
"url": "https://static-cdn.jtvnw.net/emoticons/v1/1/1.0"
},
":(": {
"url": "https://static-cdn.jtvnw.net/emoticons/v1/2/1.0"
},
":D": {
"url": "https://static-cdn.jtvnw.net/emoticons/v1/3/1.0"
},
">(": {
"url": "https://static-cdn.jtvnw.net/emoticons/v1/4/1.0"
},
":|": {
"url": "https://static-cdn.jtvnw.net/emoticons/v1/5/1.0"
},
"O_o": {
"url": "https://static-cdn.jtvnw.net/emoticons/v1/6/1.0"
},
"B)": {
"url": "https://static-cdn.jtvnw.net/emoticons/v1/7/1.0"
},
":O": {
"url": "https://static-cdn.jtvnw.net/emoticons/v1/8/1.0"
},
":o": {
"url": "https://static-cdn.jtvnw.net/emoticons/v1/8/1.0"
},
"<3": {
"url": "https://static-cdn.jtvnw.net/emoticons/v1/9/1.0"
},
";)": {
"url": "https://static-cdn.jtvnw.net/emoticons/v1/11/1.0"
},
":p": {
"url": "https://static-cdn.jtvnw.net/emoticons/v1/12/1.0"
},
":P": {
"url": "https://static-cdn.jtvnw.net/emoticons/v1/12/1.0"
},
"R)": {
"url": "https://static-cdn.jtvnw.net/emoticons/v1/14/1.0"
},
"DragonRck": {
"url": "/static/dragonrck.png"
},
"4Head": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-76292ac622b0fc38-20x30.png",
"description": "This is the face of a popular Twitch streamer. twitch.tv/cadburryftw"
},
"ArsonNoSexy": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-e13a8382e40b19c7-18x27.png",
"description": "This is the face of streamer ArSon. twitch.tv/arson"
},
"AsianGlow": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-a3708d1e15c3f197-24x30.png",
"description": "This is the face of Twitch staff member Eliene Sun. twitch.tv/elienetv"
},
"BCWarrior": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-1e3ccd969459f889-29x27.png",
"description": "This is the face of streamer Zeke. justin.tv/ezekiel_iii"
},
"BORT": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-6f9fa95e9e3d6a69-19x30.png",
"description": "This is the face of Bart, Ambassador at Hi-Rez Studios. He goes by the nickname, Bort"
},
"BatChest": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-df8ac34ab89d8c0c-18x28.png",
"description": "The BatChest face belongs Twitch Admin JhnnyCrwsh. It refers to how his chest hair looks like the Bat Symbol, and came about from a dumb highlight on his channel. twitch.tv/JhnnyCrwsh"
},
"BibleThump": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-f6c13c7fc0a5c93d-36x30.png",
"description": "This is an icon from the game The Binding of Isaac."
},
"BigBrother": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-63c10b84aaddd77c-24x30.png"
},
"BionicBunion": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-740242272832a108-30x30.png",
"description": "This is the \"icon\" of Twitch staff member, Russell aka Horror."
},
"BlargNaut": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-a5293e92212cadd9-21x27.png",
"description": "This is the face of streamer Aria Blarg. twitch.tv/ariablarg"
},
"BloodTrail": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-f124d3a96eff228a-41x28.png",
"description": "This is an icon of the main character in the game Super Meat Boy."
},
"BrainSlug": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-d8eee0a259b7dfaa-30x30.png",
"description": "This is a Brain Slug. It controls your thoughts. Originally this was the face of stream and Twitch Admin Bwana. It was changed to be an actual Brain Slug due to racist abuse of this emote. More info: twitch.tv/bwana/c/2151897"
},
"BrokeBack": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/emoticon-4057-src-770e3d6c306dda14-28x28.png",
"description": "This is the image of \"Dealer\"."
},
"CougarHunt": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-551cd64fc3d4590a-21x27.png",
"description": "This is the face of former Justin.tv staff member, Phil."
},
"DAESuppy": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-ef2a16bdc037bc91-28x28.png",
"description": "This is the face of famous Starcraft 2 player, EG.Suppy."
},
"DBstyle": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-1752876c0d0ec35f-21x30.png",
"description": "This is the face of streamer and composer Dannybstyle. twitch.tv/dannybstyle"
},
"DansGame": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-ce52b18fccf73b29-25x32.png",
"description": "This is the face of Dan, former Twitch Admin and streamer. twitch.tv/dansgaming "
},
"DatSheffy": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-bf13a0595ecf649c-24x30.png",
"description": "This is the face of Twitch staff member Sheffy. twitch.tv/sheffy"
},
"DogFace": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-d0134a612162a147-22x28.png",
"description": "DogFace is the face of Kyle Pulver, an indie game developer that added :dogface: to Steam."
},
"EagleEye": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-95eb8045e7ae63b8-18x27.png",
"description": "This is the face of Twitch staff member Jacob."
},
"EleGiggle": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/emoticon-4339-src-07433e94eae8754e-28x28.png",
"description": "This is the face of Twitch streamer Elegy of Games. twitch.tv/elegyofgames"
},
"EvilFetus": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-484439fc20e0d36d-29x30.png",
"description": "This is the icon of Dr. Fetus, villain of the game Super Meat Boy."
},
"FPSMarksman": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-6c26a3f04616c4bf-20x27.png",
"description": "This is the face of Nick Overton, streamer and former Twitch staff member. twitch.tv/immarksman"
},
"FUNgineer": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-731296fdc2d37bea-24x30.png",
"description": "This is the face of Twitch engineer, Jon. twitch.tv/jbrhymer"
},
"FailFish": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-c8a77ec0c49976d3-22x30.png",
"description": "This is the face of streamer SpamFish. twitch.tv/spamfish"
},
"FrankerZ": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-3b96527b46b1c941-40x30.png",
"description": "This is the face of Frank the dog of Twitch staff member Ernest Le. Brother of RalpherZ."
},
"FreakinStinkin": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-d14278fea8fad146-19x27.png",
"description": "This is the face of GQ, Twitch Admin and streamer. twitch.tv/thegreatgq"
},
"FuzzyOtterOO": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-d141fc57f627432f-26x26.png",
"description": "This is the icon of Twitch staff member Justin Wong. twitch.tv/fuzzyotterballs"
},
"GingerPower": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-2febb829eae08b0a-21x27.png",
"description": "This is the face of Dylan Reichstadt, Justin.tv staff member. justin.tv/dylanlive"
},
"GrammarKing": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/emoticon-3632-src-c3bf1bef4de9bb99-28x28.png",
"description": "This is the face of Twitch employee/KBMOD writer Vol1tion. twitch.tv/vol1tion"
},
"HassanChop": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-22c6299e539344a9-19x28.png",
"description": "This is the face of Hassan, Twitch Admin and streamer. twitch.tv/hassan"
},
"HotPokket": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-55873089390f4a10-28x30.png",
"description": "This is the face of streamer Pokket. twitch.tv/pokket"
},
"ItsBoshyTime": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-e8e0b0c4e70c4fb8-18x18.png",
"description": "This is an icon from the game I Wanna Be the Boshy."
},
"JKanStyle": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-3a7ee1bc0e5c9af0-21x27.png",
"description": "This is the face of Justin Kan, co-founder of Justin.tv and Twitch."
},
"Jebaited": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-39dff1bb9b42cf38-21x30.png",
"description": "This is the face of Jebailey."
},
"JonCarnage": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-6aaca644ea5374c6-20x27.png",
"description": "This is the face of Twitch staff member and caster Jon Carnage."
},
"KZassault": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/emoticon-5248-src-914192574ba9feec-28x28.png",
"description": "This is a promotional emote from Killzone Shadow Fall."
},
"KZcover": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/emoticon-5249-src-c649b1d10e887587-28x28.png",
"description": "This is a promotional emote from Killzone Shadow Fall."
},
"KZguerilla": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/emoticon-5250-src-da9dd1029955070e-28x28.png",
"description": "This is a promotional emote from Killzone Shadow Fall."
},
"KZhelghast": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/emoticon-5251-src-a1596431098da5d4-28x28.png",
"description": "This is a promotional emote from Killzone Shadow Fall."
},
"KZowl": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/emoticon-5252-src-437c1b59f74e39bc-28x28.png",
"description": "This is a promotional emote from Killzone Shadow Fall."
},
"KZskull": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/emoticon-5253-src-7358e7adaec32ecc-28x28.png",
"description": "This is a promotional emote from Killzone Shadow Fall."
},
"Kappa": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-ddc6e3a8732cb50f-25x28.png",
"description": "This is the face of Josh, a former Justin.tv employee. Kappa is generally used to indicate sarcasm or trolling."
},
"Keepo": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-8eed21805f6217ce-27x29.png",
"description": "Keepo is Kappa stylized as the hero Meepo from DotA/DotA 2."
},
"KevinTurtle": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-d530ef454aa17093-21x27.png",
"description": "This is the face of streamer and Admin Klutch. twitch.tv/klutch"
},
"Kippa": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-56a84f0e87c3d3a5-24x28.png"
},
"Kreygasm": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-3a624954918104fe-19x27.png",
"description": "This is the face of streamer Kreyg. twitch.tv/hotbloodedgaming"
},
"MVGame": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-1a1a8bb5cdf6efb9-24x32.png",
"description": "This is the face of streamer MAN. twitch.tv/manvsgame"
},
"MrDestructoid": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-ac61a7aeb52a49d3-39x27.png",
"description": "This is the mascot of the gaming website Destructoid. twitch.tv/destructoid"
},
"NinjaTroll": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-89e474822a976928-19x27.png",
"description": "This is the face of streamer Ninja. twitch.tv/ninja"
},
"NoNoSpot": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-179f310b0746584d-23x27.png",
"description": "This is the face of streamer Towelliee. twitch.tv/towelliee"
},
"OMGScoots": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-e01723a9ae4fbd8b-22x28.png",
"description": "This is the face of SirScoots, a well known member of the eSports community."
},
"OneHand": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-b6d67569a0c6340a-20x27.png",
"description": "This is the face of streamer EdwardStarcraft."
},
"OpieOP": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-21e708123d6a896d-21x30.png",
"description": "This is the face of Jason Babo. Strategic Partnerships at TwitchTV and a Web Developer. twitch.tv/opie"
},
"OptimizePrime": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-41f8a86c4b15b5d8-22x27.png",
"description": "This is the face of Emmett Shear, co-founder of Justin.tv and CEO of Twitch."
},
"PJSalt": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-18be1a297459453f-36x30.png",
"description": " PJ stands for PeacefulJay, a Fighting Game Community (FGC) stream: twitch.tv/peacefuljay and Salt is a term used in the FGC to describe someone who is upset."
},
"PMSTwin": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-a33f6c484c27e249-23x30.png",
"description": "This is the face of Twitch staff member Amber Dalton."
},
"PanicVis": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/emoticon-3668-src-f36f5a70b1c93a29-28x28.png"
},
"PazPazowitz": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-521420789e1e93ef-18x27.png",
"description": "This is the faces of Justin.tv streamer Paz. justin.tv/paz"
},
"PeoplesChamp": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/emoticon-3412-src-76b6e3c79b31b696-28x28.png",
"description": "The PeoplesChamp emote belongs to Bobby 'Scar' of the smash community and of MeleeItOnMe. twitch.tv/meleeitonme"
},
"PicoMause": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-ce027387c35fb601-22x27.png",
"description": "This is the face of streamer PicoMause. twitch.tv/picomause"
},
"PipeHype": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/emoticon-4240-src-d0c560fa27408dc7-28x28.png",
"description": "The PipeHype emote is of Admin Pipe. It also looks a bit like Will Wheaton. twitch.tv/pipe"
},
"PogChamp": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-60aa1af305e32d49-23x30.png",
"description": "This is the face of streamer Gootecks. twitch.tv/gootecks"
},
"Poooound": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-61a08075ecef6afa-21x30.png",
"description": "This is the face of streamer RSQViper. twitch.tv/RSQViper"
},
"PunchTrees": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-b85003ffba04e03e-24x24.png",
"description": "This is an icon of Steve, the ingame persona in the game Minecraft. One of the first objectives in Minecraft is to punch trees to get wood."
},
"RalpherZ": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-3d9b59b17687288c-33x30.png",
"description": "This is the face of Ralph the dog of Twitch staff member Ernest Le. Brother of FrankerZ."
},
"RedCoat": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-6b8d1be08f244e92-19x27.png",
"description": "This is the face of former Justin.tv staff member, Bill."
},
"ResidentSleeper": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-1ddcc54d77fc4a61-28x28.png",
"description": "This is the face of Oddler. Oddler was doing a 72 hour Resident Evil marathon when he fell asleep about 66 hours into it. His stream with him sleeping became massively popular and at one point the viewer count even reached 13,000. twitch.tv/oddler"
},
"RitzMitz": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/emoticon-4338-src-a741c02562405936-28x28.png",
"description": "The emote RitzMitz is of RitzPlays. twitch.tv/ritzplays"
},
"RuleFive": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-4e65703c52fb67b5-20x30.png",
"description": "This is the face of streamer Chuk. twitch.tv/whenchukattacks"
},
"SMOrc": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-9f276ed33053ec70-32x32.png",
"description": "This is an icon from the game Space Marine."
},
"SMSkull": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-50b9867ba05d1ecc-24x24.png",
"description": "This is an icon from the game Space Marine."
},
"SSSsss": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-5d019b356bd38360-24x24.png",
"description": "This is an icon of a Creeper from the game Minecraft. They blow stuff up."
},
"ShazBotstix": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-ccaf06d02a01a804-24x30.png",
"description": "This is the face of Ben Goldhaber, Twitch staff member and streamer. twitch.tv/fishstix"
},
"SoBayed": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-efca3da7a499ac81-24x30.png",
"description": "This is the face of SONOS, Twitch Admin and streamer. twitch.tv/sonos"
},
"SoonerLater": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-696192d9891880af-23x30.png",
"description": "This is the face of Sooner, a popular Twitch streamer. twitch.tv/lolsooner"
},
"StoneLightning": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-8b5aaae6e2409deb-20x27.png",
"description": "This is the face of Michael Seibel, co-founder of Justin.tv."
},
"StrawBeary": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-3dac9659e838fab2-20x27.png",
"description": "This is the icon of streamer LordKat. twitch.tv/lordkat"
},
"SuperVinlin": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-92a1b848540e9347-23x27.png",
"description": "This is the face of Twitch staff member Kevin Lin."
},
"SwiftRage": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-680b6b3887ef0d17-21x28.png",
"description": "This is the face of streamer Swiftor. twitch.tv/swiftor"
},
"TF2John": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-ffa884123ef70519-22x30.png",
"description": "This is the face of stream and Twitch staff member, John. twitch.tv/synwyn"
},
"TehFunrun": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-a204e65775b969c5-27x27.png",
"description": "This is the icon of Justin Ignacio aka TheGunrun, Twitch staff member and savior of eSports! twitch.tv/thegunrun"
},
"TheRinger": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-1903cc415afc404c-20x27.png",
"description": "This is the face of Kyle Vogt, co-founder of Justin.tv."
},
"TheTarFu": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-1fcfa48228bbd6ea-25x28.png",
"description": "This is the face of streamer Tarfu. twitch.tv/tarfu"
},
"TheThing": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/emoticon-7427-src-f1278d0b66848536-28x28.png",
"description": "The emote \"TheThing\" is the face of Geoff \"iNcontroL\" Robinson. twitch.tv/incontroltv"
},
"ThunBeast": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-1bae8ebfe6209a0c-26x28.png",
"description": "ThunBeast belongs to Twitch caster ThunderCast twitch.tv/Thundercast"
},
"TinyFace": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-b93007bc230754e1-19x30.png",
"description": "This is the face of streamer, Foom. twitch.tv/king_foom"
},
"TooSpicy": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-f193772ca6e512f2-23x30.png",
"description": "This is the face of Miguel, Twitch Admin and streamer. twitch.tv/sournothardcore"
},
"TriHard": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-6407e6947eb69e21-24x30.png",
"description": "This is the face of speed runner Trihex. twitch.tv/trihex"
},
"UleetBackup": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-5342e829290d1af0-17x27.png",
"description": "This is the face of streamer Crream. twitch.tv/crream"
},
"UnSane": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-4eea6f01e372a996-28x30.png",
"description": "This is the face of streamer Tom. twitch.tv/unsanitylive"
},
"UncleNox": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/emoticon-3666-src-19af357000ae2b42-28x28.png",
"description": "This is the face of Twitch Admin Noxius. twitch.tv/noxius"
},
"Volcania": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-efbcc231b2d2d206-27x28.png",
"description": "This is the logo of CelGaming. twitch.tv/celgaming"
},
"WTRuck": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-f9ee1c9eb52375de-28x28.png",
"description": "WTRuck belongs to admin and caster Eddie Ruckus twitch.tv/eddieruckus"
},
"WholeWheat": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-89a30a213fe46f49-20x30.png",
"description": "This is the face of caster and Twitch staff member djWHEAT. twitch.tv/djwheat"
},
"WinWaker": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/chansub-global-emoticon-d4e971f7a6830e95-30x30.png",
"description": "This is the face of speed runner CosmoWright. twitch.tv/cosmowright"
},
"YouWHY": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/emoticon-4337-src-abba134ff81d77c7-28x28.png",
"description": "This is the emote of YouPickGames. twitch.tv/youpickgames"
},
"aneleanele": {
"url": "http://static-cdn.jtvnw.net/jtv_user_pictures/emoticon-3792-src-1504dbbe3760173a-28x28.png",
"description": "This is the face of Twitch Staff Anele."
}
}

View File

@ -3,6 +3,7 @@
<head>
<title>Twitch Chat</title>
<meta charset="utf-8">
<link href="https://fonts.googleapis.com/css?family=Asap&display=swap" rel="stylesheet">
<link href="/static/main.css" rel="stylesheet">
</head>
<body>

View File

@ -3,6 +3,7 @@ body {
padding: 0px;
margin: 0px;
overflow: hidden;
font-family: 'Asap', sans-serif;
}
#messages {
@ -19,7 +20,7 @@ body {
}
.item {
width: 200px;
width: 400px;
margin: 0.5rem;
}
@ -36,6 +37,10 @@ body {
font-weight: bold;
}
.badge {
margin-right: 0.3rem;
}
@keyframes slide {
from { }
to { bottom: 0rem; }

View File

@ -1,4 +1,4 @@
const timeout = 30000;
const timeout = 120000;
class Message {
constructor(object, onDestroy) {
@ -12,6 +12,16 @@ class Message {
this.element = document.createElement('li');
this.element.className = "item";
this.element.style.position = "relative";
let badges = document.createElement('span');
for (let key in this.context.badges) {
let badge = document.createElement('span');
badge.className = "badge";
badge.innerHTML = '<img src="/static/' + key + '.png">';
badges.appendChild(badge);
}
this.element.appendChild(badges);
let name = document.createElement('span');
name.className = "text name";
name.style.color = this.context.color;
@ -19,7 +29,11 @@ class Message {
this.element.appendChild(name);
let message = document.createElement('span');
message.innerHTML = escapeHtml(this.message);
let text = escapeHtml(this.message);
for (let key in emotes) {
text = replaceAll(text, escapeHtml(key), '<img src="' + emotes[key].url + '">');;
}
message.innerHTML = text;
message.className = "text message";
this.element.appendChild(message);
@ -28,7 +42,6 @@ class Message {
}
destroy() {
console.log(this.element);
this.element.className += ' destroy';
}
}
@ -42,6 +55,23 @@ function escapeHtml(unsafe) {
.replace(/'/g, "&#039;");
}
function replaceAll(input, from, to) {
const fromLen = from.length;
let output = "";
let pos = 0;
for (;;) {
let matchPos = input.indexOf(from, pos);
if (matchPos === -1) {
output += input.slice(pos);
break;
}
output += input.slice(pos, matchPos);
output += to;
pos = matchPos + fromLen;
}
return output;
}
function addMessage(object) {
messages .className = "";
let message = new Message(object);
@ -51,5 +81,16 @@ function addMessage(object) {
};
let messages = document.getElementById('messages');
let emotes = {};
let socket = io();
socket.on('message', addMessage);
let xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
emotes = JSON.parse(xhr.responseText);
}
}
xhr.open('GET', '/static/emotes.json', true);
xhr.send();

BIN
static/moderator.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 420 B