#developers
1 messages · Page 9 of 1
took the small version and made it 128x128 with pixel upscaling
uploaded it and I think it's just compressing it so the smaller versions of the emote look bad
Oh no no no
whats the emote that compressed it
This is not optimal
I took the small pixel version and upscaled it with Photoshop's Pixel algorithm to 128x128
then uploaded it on 7tv
He did

oh

there's strange dot 
ahhh
so yep 

i think you cant really avoid that stuff with compression
not that i know much about it tho
Ask in #emote-creations
yeah I can't there has to be a compression choosing feature or something
There's nerds in there
(does this actually matter this much tho?)
It is a Quality thing
i guess
troy and lennart talked about there being a built in emote editor kinda like ffz has on the new website so there might exist something like that
wait there's secret 7TV pages?
no a new website is being made
oh
oh wait you mean the devs talked about it
wait isn't there a subdomain that is for testing?
once I joined this Discord and there was a Testing 7TV page 
wait 7tv is open source?
https://github.com/SevenTV/SevenTV and this is the repro?
~~no this is the repo https://github.com/over-driver/SevenTV~~ yes
All I need is Rust to run it? 🤔
jav streaming
im pretty sure licenses prevent you from running your own instance
it has more stars than our repo so its the first result on github 
Lol
While I work on it it's available on https://10tv.app
10tv leaked

10ac leaked
@south flare
Hello. I write with the help of a translator. I am developing an extension so that you can send pictures to the chat. The expansion is based on the original 7tv. Can I take styles from your site and make my own project in similar styles?
not sure what that means but sure
Can I then share the result of my work here and what my extension looks like, which complements the 7tv extension?
hey guys, is there a way to add emotes for use via apis?
What do you mean? You can add any emote using our API
Emotes added to twitch accounts, in that way
You mean an API endpoint to get all active emotes on a channel?
That's https://7tv.io/v3/users/twitch/<twitch-id>
I mean instead of adding emotes to the channel via this button, i'd like to do it via api
Oh I see
You have to use our gql API for that
How could i get the the token required? as i cannot see details
local storage on https://7tv.app
thanks, i could also get it from the request when adding emotes for example, but is there a way to refresh it or get it via api or something?
LMAOOO
Hey mzntori, - I just private messaged you 1 private reminder(s) - make sure to check them out!
based
is that a real emote
no not on 7tv




creatureStranglingTheDoc
🔥
nice space between the emotes
ruined

No, not right now
got it, tyvm
HUH Perfect Work (NSFW filter Enabled)
hey there! Is there a way to search for an emote by exact value? I've tried doing it like this and I get my search query match on the second position, instead of first why is that
I'm making kind of a emote parser and looking for a way to quick find an emote by name
well then loop through these results until you found the correct one
this platform is horrible and it won't be fixed for a long time probably
case sensitivity got removed
Sad, then no parser using 7tv I guess
wdym parser
as nett said you can just iterate until you find something or is there a problem with that
That should work most of the time
which cases does it not work in
anybody has any experience making 7tv appear on three.js? i was using twitch-chat-emotes and it's great for twitch bttv and ffz but 7tv doesn't seem to be working. tried making it myself using an IRC connection and parsing them from there but for some reason it's not really animating them, ive tried replacing the url from webp to gif when it's animated and it's not working either, i don't really know what to try i'm kinda stuck
what does the url for the aniamted file look like
like give an example for an emote
i think bttv also stores emotes as webp at this point (
! ) so i doubt it has something to do with threejs (
!!! ) but since the new API you can get static images per API maybe you do that accidentally
i just figured out what it was, twitch-chat-emotes transforms all emotes into webm since threejs doesn't allow for animated gif/webp textures, so i'd have to add a server implementation that does that will all emotes or bulk transform them all and keep it static
think im gonna go with the latter since it's just for myself
until the dev hopefully fixes the 7tv implementation
thanks for the help anyways @stuck oasis 
np 
i literally made exactly that last month https://github.com/Juliapixel/twitch_emote_api
it does animated emotes by putting each frame in a texture atlas
and with literally the exact same motivation as you: twitch-chat-emotes 7tv support being borked rn
i used it to make a stream background for a streamer friend of mine
👉 https://overlay.juliapixel.com/desert/?channels=xqc

this is pretty cool

btw if u do end up using my thing pls lmk i'd love to see it 

hell yeah!! I’ll implement it today and show you how it ends lookin 
Hi
ended up just transforming all my emotes to webm and loading them up locally but thank you anyways
if i wasn't started on the webm stuff last night i would've went with your solution @swift bough
so you’re gonna have to update everything manually once the set gets changed?
yeah 

with a script but yea

