#dev-chat

1 messages · Page 14 of 1

severe shell
#

The latest subscriber reads what is set in Labels tab here:
https://streamelements.com/dashboard/session

If there isn't any name in there and you already reset, it should appear next time you have a new subscriber (and the user who subscribed has their subscriptions set to public, as Rain informed).

hard marten
#

@severe shell I see but there was no name mentioned even at the first time when I connected the account.
When it did not appear for the first time, I tried resetting the the session data.

severe shell
#

What is your @ on youtube? My subscription is public, I can subscribe to your channel and you can check it

severe shell
#

Just the @

hard marten
#

@severe shell its @Raymatify

severe shell
hard marten
#

@severe shell checking

#

@severe shell No it isnt, it is empty

#

See the latest subscriber widget

severe shell
# hard marten <@282327953864523776> No it isnt, it is empty

Ok, we are mixing things here... Youtube doesn't have "follower", so probably you are using a Twitch widget. In that case, it won't work correctly. You need to check with the person who created that widget to confirm it is compatible with Youtube.

#

Subscriber on Twitch and subscriber on Youtube are different things

hard marten
#

I can see it now, just received your name and subscribe sound. @severe shell

hard marten
#

Also, I dont see YT chat coming up in my chat box, twitch chat is working fine but not YT.

hard marten
severe shell
uneven oxideBOT
hard marten
severe shell
hard marten
#

So is there anyone whom can I connect to check if there are any sponsorships available for my region? @severe shell

uneven oxideBOT
#

To open a support ticket, type !ticket followed by a short subject (under 60 characters). Example: !ticket My chatbot isn't working. Then follow the bot's steps.

hard marten
#

I see, thank you so much @severe shell , you have been a great help. 🙂

whole sparrow
#

i hope you can help me dev team 🙏 thank u in advance! ive created a ticket already

true bay
#

Hey there! Is there any way to check up on the status of an OAuth access request?

severe shell
uneven oxideBOT
#

To open a support ticket, type !ticket followed by a short subject (under 60 characters). Example: !ticket My chatbot isn't working. Then follow the bot's steps.

rotund oasis
#

just letting y'all know that when doing PUT v2/store/:channel/items/:itemId when :itemId is not valid instead of a 404 it returns a 500. I discovered it was because the :itemId was just wrong but a 404 would be more helpful.

severe shell
violet hearth
#

help me , how to fix my problem

severe shell
violet hearth
#

ok thanks

gaunt laurel
#

Hello i need help with streamelements chat and it wont allow me for some reason as it says ''Messages fade after {{vm.widget.variables.delay}} seconds'' i tried logging out and logging back in but it doesnt work at all.

severe shell
gaunt laurel
#

I have tried to do this but for some reason it still wont work for me.

severe shell
gaunt laurel
#

It is a native StreamElements widget.

severe shell
gaunt laurel
#

all i see is this

#

ive made many different overlays and all i see is that even using i different website

#

i am not sure what to do now

severe shell
# gaunt laurel i am not sure what to do now

There are just few things you can do:

  • Clear the browser cache and try again
  • Open the page using a private tab
  • Open it on different browsers

The other option is opening it using a different computer

gaunt laurel
#

oh okay let me try

gaunt laurel
#

So i have tried of what you told me and i also did use a different device but nothing changes. Its the same to me.

severe shell
uneven oxideBOT
#

@gaunt laurel ⤵️

To open a support ticket, type !ticket followed by a short subject (under 60 characters). Example: !ticket My chatbot isn't working. Then follow the bot's steps.

topaz mica
#

Is anyone having any issues with the websocket channel.chat.message specifically not getting events from kick.

The multichat in SE.Live works fine but the websocket isnt picking anything up?

severe shell
topaz mica
#

yeah got both the "welcome to the shungite mines" LUL and the successfully subscribed to topic.

Youtube and twitch send perfectly fine ThinkW

severe shell
topaz mica
severe shell
uneven oxideBOT
severe shell
#

For your Kick account, I mean

topaz mica
#

yeah same username but here is the account id 687ff64a3b03cd3ec109b00d

I take it the SE.Live Multi chat also uses the websocket so was just confused as to why the Multi chat is working and i couldnt get it to work LUL

severe shell
topaz mica
#

I can see that the event has passed to the multichat websocket fine

severe shell
#
{
  "type":"subscribe",
  "nonce":"1736596309572-11",
  "data":{
    "topic":"channel.chat.message",
    "token":"YOUR_TOKEN",
    "token_type":"YOUR_TOKEN_TYPE",
    "room":"687ff64a3b03cd3ec109b00d"
    }
}
topaz mica
#

yeah same thing

#

oh wait a seccond

#

ahhhh ok, my dumb ass forgot to change the room so i subscribed to youtube twice

topaz mica
quasi zenith
#

heyy so i need help with something that requires a bit more than my skill can do lol
i want to do these types of responsive chats, i believe it might need JS knowledge and i know little of it

#

im just a frontend designer atp</3

#

btw i have read articles related to streamelements chat js but it has so many variables i am afraid to mess it up when adding another solely for what i am doing

potent halo
#

Let's see if I can make an example video

#

Wow didn't get deleted. The bot seems merciful today :D

severe shell
potent halo
#

Uhh nice

young monolith
#

Are there any known issues with Tiltify / SE and custom widgets? Trying to make one that watches for a particular Tiltify item by name, but I'm not seeing the event fire for the actual Tiltify purchase (via the onEventReceived event listener). Emulation is working, but I want to see the actual live event data and see how it passes through a quantity value for the purchased item.

proud stirrup
#

Hi Guys, Im totally new to node.js. My friend build an script that can print my twitch/tiktok alerts on my thermal printer. Twitch alerts were kinda broken en wanted to add YouTube but he doenst have time atm to help. Im trying it by myself for the whole day now but im stuck at some point. I got succesfully connected the websocket for the alerts but the problem is that its not printing. Ive tried a lot, on the other script its still working fine but i can get it to work with the new script. Anyone out here for help?

severe shell
proud stirrup
#

Got it all sorted out and working now, the problem that i got now it that it loses connection after +- 30 seconds, builded someting around it so it will automaticly reconnect after 5 seconds. Any other way to tacle it? https://pastebin.com/awiKAT3y

severe shell
vagrant creek
#

Any idea why my kick and se wasn’t syncing this morning? My activity feed and alerts weren’t working I unmodded and removed. Removed stream elements and re added. And logged out in back in but still wasn’t working

proud stirrup
proud stirrup
granite robin
#

Hello! I want to create an overlay for !first, !second and !third commands, to show it on OBS, for my twitch channel. Somehow it won't work. The widget doesn't get the username nor updates it. Could someone help please? Maybe there's something wrong with the codes. I'm not a developer and asked Google Gemini to help create it. I'll put the codes bellow:

JS:
console.log("Widget carregado!");
let winners = [];

window.addEventListener('onEventReceived', function(obj) {
const data = obj.detail.event;
// Veja o que está sendo recebido para debug
// console.log(data);

if (data.renderedText && data.renderedText.trim().toLowerCase() === '!first') {
let username = data.displayName | | data.nick;
if (winners.length < 3 && username && !winners.includes(username)) {
winners.push(username);
updatePodium();
}
}
});

severe shell
# granite robin Hello! I want to create an overlay for !first, !second and !third commands, to s...

In your code, you aren't just checking for chat messages, but everything that comes in onEventReceived. You should ignore the other types.
Also, your username should be data.data.displayName || data.data.nick

window.addEventListener('onEventReceived', function(obj) {
  // Ignore o que não for mensagem no chat
  if(obj.detail.listener !== "message") return;

  const data = obj.detail.event;
  // Veja o que está sendo recebido para debug
  // console.log(data);

  if (data.renderedText && data.renderedText.trim().toLowerCase() === '!first') {
    let username = data.data.displayName || data.data.nick;
    if (winners.length < 3 && username && !winners.includes(username)) {
      winners.push(username);
      updatePodium();
    }
  }
});

You can see here how obj looks like for a chat message:
https://c4ldas.github.io/streamelements-api/eventreceived.html#chat-message-without-reply

granite robin
tawny eagle
#

I'm trying to help a friend create a custom chat widget that integrates both Twitch and YT

When testing on my end with my own personal JWT token, all the data is being sent to my browser correctly (which I plan to use as a browser source in OBS later)
However, when testing with their JWT token, no data is being transmitted
Just wondering if this is expected behavior because I need to be authenticated into the account?

To correct the original question, I'm getting data from the server in terms of the response from the subscription
message: 'successfully subscribed to topic'
But I'm not getting any messages even if I type in their chat on Twitch etc

#

@proud spade Any ideas on why using someone elses JWT token wouldn't work though? I saw another message that they would need to log out / log back into SE?

severe shell
#

Based on the messagesuccessfully subscribed to topic, I believe you're using Realtime socket.io or Astro websockets, right? Are you using the correct account id when changing the JWT?
Please give some more details or some piece of code so we can try to understand what you're trying to do

tawny eagle
#

I'm using Astro websockets, yes, I want to poll for chat messages ideally

#

But as for the correct account ID, not sure, sorry I didn't see that in the documentation 👀

#

Do I need to format the JWT?

severe shell
tawny eagle
#
websocket.addEventListener('open', (event) => {
    console.log('Connected to StreamElements Astro!');
    // Subscribe to a topic
    const subscribeMessage = {
        type: 'subscribe',
        nonce: crypto.randomUUID(),
        data: {
            topic: 'channel.chat.message',
            token: SE_JWT_TOKEN,
            token_type: 'jwt'
        }
    };
    websocket.send(JSON.stringify(subscribeMessage));
});
#

I think its the generic code snippet they provide in the document, I don't provide a roomID

#

Using the roomID provided in the response from the server doesn't fix the problem sadly pien

severe shell
tawny eagle
#

Yep

#

I plan on testing with their JWT so when I send over the widget they can run it as a local file 👍

severe shell
#

Hmm, check if your friend's token is from the expected platform. For example, if they provided the Youtube JWT, it won't show Twitch messages

tawny eagle
#

I did suspect the connection might have closed:

// Listen for messages
websocket.addEventListener('message', (event) => {
    const message = JSON.parse(event.data);
    console.log('Message from server: ', message);
    if (message.type === "message") {
        if (message.data.broadcaster_user_id) {
            handleChatMessage(message.data);
        } else {
            handleChatMessage(message.data, 'YouTube');
        }
    } else if (message.error === 'rate_limit_exceeded') {
        console.log('Rate limit exceeded, backing off!');
        setTimeout(() => {
            // Retry subscription
        }, 5000);
    }
});

websocket.addEventListener('error', (event) => {
    console.error('WebSocket error:', event);
});

websocket.addEventListener('close', (event) => {
    console.log('Connection closed:', event.code, event.reason);
});

So I included it

severe shell
#

You can check their token in jwt.io, for example

tawny eagle
#

So maybe this is what caused the problem 🫠

#

For example, you could see Twitch and YT listed in the channels but they could only get a JWT from YouTube

severe shell
tawny eagle
#

On the other hand I did try testing a private YT livechat, but didn't get any messages there, maybe because it was unlisted?

severe shell
tawny eagle
#

Ok this is all starting to make sense

#

I just was gaslighting myself into thinking that the YT JWT was a combined token because the UI didn't have that option

#

Can I just send some pictures as to what I saw and we can go from there

#

Cause I just don't want to have to do back and forth between these different parties KEKWCry

#

One sec

severe shell
#

Sure, just make sure not to show any private info

#

