#developers
1 messages · Page 14 of 1
Description of the issue: Hardware Acceleration (HW-ACC) causes Videos to have a more “washed out” look and causes video quality to drop in comparison to HW-ACC off. How can this issue be reproduced? Enable hardware acceleration on Brave Browser Watch a YouTube Video Result. Video noticeably influenced in comparison to HW-ACC off (Colors...
It's weird how this is an issue only on twitch streams
so is it a problem from gpu itself of hardware acceleration settings?
It's Brave itself

It ain't your GPU since on other browsers it's ok. And you cant change specific setting son hardware acceleration So best assumption is Brave itself. And seems that you're not alone and others reported the same issue
This is a workaround:
https://community.brave.app/t/washed-out-colors-when-hardware-acceleration-is-enabled/643668/4
hey, I have the same issue. I think that this issue started appearing after chromium merged support for HDR on Wayland. Something interesting I’ve noticed is that I only have this issue on KDE Plasma Wayland, I don’t have this issue on Cosmic or GNOME, where even if I have hardware acceleration turned on, colors are not washed out, so this...
Not sure if it works though
Try it out
Is it a new issue appearing recently?
so I can know bc I assume they will fix it
the launch flag
I'll try it when I get home 
I mean people reported it years ago so Not sure
There are 2 workarounds apperantly:
try –disable-features=WaylandWpColorManagerV1
if not then try –disable-features=WaylandWpColorManagerV1 --force-color-profile=sRGB
And last fix you can try disabling it from the flags instead of a launch parameter https://www.reddit.com/r/brave_browser/comments/m797yd/washed_out_colors/
But I'm glad it ain't a 7TV extension issue 
Aight, I'll give u update when I try it 

Unrelated, this seemt to be an issue with a bunch of browsers, even when I had chrome I remember seeing alternations to contrast and brightness
but then it just kinda fixed itself (or well, more like they updated something)
unrelated because this is outside the 7tv ext
So Chromium 
I mean brave is a chromium based browser 
switch to a firefox based browser, it's not as bad as you might think
I'm working on a little script to sort an emote set based on global usage (channel count) to create a top-list.
Could somone here clarify which endpoint or GQL field currently exposes the channel count/usage statistics?
I'm querying the API but receiving 0 on the usual metrics, so I'm wondering if the schema has moved or if this data requires a specific scope now.
Thanks!
There is no usage statistics. We don't count of how many times an X emote has been used in X amount of channels yet. But we do have a GQL query to get the current channels that a specific emote is in right now. Using the query below:
- endpoint:
https://api.7tv.app/v4/gql - query:
query EmoteChannels($emoteId: Id!, $page: Int!, $perPage: Int!) {
emotes {
emote(id: $emoteId) {
channels(page: $page, perPage: $perPage) {
items {
id
mainConnection {
platformDisplayName
platformAvatarUrl
}
style {
activeProfilePicture {
...
}
activePaint {
...
}
}
highestRoleColor {
...
}
}
totalCount
pageCount
}
}
}
}
Thank you! Yes, 'current active channels' (totalCount) is what I was looking for. I just want to see how many channels have the emote added right now.
And from there make a top list of most used emotes inside of a specific emote set.
I will give it a try. Much appreciated!
More than welcome

isnt this something u asked about before?
Yeah maybe I asked before 😅 but if I remember right I never got it working back then, so I just gave up on it. Now I came back to it and totally forgot I even asked about it. This time it actually worked though. No idea if I got the same info before or if I did something different now, but hey.. it’s working so I’ll take it 
fair enough ig
Currently, I'm querying emote(id: $id) sequentially for each emote in a set. I've noticed a strict rate limit that triggers after exactly 100 requests, followed by a ~30-second cooldown/lockout, making large sets (800+ emotes) take alot of time.
My question:
Is there a recommended way to fetch usage statistics for multiple emotes in bulk?
I am planning to implement GraphQL Aliasing to request batches (e.g., 20-50 emotes per request) to reduce HTTP overhead. Is this allowed/recommended, or will the complexity score per request simply trigger the same rate limit instantly?
why dont you just query the emote channel count inside the emote set query? That way its only one request
oh it still hits the rate limit that way 
query EmoteSets($setId: Id!, $page: Int!) {
emoteSets {
emoteSet(id: $setId) {
emotes(perPage: 100, page: $page) {
items {
emote {
channels(perPage: 1) {
totalCount
}
}
}
pageCount
}
}
}
}
just wait for rate limit resets before increasing the page
Yeah I’m kinda lost with all of this tbh, but here’s where I’m at... to put everything on the table:
I have a working script fetching usage stats using the EmoteChannels query one-by-one. However, for large sets (800+ emotes), this hits the 100-request rate limit immediately unless I add massive delays. (I put 0.5s per emote and it works, but then it takes like 6–7 minutes to finish)
I tried switching to the batch query you suggested (fetching channels.totalCount nested inside the set query) to solve this, but I'm getting schema errors on V4:
- Singular:
emoteSet(id: ...)returns Unknown field "emoteSet". - Plural:
emoteSets(id: ...)returns Unknown argument "id".
Also, from what i understand the ObjectID type doesn't seem to work in V4 anymore?
So i would need the correct root field/argument to fetch a specific Emote Set by ID in V4
I’m pretty new to all of this coding stuff tbh so I’m kinda confused haha, and honestly barely know what I’m doing
are you sure you ran it on v4
https://cdn.creepy.sh/bJVZOB95RB.png works fine in the playground
maybe you forgot to nest it?
its emoteSets { emoteSet(id: $setId) { ... } } not just emoteSet(id: $setId) { ... }
And regarding ObjectID, v4 accepts both object ids and ulids as id inputs 
aaahhh... yea got it. thank youu
but the rate limit locks you out almost instantly
Idk how to do this the most efficient way
theres a header that tells you when the search rate limit resets
x-ratelimit-search-reset
where exactly 
he just said which one it is
{
"data": {},
"extensions": {},
"errors": [
{
"message": "RATE_LIMIT_EXCEEDED rate limit exceeded",
"locations": [
{
"line": 7,
"column": 25
}
],
"path": [
"emoteSets",
"emoteSet",
"emotes",
"items",
0
],
"extensions": {
"code": "RATE_LIMIT_EXCEEDED",
"fields": {},
"headers": {
"x-ratelimit-search-limit": "100",
"x-ratelimit-search-remaining": "-1",
"x-ratelimit-search-reset": "59",
"x-ratelimit-search-used": "0"
},
"message": "RATE_LIMIT_EXCEEDED rate limit exceeded",
"status": 429
}
}
]
}
which comes from this
this counts down in seconds
speaking of which, you can actually somehow manage to trigger a whole 1 hour rate limit
so just be cautious of that too
in the http headers
oh im sowwy 
Just trying figure this out. Like i am so new to coding and stuff so the "x-ratelimit-search-reset" didnt tell me that much
mods make it so it shows years and months instead of this in subscription page
simple frontend fix
why tho
ngl i think it’s way more satisfying to see 1229 days than “3 years and 4 months”. it just feels better
big number go bigger
you guys new to this
bro been on this shit since they started writing in sumer ✌️😭
Broski did his homework 
Does traffic affect the extension loading on user interfaces? Right now my extension won't load at all even after reinstalling, so I'm wondering if the Christmas gift event could be interfering with this?
(even though I'd be surprised if it's the case)
make a help post with more info, extension ui does not depend on backend 
It loads fine for everyone. Check console see if you get errors like CORS. if so. Your IP could be blocked by Cloudflare. Usually resolves from hours to couple of days
Alright, seems like it's back to working fine after an hour. If that happens again I'll do detailed info
Glad it works fine
Let us know if it happens again
SINCE YOU BEEN GONE
I CAN BREATHE FOR THE FIRST TIME
enjoy this song in ur head
@distant phoenix 
Hi there, was there any solution found?? Just checking in.
Not yet sadly. We are trying to update as much bugs and features as possible and push it at once to prevent long delay days by Chrome and FireFox's store/addon pages review
Thank you. Fyi, I use Brave.
It doesn't matter what you use they all should be the same. But it's an issue we've had for a while now. But yea it's on the fix list just waiting on the list to be big enough to be published
Is it possible to have 7TV Emotes work inside a twitch chat embed? https://dev.twitch.tv/docs/embed/chat/
For instance I have a WINUI3 app that uses webviews for chats, and it would be great to have emotes working in them
Hello, i was have bot long lived token from prev devs of 7tv, but it is expired. Who's i can contact for new token?
dm @rugged perch
just now realized so many third party twitch services don't recognize the 100,000 bits emote
I mean usually they use twitch IRC or eventapi/pubsub to catch such events
So it could be a Twitch issue but not sure
Hey, I left a comment on issue #1114 of the extension
I’m interested in implementing configurable highlight priority.
I’m still new to coding and using GitHub, and I wanted to check here too before I start on it.
what kind of firewall silently blocks cdn requests but allows webroot requests?
(2nd file removed but the request succeeded)
i could probably do that, would just have to make an array of every highlight type, then cycle through valid highlights for each message then choose the first valid one (greatest —> least)
would obv have to be memory efficient too
I think I mostly done it
There's a priority number for each highlight, 1 is top priority, and bigger numbers mean lower priority.
- New highlights start at the bottom with a number that's one higher than the current highest.
- You can change the priority directly in the settings next to the entry.
- If you change a highlight's priority, here's what happens:
- The system grabs all highlights, sorted by priority.
- It removes the highlight you changed.
- It puts it back in at the new spot.
- It renumbers everything neatly.
- Then it saves it all.
- When messages come in, the system goes through the highlights from the top down and uses the first one that fits.
- If you delete a highlight, the system renumbers everything below to fill the gap.
Did some initial testing of functionality, by hanging out in a Twitch chat
Looks like this with the priority numbers
oh nice that looks great. I have seen quite a few people requesting an option for prioritizing those highlights. Let me know here when you created the PR, would love to also test it a bit
I can create it now, and do some test on it
I wanted to have a look at that feature some time ago as well, but was always too lazy, because that whole highlighting feature is a bit unnecessarily complicated I would say. I saw that when I added the badge and username highlighting features
Its done, pull/#1196 hope its fine like that, if not I'll edit it later
awesome, thanks, gonna have a look at it
thank you ftk 


maybe use drag handles instead?
The first version I made was with up and down arrows to move them, but I didn't like it. And how I have it currently, you can have a badge > a name > a badge > a phrase in the priority, or similar.
If it's moved with something like drag and drop, it could only order them within category.
It's the best thing I could come up with. But feedback is great, I would like to hear more ideas, opinions, feedback. My opinion might not align with most ppl or there's something I'm not thinking of.
I'm not sure if there is a command for it, but if you mention the user in the chat you should be able to click it and it will open the 7tv user card
so like /user but 7tv user card?
/o7 /user7 /7user /67
What's more efficient the rest or the gql API endpoint?
wdym spike?
Whatever you feel like it's the best. Usually people use GQL to specify what kind of data to return instead of getting everything from Rest API. Rest API is the easiet as well if you aren't familiar with GQL. But you can give both a shot according to your project.
Is one faster than the other at responding or nah not really?
Their gql is usually a lot faster and more stable from personal experience. Def use it over the api
Awesome! Thanks for letting me know! Working on an app called Twick so I'd rather just use the best possible options available.
GQL is faster for sure as Darkness said

Maybe I'm misremembering, but didn't https://7tv.io/v3/users/{platform}/{id} return the entitled personal emote sets as well? For example, I'd expect my user to have the nnys sets but not my personal set (as I'm not a subscriber). On the v3 GQL you can query for the entitled sets too, but that will also return the personal set when I'm not subscribed.
Hello nerds, is there a way to bulk upload emotes?
I working on the highlight priority system for the extension, and I need feedback on which sounds better.
Option A: More flexibility
An input field for each highlight with it's priority number, 1 is highest priority
You can change the priority by changing the number and you can mix between categories.
For example, you can have badge>username>badge>phrase
Option B: Better user experience
You can change the priority by dragging the highlight above or below a different highlight, higher up in the list is higher priority.
You can only order highlight within category with fixed priority for the categories (username>badge>phrase)
Option A looks like this
sorry for not giving feedback yet, I was a bit busy the last week.
But in this case 100% A. From feedback that I heard in the past the main issue most of the time actually was overlaps between highlights of different types, like for example I have a highlight for a user but that user also is wearing a badge I'm having a highlight for.
Nah man, you are good. Just felt like this is the best way to decide.
random but i noticed most "on-screen chats" dont display "Personal Emotes", even when they otherwise have 7tv enabled. is this an issue on 7tv's end, or the on-screen chat? is there a way to mitigate the issue?
What on screen chat? You mean the overlays streamers put? If that then yes it's the developer's issue not integrating personal emotes. You can request them to add it. it's very simple. They just need to use the EventAPI and listen for presence messages for personal emotes. Should be fairly simple. But it's definitely not our issue if you mean those chat overlays..
I'm pretty positive https://chat.unii.dev/ fixes this issue, try seeing if that works
doesnt work for personal emotes (then some zero-width emotes also failed since the personal emotes didnt load)
hmmm
ive donated $5 to them and asked them to fix 
https://buymeacoffee.com/jzlnkf5qgo proof or ban 
oh theyre here 
there are personal emotes, but u gotta wait for the 7tv websocket to message about it

the twitch extension instantly grabs your personal emotes using gql
and what triggers the 7tv websocket?
u can trigger it using a simple fetch
"body": "{\"kind\":1,\"passive\":true,\"session_id\":\"\",\"data\":{\"platform\":\"TWITCH\",\"id\":\"TWITCH CHANNEL ID\"}}",
"method": "POST",
});```
In Chatterino or Native 7TV Extension when you send a message it sends a presence. That handles personal emotes and cosmetics as well
and what he sent above as well to send manually
ok, so as long as the fisrt chat doesnt have the perosnal emote i should expect everything to work fine
i mean it just depends when the websocket triggers

Chatterino7 (and I think the extension too?) will upsert the last messages (five in Chatterino's case) when it gets a dispatch for a new personal emote set assignment. So it will go through the past messages and searches for personal emotes of that set.
Anyone here use Charles Proxy or Proxyman with their iPhones/iPads?
What are they?
I thought everyone used vpns instead of proxies these days
For MITM debugging
Ah
is there a 7TV discord bot
there was one, but it has been broken for a while
is there a way to look at it
I'm actually not sure if the current source code for the bot is public, but I know there already is a new implementation ready that would add it to the mono repo, the pr just needs to get approved
ok
does 7tv not allow emote-names containing & anymore?
i'm recently getting a new error Failed to parse "String": invalid emote alias (occurred while parsing "EmoteSetEmoteId") when trying to do so.
is this behaviour intended?
it's rather annoying since one of the featured bots on your website has this as their default prefix, so now adding emotes named after commands is no longer possible.
regex for that is here if a dev wants to add & https://github.com/SevenTV/SevenTV/blob/a558d2c28d3f9e4feccf71ef32d7771384910b7f/apps/api/src/http/validators.rs#L41
that regex needs to be redone anyways
looks like we need to talk to excellify then, since they excplicitly wanted that regex
https://github.com/SevenTV/SevenTV/pull/228#discussion_r2022864030
I will fix this as soon as possible. I will include it in the next chunk of updates including API and frontend changes 
Is this done? I have seen your PR on GitHub and was wondering if you're done and settled on what you wanted to implement so I give it a proper review
Yeah, you can go ahead with it.
Does anyone know in the v3 api how to sort by top of all time
in v4 its TOP_ALL_TIME but it dosnt seem to be working in v3
emotes(query: "<query>", filter: {category: TOP})
@ionic yarrow
sort takes a value and an order and still nothing with TOP
sort: { value: "TOP", order: DESCENDING }
emotes(
query: "<query>"
filter: {category: TOP}
sort: {order: DESCENDING, value: "popularity"}
)
you can look at the request in the network tab on https://old.7tv.app/emotes to see the full query
seems like the filter is not required
oh ty didnt know about old.7tv
hello can you guys please add the ability to gift a user a specific amount of months for a sub? only being able to pick between 1 month and 1 year is super annoying especially during these events where users are required to gift like 6 subs. i think having the ability to select more than 1 month at a time would be cool, i hate having to spam purchases.
i agree being able to gift custom subs would be soo much better
Will put it on the list 
I'm curious about something. I'm implementing shared chat emotes to my chat widget, but I'm trying to understand what the proper implementation is.
Should anyone from any shared chat channel be able to use emotes from any of the channels with the ones from the source channel overwriting any conflicts? Or should it just display emotes used in other chats using that channel's emotes and ignore any other emotes not from the message's channel?
It seems like chatterino7 does the latter and the FFZ extension does the former.
So just curious other devs thoughts on this.
I think the proper way is to use the emotes from the source channel (what Chatterino attempts to do). The user initially typed it in the source channel, so they expect the emotes to be rendered like in the source channel. If you'd use the emotes from the destination channel, then the message will (likely) appear different in source and host (if they're different).
Chatterino attempts to do this, but if you don't have the source channel open, it falls back to the host/destination one.
Right, that makes sense and I agree. I guess I just meant should all of the emotes from all channels involved be available to every channel, just with the source channel being the preferred version? Or should it only use emotes from the source channel regardless.
Example:
- Channel A has emote named xdd, Channel B has no xdd emote.
- User types "xdd" on Channel B, should it show Channel A's emote or no emote?
I think we would all agree on this:
- Channel A has emote named xdd, Channel B has a different xdd emote.
- User types "xdd" on Channel B -> It should show Channel B's version not Channel A's
- User types "xdd" on Channel A -> It should show Channel A's version not Channel B's
Does that make it more clear?
Currently I am doing this:
- Channel A has emote named xdd, Channel B has no xdd emote.
- User types "xdd" on Channel B -> it shows no emote because that specific channel doesn't have it. This seemingly is how Chatterino handles it.
FFZ does this:
- Channel A has emote named xdd, Channel B has no xdd emote.
- User types "xdd" on Channel B -> it shows Channel A's xdd emote.
In my opinion, your approach is better. I'd still argue it's about the user expectation - the user expects their message to show up as always in that channel (B in your case). So it's consistent between shared-chat and regular chat.
Ideally you'd be able to give the option to the user, or maybe the streamer, if that were possible.
@sudden gust could i get another token ? the last one expired 4 months ago
lennart is not a dev anymore, dm @rugged perch
oh did he get fired
no, just moved to another project afaik
anybody got a query or mutation to see who added you as editor (before accepting) in the v4 gql?

and possibly to accept editor requests too 
query MyQuery {
users {
user(id: "01JR6SJ6JPHNMJW3M2Q5F5HC23") {
editorFor {
state
userId
}
}
}
}
f12 > search gql accept editor > copy curl
thank you so much
does staff know the actual estimated % of users that have 7tv? this was an extremely small few hour test in one chat. im just curious. This is just based off emote usage, so not expected to be very accurate just an estimate
around 25m i think
jesus


where is this number from?
extension DLs? 
fair, idk i was just guessing
from my small test in a big streamers chat, i just would have expected a way higher number of people with 7tv so figure its pretty off, still running tho 
from my memory
i don't remember where i got it from
considering the amount of channels and the amount of users which you will simply miss this isnt anywhere near reliable I would say
basing off the ext downloads isnt great either, but its better than that
yeah lurkers with 7tv is a big thing to consider
thats why i straight up asked here, really doesnt help knowing was just a random thought
fair
👋 guys, any chance of enabling/adding kick messages logging into chatterino?
Added as an item in the GitHub issue. It's probably not gonna happen in the next release, because that will happen soon ("soon" for like four weeks now)
Is chatterino version with kick support still available? I can't find the download!
WarningThis is an experimental version that may break. If you're looking for the latest stable release, see https://github.com/SevenTV/chatterino7/releases/tag/v7.5.4.
[2026-02-23] Major: Add...
yo on chatterino7 nightly, I pinned it to the task bar and then when closing it and then pressing it on the task bar, it gives an error (on linux) (I will try to send error when I can)
yes please send the error
what DE are you using?
what that?
Desktop Environment: i.e. KDE Plasma, Gnome, Xfce, etc.
so opening from the "start menu" works but not from the task bar, right?
I just been opening it from Dolphin
App image
ok I'll forgive you
but
on linux you're supposed to install stuff via a package manager
on ubuntu, it's apt
app images are inefficient
the linux way is much better
less prone to weird things like this
So in Konsole?
yeah
(other terminals are available)
IDK if they have chatterino7 tho
I only use arch
and they have chatterino 7 in the arch user repo
would this work? I had to run similar commands for applications so I’m assuming
probably but also probably not going to be any better than what you have now
try pinning just the app image itself to the task bar
instead of pinning it from its opened state
Alr ty
you can try out the flatpak. It's a bit scuffed because we don't provide a repo, but it worked well for me on Fedora.
alright I’ll try flatpak first
flatpak worked for me at first, but i reinstalled arch and latest nightly build + beta aren't working
Does it show some error?
no, i just downloaded flatpak file, installed it through "flatpak install (file name)" and after all it doesn't work
i noticed that com.chatterino.chatterino size is 0 bytes, but i didn't mind about it 
error that appeared was
the fie or folder /tmp/.mount_ChatteUY1QyW/com.chatterino.chatterino.desktop does not exist
im gonna try what the flatpak version
ah ok
so it's creating a temporary .desktop file
and that's what gets pinned to the taskbar
but it's only there while it's running so when you try to open it later, it can't
so this should work ^
how could i possibly pin the app image?
try dragging it
can't test it myself rn
I don't use app images anyway so I have very little experience with them
its fixed
i used fish and it isn't compatible with flatpak
fish as your shell?
I still haven’t figured out a solution for mine
I’m probably gonna keep opening chatterino from dolphin
Hey guys, is there any problems or contributions I could make/contribute towards? (more of a beginner)
yeah
Hey, developing my app Kickerino, already has some updates. Kick Client with 7tv colors emotes badges, also some interesting features. Im new to developing apps on windows, has some issues with 7tv integrations(laggs)
Hey, is there any api documentation around?
Greetings
#developers message and/or https://api.unii.dev/seventv for rest v3
Hi - I was wondering if there was some place I could get a list of all available 7tv emotes in text form. I'm trying to do some chat analysis and I'd like to filter for different emotes.
@sterile pumice 7tv rn doesnt have working docs but here is a endpoint
https://7tv.io/v3/users/twitch/{id}
for actually all emotes from 7tv i dont think that would be possible
I mean besides emote search in the gql nah not for all emotes
You can try here for v4 gql as it shows the right stuff for queries https://cloud.hasura.io/public/graphiql?endpoint=https://7tv.io/v4/gql
I'll release official API docs as soon as I can
bots (like potatbotat) can post list of emotes in a channel, you can use that maybe

ftk, can i link the docs proxy i mad
Sure!
Quick question, does scalar charge to host docs?
The comedy of sending him every emote in text form 

I'd be all for it :D
You realize there are like millions
I mean you can probably with the v4 gql but will make you do different pages
mooooooods
tbf i did kinda want a complete emote list, like every channel but i thought i was just autistic
stats from like ~20 channels has been enough for me
some shit i made for fun last week
which api did you use for the stats? streamelements api?
i didnt, i actually didnt even check to see if they had a public api just cause they didnt have the level of detail i wanted
so its logging locally on my server and compiling stats
ruins history, dont have historical data past like 2-3 weeks ago, but i have data on WHO used what emoji
not just the fact an emoji was used
wanted to see who was using them and if its being spammed by one guy vs actually widely used
on another note, is there anywhere in the 7tv api that shows ALL paints and badges? 
actually those two are doable for the gql https://7tv.io/v4/gql
Paints:
query PaintsFetch { paints { paints { name } } }
Badges:
query BadgesFetch { badges { badges { name } } }
oh cool, thanks
soo i did the flatpak app instead and installed it via flatpak but the app icon doesnt appear at the top left)
This is why you use Arch
I mean its not a app breaking bug
I wouldnt really just care, no? 
Im assuming the icon displays everywhere else just fine, considering you mentioned just the top left
No, it's literally unusable without an icon
You might forget which app you're using
And type something bannable in chat 😱
😭
na i can see the icon on the taskbar and in selection on the bottom left (the button to see all apps) its just on the app
weird 
yo guys is there a way to get a reliable api key, ill currently use a the Bearer token because i didn't found a way to generate a api key for what i was trying to do.
Greetings
dm @rugged perch with some information about your project, he can give you a token that won't expire that soon
now here me out... chatterino new feature - middle click on chat emote and it will paste on message box
faster way to send a emote that everyone is spamming
unless that's already a feature and im an idiot or even worse a moron

surely no way to get a count for how many accounts have a paint/badge unlocked/available? would be interesting to see paint/badge rarity, assume thats not something theyd really want public tho since youd have more people begging for specific old paints
Not sure what the query would be but I can take a look later
there is not query for this
didnt really expect there to be one
was hoping
there is an api with scraped data
https://api.rvbies.dev/cosmetic/badge/01GAFA46M0000E8VNG1S1RMTBG
https://api.rvbies.dev/cosmetic/paint/01J6M387YG0000HJTPW7AY3FZX
mmm interesting, ill look into it
who own this https://segs.lol/PsrkYM
Is that saying Chatty was inspired by Chatterino???
I think that's a different Chatty
it appears you're right
but like, what?
why
come up with a better name
Chatty is already taken for a twitch chat client
and "ChatBest" STILL somehow isn't used

I feel like a better name would be good yes to not cause conflicts to your own app as well when being googled
people just dont know chatty
this was another good idea for more emote data. Didnt know streamelements had it sorted by channel
thought at first they just had like a global overview
will this ever be removed for default users? https://kappa.lol/FGVeIO
Yes. I got carried away with other stuff. I'll fix it
Is it expected that you get entitlement.create events if you subscribe to emote_set.* with condition {ctx: "channel", id, platform}?
kind of... it subscribes you to emote_set.*, cosmetics.* and entitlements.* if you sub to any topic using the channelId/platform condition
when they rewrote the eventapi into the monorepo they never bothered fixing that
and obviously hasn't been fixed in the meantime
It seems like some events for emote_set.update are not going through and I think that's what https://github.com/SevenTV/chatterino7/issues/405 is about. I can't trigger this reliably. In my tests I've been going to https://7tv.app/emotes/new and added and removed random emotes. The best way I can sometimes trigger this is by adding and removing in emotes in chunks of 2 (add 2 emotes, and remove them). Here's some mini code to test (it should just show the raw events without any boilerplate inbetween):
const ws = new WebSocket('wss://events.7tv.io:443/v3');
ws.addEventListener('message', (msg) => {
const json = JSON.parse(msg.data);
console.log(json);
});
ws.addEventListener('open', () => {
const subTo = data => {
ws.send(JSON.stringify({
op: 35, // Subscribe,
d: data
}));
};
subTo({ condition: { object_id: "01F6YT6WH00003W81WR5MXZG86" }, type: "emote_set.update" });
});
It might also be some desync? Not sure how the backend is implemented.
I see, just noticed this when debugging the issue above
for reference, seems like I got event-api-6 assigned
I think that's a bug in EventAPI. Where it subscribes you to entitlements by default when you subscribe to emote_set or anything really
Idk why it's a thing but maybe old devs didn't patch it. I'll look into it
with my limited understanding, whenever you subscribe with the channel condition, it automatically subs to that channels UserPresence, which then dispatches all these entitlement, emote_set and cosmetics events
Yep exactly this
Any channel sub = wildcard 
I see, doesn't really matter for Chatterino because we need the events anyway. But it would be great if anyone could confirm/deny missing emote events 😁
This also seems to affect the website, because that uses the eventapi to confirm that emotes are added/removed. When you right click an emote and use "Add emote to ...'s Emotes", that can load indefinitely. Note that it doesn't always happen. Some actions get through and others don't. It only happens some instances I think(?).
I commonly miss emote set update events, but no idea how to replicate though. Seems more or less random, maybe instance related yea
just happened now, event-api-2
yeah that keeps happening for me too
+1
even when not reloading it still doesnt appear
yo! so i've been working on a feature for the website where when ur emote set is full and u try to add an emote to it, when u select it, it shows u a "make room" button instead of the confirm button, which opens a dialog that lets u see the emotes in that set ordered by popularity (least popular by default) and remove them.
but i noticed the prod site has stuff that's not in the github repo?? like the bulk select on the emotes page and it's dialog, and the entire favourite emote section feature. i can't find those in the https://github.com/SevenTV/SevenTV repo
is prod running a different build or are those somehow just not pushed yet? trying to make sure my PR covers those too 
hey, the repo will prob not get update any time really
u can try making the pr, if it breaks then ftk will it 
alr! is there a reason it's not synced? just curious (only if it's public information ofc)
You can make a PR and I'll review it and merge it 
no reason, all repos but chatterino7 is private source atp
will the new extension will stay closed source?

Hello! I'm a 7TV sub and just starting out in translation. I've worked on Portuguese and German before, and I did the full Afrikaans translation for the unofficial BTTV-Android project.
I’m native PT-BR, and I’m also in touch with native Spanish, French, and African speakers who can help me polish translations for those regions. I'd really like to join the team and help 7TV grow. If there's a way to get involved and recognized by the admins, I'm all in!
Thx!
Just go into #i18n for more info
Hey, I'm trying to integrate 7TV into my own chat app but I'm failing miserably. Can anyone help me or give me a tip on how to make it work?
You can possibly use the 7tv websocket or gql.
how do i do this?
So if you want to use the websocket, here is the repo for it (no official documentation on the website so it’s included here) https://github.com/SevenTV/EventAPI and for the v4 GQL, use this service to be able to get all of things to make your query or mutation, https://cloud.hasura.io/public/graphiql?endpoint=https://7tv.io/v4/gql and if you want v3 api docs, use this proxy https://api.unii.dev/seventv
thanck you for the links, im trying to integrate it and will say when i have questions
Alright for sure! No problem!
@ornate oar it depends in what way
emotes without live updates -> rest api
emotes with live updates -> rest api & eventAPI
paints, badges, personal emotes (basically cosmetics/entitlements) -> eventAPI & https://github.com/mzntori/seventv-unofficial-docs/tree/master/paints
rest api docs are rn broken but u can use this proxy https://api.unii.dev/seventv#tag/auth
basically what was said here but in other way
tho for gql u can use the official playground https://7tv.io/v4/gql/playground
thanck you very much it helped me alot im trying it right now
@rugged perch u gotta finally add docs bro
Documents will be out soon. I haven't had the chance to finish it up. I'm also trying to make it as 1st level developer friendly as possible. So any developer with any experience can use it easily.
just make it AI-feedable, ain't no one reading docs these days
What's the point of getting something ready without learning and knowing what it is..
Hi, I’m developing a chat client written in rust if anyone is interested I need more users for bug finding and feature requests ! Has 7tv support and such. :3
I tried to add 7tv name paints to mine chat but that’s super difficult if anyone is interested in helping / beta testing I’d love ya
Yeah sure I am down!
Sounds cool dm me if you still want help:)
i support the use of ai for learning, but if u just vibe code like this then no 
ai feed the api repo and make it yourself
https://github.com/frankischilling/crust
Written in rust, with a basic lua API currently supporting Debian and windows with installers, of course you can build on any distro
@rugged moth u are breaking the lua copyright btw
"
im breaking the law! "
.
doesnt lua have a open source license and shit?
yeh i knew it was mit or something
MODS
@late glen 
@lone marsh 
i mean 7tv eventapi mate
Just make your op to be 36 I think
That should work
wah wah wah I forgot the license file that literally wasn’t in the public GitHub
Also stop being a pussy
It’s cringe
@rugged moth i just saw herobrine dude, wtf!

Bro joined , posted his stuff , called one of our Contributors a Pussy, and left
insane speedrun




I don't get how telling someone about a license is pussy behaviour
Should have got the repo taken down 
does anyone else get this warning when click the twick app from the mobile apps dropdown? seems a little sus - tried on firefox as well as brave (get the same warning)
generally seems poorly maintained
but yes, everyone will get it (unless u somehow disable overall warnings, idk if thats even a thing)
you can turn it off in chrome settings
apparently its just ad issue
firefox also uses the data from google, so if it shows on chrome it will show on firefox too
seems to be a false flag
alr dmd the dev, they said its just issue that its hosted on github sites
As a dev of the Twick site, me and Shubham plan to redo the site and switch to cloudflare for hosting. Not sure if this a GitHub pages issue but there is no malicious content on there and you may go through it freely.
itsbr0dyy feels well rested: 🛏 💤 (8h, 56m ago)
ah cool - yeah i assumed it was ok with it being on the site. cloudflare is awesome, i use their workers for hosting 
btw i was guessing only its not 
Except that the app itself used to show me porn as soon as I opened it 
??
i was unaware of that. i never even seen ads on the site. i know ads are enabled somehow but i never experienced them
On the app
Not the site
But they've since been removed
Ohhh
i didnt even know the app had ads
i just started working on the site after shubham posted it in 7tv tools
That was Google Admob by the way. In my testing, nothing like that happened but insane. Once you told me, I removed the ads from the app for good.
Also, I hosted the site on Github Pages just to accelerate the release of the app since Apple requires some kind of website for the listing on the store but Github Pages has an issue where Google just flags them randomly. It's not malicious obviously, there's nothing.
Google must think I'm a gooner
no idea why
I didn't think Google allowed that though, because porn itself isn't allowed on the App Store so surely they would filter things before surfacing it to users 😭
yeah
that's why it was so weird
I've never seen that from other apps
(although I typically only download pretty well-known apps)
i get temu adverts on instagram and they are INSANE 😭
Goes to show them not taking action when it comes to Google since they have deep partnerships. If an app developer would do something like that, the app is getting rejected 100%.
@quartz harness dmed u abt twick
forgot to say as well: if u guys need help on the project I'd be super down to get involved as I'm wanting to learn more swift
. I'm mainly building a react native app with some swift native modules for twitch viewing + chat but can spare some time
got some questions
are badges marked v2 able to be set by normal users
are badges marked old able to be set by normal users
can translators use white or black badges separately
is there a reason the 4 year sub badges dont have tags
none of the old badges are available for normal users
it looks like translators DO have access to both translator badges
4 year sub badges were added by a different person than the last ones so they probably just didn't use the same process
thanks, just adding some logic to my own ffz post load script to preload 7tv badges without having to wait for users with them to show up in order to configure them
out of curiosity, would there be any issue from 7tv's pov for adding metadata preload for all badges to ffz?
i think i remember some talk about it previously when the apis changed, just wondered
I'm not a developer but what do you mean by this?
like, just having your script download all badges from the beginning?
not the badge images but just the data about them (urls, names, etc), for some reason i seem to remember 7tv trying to move away from that by just delivering data about badges over the socket
truly 
Need a web dev for a website for Twick if your up for it, but for the Swift side of things, since its closed source, I am not taking collabs as of now but I appreciate it 🙂
👀 ah cool that makes sense. Yeah I’d be down to help out on the web side of things (I’ve been doing full stack for a while so it shouldn’t be a problem 🫡)
L scam
@rigid narwhal 
I was wonder is there a way to get more than the last 1000 activities for a user? I paginate through the UserEvents GQL 100 per page, but it caps after 1k.
Curious if there is more history you can get any other way
There's a backend cap on that query to prevent overload from querying on DB
any gql nerds that know if its possible to do this for multiple users at once?
^ with 7tv gql
alr i got it
usersByID(list: $list) {
id
username
display_name
avatar_url
style {
color
paint {
id kind name function color angle shape image_url repeat
stops { at color }
shadows { x_offset y_offset radius color }
}
badge {
id kind name tooltip tag
host {
url
files { name static_name width height frame_count size format }
}
}
}
}
}```
what is the api endpoint to update the presence of a user?
POST https://7tv.io/v3/users/{userId}/presences
{
kind: 1,
passive: false, // if true it will emit presence data to the current user only
session_id: "" // eventapi session id, needed for passive presences
data: {
platform: "TWITCH",
id: "123456" // twitch user id (of the channel where you want to update presence)
}
}
thank you so much
what the fuck would even be considered a "passive presence"
I went back to look at my request I make for my bot and I have it as true
been out of the loop with 7tv related anything for too long
idk, took the payload from here #developers message I have it set to true too
{
kind: 1,
passive: true,
data: {
platform: "TWITCH",
id: userID,
},
}
I do this without actually passing session_id and it seems to just work either way
I guess it would send presence only to the specified eventapi session id?
and doesn't have any effect when none specified
would make sense yeah
should be
So is there a way to query the user event history beyond the last 1000 events so that it doesn't cause any issues?
As of now. no.. it's hardcoded to be limited
Sounds like the data is there, so hopefully maybe some point in the future it will be accessible, either way, thanks for the info, appreciate it boss
No problem 
If I have a suggestion for a 7tv-tool, shall I just message a mod?
this channel is for developers to showcase their tools which utilize 7tv api. If you have a tool like that send a message in https://canary.discord.com/channels/817075418054000661/984654513015242813 following the pinned message format.
Okay thank you very much 🙂