wade I replied to the wrong guy luli
sometimes while testing 7tv emotes stopped loading
it doesn't work btw
like
some of these
they have an invalid name
you should not make those files by name
yeah the ones that start with : dont work because the files weren't saved yeah
u should do it by id
and then just save a map from id to image or smth
also that mouse model 
yeah i thought about it, they're saved with different names and i could implement them but i just yolod it since its just for me and hopefuly the creator of twitch-chat-emotes will fix 7tv soon
oo good call didn't think about the amount of polygons
its honestly low poly
also idk what cors issues you're talking about

I've never had cors problems with 7tv
it's supposed to be publicly available to everyone
when i was making https://mopo.lol i wanted to add 7tv to the overlay and i was facing cors issues when using js to load them
right now it's useless since we're loading them locally but yeah 
were you using fetch correctly
if u can do it directly then i must've been doing something wrong
i used this as reference on how to implement it https://github.com/jahaanjain/Emote-Overlay/blob/master/main.js
i believe if you're doing a static website you need a proxy otherwise you face corss issues
the more important question here is why is the frog furry 
How do I now fetch the special personal emote sets? I used to query the gql for the user and get the entitled emote_sets but the special ones aren't in there anymore like nnys or the sub event one
i did some digging around and it seems that the flags field on the emoteSet gql query is what ur looking for
this is where it's defined on the api https://github.com/SevenTV/SevenTV/blob/main/shared/src/old_types/mod.rs#L926
I know that marks personal emote sets, but the special personal emote sets aren't even listed now in that endpoint. only the normal personal emote set
I can't find where you're supposed to even see that a user has the special ones now
I have them 
It's definitely been removed from that endpoint, didn't know if they exist somewhere else now. Chatterino still is able to see them. Maybe only presence has them now?
I never looked into how presence works
yea but it's not showing up on the website tho 
Yeah well iirc it never appeared on the user page was just in the api since you can't edit them so no reason to show them
Like I said, they still work in Chatterino so clearly they are able to be grabbed somehow but fuck if I know
oh
you are making a chat overlay right?
honestly you could just assume everyone has them the odds people use them that don't have them is really low, they are rarely used anyway (at least where im around) alternatively you could also check for for the badges that where delivered with the emote sets
at least i think they both delivered with badges
I never thought of checking for the badges 
But
also
I can't even find those emote sets anywhere now
I would still need them to give the emotes 
And that's not very future proof either
yeah
if i had to guess you'd prob have to somehow find out how eventapi works and see if that's where that info is coming from 
afaik eventapi just transmits when emote sets are changed not just when someone has a set. I already use eventapi to get emote set changes, emote additions/renames/deletions etc.
also the current gql implementation seems to just completely ignore the entitled argument on the emote set query 
open an issue for it ig 
I barely know how to read this cause I don't know rust
the function receives an optional argument of type bool but just doesnt do anything with it


ngl, i think it might be coming from the eventapi
i dont care enough to decipher vue but i think the two promotional sets are hard coded in the extension, no idea how it figuers out who has them
that's where info of chatters' personal emote sets come from
wade
the plot thickens..........
i think lennart is the one doing the api rn 

He's live on twitch
Yes
That's the best way to get whatever answer you need I think
what did he say 
he said he'll check after he's done with what he's doing
they probably fucked it up somehow but i wonder how the extension and chatterino checks if a user has it
if i had to guess, the culprit is probably the unused entitled parameter on the emote_set gql query 
and the fact that chatterino2 doesnt see them but chatterino7 does is some pretty strong evidence that the actual info on whether some user has it or not is coming from the eventapi
cuz chatterino2 doesnt check personal emotes sets and shit like that 
well chatterino2 never had 7tv personal emote sets or paints
yea exactly
But yes the official clients determine these things through the presence system
extension and chatterino use eventapi 
is it possible for an emote to keep its id but also have its contents changed 
or does it get a new ID if it gets renamed
Generally no because it could be abused
but if the emote uploader renames it, what happens to channels that had it added but not aliased

I think the old name gets converted to an alias
and it keeps the same ID?
yes
ok ty for the info 
Some people coming in my chat saying they can edit the NNYS emotes, don't know if its a visual bug or they can actually do it
edit how 

that's just aliasing though, right?
Hey I made an app for Android that converts 7TV emotes to WhatsApp stickers (free/no ads). It is currently in the closed testing phase, so I need 20 people to test it so I can publish it on Play Store.
If you're interested, you just need to do these following steps:
First you will need to join this Google group. Make sure to connect your Google account: https://groups.google.com/g/apptesterforemoter
Then you can download the app from the Play Store with the same Google account: https://play.google.com/store/apps/details?id=captainsauerland.emotes_to_stickers
I you really want to help me out, don't uninstall my app immediately and maybe consider writing a small review. Only then Google will count you as an active tester. But of course it's also okay if you just want to take a look at it 
actually fucking huge
Yea, this is only visual and i can't remove emotes
ok, nice
https://discord.com/channels/817075418054000661/1307572177465511936 i can see both yours and kathy's sets as well
idk whats the hold up, it looks finished and looks great
I guess Troy knows when its ready
all we can do is wait
would be nice to get some updates on the website from time to time like maybe patch notes posted in #news
I aint checking github 

