#developers

1 messages · Page 14 of 1

rugged perch
#

It looks like it has been an issue for a while

#
obsidian thorn
#

It's weird how this is an issue only on twitch streams

#

donkSit so is it a problem from gpu itself of hardware acceleration settings?

rugged perch
#

It's Brave itself

obsidian thorn
rugged perch
#

It ain't your GPU since on other browsers it's ok. And you cant change specific setting son hardware acceleration So best assumption is Brave itself. And seems that you're not alone and others reported the same issue

#
#

Not sure if it works though

#

Try it out

obsidian thorn
#

Is it a new issue appearing recently? donkSit so I can know bc I assume they will fix it

rugged perch
#

the launch flag

obsidian thorn
#

I'll try it when I get home mhm

rugged perch
#

I mean people reported it years ago so Not sure

#

There are 2 workarounds apperantly:
try –disable-features=WaylandWpColorManagerV1
if not then try –disable-features=WaylandWpColorManagerV1 --force-color-profile=sRGB

#

But I'm glad it ain't a 7TV extension issue FeelsOkayMan

obsidian thorn
#

Aight, I'll give u update when I try it Hmm

rugged perch
solid gale
#

Unrelated, this seemt to be an issue with a bunch of browsers, even when I had chrome I remember seeing alternations to contrast and brightness

#

but then it just kinda fixed itself (or well, more like they updated something)

#

unrelated because this is outside the 7tv ext

rugged perch
#

So Chromium yippee

obsidian thorn
#

I mean brave is a chromium based browser eShrug

rigid narwhal
#

bogSmile switch to a firefox based browser, it's not as bad as you might think

wide frigate
#

I'm working on a little script to sort an emote set based on global usage (channel count) to create a top-list.
Could somone here clarify which endpoint or GQL field currently exposes the channel count/usage statistics?
I'm querying the API but receiving 0 on the usual metrics, so I'm wondering if the schema has moved or if this data requires a specific scope now.
Thanks!

rugged perch
#

There is no usage statistics. We don't count of how many times an X emote has been used in X amount of channels yet. But we do have a GQL query to get the current channels that a specific emote is in right now. Using the query below:

  • endpoint: https://api.7tv.app/v4/gql
  • query:
query EmoteChannels($emoteId: Id!, $page: Int!, $perPage: Int!) {
  emotes {
    emote(id: $emoteId) {
      channels(page: $page, perPage: $perPage) {
        items {
          id
          mainConnection {
            platformDisplayName
            platformAvatarUrl
          }
          style {
            activeProfilePicture {
              ...
            }
            activePaint {
              ...
            }
          }
          highestRoleColor {
            ...
          }
        }
        totalCount
        pageCount
      }
    }
  }
}
wide frigate
#

Thank you! Yes, 'current active channels' (totalCount) is what I was looking for. I just want to see how many channels have the emote added right now.
And from there make a top list of most used emotes inside of a specific emote set.
I will give it a try. Much appreciated!

rugged perch
#

yippee More than welcome

late glen
solid gale
wide frigate
# solid gale isnt this something u asked about before?

Yeah maybe I asked before 😅 but if I remember right I never got it working back then, so I just gave up on it. Now I came back to it and totally forgot I even asked about it. This time it actually worked though. No idea if I got the same info before or if I did something different now, but hey.. it’s working so I’ll take it suresure

solid gale
#

fair enough ig

wide frigate
# wide frigate I'm working on a little script to sort an emote set based on global usage (chann...

Currently, I'm querying emote(id: $id) sequentially for each emote in a set. I've noticed a strict rate limit that triggers after exactly 100 requests, followed by a ~30-second cooldown/lockout, making large sets (800+ emotes) take alot of time.
My question:
Is there a recommended way to fetch usage statistics for multiple emotes in bulk?
I am planning to implement GraphQL Aliasing to request batches (e.g., 20-50 emotes per request) to reduce HTTP overhead. Is this allowed/recommended, or will the complexity score per request simply trigger the same rate limit instantly?

round wind
#

why dont you just query the emote channel count inside the emote set query? That way its only one request

#

oh it still hits the rate limit that way Alright

#
query EmoteSets($setId: Id!, $page: Int!) {
    emoteSets {
        emoteSet(id: $setId) {
            emotes(perPage: 100, page: $page) {
                items {
                    emote {
                        channels(perPage: 1) {
                            totalCount
                        }
                    }
                }
                pageCount
            }
        }
    }
}

just wait for rate limit resets before increasing the page

wide frigate
#

Yeah I’m kinda lost with all of this tbh, but here’s where I’m at... to put everything on the table:

I have a working script fetching usage stats using the EmoteChannels query one-by-one. However, for large sets (800+ emotes), this hits the 100-request rate limit immediately unless I add massive delays. (I put 0.5s per emote and it works, but then it takes like 6–7 minutes to finish)

I tried switching to the batch query you suggested (fetching channels.totalCount nested inside the set query) to solve this, but I'm getting schema errors on V4:

  1. Singular: emoteSet(id: ...) returns Unknown field "emoteSet".
  2. Plural: emoteSets(id: ...) returns Unknown argument "id".

Also, from what i understand the ObjectID type doesn't seem to work in V4 anymore?

So i would need the correct root field/argument to fetch a specific Emote Set by ID in V4

#

I’m pretty new to all of this coding stuff tbh so I’m kinda confused haha, and honestly barely know what I’m doingLULEO

round wind
#

Glerm are you sure you ran it on v4

#

maybe you forgot to nest it?

#

its emoteSets { emoteSet(id: $setId) { ... } } not just emoteSet(id: $setId) { ... }

#

And regarding ObjectID, v4 accepts both object ids and ulids as id inputs Alright

wide frigate
#

aaahhh... yea got it. thank youu

but the rate limit locks you out almost instantly

#

Idk how to do this the most efficient way

round wind
#

x-ratelimit-search-reset

solid gale
#

he just said which one it is

