#developers
1 messages Β· Page 8 of 1
https://github.com/mzntori/seventv-unofficial-docs/tree/master/paints ryan said someone should make docs on how to apply paints in css so i did, this will probably break to some extend once v3 is killed off 
oh my
i tried referencing what actually gets used in paints and what the extension does to render them in chat, hope i got everything right 
pin this person's message

xqc is texting someone
possibly troy
it sounds like he's expecting it to be fixed within a few minutes

troy, fix it NOW 
group chat with troy inc


ansonx10 is now sleeping: π π€
well that could actually be a huge help. If xqc learns that kick isn't providing us with any help or assistance whatsoever, he could maybe convince them to do so

didnt they already provided everything? its just because the new site is shit to work on 
No idea, last thing I heard was they are denying us some simple requests
But that was already some time ago
Nice! With the v4 paints, I will probably write some docs because I have to implement it

Awesome!!
you aint horror
?
the guy that always spams 

Hello guys, maybe it was announced somewhere but I canβt seem to find it. I faced an issue fetching emotes from https://7tv.io/v3/users/twitch/<userID>
Everything worked fine before, but now the urls in emotes objects come WITHOUT https:
Is this a bug or an intentional update from 7TV?
pretty sure its always been like that
hm, just for some reason emotes stopped displaying in custom chat widgets, unless i add βhttpsβ manually to the url, they all broke like a day ago
works fine without the protocol on chrome
Yeah itβs only messed up in widget because url was used as image src/background image for emote in custom chat
it's been like that for as long as I know
7tv share api?
can @misty olive help me?
because I need an api to have access for my discord bot to emoticons
how can i get an 7tv emote from the chat message? i want to make my own chat overlay with irc and how can i fetch the emote?
not really a official way to do that like with twitch irc. You can only fetch all emote for a channel from the 7tv api, save the data in a hashmap and split the chat message by " " and then try to get the data from the hashmap
atleast thats how i would do it without giving it much thought
maybe theres a better way
other way i could think of is regex for each emote but that would be expensive af 
i mean what you are trying to do is very much possible in v3
for sure because my project will rely on a bot that converts text that contains an emoticon with a related name into an emoticon no matter if it's animated or not e.g. emoticon xdd we write it on discord itself xdd then the bot will notice it and convert it into an emoticon.
oh so like convert any emote in an regular emoji?
no no text on emoticon from 7tv
@stuck oasis do you know how i can get the badges? global and sub?
i need the id for the badges but irc just gives @badge-info=;badges=broadcaster
you can probably use this https://dev.twitch.tv/docs/api/reference/#get-channel-chat-badges
or are you talking about 7trv badges?
well for twitch you can get the one above, for 7tv badges you can just get cosmetics from gql, similar to emotes, but if you want live updates for your overlay you will probably need to use the event API https://github.com/SevenTV/EventAPI, but i cant help you with that i never used it
seems pretty well documented though
7TV Developer Portal.
worst docs on this planet 
wouldnt use the regular API, gql is better in almost every case
Prayge
for what is this exactly?
in that case, I need endpoint
mods put coal in their stocking
ryanpotat woke up: π π€ (9h, 9m ago)
$rafk
ryanpotat, Your AFK status has been resumed.
https://7tv.io/v3/gql
wdym for what
its docs on how to render paints with css properly as it says

3rd sentence
"These docs aim to help with getting relevant data for displaying these paints and also provide reference on how to display paints using CSS."
@cursive saffron 
Thanks for the advice 
Let me see
its working now 

holy fuck this api doc is dogshit what the fuck
bro this dont even
can someone tell me HOW THE FUCK
to query emote sets
WITH GQL
holy fuck im gonna blow my brains out
fuck if i know bruh
So you want to know how to query emote sets with gql
Just @ troy
Im sure troy will know π he is the smartest person I know of
bruh cmon
i have never used qgl in my life
i have never even heard of it until just now
i am of zero help
yes but im scared cuz idk gql im deadass reading the docs tring to finger out wtf is going on in this go code https://github.com/SevenTV/API/blob/6d36bb52c8f7731979882db553e8dbc0153a38bf/internal/api/gql/v3/resolvers/query/query.emoteset.go
The 7TV API | https://7tv.io/v3. Contribute to SevenTV/API development by creating an account on GitHub.
man wtf i swear i seen a message about it when looking
nah u trippin

put all the info into gpt
and ask it to do it for you
ok lets see
just open the network tab in dev tools while on the website
@full owl MATIN THE GOAT
its going to show me everything?
let me find out
goat fr
ok so after 3 hours @patent wing i got query GetEmoteSet($id: ObjectID!, $formats: [ImageFormat!]) { emoteSet(id: $id) { id name flags capacity origins { id weight __typename } emotes { id name actor { id display_name avatar_url __typename } origin_id data { id name flags state lifecycle host { url files(formats: $formats) { name format __typename } __typename } owner { id display_name style { color __typename } roles __typename } __typename } __typename } owner { id username display_name style { color __typename } avatar_url roles connections { id display_name emote_capacity platform __typename } __typename } __typename } __typename } JUST to fetch a set then found out i can use curl -s https://7tv.io/v3/users/twitch/<twitchid> | jq '.user.connections[] | select(.platform == "TWITCH") | .emote_set' to get current set
SURELY thats how it works