?
there is so much missing
atleast on 10tv.app
Just tested the app, works as expected and I really like it 
If I have some feedback for potential improvements, should I just dm you here?
uhh what tv?!
10TV, if 7TVs are just not enough for you 
nah, but seriously, it's Lennart's test instance during development
im currently fixing a bunch of stuff in a new figma file 
hope lennart doesnt kill me
but its a change for the better
Don't worry, it's gonna be fine 
I already liked your previous design, so I'm sure the changed one is gonna be even better 
hopefully i can finish everything by the end of this week
including new pages that were missing from the previous file

Thanks! And of course please dm me
how do you know what the website looks like without going on there 
there used to be next.7tv.dev or something
It's https://beta.7tv.app now


very nice

turn off brave shield
i dont use brave

crazy of you to assume i use a chromium browser

yeag
is there no button to accept cookies or smth
how do i tell firefox that yes i want cookies from this site
😍💖
Does it work now?
You don't have to tell Firefox that. Cookies are always enabled.
will test in a bit tho it'll be on a different computer, will test on original pc when im home
currently on a bus lol
also yea i forgot abt that, was just late is all
brain stupid sometimes
@sudden gust worked on my laptop

also as a general recommendation, if this could be an svg of the same thing that'd look better prob cuz as-is it looks kinda shitty
it's a placeholder
@sudden gust doesn't work on my main pc
just now tested
setup is linux with firefox

That is weird. The cookie gets set when clicking the sign in button. Can you look at the browser console and see if there is anything sus?
sure gimme a bit
I don't think it is. It's not a cross site cookie and it works fine for me in strict mode
@zinc aspen Login should be fixed
I'm sorry but I've already searched all channels (only if I missed something) and I can't find any information about who I should contact correctly or to be part of the Translation or Devs team. If I wrote on the wrong channel, first of all, I apologized, but I just wanted help and therefore be helpful,
Best regards,
that sounds perfect!
i didn't knew about this discord just arrived by a good "mistake" (bless) and i didn't want to DM any high role with no permission or even @
I'm developing an app that downloads all emotes from a specific emote set on 7TV.
What variable should I add to my existing code to dynamically change the color of the emoteSetCreator text so it matches the color style of the creator's name as provided by the 7TV API?
I want the "Created by: Reapax" text to correctly display the creator's name in the right color.
maybe you can use https://github.com/mzntori/seventv-unofficial-docs/tree/master/paints
Contribute to mzntori/seventv-unofficial-docs development by creating an account on GitHub.
Seems like when I remove all 5 of my personal emotes and add 3 it says that I have 5 in total and cant add anymore
bug detected

says "Personal emotes 5/5"
and on chatterino I have 6 personal emotes
2 same and the onces I removed dont go away
I readded same emote "GYATT" emote. Now I have two of them

so if im right, this can let me have 10 personal emotes I can use
cosmetic deletion
completely unrelated hate and i dont want to be mean but your personal emotes are awful