solid gale
#
{
  "data": {},
  "extensions": {},
  "errors": [
    {
      "message": "RATE_LIMIT_EXCEEDED rate limit exceeded",
      "locations": [
        {
          "line": 7,
          "column": 25
        }
      ],
      "path": [
        "emoteSets",
        "emoteSet",
        "emotes",
        "items",
        0
      ],
      "extensions": {
        "code": "RATE_LIMIT_EXCEEDED",
        "fields": {},
        "headers": {
          "x-ratelimit-search-limit": "100",
          "x-ratelimit-search-remaining": "-1",
          "x-ratelimit-search-reset": "59",
          "x-ratelimit-search-used": "0"
        },
        "message": "RATE_LIMIT_EXCEEDED rate limit exceeded",
        "status": 429
      }
    }
  ]
}

which comes from this

#

this counts down in seconds

#

speaking of which, you can actually somehow manage to trigger a whole 1 hour rate limit

#

so just be cautious of that too

round wind
wide frigate
#

oh im sowwy oopsie

#

Just trying figure this out. Like i am so new to coding and stuff so the "x-ratelimit-search-reset" didnt tell me that much

rancid tulip
#

mods make it so it shows years and months instead of this in subscription page

#

simple frontend fix

wide frigate
#

why tho

#

ngl i think it’s way more satisfying to see 1229 days than “3 years and 4 months”. it just feels better

stuck oasis
#

big number go bigger

solid gale
#

you guys new to this

stuck oasis
#

bro been on this shit since they started writing in sumer ✌️😭

tight terrace
keen kindle
#

Does traffic affect the extension loading on user interfaces? Right now my extension won't load at all even after reinstalling, so I'm wondering if the Christmas gift event could be interfering with this?

#

(even though I'd be surprised if it's the case)

rotund aspen
rugged perch
#

It loads fine for everyone. Check console see if you get errors like CORS. if so. Your IP could be blocked by Cloudflare. Usually resolves from hours to couple of days

keen kindle
#

Alright, seems like it's back to working fine after an hour. If that happens again I'll do detailed info

rugged perch
#

Glad it works fine FeelsOkayMan Let us know if it happens again

woeful coyote
#

SINCE YOU BEEN GONE
I CAN BREATHE FOR THE FIRST TIME
enjoy this song in ur head

distant phoenix
stoic bison
#

@distant phoenix shadup

nova kestrel
#

Hi there, was there any solution found?? Just checking in.

rugged perch
rugged perch
#

It doesn't matter what you use they all should be the same. But it's an issue we've had for a while now. But yea it's on the fix list just waiting on the list to be big enough to be published

rustic rivet
#

For instance I have a WINUI3 app that uses webviews for chats, and it would be great to have emotes working in them

inner vale
#

Hello, i was have bot long lived token from prev devs of 7tv, but it is expired. Who's i can contact for new token?

zealous arrow
#

just now realized so many third party twitch services don't recognize the 100,000 bits emote

rugged perch
#

I mean usually they use twitch IRC or eventapi/pubsub to catch such events

#

So it could be a Twitch issue but not sure

dusk rose
#

Hey, I left a comment on issue #1114 of the extension
I’m interested in implementing configurable highlight priority.
I’m still new to coding and using GitHub, and I wanted to check here too before I start on it.

zealous arrow
#

(2nd file removed but the request succeeded)

zealous arrow
#

would obv have to be memory efficient too

dusk rose
#

I think I mostly done it

There's a priority number for each highlight, 1 is top priority, and bigger numbers mean lower priority.

  • New highlights start at the bottom with a number that's one higher than the current highest.
  • You can change the priority directly in the settings next to the entry.
  • If you change a highlight's priority, here's what happens:
    • The system grabs all highlights, sorted by priority.
    • It removes the highlight you changed.
    • It puts it back in at the new spot.
    • It renumbers everything neatly.
    • Then it saves it all.
  • When messages come in, the system goes through the highlights from the top down and uses the first one that fits.
  • If you delete a highlight, the system renumbers everything below to fill the gap.

Did some initial testing of functionality, by hanging out in a Twitch chat

#

Looks like this with the priority numbers

rigid narwhal
dusk rose
#

I can create it now, and do some test on it

rigid narwhal
#

LULE I wanted to have a look at that feature some time ago as well, but was always too lazy, because that whole highlighting feature is a bit unnecessarily complicated I would say. I saw that when I added the badge and username highlighting features

dusk rose
#

Its done, pull/#1196 hope its fine like that, if not I'll edit it later

rigid narwhal
#

forsenOkaying awesome, thanks, gonna have a look at it

late glen
#

WEDIDIT thank you ftk WEDIDIT

zealous arrow
dusk rose
#

The first version I made was with up and down arrows to move them, but I didn't like it. And how I have it currently, you can have a badge > a name > a badge > a phrase in the priority, or similar.
If it's moved with something like drag and drop, it could only order them within category.
It's the best thing I could come up with. But feedback is great, I would like to hear more ideas, opinions, feedback. My opinion might not align with most ppl or there's something I'm not thinking of.

ionic yarrow
#

I'm not sure if there is a command for it, but if you mention the user in the chat you should be able to click it and it will open the 7tv user card

zealous arrow
#

so like /user but 7tv user card?

paper token
#

/o7 /user7 /7user /67

quartz harness
#

What's more efficient the rest or the gql API endpoint?

gusty horizon
rugged perch
quartz harness
signal orbit
quartz harness
rugged perch
paper token
real sorrel
#

Maybe I'm misremembering, but didn't https://7tv.io/v3/users/{platform}/{id} return the entitled personal emote sets as well? For example, I'd expect my user to have the nnys sets but not my personal set (as I'm not a subscriber). On the v3 GQL you can query for the entitled sets too, but that will also return the personal set when I'm not subscribed.

fervent kindle
#

Hello nerds, is there a way to bulk upload emotes?

dusk rose
#

I working on the highlight priority system for the extension, and I need feedback on which sounds better.