(account id is public, by the way, don't need to hide it)

tawny eagle
#

This is my best possible recreation

#

So they had YT and Twitch linked to SE

#

But we could only see the JWT token on the bottom channel

#

That's why I assumed they were together

tawny eagle
severe shell
#

Yeah, that's normal, ask them to go to the top right part of the screen, click on the avatar and change the provider:

tawny eagle
#

Ah I see 🫠

#

Ok I think this is all making sense, I have enough information to do the rest 😭

severe shell
#

That will show the token for the other platform

tawny eagle
#

Thank you so much

severe shell
#

They are different

tawny eagle
#

I wish there was a video tutorial haha

#

Thank you so much!!

#

🫂

severe shell
versed marsh
#

Hope everyone is well , im having a problem connecting my tiktok account it say i dont have access to it but i do, i stream on tiktok studios, just wondering if there a step i need to take to be able to use tiktok

severe shell
young monolith
#

I've created a few SE overlays that I'd like to share / distribute. But as far as I know, there's no easy way to export them. It would be nice if there were - as a set of source files - that could be checked into Github. And it would be nice if SE had a way to import from a Github repo; and pie in the sky - if it were able to refresh / sync from the repo if it is later updated.

young monolith
#

Thanks -- I guess I'm proposing a feature... but maybe this is the wrong channel for that.

hardy walrus
#

Sharing for the legacy/overlay system is no longer possible outside of those with previously given permission.

#

Along with requesting that is.

severe shell
young monolith
#

Yeah... and very sad that the Overlays feature is considered legacy. I don't think it's possible to create things I'm making via Elements.

#

Is Elements going to be getting support for custom javascript/html?

severe shell
young monolith
#

I guess I was expecting a full editing UI on StreamElements for creating/managing it like there is for Overlays. When I click to "Edit", what is it supposed to do? I just get a panel that lets me Cancel / Save...

severe shell
# young monolith I guess I was expecting a full editing UI on StreamElements for creating/managin...

No, it doesn't work that way. You would need to create it locally, using VS Code or another IDE. It is a bit of a setup, I don't remember exactly, it's been some time since I tried Elements. But the documentation explains how to do that:
https://dev.streamelements.com/docs/widgets-elements-sdk/bult8ogswaeu2-setup-guide

Ignore the part about "local http server requirements", it is not needed anymore, according to the devs here: #elements-editor-widgets20 message

young monolith
young monolith
#

I guess this works, however it's a much more complicated process to make edits and push them to OBS. I've been working with a streamer on some overlays, and it's nice to be able to make edits within StreamElements, click save and he gets them immediately. With Elements, I think I have to make my changes, zip them up, upload them, then publish for them to reflect on his OBS.

granite robin
#

Hey guys! Is there any way to use conditions for Commands? I have a greeting command for when someone say hi, for exemple, using the commands keywords. But when I as streamer say hi to anyone on chat, my command activates too, and I wanted it to ignore me as Streamer. That's because I may say hi a few times when in the start screen.

hardy walrus
granite robin
median ravine
#

im 99% sure its possible through streamelements' api, in case you already have some chat widget using a streamelements overlay you could possibly integrate it

median ravine
#

(assuming @granite robin can code a bit since this is a dev channel, if not the og answer is the right one)

hardy walrus
#

I don't know as I'm not that BigBrain but the part where it parses the conditional part that's the problem.

#

And the part they'd need to work out outside of anything of SE.

craggy glen
#

Is there an endpoint to return top chatters for a date range? Like last week, month all time etc? the /stats returns all time. But I don't see a way of getting a portion of the data. I thought the username/category/item could be used, but seems no one knows how that endpoint works

severe shell
granite robin
#

hello, me again... Sorry to bother (and I'm not a developer, just curious creating widgets haha). About that same widget from before, I want now to change from command to redemption on twitch. The redemption names are First, Second, Third, but somehow the code won't work on update the HTML with the names. The console logs 🎁 Recompensa resgatada: first por oMarotto, with first being the reward, tho. Does anybody have a clue on what's wrong? Sage
`let winners = ["", "", ""];

// Pega os nomes das recompensas configuradas no painel do StreamElements
const f = SE_API?.settings?.fieldData || {};
const rewardFirst = f.rewardFirst?.trim().toLowerCase();
const rewardSecond = f.rewardSecond?.trim().toLowerCase();
const rewardThird = f.rewardThird?.trim().toLowerCase();

// Escuta os eventos de resgate de pontos
window.addEventListener("onEventReceived", function (obj) {
const event = obj.detail.event;

// Garante que é um evento de resgate de pontos
if (event.type !== "channelPointsRedemption") return;

const reward = event.data?.redemption?.trim().toLowerCase();
const username = event.data?.displayName || event.data?.username;

if (!reward || !username) return;

console.log(🎁 Recompensa resgatada: ${reward} por ${username});

// Atualiza o array winners com base na recompensa
if (reward === rewardFirst && !winners[0]) {
winners[0] = username;
} else if (reward === rewardSecond && !winners[1]) {
winners[1] = username;
} else if (reward === rewardThird && !winners[2]) {
winners[2] = username;
}

updatePodium(); // Atualiza o HTML
});

// Atualiza o HTML com os nomes do pódio
function updatePodium() {
document.getElementById("first").textContent = winners[0] || "—";
document.getElementById("second").textContent = winners[1] || "—";
document.getElementById("third").textContent = winners[2] || "—";
}`

granite robin
# granite robin hello, me again... Sorry to bother (and I'm not a developer, just curious creati...

I also have these fields for adjusting the redemption name:
{
"rewardFirst": {
"type": "text",
"label": "Nome da recompensa para 1º lugar",
"name": "rewardFirst",
"value": "First"
},
"rewardSecond": {
"type": "text",
"label": "Nome da recompensa para 2º lugar",
"name": "rewardSecond",
"value": "Second"
},
"rewardThird": {
"type": "text",
"label": "Nome da recompensa para 3º lugar",
"name": "rewardThird",
"value": "Third"
}
}

severe shell
# granite robin hello, me again... Sorry to bother (and I'm not a developer, just curious creati...

You should always check if your variables have any value before using them. A simple console.log() for each variable should point you to the error. For example, SE_API?.settings?.fieldData doesn't exist. Your f variable will be always {}. If you want to get the data from the left panel, you get them from onWidgetLoad listener:

let fieldData;

window.addEventListener("onWidgetLoad", function (obj) {
  fieldData = obj.detail.fieldData;
});

Then, you can use it

window.addEventListener("onEventReceived", function (obj) {
  // ...

  const rewardFirst = fieldData.rewardFirst?.trim().toLowerCase();
  const rewardSecond = fieldData.rewardSecond?.trim().toLowerCase();
  const rewardThird = fieldData.rewardThird?.trim().toLowerCase();

  // ...
}
granite robin
severe shell
granite robin
severe shell
muted glen
#

hello
I was create a chat overlay in streamelement, but its can't show in my stream. fyi I not pro on coding, i just use a chatgpt to create it.

muted glen
grim chasm
#

Does anyone know why multistream is not letting me log in to Kick?

#

I can log into Youtube and Twitch but not Kick

modern shore
#

well, Streamelements is not even letting me use an affiliate link cus "disable your adblocker" which im not even using <3

azure sky
#

Hello, would anyone know if it's possible to combine my event ticker and alerts from Twitch, Kick and YouTube together into one browser source? I have a custom ticker that also shows alerts and currently the only way to do that in SE is to have 3 separate browser sources. So basically how can I merge 3 types of alerts into one.

#

Also if anyone is a bit more knowledeable about these things. I bought and event ticker on etsy that also doubles as an alert. I have the html, css, js, fields and data text files and I was wondering if it's somehow possible to convert that to also work for youtube (its twitch only now)

median ravine
azure sky
median ravine
#

99% of the cases, its possible. do you have any coding knowledge?

exotic cape
#

Hi, not sure if I’m in the right place but I was just looking for a hand. I’m trying to use the multistream plugin for OBS but every time I try to log into my twitch/YouTube accounts, it just opens up blank browser tabs that don’t load anything.

winter herald
#

Good evening, for a day now, the Tiktok streaming tab has been showing that my account is suspended or banned and that the stream can't start.
Checking directly from Tiktok, I don't have any bans in my records, and my reputation seems excellent. I assume it's an SE issue. Can you help me?

severe shell
uneven oxideBOT
#

@winter herald ⤵️

To open a support ticket, type !ticket followed by a short subject (under 60 characters). Example: !ticket My chatbot isn't working. Then follow the bot's steps.

marble grail
#

this might be wishfull thinking but can yall pottentially implement tik tok live connector(https://github.com/zerodytrash/TikTok-Live-Connector) into your multichat dock, also personnally i would love if the dock was live count, alerts and chats all in one some kinda like this if possible

#

would be pretty sick

hardy walrus
#

Defo not gonna happen.

Unfortunately have to wait until they give us API access.

#

This is not an official API. It is a reverse engineering project. You are responsible for your usage of this library.

Yeah. Not worth it.

marble grail
#

i mean its the same shi tikfinity uses, ive been trying to make a app similar to it but that also connects twich and youtube i was able to get a very verry very rough web interface with tiktok working

#

and planned to make it a standaloen thing like tikfinity if i can ever figure it out lmao

dense wyvern
#

Is this where I ask for help if I am stuck with something using Streamelements on Twitch?

severe shell
uneven oxideBOT
#

@dense wyvern ⤵️

To open a support ticket, type !ticket followed by a short subject (under 60 characters). Example: !ticket My chatbot isn't working. Then follow the bot's steps.

dense wyvern
severe shell
dense wyvern
#

So I have a viwer who has a japanese user name but it has the English name in bracket.

#

I am trying to give that person a shoutout by using @ and tyoong their name but the command is shouting the current streamer on who'se chat I'm typing it.

#

Does it make sense? Am I able to explain the problem I am facing?

severe shell
#

Yes. You want to type!shoutout @tyoong and expect the bot to reply something on these lines Follow tyoong https://twitch.tv/tyoong, right?

dense wyvern
#

Yes

severe shell
# dense wyvern Yes

You can simply use the shoutout template for that. When you create a new command on the Chat commands dashboard, select shoutout on the template list.

#

And then you can set the command name and change the response the way you'd like

#

If you don't have access to the dashboard, this is the template:
Check out ${1}, they are playing ${game ${1}} at https://twitch.tv/${channel ${1}}

dense wyvern
#

I know I made the command 2 months ago

#

It does work with the names in English

#

But if I mention that person's name it shouts out a different streamer

#

I think its because Streamelements is not registering the Japanese letters

#

Is there a way to make it register the Japanese letters?

severe shell
#

Yeah, it will only work with Romanized characters (no Japanese, Korean, Chinese, etc., characters)

#

But how are you shouting him out on chat?

dense wyvern
#

I figured out what I was doing wrong

dense wyvern
#

I generally type !so @user

#

And it works

severe shell
#

it worked fine here on my side with the template Check out ${1}, they are playing ${game ${1}} at https://twitch.tv/${channel ${1}}

dense wyvern
#

So the person's name is ムメム536(mumem536)

#

I type !so @mumem536

#

And what it does is it mentions the person's name but the name is in Japanese letters so it does not work

#

I just removed @ and typed !so mumen536 and it worked because it did not mention the user so no Japanese letters to get confused with.

severe shell
#

Yeah, I got what you mean... Using the @ the response will get bugged and shoutout the person who ran the command instead... Unfortunately, that's not something we can fix

dense wyvern
#

I realised I just not have to used @ and tyoe their name if someone has a name in other languages and it will work fine.

#

Thank gou for the help.

#

Thank you*

severe shell
dense wyvern
#

I still have one little question in my mind

#

If someone with a name in foreign language appears in a stream does Twitch display their username in English in brackets beside their username like this ムメム536(mumem536)?

#

Or does it only happen if the person include that in their username by themselves?

severe shell
#

That name in parenthesis is automatically added

dense wyvern
#

Okay.

#

Thank you for answering the querry.

severe shell
#

I'm not sure if the user has the option to change that though

dense wyvern
#

We'll find out as we meet new people from different places.

#

I'll let you know here if I find out.

severe shell
#

Perfect! ❤️

gleaming parcel
#

Can anyone help me? I'm currently facing an issue integrating Kick into my custom overlay on StreamElements. I've tried logging the event received in the console, but nothing appears. The events for YouTube and Twitch work fine, but nothing is triggered for Kick.

gleaming parcel
severe shell
#

If you are open for some work, you can connect to Astro Websocket and have the raw chat message:
#dev-chat message

marble grail
# marble grail
poll_question_text

would you use this dock over other docks if it exsited?

victor_answer_votes

1

total_votes

1

victor_answer_id

1

victor_answer_text

Yea

muted glen
#

hello, I've built a chat widget like this one, but I'm having trouble sending native YouTube emojis. They appear as text. How can I fix this?

muted glen
muted glen
gleaming parcel
gleaming parcel
severe shell
obtuse isle
# muted glen btw, its still needs to be manually scraped from the console?

As someone who made that code. Its not possible to avoid the manual scrape... Not at the current moment... (mostly cause I moved on for the chat stuff into streamerbot and I do not feel like its worth my time looking into). At the start after I found the emotes I looked for this object and found out this object is just in the html script tag so I was thinking that I can just get from there by fetching the whole html of the popout and parsing it out to the it dynamically and call it a day but its updated somewhere on the fly in the embed code after website loads so its impossible to just "get" with all the emotes without doing it the current way. You would have to run some sort of puppeteer or something to just load the website, wait for it to load and do the shenanigans that add emotes to the object, get the stuff from the object and close the website. I would say not worth the effort. Emotes rarely change so this can be hard codded.

hexed stone
#

I'm sending the request from YT SE to my Twitch SE. While I'm getting 200 on the YT side, I'm not receiving any event on the Twitch side. What am I doing wrong?

#

it was working before from this message but it doesn't seem to be working anymore

severe shell
hexed stone
severe shell
# hexed stone Is there something I can use that doesn't expire?

Not directly with StreamElements.
But just to let you know, I wasn't sure if that was the issue, ok? I assumed that could be the problem, due to your explanation. But seeing the response screenshot, it seems that is not the case. You received status 200 from the request, which means it was successful.
You should check your code on your Twitch SE side to understand what is not working exactly.

hexed stone
#

I figured it out - I accidentally used the overlay widget ID instead of the channel id lol

severe shell
#

Yeah, it happens 😄

hallow pine
#

Hi, is there any programmatic way to get a list of channel members of my channel please

#

any workaround?

severe shell
jade lichen
#

we need a way to link sources not just scenes I duno if you guys ever used a map hider or anything when ur streaming but its super useful also the delay between linked scenes is way to long

velvet holly
#

Hey it's possible to call in custom css for subscriber count to Last 30 days subscribers? Becouse if i'm using same script from twitch for kick and it show only total (all time) and i'm wondering if i can call to the number in aggregates last 30 days subscribers?

severe shell
velvet holly
#

before it was suscriber-total in 23 line after changing to subscriber-month it still show number for all time

severe shell
# velvet holly before it was suscriber-total in 23 line after changing to subscriber-month it s...

Well, the variable is correct for subscriber-month
You can add on your onWidgetLoad event listener and check on browser console the values:

console.log("Current subscriber-month value:", obj["detail"]["session"]["data"]["subscriber-month"]["count"]);
console.log("CUrrent subscriber-total value:", obj["detail"]["session"]["data"]["subscriber-total"]["count"]);

Confirm if they match with the ones from Widget data screen.

velvet holly
#

alright i think i figure it out it's off by 2 subscirbers but i think it's becouse sometimes kick gifts counts with announced message like 5 gifts + 1 from announcment, i'll try to do alignment for that to reduce when reciving 2+ gifts to add -1

#

Issue was i was doing on my overlay and it was wrong with something on client one works good, how idk

zenith parrot
#

Hello guys,

I have requested access to the API to integrate my Interaction platform for creators and have not yet been granted access. Can an admin help me?

severe shell
uneven oxideBOT
#

@zenith parrot ⤵️

To open a support ticket, in #community-helpdesk type !ticket followed by a short subject (under 60 characters). Example: !ticket My chatbot isn't working. Then follow the bot's steps.

grizzled rock
#

Hey there!
I'm trying to use the /kappa/v2/bot/quotes/{channel} Endpoint to let my custom bot send random quotes when someone redeems a specific channel points reward but I get 403 Forbidden all the time, while all other functions, like getting watchtime, work just fine.
I'm using the channels JWT-Token but everytime I redeem the reward this happens:

[Quotes][DEBUG] Requesting quotes...
[Quotes][DEBUG] URL: https://api.streamelements.com/kappa/v2/bot/quotes/bewitchingcaro
[Quotes][DEBUG] Headers: { Accept: 'application/json', Authorization: 'Bearer eyJ...0PQ' }
[StreamElements] Message event - Topic: channel.activities
[Quotes][DEBUG] Response status: 403 Forbidden
[Quotes][DEBUG] Response JSON: {
FEHLER: [Quotes] Error fetching quotes: 403 Forbidden
  statusCode: 403,
  error: 'Forbidden',
  message: 'Not allowed to perform this operation'
}```
severe shell
severe shell
grizzled rock
#

Someone wants to get banned

severe shell
late warren
#

Hiya folks I am using the custom css editor, but how do I get the image ive selected from the sidepanel to show? it keeps showing a shark as the html says default

blissful raven
#

Hi guys, currently checked there was a widget for TCG. I was wondering the flow and tech behind this widget, is there any reference or flow explanation for this?

hardy walrus
#

Which widget you talking about? Sounds like a custom thing via 3rd party.

blissful raven
#

is it ok if i pass the link url here?

hardy walrus
#

Yes. Even if the bot eats it I can see it.

#

Got it.

blissful raven
#

niceee

hardy walrus
#

That's something stupidly customized so it's not something we can really explain/help with.

blissful raven
#

i see, ok" thank you

vernal venture
#

Hello, does anyone know if there is a way for a mod to trigger a custom command without having to type the command into chat?

I saw a streamer update a "death count" tracker, and saw the message from streamelements in their chat about the tracker updating, but I didn't see anyone call the command.

#

I was also wondering, is there a way to prevent messges beginning with "!" from being shown in the chat widget?
or do I need to make my own custom widget for chat to do this?\

severe shell
severe shell
vernal venture
severe shell
#

Exactly

tough willow
#

have a quick question i haven't quite been able to find the answer to: for the leaderboards (particularly the tips leaderboard), are the weekly / monthly lists generated with some kind of cutoff? for example, does everything reset to 0 on sunday at midnight, or is it a sliding window (the number is "the amount donated in the last now() minus 7*86400 seconds"?)

severe shell
#

I'm sure you're not going to ask that, but probably someone will
- What if the month doesn't have the 31st day?

tough willow
#

ah, great. that's the info i was hoping for -- thanks!

tough willow
#

follow-up question i guess: is there no public api for getting the gift/cheer leaderboards for twitch stuff? the public-facing one seems to use some kind of rotating token, but i can't seem to find an endpoint in the api docs that can supply the same information to e.g. a persistent bot

severe shell
# tough willow follow-up question i guess: is there no public api for getting the gift/cheer le...

Which one are you referring to?
Also, all endpoints use some kind of rotating token, since tokens have expiring date.

List Subscriber gifters
https://c4ldas.github.io/streamelements-api/#/operations/Get/widgets/:channel/subscriber-gifts/leaderboard

List the top cheerers or tippers in a period (alltime, months, weeks, session)
https://c4ldas.github.io/streamelements-api/#/operations/Get/:channel/top

tough willow
# severe shell Which one are you referring to? Also, all endpoints use some kind of rotating t...

i'm not the streamer so i wasn't able to investigate what exactly i was looking at. but i came to realize that the profile widget is a twitch extension, and learned about those. also just got off a call with the streamer and dug into a few things to understand better

the docs you linked don't seem to be the same docs that are in the topic - is this an older version?
it looks like it will serve my needs. i can get the streamelements jwt and use that for auth to avoid the need to mint rotating tokens from twitch's extension thing

#

(i'm just trying to help automate some manual work they were doing to update their overlay with contributor data)

#

what is :channel? is it a userid? name? something else? found it

severe shell
tough willow
#

yeah, i understand it's not for oauth

#

the docs show three auth methods, i have the JWT - but looks like i should prefer an api token

#

i just need to get them to give me the channel id now so i can verify the calls work 😉

severe shell
#

Not all endpoints work with api token (overlay token), but it is mentioned in the documentation.

tough willow
#

i see, the cheers is jwt only

#

so i guess i stick with that

severe shell
tough willow
#

that did it 👍

#

somebody doesn't have a database index 😂

#

alltime top cheers be slooow

#

it's not showing any tips though 🤔

severe shell
tough willow
#

tips/leaderboard is saying 403, maybe that's why the other ones are empty - but dunno why the JWT would be failing here

severe shell
tough willow
#

it works for cheers just not for tips

#

like, i was able to successfully get cheer information but tips are empty (and shouldn't be) or 403

#

it's role:owner

severe shell
tough willow
#

yes, i am; i am using the same authorization header for both calls, just one has data and the other doesn't

#

though i tried both the apikey and the jwt and got the same result. it's odd 🤔

#

i note that the tip page uses a different api endpoint and channel identifier; that one does return data but it's the weekly/monthly thing. that's fine, i can work with that, though it seemed like i might be able to correct our baseline data if i could get this working

#

that's of course the unauthenticated public data

severe shell
#

For the tips leaderboard endpoint, the JWT needs to be the channel owner one, even if your account have full access from the streamer dashboard.

tough willow
#

that's the one i'm using

#

it has "role":"owner" and "user_role":"creator"

#

given to me from the SE dashboard by the streamer

#

(also the channel and user match the channel i'm querying)

#
$ curl -H "Authorization: bearer $JWT" "https://api.streamelements.com/kappa/v2/tips/5d65419489a1e169b74b403a/leaderboard"
{"statusCode":403,"error":"Forbidden"}
severe shell
#

Hmm, yeah, for some reason, I'm also getting forbidden for another channel

tough willow
#

in case you spot anything wrong with it

#

similarly:

$ curl -H "Authorization: bearer $JWT" "https://api.streamelements.com/kappa/v2/activities/5d65419489a1e169b74b403a/top?type=tip&period=alltime"
[]
#

ah well, i guess it's kinda whatever. i basically pulled the data from the public widgets and used it as a baseline, but the overlay combines cheers and tips. many were significantly out of date, so i rolled up the contributions to the max of (stored data, cheers)

#

but that of course will not include tips from the same users; i was looking to see if i could get that data and add it in

#

but it's not super vital 🙂

severe shell
#

Ok, I found the issue. The streamer needs to have the leaderboard enabled for the tips.

tough willow
#

ha

#

i wonder where the tip page is getting the data from

severe shell
tough willow
#

that makes sense, though i guess it likely doesn't include historical data

#

we can find out

severe shell
tough willow
#

which endpoint are you talking about that's open? there seem to be at least three i can see 🙂

severe shell
#

For historical data, only the /tips will give you that, but it shows every single tip separately.

tough willow
#

that's okay, i only really need to process it once (and maybe make a script to fix things up that i can run on occasion)

#

if it doesn't keep historical data until enabled i'm out of luck anyway

#

it seems not

#

o well

severe shell
#

Yeah, it doesn't... It's only after enabling it

tough willow
#

i'd understand that for the leaderboard, but not the other endpoint that suggests it returns all the tips historically

#

🤷

tough willow
#

i'll see what we've got there, maybe i can do some manual hand-editing 🙂

#

if nothing else i can pull stuff from the DOM

severe shell
tough willow
#

yep, totally familiar with that workflow

#

might have to get on a screen share to follow through though

#

streamer says it's empty for him though, so presumably it just hasn't been tracking data all this time

#

probably just keeps weekly/monthly rollups for the tip page widget and discards them

#

that would explain why the api call is empty (aligns with their view from the webpage link)

severe shell
tough willow
#

.... oh my word

severe shell
#

I saw many streamers that used Streamlabs tips and didn't notice that

tough willow
#

the url is literally streamlabs dot com

#

LOL

#

i didn't notice because i was under the impression he had migrated

severe shell
#

I'm glad I'm here to save your time on that 😄

tough willow
#

i really appreciate you having taken the time to dig in with me, and i'm sorry for spending all that effort on something stupid like this

#

i guess i get to see if streamlabs has an api now

severe shell
tough willow
#

their docs links to

#

off to a good start

severe shell
tough willow
#

oh there are plenty of stupid things, but i'm with you about "stupid" questions 😉

severe shell
#

I just cannot give you support on that, because... You know... StreamElements <> Streamlabs 😄

tough willow
#

it might be, if the link to the docs worked 😂

#

anyway, thanks again for your help. i'm off to hate oauth again

tough willow
#

yeah, i found my way there

#

i was just laughing that the link on the literal home page to the docs sends you to an invalid url

hollow totem
#

im using a overlay that you guys have and im trying to click on the text to put my social media on there but its not letting me do that how can i do that??

severe shell
hollow totem
static lily
#

can anybody help me ? ive bought a stream pet from etsy, the commands work fine on twitch but they wont work on kick, any ideas? it is a streamelements overlay

severe shell
static lily
severe shell
static lily
#

its installed via this link

#

SE.Staff, any ideas when you might be intergrating kick chat messages to streamelements bot/overlays ?

severe shell
uneven oxideBOT
#

@static lily ⤵️

To open a support ticket, in #community-helpdesk type !ticket followed by a short subject (under 60 characters). Example: !ticket My chatbot isn't working. Then follow the bot's steps.

devout axle
#

Hey, how often does jwt token refresh ? I've seen a message saying 30 days but i've been using the same for much more than that and apparently it just refreshed recently for me

median ravine
hardy walrus
#

It was previously 30 days but that at some point last year (I think if not earlier this year) it got upped to 6 months.

devout axle
cyan valve
#

its not possible to replay twitch redemptions for some reason.

runic lintel
#

im pretty new with streamelements with the multi stream feature. i'm having issues with login, my screen keeps getting stuck on loading part after trying to connect my social. any help?

severe shell
uneven oxideBOT
#

@runic lintel ⤵️

To open a support ticket, in #community-helpdesk type !ticket followed by a short subject (under 60 characters). Example: !ticket My chatbot isn't working. Then follow the bot's steps.

runic lintel
#

thank you, sorry

severe shell
zealous coyote
#

do I need OAuth authorization to send a notification to the overlay?

zealous coyote
severe shell
keen coral
#

Any idea when will the next SE live update? The plugin is constantly crushing obs 😕

gaunt pine
#

Hi guys! I've created my own pet widget. And sometimes it's randomly flickers when switching animations. Does anyone know what might it be

obtuse isle
# gaunt pine Hi guys! I've created my own pet widget. And sometimes it's randomly flickers w...

A wild guess, this could as well not be this, hard to tell without seeing the code and how it behaves. Things like this often happen if you are loading the image/video for the first time. Try to preload all images/videos before you even "trigger" the widget.

I do not know how you do your stuff but just to show you... I do something like this for image preload, you would have to modify this appropriately of course:

const imagesToPreload = [
  "url-here", 
  "url-here", 
  "url-here"
];

const preLoadImage = (url: string) =>
  new Promise((resolve) => {
    const image = new Image();
    image.onload = () => {
      resolve(true);
    };
    image.src = url;
  });

Promise.all(imagesToPreload.map(preLoadImage)).then(() => {
  console.log('all images loaded, show widget');
});
clear walrus
#

Is it possible to send a chat message with the SE Bot to a connected chat (eg. Twitch or Youtube chat) from within a Widget through Javascript?

elfin flare
#

hi can any dev / staff help me with the chat stats issue a streamer that i watch used to have chatstats but few years ago she changed her name so it now doesnt appear and im pretty sure she uses stream elements could someone help ?

potent halo
rose spindle
#

Hello, I'm trying to find a way to store data for a custom widget i'm working on.

Is there any way to save data inside of a widget? Because I know localstorage won't work.

#

Cookies and indexedDB don't either

#

I'm asking because it's a subathon timer, and I don't want time to reset every single time I chance a field setting

rose spindle
#

Oh, found something. SE_API.store

severe shell
hearty shoal
#

Does anyone have a helpful fix.. my vertical transitions aren't working when i link the scenes on some scenes verbatim?? I would be so grateful as to what could fix this

rose spindle
# rose spindle I'm asking because it's a subathon timer, and I don't want time to reset every s...

I'm trying to add some sort of way for the user to log in with twitch on the timer's editor because I need their account ID and token to subscribe to the hype train statuses.

Considering that the widgets are inside an iframe, I know that I can't just window.open() my way to make a pop-up, so how can I make the user log in to get their token then? I have my twitch app clientId and website redirect_URI, but I don't know how to proceed.

Checked the docs just in case, but didn't find anything related.

severe shell
rose spindle
rose spindle
severe shell
rose spindle
#

Great, just wanted to make sure I wasn't breaking any rules.

severe shell
# rose spindle Great, just wanted to make sure I wasn't breaking any rules.

Well, technically there isn't rules for widgets creation anymore, as Overlays system is considered legacy for StreamElements. The rules were created for people who were sharing the widgets publicly on StreamElements Overlays gallery or from #widget-share. Since it isn't possible to share them on these places, there isn't any rule to break, but only recommendations.

rose spindle
hardy walrus
#

Elements

severe shell
# rose spindle Oh, so Overlays are legacy? What does SE use now for things like that?

Yeah, unfortuantely it is, although many people still use it and create widgets on them (including big players like Nerd or Die, own3d tv, and people on Fiver/Etsy). Also, the team informed they don't have any plans to retire or remove them.
The new system is called Elements (it's right below the Overlays link). It is a completely different system, the documentation is here if you want to try:
https://dev.streamelements.com/docs/widgets-elements-sdk/

severe shell
rose spindle
#

But yeah, short and concise answers also work on the vast majority of cases

spark crypt
#

Hello StreamElements Team,

I am writing to request the addition of Bulgarian language to the platform. StreamElements is an extremely useful and popular tool among streamers in Bulgaria. Adding Bulgarian language would make the platform much more accessible and convenient for a large part of the local community.

I believe that this change would help many new streamers to navigate the settings more easily and make full use of all the functionalities, which will contribute to the growth of your community in our region.

Please consider the possibility of including Bulgarian language. I am ready to help with translations if necessary.

Thank you for your time and attention.

Best regards,

severe shell
uneven oxideBOT
#

@spark crypt ⤵️

To open a support ticket, in #community-helpdesk type !ticket followed by a short subject (under 60 characters). Example: !ticket My chatbot isn't working. Then follow the bot's steps.

old cairn
#

Anyone able to confirm for me if a websocket connection gets all events for all platforms on account (e.g. twitch and youtube) I cant seem to trigger events from both platforms from the dashboard (and my youtube account has no events on it so cant test it currently)

rose spindle
#

But for different platforms, you need different websocket sessions

#

Because the token for Twitch doesn't work with the same events as the ones for Kick or YT

old cairn
rose spindle
#

All by different sessions, but don't mind me, I know jack sh*t

severe shell
rare crag
#

Why am I unable to remove outputs? I already went and unlinked tham from my stream elements website but they're still showing up in this box and the delete button is not press-able. Any advice here?

severe shell
old cairn
hoary yew
#

Howdy folks - the Stream Bounty (formerly Stream Bingo) twitch extension now supports bots connecting via WebSocket in order to trigger things on the bots, like when someone gets a bingo or a game starts or ends or whatever. I can't seem to find any info in Stream Elements about connecting to non-astro WebSockets as a client. Is this possible or just a complete dead end?

potent halo
hoary yew
potent halo
#

There are more then enough resources on js websockets. U just need to google

acoustic vigil
#

Any smart people able to write a custom command using the Elements chat bot, that if I type "!bingo <user>" it automatically gives that person 250 of the element's credits (in my case, ₡attle₡oins)?
I'm unsure how to do it, or if it's even possible, so this way, if someone with more experience is able to figure it out, I can just copy paste it into my custom commands area. xD

hoary yew
potent halo
vital wadi
#

Question about channelPoints I'm currently using @severe shell workaround where I add the layer and im able to set up and emulate Channel Points and it works great, but i just made a widget that needs the text input associated with the channel point and I think Im going about it in the wrong way, first image is my code where im trying to get data.userInput but I should be using data.message right? based on the example on @severe shell website

severe shell
hardy walrus
#

One that has channel point redemptions with text input required.

#

Unless you are indeed mixing apples and oranges.

vital wadi
vital wadi
severe shell
severe shell
vital wadi
severe shell
vital wadi
severe shell
hardy walrus
#

♾️ points aha

vital wadi
severe shell
# vital wadi and trying to emulate from your deprecated layer system, not gonna work? I shoul...

It will work, but the keys and values are different.
My suggestion is that you stick with the SE native way, since it works very similar to my widget, with the advantage you don't need a helper widget for that.

Also, my widget uses Twitch PubSub implementation and a non-documented event topic (community-points-channel-v1.{TWITCH_USER_ID}), which is not officially supported by Twitch and can break anytime.

#

Using SE native way is also better in case you need community (or staff) support.

valid verge
#

whata about this

severe shell
potent halo
hardy walrus
#

Officially it's already shutdown.

Now if you can get around that via "hacks" Shrug

severe shell
opaque jackal
#

I can not get the activity feed to show on my obs

vital wadi
#

I have a pay phone TTS widget and it all works except when triggered by Channel Points with text. Here is the code block for handling channel points, updated from the info I got from you guys yesterday. The if statement passes, we get inside the if block but getting the text entered with the channel point redeem isn't working. Any issues you see with how I'm handling it? The message works with custom text entered from a sub, donation, etc... just not Channel Points

#

im not an affiliated streamer and can't test channel points which is making this quite tedious

severe shell
severe shell
vital wadi
#

if (obj.detail.event.type == "channelPointsRedemption" && obj.detail.event.data.redemption == channelPointName && includeChannelPoints ) {
let user = obj.detail.event.data.username
CALLERNAME.innerText = user;
const message = (obj.detail.event.data.message && obj.detail.event.data.message.length >= 7) ? obj.detail.event.data.message : getRandomSaying();
playPhoneAnimation(currentPhone, message);
console.log("MEEEEEESAGE", message)
console.log("USER ===== " + user)
return
}

severe shell
vital wadi
#

Also, I made a little youtube video series about making widgets in SE for beginners and people seem to like it, is there a place to share that somewhere on this discord?

severe shell
#

We don't have a place to share videos in this server, but you can post it here, I'd like to see it 🙂

neon ridge
#

How i can creat a comand to Bot send on Twitch how many tickets someone already buy on my giveaway ??

tidal minnow
#

Just looking at the default SE subathon widget since the widget of someone I mod for seems to be adding time randomly without being asked SUSSY
Thinking it would be good to have it log the events it's processing to add time but unsure if the SE widget would be able to do that

severe shell
#

I don't think there is such a thing

hardy walrus
#

It's a custom one by LX that's under the widgets tab of the overlay gallery.

tidal minnow
hardy walrus
#

Ah that's the elements one.

tidal minnow
#

I won't link the custom Megathon timer that we've had problems with. I may modify that SE one to support blerps/tangia/kofi etc

#

The custom one looks cute n all but it's randomly adding bits of time here n there so not reliable

uneven oxideBOT
#

@agile olive ⤵️

To open a support ticket, in #community-helpdesk type !ticket followed by a short subject (under 60 characters). Example: !ticket My chatbot isn't working. Then follow the bot's steps.

tidal minnow
#

Or has anyone already modded the 'thon widget to support the 3rd parties?
I'm not good enough to link it to 3rd party accounts I'd just be reading 3rd party bot chat for triggers

hardy walrus
#

I can tell you that definitely hasn't happened and doubt it will.

fading saffron
#

Why is it that when trying to connect my OBS/streamelements to my twitch it says connecting for a long time and then it just takes me to a black screen and it never even connects?

raw dawn
#

Hi, I have a problem with SongRequest API
When getting the queue via GET /songrequest/{channel}/queue, I know I can remove entries using DELETE /songrequest/{channel}/queue/{song}

But how do I remove songs from moderation/pending queue, got using GET /songrequest/{channel}/pending?
API docs don't mention it directly, I've tried accordingly by DELETE /songrequest/{channel}/pending/{song}, but I get a 404

I've tried using DELETE /songrequest/{channel}/queue/{song}, I got a 201 status, but the song is still in pending queue 🤔
I guess this is a bug ^

#

Ok nvm, I've figured it out
It's POST /songrequest/{channel}/pending/{song}/reject
It would be nice if this was added to the docs though 😅

potent halo
#

@severe shell new endpoint discovered ⬆️

severe shell
potent halo
#

Alrighty 😅

feral mist
#

anyone from America?

severe shell
feral mist
#

you too?

severe shell
#

No

feral mist
#

where are you from?

broken coyote
#

whom ever made the change to the alert box. if you could hit the undo button. that would be great. thanks

wet vessel
#

Salut

night remnant
#

For the StreamElements Event Feed - It has an option to show View Count.
Can we have this work Per Platform?
So it shows View Count for TikTok, YT, Twitch, Kick etc?

zealous spade
#

I'm not sure if this is the right channel for this. I've seen on sites like etsy and ko-fi, where you can purchase an overlay and get sent a sharable link which one click imports it into the buyers stream elements.

Is there a process for this?

It works great in the overlay, and if people just copy the HTML and the Fields in, but I'd love to have a shareable link for easy "install"

severe shell
tidal minnow
#

I'm probably late the the party but is there a readon data.tier is undefined on community gift events? I know you can gift multiples of t1/2/3 subs so why isn't the tier in the data?

#

ftr the gifted subs that follow individually do have tier correctly filled out, but it's a bit late by then as the initial bulkgifted processing is over

severe shell
tidal minnow
#

yeah that's me sim'ing

severe shell
#

Yeah, those simulated ones aren't that good when we need more than a basic alert event, unfortunately.

tidal minnow
#

so I have to go with what I hope will be in the real ones and cross my fingers? lol

#

I'm surprised since the simulations are by SE in their editor, so not sure why they'd not make them match

#

I noticed it's your messages in the examples WeSmart

tidal minnow
#

I take it giftsub is a named person gifted X months of Y tier, whereas community gifts is random people gifted Z tier (can't gift multimonth to community afaia)
But I'm not seeing where I get X/Y/Z for giftsubs vs community

#

I'm just trying to have a widget display how many months of which tier were given to how many people (T2/3 limited to single people I think)
I didn't expect it to be this tricky miiliHmm

severe shell
tidal minnow
#

Yeah makes sense. But where do I pull the months-gifted/tier-gifted for giftsubs and count/tier-gifted for commsubs? spinning_think

fair breach
#

Not sure if this is the right chat but would anyone know if I use 6k bitrate for OBS it uses that same bitrate across all my stream so it won't anymore then 6k bitrate?

tidal minnow
fair breach
sick sparrow
#

Any YouTubers here

proud spade
sick sparrow
#

Nice

tidal minnow
night bison
#

How can I enable Media request. Whenever I open it it says it can't find the overlay but I don't have a option to add it in the overlay creator

hardy walrus
night bison
#

I have multi stream but I don’t use YouTube or anything as YouTube likes to copyright me

#

And I don’t like kick & don’t wanna stream to social media like TikTok etc so

hardy walrus
hardy walrus
#

Yeah. Thats why.

#

Don't do it in OBS.

#

Do it in browser.

night bison
hardy walrus
#

And you need to do it within the editor in browser. Not OBS.

hardy walrus
#

What browser you using?

night bison
#

Do I need affiliate for it or sum?

hardy walrus
#

THAT would be the issue.

Use chrome/edge.

night bison
#

still nothin

night bison
hardy walrus
night bison
night bison
hardy walrus
#

You'll need to make a ticket then as I can't help beyond this.

uneven oxideBOT
#

To open a support ticket, in #community-helpdesk type !ticket followed by a short subject (under 60 characters). Example: !ticket My chatbot isn't working. Then follow the bot's steps.

acoustic vigil
#

Anyone able to write a custom command using the Elements chat bot, that if I type "!bingo <user>" it automatically gives that person 250 of the element's credits (in my case, ₡attle₡oins)?
I'm unsure how to do it, or if it's even possible, so this way, if someone with more experience is able to figure it out, I can just copy paste it into my custom commands area. xD
Please @ me if you have a go, because I have this channel muted to prevent spam pings.

hollow moat
#

is it possible to assign a second redirect_uri to an existing OAuth2 client application? i'm migrating my project to a new domain and would like both to work while in transition.

severe shell
hollow moat
#

i was afraid that was gonna be the method i'd have to take. thanks

zealous spade
#

I've noticed that there can be a dropdown added to the setup in the overlay for fonts. I was wondering how this is done.

I'm not seeing anything in the fields that populates it one by one

severe shell
verbal seal
#

Hello, I manage a bot for several streamers and I’d like to ask about an issue with the StreamElements filter. When a random bot joins and posts a message, the filter works correctly and issues a permanent ban. However, when Twitch flags an account as “suspicious”, nothing happens – both I and the moderators can see the status, but the StreamElements filter does not respond and no ban is triggered. We then have to handle it manually.

From my perspective, this seems less like a StreamElements issue and more like a limitation on Twitch’s side, as the “suspicious” flag may not currently be exposed to third parties via the API. Would it be possible to add API support or another method of accessing this flag so that it could be integrated into filters? It would greatly simplify the process of dealing with such accounts automatically rather than having to monitor and ban them manually.

One possible temporary solution came to mind – renaming the bot so that it operates directly under the streamer’s name. In that case, Twitch might treat it in the same way as the streamer or moderators. In theory, this could provide access to the “suspicious” status and allow the filter to react automatically, although I am not certain whether it would actually work in practice

placid igloo
#

Hello, I have a question regarding SE_API.
As far as I've been able to tell, you get data from SE_API.store.get("store-name");. However, the store-name can be anything, and it could lead to bloating in SE_API store. Is there a way to see all of the data in your SE_API w/o calling on them one-by-one?
Of course, I could be smoothbraining and not seeing the store in the dashboard, which is a real possibility.

severe shell
uneven oxideBOT
#

@verbal seal ⤵️

To open a support ticket, in #community-helpdesk type !ticket followed by a short subject (under 60 characters). Example: !ticket My chatbot isn't working. Then follow the bot's steps.

#

@verbal seal ⤵️

Check out the StreamElements ideas board: https://support.streamelements.com/hc/en-us/community/topics. You'll be able to add ideas, upvote ideas you agree with and track their progress with email notifications. Adding and upvoting ideas also helps the staff know which ideas should be prioritized so please take some time to upvote.

severe shell
#

You can get the authorisation key (overlay token) from onWidgetLoad, so you don’t need to type it directly in the code.
obj.detail.channel.apiToken

hexed stone
#

An API wants me to specify which IP addresses I'm going to be using a token on. I want to use it in an SE Widget. Is there a SE IP I can use for this, and is it hopefully the same regardless of which channel the widget is in?

#

Also is there an event that widgets can use for when the stream ends?

placid igloo
# severe shell You can call it via API request. https://discord.com/channels/1412038638635581...

thank you for the reply.
I have located the JWT and apiToken values on the dashboard (thanks to the post regarding obj.detail), and I placed those values in variables.
I can't seem to locate a valid endpoint. I found this in the documents:
https://dev.streamelements.com/docs/api-docs/ae133ffaf8c1a-personal-access-using-jwt-secert-token-to-access-the-api
And I replaced the JWT with my own. Here is my code (with the token info edited out; see attached image).
The replies I get are:

#

For JWT, code 403, forbidden.
For authToken, 401, unauthorized.

So am I missing something, or is there a different endpoint I could use?

#

And to make sure we're on the same page, my goal is to get and review the entire store. I don't want to have to do

let store1, store2, store3;
SE_API.store.get("value1").then(res => store1 = res);
SE_API.store.get("store2").then(res => store2 = res);
SE_API.store.get("store3").then(res => store3 = res);

if that makes sense. Honestly, I'm surprised I don't see this info in the dashboard or anything.

severe shell
# placid igloo And to make sure we're on the same page, my goal is to get and review the *entir...

The endpoint is exactly the one I mentioned here: #dev-chat message
You can authenticate using the overlay token, which is exposed on onWidgetLoad, no need to input your token manually (which is also not recommended).

window.addEventListener("onWidgetLoad", async (obj) => {
  const token = obj.detail.channel.apiToken;
  const accountId = obj.detail.channel.id;

  const request = await fetch(`https://kvstore.streamelements.com/v2/channel/${accountId}/customWidget`, {
    method: "GET",
    headers: {
      accept: "application/json",
      authorization: `apikey ${token}`
    }
  })
  const response = await request.json();
  console.log("All data from SE_API.store():", response) // Open your browser console to check the object
})
placid igloo
#

