#developers

1 messages Β· Page 8 of 1

rugged perch
#

And people already wanting 7tv emotes loaded

#

I currently trying to make a userscript to see that, but yea it's a PAIN

stuck oasis
plush kayak
#

oh my

stuck oasis
#

i tried referencing what actually gets used in paints and what the extension does to render them in chat, hope i got everything right FeelsDankMan

plush kayak
#

MODS pin this person's message

paper token
#

xqc is texting someone

#

possibly troy

#

it sounds like he's expecting it to be fixed within a few minutes

topaz crown
quick spear
#

troy, fix it NOW Madge

paper token
#

group chat with troy inc

patent wing
vagrant lion
mortal fossilBOT
#

ansonx10 is now sleeping: πŸ› πŸ’€

rigid narwhal
#

PauseMan 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

vagrant lion
#

didnt they already provided everything? its just because the new site is shit to work on LULE

rigid narwhal
#

No idea, last thing I heard was they are denying us some simple requests

#

But that was already some time ago

sudden gust
stuck oasis
native saddle
#

Oops

#

Wrong chat

pulsar iris
#

Stare you aint horror

native saddle
pulsar iris
#

FeelsDankMan the guy that always spams madashell

native saddle
amber burrow
#

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?

patent wing
#

pretty sure its always been like that

amber burrow
#

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

patent wing
#

works fine without the protocol on chrome

amber burrow
#

Yeah it’s only messed up in widget because url was used as image src/background image for emote in custom chat

plush kayak
chrome hatch
#

7tv share api?
can @misty olive help me?

#

because I need an api to have access for my discord bot to emoticons

fresh geode
#

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?

stuck oasis
#

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 mhm

fresh geode
#

hmm

#

hopefully v4 api is better

stuck oasis
#

i mean what you are trying to do is very much possible in v3

fresh geode
#

yeah i just dont know how lol

#

imma try your steps mhm

stuck oasis
#

to get global emotes

chrome hatch
# stuck oasis use `namedEmoteSet` on the gql API

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.

stuck oasis
#

oh so like convert any emote in an regular emoji?

chrome hatch
#

no no text on emoticon from 7tv

fresh geode
#

@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

stuck oasis
#

or are you talking about 7trv badges?

fresh geode
#

both

#

if possible

stuck oasis
#

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

pulsar iris
stuck oasis
#

worst docs on this planet LULE

#

wouldnt use the regular API, gql is better in almost every case

stuck oasis
#

better docs in v4

fresh geode
#

Prayge

chrome hatch
topaz crown
#

mods put coal in their stocking

mortal fossilBOT
#

ryanpotat woke up: πŸ› πŸ’€ (9h, 9m ago)

topaz crown
#

$rafk

mortal fossilBOT
#

ryanpotat, Your AFK status has been resumed.

pulsar iris
#

Talked to an "artist "

#

Or logged in on fake Roblox site

stuck oasis
stuck oasis
#

its docs on how to render paints with css properly as it says

#

3rd sentence LULE "These docs aim to help with getting relevant data for displaying these paints and also provide reference on how to display paints using CSS."

vagrant lion
#

@cursive saffron catAsk

cursive saffron
#

Let me see

vagrant lion
#

its working now Okay

civic quest
full owl
#

holy fuck this api doc is dogshit what the fuck

full owl
#

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

zinc aspen
#

fuck if i know bruh

manic torrent
#

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

full owl
zinc aspen
#

i have never used qgl in my life

#

i have never even heard of it until just now

#

i am of zero help

full owl
full owl
zinc aspen
#

nah u trippin

full owl
manic torrent
#

and ask it to do it for you

full owl
patent wing
#

just open the network tab in dev tools while on the website

manic torrent
#

@full owl MATIN THE GOAT

full owl
#

let me find out

full owl
plush kayak
#

this guy

full owl
#

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

patent wing
#

oh yeah thought you said gql specifically

full owl
#

but it gives so much info i dont need theres no way to remove owner? it tried and got a error in postman

stuck oasis
full owl
#

why isnt that pinned???

stuck oasis
#

i mean something like postman can do the exact same thing i think

#

im sure there probably also is a vsc plugin for this

full owl
#

this is my first time using gql

#

i didnt know i can just explore that EASY

stuck oasis
#

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

full owl
#

wait.........

full owl
stuck oasis
#

no idont use vsc