(im aren't any better)
Shut up
thats why I got new
rarely use them
just reporting the bug thats all lil bro

we all have the right to choose our own personal emotes and nobody have teh right to make fun about it!

personal-emote shaming 

I got roasted by a sonic fan
im sorry
dont feel bad he truely has horrible personal emotes

2/10

damn get his ass
I haven't updated them in forever
it was to use the emotes I wanted to in xqc's chat

cope harder

rate mine 
better
best

cars
static emote guy with non static emotes as personals
admin slot abuse
i dont even use them
1000 personal emotes 
@rotund pivot when is the new website coming out i cant sign in while banned on twitch
sign in with discord
where
right click on sign in
wtf i asked a admin or mod and was told to wait to new site drop

top 5 secret 
clueless intern mods
Why am I not getting new paints even tho I subscribed ?
i dont believe the new paints have been released for this month yet
aren't those the newest ?
if you dont have them in a couple days then ask again
alright
No they should be instant now
but its not 
i do not have them yet
same here
didn’t give it to anyone?
they are given once you reactivate sub
yeah its fixed thank you
How do I get permission to post my new tool in the 7tv-tools channel? I finally released my 7tv to WhatsApp Sticker app "Emoter": https://play.google.com/store/apps/details?id=captainsauerland.emotes_to_stickers
I think you don't need extra permission
@rotund pivot can you maybe clarify?
i didn't see the "request to write" thread but ellie already helped me find it 




🇷 🇹 🇳 🇮 🇹 📧
oldest fortnite player
@raven cloak Hi I just saw your 7tv emote to whatsapp sticker app. I really like it but I was wondering why you don't show the emote sets as sticker packs instead of letting the user make their own local packs.
I guess they are too big?
Hi. Tbh I didn't really think about that, but yeah as you said most of them are too big. But I could imagine adding a feature in future, where users can create sticker packs from emote sets
yeah that would be sick!
I was thinking the same thing 
Cool, thanks 
orgins
https://github.com/7elia/lpdeck @rigid narwhal
elia_uuh could have been a bit more productive today: 🛏 💤 (17h, 53m ago)
very nice idea
does it only work for the launchpad or do other midi controllers with pads also work?
still very nice
at least the ones that aren't plugged into unpowered hubs

u and your sly comments
tssk
I think if you extend the functionality a bit, give it some nice UI, maybe make it work with the most common midi controllers, this could actually get a ton of usage
I was just making this for myself quickly but sure if I have time
Luckily these links are always dead by the time they post them

ellie you're playing a risky game here
I definitely like the idea
I implemented the update with name and badge highlights and thought about adding a priority system as well, but wanted to get the base update out first. I think letting the user set their own priority would probably be nicer. We could probably do it similar to FFZ with just a number value the user can set and the higher the number the higher the priority
discord mods doing their job 


I think we can also use negative numbers for priority. Like how .at() works, -1 means most important, and so on, so the user wouldn't need to type a random big number for important rules. (If all priorities are adjacent positive integers, it's hard to insert a rule in the middle because the user needs to edit all following numbers)
Can someone please explain to me why Ctrl+F doesn't scroll to the search result on the emote-set page? 
i think it's because it's waterfall loading or sth like that
Very annoying and bad. What can we do with this?
i dont think you can
what you can do is zoom out like crazy
if you do this, you will actually see all results, otherwise ctrl+f only takes into account current display
or you can just f12 and then ctrl+f
not a great workaround but the only one i know of
No no, it says 1 out of 1 match found, but doesn't scroll to it
You can search emotes on the new site https://beta.7tv.app/
Pagination fail 
I'm on mobile using desktop view
Because for whatever reason I couldn't get to my profile on mobile view
is it possible to see how many ppl have a specific paint?
would be interesting to see
I think potatbotat is collecting this data 
ye but it might be on the basis of where it actually sees someone using it rather own it


hello! could somebody link me up with details/docs for 7tv.io and maybe how to get an auth token
let me know where i can find smart and talented people on discord.
you can get it from localstorage on 7tv.app, docs for rest api isn't working rn
what do you want to do tho 
Chan point > Add an emote
you'll need gql for that, you can play with it here https://7tv.io/v3/gql/playground or just open network tab on 7tv.app, try to add an emote and see how the request works
thanks
what are the chances we can start doing 7tv recaps 
@sudden gust
https://github.com/SevenTV/SevenTV/issues/139
SHU TTHE HELL UPpPPPP
just enable it and it works fine
that's not the point tho why did it get disabled

probably beacause of the v3 manifest
cause it relies on remotely hosted code for the updates
wade does that matter for firefox?
Firefox isn't allowing remotely hosted content anymore for quite some time
that's what got the FFZ addon removed from their addon store like... over a year ago I think?
Stendec had it self hosted on the FFZ site, but that was not working at some point anymore either
so now the FFZ addon store version has everything bundled (manifest v3 compliant)
Don't know if this is useful or not... FFZ admin posted this hour or so ago.

i feel like ive seen this before
As far as I know Google doesn't allow it either but is not enforcing it. But Mozilla seems to care about their users.
oh lol 
@warm yacht
@full owl
wdym new person
no, he's not