Option A: More flexibility
An input field for each highlight with it's priority number, 1 is highest priority
You can change the priority by changing the number and you can mix between categories.
For example, you can have badge>username>badge>phrase

Option B: Better user experience
You can change the priority by dragging the highlight above or below a different highlight, higher up in the list is higher priority.
You can only order highlight within category with fixed priority for the categories (username>badge>phrase)

#

Option A looks like this

rigid narwhal
dusk rose
#

Nah man, you are good. Just felt like this is the best way to decide.

molten tartan
#

random but i noticed most "on-screen chats" dont display "Personal Emotes", even when they otherwise have 7tv enabled. is this an issue on 7tv's end, or the on-screen chat? is there a way to mitigate the issue?

rugged perch
solid gale
molten tartan
solid gale
#

hmmm

molten tartan
#

ive donated $5 to them and asked them to fix LUL

#

oh theyre here kappa

lone marsh
molten tartan
#

i see. (clicks refund button)

lone marsh
molten tartan
#

nice

lone marsh
#

the twitch extension instantly grabs your personal emotes using gql

molten tartan
lone marsh
#

u can trigger it using a simple fetch

  "body": "{\"kind\":1,\"passive\":true,\"session_id\":\"\",\"data\":{\"platform\":\"TWITCH\",\"id\":\"TWITCH CHANNEL ID\"}}",
  "method": "POST",
});```
rugged perch
#

and what he sent above as well to send manually

molten tartan
#

ok, so as long as the fisrt chat doesnt have the perosnal emote i should expect everything to work fine

lone marsh
#

i mean it just depends when the websocket triggers

molten tartan
#

anyway, looks good to me. gotta sleep now, work in 4 hours Bedge

#

thanks yall

lone marsh
real sorrel
#

Chatterino7 (and I think the extension too?) will upsert the last messages (five in Chatterino's case) when it gets a dispatch for a new personal emote set assignment. So it will go through the past messages and searches for personal emotes of that set.

quartz harness
#

Anyone here use Charles Proxy or Proxyman with their iPhones/iPads?

paper token
#

I thought everyone used vpns instead of proxies these days

quartz harness
paper token
#

Ah

inner oasis
#

is there a 7TV discord bot

ionic yarrow
#

there was one, but it has been broken for a while

inner oasis
rigid narwhal
#

forsenHmm I'm actually not sure if the current source code for the bot is public, but I know there already is a new implementation ready that would add it to the mono repo, the pr just needs to get approved

tall cave
#

ok

dusk rose
# dusk rose
poll_question_text

Which do you prefer

victor_answer_votes

5

total_votes

10

lapis tulip
#

does 7tv not allow emote-names containing & anymore?

i'm recently getting a new error Failed to parse "String": invalid emote alias (occurred while parsing "EmoteSetEmoteId") when trying to do so.

is this behaviour intended?
it's rather annoying since one of the featured bots on your website has this as their default prefix, so now adding emotes named after commands is no longer possible.

round wind
stuck oasis
#

that regex needs to be redone anyways

lapis tulip
rugged perch
rugged perch
dusk rose
#

Yeah, you can go ahead with it.

heady estuary
#

Does anyone know in the v3 api how to sort by top of all time
in v4 its TOP_ALL_TIME but it dosnt seem to be working in v3

ionic yarrow
#

emotes(query: "<query>", filter: {category: TOP})

heady estuary
#

@ionic yarrow
sort takes a value and an order and still nothing with TOP
sort: { value: "TOP", order: DESCENDING }

ionic yarrow
#
emotes(
  query: "<query>"
  filter: {category: TOP}
  sort: {order: DESCENDING, value: "popularity"}
) 
#

seems like the filter is not required

heady estuary
#

oh ty didnt know about old.7tv

pseudo sequoia
#

hello can you guys please add the ability to gift a user a specific amount of months for a sub? only being able to pick between 1 month and 1 year is super annoying especially during these events where users are required to gift like 6 subs. i think having the ability to select more than 1 month at a time would be cool, i hate having to spam purchases.

cunning frost
bold kettle
#

I'm curious about something. I'm implementing shared chat emotes to my chat widget, but I'm trying to understand what the proper implementation is.

Should anyone from any shared chat channel be able to use emotes from any of the channels with the ones from the source channel overwriting any conflicts? Or should it just display emotes used in other chats using that channel's emotes and ignore any other emotes not from the message's channel?

It seems like chatterino7 does the latter and the FFZ extension does the former.

So just curious other devs thoughts on this.

real sorrel
# bold kettle I'm curious about something. I'm implementing shared chat emotes to my chat widg...

I think the proper way is to use the emotes from the source channel (what Chatterino attempts to do). The user initially typed it in the source channel, so they expect the emotes to be rendered like in the source channel. If you'd use the emotes from the destination channel, then the message will (likely) appear different in source and host (if they're different).

Chatterino attempts to do this, but if you don't have the source channel open, it falls back to the host/destination one.

bold kettle
# real sorrel I think the proper way is to use the emotes from the source channel (what Chatte...

Right, that makes sense and I agree. I guess I just meant should all of the emotes from all channels involved be available to every channel, just with the source channel being the preferred version? Or should it only use emotes from the source channel regardless.

Example:

  • Channel A has emote named xdd, Channel B has no xdd emote.
    • User types "xdd" on Channel B, should it show Channel A's emote or no emote?

I think we would all agree on this:

  • Channel A has emote named xdd, Channel B has a different xdd emote.
    • User types "xdd" on Channel B -> It should show Channel B's version not Channel A's
    • User types "xdd" on Channel A -> It should show Channel A's version not Channel B's

Does that make it more clear?

Currently I am doing this:

  • Channel A has emote named xdd, Channel B has no xdd emote.
    • User types "xdd" on Channel B -> it shows no emote because that specific channel doesn't have it. This seemingly is how Chatterino handles it.

FFZ does this:

  • Channel A has emote named xdd, Channel B has no xdd emote.
    • User types "xdd" on Channel B -> it shows Channel A's xdd emote.
real sorrel
paper token
#

Ideally you'd be able to give the option to the user, or maybe the streamer, if that were possible.

dark kite
#

@sudden gust could i get another token ? the last one expired 4 months ago

rotund aspen
dark kite
rotund aspen
#

no, just moved to another project afaik

gusty horizon
#

anybody got a query or mutation to see who added you as editor (before accepting) in the v4 gql?

#

and possibly to accept editor requests too aga

forest gazelle
gusty horizon
#

okak thank you so much

gusty horizon
#

i got the accepting editors part

#

ty

viral fulcrum
#

does staff know the actual estimated % of users that have 7tv? this was an extremely small few hour test in one chat. im just curious. This is just based off emote usage, so not expected to be very accurate just an estimate

ionic yarrow
#

around 25m i think

viral fulcrum
#

jesus

viral fulcrum
paper token
viral fulcrum
#

extension DLs? Consider

paper token
#

I've downloaded the extension many dozens of times

#

lots of browsers/computers

viral fulcrum
#

fair, idk i was just guessing

paper token
#

it's enough to make the site slow

#

kek

viral fulcrum
#

from my small test in a big streamers chat, i just would have expected a way higher number of people with 7tv so figure its pretty off, still running tho waga

ionic yarrow
#

i don't remember where i got it from

solid gale
#

basing off the ext downloads isnt great either, but its better than that

viral fulcrum
#

yeah lurkers with 7tv is a big thing to consider

#

thats why i straight up asked here, really doesnt help knowing was just a random thought

solid gale
#

fair

ruby pawn
#

👋 guys, any chance of enabling/adding kick messages logging into chatterino?

real sorrel
inner stirrup
#

Is chatterino version with kick support still available? I can't find the download!

gusty horizon
gusty horizon
#

yo on chatterino7 nightly, I pinned it to the task bar and then when closing it and then pressing it on the task bar, it gives an error (on linux) (I will try to send error when I can)

paper token
#

what DE are you using?

gusty horizon
paper token
gusty horizon
#

KDE Plasma

#

Kubuntu aga

paper token
#

so opening from the "start menu" works but not from the task bar, right?

gusty horizon
#

I just been opening it from Dolphin

paper token
#

oh

#

are you using an appimage or something?

#

are you a caveman?

gusty horizon
#

App image

gusty horizon
#

Hdity

paper token
#

ok I'll forgive you

#

but

#

on linux you're supposed to install stuff via a package manager

#

on ubuntu, it's apt

gusty horizon
#

Ohhh

paper token
#

app images are inefficient

#

the linux way is much better

#

less prone to weird things like this

gusty horizon
paper token
#

yeah

#

(other terminals are available)

#

IDK if they have chatterino7 tho

#

I only use arch

#

and they have chatterino 7 in the arch user repo

gusty horizon
#

would this work? I had to run similar commands for applications so I’m assuming

paper token
#

probably but also probably not going to be any better than what you have now

#

try pinning just the app image itself to the task bar

#

instead of pinning it from its opened state

gusty horizon
#

Alr ty

real sorrel
# gusty horizon App image

you can try out the flatpak. It's a bit scuffed because we don't provide a repo, but it worked well for me on Fedora.

gusty horizon
#

alright I’ll try flatpak first

pallid steppe
#

flatpak worked for me at first, but i reinstalled arch and latest nightly build + beta aren't working

pallid steppe
#

i noticed that com.chatterino.chatterino size is 0 bytes, but i didn't mind about it LULE

gusty horizon
#

error that appeared was

the fie or folder /tmp/.mount_ChatteUY1QyW/com.chatterino.chatterino.desktop does not exist

#

im gonna try what the flatpak version

paper token
#

ah ok

#

so it's creating a temporary .desktop file

#

and that's what gets pinned to the taskbar

#

but it's only there while it's running so when you try to open it later, it can't

paper token
gusty horizon
#

how could i possibly pin the app image?

paper token
#

can't test it myself rn

#

I don't use app images anyway so I have very little experience with them

pallid steppe
paper token
gusty horizon
#

I still haven’t figured out a solution for mine

#

I’m probably gonna keep opening chatterino from dolphin

crystal saffron
#

Hey guys, is there any problems or contributions I could make/contribute towards? (more of a beginner)

pallid steppe
potent vortex
#

Hey, developing my app Kickerino, already has some updates. Kick Client with 7tv colors emotes badges, also some interesting features. Im new to developing apps on windows, has some issues with 7tv integrations(laggs)

vocal terrace
#

Hey, is there any api documentation around?

Greetings

sterile pumice
#

Hi - I was wondering if there was some place I could get a list of all available 7tv emotes in text form. I'm trying to do some chat analysis and I'd like to filter for different emotes.

lone marsh
#

@sterile pumice 7tv rn doesnt have working docs but here is a endpoint
https://7tv.io/v3/users/twitch/{id}

#

for actually all emotes from 7tv i dont think that would be possible

gusty horizon
#

I mean besides emote search in the gql nah not for all emotes

lone marsh
#

u can look at gql network requests for filtering

#

@rugged perch

gusty horizon
rugged perch
#

I'll release official API docs as soon as I can

forest swift
#

bots (like potatbotat) can post list of emotes in a channel, you can use that maybe

lone marsh
#

ftk, can i link the docs proxy i mad

rugged perch
#

Sure!

lone marsh
#

^ current v3 docs proxy

gusty horizon
paper token
gusty horizon
paper token
gusty horizon
#

I mean you can probably with the v4 gql but will make you do different pages

solid gale
#

mooooooods

viral fulcrum
#

tbf i did kinda want a complete emote list, like every channel but i thought i was just autistic

#

stats from like ~20 channels has been enough for me

#

some shit i made for fun last week

gusty horizon
#

which api did you use for the stats? streamelements api?

viral fulcrum
#

so its logging locally on my server and compiling stats

#

ruins history, dont have historical data past like 2-3 weeks ago, but i have data on WHO used what emoji

#

not just the fact an emoji was used

#

wanted to see who was using them and if its being spammed by one guy vs actually widely used

#

on another note, is there anywhere in the 7tv api that shows ALL paints and badges? Consider

gusty horizon
#

actually those two are doable for the gql https://7tv.io/v4/gql

Paints:
query PaintsFetch { paints { paints { name } } }

Badges:
query BadgesFetch { badges { badges { name } } }

gusty horizon
#

soo i did the flatpak app instead and installed it via flatpak but the app icon doesnt appear at the top left)

paper token
#

This is why you use Arch

solid gale
#

I mean its not a app breaking bug

#

I wouldnt really just care, no? LULE

#

Im assuming the icon displays everywhere else just fine, considering you mentioned just the top left

paper token
#

You might forget which app you're using

#

And type something bannable in chat 😱

solid gale
#

😭

gusty horizon
#

na i can see the icon on the taskbar and in selection on the bottom left (the button to see all apps) its just on the app

real sorrel
#

weird sus

vocal terrace
#

yo guys is there a way to get a reliable api key, ill currently use a the Bearer token because i didn't found a way to generate a api key for what i was trying to do.

Greetings

rigid narwhal
slow hill
#

now here me out... chatterino new feature - middle click on chat emote and it will paste on message box CINEMA faster way to send a emote that everyone is spamming

#

unless that's already a feature and im an idiot or even worse a moron

slow hill
viral fulcrum
gusty horizon
viral fulcrum
#

was hoping

viral fulcrum
full owl
paper token
#

Is that saying Chatty was inspired by Chatterino???

rugged perch
#

I think that's a different Chatty

paper token
#

but like, what?

#

why

#

come up with a better name

#

Chatty is already taken for a twitch chat client

#

and "ChatBest" STILL somehow isn't used

rugged perch
#

I feel like a better name would be good yes to not cause conflicts to your own app as well when being googled

stuck oasis
#

people just dont know chatty

viral fulcrum
#

thought at first they just had like a global overview

gusty horizon
rugged perch
#

Yes. I got carried away with other stuff. I'll fix it

real sorrel
#

Is it expected that you get entitlement.create events if you subscribe to emote_set.* with condition {ctx: "channel", id, platform}?

lapis tulip
#

kind of... it subscribes you to emote_set.*, cosmetics.* and entitlements.* if you sub to any topic using the channelId/platform condition

when they rewrote the eventapi into the monorepo they never bothered fixing that

#

and obviously hasn't been fixed in the meantime

real sorrel
#

It seems like some events for emote_set.update are not going through and I think that's what https://github.com/SevenTV/chatterino7/issues/405 is about. I can't trigger this reliably. In my tests I've been going to https://7tv.app/emotes/new and added and removed random emotes. The best way I can sometimes trigger this is by adding and removing in emotes in chunks of 2 (add 2 emotes, and remove them). Here's some mini code to test (it should just show the raw events without any boilerplate inbetween):

const ws = new WebSocket('wss://events.7tv.io:443/v3');
ws.addEventListener('message', (msg) => {
    const json = JSON.parse(msg.data);
    console.log(json);
});
ws.addEventListener('open', () => {
    const subTo = data => {
        ws.send(JSON.stringify({
            op: 35, // Subscribe,
            d: data
        }));
    };
    subTo({ condition: { object_id: "01F6YT6WH00003W81WR5MXZG86" }, type: "emote_set.update" });
});

It might also be some desync? Not sure how the backend is implemented.

real sorrel
real sorrel
rugged perch
#

Idk why it's a thing but maybe old devs didn't patch it. I'll look into it

lapis tulip
#

with my limited understanding, whenever you subscribe with the channel condition, it automatically subs to that channels UserPresence, which then dispatches all these entitlement, emote_set and cosmetics events

topaz crown
#

Any channel sub = wildcard LULE

real sorrel
#

I see, doesn't really matter for Chatterino because we need the events anyway. But it would be great if anyone could confirm/deny missing emote events 😁

real sorrel
#

This also seems to affect the website, because that uses the eventapi to confirm that emotes are added/removed. When you right click an emote and use "Add emote to ...'s Emotes", that can load indefinitely. Note that it doesn't always happen. Some actions get through and others don't. It only happens some instances I think(?).

topaz crown
topaz crown
#

just happened now, event-api-2

gusty horizon
#

yeah that keeps happening for me too

late glen
#

+1

gusty horizon
#

even when not reloading it still doesnt appear

cold sigil
#

yo! so i've been working on a feature for the website where when ur emote set is full and u try to add an emote to it, when u select it, it shows u a "make room" button instead of the confirm button, which opens a dialog that lets u see the emotes in that set ordered by popularity (least popular by default) and remove them.

but i noticed the prod site has stuff that's not in the github repo?? like the bulk select on the emotes page and it's dialog, and the entire favourite emote section feature. i can't find those in the https://github.com/SevenTV/SevenTV repo

is prod running a different build or are those somehow just not pushed yet? trying to make sure my PR covers those too okak

lone marsh
cold sigil
#

alr! is there a reason it's not synced? just curious (only if it's public information ofc)

rugged perch
lone marsh
swift bough
#

will the new extension will stay closed source?

lapis tulip
modest kindle
#

Hello! I'm a 7TV sub and just starting out in translation. I've worked on Portuguese and German before, and I did the full Afrikaans translation for the unofficial BTTV-Android project.

#

I’m native PT-BR, and I’m also in touch with native Spanish, French, and African speakers who can help me polish translations for those regions. I'd really like to join the team and help 7TV grow. If there's a way to get involved and recognized by the admins, I'm all in!

#

Thx!

gusty horizon
#

Just go into #i18n for more info

ornate oar
#

Hey, I'm trying to integrate 7TV into my own chat app but I'm failing miserably. Can anyone help me or give me a tip on how to make it work?

gusty horizon
#

You can possibly use the 7tv websocket or gql.

ornate oar
gusty horizon
# ornate oar how do i do this?

So if you want to use the websocket, here is the repo for it (no official documentation on the website so it’s included here) https://github.com/SevenTV/EventAPI and for the v4 GQL, use this service to be able to get all of things to make your query or mutation, https://cloud.hasura.io/public/graphiql?endpoint=https://7tv.io/v4/gql and if you want v3 api docs, use this proxy https://api.unii.dev/seventv

GitHub

A service which provides live updates for various resources implementing the Server-Sent Events and WebSocket specs - SevenTV/EventAPI

Public GraphiQL - Test your API with GraphiQL and Hasura

ornate oar
gusty horizon
lone marsh
lone marsh
ornate oar
lone marsh
#

@rugged perch u gotta finally add docs bro

rugged perch
#

Documents will be out soon. I haven't had the chance to finish it up. I'm also trying to make it as 1st level developer friendly as possible. So any developer with any experience can use it easily.

lapis tulip
#

just make it AI-feedable, ain't no one reading docs these days

rugged perch
#

What's the point of getting something ready without learning and knowing what it is..

rugged moth
#

Hi, I’m developing a chat client written in rust if anyone is interested I need more users for bug finding and feature requests ! Has 7tv support and such. :3

I tried to add 7tv name paints to mine chat but that’s super difficult if anyone is interested in helping / beta testing I’d love ya

crystal saffron
lone marsh
#

ai feed the api repo and make it yourself

rugged moth
lone marsh
#

@rugged moth u are breaking the lua copyright btw

lone marsh
#

" ugh im breaking the law! "

lunar ether
#

.

gusty horizon
gusty horizon
#

yeh i knew it was mit or something

late glen
#

MODS

lone marsh
#

@late glen PeepoS

late glen
#

@lone marsh Reacting

lone marsh
#

anyways, anyone know how do i unsub from a topic in eventapi

#

@rugged perch 👀

rugged perch
#

Like this

lone marsh
#

i mean 7tv eventapi mate

rugged perch
#

Just make your op to be 36 I think

#

That should work

rugged moth
#

wah wah wah I forgot the license file that literally wasn’t in the public GitHub

#

Also stop being a pussy

#

It’s cringe

lone marsh
#

@rugged moth i just saw herobrine dude, wtf!

late glen
lone marsh
late glen
#

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

#

insane speedrun

vagrant lion
potent spade
paper token
lone marsh
#

I don't get how telling someone about a license is pussy behaviour

#

Should have got the repo taken down shrug

fading isle
solid gale
#

generally seems poorly maintained

#

but yes, everyone will get it (unless u somehow disable overall warnings, idk if thats even a thing)

ionic yarrow
#

you can turn it off in chrome settings

lone marsh
#

firefox also uses the data from google, so if it shows on chrome it will show on firefox too

#

seems to be a false flag

lone marsh
#

alr dmd the dev, they said its just issue that its hosted on github sites

gusty horizon
mortal fossilBOT
#

itsbr0dyy feels well rested: 🛏 💤 (8h, 56m ago)

fading isle
lone marsh
paper token
paper token
#

They were WILD

gusty horizon
#

i was unaware of that. i never even seen ads on the site. i know ads are enabled somehow but i never experienced them

paper token
#

Not the site

#

But they've since been removed

gusty horizon
#

Ohhh

#

i didnt even know the app had ads

#

i just started working on the site after shubham posted it in 7tv tools

quartz harness
#

Also, I hosted the site on Github Pages just to accelerate the release of the app since Apple requires some kind of website for the listing on the store but Github Pages has an issue where Google just flags them randomly. It's not malicious obviously, there's nothing.

paper token
#

no idea why

quartz harness
#

I didn't think Google allowed that though, because porn itself isn't allowed on the App Store so surely they would filter things before surfacing it to users 😭

paper token
#

yeah

#

that's why it was so weird

#

I've never seen that from other apps

#

(although I typically only download pretty well-known apps)

fading isle
quartz harness
open lintel
#

@quartz harness dmed u abt twick

fading isle
iron basin
#

got some questions
are badges marked v2 able to be set by normal users
are badges marked old able to be set by normal users
can translators use white or black badges separately
is there a reason the 4 year sub badges dont have tags

paper token
iron basin
#

Olrite thanks, just adding some logic to my own ffz post load script to preload 7tv badges without having to wait for users with them to show up in order to configure them

#

out of curiosity, would there be any issue from 7tv's pov for adding metadata preload for all badges to ffz?

#

i think i remember some talk about it previously when the apis changed, just wondered

paper token
#

like, just having your script download all badges from the beginning?

iron basin
#

not the badge images but just the data about them (urls, names, etc), for some reason i seem to remember 7tv trying to move away from that by just delivering data about badges over the socket

paper token
#

I don't personally know about that

#

we must wait for someone who knows more Waiting

iron basin
#

truly Waiting

quartz harness
fading isle
cinder thorn
#

L scam

potent spade
#

@rigid narwhal lookUp

cerulean crypt
#

I was wonder is there a way to get more than the last 1000 activities for a user? I paginate through the UserEvents GQL 100 per page, but it caps after 1k.

#

Curious if there is more history you can get any other way

rugged perch
#

There's a backend cap on that query to prevent overload from querying on DB

lone marsh
#

any gql nerds that know if its possible to do this for multiple users at once?

#

^ with 7tv gql

#

alr i got it

    usersByID(list: $list) {
        id
        username
        display_name
        avatar_url
        style {
            color
            paint {
                id kind name function color angle shape image_url repeat
                stops { at color }
                shadows { x_offset y_offset radius color }
            }
            badge {
                id kind name tooltip tag
                host {
                    url
                    files { name static_name width height frame_count size format }
                }
            }
        }
    }
}```
fair moth
#

