#developers

1 messages · Page 5 of 1

solemn widget
#

you will need a go compiler

zinc aspen
#

well i mean i can assume GoLand comes with one built in

#

i'd be surprised if a jetbrains IDE didn't do that

solemn widget
#

idk im not a go dev

zinc aspen
#

okay yeah

#

seems to come with a compiler and docker capabilities

#

i just need to know the right sdk version i think

#

which doesn't appear to be documented on the github danknote

solemn widget
#

though keep in mind

#

most of the code will be rewritten so dont really try to put in any contributions right now

#

when i say most of the code i do mean it

#

potentially all of it

zinc aspen
#

Fair enough

#

Just wanted to try and fix the name paint and badge disappearance issue since i have an idea what may be causing it in theory Hmm

solemn widget
#

you do?

zinc aspen
#

cuz im noticing the client receives two delete entitlement events for the paint and sometimes the sub badge, then later reinstates it with a create entitlement event

solemn widget
#

interesting

zinc aspen
#

so its something relating to getting entitlements

#

my assumption is its something relating to reading from the database

#

hopefully its not the database itself being screwy and its just an error on the code side of things

#

but then again it could also be something elsewhere involving entitlements

zinc aspen
#

(continuing from general)
turns out i just had to scroll down and it shows client opts

cursive saffron
cursive saffron
zinc aspen
#

looking into it Hmm

#

what the hell is PRIVMSG

#

as opposed to message

topaz crown
#

YES use dank irc it has a great amount of features

paper plover
#

basically just chat message

#

using the example code btw

zinc aspen
#

ok but like

#

whats the difference between it and message

topaz crown
#

message has all irc events iirc

zinc aspen
#

hmmm

topaz crown
#

PRIVMSG would be specifically the chat messages

#

not resubs/announcements/bans/clearchats

zinc aspen
#

and to send a message

#

what would i extract from msg

#

to know what channel to target

topaz crown
zinc aspen
#

yeah im already on them

topaz crown
#

but it would be the channelName property

zinc aspen
topaz crown
#

msg.channelName

zinc aspen
#

alr

zinc aspen
#

now how to prevent bot from triggering itself FeelsDankMan

#

just compare sender name?

topaz crown
#

ya

zinc aspen
#

still not sending???

topaz crown
#

sure you've got a valid user/oauth?

zinc aspen
#

i mean

#

i can try regenerating oauth???

zinc aspen
#

i've been using twitch cli

paper plover
#

holy shit this is a thing?

zinc aspen
#

correct client id, correct client secret

#

passing -u -s chat:read chat:edit

#

authorizing as bot account

cursive saffron
#

Holy shit LULE

zinc aspen
#

what BRUHMM

topaz crown
#

i would use the token generator either way, its a perma token

zinc aspen
#

hmm

paper plover
#

FeelsDankManStoleDonkHat where do you put the generated token

topaz crown
#

as the password when instantizing a ChatClient

zinc aspen
#

okay so

#

i grabbed an access token from the site

#

same result FeelsDankMan

#

i get stuff logging to console abt the message it just processed

#

but nothing is sent in chat

paper plover
zinc aspen
topaz crown
zinc aspen
topaz crown
zinc aspen
#

wait a minute FeelsDankMan

#

do new accounts lack the ability to send messages

topaz crown
# zinc aspen brand new yes

have you tried sending messages directly logged in with that account from twitch? sometimes they do funky stuff for new accounts and their messages drop

zinc aspen
#

message sent on bot account's client but no other client receives message

#

so am i just

#

shit out of luck for a few days FeelsDankMan

topaz crown
#

yeaa so its getting cucked by twitch

zinc aspen
#

i hate you so much twitch

topaz crown
#

have you done 2fa and email verifiaction with the acct? could help if not

zinc aspen
#

first you ignore my fucking org req, then then i try to message support abt it you deny any response and tell me i did it via email instead of support website and thats why which ISNT EVEN TRUE, no response on twitter, and now you do this to my bot acc ome47

#

great fuckin service

topaz crown
#

yeah i think they do this to combat the bot armys people make to spam chats

zinc aspen
#

seriously though that support ticket bit is stupid

topaz crown
#

could always get things set up using your main account and then swap tokens when the new one works Shrug

zinc aspen
#

turns out modding a user lets their messages go thru fsdeshrug

#

at least

topaz crown
#

yeah oops forgot about that lol

zinc aspen
#

does when logged in directly

#

because the stupid fuckin nodejs still wont send it SCHIZO

paper plover
#

can i still use justinfan12345 as login?

topaz crown
#

yeah

zinc aspen
#

interesting

#

doing client.say instead of client.privmsg gives an error

#

times out

topaz crown
#

yeah it is waiting to recieve it

cursive saffron
#

FeelsDankMan oh

topaz crown
#

yeah all i can say is double check the username/password. if you're using environment variables maybe try logging them

zinc aspen
#

not using dotenv

#

literally just strings

#

and they're correct

#

says it connects

#

if either is wrong it fails outright before even doing anything

cursive saffron
#

Is the bot mod in that channel? @zinc aspen

zinc aspen
#

yes

#

bot is mod in my chat

topaz crown
#

have you specified rate limits?

zinc aspen
#

no BRUHMM

topaz crown
#

idk if that would matter

cursive saffron
#

NAILS Rate-limited

zinc aspen
#

how would it rate limit if there is no rate limit

topaz crown
#

show us code

paper plover
#

i think it has default rate limit regardless
but i'd say add rateLimits: "default",

topaz crown
#

yeah i agree

#

but idk what else to check LULE

zinc aspen
#

fsdeshrug nothing changed

#
const {ChatClient} = require('@kararty/dank-twitch-irc')
const fs = require('node:fs');
const path = require('node:path');

const client = new ChatClient({
    username:'bittymoth',
    password:'oauth:token-here',
    rateLimits:'default'
})
client.cmd = new Map();

client.on('ready', ()=>{
    //genCommands(); disabled until bot works
    console.log(`Bittymoth is online`);
});

client.on('PRIVMSG', async (msg)=>{
    if(msg.senderUsername==='bittymoth')return;
    console.log(msg);
    const args = msg.messageText.slice(1).split(' ');
    const command = args[0];
    console.log(command);
    if(command==='test') await client.privmsg('neomothdev', 'test response');
    // disabled code until i get the bot to just fucking respond in general
    // let cmd = client.cmd.get(command);
    // if(!cmd)return;
    // cmd.run(client, msg);
});

client.connect();
client.join('neomothdev');
#

also here's the code

topaz crown
#

idk i guess i would try sending the message to the bot's own chat? and then try the same code using your personal account.

#

wait are you including the oauth: part

paper plover
#

FDM i removed the async and await stuffs and that worked

#