Wait I thought this is about the policy violation and not them not knowing how to build it
I'm confused
Did they reject ffz because of the remote code loading or not?
not because of remote loading, no
but it's just that Mozilla's team is pretty stupid when it comes to this
when they can't even get an extension to build properly on their own machine, even when given build instructions, or just comparing the hash with what's in the Github CI...
I don't have high hopes for their team tbh
yeah seems coincidental
But doesn't ffz do the same with remote code?
no?
because of the v3 manifest requirements it's all self contained
there's a nightly build on Chrome but that's only updated when a change to the main or addons repo happens, then it runs an action to build and send it to the Chrome webstore for review
the only one that still does remote code loading is the userscript version, and that won't change from my understanding
but v3 manifest is chromium only right? 
Firefox supports manifest v3
So at that point it doesn't make sense to have 2 separate builds
especially when Mozilla doesn't allow remote code loading
WHAAAAAT
i thought the whole point of mozilla is that it's not chromium based and it doesn't need to follow google's policy on trying to kill adblockers
Mozilla is Googles bitch
They need their default search money
Anything to make them happy
We wanted to provide an update on some exciting engineering work planned over the next few Firefox releases in support of Manifest V3.
I've found this from earlier this year
You know there is nothing wrong supporting newer version of standard?
Firefox isn't deprecating v2
unlike google
yeah the issue is when they remove support for v2
giving users the choice to use a "safer" v3 extension and a "more powerful" v2 extension is a good thing
firelox isn't deprecating v2
Yet
7TV Nightly (Self-Distributed) is restricted for violating Mozilla policies why
use quote mark
Especially if there's no context or tooltip referencing the different search functions/dorks you can use
well that's needed, but it should still show exact matches at the top
yeah if there's an exact match it should show that at the top, then other ones through fuzzy search or what's being used there imo
ive seen this happening a lot with other extension devs and some are choosing to not make firefox versions because of it. not looking good for firefoxbros
why was the new website dropped before it was even close to being done? 
we're all the guinea pigs 
tbf, there are good reasons for not doing remote code like that
wasnt there that one js lib recently that had some problem
What do you think is missing?
I mean animated emotes are not even animated until u go into the specific emote for example 
I think there were some more things I noticed that didnt work as intended. I will take a look and come back 
Well, if that's the case, it should be set to "on" by default imo
yeah idk why it’s like that
I changed it to disabled but they are still not animated
Also, one thing I thought about.
The search functionality at the top can be a bit unclear since it displays results for both emotes and users simultaneously. While this is useful, it would be more intuitive if users had the option to click on "Users" or "Emotes" to navigate to dedicated pages showing results specifically for either users or emotes.
yeah that’s what I planned initially
So that is gonna be a thing? or did yall scratch that idea?
That design looks really clean, but I think it can stay pretty much as simple as it is now. Just adding the option to click on "Users" or "Emotes" to go to their own pages would make it more useful without making it too complicated.
Some things from the idea could actually be good to have tho..
but like, the "Settings" part could probably just be removed from there.
also, if you select "Emotes," it would be nice to have an endless scroll instead of only showing 3-5 emotes at a time.
this part could be removed from it:
as the settings button is already up there
This is not the initial design as far as I know
I will look into the animated emotes problem
Have you checked #1317181515423027230 @sudden gust
yea, cause they are still not animated for me eventhough i changed it in settings
That's definitely a bug then
Okay maybe I didn’t put it in this Figma 
went on another browser, not logged in and they are not animated on there either 
Yes that is known
what about emote uploads? 

no?
i mean ye, there are alot of things you dont have to do
but i thought it would spark some more ideas out of illustrating it

I think there should also be another search results page
elia_uuh made up their mind about going to bed: (@)everyone 💤 (4m, 30s ago)
like for when u press enter
I was trying to search for emotes and I kept trying to press enter but the ACTUAL search bar was on the left
$gn
elia_uuh is now sleeping: 🛏 💤
$cookie
7jeo, Your daily cookie: You are very talented in many ways.
ye its a bit confusing
is this issue known ? 
u change cosmetic too fast
yeah but it won't go
No, only 1 minute. If you keep trying, it's 1 hour
i got that yday i tried to look for good badge/paint combo 
did u reduce the rate limit wait time? 
As far as I know we didnt change it, you have 10 changes per minute. If you try to exceed that more than 15 times you get punished with a one hour timeout.
was it like this before or just now on the new website
it just doesnt make sense to get timedout just because I was trying paints
well it automatically updates it for every user that can see your cosmetics
thats why there is a limit cause youre spamming requests
the only logical way to go around it is to add a confirm button but idk
Or just do it slower
a confirm button would be great
Sorry, didn't have time to fix anything yet
its ok
can we gift on the old site and get the xmas badge until the store graphql badge error is fixed on the new site?
Yes, that works