what is the api endpoint to update the presence of a user?

rotund aspen
# fair moth what is the api endpoint to update the presence of a user?

POST https://7tv.io/v3/users/{userId}/presences

{
  kind: 1,
  passive: false, // if true it will emit presence data to the current user only
  session_id: "" // eventapi session id, needed for passive presences
  data: {
    platform: "TWITCH",
    id: "123456" // twitch user id (of the channel where you want to update presence)
  }
}
fair moth
#

thank you so much

solid gale
#

I went back to look at my request I make for my bot and I have it as true

#

been out of the loop with 7tv related anything for too long

rotund aspen
solid gale
#
{
   kind: 1,
   passive: true,
   data: {
       platform: "TWITCH",
       id: userID,
   },
}

I do this without actually passing session_id and it seems to just work either way

rotund aspen
#

I guess it would send presence only to the specified eventapi session id?

#

and doesn't have any effect when none specified

solid gale
#

would make sense yeah

hallow notch
cerulean crypt
rugged perch
#

As of now. no.. it's hardcoded to be limited

cerulean crypt
rugged perch
#

No problem FeelsOkayMan

gray patio
#

If I have a suggestion for a 7tv-tool, shall I just message a mod?

rotund aspen
gusty horizon
gusty horizon
#

catAsk make the monorepo up to date Smile