full owl
#

@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

patent wing
full owl
#

so im looking at the wrong shit

#

oh my GOD

zinc aspen
#

FINALLY

pulsar iris
zinc aspen
#

why the fuck did it take so long for discord to add webp embeds

#

actually baffling

pulsar iris
#

Cuz they are umm

#

Idk actually

#

Ignorant

plush kayak
#

am I tripping

full owl
paper token
rigid narwhal
#

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

south flare
#

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

patent wing
#

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

#

Hmm why they so restrictive with it

south flare
#

wait

#

wym

patent wing
#

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

south flare
#

i dont see that

patent wing
#

why does dragging the full screened image into a tab give a different link

south flare
#

xd

patent wing
#

Hmm 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

frosty bronze
#

something to do with the fact they don't want discord to be used as a cdn too

patent wing
#

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

paper token
#

Adding friction that no one asked for

lucid osprey
swift bough
#

none of those work on android btw sdd

#

discord and the windows photo viewer app singlehandedly ruining the public's opinion on webp since 2018 peepoStrong

proven valve
#

Hello, i'm new here, is there any api documentation for 7tv emotes? thanks

vagrant lion
#

nvm pinned is for paints*

plush kayak
#

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

vagrant lion
crimson sleet
#

Hmm

mortal fossilBOT
#

jaylen2003 is no longer AFK: πŸ˜’ (1d, 2h ago)

full owl
#

$rafk

mortal fossilBOT
#

jaylen2003, Your AFK status has been resumed.

vagrant lion
#

happE 3.8Tbps

plush kayak
#

someone tell me is margin-top: .5ch to center a button in a div bad practice

lone iron
#

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 ?

plush kayak
#

I don't see why you'd even consider emulating anything

#

u can just... do it

#

with the api

lone iron
plush kayak
#

that is not an api endpoint

#

that is just the website

lone iron
# plush kayak https://7tv.io

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

plush kayak
#

that is not the correct url

lone iron
#

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

plush kayak
#

of course not

lone iron
stuck oasis
#

just download them

civic quest
plush kayak
#

it's already out

#

u just have to be invited

plush kayak
#

ask jeo

#

he owns it

fast bear
#

top secret

rugged perch
#

1 step ahead MONKA

frosty bronze
#

thats a logo if I’ve seen one, sending invites? (Asking for a friend Clueless )

rugged perch
#

That friend is me OkayChamping

unborn wedge
mortal fossilBOT
#

anjos.mp3 probably forgot to check chat the entire day: im actually going to sleep rn good night πŸ’€ (16h, 30m ago)

paper token
#

literally %TV

frosty bronze
#

dunno how to answer this

#

look at our mutual servers I guess

pulsar iris
#

Weeb

#

No thanks

#

8tv has enough weebs

#

(it's only 1)

sullen edge
#

too many*

frosty bronze
#

i only joined only for the emotes, but yea fair

#

I do enjoy the occasional anime here and there

sullen edge
stuck oasis
#

forsenLevel TeaTime @ the mod

stuck oasis
#

real PagBounce

#

click it guys PagBounce

#

i clicked PagBounce

frosty bronze
vital crater
#

If not it would be nice to have it as a flag in v4 emotes api if that's not already finalized

plush kayak
#

just cache a list of IDs from the global set at startup

bold kettle
#

emote origins was one of my favorite features of 7tv for holiday variants and now I hear it's being removed? GASP

rigid narwhal
bold kettle
#

oh good SAVED

#

thank you PeepoLove

sullen edge
#

or at least take a backup before you enable it, I can send you a guide how to do that

bold kettle
sullen edge
#

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

bold kettle
#

hmm never had that issue

sullen edge
#

yet

#

that can happen

bold kettle
#

oof

sullen edge
#

so if you use it i strongly recommend doing a backup at least

#

so if the set gets corrupted you can revert

bold kettle
#

okay then how do I do that Hmmge

sullen edge
#

ill dm

bold kettle
vapid pewter
#

am i able to ask what emote versioning is and how to use it here? if not I apologize

rigid narwhal
vapid pewter
#

ok, thanks

rigid narwhal
#

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

vapid pewter
#

ah so just do it manually one by one?

rigid narwhal
#

yea, just upload them as a new one

vapid pewter
#

awesomeee thanks for the help :)

rigid narwhal
vapid pewter
plush kayak
#

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