wait no async also works too

#

dank

zinc aspen
topaz crown
#

just the raw token

#

yeah

#

that must be it

zinc aspen
#

IDK why it would still be getting stuff from chat then if it can't even log in properly

topaz crown
#

its just an anon connection

#

like if you watched twitch while logged out

#

you can see chat

paper plover
#

connecting to chat dont need an actual login
but sending msg need

topaz crown
#

yaya

zinc aspen
#

still not sending

#

oauth: removed

topaz crown
zinc aspen
#

gonna try logging in as myself

#

its not sending from my acc

#

im so confused

#

what could i possibly be doing wrong

topaz crown
#

not really sure honestly

zinc aspen
#

the fact that it isnt even working with my account

paper plover
#

what about just a simple send message on ready

const { ChatClient } = require("@kararty/dank-twitch-irc");

var channel = "neomothdev";

let client = new ChatClient({
    username: "",
    password: "",
    rateLimits: "default",
});

client.on("ready", () => {
    console.log("Successfully connected to chat");
    client.privmsg(channel, "Successfully connected to chat");
});

client.connect();
client.join(channel);
zinc aspen
#

nope

#

didn't send

topaz crown
#

not sure why it would make a difference

zinc aspen
#

@pearl ore bot problems classic

pearl ore
#

JS 😢

paper plover
zinc aspen
#

using bittymoth, testing sending on ready with main account rn

#

nope

#

my acc didn't send message

#

had target set to my own chat

#
client.on('ready', ()=>{
    //genCommands(); disabled until bot works
    console.log(`Bittymoth is online`);
    client.privmsg('neomothdev', 'fart');
});
pearl ore
#

Link to library you're using?

zinc aspen
#

npm install @kararty/dank-twitch-irc

pearl ore
#

I think I see the problem

topaz crown
#

wrong fork

pearl ore
#

Fork??

#

Bruh

zinc aspen
#

wrong fork

#

looking for kararty fork

paper plover
#

i can use the library no problem
my guess is the access token is wrong? try re-generating it

zinc aspen
#

i have

#

several times SCHIZO

topaz crown
#

did you try the last link i sent

zinc aspen
#

twitch -u -s chat:read chat:edit

pearl ore
#

You want to send a message in chat?

#

You need to join it first

zinc aspen
#

it is joined tor4

topaz crown
#

you dont need to join to send a message

zinc aspen
#
client.connect();
client.join('neomothdev');
client.join('bittymoth');
pearl ore
#

"ready" is sent out when you connect to server

#

You need to listen for the join event then

pearl ore
zinc aspen
#

okay even then

#

it doesn't respond in the privmsg event

topaz crown
paper plover
topaz crown
paper plover
#

yep

pearl ore
#

Just do like a 5 second timeout after join and try sending then, if it works then it's the event/timing imo

zinc aspen
#

as i said

#

getting token from twitch's own tools

#

twitch -u -s chat:read chat:edit

pearl ore
zinc aspen
#

getting a user access token with chat:read and chat:edit

pearl ore
#

Does the privmsg() return any errors?

topaz crown
zinc aspen
#

no

topaz crown
#

client.say would return errors

#

the privmsg is more raw

pearl ore
#

Oh ok

#

So do say() and see the error?

topaz crown
zinc aspen
#

say() times out

topaz crown
#

sorry wrong reply

pearl ore
topaz crown
#

and channel:bot

pearl ore
#

Why timeout?? You're testing locally, right?

topaz crown
#

the library listens for the message to return through the tcp/ws

#

so its just not sending so always times out

zinc aspen
#

oh my god

#

i figured it out

paper plover
topaz crown
zinc aspen
#

twitch -u -s 'chat:read chat:edit'

pearl ore
#

The solution was you were IP banned? pepla

zinc aspen
#

it needed quotation marks

paper plover
topaz crown
zinc aspen
#

im gonna krill my shelf

pearl ore
#

You should learn linux ig 💀

topaz crown
#

lawl

paper plover
#

life would be easier if you just use the token generator site

topaz crown
#

yeah

pearl ore
#

^ also true

paper token
paper plover
#

here comes the linux guy

paper token
#

L___x guy

zinc aspen
topaz crown
paper plover
zinc aspen
pearl ore
#

On windows? That's the problem for sure

#

Why does it timeout though? When it should say something like "insufficient perms" or whatever. Shit lib or twitch is shit

paper token
#

Windows VM is the way to go (unless you care about your sanity)

zinc aspen
pearl ore
#

Why do you need windows anyway? For games? I just play Minecraft Clueless

zinc aspen
#

easy anticheat and battleye my FUCKING BEHATED

paper token
zinc aspen
topaz crown
pearl ore
paper plover
#

oh yea dont linux breaks games that has certain anticheats

zinc aspen
#

last i checked

zinc aspen
#

both easy anticheat and battleye support linux

#

its just the games that use them

#

explicitly dont

pearl ore
#

Lol

paper token
zinc aspen
#

you dont even need a vm

#

it runs under proton

paper plover
#

the kernel level ones like Vanguard and xigncode

paper token
#

I posted the article here a while back

zinc aspen
#

VRC works underneath valve proton

#

no need for vm with it

paper token
paper plover
#

Lamonting vrc

paper token
#

buying an AMD gpu was my best linux purchase ever

pearl ore
#

Guys, just play Minecraft Clueless it works on everything and doesn't have anticheats

paper token
#

minecraft is great

#

with mods at least

paper plover
#

forsen loves playing it

pearl ore
#

Also, Zachtronics' games all run fine on Linux, some even natively I think

paper token
#

call me direwolph20

paper token
pearl ore
#

Nah, it's fixed I think

paper token
zinc aspen
#

if i need any more help i'll bring it up

paper token
#

cool

#

then I’m not sorry for derailing

paper plover
paper token
# paper plover what did you do after it works

Nothing sussy unfortunately. I browsed avatars. Favorited some nice ones. Then closed it. Lately I’ve been trying to get wireless VR to work from inside the VM. Wired works fine. But wireless won’t work for anything. VRC is one of the few VR games I have to test.

mortal fossilBOT
#

ansonx10 decided to stay and chat: 🛏💤 (4m, 20s ago)

paper plover
#

MODS

paper token
paper plover
south flare
#

<@&1053703837078269972> For the developers using 7TV's api, how depenent are you on the specific IDs returned from the API?

for example,
if we were to return IDs that were slightly longer would that be a problem for your applications? (no longer using Mongo ObjectID, switching to ULID)
and we made sure that any MongoID passed to the API still works as expected, so both ULID and MongoID will be accepted on the API / Query Endpoints but the query will only ever return ULIDs. New users / emotes / sets / paints will only be mapped to a ULID not a MongoID.