is there an alert we need in the "Activity" that shows when your emote is trending? Or we already have it
that shows "Congrats, your emote is trending top #4" for example
use this to try out combos
no rate limit
yeayea ik
im using that too but was lazy
i thought i could do it on the 7tv website
fix this
unironically important to show the correct price for a region since there ARE idiots who will somehow manage to miss the € and think its cheaper/more expensive than it actually is
bad design imho, conveying proper relevant information like localized price is important
helps to better make informed decisions and reduce confusion
of course, but the cost of implementing local prices can be very complicated
i guarantee you there's an api somewhere to just fetch the current localized amount for a region
like input price and specified region to convert to, get back localized price
but that's not necessarily the price that stripe or paypal will charge
if anything you can probably just use google api for this considering there's a built in function for that in google search
true but im sure that's documented somewhere
good luck using Google apis in production brah
not saying it wouldn't be annoying im just saying logistically possible to implement
hell maybe even paypal and stripe have things for this already
maybe they should implement a working website first
i wouldn't know as i havent looked into it but i would be shocked if they provided zero way to get an accurate price for a given region
stripe has it iirc and I think it has big mac support too
like where the price is based on the average wage or whatever
so it's cheaper in 3rd world countries
I read that somewhere and they called it big mac pricing because it's available everywhere but it's not the same price if you convert it back to $
idk if that's actually what it's called tho
async function fetchFFZBadge(username) {
try {
const response = await fetch(
`https://api.frankerfacez.com/v1/user/${username.toLowerCase()}`
);
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
if (data.user?.badges && data.user.badges.length > 0) {
const badgeId = data.user.badges[0];
const badge = data.badges[badgeId];
if (badge) {
return {
url: badge.urls["4"],
color: badge.color,
};
}
}
return null;
} catch (error) {
console.error("Error fetching FFZ badge:", error);
return null;
}
}
async function twitchIdTo7tvId(twitchId) {
const url = `https://7tv.io/v3/users/twitch/${twitchId}`;
try {
const response = await fetch(url);
if (!response.ok) {
if (response.status === 404) {
console.log(`User with Twitch ID ${twitchId} not found on 7TV.`);
return null;
}
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
if (!data.user.roles.includes("6076a86b09a4c63a38ebe801")) return null;
return data.user.id; // This is the 7TV user ID
} catch (error) {
console.error("Error fetching 7TV user data:", error);
return null;
}
}
async function getSelected7tvBadge(userId) {
const url = "https://7tv.io/v3/gql";
const query = `
query GetUserCosmetics($id: ObjectID!) {
user(id: $id) {
id
cosmetics {
id
kind
selected
__typename
}
__typename
}
}
`;
const variables = { id: userId };
try {
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
operationName: "GetUserCosmetics",
variables: variables,
query: query,
}),
});
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
if (data.errors) {
throw new Error(`GraphQL Error: ${data.errors[0].message}`);
}
const selectedBadge = data.data.user.cosmetics
.reverse()
.find((cosmetic) => cosmetic.kind === "BADGE" && cosmetic.selected);
return selectedBadge ? selectedBadge.id : null;
} catch (error) {
console.error("Error fetching 7TV badge:", error);
return null;
}
}
// Helper function to fetch FFZ badge with timeout
function fetchFFZBadgeWithTimeout(username) {
return Promise.race([
fetchFFZBadge(username),
new Promise((_, reject) =>
setTimeout(
() => reject(new Error("FFZ badge fetch timeout")),
BADGE_FETCH_TIMEOUT
)
),
])
.then((badge) => {
if (badge) {
return `<img class="badge" src="${badge.url}" style="background-color: ${badge.color}; border-radius: 2px;" />`;
}
return null;
})
.catch(() => null);
}
// Helper function to fetch 7TV badge with timeout
async function fetch7TVBadgeWithTimeout(senderId) {
try {
const seventvId = await Promise.race([
twitchIdTo7tvId(senderId),
new Promise((_, reject) =>
setTimeout(
() => reject(new Error("7TV ID fetch timeout")),
BADGE_FETCH_TIMEOUT
)
),
]);
if (!seventvId) return null;
const seventvBadge = await Promise.race([
getSelected7tvBadge(seventvId),
new Promise((_, reject) =>
setTimeout(
() => reject(new Error("7TV badge fetch timeout")),
BADGE_FETCH_TIMEOUT
)
),
]);
return seventvBadge
? `<img class="badge" src="https://cdn.7tv.app/badge/${seventvBadge}/3x" />`
: null;
} catch {
return null;
}
}```
I'm looking to fix my chat overlay, It previously allowed 7TV integration. The developer started ignoring me....... I've 0 idea what to do to update my chat overlay to work properly. Above is the code for the last version which doesn't show the 7TV badges. If anyone can help It'd be appreciated and I can pay at a later date if you assist. ❤️
It doesn't display the badges, it did before
i mean in console
doesn't seem like an issue with these functions you gave
is this chat overlay open source perchance
want me to dm u the whole code
I don't rlly wanna drop it here
nvm - the whole things fuh ked
it doesn't show FFZ badges either
hm
if anyones good with chat overlays and can help me fix this I'll pay you some $$, I'll dm the code if you can help I don't wanna drop the full code here
i can prob help u but not until like tuesday (exams)
alr bet, if anyone can help sooner lmk but if not thats sweet
it looks like the code is implemented in a way that is querying the 7tv profile of every chatter instead of using the eventapi
I'm gonna be so honest with you, I don't understand a word you just said
it's just a not so good way of getting badges of chatters
anyway you can help me fix it?
I've no idea what I'm doing
I just pay people to do stuff for me icl
if not it's no worries at all
can't really tell from that screenshot, maybe scroll up in the console. or check network fetch requests are normal if there even is any
I'll ss all of it
on first load
Network tab trying to fetch it but can't
so is FFZ
unable to fetch correctly tho
Not showing the badges here
those fetch requests look fine, and images are being loaded. confused where the problem is
are you not seeing those loaded images "badges"
wdym sorry
by this
well the network request is showing the image being loaded, so it is being loaded somewhere
If I dm you the whole chat script could that help you? Or not
I don't really understand half of this tbh
I mean I don't even see the problem yet, what does a chat message look like?
is it missing the badges which are somehow somewhere being loaded
ah ok, so just the 7tv one is missing. makes sense it's not showing in the netowork tab
yea
does that help you understand the issue? I can provide you with whatever you need just lmk
what is BADGE_FETCH_TIMEOUT set to
1000
change it something higher like 10000 and see if that fixes anything
nope still nothing
wait I just realised there is no gql request being made at all in the network
I'm not sure what that means but it sounds bad
@lyric cosmos does that error in ur console appear every time u send a message
The console doesn't move when I sent a message
when does it show up
when I first open the console
is it there also before sending any messages
yes
ok
ah i see the problem
this single line if (!data.user.roles.includes("6076a86b09a4c63a38ebe801")) return null; not sure why it is doing that
but all the 7tv ids have been updated
yea

holyyy
no need 
tysm bro
you've helped a ton haha
@patent wing Was that line just basically telling it to not process the badge?
it was checking if the user had a certain role, not sure what that role is since the ids all have changed, probably the default user role or something. and if it did not have that it would just stop
oh that's dumb
no idea why the dev added that then lol
yeah not sure either
yea could be
oh wait i know
Do you know any way I could make my chat when people change their badge it'll update? I have to refresh the overlay for it to update peoples badges
i think u might be able to have a selected badge without being subbed
and the api returns that
you would need to switch to eventapi instead of using gql
so that fix may actually break things somewhat 
icl I've no idea how to do that
oh....... erm
hmm actually true
actually nvm i just tested it with someone i know isnt's subbed and that had selected cosmetics at some point
it should be fine
just disregard what i said 
those who know...
uh well it would be a change that would be different to how everything is already set up in your code
you gotta use websockets of server side events instead of normal http get requests
also the updated ID for subscriber is 01F37R3RFR0000K96678WEQT01 if there is actually any problem with what was said above but not sure if that problem is a thing ^
also eventapi is like completely undocumented
I'll add that line back with that ID and see
yeah probably don't need it maybe you do not sure
it's documented here https://github.com/SevenTV/EventAPI
if (!data.user.roles.includes("01F37R3RFR0000K96678WEQT01 ")) return null;
I added that back and it doesn't show the badge anymore
I'll just leave it out
wade 
theres a added space at the end of the id
so what your saying is, it isn't worth it
tf is this 7tv role for
freaky...
yeah probably not worth the hassle
alr I won't, was just something I'd like to do. But icl I'd just be asking someone here to do it and I don't wanna hastle anyone
kathy's badge 
role* whatever

i was here early 
ohh
nice
lol
@patent wing Is there a cmd I could make that could update their badge
anatole, is probably enough explanation
hi ryan

ryan in ur bot what does the #presense do
uh probably but wouldn't it just be easier to refresh the browser source 

i kinda meant without having to refresh
You could make a command that refreshes the source 
it manually sends your paint/badge out to other users
oh
the extension and chatterino do this on a 10s or so cooldown
I'm tryin to make it so all the msgs stay
Yeah it's probably better to just have it use the event api
I've no idea how to do that lmfao I'm an idiot
That would also allow for live emote update
oh that'd be dope
It's a different way to get user cosmetics and emotes
you know anyone I could pay to do it
.
Well there's already a bunch of chat overlays that use it
I've no idea what to change or anything, I'd end up fucking up the entire thing
Yeah I guess
If all you really want different is the background thing
Im sure you could find someone to help with that
I'm just looking for the auto emote update & auto emote update
Yeah I mean you could probably just ask is2511 to help with that
Instead of trying to build one from scratch
is he the only one who could help
No
It's all open source
Anyone willing could help you
Idk how to actually do anything with code but I think it's just css add background around text
Gpt could do it probably 
it has alot of features lmfao
maybe put it in as a .txt file
chat gpt can read files
There are some cosmetics that don't require a sub, also with the new system I don't think you can have sub cosmetic selected without a sub 
Yeah with v4 you need sub to use everything I think.
I wish, then I could solve the kick connect 7tv problem Prayge
yeah because it's non-sub cosmetic
Yeah beta tester was nonsub
for badges translator isn't too for example
But I think now that the new system is in place its not
const WebSocket = require('ws');
// Establish WebSocket connection
const socket = new WebSocket('wss://event.7tv.io/v1');
socket.on('open', () => {
console.log('Connected to 7TV Event API');
// Subscribe to events for a specific Twitch user
const twitchUserId = 'YOUR_TWITCH_USER_ID'; // Replace with the Twitch user ID
const subscribeMessage = {
op: 35, // Subscribe operation
d: {
type: "cosmetics.update",
condition: {
broadcaster_id: twitchUserId,
},
},
};
socket.send(JSON.stringify(subscribeMessage));
});
socket.on('message', (data) => {
const message = JSON.parse(data);
if (message.op === 0) {
console.log('Heartbeat received');
} else if (message.op === 36) {
console.log('Event received:', message.d);
if (message.d.type === 'cosmetics.update') {
handleCosmeticUpdate(message.d);
}
}
});
socket.on('close', () => {
console.log('Disconnected from 7TV Event API');
});
socket.on('error', (error) => {
console.error('WebSocket error:', error);
});
// Handle cosmetic update events
function handleCosmeticUpdate(data) {
console.log('Updated cosmetics:', data);
// Update the badge or emote UI based on the received data
}
function handleCosmeticUpdate(data) {
const { user_id, cosmetics } = data;
// Extract badge details
const badge = cosmetics.find((cosmetic) => cosmetic.kind === "BADGE" && cosmetic.selected);
if (badge) {
console.log(`User ${user_id} has a new selected badge:`, badge.id);
updateUIBadge(user_id, badge.id);
}
}
function updateUIBadge(userId, badgeId) {
const badgeUrl = `https://cdn.7tv.app/badge/${badgeId}/3x`;
// Update the DOM or UI element with the new badge
const badgeElement = document.querySelector(`[data-user-id="${userId}"] .badge`);
if (badgeElement) {
badgeElement.src = badgeUrl;
}
}
Could be wrong
it is still