carmine granite
topaz crown
#

no, just a rewritten backend. All endpoints should work the same

carmine granite
#

Gotcha, thanks, I don't have to worry about updating anything then.

topaz crown
#

if they dont report them and they should be fixed

topaz crown
carmine granite
#

Nothing's hardcoded, but I'm using Twitch user id for retrieval.

topaz crown
#

should be fine then

carmine granite
#

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.

rugged swallow
#

why the adversion to just using the id?

carmine granite
#

Saves some hassle, not a lot.

full owl
#

Gql

mortal fossilBOT
#

jaylen2003 is no longer AFK: πŸ˜’ (17d, 2h ago)

full owl
#

$rafk

mortal fossilBOT
#

jaylen2003, Your AFK status has been resumed.

topaz crown
# carmine granite Hella.

I dont believe so, one reason being that platform names can change and then they'd have to keep that updated

carmine granite
#

Ah right, that's entirely fair.

topaz crown
carmine granite
#

Huh, thinking back, that's what I probably used in the past.
I'll check that out some time.

south flare
#

so old ids will work

#

the api will just start returning new ids

iron basin
#

i see accounts using an emote is back, but only 30? mhm

fallen spindle
#

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?

fallen spindle
#

for performance reasons I assume it's also the preferred and recommended way to handle chat message cosmetics?

topaz crown
#

yes for sure

fallen spindle
#

beautiful, thank you!

fallen spindle
#

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

topaz crown
#

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' } } }

fallen spindle
#

let me try passing platform, ctx and id then

#

awesome, that works!

topaz crown
fallen spindle
#

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?

topaz crown
#

its nothing sophisticated, most clients send presence on every chat message with a ~10 second cooldown

fallen spindle
#

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

topaz crown
#

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

fallen spindle
#

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?

topaz crown
#

yeah ive run into this as well, you can't currently specify anything its always wildcard basically

#

no matter what you put

fallen spindle
#

sounds like a known issue then

topaz crown
#

oh are you saying it sends emote_set.* and entitlement.* when you only subbed to cosmetic.* ?

fallen spindle
#

correct

topaz crown
#

i'm not sure if thats a tracked issue or not, I knew doing cosmetic.create would basically mean cosmetic.*, but not this

fallen spindle
#

it's literally feeding every and all types completely unrelated to cosmetic when doing cosmetic.*, unless there's overlap I'm not aware of

topaz crown
#

catAsk @south flare

south flare
#

before we split them up

#

the entitlement create assigns the cosmetics to the users

fallen spindle
#

Got it, wouldn't it be helpful to add it as disclaimer to the EventAPI repo?

south flare
#

and the cosmetic.create will send u the cosmetic if you havent seen it yet during the connection lifetime

fallen spindle
#

nvm, realised the repo is archived

south flare
#

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

fallen spindle
#

sounds like I'm going to have to redo everything soon

south flare
#

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

fallen spindle
#

got it, thank you!

gaunt magnet
#

Can you confirm that the emote ID format change will stay before I go around changing this everywhere

mortal fossilBOT
#

pσ €€ajlada feels rested: Okayeg πŸ’€ (7h, 8m ago)

south flare
#

yes

#

@gaunt magnet there is an algo to convert them

gaunt magnet
#

Ok, fun

south flare
#

also all old ids work on the api

#

the api will just respond with new ids

gaunt magnet
#

More fun

#

For zero width emotes, this is a bug you will fix on your end right?

south flare
#

in c2?

late furnace
#

thanks Troy for everything you do, been lurking your dev streams haha

south flare
#

no i think someone will make a pr for c2 im not sure where the 1 << 0 came from no we will fix that

late furnace
#

u a real one fr, started recently using the 7tv api Happie

fringe hatch
#

Prayge 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? Despairge

misty olive
#

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?

flat hound
#

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?

topaz crown
flat hound
#

lmao that easy?

#

yup. worked thankies Okay

topaz crown
rancid tulip
#

#harvest

rotund pivot
#

emotes cant have special symbols

drifting quarry
rotund pivot
#

im blind

rotund pivot
#

also renaming sets is broken

#

nothing happens when you save

rigid narwhal
rotund pivot
#

yeah you had to before the migration

#

but now it doesnt do anything

rigid narwhal
#

griphtCrayon it works for me

rotund pivot
#