So in general, all existing MongoIDs will remain unchanged, but the api will only ever respond with ULIDs.

mellow glacier
#

ooc, how come the SSE data packets were changed without any versioning changes?

solemn widget
#

that really shouldn't be the case

#

can you show how exactly it is different

mellow glacier
#
event: heartbeat
data: {"d":{"count":0},"op":2,"t":1706236207966,"s":2}
id: 2

you're providing a full websocket op message, prior, only the contents of d were provided for SSE

solemn widget
#

thanks

#

there's currently being some work done on rewriting the event api to hopefully make it more stable, the goal is it being 1:1

mellow glacier
#

if this was a planned change, i can work with it, but just fyi that change just broke everything relying on SSE

solemn widget
#

no, not really, thanks for letting us know though

south flare
#

it has been undone, it was not supposed to return full context

mellow glacier
#

thank you, I will add some additional checking to this section of code within my app moving forward. was an unexpected result so never handled it

#

btw, I get working on this live; but making untested changes to a production environment? there's a dev environment for this purpose, isn't there?

zinc gyro
#

surely....

solemn widget
#

this is a little bit of a difficult thing to debug in a dev env and eventapi isn't exactly known as a stable api

#

stable uptime wise

mellow glacier
#

well, from the stream it looks like other areas are being touched as well? so i mean in general.

either way, ty for handling this so quickly

south flare
#

its tricky to produce the scale the event api has on the development environment, so i decided to test it for a few mins to see any issues and then revert

patent wing
#

Tomfoolery pushes to prod

topaz crown
south flare
#

I am going to try deploy again, i fixed a bunch of small issues with payload changes. Please ping me if you find any issues with payloads or notice anything off. <@&1053703837078269972>

fringe bone
#

a

iron monolith
#

b

gentle fractal
#

c

sharp venture
#

d

nova garnet
#

E

solemn widget
#

F

deep ferry
#

G

zenith wave
#

H

frosty bronze
#

I

iron monolith
#

J

wintry whale
#

k

paper plover
#

🇱

visual wedge
#

Forsen

iron monolith
#

A streak of 11 12 chars

#

I know how to count guys, dw

lethal jackal
#

M

pearl ore
#

Finally EventAPI is actually working

#

Holyy

late torrent
full owl
short sand
#

TE_LULE It's just a PR wtf is all this

solemn widget
#

its a thing contributors need to sign

frosty bronze
#

contributor role 2ModCheck

short sand
#

Hopefully this means the PR will finally be accepted rcdKrappa

solemn widget
#

depends on what the pr is for

short sand
#

QoL

solemn widget
#

oh website

#

yeah the website is gonna be completely redone

short sand
#

Mhm so I've heard TE_LULE

naive depot
#

Hello, seen there's been some changes recently so it might be related. Trying to connect to wss://events.7tv.io/v3, is that still the correct address?

[11:44:32.239]  Info: SevenTV WebSocket: Connecting...
[11:44:32.380]  Error: SevenTV WebSocket: Connect Error: Error: Server responded with a non-101 status: 521
Response Headers Follow:
date: Sat, 27 Jan 2024 10:44:29 GMT
content-type: text/plain; charset=UTF-8
content-length: 15
connection: keep-alive
strict-transport-security: max-age=5184000; includeSubDomains; preload
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
referrer-policy: same-origin
cache-control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0        
expires: Thu, 01 Jan 1970 00:00:01 GMT
server: cloudflare
cf-ray: 84c066933dd69981-CPH
alt-svc: h3=":443"; ma=86400

EDIT: I didn't even notice, but apparently I connected after that

topaz crown
#

Yes its correct still, the connection has been going in and out all day

naive depot
#

Thank you

tired heron
#

7tv

quick spear
#

8tv

paper token
#

9tv

mortal fossilBOT
#

ansonx10 finished working hard Kappa //: (i’ve been at work for hours) 💼 (49.72s ago)

tidal current
#

69tv

exotic sigil
#

soon my PR is gonna have it 1st birthday peepoHappy

strange owl
#

surely it's getting merged Clueless

topaz crown
#

@mods crush his skull

mortal fossilBOT
#

ryanpotat finished working hard :Kappa: //: (automated: afk for over 30 minutes) 💼 (1h, 32m ago)

azure cape
#

@stuck pond no self advertising please nope

prime kettle
#

Sorry, I'm new here

paper plover
#

so what are you working on?

prime kettle
paper plover
#

Please clarify

prime kettle
#

We AI

#

I'm an ML Platform Architect streamer

#

I forked 7tv. Haven't gotten around to it yet.

paper plover
#

Before you self promo more, just describe the project you are working on and we might be able to help you with whatever you want the API docs with

prime kettle
#

We make emotes with our bots and we want to automate an origin for all the Software and Game Dev category to use.

#

7tv seems to be the best way to do that currently

#

Always happy to take conversations offline. I'm Open Source. I'm not promoting anything I'm not contributing.

#

In fact, I'd love to invite you all to put in CFPs to ATO and come to my after party

paper plover
#

So you want to use 7tv emotes to train your stable diffiusion AI to make your emotes?

prime kettle
#

Not necessarily...

#

Not sure how that'd work...

#

People come to our streams, use our inferencing, and make emotes. We've been making emotes of all the Software and Game Dev category.

#