oh, hey. That is a clickable link. I didn't know that.

placid igloo
#

Yep. That answered my question. Needed a little bit of rewriting, but it worked. Thank you kindly.

placid igloo
#

Real quick, is it the same for delete? I'm getting 405's for DELETE requests. The aforementioned post only had GET, PUT, and POST, so I don't know if DELETE is an option at this rate.

placid igloo
#

Okay. Thank you for your answers and assistance. They've been helpful.

hexed stone
#
  1. An API wants me to specify which IP addresses I'm going to be using a token on. I want to use it in an SE Widget. Is there a SE IP I can use for this, and is it hopefully the same regardless of which channel the widget is in?

  2. Is there an event that widgets can use for when the stream ends?

severe shell
# hexed stone 1. An API wants me to specify which IP addresses I'm going to be using a token o...
  1. The widget runs locally
  2. Not directly from SE. But you can connect directly to OBS via OBS Websocket and listen to the event "StreamStateChanged" using obs-websocket-js.
    https://www.npmjs.com/package/obs-websocket-js

This snippet can give you some directions.

HTML

<script src="https://cdn.jsdelivr.net/npm/obs-websocket-js"></script>

JS

const OBSPORT = 4455;
const OBSPASSWORD = "" // Your OBS WebSocket Password

window.addEventListener("onWidgetLoad", async (obj) => {
    const obs = new OBSWebSocket();
    await obs.connect(`ws://localhost:${OBSPORT}`, `${OBSPASSWORD}`);
    
    const obsInfo = await obs.call('GetVersion');
    console.log("Connected to OBS:", obsInfo);

    obs.on("StreamStateChanged", (data) => {
      if (data.outputState == "OBS_WEBSOCKET_OUTPUT_STARTED" && data.outputActive == true) {
        console.log("Stream started!");
        console.log("Stream State:", data);
      }      

      if (data.outputState == "OBS_WEBSOCKET_OUTPUT_STOPPED" && data.outputActive == false) {
        console.log("Stream stopped!");
        console.log("Stream State:", data);
      }
    });
});
#