it works for my own channel

#

but not for someone elses channel

#

and i have all the perms

rancid tulip
#

interesting

rotund pivot
#

trending will get recalculated soon

vagrant lion
rigid narwhal
vagrant lion
#

u didnt foo

rotund pivot
#

deleting sets works as editor

#

just renaming is bonked i guesss

rigid narwhal
#

I can't create one either

rancid tulip
vagrant lion
#

FailFors i did

rigid narwhal
rotund pivot
rigid narwhal
#

LELU I can rename and delete but not create

rancid tulip
#

:buh:

rotund pivot
#

did it always show localized name as default? yabbeHmm

arctic crystal
#

i think it didnt

rotund pivot
#

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

vagrant lion
rotund pivot
#

nymns set had 42069 slots back then

vagrant lion
rotund pivot
#

and since it got changed to only 1000

#

it just wont let me save it

paper plover
#

-41090 LULE

rigid narwhal
#

@rotund pivot can you check if you can create a new set

#

because that was the one thing that didn't work for me

rotund pivot
#

the new set just defaults to 1000 emotes

vagrant lion
#

tabula rasa Okayeg

rigid narwhal
# rotund pivot

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

rotund pivot
#

yes

rigid narwhal
#

forsenHmm ok, strange

rotund pivot
#

but idk its just admin perms

#

that let me do this

fringe hatch
#

Prayge Prayge Prayge 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 EZ Clap

monkaStop 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 Despairge )
Do we have to manually make alt sets with hundred of emotes now? And keep them synced with the main one? Aware
Please that feature was super useful Prayge

rotund pivot
vagrant lion
rigid narwhal
rotund pivot
#

alright

#

so its bonked

rigid narwhal
#

yea, seems like there is something wrong with permission for that

orchid gulch
#

For some Reason i cant switch to another Set. Is this already a known issue?

orchid gulch
vagrant lion
#

kek i guess editor is bonked as bubu said

rigid narwhal
#

can confirm

fringe hatch
rotund pivot
#

isnt this a setting in the extension

fluid osprey
#

no i tried from other browser and it was fixed there

rigid narwhal
#

it is LELU Appearance -> Interface -> Sidebar Expand on Hover

#

settings are saved locally, so they are different from browser to browser

fluid osprey
#

Oh didnt know sorry, thank you tho xqcL

rigid narwhal
#

Okay no worries

rotund pivot
#

yes

#

thats acknowledged already

orchid gulch
#

Found a new bug. Cant add emotes with "!" in it. This was possible before the backend migration.

rotund pivot
vagrant lion
#

known issue

dark kite
#

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 Deadass

dark kite
#

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

dark kite
#

yes

#

like 3 months ago

jagged lava
#

erm

dark kite
stuck oasis
#

have you considered not being an editor for 3000 channels

dark kite
#

πŸ’€

pulsar iris
#

Surely it's a bot right?

dark kite
#

have you considered there's a bug that they can fix by adding a limit on page load

stuck oasis
#

have you considered there are bigger issues with 7tv atm

dark kite
#

lol classic

stuck oasis
#

lol

forest swift
#

yeah, my page gets laggy when i try to add an emote to channels cuz im an editor for a bunch of channels too

dark kite
#

so when is my rate limit going to be lifted

south flare
#

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

dark kite
#

i'm not a troller, i have a legitimate use case

#

my code is all open source as well

#

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

south flare
dark kite
#

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

south flare
#

1 moment

#

this looks like a bug with us

dark kite
#

is this an expected change btw?

#

might be related

dark kite
south flare
#

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

dark kite
#

ah

#

i do pass it in as number

#

thanks

south flare
# south flare

this query btw @dark kite does not need to be done for every connection

#

we no longer have per connection emote sets

dark kite
#

oh fr

south flare
#

so you only need to send this once

dark kite
#

there was like a default emote set vs other emote sets

#

now its all defaulted to one and they cant change the set id ?

south flare
#

no, so you can change emot sets

#

but you cannot have multiple active

dark kite
#

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

south flare
#

ok you would still need to do that

dark kite
#

ah ok

south flare
#

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

dark kite
#

πŸ’€

dark kite
south flare
# dark kite

oh i think this was a bug someone reported yday that editors cannot do this

dark kite
#

at least the list of emotes they have work now

south flare
#

it checks perms regardless of unlink

#