oh yeah thought you said gql specifically
that was the main part
but it gives so much info i dont need theres no way to remove owner? it tried and got a error in postman
https://cloud.hasura.io/public/graphiql?endpoint=https://7tv.io/v3/gql @full owl use this it lets you build a query with all the fields you want on the left
theres no fucking way this exist
why isnt that pinned???
i mean something like postman can do the exact same thing i think
im sure there probably also is a vsc plugin for this
i did not know this
this is my first time using gql
i didnt know i can just explore that EASY
yh i had some troubles with gql at first too but its pretty nice to use once you know these tricks
with hasura.io there are docs on the type on the right
i like it so far pretty cool
theres DOCS???
wait.........
do you know the name of it?
no idont use vsc
bro what the fuck is this https://events.7tv.io/v3
@stuck oasis i seen you talking about events is there a way to see events i can sub to
i want to get right went a emote is uploaded to a channel and what emote it is
all documented here https://github.com/SevenTV/EventAPI
theres no way
so im looking at the wrong shit
oh my GOD
Discord now supports the ability to upload and display animated WebPs as an alternative to GIFs! Note that this only seems to be supported on desktop and web so far, not the mobile app.
FINALLY
#activity-feed embeds can use webp
they had this so long ago already
am I tripping
impossible gonna take 6 months from them to change that
Not animated
for a while it just put the file in chat, then they changed something and all you got was a broken image when trying to upload one
bros
they did not do shit
they only did it for FILES UPLOADED
not links
retards at discord hq never cease to amaze
correction ** only links to their own cdn
this embeds just fine
but any link to a cdn that isnt there's doesnt seem to work
interesting, there is a query param on the cdn image animated=true
remove it and it doesn't animate
I wonder why they need this
why they so restrictive with it
where
https://media.discordapp.net/attachments/1057044054367535325/1290351539344375848/4x_2.webp?ex=66fc2504&is=66fad384&hm=c4d27f7cf847be3126bbe5a537ba1e6aa88c267450ccf7353b8ad14e0ec78de7&=&animated=true&width=115&height=115
wait why is that different
why does dragging the full screened image into a tab give a different link
xd
I have more questions than answers now
oh I think the media.discoardapp.net is just for scaling the image size differently.
strange they use whole different domain. must be some legacy thing they're still relying on
something to do with the fact they don't want discord to be used as a cdn too
https://images-ext-1.discordapp.net/external/iHqH5SsaY5EEiwzROXEEFlVeTLOXIEpbP4qKArbwAGc/https/cdn.7tv.app/emote/663bd2cafcc566994724b385/1x.webp?animated=true&width=73&height=28
the animated query param on this link don't seem to change anything

Adding friction that no one asked for
media.discordapp.net is specifically their media proxy for resizing and optimizing images for things like thumbnails and previews, whereas cdn.discordapp.com is for directly accessing uploaded files
none of those work on android btw 
discord and the windows photo viewer app singlehandedly ruining the public's opinion on webp since 2018 
Hello, i'm new here, is there any api documentation for 7tv emotes? thanks
https://7tv.io/docs and pinned message i guess
7TV Developer Portal.
nvm pinned is for paints*
you can tell they're a developer 'cause they have dev in their name
very important thing to do when you're a developer
that's a day 1 meta

Hmm
jaylen2003 is no longer AFK: π (1d, 2h ago)
$rafk
jaylen2003, Your AFK status has been resumed.
3.8Tbps
someone tell me is margin-top: .5ch to center a button in a div bad practice
hi guys. any way to bulk download a bunch of emotes with their names without (1) resorting to writing custom scripts on selenium (or any other browser emulator) and (2) accidentally bringing down the platform ?
fetch the list of emotes u want then just write the image to disk from the url
I don't see why you'd even consider emulating anything
u can just... do it
with the api
cuz I get We're sorry but 7TV doesn't work properly without JavaScript enabled. Please enable it to continue. when I try to use API like this: curl -X GET https://7tv.app/emotes?query=hmm
i must be querying the wrong domain or endpoint tho
clueless
I must be getting something wrong from the doc
Am I using it correctly?
curl -X GET https://7tv.io/emotes?query=hmm
bc with this one I dont the results
im so glad you exist. it worked, thank you so much!
also, is there by any chance some kind of postgres dump available with all the emotes from 7tv? recency doesnt matter, just needs to have a lot of emotes init
got it, thanks

8TV coming soon near you
top secret
thats a logo if Iβve seen one, sending invites? (Asking for a friend
)
That friend is me 

anjos.mp3 probably forgot to check chat the entire day: im actually going to sleep rn good night π€ (16h, 30m ago)
it was a joke logo I made WAY back in the day
literally %TV
How freaky are you
too many*
i only joined only for the emotes, but yea fair
I do enjoy the occasional anime here and there

@ the mod