@rotund aspen do you understand all this API stuff, like could you move something from GQL to eventapi
I could but I don't have time for that 
yea ik
is it a big change?
or like a few thuings
kinda big
yea nah I cba then, I'd just break it
anyone know that gpt that's like a only coding thing
i forgot the name
Just posting this here, if anyone knows how to transfer GQL to Event API in a Streamelements overlay, DM me.
Looking to add when a 7tv emote is added it shows up on chat overlay & badges + emotes will update on the overlay as soon as they are added/edit. Can pay just name a reasonable price 🙂
do you guys take interns? my resume lookin a lil bleak in these trying times 
why not work on a project
cuz having 7tv on my resume as work experience would be so cool 😎
I mean most of 7tv is open source/source available, nothing stopping you from contributing
I have a 7TV subscription and set up a colored name, but when I send a message in the chat on Kick, my name doesn’t show the color.
kick connections are currently not working
Few thoughts on the site as of today:
Comments/Issues
General
- Search field in top nav is a bit confusing especially when browsing the emotes page
- When I first got on the new layout to search for emotes, I instinctevely went to the first field in my view, and that was the big search bar at top.
Emotes
- When searching for emotes, the "Top" option doesn't always have the emotes ordered from most to least adds. If you search for "peepoHappy" and open the first 12 emotes, some will be out of order. Same applies to further emotes.
- When viewing an emote and the Channels section in particular, some users with glowing paints aren't rendered properly because the glow is bigger than the size constraint (https://i.imgur.com/PpAk0nc.png)
Suggestions
General
- I feel like the previous site had a better idea for searching for users where the user search was pushed to the top right instead, or at least change the tooltip to "Search users" or something along the lines
Emotes
- Add the ability to show unlisted emotes
- Add tooltips to the icons on the search and tag fields where hovering over it shows you a list of search options you can use
- Quotes and shit like that. I have no idea what else you can do - hence requesting this tooltip
- What is the purpose of "Emotes" nav on the sidebar? Seems unnecessary unless you have other things planned and have it as a placeholder currently.
- Add "Report" to the right-click context menu on the emote search results
- When viewing an emote, is there a reason why the addition features are hidden behind sub-menu(s)? If there is no reason, could you please example the emote info button bar? (https://i.imgur.com/jWFHsRc.png)
- For example: [Add to set, Download, Report]
- When viewing an emote, add a tooltip over the "Channels" button that will display the actual # of channels that has it added (https://i.imgur.com/2fav4v2.png)
- Helps to know the exact amount in cases where emotes are added to lots of channels and the number is simply "100K"

Basically he wants to have a chat overlay that looks like this but uses event api
Rn it uses gql so no live cosmetic and emote updates

Probably possible on top of ChatIS with lots of CSS. But if you already have your own, integrating the Event API might be easier, at least it would be for me (I'm not a frontend dev)
Is that the namepaint as a background? 🤔
I'm not sure but that would be a cool idea
I think it's just a general theme
@lyric cosmos does the chat overlay use paints as the background colors?
No, developer didn't wanna add that. I wanted it tho
didn't wanna add that
Cromge
Yea I asked and said it was to much. I don't rlly know anyone else who can code good
It would be weird and might break some pants, but would be funny 🤔
Definitely interesting
Hey guys, do you know if there is a way to fetch YouTube live chat messages with all the emotes that users use without being the way of scrapping the messages from the popup url?
ok ok ok
weird thing
when i download from 7tv
download gif
the gif works EVERYWHERE except discord emotes
if i try to upload the 7tv gif as an emote it gets uploaded as a png???

trying to upload this
its just the first frame as a static emote
Put it through ezgif first
why does it need to do that
Idk
I’m just guessing
is the metadata weird or something?
ALSO KIND OF A FEATURE






i dont even see them on chatterino (v2.5.1)




⌨️