mortal fossilBOT
#

itsbr0dyy is checking chat while tucked in: 🛏 💤 (8m, 56s ago)

gusty horizon
#

$rafk

mortal fossilBOT
#

itsbr0dyy, Your AFK status has been resumed.

swift bough
#

catAsk and make the extension open source

boreal shoal
#

Hi everyone sorry its not the good place to ask but im currently developing a 'Twitch Plays' style application and im using the 7TV API to upload around 700 game assets (Pokemon sprites) to a private emote set for a stream overlay. im running into the MaxActiveModRequests: 10 limit (error 20000), even though im setting the flags to Private in my requests, is there an official way or a specific authorization process for developers to bypass this moderation limit when bulkuploading assets to a purely private set? of maybe if i subscribe it will change something?

rugged perch
#

And as of now. There's no way for bypassing such a thing.

paper token
#

if there's a legitimate reason to upload a metric ton of emotes like this, like for a game, I can conceive of a scenario where the admins take a look at the game and if they deem it worthy they could just manually upload all the emotes, bypassing the usual method.

#

does the game exist yet in a functional state? (or at all?)

#

the 7tv backend may not have an easy way to upload emotes manually like that though

boreal shoal
# paper token does the game exist yet in a functional state? (or at all?)

thanks for getting back to me that quicky I really appreciate it. yes, the project is very real and the beta is just about to launch! its a fully functional twitch play system with a custom interactive web overlay, a viewer database, and a bot. I can totally share some screenshots of the overlay, the web app, or even a quick demo video if the admins want to take a look and verify it's a legitimate use case. lemme know what works best for you guys i'd love to show it off