It is important to mention you need to enable OBS WebSocket on OBS menu Tools > WebSocket Server Settings > Enable WebSocket server

gaunt rover
#

hi - is there a way to test SE tip events/is there an eventsub-style POST thing i can use for them? the "emulate" thing in the overlay doesnt seem to fire anything

severe shell
gaunt rover
#

im stupid

#

lps ignore

#

is there no eventsub style thing for tips via webhook or something?

indigo socket
#

Hi. I just finished my first custom widget. I see people sharing them as a link for installing but I couldn't find how. Could someone tell me, please?

latent valve
primal zinc
#

Q: is there some infomation on the requirements to get OAuth2 access? if so, where can I find it ?

severe shell
severe shell
primal zinc
#

any idea on how long the review process is ? (days/weeks)..

severe shell
lost sinew
#

i have a basic question 🙂

i found this to work:
window.addEventListener('onWidgetLoad', (obj) => { fieldData = obj.detail.fieldData; console.log(fieldData); console.log(fieldData.test); })

i use it to get the value of a custom select field, is that the propper way? and would i save fieldData.test into a variable to keep using it across my code?

severe shell
open orbit
#

how do I make it work on Mac OS , it keeps loading and is not loggin in any accounts . Do we need to install ground control app also ? beside OBS ?