Is there a way to get whether an emote is global or not from the api without making a second request to https://7tv.io/v3/emote-sets/global ?
If not it would be nice to have it as a flag in v4 emotes api if that's not already finalized
just cache a list of IDs from the global set at startup
emote origins was one of my favorite features of 7tv for holiday variants and now I hear it's being removed? 
nah, it's not getting removed. It just won't be available until the new website is released, because the way origins work was changed a lot and it would require to adjust way too much on the old website. With the new site origins will be back
not recommended to use now anyway, emote sets can get corrupted
or at least take a backup before you enable it, I can send you a guide how to do that
only happens when you rename an emote. if you remove the emote amd readd it with the new name it's fine
not necessarily
that is for the automatic haunted renamed emotes
but there were other issues where you end up having blank emotes in your set and no way to delete them
hmm never had that issue
oof
so if you use it i strongly recommend doing a backup at least
so if the set gets corrupted you can revert
okay then how do I do that 
ill dm

am i able to ask what emote versioning is and how to use it here? if not I apologize
best thing is to just ignore it, since versioning will get removed very soon
ok, thanks
If you have an emote that is a "version" of one of your other emotes just upload it as a separate one. If you want to replace the old one you can also request a merge
ah so just do it manually one by one?
yea, just upload them as a new one
awesomeee thanks for the help :)