We have over 300 made. We want to automate the process of putting them into an origin (think that's what yall call it)

paper token
#

Mass produced emotes aren’t really what 7TV users are looking for

#

The emote queue is already filled to the brim with emotes that need to be approved

prime kettle
prime kettle
paper token
#

Emotes need to be legible when at 32x32 in chat

#

Images aren’t necessarily emotes

prime kettle
#

We have a selenium pipeline for it in Twitch that SecLive built

paper plover
#

Do you mean to host your own 7tv?

prime kettle
#

But we want more

prime kettle
paper plover
#

not doubting, just asking
since 7tv is still under the process of a rewrite, there might not be an updated doc for the current 7tv for you to understand how to host it without problem

#

and i think it's quite complex to host that

prime kettle
#

I should clarify, I'm not Todd Lewis the organizer of ATO. I'm just organizing a few after parties and speaking

#

I'd be happy to contribute an OpenTofu guide

paper plover
#

Not sure how those are related, but back to the topic:

  • If you mean to host your own 7tv service: wish you good luck since you will have to setup backends that dont have any documentations of
  • If you mean to upload your mass produced emotes to our 7tv service: As mentioned, 7tv is not meant for mass uploading emotes. Newly made emotes will have to get approved by moderators manually, and each users can only have a maximum of 10 unapproved emotes at a time and will not be able to upload more until the emotes are approved
south flare
#

what am i reading

prime kettle
#

I'll build the massdriver architecture Cheers

#

Love what yall have done CH_PepeClapping

prime kettle
prime kettle
#

Who maintains the monorepo?

#

And who uses BSD-4? doglul

#

Yall should be Apache imo

#

@south flare your GitHub profile game is weak

south flare
#

Can u stop

#

If you took 1 second to go understand what bsd4 clause does then u would understand why I picked it

#

It basically means anyone can use our product and source code, baring the fact that they do not advertise it without express permission from us.

#

Which shouldn't be a problem for anyone except big tech companies. In reality it doesn't matter for proprietary stuff like our API or our website or extension. So we could have used MIT or Apache2 but anything that we develop that isn't proprietary we would rather not deal with large tech finding something nice and selling our work on their platform. But instead of using a cancer GPL license I went for the approach of prohibiting advertising.

patent wing
solemn widget
frank void
#

hola

prime kettle
faint ember
#

hi yall, what is the tech stack that's being used in 7TV? or is this info posted somehwere else already?

frosty bronze
#

in the process of being re-written

#

current stack is go and mongo

south flare
#

The new stack will be rust, svelte, postgres

frank void
#

HOLA?

plush sandal
#

SVELTE PagMan

elder atlas
#

POG im learning svelte and rust

teal thorn
#

Are you rewriting all of 7tv or just like the website or something?

frosty bronze
#

everything pretty much

swift bough
#

i was gonna make a silly thing that uses the gql api, is the schema gonna remain the same or should i just wait until the rewrite is done? Danki

reef scroll
#

needing help i just did a 1 year sub, but now its saying im not sub after i turn off auto renewal pls help

wintry whale
#

is there a way to get the user id of a username on 7tv?

half veldt
#

@hollow sluice

cursive saffron
paper plover
#

yes if this is the expected output

cursive saffron
#

Ok nice

#

Thanks

paper plover
#

works

cursive saffron
#

PagStick okok

paper plover
cursive saffron
#

PauseChamp The website should be fine now
@paper plover @vagrant lion

paper plover
cursive saffron
paper plover
#

are we suppose to see our 7tv cosmetics here? or just native twitch ones

vagrant lion
cursive saffron
#

Maybe try the clear cache thing

vagrant lion
#

fully loaded now

cursive saffron
paper plover
cursive saffron
#

All right. Thanks for reporting the bug earlier OkaygeDonk

paper plover
#

this NymN paint is actually a thing? LULE

vagrant lion
paper plover
#

how did you get all available paints

cursive saffron
vagrant lion
#

he lives inside 7tv wall

cursive saffron
#

Anatole forbade me from showing the paints. Thanks to Troy giving me permission (because it's public data) I was able to publish it until now, the website has existed for a few month LULE

paper plover
#

tiktok paint

cursive saffron
paper plover
#

LEEK LULW

cursive saffron
#

That paint came out right when I first posted the website in the mod chat pepeLaugh

paper plover
#

1 suggestion
can you group the paints to released ones and non-released ones

cursive saffron
vagrant lion
#

LULE good one

solemn widget
#

bro

#

this mf didnt even give you a way to do that

#

his fault

cursive saffron
vagrant lion
vagrant lion
#

with actual twitch chat size would be cool

cursive saffron
vagrant lion
#

this site is actually scary it can fetch any user in any channel Scared

paper plover
#

we will see if you are a tier 3 year-long vtuber sub

cursive saffron
frosty bronze
#

can you even group them by month/year ?

paper plover
#

as of right now, i dont think the schema of the cosmetics contains the created / released time

frosty bronze
#

probably lazily loading 6 months at a time will be a better UX than showing all in no particular order

#

but yeah I'm sure they're already considering this in the re-write

#

I'd try to help out with extension fixes as I had several pending PRs, but not sure what the status is on that

pulsar iris
#

every badge :waytoodank:

#

if only this had og festive gold

frosty bronze
#

twitch staff MONKA

pulsar iris
#

only added cuz no other badge takes it away

#

i think its a max of 14

#

i was thinking gtspark but yeah him too

cursive saffron
pulsar iris
#

FeelsStrongMan old logo

vagrant lion
minor plinth
cursive saffron
frosty bronze
#

github mods ModCheck

patent wing
#

should just disable issues on these repos

paper plover
#

@solemn widget do you perhaps know anything about this?

solemn widget
#

well

#

opera isnt pure chromium

#

i have no idea though

#

maybe its really strict with web workers

paper plover
#

so it's able to inject itself in the top-nav but not the chat container

solemn widget
#

thats weird as shit

#

did twitch change something

paper plover
#

the react update

solemn widget
#

i mean yeah

#

did they make a different react update

#

because like

#

it shouldn't be able to hook into the top nav

#

it shouldn't be able to hook into anything

paper plover
#

and strange that it works on other chromium browsers (brave, edge, chrome) but just not opera LULE

solemn widget
#

yeah

#

worst chinese spyware browser

frosty bronze
#

I had a PR that would switch it to hook based

#

and hide several of those top nav buttons without css manipulation

paper plover
#

Seems like it's fixed with a reinstall
Not sure if it's just me

rancid tulip
#

FeelsStrongMan HUGH MUNGUS 7tv UPDATE CUMMING SOON ON OUR FACES

vagrant lion
eager talon
#

Hi, quick question! Am I allowed to use 7tv emotes on my website?

paper token
#

By uploading emotes to 7TV, they're giving 7TV permission to host them for use with the emote service. Legally, I think you'd have to receive permission from the creators in some way.

teal thorn
#

Since 7tv is being rewritten I have a pr for the extension, will it be transferred to the new repo somehow or will I need to resubmit one to the new repo when it's ready?

frosty bronze
#

whats the extension being re-written in?

teal thorn
#

i think the site is being rewritten in rust but idk if you can use that for an extension?

patent wing
#

svelte not rust

#

backend rust

frosty bronze
#

ya svelte

#

but that's for the site

strange owl
#

i'm assuming similar stack for the extension

teal thorn
#

What stuff can you use to write an extension in? I thought it was mainly just js/ts?

patent wing
#

anything the web supports

#

wasm

south flare
#

@strange owl

#

Yo

strange owl
#

hi

south flare
#

can you sign this and ill merge all ur prs

strange owl
#

sure

#

should be good

south flare
#

on changelog

strange owl
#

yeah gimme a sec

south flare
#

does it still work as expected?

#

here is a twitch experiments link for react 18

strange owl
south flare
#

it doesnt seem to show for me

strange owl
#

hold on

#

It seems like it somehow broke because the chat id's are different now, I'm not sure why that is however

#

the uuid in awaited is what it's expecting, but instead the selected text is what the id actually is

#

just got it to work again, but I'm not sure if this is correct yet

south flare
strange owl
south flare
#

onto the current pr is fine

strange owl
#

also since twitch removed the hype chat feature it'll delete the paid message component as well

south flare
#

you can just change the title to be fixing the embeds or whateve

strange owl
#

alright

south flare
#

nvm

#

now it does

#

thanks

strange owl
#

great 😌

paper plover
#

I have a proposal to deal with the problem of people making alts left and right:
Make Discord the only connection that can create account. Users can still sign in with Twitch or Kick or Discord, just that when there's no existing user in the database when they sign up, twitch and kick sign in will return no user found, and discord sign in will make a new account

south flare
#

on nightly

#

and stable

strange owl
topaz crown
#

mod crush his skull

frosty bronze
trail drift
#

some cdn dont have /4x.gif

#

cdn.7tv.app/emote/60ae8d9ff39a7552b658b60d/4x.gif

drifting quarry
trail drift
#

Oooh I’m so dumb

trail drift
#

uuh what happens if you try to add an emote named UnknownEmote?

#

cause thats the name for ids with that are not set

trail drift
#

Also doesn’t this mean y’all have pre made ids? Instead of just generating a uuid whenever a user uploads it

patent wing
#

what

#

yes 7tv hired a guy to write out new uuids whenever someone uploads a emote

trail drift
#

this site shouldnt even exist

frosty bronze
#

it’s being re-written, old dev left

trail drift
#

is api gonna change?

#

Dentge old dev

patent wing
south flare
#

im testing a new deploy of event api

solemn widget
#

nice

south flare
#

please ping me if u notice anything different

rough igloo
south flare
#

ur right. im fixing think

warm yacht
#

Troy out here breaking the api wtf

south flare
#

i reduced the dispatch count by half

rough igloo
#

paints are back

#

and badges

warm yacht
#

letsgooo

vagrant lion
#

basically we need an option to delete 7tv pfp, if no custom 7tv pfp is set, fetch it from twitch (or kick)

frosty bronze
#

can we just provide a transparent image?

vagrant lion
#

hesRight i like his idea

warm yacht
#

Just clearing the url in the database should work I assume? not sure how the system handles the profile pics

frosty bronze
#

it’s mongo so LULE

stark granite
#

would be awesome if you could just remove your 7tv profile pic from the database or deactivate it

paper token
rotund pivot
#

back when you couldn’t remove emote sets ayyybuLULE

paper token
pulsar iris
#

Delete button phobia

primal nest
#

yo, does anyone know, if you can implement 7tv in a chat iframe from twitch?

humble rose
#

pretty sure extensions don't have access to framed content for security reasons in chromium-based browsers

patent wing
#

they can but 7tv doesnt

high scarab
#

hi guys

strange owl
#

Hello

strange owl
strange owl
#

note; I added a highlight to the currently selected message

south flare
#

like if u send a message, reply to it

#

someone else replies

#

and then u reply to that reply

#

does it reply to the message u selected or the OG message in the thread

strange owl
#

it should reply to the replied message

south flare
#

i see

#

oka

strange owl
#

this is what it looks like on native

#

(the video in the pr)

#

the third reply replies to the second message (first reply of the thread) and the last one replies to the reply of the first reply (or the previously "last" reply)

south flare
strange owl
# south flare

are you able to test it on two accounts? I don't think we're actually meant to reply to our own message

south flare
#

i can reply to my own message on chatterino

solemn widget
#

i dont see why it shouldn't be allowed

south flare
strange owl
#

yeah that's why I assumed it should've worked as expected..

#

hmm

strange owl
# south flare

I'm not sure what's happening, I can't seem to replicate it either

south flare
#

idk

#

maybe its a bug on my acc

strange owl
#

perhaps. it is quite weird though

strange owl
south flare
#

this seems very hacky

#

but that would be inline with how the entire extension is currently built

strange owl
#

I agree, there were some other approaches I had tried but ultimately landed on this

strange owl
south flare
#

oh

#

okay well then ill leave it i was gonna just merge it

#

cause this extension is being rewritten anyways

strange owl
#

yeah it should be a better approach

strange owl
strange owl
round wind
#

Will the Rust rewrite also implement missing stuff in the event api? Because I think the Identify payload never got implemented scrajj

#

Although that would probably first require a proper official way to get an oauth token

south flare
#

the rust rewrite will add no functionality to the current api / eventapi versions

#

we will make a new api + new event api

#

ill post some stuff abt it

#

so we can see what people want

#

and write the apis for that

paper plover
strange owl
paper plover
# strange owl https://github.com/SevenTV/Extension/pull/1010

Something im concerned about this is that the user need to click on the chatbox (or in my case specificly, the Chat Identity button) to trigger the watchEffect in order to have the 7tv emote button appear, otherwise it wont appear on page load

strange owl
paper plover
#

Fyi am on chrome

strange owl
paper plover
#

eShrug i guess we can have the on the production build and check for more feedback

strange owl
#

I have found another issue, but I'm not sure if it's related to this

paper plover
#

what is it?

strange owl
#

If one enters a channel, then navigates to the homepage and then back to that same channel, it will also not inject

#

but that's related to the way it detects what channel you're currently on

#

(and it never being reset, even after leaving the channel)

paper plover
#

i have a console.log to check when the watchEffect triggered

strange owl
paper plover
strange owl
#

right, was this not an issue before this?

paper plover
#

not sure
havent used much kick

frosty bronze
#

kick integration was limited at best

strange owl
#

true

naive depot
strange owl
south flare
paper plover
strange owl
south flare
#

link me ill look

strange owl
paper plover
south flare
#

its deploying

paper plover
strange owl
#

@south flare ^ I seemed to have a missed a route, am I able to create a PR without changelog? (you'll probably have to add the label)

south flare
#

sure

strange owl
strange owl
# south flare sure

it should be ready to go, I did it asap 'cause xqc was complaining apparently

paper token
iron steeple
iron steeple
patent wing
#

not currently, but you can use the internal gql api if you really want to. it is planned for it to be rewritten so there is no guarantee how long that will work for.

patent wing
#

no since its internal, there might be some open source things which use it idk. just gotta go around inspecting with dev tools

steady copper
#

hey all, I am a developer and would like to develop a plugin to support 7tv in runelite/old school runescape. I am wondering if it is public domain/free use to use any emote set api endpoint?

#

hopefully the right channel to ask

rotund pivot
#

ayyybuPog osrs

steady copper
#

so is that a yes? :p

rotund pivot
#

yes

steady copper
#

cool thanks. The only record I have found of someone else trying to develop a runelite plugin for twitch emotes is this issue https://github.com/runelite/runelite/issues/10821
that was closed claiming you needs rights to use the emotes. I think that was specifically through twitch directly, and BTTV only has this api publicly available from what I could find
https://api.betterttv.net/3/cached/emotes/global which does not have a ton of options haha.

GitHub

Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] I don't know anyone personally wh...

strange owl
#

@south flare is it normal behavior for the event api to not always dispatch an emote_set.update after an emote_set.create for non-empty personal emote sets? (see #1213877378326208603 message). I've been trying to look into an issue an it appears like it may be one of the reasons it doesn't work as expected

Discord

Discord is the easiest way to communicate over voice, video, and text. Chat, hang out, and stay close with your friends and communities.

south flare
#

Please elaborate?

#

what is the current behavior vs what u think it should be

#

i dont know how the events are actually dispatched so u likely know more than me when it comes to how it happens. i didnt write that code so i dont know what conditions events are dispatched under but ill weigh on if its correct or not.

#

What i have written is the actual event api which handles the eventual fan out, not the dispatcher.

#

but i am busy in the process of redoing this entire system so if u think somehting is wrong with the way it currently works ill be happy to fix it

strange owl
#

So what's currently happening with the extension is subscribes to emote_set.* and it sometimes (hence the user reloading 5 times) only dispatches emote_set.create which overrides the existing entry (in the indexed db). It then ends up with an entry containing no emotes, since that is to be updated by the additional dispatch (emote_set.update). Since the last dispatch may or may not be executed, it either ends up with an empty emote set or not. I'd expect either that, emote_set.create never is dispatched to the user (and thus the client ends up using a local copy of the set or none) or both to be dispatched.

#

I'm not sure if it works any different with personal emotes since I don't have access to those but I'm sure they work similarly

strange owl
south flare
#

why does emote_set.create ever get emitted

#

surely that is for when emote sets are created

#

not when someone subs to them

#

i always assumed it worked like this.

When you fetch a channel, it has an emote set and then u query the api for that emote set and then subscribe to updates.
so you would only get emote_set.update events.

strange owl
#

right, this is specifically for personal emote sets

south flare
strange owl
#

I'm not actually sure if that's normal behavior

south flare
#

oh, does the api emite emote_set.create for personal emote sets whenever someone times

#

and then its deduplicated by the event cacher

#

hmmm

#

i understand

#

i know whats going on now

strange owl
#

I don't actually have access to a personal emote set (only the NNYS one or whatever) but yeah

south flare
#

does emote_set create not emit emotes?

strange owl
#

emote_set.create only contains general set info (not the emotes themselves)

#

it's meant to be populated by the other emit

south flare
#

who the fuck here has a personal emote set

#

i want to see this in postman

#
wss://events.7tv.io/v3@entitlement.*<id=121903137;platform=TWITCH;ctx=channel>,cosmetic.*<id=121903137;platform=TWITCH;ctx=channel>,emote_set.*<id=121903137;platform=TWITCH;ctx=channel>,emote.*<id=121903137;platform=TWITCH;ctx=channel>
#

is this what i need to sub to to see personal emote set events in my chat?

strange owl
#

that should be correct I think

south flare
#

this system sucks fucking big cock, ill redo it in a v4 update to get rid of all this stupid bullshit

strange owl
#

yeah.. it's not great

south flare
#

<@&817085632378699878> who here uses the personal emote stuff

#

can someone type in my chat

#

i see

#

ok thats like insanely low iq

#

tldr what is happening is that we use an LRU cache.

The create event is being pushed out of the LRU and the update hasnt yet.

Therefore sometimes its possible to recieve a create event without an update because the update is still cached.

This didnt happen on the old event api because the old event api "leaked memory" in that the map would grow unconstrainedly and never uncached values. that for obvious reasons is really really retarded. so i opted not to do that.

#

I think the only way to fix this is to patch the extension to handle emote_set.create when there is an existing entry

#

to not do anything.

strange owl
#

I see..

south flare
#

fixing this in the event api isnt really feasible without using too much memory.

strange owl
#

I think it's fine to leave it as is, as it's not that big of a deal currently

south flare
#

its so insanely stupid that he split the update / create events.

strange owl
#

agreed lol

south flare
#

update should be for modifications, create should be for create

#

create should have the full payload

#

update should contain diffs only.

strange owl
#

exactly, at least we (hopefully) won't have to work with this much longer

south flare
#

the future event api will contain much less data

#
{
    "d": {
        "type": "cosmetic.create",
        "body": {
            "id": "62f98438e46eb00e438a6972",
            "kind": 10,
            "contextual": true,
            "actor": {
                "id": "603add00d1cf6b302cc0e28e",
                "type": "SYSTEM",
                "username": "*system",
                "display_name": "*System",
                "avatar_url": "",
                "style": {
                    "color": 0,
                    "paint_id": null,
                    "badge_id": null,
                    "paint": null,
                    "badge": null
                },
                "roles": [],
                "connections": []
            },
            "object": {
                "data": {
                    "host": {
                        "files": [
                            {
                                "format": "WEBP",
                                "height": 18,
                                "name": "1x",
                                "static_name": "",
                                "width": 18
                            },
                            {
                                "format": "WEBP",
                                "height": 36,
                                "name": "2x",
                                "static_name": "",
                                "width": 36
                            },
                            {
                                "format": "WEBP",
                                "height": 72,
                                "name": "3x",
                                "static_name": "",
                                "width": 72
                            }
                        ],
                        "url": "//cdn.7tv.app/badge/62f98438e46eb00e438a6972"
                    },
                    "id": "62f98438e46eb00e438a6972",
                    "name": "Moderator",
                    "tag": "mod",
                    "tooltip": "7TV Moderator"
                },
                "id": "62f98438e46eb00e438a6972",
                "kind": "BADGE"
            }
        }
    },
    "op": 0,
    "t": 1709774352547,
    "s": 6
}
#

like jesus christ

next tundra
strange owl
#

I did notice the unnecessary amount of data while figuring all this stuff out lol

south flare
#

also all ids will change

#

to be ULIDs one extra chracter, but the api will accept object ids as input and return correct results, but results will always be ULID

strange owl
#

neat, that sounds great

cursive saffron
frosty bronze
#

something is causing the page to jump down with 7tv extension

strange owl
frosty bronze
#

oh Danki so just twitch things?

strange owl
#

perhaps.. what page is this happening on?

frosty bronze
#

any live stream

#

but yes you're right it seems to be just twitch itself

#

it's almost scrolling to the goals section

#

that's probably what it is tbh

strange owl
#

hmm.. interesting

frosty bronze
#

channels that don't have goals listed doesn't seem to be affected

strange owl
#

then I’d say it’s safe to assume it’s on their end

hidden flax
#

what should I do make 7tv extension builded locally work? I use chrome, I see that its trying to connect to localhost on different ports (which configured in .env.dev) but vite server is working on port 4777
should I just replace dev envs with values from .env.production?

#

I replaced values in the .env.dev and it helped

frosty bronze
trail drift
#

is there a way so i can put more headers so the api will send me just the cdn?

steady copper
# rotund pivot https://7tv.io/docs

I have a follow up for this. since emotes like Pog are probably copyrighter under Twitch TOS, is it the case that using the 7tv API to import the emotes to a runelite plugin do not infringe the copyright policy?

south flare
#

The message u replied to goes to the api docs embed

steady copper
#

basically any of the emote-sets

south flare
#

Uhh

#

No why the fuck would that infringe on twitchs copyrights?

steady copper
#

because the RuneLight head devs that would approve my plugin are claiming it would fall under distributing copyright information and they don't wanna touch it with a 20 ft pole

south flare
#

They are stupid there is no copyright infringement against Twitch's emotes and they have no idea how copyright law works.

#

Firstly we do not allow re-upload of twitch globals or twitch emotes in general. When the re-upload has no changes and is 1:1

#

We do allow for fair use and transformative uploads. Where they change something on the emote to make it different.

#

However this is not our problem and we do not care about runelite devs in the slightest.

#

If they want to deny developers developing stuff for their application with some bullshit about copyright that's their prerogative.

steady copper
#

yeah fair enough, I just didn't have much ammunition to rebuttal - because I am also stupid and have no idea how copyright laws work. I'll send them the bit about not allowing 1:1 reupload, but unfortunately it's probably already dead in the water.
I appreciate you taking the time to provide some input

#

rebuttal?

south flare
#

the conclusion with felanbird

steady copper
#

yeah that was my case. I just put some disclaimer in the plugin pointing to 7tv TOS and saying I don't support uploading copyrighted emotes blah blah.
But whatever, thanks again for taking time out of your day. woulda been a cool plugin for the osrs community but the overlords do not agree

pearl ore
#

The profile search on 7tv is not clearly available. Imo we should make it available on the home page or just make it prominent, idk. A lot of people to this day still don't know 7tv has profile search

vagrant lion
#

Copesen better search in new site

rotund pivot
#

hesBB global search

paper plover
rigid smelt
#

i guess it's just sheepiness basically. no offense. collaboration is hard

south flare
#

Like if I submit a plugin with copyright material and they allow it to be used in game. They might be on the hook for the copyright infringement

#

Because of their lack of a proper terms of service

solemn widget
#

isn't the company for old school runescape like extremely strict and weird about what clients are allowed to do and what they're not allowed to do

paper token
south flare
#

I'm not sure if entirely true, I just suspect it might be

solemn widget
#

i guess this is an issue with centralised plugin systems

south flare
#

Because if they actually care abt this so much, when they shouldn't even be liable.

solemn widget
#

everything is bottlenecked

south flare
#

For example we aren't liable for emotes uploaded to 7tv.

#

If someone uploaded a copyright emote and we get sued we aren't liable, it's the uploader

rigid smelt
#

they've done back and forth strict and loose and now currently runelite is one of the only non-bannable clients. this is why you cannot use your own plugins and have to receive approval through their GH bureaucracy.
there is an unofficial fork of the client that allows plugins to load from anywhere. it became bannable to use it, eventually- which was arguably justified if only not a great solution to the problems (cheating) they sought to address.

#

i'm sure they get some cash under the table from Jagex or something

#

Laws are not meant to be like gotcha tricky bullshit. Copyright exists in the context of financial damages. Like, it's a way of protecting creators from suffering loss due to someone using the stolen thing instead of the original.
So with that in mind, it's really hard to imagine a sound argument that Amazon would suffer financial damage because... players could use their font in some game instead of on their website.
It sounds like psycho babble out loud- but people are scared of laws and legal leeches

#

and everyone clicking to death in Runescape has brain atrophy probably idk

rigid smelt
south flare
#

we dont allow twitch globals on 7tv

#

& if twitch does not like an emote being displayed we have a working relationship with them

#

and they just ask us

#

and we will comply

rigid smelt
#

oh im not disagreeing i'm js- there isn't even any user content in that particular PR IIRC. Like, the repo member just gave up because they worried it wasn't allowed after someone asked on their discord(?). like, why would Twitch have an API and and endpoint for emotes at all if they weren't meant to be used externally ResidentSleeper
like you said, if they had any issue with it… then they could easily revoke the API key worst case scenario

#

there is a twitch plugin for runelite, but there are no emotes whatsoever bc of that

gray sandal
#

I thinking about making my own chatbox overlay because the existing one doesnt fit my needs. Is there any offical guide on how to add 7tv support to the chat? I found the api docs but atm I don't know how I could use the api to make it work

steady copper
#

yeah I don't even understand the copyright liability through Runelite, considering 7TV would be the source so a properly constructed ToS for Runelite would put the liability on me, the developer or 7Tv. I think this truly sums up their decision, and the copyright excuse was just a way to rationalize it

#

WoW has a twitch emote add-on and there is absolutely no issue there

solemn widget
#

lol

#

ok i think that person just doesnt want emotes

rigid smelt
#

weewoo emote hater detected weewoo

#

despite their trigger response being probably one of the rudest i've ever seen on github, (i think you guys riled this dude up... a little NotLikePsyDuck ) i tried my very best to thoroughly and gently explain their mistake. i'm done

rigid smelt
# steady copper yeah I don't even understand the copyright liability through Runelite, consideri...

(despite having no stake in runescape whatsoever) i am bothered a lot by it and think it's extra shitty because unlike OSS in general (or how someone put it earlier "decentralized plugins")- if this project refuses something, you can't just fork and make something better anymore because the game developers solely license third-party client privilege to this project. so, IMO the usual attitude of "maintainer's (unpaid) freedom of choice" is superseded by community obligation. the community has no choice beyond their "plugins" or no mods at all.

solemn widget
#

i hope this ends up getting into the github drama repo

steady copper
# rigid smelt (despite having no stake in runescape whatsoever) i am bothered a lot by it and ...

Yeah, I came in to this enthusiastic to provide a plugin to a demographic that would very much enjoy a way to send emotes in game chat. It’s incredibly out of touch for them to imply it would “dilute game chat with garbage emotes” considering it’s a choice whether or not the plugin is installed to display them. Like you pointed out, the only history that exists was a denied PR with a vague comment history that it ‘might’ be a copy right issue to deploy and maintain a repo containing actual copyrighted assets. Maybe my approach was inappropriate, but I feel I provided a sound enough argument/solution in response to that PR as to why a plugin could exist to simply access public API that can contain emotes and anyone with eyes to read could discern is not a direct copyright infringement.
But at the end of the day it’s not that deep, and no one in this community had to go to bat for me so I at least appreciate the time taken away for that; it was validating that the response was pretty unjust. Part of me wants to bring this to the larger OSRS community (at least Reddit) to get their thoughts. But that could either be met with support or “who cares”.. lol

rigid smelt
#

the project owner replied (and reopened my issue) and said that since an API is available they will reconsider allowing [some] plugin for at least global emotes successkid :

maybe 7tv could be toggled on from an off default in the future, then. though not without persuasion and creative implementation. cheers and good luck @steady copper

south flare
#

step 1. make a popular plugin for opensource osrs client runelite
step 2. use copyrighted material in the plugin and dont let the mods know
step 3. sue runelite for copyright infringement
step 4. Tomfoolery

paper token
#

because it has to be YOUR content

#

not just any copyrighted content (If you want to actually make money)

paper plover
#

Step 1) Make a Nintendo related plugin
Step 2) Narc it to Nintendo

low yoke
#

hello, whats the way to get a static image of a gif with direct link?

#

before it used to work with the "1x_static.png" line at the end everytime, 100% of the time, now the api takes randomly like 10 seconds to process the request

#

it does work, but seems so random when it works and when it doesnt

#

its crazy, it takes so much time to load the png version lol FeelsDonkMan

strange owl
south flare
#

looks good and works

#

thanks

strange owl
#

neat

jolly vortex
low yoke
jolly vortex
low yoke
#

cant be bother, i extensively research this bug and i mentally give up trying

#

i just dont care about putting gifs in the game

#

not worth the effort

trail drift
#

these are files right?

#

it just looks like an object to me with meta deta without the file

#

Hmm lets say i had the file named 4x.webp as a variable, would that be the file?

#

or do i just do
fetch(emoteUrl)
.then(response => response.blob())
.then(blob => {
})
.catch(error => console.error('Error fetching the image:', error));

#

oh do server side

trail drift
#

ReallyMad I need a domain name and company to get a web certificate

#

sadE help

drifting quarry
#

the cdn should probably enable CORS peepoDank

drifting quarry
#

just set the img src and you won't need cors for that

trail drift
#

i need the file

#

cause im trying to make a 7tv to discord thing

drifting quarry
#

you'd have to proxy that if you need it client-side

#

or kindly ask troy to enable cors LULE

trail drift
#

But I was testing it out on client to see if I can get the file

drifting quarry
#

then test it in a node environment next time

trail drift
#

Uh

#

If I do server side should it work?

drifting quarry
#

yes

trail drift
#

Why doesn’t client work tho

drifting quarry
#

the CORS policy is only applied to web browser clients

#

it's a security thing

trail drift
#

Doesn’t that mean I need a web certificate?

#

Or does that not matter if I do server side

drifting quarry
#

why would you need a web certificate if you're doing a discord bot

trail drift
#

It’s not a discord bot

#

A website cause I like websites

drifting quarry
#

you need a web certificate if you want ssl

#

cloudflare gives you one for free

trail drift
drifting quarry
#

no

trail drift
#

Ok thanks

drifting quarry
#

you should be able to contact your api with plain http

#

then it can do whatever request you want server-side and respond to the client

trail drift
#

I can, I thought the reason why I couldn’t get the file is cause of I was on http

paper plover
south flare
#

why do u need cors?

#

i can enable it for all endpoints if u want

lucid osprey
south flare
#

@strange owl is there some experiment which bugs chat

#

only shows 1 message

#

also i think the issue was no fixed with ur patch

#

it worked initially but no longer works

strange owl
strange owl
south flare
#

maybe

#

im not sure

strange owl
#

okay, I'll look into it

south flare
#

thanks

strange owl
# south flare thanks

Okay, so I was able to replicate similar (if not the same) behavior. However, I'm not sure if the extension has any impact on the chat's behavior.. It seems like the chat breaks whenever 7TV fails to load in. This only happens when FFZ is also enabled (and perhaps expecting 7TV to load?).

#

I must say, I haven't looked at FFZ yet

strange owl
paper plover
#

what ffz settings you have on

strange owl
paper plover
#

cant seem to reproduce that issue consistently

paper plover
# south flare

also from troy's video
is it just an ffz thing or twitch thing?
7tv is not enabled there

strange owl
strange owl
#

I must add, FFZ did load in the 7TV profile

hidden flax
#

who does PR review for browser extension? my PR is just one new line Concerned

#

if it is merged, how long until it will be released in the stable version of the chrome extension?

paper plover
#

Perhaps ping troy with the pr

trail drift
surreal moon
#

7tv site wont load and chrome extensions not working

#

cleared twitch cache in develeper mode too

jolly vortex
surreal moon
jolly vortex
#

why did u say it here tho

surreal moon
#

just the wrong place my b

paper plover
hasty latch
#

Hello all is it normal the https://7tv.io/v3/emotes endpoint just doesn’t seem to work ?

https://7tv.io/v3/emotes?query=xdd just returns a single blank emote data:


[{"id":"","name":"","owner":null,"visibility":0,"visibility_simple":null,"mime":"","status":0,"tags":null,"width":null,"height":null,"urls":null}]
#

If i understood correctly the v3 is in active dev, is there a working endpoint exposed somewhere ?

solemn widget
#

the current rest api for 7tv is broken

#

if you're trying to search for emotes you can use the gql endpoint that's also used by the website

#

aka

#
query SearchEmotes($query: String!, $page: Int, $sort: Sort, $limit: Int, $filter: EmoteSearchFilter) {
  emotes(query: $query, page: $page, sort: $sort, limit: $limit, filter: $filter) {
    count
    items {
      id
      name
      state
      trending
      owner {
        id
        username
        display_name
        style {
          color
          paint_id
          __typename
        }
        __typename
      }
      flags
      host {
        url
        files {
          name
          format
          width
          height
          __typename
        }
        __typename
      }
      __typename
    }
    __typename
  }
}
#

and

{
  "filter": {
    "animated": false,
    "aspect_ratio": "",
    "case_sensitive": false,
    "category": "TOP",
    "exact_match": false,
    "ignore_tags": false,
    "zero_width": false
  },
  "limit": 32,
  "page": 1,
  "query": "asd",
  "sort": {
    "order": "DESCENDING",
    "value": "popularity"
  }
}
#

for the variables

hasty latch
#

oh alright thanks a lot, is this endpoint bound to evolve heavily or is it stable enough to be used in a project ? Also what is the URL ?

solemn widget
#

i think

solemn widget
hasty latch
#

alright thanks a lot ! (very cute cat you have there)

solemn widget
#

thanks, its not my cat

jolly vortex
jolly vortex
patent wing
#

Hmm maybe

strange owl
cursive saffron
#

But I don't know if they are accepting new changes in the extension

strange owl
#

I did have some of my previous fixes merged, but you're right

zinc plover
strange owl
paper plover
#

is the eventapi still using the old one or the new one in the monorepo?