paper token
#

I mean if you want to post a demo video here, I'm sure everyone would be interested to see it

#

I'm going to bed so we'll see what other people think of it

boreal shoal
boreal shoal
# paper token I mean if you want to post a demo video here, I'm sure everyone would be interes...

ok so here's thequick follow-up with the video. this is the project I mentioned: its a twitch plays style game overlay connected to a web shop, a viewer database, and a bot. viewers can buy/spawn pokemons from the website, the launcher sends it into the game, then the bot confirms the drop in chat. In the video, i spawn a Dragonite nicknamed “sevenTV” from the web shop, then switch to the stream overlay so you can see the Pokémon appear in-game and in the custom chat.
the main reason I’m asking about bulk/private emotes is this: I already implemented 7tv inside both my local stream overlay chat and the web shop chat(screen 2). when the bot says things like “Pokemon #149 delivered” or “Team: Charizard / Pikachu / Lapras”, the overlay can show the actual pokemon sprites and badge assets, while normal Twitch chat stays plain text.
(btw its normal if u see mixed french/english in the overlay or the shop its still on dev but ill release the beta in few days)

so the video shows the difference pretty clearly:

  • custom overlay/shop chat = rich pokemons + badges visuals that implemented myself instead of 7tv
  • normal twitch chat (screen 1) = plain text much less readable/fun (

im not trying to spam public 7tv with random emotes, the goal is to make a functional game/stream overlay feel alive, and eventually let streamers use these assets cleanly in their own setup. thanks for letting me explain my project thats much appreciated

paper token
#

realistically at least some of the pokemon sprites have already been uploaded years ago LULE

#

the easiest way without waiting for the devs to come up with an alternate method would be to work with a mod to get them approved as you upload them in real time

#

maybe @manic torrent would have an interest in that?

#

it's pokemon related, after all

#

@onyx bough or you

boreal shoal
rotund aspen
solid gale
#

tf now make it a zip bomb

boreal shoal
manic torrent
umbral osprey
#

where do I read whats going on with new version and anything about it?

slender widget
#

Hey, where can I find the repo for the new extension? Also, how does it differ from the current one? Are there any docs I can read to see what's new?

ionic yarrow
#

the new extension's repo is private

#

it doesn't fully replace the chat anymore and it adds some new features

slender widget
rotund aspen
slender widget
#

I honestly don’t like how the new version/extension was announced. It tells people to install the new extension, but there’s no clear mention that it isn’t open source, no repo link, and basically no useful information anywhere about it. There’s nothing people can really look up themselves before installing it. peepoSad

ionic yarrow
#

hesRight i think there should've been a better announcement, the one "announcement" that was made basically gives no information on it at all

slender widget
lone marsh
#

7tv talking about anything

#

the site repo has not been up to date for almost a year

slender widget
# lone marsh the site repo has not been up to date for almost a year

WDYM, the repo is still getting updates and patches, it’s just that new releases aren’t being automatically built and published anymore. You can still build it yourself from the latest code if needed. Still, for me it’s better than just silently switching to a new private version and not really saying anything about it.

lone marsh
#

if u open the repo site and compare it to the main site
and its 1 to 1
im giving you 1 milion dollars

ionic yarrow
#

i don't think anything is fully open source anymore

slender widget
#

what do you mean with main site?

rotund aspen
slender widget
lone marsh
rotund aspen
slender widget
#

Are there any devs I can ask about this or ping?

lone marsh
#

the only one that will respond is @rugged perch

#

but he dont do extensions

#

the communication with any staff on 7tv is shit
1% chance u will get a response

lost steppe
paper token
#

100%

#

how can you expect a repo to be updated when you live without font smoothing

#

like srsly now

gusty horizon
rugged perch
rugged perch
#

Same with old extensions.

umbral osprey
#

i cannot see old vs new comparison which convince me to install it instead of using old one. also it announced recently with a tooltip in old extension thought it was compromised. later learned its source not available now and no indication it will be source available as far as in this channel history

lone marsh
#

SpeedLaugh 7tv and open source?

solid gale
#

BasedGod just drops that and leaves

potent spade
gusty horizon
gusty horizon
#

mods!

gaunt lark
#

how to fix it

#

Shouldn't those dots be positioned slightly further away from the “First Time Chatter” or highlighted message?

lone marsh
#

thats ffz

#

i think so atleast

#

@rugged perch

gaunt lark
#

The thing is, I don't have FFZ

#

highlighted message

lone marsh
#

oh yeah ftk told me to @manic sinew

hidden portal
grim badge
hidden portal
grizzled nymph
#

Is it possible to get emote_set events for an entire channel?
I'm trying with https://events.7tv.io/v3@emote_set.*<platform=TWITCH;ctx=channel;id={twitch_id}>, and I'm getting the ACK confirming the subscription, but I just don't get any events

lone marsh
#

there needs to be a event

#

also u are subbing to a emote set change

hidden portal
#

Have you tried this

https://events.7tv.io/v3@emote_set.<object_id=ACTIVE_SET_ID>,user.<platform=TWITCH;ctx=channel;id=TWITCH_ID>

you have to pull the active set and then subscribe to it directly

mortal fossilBOT
#

25mg is no longer AFK: time for irl work PeepoWave (14m, 23s ago)

lone marsh
grizzled nymph
#

I was hoping to subscribe to all the emote sets from a channel, so that's not possible?
I have to subscribe to a user to get emote sets and then to each one directly?

lone marsh
grizzled nymph
#

gotcha, thanks

lone marsh
rotund pivot
#

No fucking way

lone marsh
#

@rigid narwhal

iron storm
#

7tv tech lore dropped PagBounce
https://forsen.wiki/w/7tv_tech_stack
please correct misunderstandings

rotund pivot
#

ayyybuPog im mentioned

paper token
#

I ain't reading allat

#

I'm sure it's all true though xd

#

lmao wtf

#

these screenshots were taken yesterday I guess

#

my piss emote got used though PagMan

paper token
#

as far as misunderstandings, charlotte was never the one hosting those external servers

#

it's so weird to see me and others used as examples of sussy stuff. It's just jokes 😭

iron storm
#

you can edit the article and say it was jokes TeaTime

paper token
#

I mean yeah but that feels wrong

#

it would look like I'm running defense or something

iron storm
#

it's a wiki (anyone can edit)

paper token
#

I know

#

honestly it's just so interesting to see how it looks to other people

#

djinn's and lopa's names redacted but not mine lol

iron storm
#

it's because of your funny name 😄

paper token
#

makes me look like an unhinged simp

iron storm
#

anyway, off-topic! Thanks for clarifications.

paper token
#

any time

paper token
#

@lone marsh your complaining paid off PagMan

swift bough
#

surely extension source code release soon? elisSit

violet flint
#

just unminify the source 4HEad wxt and svelte to no surprise

swift bough
#

We already merged a branch of resyncing which includes 90% of the stuff that's in public (100% excluding secret keys and company model-driven code that's not meant for the public)
does this mean you guys are checking secrets into version control uhoh