don't hardcode them
why would u have to do that
just get it once
then cache it
I don't see the issue with that
do you not know what caching means
Just got the ping, https://7tv.io/v3/ isn't being deprecated, is it?
no, just a rewritten backend. All endpoints should work the same
Gotcha, thanks, I don't have to worry about updating anything then.
if they dont report them and they should be fixed
you may need to update if you've hardcoded usage of the old IDs for emotes/users/pfps as they are changing. The api should still work if you pass an old ID for most things though
Nothing's hardcoded, but I'm using Twitch user id for retrieval.
should be fine then
Hella.
Reminds me that I was gonna ask here if there were ever plans to enable fetching emotes via twitch username again vs user id (e.g. https://7tv.io/v3/users/twitch/calamitish).
I think it was possible in the past at one point? I can't remember.
why the adversion to just using the id?
Saves some hassle, not a lot.
Gql
jaylen2003 is no longer AFK: π (17d, 2h ago)
$rafk
jaylen2003, Your AFK status has been resumed.
I dont believe so, one reason being that platform names can change and then they'd have to keep that updated
Ah right, that's entirely fair.
there is a gql query to search users by username, but it would be 7tv username, not nessarily twitch
Huh, thinking back, that's what I probably used in the past.
I'll check that out some time.
its all backwards compat
so old ids will work
the api will just start returning new ids
i see accounts using an emote is back, but only 30? 
Instead of checking against every single new first user message for an user's entitled cosmetics through GQL, do I understand it correctly I can also use the event API to subscribe to a Twitch user's channel e.g. https://events.7tv.io/v3@cosmetic.*<host_id=XXXX;connection_id=1234> where I will receive events of 7TV users sending their presence?

for performance reasons I assume it's also the preferred and recommended way to handle chat message cosmetics?
yes for sure
beautiful, thank you!
if I want to subscribe to any such Twitch channel's entitled cosmetics event feed, what would the event subscription condition params be? something like /v3@cosmetic.*<platform=TWITCH;user_id=1234>? In the example host_id seems to be the 7tv profile ID and not sure what connection_id is supposed to be
i only do websocket so I'm not sure about eventstream but this is the topic condition for a twitch channel { op: 35, t: 1729457140243, d: { type: 'entitlement.create', condition: { platform: 'TWITCH', ctx: 'channel', id: '865895441' } } }

do 7TV users broadcast their presence by interval and the client is supposed to wait for that or does the event API keep track of when one subscribes over SSE/WS sending recently seen users when connecting?
its nothing sophisticated, most clients send presence on every chat message with a ~10 second cooldown
sounds like the client can just wait for presence updates then, was wondering about when joining mid-session and how long it would take before it would be possible to start rendering cosmetics
other than making additional redundant GQL requests anyway
you'd just wait for eventapi to start supplying you with the cosmetics and render them as soon as you get them i'd think
When I explicitly subscribe to a wildcarded type cosmetic.* https://events.7tv.io/v3@cosmetic.*<platform=TWITCH;ctx=channel;id=1234> it doesn't seem to care about the specified type and just streams all types regardless, is this normal or maybe issue in new V3 backend that is currently rolling out?
yeah ive run into this as well, you can't currently specify anything its always wildcard basically
no matter what you put
sounds like a known issue then
oh are you saying it sends emote_set.* and entitlement.* when you only subbed to cosmetic.* ?
correct
i'm not sure if thats a tracked issue or not, I knew doing cosmetic.create would basically mean cosmetic.*, but not this
it's literally feeding every and all types completely unrelated to cosmetic when doing cosmetic.*, unless there's overlap I'm not aware of
@south flare
Currently (as of today) it actually doesnt even look at the topic you subscribe to. it only considers the condition: { platform: 'TWITCH', ctx: 'channel', id: '865895441' } part when the condition is a channel.
When the condition is an object id it will look at the topic.
before we split them up
the entitlement create assigns the cosmetics to the users
Got it, wouldn't it be helpful to add it as disclaimer to the EventAPI repo?
and the cosmetic.create will send u the cosmetic if you havent seen it yet during the connection lifetime
nvm, realised the repo is archived
we are going to be working on a new version of the event api over the next few months
we migrated everything to using an entirely different schema / backend
and this is a reimplementation of the old api
sounds like I'm going to have to redo everything soon
we wont disable v3
majority of our v3 usage is our own
(via extension)
we will keep it around but v4's version will be significantly simpler
got it, thank you!
Can you confirm that the emote ID format change will stay before I go around changing this everywhere
pσ ajlada feels rested:
π€ (7h, 8m ago)
Ok, fun
in c2?
thanks Troy for everything you do, been lurking your dev streams haha
no i think someone will make a pr for c2 im not sure where the no we will fix that1 << 0 came from
u a real one fr, started recently using the 7tv api 
could you please PLEASE restore origin set? I had everything working fine and now everything defaulted, 10 days from halloween... Can't even duplicate the basic emote set, do I have to make new sets with hundreds of emotes from scratch? 
Hi, just wondering about the new backend, I know there is some ongoing work with the trending section, but is it intended that the sorting by date is no more accessible?
hey guys, i use brave and i cant log in since yesterday. i deleted the browser cache and it wont work so i reinestalled the whole browser (deleting all browserfiles aswell) and it's still not working. do you have any ideas?
you probably need to enable 3rd party cookies on your browser temporarily

#harvest
this is known #news
Some symbols don't work in emote names / sets
you have to refresh afterwards
it works for me
it works for my own channel
but not for someone elses channel

and i have all the perms
trending will get recalculated soon
oh, true, something seems wrong with editor permissions
I did foo
u didnt foo
I can't create one either
you aint helpin foo
i did
oh wait, I can rename 

I can rename and delete but not create
:buh:
did it always show localized name as default? 
i think it didnt
@sudden gust 
also it looks like it depends on the channel
i tested it on yabbe and i can rename
but when i try on nymn i cant
i have the same perms on both
okay nvm
i know why


nymns set had 42069 slots back then

-41090 
@rotund pivot can you check if you can create a new set
because that was the one thing that didn't work for me
tabula rasa 
yea yea, but if you would click on save, would it actually let you create the set? Because I got an error that I'm not editor
ok, strange
please please please restore origin. It was super useful to seamlessly switch seasonal emotes
- you had your main set and those you wanted to switch

Now you would have to do it manually or make mirror sets (and you can't even make a new set copying the emote from another
)
Do we have to manually make alt sets with hundred of emotes now? And keep them synced with the main one? 
Please that feature was super useful 
@rigid narwhal try on my channel https://7tv.app/users/01F6MBDQ7R0005TFYTWP1R54KA
yea, seems like there is something wrong with permission for that
For some Reason i cant switch to another Set. Is this already a known issue?
works fine for me 
i checked on my own channel it works but in channel where im editor it does not.
i guess editor is bonked as bubu said
can confirm

isnt this a setting in the extension
no i tried from other browser and it was fixed there
it is
Appearance -> Interface -> Sidebar Expand on Hover
settings are saved locally, so they are different from browser to browser
Oh didnt know sorry, thank you tho 
no worries
Found a new bug. Cant add emotes with "!" in it. This was possible before the backend migration.
known issue
anyone else getting rate limited every time they login ?
// 20241021091919
// https://7tv.io/v3/auth?platform=twitch
{
"status": "too many requests",
"error_code": 7000,
"error": "rate limit exceeded"
}
i think it has to do with my account being an editor for over 3000 7tv acocunts, and trying to load that page on my profile
they have a graphql query that loads all of them 
How tf
i reported this bug a while ago, the admins just said wcyd its old v3 api, we're changing it all in v4
so idk what to do
This year?
erm
what
have you considered not being an editor for 3000 channels
π
Surely it's a bot right?
have you considered there's a bug that they can fix by adding a limit on page load
lol classic
lol
yeah, my page gets laggy when i try to add an emote to channels cuz im an editor for a bunch of channels too

so when is my rate limit going to be lifted
fair enough
are u a bot account?
or a troller
if u have a genuine usecase ill grant u the uncapped rate limits
actually i see
i did not know anyone was editor on that many channels
when you reported it 3 months ago i did not realize you were editor in 3000 channels otherwise i would have proposed something different.
i upped ur ratelimit much higher so try that
TYVM my status bot just reported that the api is up again
i'm not a troller, i have a legitimate use case
my code is all open source as well
use case posted here https://github.com/dotabod/frontend/blob/master/src/pages/api/update-emote-set.ts
we auto add the emotes for our users that use the twitch dotabod bot
the bot uses specific emotes so they need to be on their streams
can you report how much you actually use of the ratelimit
am receiving a new error from your api though that i haven't seen before
"response": {
"data": null,
"errors": [
{
"message": "Invalid value for argument \"id\", expected type \"String\"",
"locations": [
{
"line": 4,
"column": 19
}
]
}
],
"status": 200,
"headers": {}
},
"request": {
"query": "\n mutation UpdateUserConnection($id: ObjectID!, $conn_id: String!, $d: UserConnectionUpdate!) {\n user(id: $id) {\n connections(id: $conn_id, data: $d) {\n id\n platform\n display_name\n emote_set_id\n __typename\n }\n __typename\n }\n }\n",
"variables": {
"id": "01G68MZK4R000CQ3KBXEQ2F0W4",
"conn_id": 32474777,
"d": {
"emote_set_id": "01G68MZK4R000CQ3KBXEQ2F0W4"
}
}
}
}
id is of type string but its not reporting as such?
oh ($id: ObjectID!
you switched the user id's recently
yeah i can try to get some stats for you
your issue is the conn_id field i think you declare it as str but pass an int
im not sure why it complains about ID
ohh
this
is the id its complaining about
this query btw @dark kite does not need to be done for every connection
we no longer have per connection emote sets
oh fr
so you only need to send this once
there was like a default emote set vs other emote sets
now its all defaulted to one and they cant change the set id ?
ah ok so i still need to get the emote set id
but i dont need to update that query exactly
i think i do that in case my bot makes a new set for them, i was setting twitch to that set
in the case they have 0 sets - ie, brand new 7tv user
ok you would still need to do that
ah ok
i wasnt sure how u were using the set mutation, but now its on a per user level not a per connection
if you dm @sudden gust he will generate a bot token for you which will last a year
that'd be awesome i can't wait. have to login to oauth every month rn to refresh the token
at least the list of emotes they have work now
rip
it checks perms regardless of unlink
cause half that query should be restricted away from editors
what is this
idk my user id just changed randomly
for example 62b48f4fcb8e6bebae278384 > 01G68MZK4R000CQ3KBXEQ2F0W4 (not the bot account)
https://7tv.app/users/01G68MZK4R000CQ3KBXEQ2F0W4
https://7tv.app/users/62b48f4fcb8e6bebae278384
got it
in your db if u store ids you can use UUID
uuid's also work for querying any resource
glad emote ids didnt get changed
except for editor id? lol
no everything did
but the api allows any type of id to be queried
but it will always respond with the ULID version
how do u use the ids u store?
await client.request(CHANGE_EMOTE_IN_SET, {
id: emoteSetId,
action: 'ADD',
name: emote.label,
emote_id: emote.id,
})
export const CHANGE_EMOTE_IN_SET = gql mutation ChangeEmoteInSet($id: ObjectID!, $action: ListItemAction!, $emote_id: ObjectID!, $name: String) { emoteSet(id: $id) { id emotes(id: $emote_id, action: $action, name: $name) { id name __typename } __typename } }
like so
so do u like have a set of emotes you want to apply to every emote set?
i have a set of emote ids that i want to "add" to a current twitch emote set id
if they dont exist already?
letting it fail if it does exist
the only time u need to change ids
is if you compare ids to urs
if u dont do that then u dont need to
ah
yeah i was comparing just for editor id
well i updated emote ids already so whatever lol

i dont have the bot token yet, lennart is making it for me now. but i thought the rate limit cap was removed ?
ooc, will verified bots have a badge in chat
not removed just upped but it seems u need more
i upped it further
we can ratelimit on any request
the bot account has extra limits but i didnt grant it user_change_connections
so now i have
I have a question, I used the API of 7Tv for mi chat widget but doesn't works. Is there another endpoint?
hmm still seeing this error
im assuming embeds not working is a known issue even though its not in #news message
yes
fixed?
negative
"message": "LACKING_PRIVILEGES you do not have permission to modify connections, you need the ManageProfile permission",
new error at least
well then u lack the permission what channel
oh 
channel 62b48f4fcb8e6bebae278384
was one of these moved to manage profile?
it used to work on the default permissions
manage emote sets = modify + create them
manage profile = assign
i can go and update all of them
if u want
yes pls
for ur bot
can my bot be given a bypass for that?
cause new users are making it an editor in the future, and if they save default perms, itll be missing manage profile
no ill just go grant ur bot to modify the ones
not sure what you're changing but sure lol
will it work for new users that add it as an editor?
we messed up here on the import
i have gone ahead and granted every single editor
ability to create + modify emote sets
- ability to change profile
so change profile doesn't need the manage profile check?
it does seem liek you fixed it, my bot is working now
haven't tested net new users tho
is there a new API to get emote sets?
https://7tv.io/v3/emote-sets/(id) doesn't work anymore
there's a new id format
backwards compatibility still exists tho
so u can still use old ids if it existed before the change
this converts old to new ids
is there an api that works with new ids?
is it works?
which ulid used (library for python)
probably this one https://pypi.org/project/python-ulid/
thanks i'll try
Anyone noticing how when you're on a profile and you click an emote that the page (scroll down for it) will scroll to the top for whatever reason as the emote page is loading?
Actually
Is it a slide transition?
I'm now noticing how janking the transitions are
Is that why pages with lots of elements/emotes is scuffed? 
is emote set assignment disabled for good
What do you mean by that, you still can assign emote sets to connections 
the emote assignment(s) that were there before the migration is gone and can't be redone
You mean origins? Like you can add emotes from one set to another?
i believe its a single emote set assigned across all platforms now 
before the set(s) could be assigned to channels I edited now it's gone and can't be fixed
so the time spent managing those sets is for not now
Oh, didn't know that
I'm pretty sure thats the case, maybe ask troy to be sure 
Yeah I checked that and it changes the set for all of the connections

is there a timeline for the deploy of the fix? right now hundreds of emotes are not usable
yeah its in #news
sorry i dont know this
Thanks. Hope it is already in the pipeline. Maybe they can cherry pick it.
is it intended that you can add the same emote to the same set multiple times under different names
Im guessing not cause it removes all aliases of the emote from the set if you try removing one alias

yes, it's intended

what do you mean? It should work fine just like before
This is a bug
We can't fix that right now though because the client doesnt tell the server which alias should be removed, only the emote id which is the same for every alias
it sends whatever is in the Custom Name field even for remove mutations
couldnt that be used 
Although I guess the current website UI wouldnt really make that clear
yeah my problem was something else, I fixed it now
any smart cpp people here that can help me fix an include path issue
I'm like 99% sure it's not my fault but I have to fix something
I cloned an sdk into my include folder and when I run make I get this
so like they're including something wrong in the sdk
https://github.com/steinbergmedia/vst3sdk/issues/15 and this guy also opened an issue about this
well idk if it's the same issue exactly but it's similar
how do I fix this without changing the sdk's includes manually
have yall fixed the trending emotes bug
its not bugged 
do you mean the algo on trending?
i think troy wanna fix it currently it just takes the most added emotes per day
"fix", i think its just about finding a good algorithm

idk how it works currently
which is pretty scuffed
cause obviously all the emotes from the front page get added the most
It isn't obvious to me that emotes from the front page get added the most
Doesnt everyone have them in their sets already?
yes
I think we should think about why this happens and then we can come up with an improved algo
the point of trending is to show relatively fresh emotes that are getting popular
That is true but it could happen that an old emote that didn't have a lot of users before suddenly explodes. This should be considered trending too imo
so we should not look at the most adds per day but more like the derivative of that
what lennart is saying
i think time created ago should probably be in the formula but disproportionate
If it had a lot of adds and continues to have, the derivative would still be 0. But if an emote suddenly explodes the derivative would be high
like mutliply the "popularity" by max(weeks added ago, 0.1) or something
oh

yeah that makes sense
tbh I don't think the age of an emote has anything to do with trending
imagine a christmas emote

christmas emotes should be trending around christmas
but they might have been added a few years ago
so calculate some expected amount of adds for each emote
this would solve this
wdym?
well if you want to go off an emotes spike in popularity there has to be some comparison data to determine if it is a spike
no wait let me draw something
bro is drawing the mona lisa
ποΈ 

ummm maybe each emote has a rating/point system, each channel add gives the emote 1 point, top points emotes get trending, these points reset after a week/month if theres no recent adds 
idk could just use the average adds per day over the last month instead as a comparison value
that wouldnt solve the top emotes problem
in the end you probably have to handle new and old emotes differently
since you can only compare new emotes to other new emotes but old emotes can be compared to itself
focusing on the channel usage spikes is probably the way to go
but at the same time emotes with 0 channels would have the biggest spikes

rate of change over last week or something relative to total channels its in
exactly thats why you have to compare them to other emotes with 0 usage
cant do that for new emotes but yeah for older emotes something like that probably
ok this is how it works right now
"Emote A/B Channels" shows how many channels have the emote in total
"Emote A/B Adds" shows the rate (change) of "Emote A/B Channels" which means how many channels have added that emote in a day. (This is the current metric for trending)
As you can see, the issue with this is that "Emote B Adds" is always greater than "Emote A Adds". That is because Emote B always grows faster than Emote A.
In my opinion trending should ignore this effect though and only consider real spikes.
Imo we should use the rate of Emote Adds, so the rate of the rate
This
I'm suggesting the orange line
which in this case is the same for both
which seems right
then maybe you could also add the limit for age of emote to be 1 year again or something, since GIGACHAD and others would still be all over trending
no, not with this metric
GIGACHAD wouldnt be trending at all
hesright
because it has a steady increase in channels
ok but stupid question
no spikes at all
there are ways

second derivative tells you the curvature of the function
big emotes should have basically none
add untrending for big emotes being unadded 
wait that woudl be cool
i wonder what emotes would be there
ok but what about day 1 emotes
or would you just enable trending for emotes after 2 days
could abuse that tho if you add the emote a few minutes before day resets and add it to one cahnnel
and then on next day ask some friends
to add it
nvm
you can just assume no channels added

trending was kinda abused though
in the past few weeks/months
but it was funny
PSP's chat managed to put a few emotes on trending within a day
every day there was something new so i think it was cool, now it's maybe more "accurate" but it's boring
no its not accurate
i meant that the "trend" showing emotes that are already popular but they might be spiking in popularity again fit the definition
but it's just boring
no spiking doesnt matter currently
unless its some insane spike it might show somewhere really low down
This is like cars driving on a road. We don't want to use the speed, we want the acceleration.
is it possible to still get the twitchcon name plate i was there, i just didnt get a chance to play the little game?
It was for playing the game so unluckily I don't think so 
..........
obviously not
i mean.. there might be a chance if they send proof of their name card thingy, they got at TC idk tho
u needed to play the game and reach the paint mark anyways
Or win the giveaway
hey guys where can I find api docs for 7tv?
What do you want to do, there is no website for docs currently
making custom app and want to render emotes from 7tv
You can try https://7tv.io/v3/gql/playground
you can get 7tv profile with 7tv.io/v3/users/CONNECTION/id, where CONNECTION is TWITCH, DISCORD, KICK or YOUTUBE
7tv emote-set with 7tv.io/v3/emote-sets/id
and emote with 7tv.io/v3/emotes/id
or with GQL like franta told you
ah thanks I will check it out
Is it normal for the eventstream/SSE Event API to keep closing connections quite often, especially for inactive channels without stream? It keeps killing the connection without returning any formal end_of_stream event or close codes.
It's giving me the impression its some server side AFK timeout based on activity, but I'd expect it to at least send end_of_stream events if that's the case
Which website or extension is this? It seems to use sse
eventapi closes connections like every hour or so for the websockets, its probably the same for sse
anyone else getting this error? is there a new restriction i dont know about?
[
{
"data": null,
"extensions": {
"analyzer": {
"complexity": 13,
"depth": 4
}
},
"errors": [
{
"message": "LACKING_PRIVILEGES maximum emote set limit reached",
"locations": [
{
"line": 2,
"column": 3
}
],
"path": [
"createEmoteSet"
],
"extensions": {
"code": "LACKING_PRIVILEGES",
"fields": {},
"message": "LACKING_PRIVILEGES maximum emote set limit reached"
}
}
]
}
]
simply trying to make a new emote set in the 7tv website
the api returns 2 emote sets
ah found it reported here #1299216836264464424 message
should be fixed 
I broke it
It's my own implementation using SSE
that's what it does look like, but I just find it weird it kills the connection without returning any end_of_stream events or close codes
I'd expect it to at least kill the connection gracefully with an end_of_stream event or reconnect event?
that's what they are for after all
what I did find out however, is that there's a difference in EventSource implementation for Chrome and Firefox where Chrome silently auto reconnects and Firefox does not, but even so regardless I'm not seeing reconnect events when it does kill the SSE connection
@sudden gust
It will expire after half an hour, but not sure
The rate limit
"interval_seconds": 1800,
"requests": 10,
"overuse_threshold": 20,
"overuse_punishment": 21600
6h ratelimit? 
how many emote sets do u need to make @upbeat ravine
6h if u keep trying after 20 @vagrant lion
can you open the network console and show the headers for the response
what limit did u hit 
u asked this in #general at 20:36 (my time) and its 02:29 now i guess it should be fine after a few minute 
Im looking to contribute to the extension by adding a chat filter feature. There was a similar pull request last year that has been closed for being stale after a couple requested changes. In the pull request it was implemented by adding it to the chat highlights feature but in my opinion it complicates the highlights feature too much and it isn't realy intuitive that it is in there. What is the general opinion on this now shall it be in the highlights or a extra setting?
What are the chances we can get a couple hardcoded 303's going for Leslie, Rae & Ludwig, so we have a temp fix for emotes?
fuslie YT to fuslie Twitch
https://7tv.io/v3/users/youtube/UCujyjxsq5FZNVnQro51zKSQ βΊ https://7tv.io/v3/users/twitch/83402203
Valkyrae YT to fuslie Twitch
https://7tv.io/v3/users/youtube/UCWxlUwW9BgGISaakjGM37aw βΊ https://7tv.io/v3/users/twitch/83402203
Ludwig YT to mogulmoves Twitch
https://7tv.io/v3/users/youtube/UCrPseYLGpNygVi34QpGNqpA βΊ https://7tv.io/v3/users/twitch/40934651
@south flare @sudden gust
I'm aware it's not a "fix" in that sense, but at least it would point to the user pages again so emotes at least show up π
We had a somewhat similar hack before #help-old message
All good though
are there any plans to make it possible to change paint/badge per connection?
And why are the vast majority of event API SSE dispatch emote_set.update events empty with no added, updated, removed, pushed or pulled properties? Isn't the emote_set.update, as the name suggests, supposed to update something about an emote set?
Is this a new feature that we can rename emotes to Russian? Or a bug, which would be very sad
probably new, special characters are allowed now
they are now?
i saw lennart said it was a bug when you could add same one emote more than twice with different aliases
i thought it was kind of a same problem
He said the bug was when you remove one of these aliased emotes then all of them get removed
Not that you can add them with multiple aliases
what
ok that's actually crazy
so i guess all of these changes were actually intended, right?
I think so
Yes it's intended

what would the use case be?
we have relaxed the restriction of having the same emote under different aliases
we also relaxed the restriction of ascii only text in emote aliases
so u can have russian text now
nothing but simple curiosity considering there's new API coming up to take into consideration of my implementation
What is the threshold for userByConnection GQL queries? I only made about 10 requests or so testing things over like 10 minutes and I'm already getting rate limited?
not that low
can u show the headers
Accept: */*
User-Agent: Thunder Client (https://www.thunderclient.com)
so you made more than 5000 requests in a 1min period
no way?
I've been refreshing a lot with the events API on websocket but basically done no requests at all to the 7tv.io
do requests to the events API count as well to the rate limit?
they do if you use event bridge
not sure what that even is so can't say I used it
but I didn't implement anything for it
only thing I could imagine is if the events api kept dropping the connection so often it reconnected too many times, but I did enforce a delay in it so it's hard to fathom
more than 30 minutes passed, according to the 1800 global reset it should be lifted by now no?
still getting rate limited
should be fixed on the next deploy in 3 min
thank you!
@fallen spindle does it work?
tried just now, it's working 
what does x-ratelimit-global-used stand for?
how many u used on that request
@south flare When I subscribe to
https://events.7tv.io/v3@cosmetic.*<platform=PLATFORM;ctx=channel;id=CHANNEL_ID>,emote.*<platform=PLATFORM;ctx=channel;id=CHANNEL_ID>,emote_set.*<platform=PLATFORM;ctx=channel;id=CHANNEL_ID>,user.*<platform=PLATFORM;ctx=channel;id=CHANNEL_ID>,entitlement.*<platform=PLATFORM;ctx=channel;id=CHANNEL_ID>
regardless of websocket or SSE, I can receive all presence events just fine. However I can't see any emote_set events for emote_set changes of the channel I'm subscribed to. Do I need to subscribe to some different type conditions like the ObjectID of every emote_set of the channel owner or something?
Can you open an issue on our repo please? Just paste your message there. It's hard to keep track of everything in discord
Where the chat that shows live emote approvals when mods approve a 7tv emote
on discord
we used to have it

itβs broken since the migration
Is it important for moderation?
yes
i mean idk if it's related to speks question because that was displayed on #mod-actor-tracker and I didn't think that was publicly visible
#activity-feed that was
how does he know?
but even if it's re-introduced there is a small gap that if you search emote by ID all the ones prior to migration are in a different format
Why would you search emotes by id there?
To check if someone reuploaded the same thing as before, we have the watchlist but sometimes mod delete without watchlisting so it helps to see if someone is reuploading the same thing
I'll dm you, not sure if it should be in a public channel
Anyone know the API docs url? doesn't seem to work for me
Wasn't it https://7tv.io/v3
https://7tv.io/docs, but its currently dead, https://7tv.io/v3/docs works if you pretty print it

Paste https://7tv.io/v3/docs into a swagger editor
hello, probably a dummy question but what changed recently with 7tv? I had a basic implementation of the emotes in some app and it stopped working recently. Was the api updated or is it temporary?
or it it just this:
https://x.com/Official_7TV/status/1847996082044674559
nvm i guess i wasn't using those endpoints and the way i used to do it broke
what way did you do it?
no idea if it was any correct at all i just did this stuff in my spare time and i'm not a dev but
I used to get channel emotes through
https://7tv.io/v3/users/twitch/ChannelID/
and then loop through the emote sets
https://7tv.io/v3/emote-sets/" .. data["emote_sets"][i]["id"]
global emotes I would get through
https://7tv.io/v3/emote-sets/62cdd34e72a832540de95857
but the id for them changed
you should get global emotes via https://7tv.io/v3/emote-sets/global, no need for ID
well yeah i figured by now
oh sorry, didn't read above
nws
π

someone entered the dates wrong
i took it away

what is "Merge" for, I use it and it doesn't work, so why is it there 
MergeEmote on GraphQL 
why are emotes on main page still trending
its a button for mods
do pixelated emojis rescale in a strange algorithm that makes them blurry?
try it

wdym by pixalated
it will probably try to rescale it to 128px height
if you wanna upload "small" emotes make them 128px high
I think it's just the preview that is blurry 
also what happened to this emote it's like stuck in Loading... https://7tv.app/emotes/01HBZQ8DS80002NZKPADJSGZ3G it's supposed to actually be nothing, I kept it there cuz I thought it's funny
i think this happened to deleted emotes that were versions of some other emote
oh no it actually seems to try to compress it
i am not sure what you are referring to tbh
every emote is compressed
the images you upload as emotes
so how do I upload an emote that is pre-compressed for pixel art 
I compress the image so the backend doesn't have to do it and ruin it more 
welkll that doesnt work
you cant bypass the compression
it will always compress it
ποΈ
maybe compression won't cause much difference if there's nothing more to compress
pre-compressing it properly 
me tried upload some pixel emote
yes
what size is the emote
like the file

you might have to resize it
using a fitting upscaling algorithm
128x128
Make sure the pixels are actually lined up
it's the DColon emote but pixelated π€·
https://7tv.app/emotes/01JBQPCBZHMXB1QG55XBGKQWAM



















?