cause half that query should be restricted away from editors

south flare
dark kite
#

idk my user id just changed randomly

south flare
dark kite
#

got it

south flare
#

in your db if u store ids you can use UUID

#

uuid's also work for querying any resource

dark kite
#

glad emote ids didnt get changed

south flare
#

they did...

#

but all of them are fully backwards compatiable

dark kite
#

except for editor id? lol

south flare
#

no everything did

#

but the api allows any type of id to be queried

#

but it will always respond with the ULID version

dark kite
#

oh

#

its caues im checking label not id

#

but now i need to update all the ids

south flare
#

how do u use the ids u store?

dark kite
#

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

south flare
#

so do u like have a set of emotes you want to apply to every emote set?

dark kite
#

i have a set of emote ids that i want to "add" to a current twitch emote set id

south flare
#

if they dont exist already?

dark kite
#

letting it fail if it does exist

south flare
#

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

dark kite
#

ah

#

yeah i was comparing just for editor id

#

well i updated emote ids already so whatever lol

cursive saffron
dark kite
civic quest
#

is this an known issue

#

im sub

dark kite
#

ooc, will verified bots have a badge in chat

south flare
dark kite
#

using the new bot token now

south flare
#

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

onyx parrot
#

I have a question, I used the API of 7Tv for mi chat widget but doesn't works. Is there another endpoint?

vital crater
#

im assuming embeds not working is a known issue even though its not in #news message

rotund pivot
#

yes

south flare
dark kite
#

"message": "LACKING_PRIVILEGES you do not have permission to modify connections, you need the ManageProfile permission",

#

new error at least

south flare
#

well then u lack the permission what channel

dark kite
#

oh TOOBASED

#

channel 62b48f4fcb8e6bebae278384

#

was one of these moved to manage profile?

#

it used to work on the default permissions

south flare
#

manage emote sets = modify + create them

#

manage profile = assign

#

i can go and update all of them

#

if u want

dark kite
#

yes pls

south flare
#

for ur bot

dark kite
#

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

south flare
#

no ill just go grant ur bot to modify the ones

dark kite
#

not sure what you're changing but sure lol

#

will it work for new users that add it as an editor?

south flare
#

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
dark kite
# dark kite

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

rancid tulip
#

cant find any bugs witht the search bar

#

works well

bright escarp
#

is there a new API to get emote sets?

plush kayak
#

backwards compatibility still exists tho

#

so u can still use old ids if it existed before the change

#

this converts old to new ids

bright escarp
plush kayak
#

the same thing

#

all v3 endpoints still work

#

just new id format

bright escarp
#

oh

#

okay thanks

onyx parrot
vital crater
onyx parrot
ionic yarrow
onyx parrot
#

thanks i'll try

short sand
#

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 Hmm Is it a slide transition?

#

pajaDank I'm now noticing how janking the transitions are Hmm Is that why pages with lots of elements/emotes is scuffed? peepoThink

tender latch
#

is emote set assignment disabled for good

rotund aspen
tender latch
#

the emote assignment(s) that were there before the migration is gone and can't be redone

rotund aspen
#

You mean origins? Like you can add emotes from one set to another?

topaz crown
#

i believe its a single emote set assigned across all platforms now erm

tender latch
#

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

topaz crown
#

origins has been removed, but will be reimplemented soon

#

it was filled with bugs

topaz crown
#

I'm pretty sure thats the case, maybe ask troy to be sure erm

rotund aspen
#

Yeah I checked that and it changes the set for all of the connections

topaz crown
tender latch
tender latch
round wind
#

Orm 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

fierce idol
ionic yarrow
arctic crystal
sudden gust
sudden gust
#

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

round wind
#

it sends whatever is in the Custom Name field even for remove mutations

#

couldnt that be used hmm

#

Although I guess the current website UI wouldnt really make that clear

bright escarp
plush kayak
#

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

#

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

rancid tulip
#

have yall fixed the trending emotes bug

vagrant lion
#

its not bugged 1984

sullen edge
stuck oasis
#

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

rotund pivot
#

i mean previous one was fine

#

it only checked the emotes from the past year

stuck oasis
#

year? WAYTOODANK

#

i thought it was like a few weeks macx

rancid tulip
#

its been like this for days

stuck oasis
rotund pivot
#

ayyybuWhar idk how it works currently

stuck oasis
#

its just most added per day