rugged perch
#

secret keys here was meant for public keys. Like for an example Google public reCaptcha site secret and such secret keys

#

Although they are public on site. They shouldn't be on public repo because there's no use anyway

swift bough
gusty horizon
#

is the old extension broke it? its not even loading for me and its only loading ffz

rigid narwhal
gusty horizon
#

Sus its not appearing for me at all

rigid narwhal
#

try a chrome://restart

tight terrace
#

Was this ever fixed?

#

On Zen

#

With the new 7TV extension

earnest crown
#

are devs europe time zone

waxen sleet
#

and yes

#

it was fixed long ago

tight terrace
waxen sleet
#

but idk if its even possible to check because i dont know if the code is up to date with the public repo

earnest crown
#

now the server is down so thats prob why

tight terrace
#

Its the Quick Send feature thats not working for me

waxen sleet
tight terrace
waxen sleet
#

im on zen too and its working

tight terrace
#

Latest zen browser too

waxen sleet
tight terrace
#

The extensions I have are uBlock Origin, Consent O Matic, ClearURLs and 7TV new

tight terrace
waxen sleet
#

hmm

forest swift
#

7tv is having issues atm

#

devs are working on it

tight terrace
waxen sleet
tight terrace
waxen sleet
tight terrace
tight terrace
waxen sleet
#

yeah at this point idk

#

it should not be possible

#

maybe disable all other extensions ?

#

to test

tight terrace
#

I could try

#

Nope... didnt seem to change anythin

waxen sleet
tight terrace
#

I could share my json file

#

If you wanna try my exact setup

#

Of 7TV that is

waxen sleet
#

i guess yeah try to export settings

#

and reset

forest swift
tight terrace
#

Reset settings did...

#

Not save it

#

Genuinely have no idea why its not working

#

I havent used it in a good while so I dont know if it broke a while ago or recently for me

tight terrace
#

So like 7TV works

#

But twitch ones from ones I sub, nope

lone marsh
#

New extension is still poopoo

#

Don't expect everything to work honestly

paper token
paper token
#

a third one now

#

try it again maybe this time it'll work

#

so many compromised accounts lately it's insane

nova gyro
#

need a honeypot bot

gusty horizon
cold sigil