make the monorepo up to date 
itsbr0dyy is checking chat while tucked in: 🛏 💤 (8m, 56s ago)
$rafk
itsbr0dyy, Your AFK status has been resumed.
and make the extension open source
Hi everyone sorry its not the good place to ask but im currently developing a 'Twitch Plays' style application and im using the 7TV API to upload around 700 game assets (Pokemon sprites) to a private emote set for a stream overlay. im running into the MaxActiveModRequests: 10 limit (error 20000), even though im setting the flags to Private in my requests, is there an official way or a specific authorization process for developers to bypass this moderation limit when bulkuploading assets to a purely private set? of maybe if i subscribe it will change something?
Even if an emote is private or public. It has to be approved by moderators. Which means any emote you upload must be pushed to the Emotes Mod Queue. Each user has 10 emotes limit to be pushed to the Mod Queue. Until mods resolve the emotes you already uploaded (approve/deny/delete etc...), you will not have the ability to upload any other new emotes.
And as of now. There's no way for bypassing such a thing.
if there's a legitimate reason to upload a metric ton of emotes like this, like for a game, I can conceive of a scenario where the admins take a look at the game and if they deem it worthy they could just manually upload all the emotes, bypassing the usual method.
does the game exist yet in a functional state? (or at all?)
the 7tv backend may not have an easy way to upload emotes manually like that though
thanks for getting back to me that quicky I really appreciate it. yes, the project is very real and the beta is just about to launch! its a fully functional twitch play system with a custom interactive web overlay, a viewer database, and a bot. I can totally share some screenshots of the overlay, the web app, or even a quick demo video if the admins want to take a look and verify it's a legitimate use case. lemme know what works best for you guys i'd love to show it off
I mean if you want to post a demo video here, I'm sure everyone would be interested to see it
I'm going to bed so we'll see what other people think of it
ok I'd love to, im going to bed too so I'll record a nice showcase video tomorrow and drop it here for everyone to check out, have a good nighht
ok so here's thequick follow-up with the video. this is the project I mentioned: its a twitch plays style game overlay connected to a web shop, a viewer database, and a bot. viewers can buy/spawn pokemons from the website, the launcher sends it into the game, then the bot confirms the drop in chat. In the video, i spawn a Dragonite nicknamed “sevenTV” from the web shop, then switch to the stream overlay so you can see the Pokémon appear in-game and in the custom chat.
the main reason I’m asking about bulk/private emotes is this: I already implemented 7tv inside both my local stream overlay chat and the web shop chat(screen 2). when the bot says things like “Pokemon #149 delivered” or “Team: Charizard / Pikachu / Lapras”, the overlay can show the actual pokemon sprites and badge assets, while normal Twitch chat stays plain text.
(btw its normal if u see mixed french/english in the overlay or the shop its still on dev but ill release the beta in few days)
so the video shows the difference pretty clearly:
- custom overlay/shop chat = rich pokemons + badges visuals that implemented myself instead of 7tv
- normal twitch chat (screen 1) = plain text much less readable/fun (
im not trying to spam public 7tv with random emotes, the goal is to make a functional game/stream overlay feel alive, and eventually let streamers use these assets cleanly in their own setup. thanks for letting me explain my project thats much appreciated
realistically at least some of the pokemon sprites have already been uploaded years ago 
the easiest way without waiting for the devs to come up with an alternate method would be to work with a mod to get them approved as you upload them in real time
maybe @manic torrent would have an interest in that?
it's pokemon related, after all
@onyx bough or you
@dusty mirage btw i explained the project here thx for replying me in the support section
thank you i appreciate
can you DM me a zip file with all of these emotes?
now make it a zip bomb
of course! I just turned off my pc I'll send you tomorrow thank you
I LOVE POKEMON
where do I read whats going on with new version and anything about it?
Hey, where can I find the repo for the new extension? Also, how does it differ from the current one? Are there any docs I can read to see what's new?
the new extension's repo is private
it doesn't fully replace the chat anymore and it adds some new features
Why though ...? Do you plan to open source it at some point, and will the current ("old") open source version still be maintained?
#general message old extension will still be supported "for a long while". No info on new extension being open source tho
I honestly don’t like how the new version/extension was announced. It tells people to install the new extension, but there’s no clear mention that it isn’t open source, no repo link, and basically no useful information anywhere about it. There’s nothing people can really look up themselves before installing it. 
i think there should've been a better announcement, the one "announcement" that was made basically gives no information on it at all
Do you think the devs will elaborate on this at some point, or is it more likely they just won’t answer my questions?
WDYM, the repo is still getting updates and patches, it’s just that new releases aren’t being automatically built and published anymore. You can still build it yourself from the latest code if needed. Still, for me it’s better than just silently switching to a new private version and not really saying anything about it.
if u open the repo site and compare it to the main site
and its 1 to 1
im giving you 1 milion dollars
the site is on a private repo, they manually add the prs from the public one to the private one
i don't think anything is fully open source anymore
what do you mean with main site?
I think it's only prs that were made by contributors, things made by 7tv devs are not updated on the public repo
... 
Does anyone know anything about this here, or is it only the devs who have information on it? I saw you’re a 7TV moderator, so I figured you might know more about the extension.
I don't have any additional information about the extension, same source as everyone else
Are there any devs I can ask about this or ping?
the only one that will respond is @rugged perch
but he dont do extensions
the communication with any staff on 7tv is shit
1% chance u will get a response
i made a safari wrapper for 7tv, seems to be working alright so far. doesnt have player modifications like restart or audio compressor
https://github.com/kizzy23/7tv-safari-wrapper
it's because you don't have font smoothing enabled
100%
how can you expect a repo to be updated when you live without font smoothing
like srsly now


Hey! You can ask me whatever you like and I'll try my best to give you an answer
me and him already did starts here #developers message
If you're talking about the extension. Always check changelog in the settings panel
Same with old extensions.
i cannot see old vs new comparison which convince me to install it instead of using old one. also it announced recently with a tooltip in old extension thought it was compromised. later learned its source not available now and no indication it will be source available as far as in this channel history
7tv and open source?
just drops that and leaves


how to fix it
Shouldn't those dots be positioned slightly further away from the “First Time Chatter” or highlighted message?
oh yeah ftk told me to @manic sinew

what's this?
The 7TV cosmetics tracking in StreamNook, an app I’ve been developing
Is it possible to get emote_set events for an entire channel?
I'm trying with https://events.7tv.io/v3@emote_set.*<platform=TWITCH;ctx=channel;id={twitch_id}>, and I'm getting the ACK confirming the subscription, but I just don't get any events
Have you tried this
https://events.7tv.io/v3@emote_set.<object_id=ACTIVE_SET_ID>,user.<platform=TWITCH;ctx=channel;id=TWITCH_ID>
you have to pull the active set and then subscribe to it directly
25mg is no longer AFK: time for irl work PeepoWave (14m, 23s ago)
@grizzled nymph if u want events for adding/renaming/removing emotes use this one
I was hoping to subscribe to all the emote sets from a channel, so that's not possible?
I have to subscribe to a user to get emote sets and then to each one directly?
u can get all user info via
https://7tv.io/v3/users/{id}
https://7tv.io/v3/users/{platform}/{platform_id}
but yes if u want info from all user sets then u need to subscribe to all of them
gotcha, thanks
7tv docs are comming, but at this time u can use those https://api.unii.dev/seventv
No fucking way
@rigid narwhal
7tv tech lore dropped 
https://forsen.wiki/w/7tv_tech_stack
please correct misunderstandings
im mentioned
I ain't reading allat
I'm sure it's all true though xd
lmao wtf
these screenshots were taken yesterday I guess
my piss emote got used though 
actually interesting reading through https://forsen.wiki/w/7tv
as far as misunderstandings, charlotte was never the one hosting those external servers
it's so weird to see me and others used as examples of sussy stuff. It's just jokes 😭
you can edit the article and say it was jokes 
I mean yeah but that feels wrong
it would look like I'm running defense or something
it's a wiki (anyone can edit)
I know
honestly it's just so interesting to see how it looks to other people
djinn's and lopa's names redacted but not mine lol
it's because of your funny name 😄
makes me look like an unhinged simp
anyway, off-topic! Thanks for clarifications.
any time
@lone marsh your complaining paid off 
surely extension source code release soon? 
just unminify the source
wxt and svelte to no surprise
We already merged a branch of resyncing which includes 90% of the stuff that's in public (100% excluding secret keys and company model-driven code that's not meant for the public)
does this mean you guys are checking secrets into version control
secret keys here was meant for public keys. Like for an example Google public reCaptcha site secret and such secret keys
Although they are public on site. They shouldn't be on public repo because there's no use anyway