#

so its just emotes from the startsite

rotund pivot
#

which is pretty scuffed

#

cause obviously all the emotes from the front page get added the most

sudden gust
#

It isn't obvious to me that emotes from the front page get added the most

#

Doesnt everyone have them in their sets already?

rotund pivot
#

ayyybuWhar yes

sudden gust
#

I think we should think about why this happens and then we can come up with an improved algo

rotund pivot
#

the point of trending is to show relatively fresh emotes that are getting popular

sudden gust
#

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

stuck oasis
#

what lennart is saying

sudden gust
#

idk if derivaitive is the right word here

#

I mean the math concept

stuck oasis
#

i think time created ago should probably be in the formula but disproportionate

sudden gust
#

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

stuck oasis
#

like mutliply the "popularity" by max(weeks added ago, 0.1) or something

#

oh

#

yeah that makes sense

sudden gust
#

tbh I don't think the age of an emote has anything to do with trending

#

imagine a christmas emote

stuck oasis
sudden gust
#

christmas emotes should be trending around christmas

#

but they might have been added a few years ago

stuck oasis
#

so calculate some expected amount of adds for each emote

stuck oasis
#

basically

#

the question is how do you determine that stuff for new emotes

sudden gust
#

wdym?

stuck oasis
#

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

sudden gust
#

no wait let me draw something

stuck oasis
#

bro is drawing the mona lisa

sullen edge
#

πŸ–ŒοΈ FeelsDankMan

quick spear
vagrant lion
#

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 FeelsDankMan

stuck oasis
#

idk could just use the average adds per day over the last month instead as a comparison value

rotund pivot
#

that wouldnt solve the top emotes problem

stuck oasis
#

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

rotund pivot
#

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

topaz crown
#

rate of change over last week or something relative to total channels its in

stuck oasis
stuck oasis
sudden gust
#

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

stuck oasis
#

based geogebra

sudden gust
#

I'm suggesting the orange line

#

which in this case is the same for both

#

which seems right

topaz crown
#

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

sudden gust
#

GIGACHAD wouldnt be trending at all

stuck oasis
#

hesright

sudden gust
#

because it has a steady increase in channels

stuck oasis
#

ok but stupid question

sudden gust
#

no spikes at all

stuck oasis
#

i know how you do this for knwon functions

#

but how do you calc the 2 line

sudden gust
#

there are ways

stuck oasis
stuck oasis
#

big emotes should have basically none

patent wing
#

add untrending for big emotes being unadded Okay

stuck oasis
#

that would actually be kinda funny

topaz crown
#

wait that woudl be cool

stuck oasis
#

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

sullen edge
#

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

stuck oasis
#

no its not accurate

sullen edge
#

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

stuck oasis
#

unless its some insane spike it might show somewhere really low down

sudden gust
#

Now it's accurate

#

Have a look again, we changed the algorithm

sudden gust
# sudden gust This

This is like cars driving on a road. We don't want to use the speed, we want the acceleration.

urban juniper
#

is it possible to still get the twitchcon name plate i was there, i just didnt get a chance to play the little game?

rotund aspen
urban juniper
#

..........

south cairn
#

i mean.. there might be a chance if they send proof of their name card thingy, they got at TC idk tho

vagrant lion
#

u needed to play the game and reach the paint mark anyways

rotund pivot
#

Or win the giveaway

modest gazelle
#

hey guys where can I find api docs for 7tv?

rotund aspen
modest gazelle
#

making custom app and want to render emotes from 7tv

jagged lava
rotund aspen
#

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

rotund aspen
modest gazelle
#

ah thanks I will check it out

fallen spindle
#

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

sudden gust
rancid tulip
topaz crown
dark kite
#

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

dark kite
#

fixed PepoG

fallen spindle
fallen spindle
#

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

south flare
#

@sudden gust

sudden gust
#

It will expire after half an hour, but not sure

south flare
#

wym it will expire

#

oh

sudden gust
#

The rate limit

south flare
#

he is getting a ratelimit

#

whats the limit on that resource?

sudden gust
#
"interval_seconds": 1800,
"requests": 10,
"overuse_threshold": 20,
"overuse_punishment": 21600
vagrant lion
#

6h ratelimit? oopsie

south flare
#

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 think

vagrant lion
#

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 LULE

broken hare
#

hi 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?

GitHub