severe shell
open orbit
#

se live features work ? it is not connecting when trying to log in account and does not show the dock , when clicked on StreamElements -> se docks - nothing shows

#

OBS crashes

severe shell
open orbit
#

OK .. thanks for reply ...

novel acorn
novel acorn
severe shell
exotic coral
#

i need help

uneven oxideBOT
#

@exotic coral ⤵️

Sponsorship questions can only be handled with the ticket system. Please type !ticket sponsor support in #community-helpdesk and follow the instructions from the bot.

Attempting to open multiple tickets will not quicken staff response as they are handled in the order they are received.

trim mica
#

Hi! I'd like to know why subscriber-goal doesn't display the number of subs as a goal, but rather the total number of subs, and subscriber-points displays the number of subs and not the number of points.
For example, here's a screenshot of Twitch's goal data and another of streamelements data.

severe shell
# trim mica Hi! I'd like to know why subscriber-goal doesn't display the number of subs as a...

The goal amount is up to you do define. subscriber-goal property is the amount of subs you received since you reset the goals. It always goes up, never goes down.
Subscriber-points is the amount of points your account have.
Tier 1 is 1 point, Tier 2 is 2 points and Tier 3 is 6 points. It is used for additional emotes slots. The reason you have the same amount for the points and subscribers probably is because you have only Tier 1 subscribers.
Also, there is no Streamlabs data in your screenshots. Only StreamElements and Twitch.

hidden crown
#

Good evening Devs know about cant change scenes name, safe mode if i close obs and start again, and if i close obs and open again linked tik tok account showing red icon.

vital wadi
#

I fixed the issue, but I wanted to double check why it was happening. The issue was in my widgets the names kept coming back 'undefined' when live but when emulated everything worked fine. In the image is 2 different console.logs from the same event. In one the info is in event and in the other its in event.data ..... is one event from Twitch and the other is the same event but from SE, or something like that, and they have different structures??

severe shell
# vital wadi I fixed the issue, but I wanted to double check why it was happening. The issue...

Emulated events are not the same as the real ones, the structure is outdated and we cannot trust on it. They are only useful for testing basic alert boxes.

Also, the listener “event” and “subscriber-latest” also have different structures and values. Both objects are sent at the same time when the event occurs (except for chat messages, redemptions, deleted messages, things like that)

You can check here for real examples if you need them: https://c4ldas.github.io/streamelements-api/eventreceived.html

pulsar willow
#

Hey,

A few years ago, I submitted some custom widgets which I recently updated.
Would it make sense to share the updated code as well, or is the widget-share channel pretty much dead (as the last post dates back to 2023)?

severe shell
pulsar willow
#

ah, kk. Thank you! 👍

tough crane
#

Hello does anyone know how to get alerts for YouTube super stickers? Because super chat alerts work but not super sticker ones?

uneven oxideBOT
#

To open a support ticket, in #community-helpdesk type !ticket followed by a short subject (under 60 characters). Example: !ticket My chatbot isn't working. Then follow the bot's steps.

halcyon mason
#

I have a problem updating the payment/receipt, I can't change anything, please help me, I have sponsorship to receive and I can't solve this problem

silver quail
#

Hi question is it easy to convert a overlay editor widget to the new element system?

Asking cause I have issue with persistent data being saved (subcount on a subathon widget doesnt save after the streamer stream end so everytime it reset back to 0 and he need to type the command to set the subcount again every stream) and I want to move it to element to see if it fix my issue cause no data is saved. It work fine while the stream is live just doesnt save the data to the next stream so he can continue the subathon

severe shell
rapid comet
#

Hi ! Are the rate limits for the API documented anywhere now ? I saw that someone said it might be 1000 calls / minute. Is that still accurate ?

severe shell
pulsar willow
severe shell
pulsar willow
rapid comet
severe shell
serene gulch
#

Hi, I use websockets to get tips in my app. I noticed yesterday that I sometimes get tip events without currency. Was there a recent change or did I just not notice before?

I tested it with both realtime and astro. When I add a tip in revenue history it includes the currency, when I use emulate in the overlay editor it does not.
Is this expected? Does this also happen on actual tips or is just someone using "emulate" while connected to my app?

severe shell
serene gulch
primal zinc
hardy walrus
#

No longer possible.

primal zinc
hardy walrus
#

Do note that's not an official method and managed by one of the other community members here.

primal zinc
severe shell
fast socket
#

SELive kept crashing OBS upon close so I uninstalled it.

primal zinc
severe shell
#