is the old extension broke it? its not even loading for me and its only loading ffz
seems to work fine for me (just a little slow)
its not appearing for me at all
try a chrome://restart
Was this ever fixed?
Im currently experiencing this exact issue mentioned here #1353874759552864297 message
On Zen
With the new 7TV extension
are devs europe time zone
I have been awaked jesus that was a while ago
and yes
it was fixed long ago
Any idea why its not working for me now?
but idk if its even possible to check because i dont know if the code is up to date with the public repo
now the server is down so thats prob why
Its the Quick Send feature thats not working for me
You're using the new extension ?
Yeah
im on zen too and its working
Latest zen browser too
Are you sure you have it enabled in the settings ?
The extensions I have are uBlock Origin, Consent O Matic, ClearURLs and 7TV new
Yeah and I reloaded twitch
hmm
Sent message history doesnt seem to be working either
this version ?
Yop
And you hold control ?
Ye but do those issues really affect the issue Im having? .
Yop
yeah at this point idk
it should not be possible
maybe disable all other extensions ?
to test
probably not. but devs are working on fixing other issues, so you will need to wait for a reply
Reset settings did...
Not save it
Genuinely have no idea why its not working
I havent used it in a good while so I dont know if it broke a while ago or recently for me
Yup, ive noticed now, its only working for non twitch emotes
So like 7TV works
But twitch ones from ones I sub, nope

a third one now
try it again maybe this time it'll work
so many compromised accounts lately it's insane

hey @rugged perch, i resynced this feature onto the new main
i also made it cover the new bulk-select + favourite sets stuff that got synced in, and threw a short breakdown with screenshots + the logic in the PR desc
it's #287