This will add a new section under Chat settings where you can add blocked phrases that you don't want to see in chat. It looks and works similarly to highlights but the other way around.

C...

restive lion
#

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

south flare
#

0 % chance

#

that is not a fix

restive lion
#

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

fallen spindle
#

are there any plans to make it possible to change paint/badge per connection?

fallen spindle
#

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?

tidal sapphire
#

Is this a new feature that we can rename emotes to Russian? Or a bug, which would be very sad

vagrant lion
#

probably new, special characters are allowed now

arctic crystal
#

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

rotund aspen
#

Not that you can add them with multiple aliases

arctic crystal
#

what

#

ok that's actually crazy

#

so i guess all of these changes were actually intended, right?

rotund aspen
#

I think so

arctic crystal
#

we're fucked

#

but why and for what?

sudden gust
#

Yes it's intended

arctic crystal
south flare
#

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

fallen spindle
#

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?

south flare
#

not that low

fallen spindle
south flare
#

can u show the headers

fallen spindle
#
Accept: */*
User-Agent: Thunder Client (https://www.thunderclient.com)
south flare
#

the response headers

#

it tells u the ratelimits

fallen spindle
south flare
#

so you made more than 5000 requests in a 1min period

fallen spindle
#

no way?

south flare
#

either on ur IP

#

or on ur account depending on if ur using auth or not

fallen spindle
#

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?

south flare
#

they do if you use event bridge

fallen spindle
#

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

fallen spindle
#

more than 30 minutes passed, according to the 1800 global reset it should be lifted by now no?

#

still getting rate limited

south flare
#

should be fixed on the next deploy in 3 min

fallen spindle
south flare
#

@fallen spindle does it work?

fallen spindle
#

what does x-ratelimit-global-used stand for?

south flare
#

how many u used on that request

fallen spindle
#

@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?

sudden gust
rancid tulip
#

Where the chat that shows live emote approvals when mods approve a 7tv emote

#

on discord

#

we used to have it

rotund pivot
#

it’s broken since the migration

sudden gust
#

Is it important for moderation?

sullen edge
#

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

vagrant lion
#

amongE how does he know?

sullen edge
#

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

sudden gust
sullen edge
#

I'll dm you, not sure if it should be in a public channel

ember crescent
#

Anyone know the API docs url? doesn't seem to work for me

fallen spindle
ember crescent
sweet pollen
#

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?

sweet pollen
#

nvm i guess i wasn't using those endpoints and the way i used to do it broke

sweet pollen
rotund aspen
sweet pollen
#

well yeah i figured by now

rotund aspen
#

oh sorry, didn't read above

sweet pollen
#

nws

rancid tulip
#

Apu Slapp πŸ†

zinc aspen
#

cool z-index

arctic crystal
south flare
#

i took it away

arctic crystal
green condor
#

what is "Merge" for, I use it and it doesn't work, so why is it there peepoSad
MergeEmote on GraphQL ApuThink

rancid tulip
#

why are emotes on main page still trending

green condor
#

do pixelated emojis rescale in a strange algorithm that makes them blurry?

stuck oasis
#

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

green condor
#

I think it's just the preview that is blurry Shrugeg

stuck oasis
#

i think this happened to deleted emotes that were versions of some other emote

green condor
stuck oasis
#

i am not sure what you are referring to tbh

pulsar iris
#

every emote is compressed

green condor
#

the images you upload as emotes

#

so how do I upload an emote that is pre-compressed for pixel art Hmm

stuck oasis
#

wdym precompressed

green condor
#

I compress the image so the backend doesn't have to do it and ruin it more Okay

stuck oasis
#

welkll that doesnt work

pulsar iris
#

you cant bypass the compression

stuck oasis
#

it will always compress it

pulsar iris
#

πŸ—œοΈ

green condor
#

maybe compression won't cause much difference if there's nothing more to compress

stuck oasis
#

then whats the problem

#

i ma not sure what you wsant to achieve

green condor
#

pre-compressing it properly ApuThink

green condor
stuck oasis
#

what is a pixel emote

#

like

#

pepeD ?

green condor
#

yes

stuck oasis
#

what size is the emote

#

like the file

#

you might have to resize it

#

using a fitting upscaling algorithm

green condor
#

128x128

stuck oasis
#

can you

#

send it here?

pulsar iris
#

Make sure the pixels are actually lined up

green condor