The why is to push people to use Elements instead (not that I agree, but that's the reason)
The sites that have the ability to share overlays via link probably got the oAuth before Elements existed (or applied for another type of application).

obtuse isle
#

Overlays 🤩
Elements 🥱

(And I won't change my mind cause the idea of quick and simple build in editor not existing is just bad and kills any fast fixes)

still juniper
#

Elements were born dead anyway

broken coyote
#

i refuse to use elements.

primal zinc
broken coyote
severe shell
#

I haven't found a single person that developed for Overlays and like the change to Elements. It's like a silent revolution 😄

broken coyote
#

LOL. i also am not a huge fan of being FORCED to use it.

primal zinc
#

And what kind of editor are we talking about, kinda noob question, but still....😉

tiny sigil
#

I am trying to work on a plugin that might help anyone that’s interested. Basically is about creating something like the Studio Mode in OBS but this time round showing your different canvas live side by side

severe shell
primal zinc
still juniper
short shadow
#

so, i have a three.js "game".
i want youtube livestream chat to be able to send command to the game. im looking for a websocket settings in streamerbot to make it possible.
is there anyone can help me with it?

#

bro i think im in the wrong discord server

#

XD

broken coyote
obtuse isle
# short shadow bro i think im in the wrong discord server

Yes, yes you are. But here.

Turn on the websocket server on streamerbot app level:

Server/Clients -> WebSocket Server -> Auto Start (turn to ON if was not already)

Import yourself a StreamerbotClient to your application html file. Or however you import packages. StreamerbotClient package github page should have all instructions for this:

<script type="text/javascript" src="can't link here but just find the unpkg for it"></script>

and then its just this in your js file

(async () => {
    const client = new StreamerbotClient();

    await client.on('YouTube.Message', ({ data }) => {
      console.log(data); // do whatever you need to do here with the user message
    });
})();
rigid dome
#

is there any sort of timeline for when events for kick channel points and the new 'kicks' will be added?

neon ridge
#

can i use quote system in a random but a limited quotes?? exemple quote 1 ~ 10
quote 11+ dont call ??

maybe $(quote 1~10) ??

have something like that?

severe shell
neon ridge
#

@severe shell

{random.chatter|replace:StreamElements:@alguém|replace:streamstickers:@alguém|replace:Nightbot:@alguém|replace:nightbot:@alguém|replace:streamlabs:@alguém|replace:creatisbot:@alguém}

this way correctly?? because i use command but still calling the bots x.x

severe shell
neon ridge
severe shell
tidal bloom
#

hey guys can i get some help, i run in too the one error thats on the picture included in this message. ive tried everything i can think of, could you guys help?
I even bought a new pc for it because i thought it wouldve been a problem with being too old, but my pc is a 5070ti with ryzen 9 5950x with 64gb ram so i would think it would be good enough

chilly hearth
#

hello

#

can anyone help me fix login youtube from obs?,i just got blank screen on my browser after choose my yt account

spring fable
#

how do i open up the scene editor when i accidentally closed it for streaming to tiktok

undone rose
tidal bloom
undone rose
#

you never know with some people dude lol .. glad you sorted it tho 🙂

uncut cairn
#

Hello, anyone knowing how to create alerts with CSS and stuff? DM me i have special request (can pay someone to make it)

vital wadi
#

Is it possible to access the streamelements TTS system through JS?

primal zinc
primal zinc
#

hahh I was replying to @acoustic vigil hahahaha

acoustic vigil
median ravine
#

someone missed the word "community" in the category's name... anyway ignoring that, you actually got the right answer, jebaited should help with that. i'd link you there but cant share links here iirc, so dm me if you want

severe shell
median ravine
#

🙏

acoustic vigil
#

Thanks.
So, now I've done the jebaited part and got my token.
How do I now go about putting that into a command, so I can do !bingo <user> and they'll get the points?
I understand I use the custom api thing, but where does that actually go?

#

This is my first time doing stuff like this, so it's a little confusing is all

#

I don't wanna mess it up

severe shell
# acoustic vigil Thanks. So, now I've done the jebaited part and got my token. How do I now go ab...

You will create a command like any other, but the response will be like this (replacing YOUR_TOKEN and POINTS_AMOUNT with the actual values):
${customapi.https://api.jebaited.net/addPoints/YOUR_TOKEN/${touser}/POINTS_AMOUNT}

  • Go to https://streamelements.com/dashboard/bot/commands/custom and click on "Add New Command" button
  • Put the command name "bingo" and the comand ${customapi.blalblalba...} in "Response type"
  • Set the "User level" to "Broadcaster" so you will be the only one who can run the command
  • After that, click on "Activate Command" button
acoustic vigil
#

Ohhhh, it goes into responses!
Thanks. I'll give it a go.

#

It worked!!!
Thank you so much all of you.

Now, only last question I have is, can I change the actual chat message that comes up?
So instead of "Added 250 points to user zodiacbullyt" as is showing now, could I make it say "ZodiacBullYT got BINGO! +250 Credits" or something?

median ravine
acoustic vigil
median ravine
acoustic vigil
fading hornet
#

I have a question... do I need a new stream elements tipping site for each platform? I created my twitch tipping site yesterday... but i also might stream on KICK tonight... will the same one work for both???

acoustic vigil
proud stirrup
#

Yo Guys, Anyone knows on the webhooks whats the variable of the "Your name" field on the tipping page?

#

Like "activity.data.username"?

#

Because its showing the Youtube or standard Twitch name atm not the name from the "Your Name" field

hardy walrus
#

Because some channels can choose to lock it to the account logged in atm.

#

That probably doesn't answer your question but it is contextually relevant.

proud stirrup
#

Yes ive turned it on because im using SE.Pay but is it also posible to use the "Your name" field instead of the twitch/youtube username

#

Of when its turned on its not posible to use the custom "Your name" field

hardy walrus
#

As shown above there's the 2 on options: locked or customizable.

proud stirrup
#

But the question is can i use the customized username in a webhook

hardy walrus
tough compass
#

i need help pls

#

How can i fix this i habe obs 32.0.1

carmine plover
#

Can anyone recommend tutorials/guides for making widgets with the Elements SDK? I'm trying to follow the API docs with the code examples, but only the HelloWorld example seems to work - all the others just seem to show a control panel but nothing is actually rendered at all, so I'm not sure if the documentation or examples are up to date

hardy walrus
brittle badger
#

can anyone help me please. I did a fresh install of obs and se live. cant log in to twitch or any other sites through either one. everytime I try to log in it starts the process then just goes to a black webpage. I have no add blockers, no firewall issues, cleared web browser cache, uninstalled and reinstalled both programs. I tried this on both PC's I have with the same results. gpu and OBS is up to date.

carmine plover
hardy walrus
#

That's mainly because unlike Elements the "legacy" editor/overlay system is what's used by 99% of coders/community devs here.

primal zinc
whole isle
#

Hey, quick question. Is there a way to dynamically generate fields with like an "add another" button instad of having to statically set them? I have a use case where I have an unknown number of fields, but I toss in an arbitrary number of them which is hopefully enough.

severe shell
whole isle
lunar saddle
#

hi anyone do u know how to fix it? :>

#

I have updated the obs version and streamelement version but it's still like this

barren copper
#

does anyone know how to make !top show the top 5 points instead of the link?

pseudo saddle
#

Hey! Any updates on not being able to see your Twitch viewer count on the new layout for OBS Studio? Not sure why that was removed but I’d like to see it again

proud spade
severe shell
blissful raven
#

Hi guys, i want to ask. I currently developing a widget triggered when viewer redeem chanel points, is there any way to try the feature channel point integrate with my widget? while i dont have the access to channel steam point since my twitch account still not pass the requirement to use channel point. Thank you in advance for the response.

severe shell
# blissful raven Hi guys, i want to ask. I currently developing a widget triggered when viewer re...

Here's how you can emulate Twitch Channel Points / redemptions when your channel doesn't have support for them.
This method won't update any values or appear in the Activity Feed, it's only for testing your widget.

  1. Create a button on your widget FIELDS tab:
  "emulateButton": {
    "type": "button",
    "value": "emulate",
    "label": "Emulate channel redemption",
    "group": "Emulation"
  }
  1. Create the custom event in the JS tab that triggers when you click the button:
window.addEventListener('onEventReceived', function (obj) {
  if (obj.detail.event.listener === 'widget-button' && obj.detail.event.field === 'emulateButton') {
    let emulated = new CustomEvent("onEventReceived", {
      detail: {
        listener: "event", 
        event: {
          activityId: "68e78a6ab7a651caf3a8cfb7",
          channel: "1234567890abcdefghijklmn",
          createdAt: Date.now(),              
          data: {
            amount: 1,
            avatar: "https://cdn.streamelements.com/static/default-avatar.png",
            displayName: "StreamElements",
            message: "Emulated message from emulated channel points redemption"
            providerId: "123456678",
            quantity: 0,
            redemption: "Emulated Channel Redemption",
            username: "streamelements"
          },
          expiresAt: Date.now(),
          flagged: false,
          provider: "twitch",
          sessionEventsCount: 1,
          type: "channelPointsRedemption",
          updatedAt: new Date().toISOString(),    
          _id:"68e78a6ab7a651caf3a8cfb7"
        }
      }
    });
    window.dispatchEvent(emulated);
    return;
  }
});
  1. Just click the button in the left panel, and the event will be triggered.
blissful raven
carmine plover
#

Is there any way to make a separate control panel for a widget that could be loaded as a dock in OBS? I was hoping to be able to use urlSearchParams to show a controlpanel from the same widget but it looks like you don't have access to it

pseudo saddle
gaunt pivot
#

How do I connect my Ko-Fi to StreamElements for my donation load bar?

rapid comet
#

Is there a limit to how many users I can add points to with a single call to the bulk points add API ?

severe shell
twin gyro
#

Hey there, Im trying to set a custom command for !time that replies with a 12hour clock but it shows up like this: Current Time:
StreamElements: unable to make request

hardy walrus
twin gyro
#

I kinda look stupid rn but if there's anyway u can help me outta this situation, it'll be greatfull!

hardy walrus
#

misc/time?timezone=111111/2222222&h:i%20A

#

Replace the string of numbers with the above timezone

twin gyro
#

string of number... you mean, from 1 to 20?
or from 1 to 2

gritty jetty
twin gyro
#

IT WORKED

#

THANK SO MUCH GUYS!!!

hardy walrus
#

You're lucky I previously asked owner about this endpoint DerpDogPaola

twin gyro
#

I have been trying to fix this issue for an year ToT

#

YOU GUYS HAVE A BLESSED DAY!!!!

glossy monolith
#

Hi everyone, I have the following problem: Every time I start OBS with the plugin, I get an OBS crash message. The main problem, however, is that all the changes I make in OBS aren't saved after closing. Does anyone have a solution for this?
It's actually caused by the SE Live plugin, because if I disable it, the errors disappear.

mellow raptor
#

@glossy monolith current latest se.live is built for obs-studio 31.1.2; if you run a newer version of obs-studio, you can get a crash on exit

glossy monolith
mellow raptor
#

@glossy monolith to what version?

glossy monolith
#

31.1.2

mellow raptor
#

@glossy monolith post logs (help > log files > upload current)

glossy monolith
twilit orchid
#

hello im trying to make a widget idk how to code so i asked chatgpt to make it for me and it got it to basic, i was wondering if anyone who knows what they are doing could look at the code and see if they could make it work the right way?

celest sable
#

Hey c4ldas! You helped me a while back about fetching the activity feed settings but I've never managed to integrate this, does this solution accept oauth tokens? Thank you!

#

Just as a reminder, I'm trying to fetch what the channel settings are regarding the activity feed, I'm successfully listening to the changes of it using astro, but I'm struggling to find a way to fetch them on page load

severe shell
celest sable
shrewd flame
#

While editing (and also previewing) an overlay widget for one streamer, I'm getting a huuge delay before the onWidgetLoad event fires. Like, 6 minutes. Weirder is that the exact same widget in someone else's account has no delay.

#

Is this something my widget might be doing poorly, or is it a quirk?

#

The beginning of the code:

let goal, fieldData;

let botPoints = 0;
let sessionData;

// Array of {points, name}, in increasing points order.
let goals;

console.log("WIDGET CODE LOADED");

window.addEventListener('onWidgetLoad', function (obj) {
    console.log("WIDGET LOAD", obj);
...
feral quest
#

Hey! I wanted to ask if there is a way to test the donation channel event api without literally having to donate to myself?

#
  seSocket.on("open", () => {
    console.log("Connected to StreamElements WebSocket");

    const subscribeMessage = {
      type: "subscribe",
      nonce: uuidv4(),
      data: {
        topic: "channel.tips",
        room: channelId,
        token: jwtToken,
        token_type: "jwt"
      }
    };
    seSocket.send(JSON.stringify(subscribeMessage));
  });

  seSocket.on("message", (data) => {
    const message = JSON.parse(data);
    console.log(message);
    if (message.type === "message") onMessage(message.data.donation);
  });
#

would love the help so I don't have to resort to building my own "fake donation" creator

hardy walrus
#

@feral quest you own a streamdeck by chance?

feral quest
#

sadly no

#

would it possibly require one?

hardy walrus
#

I assume you've got an Android or IOS device right?

#

I thought of another way that may work but requires a phone.

feral quest
hardy walrus
#

You'd need do install the streamdeck mobile app and connect to a PC with the streamdeck app installed.

#

Yes complicated but the only immediate thing I know and can work with.

#

Short of having an actual SD.

feral quest
#

wait and do waht exactly?

hardy walrus
#

Granted it's more towards testing if an overlay is working right but probably no different than what you want.

feral quest
#

I still don't get how that will simulate donation events from my Streamelements api

hardy walrus
#

Touch button on SD. It sends API call to endpoint to simulate an action for that eevent type.

#

But as i said it's mainly useful for those checking if an alertbox is working how they want it.

feral quest
#

no. I have my own custom logic

#

on a node.js server

#

I'm not testing alert boxes

hardy walrus
#

Wait

feral quest
#

I just need to listen to donation events

hardy walrus
#

I'll actually poke @severe shell since he might be the better person to answer tbh.

feral quest
#

I have a feeling there is no way to test websocket events.. I'll actually have to donate to myself everytime I wanna test.

#

but I'd love to be wrong

feral quest
#

thank you

feral quest
#

I tried a real donation and works fine

#

I made sure it was "imported"

severe shell
# feral quest I made sure it was "imported"

It should work. When you check the import option it triggers a real event. That even how tips are created using the API for custom donations
Do you see both donations in the revenue history page? If not, that means you are not testing the same account.

feral quest
#

am I subscribing to a wrong event maybe?

#

'channel.tips'

#

well I only have one account but yes. I see it on my history page.

#

and when I replayed it it showed it was replayed in the activity feed

severe shell
feral quest
#

lemme check

feral quest
#

sadly it doesn't have a message field.. which is the whole point of my logic

#

I can only check if someone tipped.. so I can't use it for prod

#

but I'll test if it does anything with replaying donations

#

okay that works

#

so it's just that SE doesnt eventate imported donations

#

eventate I just made that up

severe shell
#

Something is wrong, then. Imported events should be triggered since they are considered real events.
Third-party tipping platforms use this approach (in the API) to generate events on SE.

feral quest
#

on which side is the question

#

I'd love if my code was wrong

severe shell
# feral quest on which side is the question

The part you create a new event on tipping history page and select the imported option. It should work and show as a real event.
Or via API (which is what the tipping history page does in the background)

feral quest
#
wubtitles-app  | {
wubtitles-app  |   id: '01K7RRXGMEBHS83X97ZNFA8H6Q',
wubtitles-app  |   ts: '2025-10-17T09:44:49Z',
wubtitles-app  |   type: 'response',
wubtitles-app  |   nonce: 'e2f70708-b737-435a-8a55-e34c89a0c304',
wubtitles-app  |   data: {
wubtitles-app  |     message: 'successfully subscribed to topic',
wubtitles-app  |     room: '6771c5949855653eb0b326e7',
wubtitles-app  |     topic: 'channel.tips'
wubtitles-app  |   }
wubtitles-app  | }

You can see that I correctly subscribe to the event

#

and when I "for real" donate. it works. (I'm up to 6 dollars now)
But importing/replaying a donation does nothing

#

I made sure I checked imported

severe shell
#

I’m going to try to test it on my side as soon as I have some time and let you know.
But definitely you shouldn’t have to spend money to test that. Something isn’t working as expected.

feral quest
#

I've never gotten paid from SE yet so idk much

severe shell
feral quest
#

just making sure I have things set up correctly.. I did the setup once but never saw it working yet

severe shell
#

It’s sent to the PayPal account (in case you’re not using SE.Pay)

hardy walrus
#

That's for sponsorships/merch.

#

Actually I still think that would carry SE.Pay. stuff.

severe shell
#

If you’re using SE.Pay, then you need to request the payment when it reaches a threshold, a believe

hardy walrus
feral quest
#

ahh I see it now

#

thanksss

#

I set up a business paypal account I forgot about

#

lol

severe shell
# feral quest sadly it doesn't have a message field.. which is the whole point of my logic

Sorry for taking so long, I noticed I didn't even have Node or anything installed (recently formatted OS).
I have just tested with channel.activities and it shows the message field:

import WebSocket from "ws";
import { v4 as uuidv4 } from "uuid";

const ACCOUNT_ID = "YOUR_ACCOUNT_ID";
const TOKEN = "YOUR_TOKEN";

ws.on("open", () => {
  console.log("Connected to StreamElements Astro");

  const subscribeMessage = {
    type: "subscribe",
    nonce: uuidv4(),
    data: {
      topic: "channel.activities",
      room: ACCOUNT_ID,
      token: TOKEN,
      token_type: "jwt"
    }
  };
  ws.send(JSON.stringify(subscribeMessage));
});

ws.on("message", (data) => {
  const message = JSON.parse(data);
  console.log("New activity:", message);
});

Here is the response after adding a new tip from revenue history page:

New activity: {
  id: '01K7SARY6W43GY3RE98P98BMMF',
  ts: '2025-10-17T14:56:53Z',
  type: 'message',
  topic: 'channel.activities',
  room: '5f2de5dd9a474a2c2dc4d0ab',
  data: {
    type: 'tip',
    provider: 'twitch',
    channel: '5f2de5dd9a474a2c2dc4d0ab',
    createdAt: '2025-10-17T14:56:53.420Z',
    data: {
      amount: 15,
      currency: 'USD',
      username: 'testUsername',
      tipId: '68f259357945c1f0aee7f3d7',
      message: 'This is a test message from imported tip',
      avatar: 'https://cdn.streamelements.com/static/default-avatar.png'
    },
    _id: '68f25935b0723e477a5a79a2',
    updatedAt: '2025-10-17T14:56:53.420Z',
    activityId: '68f25935b0723e477a5a79a2',
    sessionEventsCount: 8
  }
}

And channel.tips still isn't working for that, don't know the reason.

twilit orchid
feral quest
severe shell
# twilit orchid im trying to make a all in one widget that combines subs bits and tips into one ...

My suggestion:
If you don't know how to code (and don't want to learn), the best start is getting a widget that does something similar to what you want. #widget-share channel has some you could check.

Check how the widget works, what it does and what it doesn't.
From there you can send the widget code to ChatGPT/Gemini/Copilot/etc (HTML, CSS, JS, and FIELDS tabs), explain what it does and what feature you want to add.

You can also send these pages to the AI assistant, so it can have some documentation material:
https://docs.streamelements.com/overlays/custom-widget-events
https://docs.streamelements.com/overlays/custom-widget

Here some widgets you can check and install:

One Bar To Rule Them All
#widget-share message

Hype Goal
#widget-share message

All-in-one rotating goals widget for Twitch, Youtube or Facebook
#widget-share message

Hype goal bar
#widget-share message

next helm
#

Hi all 🙂

Asking this here as most regular SE users will not understand what I am talking about 😄

I used to have a REGEX to detect "non standard" or non-English characters and block them from chat. It used to work fine but it looks like the REGEX processing has changed so my code no longer works.

Can anyone advise on the syntax my old code would need to be now please ? My old one was........
[^\x{000000}-\x{0000FF}\x{00200A}-\x{002055}\x{0020A0}-\x{0020CF}\x{002600}-\x{0027BF}\x{00FE00}-\x{00FE0F}\x{01F300}-\x{01FAFF}]
but now shows as............

severe shell
# next helm Hi all 🙂 Asking this here as most regular SE users will not understand what I ...

I remember the banned words filter used to mention that the regex followed Google RE2, but it never specified the exact context. I'll ask internally and see if I can find an answer for that.
In the meantime, this is the closest equivalent for Google RE2:

[^\u0000-\u00FF\u200A-\u2055\u20A0-\u20CF\u2600-\u27BF\uFE00-\uFE0F]

But, according to ChatGPT, RE2 doesn’t support ranges for high-plane Unicode characters like emojis (U+1F300–U+1FAFF), so this pattern won’t filter emojis.

next helm
severe shell
next helm
severe shell
next helm
#

tyty 🙂

somber crow
#

hay guys i want to add chat box to my stream in obs i used the streamelements add new overlay but the stream tools option is not showing why is that

feral quest
#

Is there a unique identifier for users related to all socket api events that is not the username?

for instance, the channel.chat.message topic:

{
  "id": "01JY3ZPEVXTM7RZ0X7FXP1STCT",
  "ts": "2025-06-19T11:37:58Z",
  "type": "message",
  "topic": "channel.chat.message",
  "room": "5f2de5dd9a474a2c2aaaaaaa",
  "data": {
    "broadcaster_user_id": "28050000",
    "broadcaster_user_login": "exampleuser",
    "broadcaster_user_name": "exampleuser",
    "source_broadcaster_user_id": "",
    "chatter_user_id": "28057703",
    "chatter_user_login": "exampleuser",
    "chatter_user_name": "exampleuser",
    "message_id": "caf9fb9a-a702-486e-92f1-0c60a3a28f38",
    "color": "#8AE020",
    "message": {
      "text": "Test message with emote <3",
      "fragments": [
        {
          "type": "text",
          "text": "Test message with emote ",
          "cheermote": null,
          "emote": null,
          "mention": null
        },
        {
          "type": "emote",
          "text": "<3",
          "cheermote": null,
          "emote": {
            "id": "555555584",
            "emote_set_id": "0",
            "owner_id": "twitch",
            "format": [
              "static"
            ]
          },
          "mention": null
        }
      ]
    },
    "cheer": null,
    "badges": [
      {
        "set_id": "broadcaster",
        "id": "1",
        "info": ""
      },
      {
        "set_id": "subscriber",
        "id": "3012",
        "info": "55"
      },
      {
        "set_id": "share-the-love",
        "id": "1",
        "info": ""
      }
    ],
    "message_type": "text",
    "reply": null,
    "channel_points_custom_reward_id": null
  }
}

and the channel.tips topic:

{
    "id": "01JMFBZF7KSRDDXXV0EH7G8X6G",
    "ts": "2025-02-19T15:07:17Z",
    "type": "message",
    "topic": "channel.tips.moderation",
    "room": "5ad23dcc18fff500d78c5348",
    "data": {
        "donation": {
            "user": {
                "username": "Styler",
                "geo": "ZZ",
                "email": "styler@streamelements.com",
                "channel": "5ad23dcc18fff500d78c5348"
            },
            "message": "",
            "amount": 4.2,
            "currency": "USD",
            "paymentMethod": "scheme"
        },
        "_id": "67b5f39d07ecd4c594e60f73",
        "channel": "5ad23dcc18fff500d78c5348",
        "provider": "paypal",
        "approved": "allowed",
        "status": "success",
        "createdAt": "2025-02-19T15:07:09.302Z",
        "updatedAt": "2025-02-19T15:07:17.099Z",
        "transactionId": "2YH79902JR1691017"
    }
}

Both show the user details but nothing is really unique that exists acros either except the username field.

#

Is there a way to make sure of tracking who donates so I can show recognize later when they chat.

#

a unique identifier across both events

severe shell
feral quest
#

is there no mock data to how that could look?

red otter
#

Hello, hello. I'm looking for some assistance with a particular problem. I'm new to referencing events and things, and also pretty inexperienced with JS. I understand what I'm trying to do, conceptually, but getting that to reflect in my code output is the issue.

//This is used to make referencing the bar I'm trying to modify more convenient.
const fBar = document.querySelector("#mpInner");
//Executed when widget loads and defines initial values.
window.addEventListener('onWidgetLoad', function (obj) {
    let data = obj["detail"]["session"]["data"];
    let fieldData = obj["detail"]["fieldData"];
    //Omitted Timer functions to shorten code block.
    gProg(data);
});
window.addEventListener('onSessionUpdate', function (obj) {
    let data = obj["detail"]["session"];
    gProg(data);
});
//This is the part I'm confused about. I'm trying to figure out how to reference the follower events to update the goal bar's width. This was one method I stumbled upon, and I was wondering if I shouldn't just try to do that within the above event listener? Regardless, I can't seem to get the values to update when I emulate events on the SE widget builder. Any and all help would be appreciated. I've tried referencing multiple different things as strings and integers, and I can't seem to figure out which one actually works, since none of them seem to be doing the job.
let gProg = (obj) => {
    let count = parseInt(data["follower-session"]["count"]);
    let gValue = parseInt(data["followGoal"]["value"]);
    let p = (tSeshFol / gValue) * 100;
    let tSeshFol = count + parseInt(data["goalProgress"]["value"]);
    if (tSeshFol >= gValue) {
        p = 100;
    }
    fBar.style.width = p + "%";
};```
red otter
#

Upon further inspection, it seems that the emulated events are not updating the data for me, so I may have been right somewhere along the way. I tested this out with some premade code that's known to work, and got the same result of nothing updating. If anyone has an idea on what to do with that, instead, I'd appreciate it.

copper stirrup
#

Hello i'm new here just want to ask, why my tiktok acc get banned for no reason. I can live in my phone but not in OBS they say i don't have access anymore and should wait 7 days. Can anyone help me to remove the banned please?

severe shell
# red otter Upon further inspection, it seems that the emulated events are not updating the ...

Unfortunately, emulated events don't trigger onSessionUpdate, so it won't work for your case, it needs real events.
If you want, you can create a "real" event using this endpoint, replacing the body with the follow example (and removing the comments):
https://c4ldas.github.io/streamelements-api/#/operations/Post/activities/:channel

Since you said you're inexperienced with JS, I believe you aren't with API requests either. In this case, I suggest that you read here to understand how to get the Channel Id and Token:
https://c4ldas.github.io/streamelements-api/#/#how-to-use-it

#

Your request panel should look like this (of course, using your own token and channel id):

#

And then, click on Send API Request button and that should generate a new "real" follower notification

severe shell
uneven oxideBOT
#

@copper stirrup ⤵️

To open a support ticket, in #community-helpdesk type !ticket followed by a short subject (under 60 characters). Example: !ticket My chatbot isn't working. Then follow the bot's steps.

copper stirrup
spiral sapphire
#

hey random question how do i get multi chat working and is there a way to get a overlay for both chats

red otter
primal zinc
#

Q: How (if possible) can I add a image to my widget(s) in My Overlays screen ?

feral quest
#

I have sent multiple https://api.streamelements.com/kappa/v2/bot/{channel}/say post requests and while I keep getting status 200 and a correct body, My twtich channel is empty. There's nothing being actually said.

#

or am I mistake about what this does?

stiff scroll
#

having serious issue. I have messaged and emailed you. Tik tok has emailed you, my agent has emailed. Can you please turn back on my tiktok studio access its already been aprroved, its just wating on you

severe shell
severe shell
severe shell
red otter
# severe shell Well, using `onEventReceived` you won't be able to get the Session data, and you...

I appreciate the assist. I tried the API request that you mentioned before and was able to send the simulated follower events. I'm just struggling to figure out how to get the bar to update after the event comes through. Would I need a setInterval situation or should it be updating based on the event listener?

I'm really just trying to make a custom follower goal tracker to get a feel for how I'm supposed to be utilizing the data and events in the JS.

Edit: I noticed you also mentioned onEventReceived won't give you session data, so I'm basically trying to figure what's the appropriate approach for what I have in mind.

severe shell
# red otter I appreciate the assist. I tried the API request that you mentioned before and w...

Don’t think you need a setInterval. You can check the object on browser console and just update your widget based on the follower count.
Inside the onSessionUpdate, put a console.log(obj) and you can check it in the browser console (usually F12 or CTRL + SHIFT + J to open it)

If I were you, I would collect some goal widgets from #widget-share , check how it works visually, and then look at the code to try to modify it (that’s how I started learning).

Another thing you can do is send the code from any widget that does something similar to what you want to an AI assistant, explain what it does and ask to modify it to make what you want.

Most goal widgets follow the same logic, so sometimes it’s just a copy and paste thing.

spiral sapphire
red otter
mortal wagon
red otter
#

@severe shell I figured out what I needed, plus some more unexpectedly helpful info based on your feedback. I appreciate it. tanuki

To summarize, I was originally trying to set a number and then update it every time onEventReceived was triggered, which, thanks to your help and multiple tests while reading the SE widget info doc, I figured out was better for displaying event types and details outside of what I was trying to actually monitor with the bar.

Initializing it with onWidgetLoad and updating it with info pulled from onSessionUpdate was the solution, but I had to make sure my functions were in the right place, which ended up being another issue I resolved by taking your advice on looking in #widget-share.

I am still curious about that object.detail.event.amount usage, but I'll leave that struggle for another day. 😅

jaunty silo
#

Hello. I have made my own Spin Wheel, but i cant add my own song to play while spinning the wheel, anyone know how to fix this?

shy minnow
whole isle
#

I also wanted to talk about the bot:counter event. It does not seem to notify. The text widget appears to work, but I was hoping to just use raw JS to accomplish a widget.

whole isle
severe shell
whole isle
whole isle
# severe shell What text widget are you talking about? What do you want to be notified?

SE has a Bot Counter widget in the overlays builder. That is also exposed with the API as an event called bot:counter. Playing with that event, when the counter is updated the event is never called. Wondered if I was doing something wrong or it is now deprecated. Even logging all events I do not see it. However, their Bot Counter updates just fine.

Use case is obviousely a counter of some sort, but I would like to avoid having to overlay the counter object on the HTML/CSS counter disolay I am making. Instead just have a hook on the event to update the DOM.

#

Wait a sec, maybe a false alarm on this... I went to review what i was doing, and added the counter and started incrimenting it. It appears the event is working. I removed the widget and tried again, and it didnt work, I saved and reloaded and it works still. So, i think it has something to do with the way the page was loading? Not worth tracing, but it does appear as if that event will work on page load.

severe shell
severe shell
# whole isle SE has a Bot Counter widget in the overlays builder. That is also exposed with t...

You can see it using onEventReceived:

window.addEventListener("onEventReceived", async (obj) => {
  if (obj.detail.listener == "bot:counter") console.log(obj);
});

If you want to check the current value of a counter at the start, you can use SE_API.counters.get() on onWidgetLoad:

window.addEventListener("onWidgetLoad", async (obj) => {
  console.log(await SE_API.counters.get("YOUR_COUNTER_NAME")); // {"id":"YOUR_COUNTER_NAME","count":4}
});
shy minnow
whole isle
quaint solstice
#

hello! i have a question regarding custom chat widget customization. ive set it up fully and customized what i wanted, but one obstacle ive hit that i cant seem to figure out is how to make the username box background color the color of the username, instead of the text. i've messed around in JS but i havent found any luck, so i thought id ask here. any help would be greatly appreciated!!

quaint solstice
#

oh that makes a lot more sense than what i was trying LOL, thanks for the tip!! ill come back if i run into any other issues

#

i assume that i can grab the username color the same way as in js? or do i have to do it differently

severe shell
quaint solstice
#

i see yeah! then how would work to transfer that variable to html for it to use it? or should i use the html inside js where the html parsing happens?

#

if it helps my base code comes from justlx's customchat

severe shell
quaint solstice
#

this one right here

#

there is little i changed in the js since most of my changes were to the css for appearance, so thats mostly what you can go off of

severe shell
#

Lines 101 to 104. You already have that. Just change the color:${color} to background-color: ${color}

quaint solstice
#

...HOW DID I NOT THINK OF THAT

#

you sir are a lifesaver

#

thank you so much for your patience haha i cant believe i overlooked that variable

severe shell
#

Sometimes we are too focused in a specific thing and we forget to look at some basic things. It's good to have someone from outside for that 😄

quaint solstice
#

exactly 👏 that truly is the life of a programmer lolol

#

have a nice day and thanks again!!

mortal wagon
#

On SE where do I find the type variables available to use uploaded sounds / images to SE

#

Tried image-input but its wanting a link, I wanna use SE's uploaded images.

#

nvm Im stoopid

#

had an extra I in image

#

Now to figure out why TF audio queue's wont trigger PepeThink

mortal wagon
#

Anyone able to assist I cannot for the life of me get audio to work 🙁 and Im so damn close to have my ARC Raiders alert working.

rancid kernel
#

i want to use stream elements to make a custom chat from scratch with badges emojis what platform there watching on and much more how can I do this

severe shell
# rancid kernel i want to use stream elements to make a custom chat from scratch with badges emo...
  • Get some chat widgets from #widget-share, check their codes and see what they do.
  • Check the overlays documentation here: https://docs.streamelements.com/overlays
  • Chat message objects can be seen from onEventReceived, inspect the objects for each platform and take whatever you want from there. Different platforms have different message structures.
  • Use the search on this channel, there are many questions answered here.
  • If you have any specific questions about custom widgets, just ask here.
severe shell
mortal wagon
#

BREH ITS CODE PASTE cynoclSad

#

Oka pardon the spam... >.< forvive me SE bot

Iv got this little chunk of code for trying to play the audio iv got uploaded to SE

function getSoundURL(field) {
  if (!field) return "";
  if (typeof field === "string") return field;
  if (field.sound) return field.sound;
  if (field.value?.sound) return field.value.sound;
  if (field.value && typeof field.value === "string") return field.value;
  return "";
}

function getSoundVolume(field) {
  if (!field) return 1.0;
  if (field.volume !== undefined) return parseFloat(field.volume) || 1.0;
  if (field.value?.volume !== undefined) return parseFloat(field.value.volume) || 1.0;
  return 1.0;
}

function playSound(field) {
  const url = getSoundURL(field);
  const volume = getSoundVolume(field);
  if (!url) return;
  try {
    const audio = new Audio(url);
    audio.volume = volume;
    audio.play().catch(err => console.warn("Autoplay blocked:", err));
  } catch (err) {
    console.warn("Failed to play sound:", err);
  }
}
#

Iv got this in fields for each of the sound bites subSound etc

  "followSound": {
    "type": "sound-input",
    "label": "Follow Sound",
    "value": ""
  },

An this in data as its a static value
"followSound": "https://cdn.streamelements.com/uploads/01k36j1ddj9k0pmpepy20kex7m.mp3",

#

and this listener for the follower alert

  if (listener === "follower-latest" && fieldData.enableFollow)
    showAlert(username, "NEW FOLLOW", fieldData.followColor, fieldData.followSound);

  if (listener === "subscriber-latest") {
    if (months > 1 && fieldData.enableResub) {
      showAlert(username, `RE-SUB X${months}`, fieldData.resubColor, fieldData.resubSound);
    } else if (fieldData.enableSub) {
      showAlert(username, "NEW SUBSCRIPTION", fieldData.subColor, fieldData.subSound);
    }
  }
#

Not sure what im botching but I got all the visuals but no audio.

#

I initially though it was because of a possible missing "volume": "" field but according to the docs "value": "" dictates the volume coz SE handles the widget schema.

mortal wagon
hardy walrus
#

Website got auto-whitelisted after bot did a cursory look at it.

Should be good to go from now on.

mortal wagon
#

whelp too late now Iv spammed the channel xD but good to know lol.

rancid kernel
#

I have a quick question. I want to make a really customizable chat for my stream with all the features that anybody could want and ask for but I have no idea how to code and I'm going to do it in visual studio using the AI. How do I set this up?

mortal wagon
#

Oka, Audio works in OBS but not in browser... anyone any suggestions?

jaunty silo
fading briar
#

sir, u can make chat for bahasa

potent halo
chrome mesa
#

Hello, I created my alerts using Streamelement. When I emulate an event, the alert appears correctly in OBS, but there's no sound. My sound settings are correctly configured.
What could be causing the problem?

normal smelt
#

👍

kindred portal
#

Hey!
I’ve seen several streamers (kaicenat, stableronaldo and more) who have a !setgoal or !subgoal command that automatically updates the goal number shown on their sub goal widget.

Right now, I’m using a label that shows the current sub count like {count}, and then I’ve manually added /250 for my goal. But I’ve noticed that some streamers can change that goal live — for example, if a mod types !setgoal 300, the widget updates from /250 to /300 automatically.

I’ve looked into the streamers commands and they are using something like ${count subgoal ${1}}, so I’m guessing that’s part of it.

Could anyone please explain how I can set this up, so that my mods can change the sub goal number (e.g. 250 → 300) without me having to edit it manually in the overlay editor (like this !setgoal 300) Thanks a lot!

severe shell
kindred portal
hardy furnace
#

my timers havent been working for some time now. i changed the intervals to 1 minute 1 line and it works. switched it back to a more suitable time/line and nothing. Can anyone please advise??

unkempt mango
#

Where in the new StreamElements UI can I find the Share overlay (or Share widget) option for a Kick-only account to generate a link that opens the Create/Add overlay import flow in StreamElements, instead of the current button that just opens the chat in a new window?

#

I don't see a share button

hardy walrus
torn notch
#

Hello ! We Still can't add delay on outputs no.. ?

lean igloo
#

Both of the docs links in the topic of this channel 404 too lol

proud spade
#

As do the other two

lean igloo
#

Hah they do now, but two minutes ago "The service was unable to fulfill the request. Should the problem persist, contact Stoplight support."

potent patio
#

Hi

severe shell
# lean igloo Okay, so which API site is actually the correct one that developers are supposed...

They are different implementations for real time communication between SE and your application.
The one from docs.streamelements.com (Astro) uses the Websocket API.
The one from dev.streamelements.com (Realtime) uses socket.io, which is a library that simplifies real time communication. It uses websocket, long pooling and webtransport.

You can use either of them, both are correct, but they provide different responses.

lunar iron
#

@severe shell is this legit or scam?

hardy walrus
lunar iron
#

Thanks!

lunar iron
#

i have it here

#

so its legit? ||@hardy walrus ||

hardy walrus
#

If you see the same in your dashboard then yes.

pale sparrow
#

editing my alers not going in detail with it as i just wanna set it up for now and i cant figure out how i can make the next take a new line, i want it to cut off stream and the with amount viewers be below it, ive tried putting \n and <br> but it just shows them

pale sparrow
#

i would delve into the custom css coding but id have to start from scratch and i dont know how to link the alert i have that i uploaded to streamelements' assets

pale sparrow
#

for me it auto codes in a <br>

#

its barely seeable but it has a tremendous gap without any coding or custom stuff

#

did use enter btw and it does that large <br> gap

severe shell
pale sparrow
#

line height worked ty, it was miving it down so i though it was like padding

severe shell
serene sail
#

anyone knows why me chat doesnt appear in obs

#

my*

timid bough
#

When devs are going to add 18+ Audience Control from TikTok?

proud spade
timid bough
proud spade
#

Submit a ticket and ask for it; I haven't seen any requests to implement it yet.

uneven oxideBOT
#

To open a support ticket, in #community-helpdesk type !ticket followed by a short subject (under 60 characters). Example: !ticket My chatbot isn't working. Then follow the bot's steps.