#developers
1 messages · Page 13 of 1

it doesnt address the issue of users being confused

That's why I like Emoterino7
Chatty Rhino
i was thinking spammerino or nanarino
wait
or Svenerino going back to the roots
oh, that one is also nice
or Svenchat
-chat makes it sound mobile though but its probably only cause of dankchat
My vote goes to Svenerino 
If you come up with a good name or a collection of them, please ping me again (I'll probably miss it otherwise) or make an issue on GitHub
ftkrino 
glorperino 
Thanks again, already have the emotes appearing in my app. I struggled a lot yesterday. Now I just have to iron out this partial transparency issue and we're golden :]
i thought about it
Name it Michael
if it was discussed with anatole then Minorino would fit better
AUR has taken to calling it "Chatterino 7TV" which I prefer over just "Chatterino7" or "Chatterino 7". Any sort of prefix change is fine by me too
this being done with an update to the actual version code being exposed would be great. sorry didn't see your responses until now
if this was 2003, you could call it Cha7terino
as someone who had to explain to people a bunch what the difference between chatterino 7 and regular i feel like chatterino 7tv is a way better name that doesnt require much explanation compared to other names suggested here. Also makes it feel more official and i think changing from Chatterino 7.5.3 to Chatterino 7TV 2.5.3 makes sense
or call it paintterino bc thats all the fork adds
chatturbate
ayyybubu, reminder(s) from: spoust - 5min (2h, 53m ago)
I guess that's the best we have right now
ohhh i like this one

i somehow lost all of my appearances. any help?
what do you mean?
Its seem as if the site doesn't think i'm subscribed but when i go to subscribe it tells me i already have an active sub
since when have you been having this issue?
i had a similar issue a while back but it was automatically fixed after like a couple hours
Seems to have fixed itself just then yeah. thanks for the fast reponse tho!
oh yea that was probably the same issue then
is it possible to know which badges the user has enabled? or only fetch ones which should be displayed to avoid this:
can you show me what it looks like when i type something in chat? i am curious
tell me any chat i should type in
with v4 gql you can check user.style.activeBadgeId or user.style.activeBadge
Or you can listen for presence events from the eventapi
(thats what you probably should do for things like chat overlays and shit)
tell me channel you want to type in and i can share the ss
can you check mine? seryxx
will have to look into that, but i'll try the gql one first as thats going to a bit easier to implement for now
so it shows anything but sub badges
i tried making it get the latest sub badge from the tags property
ohh i see
Eventapi would probably be the best way, you could also do live emote updates and stuff, here you can find the docs #developers message
thanks i'll try using it, i just wish there was a good library that implemented this stuff
write one yourself
when will the arrow to update chatterino from 7.5.1 to 7.5.3 be added?
you can update it manually too, download the installer here https://github.com/SevenTV/chatterino7/releases/tag/v7.5.3, run it, click next without changing any of the options and install
does chatterino 7 even prompt updates automatically? 
i dont remember it doing but idk
never gotten it
it is i believe, never had to update it manually
is there a recommended way to fetch the global emote-set via v4?
there was a v3 api endpoint https://7tv.io/v3/emote-sets/global
and v3 gql
namedEmoteSet(name: GLOBAL) {}
but nothing as such for the v4 endpoints.
lennart/troy implemented something that would imply for an emote-set being flagged as global through the emote-set attribute "kind"
pub enum EmoteSetKind {
Normal,
Personal,
Global,
Special,
}
but every single emote-set for the 7tvapp user, the emote-set kind is set to "Normal", making this useless as well
my current approach is to have the emote-set id hardcoded. annoying if that changes for special occasions like christmas and stuff like that.
not sure what dev would be responsible for implementing such feature or flag the proper emote-set as global
i'm sure someone in the community would be able to implement such thing, as there's literally an attribute emote_set_id in the global config (https://github.com/SevenTV/SevenTV/blob/main/apps/api/src/http/v3/rest/emote_sets.rs#L37 -> that's how v3 global workes) to get the global emote set.
but as the current git repository is basically just decoration, that's useless too.
why not just keep using v3, it's not like it is being discontinued anytime soon
yeah, that’s what i’m doing, it’s the only reason my v3 helper still exists.
i just figured i’d bring it up here, since this isn’t a thing in v4.
seemed like a reasonable feature to call out, as this is just a reason not to migrate to v4 - since it worked perfectly fine in v3
and i feel like fetching the global emote-set is something that happens in most community projects related to 7tv 
I don't really think we're going to discontinue v3 anytime soon. V4 is far from ready to replace V3 anyway. So you can use it with confidence 
You can still use GQL if you'd like as well 
are you saying what i'm trying to do is possible via v4 gql?
i am saying just because the 7tv dev team is too lazy to make this possible in v4 by flagging the emote sets, it doesnt mean that "V4 is far from ready to replace V3 anyway"
ah my bad, i see what you were referencing to. yeah no i definitely agree 


hmm
are you subbed
these docs were hard to find online
got what i needed done though so thanks for posting here
So I made an emote added it to a channel, deleted the emote, uploaded a new one with the same name. I can’t remove the emote from the channel because it doesn’t exist anymore and I can’t add the new one to the channel because it has the same name
What?!
it should fix itself after a while
Ok waiting
This should really be added to the official repo. I'm dumb but this was a pain to find lol
In the near future I'll try my best to make a documentation that includes the current V3, Some of the V4, and most of the important GQL queries a user would like to use.
honestly if the playgrounds would be running that would already help a lot.
you can use https://studio.apollographql.com/sandbox/explorer/ and enter https://7tv.io/v4/gql at the top left in the meantime. It'll pull the schema automatically. But yeah I agree especially since its not a hard fix. Iirc they just have to update async-graphql to fix the playground
i am using this https://cloud.hasura.io/public/graphiql?endpoint=https://7tv.io/v4/gql in the meantime.. was more of a "gql docs are not that important as there technically would be this playground", but well..
hi i have 2 questions, first are you not able to query for the active emote set id in v4 gql? i can find it in https://7tv.io/v3/users/twitch/id. second question, are you not able to do a mutation to add multiple emotes to an emote set in v4 gql? i can only add 1 at a time and need to do a mutation for each emote
users {
user(id: "<id>") {
style {
activeEmoteSet {
id
emotes {
items {
emote { id }
alias
}
}
}
}
}
}
And you can add multiple emotes at once by sending bulk gql requests in a single http request. But iirc the event api doesnt support that and will only send an event for the first emote update of that bulk query
what creepy linked was a query, not a mutation
it looks like adding multiple emotes will work until you get an error, then it doesnt continue
if anyone knows the best practice for swapping batches of emotes into an active set i would love to know
Is number of subscriptions working incorecttly for websockets?
Because server send me 500 on hello, but on 293 subscriptions i get disconnect with
websocket connection closed, attempting to reconnect: failed to get reader: received close frame: status = StatusPolicyViolation and reason = "Rate limit reached" 439 500
Code is simple
Subscribe:
func (c *WsConnection) Subscribe(ctx context.Context, msg map[string]any) error {
if c.websocket == nil {
return fmt.Errorf("websocket connection is nil")
}
if c.SubscriptionsLimit > 0 && c.SubscriptionsCount-1 >= c.SubscriptionsLimit {
return ErrToManySubscriptions
}
msgBytes, err := json.Marshal(msg)
if err != nil {
return err
}
if err := c.websocket.Write(ctx, websocket.MessageText, msgBytes); err != nil {
fmt.Println(c.SubscriptionsCount, &c.websocket)
return fmt.Errorf("failed to send subscribe message: %w", err)
}
c.mu.Lock()
c.SubscriptionsCount++
c.mu.Unlock()
return nil
}
read:
func (c *WsConnection) readLoop() {
for {
select {
case <-c.ctx.Done():
return
default:
}
if c.websocket == nil {
time.Sleep(time.Second)
continue
}
_, msg, err := c.websocket.Read(c.ctx)
if err != nil {
fmt.Println(
"websocket connection closed, attempting to reconnect:",
err,
c.SubscriptionsCount,
c.SubscriptionsLimit,
)
if reconnectErr := c.reconnect(); reconnectErr != nil {
fmt.Println("failed to reconnect:", reconnectErr)
time.Sleep(5 * time.Second) // Wait before retry
}
continue
}
if len(msg) == 0 {
continue
}
if c.onMessage != nil {
c.onMessage(c.ctx, c, msg)
}
}
}
c.SubscriptionsLimit is setted on hello from 7tv.
If you sub using the channel ID/platform it auto subs you to every topic for that channel, even if you only specified one.
Just set max topics to 250 and no issues
So, that means
subMessages = append(
subMessages, map[string]interface{}{
"op": operations.OutgoingOpSubscribe,
"d": map[string]any{
"type": "emote_set.*",
"condition": map[string]string{
"ctx": "channel",
"id": channelId,
"platform": "TWITCH",
},
},
},
)
if emoteSetId, ok := channelsWithEmoteSets[channelId]; ok {
c.registeredChannelsWithEmoteSetId[channelId] = emoteSetId
subMessages = append(
subMessages, map[string]interface{}{
"op": operations.OutgoingOpSubscribe,
"d": map[string]any{
"type": dispatchtypes.UpdateEmoteSet,
"condition": map[string]string{
"object_id": emoteSetId,
},
},
},
)
}
When i use asterisk * it subscribes to every space in emote_set?
Thats explaining everything.
And cosmetic.* and entitlement.* etc
Thank you ryan. <3

Would you rather recommend sse?
I think it's not neccecary because i already implemented all reconnect stuff e.t.c
I haven’t used the SSE since I first tried both and iirc something was confusing about topic subscription for that too 
Yea I’d just stick to ws 
@topaz crownthat feels like subscription limit wrong, hello sents me 500, but after ~350 it's sending rate limit error.
So i set it to 300 in hardcode. Can you confirm that?
@inner vale thats what i meant here, it actually subscribes you to emote_set.*, cosmetics.*, entitlements.* if you sub to any topic using channelId/platform condition. So because the backend is adding subs you didn't it causes this
i did the same and set it to 250, been that way for over a year 
Hi, I'm trying to consume the v3 gql api to fetch emoteset and emotes, but it seems every response would include the analyzer and tracing extension, which is making the responses significantly larger (fortunately compression helped a lot). Is this the intended behavior?
why gql v3 and not gql v4?
because #developers message
Hello, I'm writing an application that embeds twitch chat with an iframe. I see that https://github.com/SevenTV/Extension/pull/964 was closed like a year and a half ago since the extension was going to be rewritten in the monorepo. Did that ever happen and if so is there anywhere I can see the updated manifest? I tried looking there but I didn't find anything. Sorry if this is the wrong place to ask.
nope, did not happen
Yeah also seems that the extension isn't working on firefox and was supposedly was going to be fixed during the rewrite.
7tv too good at promising things that will never happen
Yes and we are still considering the fix. Just trying to make it acceptable to firefox's store rules. aka Manifest 3.0
is this the place to chat regarding the 7TV.app website? I've noticed a strange issue regarding AVIF versus the GIF version for a specific emote and im confused as to why the GIF version is incorrectly timed and a frame gets stuck
I've only seen one example of this happening: https://7tv.app/emotes/01HHGW81QG000AH4GAMM1YECKD
it's a known bug. The image processor is messing something up with timings of GIF, MP4 and I think a few other animated formats as well. AVIF and WEBP should work normally though
Original versus the Fixed version
ohhh, I see, thanks for letting me know
thanks for reporting it
I remember there was a pull request that fixed this though?
it never got merged

why is there no way to tell if an emote is zero width through api?
u can
it’s a flag
bitwise time
youre right, sorry, i forgot that was a thing, thank you
is rate limit 600 per minute for gql? i need to do about 4000 requests one time
rate limit is being returned in the headers x-ratelimit-global-limit and x-ratelimit-global-remaining which should be 5000 per minute iirc
tyvm
heya bud mind looking at that indian isp issue thread plz ?
not much I can do there unfortunately. The devs know about the problems, but no idea, if they can provide a fix for it tbh.
welp thanx for looking into the issue i appreciate that
Hello is there any chance to create an easily transfer emote sets between twtich and kick ?
you can link both twitch and kick to the same account, then they will both have the same emotes
@ionic yarrow ignore that
it displays linking failed connecion already linked but it does not apper in setting as linked
https://api.7tv.app/v4/gql/playground and https://api.7tv.app/v3/gql/playground should be back. thanks to Mos
@rigid narwhal tap in
wow! only 4 months late!
incredible work guys
wait until you see how late the translation strings are gonna be

we're already used to waiting months for anything to happen, so surely it'll be fine
@paper plover 
my vote for next dev is anyone who can figure out why a gif holds on frame one for too long while a Webm file does not when both are uploaded onto 7tv. and have that fix be a universal fix to previous animated emotes so users dont have to reupload them
there's already a pr that fixes that https://github.com/SevenTV/SevenTV/pull/234
do devs get paid?
probably not enough if they leave out of nowhere
accidently put less than 2 years experience when i have almost 5 and i cant edit my fourm
Im on an open source team for a game where nobody gets paid and it’s the same vibe ppl come and go as they please.
I’d do the same here without the work hours expectation
github link?
7tv isnt open source anymore
Is it for profit now?
It has been for profit for a long time
what i meant is that the commit hash https://api.7tv.app/ returns is not a commit on the official github repo
Okk interesting thanks
Do u think they’d accept free work as I mentioned above
I start a job soon and don’t have 30h to commit
But I’d like to work on it
I'm sure they would but i would not recommend when 7tv easily makes tens of thousands of dollars a month off of subscriptions

It’s an impressive resume item
Like I said I don’t have time to get paid for this lol.
Unless they’re flexible with time expectations
You can still make pull requests on the repos. In theory, 7tv is still open source but the devs didnt apply that in practice. This will probably change tho if there are new devs.
So like roadmap and projects are hidden for the actual devs? If so is there any way to access that
they‘re deploying from a private repo since a while now, so no.
they mentioned that they would update the public repo with the current state every now and then, for other devs to be able to contribute, but well..
ill check it out
@fast bear Look who got hacked.
beep boop
@plush kayak
We got jebaited? 

not funny, stay banned 
You know rust?
I can't see the message
Idk maybe make a new one
Did you know that in Spain, when there are soccer matches, the president of the soccer league blocks your website? I just found out you're using Cloudflare support, and that's why you're affected. It goes down for hours.
yes thats known
isp's tend to block 7tv for whatever reason and there isnt really anything we can do about it
yeah man soon tm
its gonna come out one day
extremely soon
when 7tv says they will do something soon it will always happen
especially if it requires dev work
✌️
cant wait for the global emote raffles
:P
just like the bundles that were meant to be coming soon when the new site came out but then just got completely erased
awful idea or not, still silly
coming soon 
soon
✌️
my account is gonna be 3 years old soon and this has been coming soon at least since i created my account

A decent bit
i have used it recently but i havent been too deep into
gl
why does it get bad
I have heard its really good at memory management which is what i dont really like in C++
nah I dont use rust was just wondering if u did since u applied
yeah i have started learning it im really good with C++ though and i dont have any real projects in rust
not the only thing that was meant to be "coming soon"
What does 7tv use to avoid the 30s restriction
I there are some problems with bots dedecting it as spam or something by default
sure would be amazing if it was open source
haha
in the past it was the unicode block \u{e0000}. After the fix that should go live in the coming days it's \u{34f} that gets appended to the message
yur
it seems like Moobot detects it as spam
in some channels atleast im a stream rn where it times people out for i, but im gonna talk to the mods to see if its default settings
ik its not on 7tv to fix, its on the bots dev, just wanted to check if the people are using 7tv or chatterino
hmm, yea, I unfortunately don't know enough how moobot works. All I can say is that 7TV and Chatterino both will use \u{34f} after the update, since Twitch drops \u{e0000} from messages now (and broke the feature that way)
it probably falls under some special symbol regex
what about something like u180B
As I said it's not really on you guys, but if its a common issue because some common regex that could be used by bots matches it, it could be annoying in the future
its just a regex for zalgo symbols
u34f was chosen, because it should be relatively future proof (can't really get dropped that easily, because of usage related to enojis). But I'm sure if problems with it get discovered in the future it might get changed again

@warm yacht When you find the time too look into something with the addon, when you add an emote under both an alias and its normal name, they wont show both, we noticed this is streamerdatabase we have the emote kekingwide and maqzek which are both the same emote, while on chatterino and other places it shows on both names, FFZ addon only recognizes 1 of the 2 and its always the one who got added first.
Don't think there's a fix to that really because that's how FFZ handles emotes, it overwrites the one in the named slot iirc
Would be weird if not because... well, you can't have 2 emotes on the exact same name / code in chat anyway (unless you'd go the discord route with KEKW~2 or whatever)
(It may also be I'm misunderstanding what you're asking for haha)
Ooooh wait you meant you have one emote that you can type with two names
So like OMEGALUL would be the main one but you also have an alias for LOL or BRUH or whatever else
I think that's doable...? Would need to see what the API returns for that. Probably related to the emote having the same ID and that's the one that gets replaced
So I'd need to do some magic with "is this ID already propagated and it's the same actual 7TV emote identifier (not name)? If so, add it with -1 or -2 or something"
yeye so in that chat we have kekingwide, but you can also use "maqzek" to show kekingwide
aaaaah
@sturdy scroll Could you please open an issue / feature request on the FFZ Add-Ons repository for that? I don't know when I'll be able to look at it but I think I do have an idea on how to implement it
Just so I don't forget 
Yup
Yeah was about to suggest just screenshot it haha
With you saying it works in other programs like Chatterino, that means the API is already returning the data for the emotes properly
so its just a matter of implementing it properly in the FFZ addon
I assume Chatterino handles emote renaming / adding / removing of aliases, too?
how do you even add emotes as an alias, I can't see that as an option on a 7TV emote's page
You can rename the emote before adding it to one of your emote sets, and then you just confirm it.

So I find a new emote I don't yet have, rename that to something else while adding it to the main set, and then afterwards I can add it normally as well or...?
in the "Add to..." menu
yes
yeah this for example
its on catKISS rn, but if I click confirm that'll remove catKISS and add catKISSx, wont it?
oh it seems like it renames it instead of adding it again
Yes
you can use a bot like potatbotat to do it
So it's not officially supported through the website then
Meaning like 3 or 4 people are actually using it? 
i guess not
Hmm
I do like the idea of having one emote under multiple names
But needing a bot for that is... eh
Feels like it's moreso a side-effect than an actual feature
It is a feature that was not considered when making new website ui
But it was intended on api side afaik
yea...
also not sure what translates the time remaining for next badge
but Im glad its 50% polish 50% english
same goes for the previously subscribed
and also its kinda funny to read, 131%, 1 month remaining for 1 year badge, previously subbed for 363 days
just a hunch
miesiąc left
I get this every time
I think I had 200% last month
I thjnk it breaks if u don’t renew the sub
and then the month after the last month will have higher % than 100
would it be possible to view owned cosmetics without needing to have an active sub?
^ asking overall, not for a specific thing/request
There is no current way to do this until they add more apis on their end
website./ twitch
WHY doesn't the fifth appear?
I've tried with other emotes but it's the same.
normally its like a few hours if u are sub
it was always needed but only for the first person trying to add it as a personal
soo all other emotes you added were already approived
im waiting more than 30 hours for sure
idk what happend
mods can you check my problem ?
If this happens with every emote I add, then this feature is completely useless.
?
it always gets approved for me in hours

it probably jusat didnt get approved
given what emote it is
Personal emotes get approved separately. 
I've added other emotes before, and they were instant. I don't understand why I have to wait now, especially since it's an emote that Twitch has already approved; I find this absurd.
These other emotes have been Approved already because other users have added them to their personal emotes
I would assume this emote is not approved given 18k users have added it already so im sure other people have tried before
twitch never approved the emote
its just that personal emotes have different rules
yeah ik, but surely personal emotes dont have an insane queue right
Mine get approved really quickly

is it because im a translator?
nevermind it wasnt disapproved yet
guess i just got lucky
So, who is the staff member responsible for carrying out the approval process? I want to know why it takes so long.
for emotes?
yes
mine get approved pretty quickly (1-2 days max) and im pretty sure anyone with the 7tv mod role can accept/deny emotes
itsa bunch of people 7tv has multiple thouisands of subs bro you are not htte only one
😭
@odd pasture can you check my issue ?
what dont put in the wrong light here, i dont expect myself to get anything from it, but it seems to be way faster than for others
Also given the API When unsorted otherwise prefers to return translators before subs its not unreasonable thinking
I'd love to, but I just have to check, why it wasn't approved for personal use in the first place.
Tried to find similar emotes, and none of them are approved for that purpose, just for publicly listing; it's quite unlikely for emotes that are at least 3 years old, that no one already requested them.
Personal emotes ≠ Publicly listed emotes
There's a different approach to it - due to them being visible in every chat, not just in created emote sets.
Twitch sets different rules to those, it's more strict.
translators don't have any priority, it works only for subs

@odd pasture So what do I do? Do I wait? Or will they reject it anyway and I'm just wasting my time?
you wait
you can't use it as personal emote
And how can I know which ones are valid and which ones are not?
https://7tv.app/emotes?p=1 if it's not approved (and not denied) then goes into our mod queue for review
But I don't know if an emote is under review or not, I don't see that status, so there is no notice of an emote that I want to upload as personal
It's that maybe I'm explaining myself poorly about what I mean.
That is, as a user, I need to know what emotes I can upload as a personal user and their current status. There has to be some filter to determine what emotes I can upload. I'm not going to try thousands of emotes, for God's sake.
uuh yeah, there's no indication for that on new website. You can use old website (https://old.7tv.app/emote-sets/01HNP2QFYR0007ZN6N7B1K0DNA) or click on the emote - if it's not denied and not approved then it's under review
as for exact guidelines I honestly have no clue if they can be shared 
yeah and every emote here is approved for personal use
cause you have 'personal use' filter selected
but generally emotes that could be sub emotes on twitch will be approved for personal use on 7tv
@rotund aspen And the reason for the rejection? Is it a confusing emote?
I find it fun, although it may seem like something else, it is giving shine to a wooden object, I didn't know that filter was so delicate.
sexually suggestive, keep in mind this emote could be used in every chat and streamer can't get rid of it like with channel emotes
genuine question though why are some emotes not getting denied and just left on the queue

cause they were not reviewed yet I guess
wdym just left in the q
idk i just cant imainge an emote like clean with 18k usages has nevcer been requested for personal
but idk
Personal queue usually gets cleared every week.
Public queue is more demanding, due to its quantity - there are like hundreds or even thousands newly added per day/week.
eventapi down? 
if i upload any emote it gets put into the public queue, right? now if i add that emote to a channel before it's approved for public listing, does it get put into personal queue or does it need to be approved for public use before even entering the personal queue?
It goes to both, so technically emote can be approved for personal use before it gets approved for public listing
now if it gets denied for public listing, does it automatically get taken out of the personal queue?
Nope, unlisted emotes can also be requested for personal use
But will be denied
i mean yea of course, but wouldnt it be better if it got automatically removed? just as a suggestion
i kind of miss the old very clear personal emote rules
nothing wider than 1.5:1 and must be added in >50 channels
It would, a requirement that emote can't be unlisted would be nice I think. Just telling how it currently works
yea no i get ur just saying how it is rn
I've added
to my personal and it still hasnt been approved for the past ~3 months
now Im just throwing in ~3 months considering the date I've talked about it in a different chat 
that is a 2022 emote
if you cant use it in your pesonal emote set it has probably been denied
and shouldnt there be an indication for it?
I saw some denied emotes just have the tag top right that its simply denied
here Im seeing nothing
and also, why would it be denied to begin with 
some old emotes are missing activity entries
thats interesting I guess
for example
https://old.7tv.app/emotes/01F6MQ33FG000FFJ97ZB8MWV52 you can use this emote for personal use
but it is missing all activity entries
i dont remember exactly why they are missing but there was a reason i think
do you know a reason why that emote is denied then? I dont see anything wrong with it 
thats why I assumed it'd be fine
its not wide, its not annoying, and has obviously way more than 50 channels
i couldnt tell you
these rules have changed so much over the years
the >50 channels / max 1.5:1 aspect ratio rules are also not in place anymore
this emote was not reviewed and is not in our mod queue
second time I see it happen
Im just pointing out things I've noticed
how do you see that it wasnt reviewed if the activity went missing during a db migration? 
https://kappa.lol/rEQvs6 it was not denied and not approved
thanks for approving @rotund aspen 
interesting
seryxx is no longer AFK: (no message) (1h, 58m ago)
eventapi has been missing a lot of events recently for me
We are currently facing issues with heavy load during evenings on the EventAPI and we are looking through the issue and we are planning to implement more servers with EventAPI to prevent such miss events
TEBAS DOWN 7TV ON sPAIN
what
7tv down for spain
hi! is there an API endpoint specifically for username cosmetics? or any way or method i could fetch the cosmetics for a particular user?
There isn't a specific endpoint for it, but you can get cosmetics through gql
for v3:
user(id: "") {
cosmetics {
id
}
}
for v4:
users {
user(id: "") {
inventory {
badges {
to {
badgeId
}
}
paints {
to {
paintId
}
}
}
}
}
you can use the playgrounds in the pinned message to see more fields
also, you're only gonna be able to query cosmetics for users with active subs. for users no active subs, it will not return any owned cosmetics
sure, that's not a problem
thank u so much!

Maybe @real sorrel can help. ( Sorry for the ping
)
For drop shadows in paints: only used in https://github.com/SevenTV/chatterino7/blob/chatterino7/src/providers/seventv/paints/Paint.cpp.
it seems like that’s also possible with the qgraphgicsitem APIs, but I haven’t looked closer at them. This is currently the most efficient solution, because you don’t need to construct a qobject. Maybe you could reuse a graphics item? Not sure. I’ll need to look at this a bit more, because the previously mixed signals from upstream are leaning towards „Let’s add paints and personal emotes but disabled by default because we dislike chatterino 7“.
If you want to refactor to use public APIs just let me know
what language is recommended to contribute to 7tv?
frontend is svelte and ts, and backend is all rust
And extention is a mix of Vue and Typescript
7tv still down in Spain ...
there is nothing we can do about it
they block 7tv during football matches
they block all of cloudflare because some football piracy sites were running through cloudflare
you even explained the reason yourself and it was mentioned multiple times there is nothing we can do about it
Hey, am I understanding correctly from Chatterino7's code that there are no initial fetches of cosmetics, and that they are instead built over time from the websocket feed (op 35, cosmetic.*) ?
https://github.com/SevenTV/SevenTV/tree/main/apps/event-api they probably use the event api
I think thats the recommended way for apps that work with chats instead of singular users
DeepWiki provides up-to-date documentation you can talk to, for every repo in the world. Think Deep Research for GitHub - powered by Devin.
yes
lolsper spent the entire day in bed: 🛏 💤 (16h, 58m ago)
For future searchers : the Firefox extension has the debug flags enabled you can get a way better understanding
Users send 1min presence updates and 7tv builds a map of users per chatroom for the whole platform and sends ws updates for the entitlements of members per room, is that it ?
ah sorry probably hsould have linked this aswell https://github.com/SevenTV/EventAPI It says its archived, but I'm pretty sure the current eventAPI works the same? I'm honestly not sure
it has docs
I assume the basic concepts apply
@proper hawk
Yep, the current EventAPI is (from a user's perspective) identical to the "old" one.
You'll have to find a solution, right? We're paying for a service that's stopped working because of a third party or entity. My point is a complaint.
you either somehow find a workaround yourself or you just deal with it
the fucks 7tv meant to do about that one
Feature req: Support an array of roomIds to report presences to instead of 1 per req. https://github.com/SevenTV/SevenTV/blob/1db851db16278a00ed30689c01ac0049ee19fc01/apps/api/src/http/v3/rest/users.rs#L472
yooo how long does it take for pull requests to get read bc i see a lot from like the past few months
itsbr0dyy is no longer AFK: (no message) (21m, 16s ago)
$rafk
itsbr0dyy, Your AFK status has been resumed.
There is no rust dev atm
@DiscordModerator ^
Hi devs and everyone! Any word or thoughts on the "origin" emote set feature returning that we had on the old 7TV site? It was a super handy feature for swapping in seasonal emotes into your main emote set. I know it was just experimental at the time, so I know there's no guarantee.
Was useful for when you had 500+ emotes on your main set and just wanted to swap in "Halloween" emote versions of your peepos for example 
I keep hearing the news like this but I thought that firefox was out of the picture for 7TV after it got pulled off of their web store??? #news message
So whats the news about?
Are yall putting it back in?
Firefox is tweaking but I talked xslash earlier and they are working on it I guess
We are trying our best to put it back on the store and even sign a newer version. But FireFox takes days to review. Then after review they would reject kn issues that are literally irrelevant and so we keep fixing those so called "issues" and we keep resubmitting
Mmm
So fuck Firefox but not fuck at the same time
You could say so 
I mean it's a great browser and Amazing dev-team. Just a bummer they reject on little tiny so called "issues"
For a second my retarded ass was gonna say make a GitHub repo and put it in there but it’s the extension
Something like " The title of the extention version is unmatched " When it's 3.1.11.1000 instead of 3.1.11 

That’s how retarded I be
I mean you can build it yourself if you want. I'll make a good documentation on how to build for Chrome and FireFox and update the repo so people know how to build and load
Wait when you install and extension usually it shows a download while adding it but that just might be chrome
Ion even know anything to deploy it 😭
I been tryna find a good website to deploy my bot and yet none work
It's very simple. I'll make the documentation very understandable as well.
Try replit. old prices were good but you can see the other prices. It's pretty good for small projects

I tried I think it was they asked for my card or they just don’t like me
Bc for my bot to run once I run the task then I need it to link with my bot’s twitch account through authentication
Honestly I nah rewrite the code in typescript instead of Python
I personally vouch a bit for Replit because it's very easy to deploy apps and work and stuff. I hate the new AI stuff but you can still do anything without using their AI thingies
I have lots of small apps hosted there. Including my file hoster: https://p.ftk.li/
You made that??
On Replit yea. Replit isn't as bad if you know how to program. Just not good for big projects. My projects are small so it's perfect
That must had taken a lot of files to create the frontend
Not at all. You can cook with your imagination
Mmm
Ngl you put me on
I was planning on making a website so people can connect to the bot or just add a join command in my chat
Lwk why doesnt 7tv have a bot? Wouldnt it be easier to add emotes through chat or is potatbotat doing the job?
We don't really plan to do that. Besides PotatBotat and other goated bots take care of that pretty well.
Btw on mobile it won’t let you scroll or that is also something your website is meant for
Oh i forgot to deploy the fix
forgot the overflow to be none while I was testing stuff
Alr
Not sure if this is the right channel but I'll ask here. Trying to swap over xQc's emotes to the halloween versions but currently the halloween set doesnt have the emotes that arent halloween-ified (as in theres 110 hallowene emotes and 400 total)
Is it possible to have both sets enabled and the halloween set just overrides if both exist? Or is the only option to manually add the non-halloween emotes to the halloween set
you can merge the sets via potatbotat https://potat.app/help/mergeset
"#mergeset 01GE2V844G0003C3CDHVR6Y4WS 01FE9DRF000009TR6M9N941CYW as:Halloween 2025" would work?
first id is halloween set, second id is current set
yes, that should work
that would enable a new set where halloween emotes ovverride, if missing it comes from mainset?
yes
correct
how do i ping potatbot to see if its in chat
isnt working
not sure id go to potatbotat chat and ask ryan
it should be joined
whats the name again is it just potatbot
potatbotat
potatbotat
i dont think so but either way the ping command should work not sure why its unresponsive
That makes sense. I was confused because I thought 7TV was generally abandoned on Firefox due to earlier issues. Then I found a notice about 7TV trying to return to Firefox which confused me. I’m glad you haven’t given up though! 
7TV is like the only thing that makes Twitch remotely bearable with all the popups and chat restrictions 
jesus christ retard spotted 
Politics don’t have a place in open source stuff 
Let’s keep it out 
if they run around with that tag I am allowed to call them a fucking idiot
Freedom of speech is important but perhaps you don’t have to call it out in the literal development channel. It’s not the place for politics 
pretty sure it's satire
😭
Let's keep this channel for programming and development talks only 
No we haven't gave up. But we are fixing the extension and making it in a way that is acceptable for Mozilla Firefox addon store. And Chrome store ( already done luckily)

nah its not
valid i guess
Been a while for sure, I’m just glad that is coming back. Although there’s definitely a lot of work since I last checked to get it working nicely on Firefox. Lots of bugs now with the old version 
Can y’all please fix the dog slow cdn? Could’ve legitimately been vibe coded in a day atp, yet it’s been an issue for many months now. I feel obligated to trash talk if the owners are offering paid perks for the service, but the bare base of the service is absolute trash.

It has actually been longer than half a year.
bro forgot to switch acc
right there, you dont see it?
So I see that PRs against the old SevenTV/Extention repo are not being accepted anymore, but I cant seem to find the extention in the MonoRepo
or am I wrong an SevenTV/Extention is still being used for PRs related to the browser extention
The SevenTV/Extention is the current active used one. We didn't migrate it to monorepo yet. But it's what we use
And as for the PR's. In the upcoming days I'll review all PR's and merge as much as I can
Any ETA whatsoever on the Firefox re-release?
Literally they rejected again for a reason that doesn't make sense. So I'm resubmitting soon with a I guess another try cuz there's no issues but they say there is so i have to see what I can do
Yes I am afraid I caused the mistake
. I'll look into this ASAP
Jesus every day they just seem to be more and more of asses to work with
I don't blame them it's okay. But I just hate the fact that they reject the whole version cuz of 1 simple "mistake" in their eyes intead of just asking and I can reply
Should be fixed now
awesome
W ftk789
@rigid narwhal

Has a bug ever been reported where the browser page suddenly lags really bad, increading memory usage consistantly unless you close the page? It's been happening to me lately and from what I "debuged" it comes from 7TV as I disabled every of my Google extensions 1 by 1, only to find 7TV was the problem
It only happens when I'm either:
- Watching any VOD on the site,
- As a mod, opening someone's profile with the basic Twitch viewer card and scrolling through their chat messages.
This has happened to me 2 Times in the last 2 Days where my pc just ran out of Memory to the point where earlyoom failed so it crashed 
I was already wondering what it was since I only had firefox, chatterino and vesktop open at the time, but either of these things you mentioned could have very well been the case when it actually happened
I'm on 3.0.9
I never really look at user logs as a mod, but it has happened a few times the last few days, so that one specifically could be the case for me. I Don't think it has happened when watching VODs for me as i have done that regularly over the last few months. That would explain why it only now appeared for me even if I'm on an older version
Can't seem to replicate it however
I can, let me send a video
Just wanna check one thing, can you check someone's profile as a mod who doesn't have 999+ messages, and someone who does?

To me it seems only people with 999+ messages make the tab lag
nope can't replicate it
Hmm
I'm reducing the video quality to send here, you'll see I can repro 100%
You can see as soon as I open the messages, it begins to lag really bad
And my PC is very much fine, it's only this window completely bugging out
So yeah. And this same exact behaviour happens when watching a VOD. Totally freezing periodically
OH WAIT
that user card
i did /user

likein a seperate tab
I never did it like that
Same thing if I use /user, this is just Twitch's base user card
It gets replaced with the 7TV one but I disabled that in the settings
as for the reason it would brick my whole pc I it's just a linux thing
Also can't replicate
Hmm, might be a me thing then but I'm curious to know if the devs had that been reported at any point
I remember I wasn't even focused on the browser when it happened, It might also be something else for me. There where some Vesktop updates lately and I also only recently updated chatterino version. But it would make sense if it was something related
What's the rule on adding support for other extensions in 7tv? Anyone I can talk to for more information?
For context I built EloWard (https://www.eloward.com/) which is a chrome extension that displays league rank badges in chat (expanding to more games soon). Currently, you have to have the EloWard extension downloaded in order to see the rank badges. I wanted to build an addon (similar to the ffz addon system) that allows 7tv users to see the rank badges as well. Is this something that could be considered for production? It would be similar to how 7tv supports bttv emotes.
More context: EloWard is open source. EloWard only displays rank badges on streams with the category set as League of Legends so it won't be intrusive to streams that aren't related. Viewers have to link their accounts with the EloWard extension, but my hope is that the ability to see the badges won't be exclusive to extension and ffz users.
I already have it fully integrated into the 7tv extension code but am unsure if I should even attempt a PR. Wondering if anyone can help me on this.
The ultimate Twitch streaming tool for League of Legends players. Display authentic rank badges in chat, integrate with OBS, and enhance viewer engagement. Free extension with streamer subscriptions available.
wizebot not counting chat messages from chatterino7. Does it have anything to do with the chat send protocol setting ?
thats wizebot issue, twitch makes sure every message is received in one way, no matter what protocol to send a message was used
that’s never happening
Any reason for that? 7tv integrates into ffz and vice versa, same with bttv. So the idea of integrating isn’t crazy.
In general these integrations provide a better and more seamless viewing experience for everyone. We all have the same mission and EloWard is also open source. We have a dedicated user base of streamers and viewers that this would positively impact.
Then is there anyway to reopen or merge this PR?
https://github.com/SevenTV/Extension/pull/964
I'm writing an extension to embed twitch chat on youtube.com for people multistreaming. Having 7tv support on that embed would make much more realistic to use.
bc there’s been nothing happening for quite a while feature wise and smth like that would require a bit of work which probably won’t happen
the code for the entire extension has been rewritten, so you would need to look into the code and redo the integration code
I will review this PR. There are lots of bugs or let's say more important things I need to rievew frist before adding more features. even tho this is not really a feature but you get the idea. I will reivew this after the bugs for sure 
Since rewrite didn't finish yet. I gotta review the main buugs that need to be fixed ASAP where extention is stable meanwhile rewrite is happening..
Since that PR is closed and was written Pre-rewrite, would you like me to re-implement, test, and open a new PR?
I already have the code written and fully integrated. Pretty much just migrated the FFZ addon to 7tv architecture.
Who moderates the GitHub PRs? I’m new here lol
ftk
hey, is 7tv accepting feature PRs? I was considering implementing user ignoring / message ignoring but wanted to check if it would be better to wait
probably better to wait, as there are PRs open that are months old
I am currently coding a chat app that already supports 7tv emotes but I can't figure out where I can find the endpoint to get the paint and badge of an user. Does anyone know the endpoint for namepaints and the selected 7tv badge?
you should get them via eventapi, but it's also possible to do it via gql - #developers message
it's a different query for the active badge/paint,
for v3:
user(id: $id) {
style {
badge {
id
}
paint {
id
}
}
}
}
for v4:
users {
user(id: $id) {
style {
activeBadge {
id
}
activePaint {
id
}
}
}
}
}
you can see the other fields on the gql playground
I found /v3/users/{id}/presences in docs and give it a try later
this is for updating a users cosmetics in a chat, not for getting their active cosmetics
but like xslash said, it's probably best to get them through eventapi 
I'm still struggling with this API from 7TV. I have the PaintId and BadgeId, but how can I use these IDs to find out the BadgeURL, PaintColor, and PaintAngle?
i put the id just as a placeholder, if you look at the gql playground (pinned message) you can see the other fields for activeBadge and activePaint
for badges https://cdn.7tv.app/badge/${badgeid}/4x.avif
as for the paint (assuming its one thats behind a "gif") you can simply add "image_url" to the paint v3 gql query that lolsper sent
thats what you're asking for?
I’m trying to build a small script that ranks all emotes in an emote set based on how many channels are using them.
However, I can’t seem to find a proper way to get that “channel count” value through the API.
Could someone point me to the right endpoint or field for retrieving it?🙏
v4 gql
query EmoteChannels($emoteId: Id!, $page: Int!) {
emotes {
emote(id: $emoteId) {
channels(page: $page) {
totalCount
}
}
}
}
{
"emoteId": "01F6ME7ADR0000WDA7ERT9H30R",
"page": 1
}
for the variables
THANK U 🙏
v4 seems broken because this is not working
{
paints {
paints(id: "01K1BPH75HG2B1P7RF4TQ8VG51") {
id
name
data {
layers {
id
ty(ty: "PaintLayerTypeImage") {
images
}
opacity
}
shadows {
color {
hex
r
g
b
a
}
offsetX
offsetY
blur
}
}
}
}
}
as far as i know, you can't query paints by id - at least in v4
you'd have to fetch all paints and filter for the paint id you're looking for
Hey, i was asked by a streamer if there is a possibilty to make a "Emote Only Chat" only with 7TV Emotes.
In theory it is possible to do but I would need to grab the emote list from that streamer the first time and every time it gets updated.
I haven't seen a API on GITHUB nor the Website and here the links are kinda weird.
The one sends me to a json type of output and the other one is an archived GitHub page from 7TV which kinda looks like that it is not available anymore.
Any info about that ? Thanks 
#developers message
if you want up-to-date list of emotes for channel you might want to use eventapi,
to get them via rest api tho you can do: 7tv.io/v3/users/TWITCH/{twitchId}
eventapi repo is archived but the documentation is still valid for current one afaik (events.7tv.io/v3)
Thanks !! 
I want to add my 7TV badge to my chat overlay (on kick streaming), I already have the cosmetics like the color, but I don’t know how to get that badge through the API. Can you help me?
@ionic yarrow were u gonna offer anything for this 
You can get the id through gql (https://api.7tv.app/v4/gql) with this query, and then get them from https://cdn.7tv.app/badge/<id>/4x.webp
query GetActiveBadge($id: Id) {
users {
user(id: $id) {
style {
activeBadge {
id
}
}
}
}
}
was gonna offer the same idea
thanks
I'd recommend for anyone messing with 7tv gql to look into the network tab and see the gql requests made there, and explore even further in the playgrounds https://7tv.io/v3/gql/playground
https://7tv.io/v4/gql/playground

a lot of good data you can get from gql requests
it would technically be possible to grab every channel emote, if you’re okay with 5 megabytes of api data
yeah just monitor the api request sent by the client when viewing a streamer’s active emotes, set perPage to 1000, then try your best to truncate the request
i was unaware of the pin when i sent this
you can truncate it by modifying the query so it returns less data, also I recommend using rest api to get them instead of gql
I mean you asked for 5mb (uncompressed) worth of data in the gql query
Yeah I already figured it out and have it running, but thanks for the follow up 
I mean you really don't want paint details and paint layers to just get emotes. Of course it'll spit out lots of data when you're asking for it. Just clean up the query and only request whatever you want. Plus the V3 API is a lot easier and better than GQL.
I am already working on a better way to get API docs by just a link or a button on the website. Taking longer than expected but that's on my bad. Will send it here when it's ready
that’s what i figured
i know this because of when i tried to make a 7tv channel emote tier listing site a month ago
a streamer i mod for has too many emotes and i figured that would be a good way to remove the bad ones
I'd love for this to be a built-in feature
Because, somehow, 1000 emotes is still not enough
Hopefully in the future ( NOT CERTAIN BUT JUST VISIONS ). I might make it easier to " sort by ". Where you can sort by numbers of channels it's in. date. and other sutff. Not sure though cuz I'll see how hard/easy would that be. but yea
what a fucking request man
infinite channel emotes for 7tv subs
imagine the upsell
yes but unsustainable
even the most active chat's can't effectively use more than like 100 or 200
more emotes isn't the solution
removing the trash emotes is the solution
streamelements has 7tv chatstats
but that's not a good measurement
maybe emote existance time / chatstats ranking
@topaz crown
Would it be possible to make it so potat manually removes the top 20 most unused emotes after a week? I think it would be cool to set a custom timer for it
#steal ryanpotat
it would be cool
I was imagining a dropdown inside the emote set itself on the website, with options to auto-remove emotes that don't get used after X weeks.
I feel like this is kinda ass
would be kinda ass, sorry
best idea which I did myself and saw others do is use that 1 command that list least used emotes
I think it was literally called #leastused
and then you can pick and choose yourself which things you could get rid off
even without a mod team, this would take max 30 minutes to sort out a lot of space for emotes
on the other hand, outside 3rd party bots, I feel like 7tv should have something for searching emotes depending on specific filters, which I've seen already suggested so suggesting it again doesnt really make sense
Idk I feel like there is simpler ways of doing it 
I don’t think people care as much tbh
best method is not add 50 million emotes as soon as someone links it in chat
I could be tweaking but I swear someone wrote that the personal emote limit would go up a bit
but I could've just imagined it idk
I doubt it sadly
I don’t think it’s on the agenda just yet

if you sub to forsen you can use
anywhere too 
i have the rest of the emotes as my personal emotes too
yea I can barely get myself to pay for a 7tv sub Im good

everything gifted 
I haven’t paid for my 7tv subscription in so long
I got so many gifted during the gifting events
most of my subs nowadays are paid
I did like the times where there were codes for 1 month free sub
even the streamelements one had a free sub
Maybe, but could get annoying if it just removes brand new emotes which are used less since they’re recently added
thats why i said it would've been kinda bad
unless you could make expections for rarely used emotes, but that'd get annoying to manage
It would need some logic of how long it’s been added + usage, which I was working on
Yeah true
What if it was like
I forgot

The idea I had was to have 20 slots where people can redeem an emote. The list would refresh every week — but if an emote is popular enough, it’ll be kept. Idk

what if we all just deleted potatbotat, deleted 7tv and just went back to bttv and ffz 
seryxx made up their mind about going to bed: 🛏 💤 (2m, 19s ago)
$rafk
Your AFK status has been resumed.
nymn has an emote redemption bot that kinda does that kira
Ah yes back to 100 combined slots
Also give me the power to bypass guards so I can rob anyone’s potato’s
they allocated like 5 slots in the set for emotes ppl redeem
Ouu that’s cool
Yeah gempbot does this somewhat, besides the keep if popular
if the new emote is good they will manually add it

Ty ty
Hey get those damn crickets off of me I’m allergic
Ty
I am a hotdog enjoyer
I feel like people would think of a lot of ways to remove unused 7tv emotes, and some people would want it in a really specific way
thats why it'd be hard to make a general function that suits everyones needs

how are you gonna cut 3 devs in half?

Divide them by two
Make 1,5 devs OOOO
yeah obviously it couldn't just be running on a schedule - it would need to make sure the emotes have actually been there for X weeks
Also it would need a way to set a threshold, either percentage or exact usage count. Because there's always people in offline chat spamming every emote at least once a week
it would legit be so helpful though
with a saw
are you gonna cut all 3 in half and keep half of each or are you gonna get rid of one, cut one in half and leave one be?
we'll cut all in half and then keep the best half of each one
and donate the rest to a food pantry
no v3 is not better, people are just too lazy to learn gql or write queries for it. v3 non-gql API provides like no features
yes it is harder, especially for beginners, but gql allows way more depth without sending these 4.2MB which cuts traffic and requests if used right. It's on 7tv to teach users how to use gql
hes right
@rancid tendon 🚨 (ok nvm but server pfp needs to change if you have time)
actually
maybe they've already been reverted @rancid tulip have you tried clearing cache?
(I haven't checked, personally)
Better as in it gives you what you want and not extra data. For extra in-depth data you use GQL. that's my definition of better according to the context 
I wouldnt say gql is that hard tbh 
especially with the tools we're provided
I'll just edit the existing ping 😈
idk what you mean by "it gives you what you want and no extra data" in connection with the non-gql API when that is exactly what gql was designed for
well I didn't say it's hard, I said its harder which is true, because you still have to write a query compared to just sending a get request
it would be ignorant to not acknowledge that it can be somewhat confusing for people that are used to other APIs that don't use gql even if the playground helps, which is proven by the average question in this channel being about gql
I dont disagree with that at all, I was skeptical about using gql considering I've used apis since forever, but now that I understand gql I feel like its much more easier and convenient to use

that also doesnt mean that apis are hard to use, mainly poorly documented ones are
yeah i think 7tvs main problem with the API is docs, but if ftk says his on that, then I'm sure we'll soon have less questions here
chat will die even further
i'm probably missing smtg, but how do you query e.g. 11th page from Emote::channels? https://github.com/SevenTV/SevenTV/blob/3d7aea7f09bc93960bb4e9fdbe7c44baf6da6f2f/apps/api/src/http/v4/gql/types/emote.rs#L105
well, you don't
pagination only allows up to page 10 
has there been any progress on mass operations? specifically i want to copy from one set to another. i have edit permissions on both.
https://github.com/SevenTV/SevenTV/blob/main/docs/website.md#emote-set-batch-operations
this has some comments about it but last edit was 10 months ago. if there's no support i was thinking about hitting /gql with EmotesInSet and a payload with perPage: 1000 and then manually hitting AddEmoteToSet for everything that returns, but im also afraid that approach may hit some throttle
are you asking if you can copy a set?
Not exactly. I have a bunch of sets. Someone adds me as an editor of their sets. I want to just shove all emotes from one of my sets into their set (which may have emotes already)
i reccomend using potabotat in this situation (https://potat.app)
Will take a look, thanks
there is a command in that bot #mergeset {your set id} {their set id} and it will merge your emote set to theirs in minutes
no problem
@gaunt magnet I just wanted to comment on here, because I'm not sure whether to actually make a followup PR or not, the reason Nerixyz got false is because I simply put a check for watch streaks in a place it should not have been, there was no reason to put it there and this is just fully on my end, which I apologise about.
This happens on line around 786, or just where Nerixyz commented, this does not impact how things behave and simply is just considered an unnecessary check, so all we'd need to do is revert
if (msgType == "viewermilestone")
{
msg->flags.set(MessageFlag::WatchStreak);
}
else
{
msg->flags.set(MessageFlag::Subscription);
}
into
msg->flags.set(MessageFlag::Subscription);
The other checks I have put should actually return properly (line 856 and 1150) - as for the tests, I am able to get the raw IRC input but I don't think I'd be able to actually get the output to achieve the proper json file, sorry about that. Just wanted to follow up on this instead of not making a PR at all and leaving it like this
You could make a PR to fix that one thing if you'd like, and not add a unit test. Adding the unit test is a little bit more advanced so I understand
since we're already talking here too, since this was your first contribution you can add yourself to the about page if you'd like @solid gale
Thank you! As a first-time contributor, you are now eligible to be listed in the About page in Chatterino.
If you want this, you can open a new PR where you modify the
resources/contributors.txtfile and add yourself to the list. Read the comments at the top for instructions.
okay, I will do this in a separated PR so its not in the same branch, thanks
sounds good 
ok, that tool would require the streamer to do more actions than setting me as an emote admin so it wasnt a good use case to me. i ended up writing my own script ( https://pastebin.com/4gJvMwU8 ), then on node i can run it and pass the --fromSet and --toSet arguments. during execution it asks for the bearer token (it can be retrieved from any operation on the website, and it asks during execution so it is not retained by the command line). it works well, seems to get throttled at 98 emotes or so, but there's an anti collision in place that makes it work, just gotta run about once per minute until everything copies over 😛
chat goes crazy though so better to do when streamer is offline
you can set a different set as the active set so it doesn't spam chat
although this is true, for some reason the option to assign the person's own emote set ot their channel doesnt appear to me (maybe lacking some very specific permission). let me check again
yeah, in my own set i see the choice
yeah the permission to change sets isn't included in the default permissions
on the person's set i dont
interestingly enough i can change the set to one that i own. but i cant do that on sets i dont own
so i have the ability to "change their sets", but i lack the ability on the set themselves "to set on others"
you can see the option but you'll get lacking privileges error once you try
you need Manage Profile to change active sets
at this point doesn't matter much, I just used my script to dump everything on their set, but I'm quite confident that I managed to enabled mine on their profile once, but couldn't revert the operation
this is still happening btw
a dev might have to look into this
Is there a way to get 7TV to work for embeded chats?
full implementation coming along swimmingly 
@rugged perch will there be a form of viewing paints for users who dont have an active sub?
It is in the plan to allow users without a sub to view the cosmetics they own yes.
👍

2029 patch notes leaked 
I implemented it on the client only to see this... All this time...
Why even make it part of the protocol if it's just not there at all?
I'm assuming it was dropped during the re-implementation to Rust due to performance problems it caused...
Average 7TV integration development experience
Do docs still not exist at all? Crazy
https://github.com/SevenTV/EventAPI/blob/f2b9f5fa36005100fd7c508387a1dbb8857adf18/internal/app/connection/handle.go#L282 no anatole just randomly commented it out in the old version and never updated the old docs
xd
the devs that wrote the rust version just had the job to convert it to rust 1 for 1 afaik
https://github.com/SevenTV/EventAPI there is this, but as you can tell it's not 100% accurate
For eventAPI it's available in the link above. As for the API. Is getting cooked and should be on sometime soon
I guess here's a sneak peek? 
I remember reading this README. It's not even correct in some places. I had to go to the source code and also interrogate some 7tv devs to make my first EventAPI client implementation... I hate that doc
Looks good 
God I hope I don't have to make a GQL-based API client in the future...
doesn't event API do most for chat overlay
Most, but not all
i hate it too, It made me never actually try the event api 
For example, if I in theory subscribed to personal emote set updates of chatters, I wouldn't be able to easily know which user's map (I store personal emotes as [username][emoteName]: emote) to modify on a personal emote event since it relates only to the set (actor and owner of the personal emote set are not necessarily the same users so I can't assume one equals the other), so I need a mapping of emote set ID to owner username, which is much easier to get via the v3 API
Also getting the initial emote set for the channel and the global one is easier with v3 API obviously
Honestly great decision
The only reason I have a working client for it is because I totally gave up on code quality in ChatIS and pretend to just not care that it's shit
wait so if change the personal emotes of another person the event API will not tell you who owns the personal emote set?
I don't this so? Let me re-check
I assume that's what you meant by actor right? 
So the actor I assume is the user that caused the event, so the one who added an emote to the personal set in this case
But that's not necessarily the owner of the personal emote set since iirc you can give perms to edit your personal emote set to other people
Meaning I know the emote set ID, but not the username of the owner
So I either have to keep 2 mappings [username][emoteName}: emote + [personalEmoteSetId][emoteName]: emote, or map [personalEmoteSetId]: username
Because when messages come in chat, the primary identifier is the username (or at least that's how ChatIS works)
yeah makes sense
weird that it wouldn't just send information about the owner of the set
Also, I'm not even sure this case currently works correctly at all in ChatIS, when an emote if removed from a set, the update you get is an "emote", not an "active emote" (iirc), but only "active emote" has the emote name by which the emote goes in chat ("active emote".name is the name used in chat, "emote".name is original emote name as the author made it), so how do I know which emote to delete from my [emoteName]: emote set... Do I need an [emoteId]: emoteName map too?
This is how a "renamed" emote looks, where the long ass name is the original emote name and "Dies" is the rename
The struct data with the original name is the "emote" struct, which is contained inside the value struct (with the active name), which is an "active emote" struct
I sure love 7tv!
Oh so if an emote gets remove it just sends the inner emote data
I mean this system was made by anatole
I am not surprised it' scuffed as hell
wait but if you just store emotes, a channel has with their ID this shouldn't be a problem right?
isn't the ID already stored in the [emoteName]: emote set?
you can just do a linear search for teh right emote
well unless sets in your language aren't iteratable

am i overcooking here xd
holy
I helped this guy get subs and he helped get some ppl into 7tv:3
chat client ive been working on the past year bc i got tired of chatterino
it looks really good
Is it as performant as chatterino too?
I'd argue it is, only thing I'm still trying to improve is start up times
that would be system dependent no?
since it's tauri
will just depend on the system's webview crap
there's a couple things that's blocking first paint that i'm attempting to minimize because i'm fetching more data on initial load
but yeah for time it takes for the actual window to render is out of my control afaik, though that hasn't really been an issue in release builds
looks pretty good it KINDA reminds me of the old twitch app on pc when it was merged with curse i think
and is it a qt app?
it’s tauri with svelte
ohh so you’re gonna do loading animations and stuff or what
that’d look cool with those placeholder animated gradients yk
could you expand? maybe we could help with this with just enough context
i think i solved most of the issues yesterday after implementing a basic cache for badges and emotes
here's a demo with a release build
Im guessing u were making all these request every time you reopened a chat
I think one of the pros of chatterino is the fact that you open it once and it will just work on all the channels without rejoining you every time you open a chat
not only is it a pro in terms of usage, but its just better for load times I feel like
my chatterino uses 4-5gb of ram
yeah i was just about to say, keeping those connections open is probably gonna consume more ram
mine doesnt 
though i do plan on implementing multiple later for splits and whatnot
I do think you will start seeing performance issues whenever theres a lot of chat paints rendered
you might want to add an option to disable 7tv paint shadows, and just allow the gifs/gradients to work
are shadows that taxing for css? i am using a virtual list for the chat so only what you see in view is getting rendered
if you load up someones profile cosmetics page without hardware accel you will start seeing quite heavy performance loss
if that works well then its fine I suppose, you will just have to look and test yourself
i haven't noticed any issues yet but i'll keep that in mind
how many tabs
19
I just feel like one of the good reasons to use chatterino is because of the ability to quickly hop channels and people can like ping you and shit
without that youre basically just running modded native chat
def gonna prioritize that for v1, just working toward a beta rn
👍
what's your scrollback limit
i maxed everything
makes sense then
and i have like 145 tabs
really cool project man - thanks for making it open source. I had a similar issue with something I'm building too. I cache the emotes and then listen to the event api to work out when i need to invalidate / refetch emotes for a channel 👍
i think scrollback is 8k and load on join is 2k?
I will remind you in 5h, 0m (ID 3693099)
this actually was not that hard to implement as i thought
snappy 
what do the lines mean
temporary channels (which get removed when app gets closed), online following, offline following
@distant phoenix, reminder from yourself (5h, 0m ago): disable logging in chatterino you dumb fuck
ik u said not tested on linux but I wasn't expecting it to just do nothing 
wait I think it's my fault
are these not in the repo?
@violet flint https://github.com/usehyperion/hyperion/pull/145
@violet flint do you have a discord server for ts?
not yet, i'll start a discussion megathread for now
In case linux gets more support and you get people on reporting a bug where its just a blackscreen or similar even if it compiles properly on x11 and when using a nvidia gpu it might be related to this issue https://gitlab.archlinux.org/archlinux/packaging/packages/webkit2gtk/-/issues/1 I had this happen on another tauri app that i was trying to package for nixpkgs and I couldn't find the source of the problem for a few days
idk how common it is but it was so hard to find out what caused it, I don't want you to go through that as well
solution is to not use nouveau drivers
it’s abandonware
idk if that’s the actual solution but idk why you’d use nouveau nowadays
no i use normal Nvidia drivers
trust me i played around a lot with my drivers in an attenpt to fix this
strange
I personally don't like webkitgtk
bc I'm used to the chromium inspector 😭
Why does the dev build still target mv2?
Will update this. I kept it so when I enable the MV2 flag on Chrome and get live updates instead of having to build everytime
why does bot h8 me;-;
Ok so I have this problem. It's a classic hardware acceleration anomaly visual glitch. If I turn off the hardware acceleration the glitch stops but it lags my youtube at 5 fps because bottleneck of the CPU. But I discovered the problem is from the 7tv extension after removing it. I use brave on Windows. The glitch shows contrast change every 2 secs on every twitch stream.
Hi everyone. Hope your day is well.
I cannot be the only one that deals with this glitch.
When I select a certain color to appear as a background when I chat or am tagged, other than the default red, it will reset whenever the tab is refreshed. Also the custom sound as well. I tried numerous fixes, including new back up and reload. I asked someone else to try it and they had the same results.
Please, please tell me someone is working on this issue!? I am so tired of having to change the color every single refresh!
Thank you for your time.
Can you show me what's the visual glitch?
Will look into this and find a fix asap. Config been having issues lately with saving changed configs and I'll look into that as well
look at this part while the video is playing
it gets more and less saturated
but idk if thats an extension issue tbh
If I'm not mistaken. that's a Brave issue that has been going on for a while now.
I'll still look into the high CPU Usage as well. extension require some optimizations anyway
You can literally see in the video. Is changing contrast from high to low on the stream. The colors
I see it now. I didn't notice it. But I'm afraid this is a Brave issue
Can you try it on Chrome? Me trying it on Brave as well didn't replicate the issue which is also confusing me...
On chrome I didn't have an issue but im not switching back to chrome with all the ad blockers not working
Or more of a good test as well. Can you try it out WITHOUT any extention but 7tv?
Yes. Is the nightly version
How do I replicate that custom cursor just for reference to test out everything as your setup?
Oh not a Brave thing

I genuinely don't know how to replicate your issue
7TV-Nightly only, Windows, Brave latest version
I tried both versions of 7tv extensions, not only nightly
I know this might be a "stupid" question but do you have your GPU drivers up to date? I remember someone had to update their drivers and it fixed some issue like that
Yeah, im not driversen
Yeah. forsen is driversen bc he never updates his drivers
ahh 













