#dev-chat

1 messages Β· Page 67 of 1

elfin arch
#

took me a while to find it @terse crest but i remembered making an example a while back. It is old code but should work for easy testing: #dev-chat message

terse crest
#

nah I don't want to create a widget for that. But it seems like the only way, because the customapi response from jebaited.net will also be posted in the chat

elfin arch
hardy walrus
#

I'd have to look but I believe he has a variable to hide that kind of stuff.

#

Might've just been for his points thing.

terse crest
#

and apparently jebaited.net says 404 if I try to put a %2F as a / in the message

elfin arch
terse crest
#

yep, it all "almost" worked out

hardy walrus
#

?format=empty

terse crest
#

thanks for figuring it out with me tho πŸ™‚

hardy walrus
#

Not sure if it'll work with this but Β―\_(ツ)_/Β―

terse crest
hardy walrus
#

This is jebaited.

terse crest
#

not working at all for some reason

#

well it doesn't matter if it doesn't support slashes lol

hardy walrus
#

${pathescape} perhaps?

terse crest
hardy walrus
#

I know.

#

See if that makes a difference.

terse crest
elfin arch
#

that is um... i donno what's going on there

#

is that from your API?

terse crest
#

well, there's no such thing as perfect code

terse crest
elfin arch
#

fair

#

that is a POST as well so can't be in the customapi

#

...at least i don't think a custom API can do a POST.

terse crest
#

but it works via GET too, except for / at the start

elfin arch
#

oh? try with \/

#

it's converted to JSON to send

terse crest
#

Oh I see you think I didn't tried...

elfin arch
#

heheh wasn't sure.

#

give me 5 min; i'm API it. i'm on an "make your own API" bender

terse crest
#

I guess I'm just lazier than you are

elfin arch
#

hahah. i'm almost done; just need to test

terse crest
#

the fastest hands in the entire wild west xD

elfin arch
#

https://chatbot-api.pjonp.repl.co/api/rouletteto?jbToken=JBTOKEN&user=TARGET *disabled. fork replit below.

terse crest
#

btw what is the default timeout duration?

elfin arch
#

5 minutes

hot trout
#

Pretty sure it’s 10

elfin arch
#

oh; yup. it's 10 minutes

terse crest
elfin arch
#

should do timeout then 'you lose'.

#

add &toTime=SECONDS at the end for a duration

terse crest
#

was gonna ask lol

elfin arch
terse crest
#

also it would be perfect to remove the response at all

elfin arch
#

I thought you wanted the timeout + response?

terse crest
elfin arch
#

?

terse crest
#

forked it

elfin arch
#

you get 1 message from the Module. if you want 2; then API to send the /timeout and follow up with response

terse crest
elfin arch
#

the fetch sends the /timeout user to jebaited to send to chat then the API returns the "you lost" which the chat bot grabs as the expected ${customapi} response and sends that

#

and the was quick code; so do some testing as needed an use the ENV variables and don't have your token in the actual code

terse crest
#

imagine being timed out for a second for each point you lose KEKW

terse crest
north tartan
#

@elfin arch btw, thanks for the help earlier! I managed to update my widget to add points automatically SEHug . Just a thought, is it possible to save information in streamelements through a custom widget? similar with how viewer points are saved?

willow bane
#

@random comet Sorry for the ping, I'm writing to see if you managed to fix the widget, I write that the game I was trying to get the hours played and current price, in the region of Spain is 7 Days To Die.

uneven oxideBOT
#

@pulsar willow, posting multiple links will result in not being able to post again.

cyan valve
#

how can i use text to speach in js?

fringe gorge
#

Hello, I have couple of videos of widgets that I want to learn how to make it, can I send the videos here or it's Forbidden?

opaque wasp
random comet
willow bane
#

I could even use just the hour count. xD

#

np

coral cape
#

Hi, I am once again trying to solve a problem, just noticed this channel, the #helpdesk-twitch has not been helpful the past several times but...

How can I program an image to vanish during an event? I have 2 gifs that one is always there as an image object, one is only during follow events. When an event plays they overlap and it's ugly. I want to hide the idle animation while the action animation plays

mystic kraken
#

It sounds to me like the idle animation would need to be displayed using a custom widget, and have custom javascript and css handle the disappear and reappear effect. Sort of the inverse of an alert box.

coral cape
#

I can't figure out the event handles in it. I put some in and nothing happened. Eventually I found a tutorial on how to do the coding for an alertbox. It took hours of digging to find that only tutorial that had anything on code. Everything else is setting up and not coding

hot trout
#

What did you try exactly

frank lake
#

Is there a way to automate stream alert variations? For example if I want 100 variations for sub alerts do I have to do all of them manually?

pulsar willow
# coral cape I can't figure out the event handles in it. I put some in and nothing happened. ...

If you decide to use a Custom Widget, you can listen for events by adding a callback function like this:

Javascript:

window.addEventListener('onEventReceived', function (obj) {
  // Filter events for desired ones. In this case: chat messages.
  if (obj.detail.listener !== 'message') return;
  
  // Prints a message to the console (F12).
  console.log(`message received: ${obj.detail.event.data.text}`); 
});

As this is a bit clunky, you might find Reboot0's widget tools very handy.
https://reboot0-de.github.io/se-tools/index.html

To use it, you add the <script>-tag from the above website to your HTML.

After that you can write something like:

Javascript:

function onMessage(msg) {
  console.log(`message received: ${msg.text}`);
}

This works the same for all other kinds of events:
https://reboot0-de.github.io/se-tools/tutorial-Events.html

pulsar willow
frank lake
pulsar willow
# frank lake just different alert images

Do you use a custom widget or a built-in SE alert widget?

I ask that, because custom widgets can utilize the "multiple" parameter for input fields:

  "someVideo": {
    "type": "video-input", 
    "label": "Video:", 
    "multiple": true
  }

That way an array of URLs is returned.
You then could calculate a random index.

opaque wasp
#

Is it possible to check if the streamer is actually in live via SE? I was thinking about sounds triggered by chat messages, but a streamer wouldn't like random sounds when he's not in live but he has just OBS opened.

coral cape
frank lake
thorny forge
#

I am not sure if I am in the correct place, but I will try to ask anyway.

If you want to set the game, some games need to have the quotation marks (when there is one or more words), for example: "F1 2021". So I was trying to make the command that will add quotation marks to the simple ${setgame <game>}

And to check it, I made two commands:

  1. !test -> "${1:}" And this one looks to work fine. Input: !test F1 2021 Output: "F1 2021" (quotation marks added), and then I put the same command to the second one ->
  2. !sg -> ${setgame "${1:}"} and here I have a problem, even if I used "${1:}" that should return to me exactly the same result as above, so "F1 2021", it returns only the first word after the command so !sg F1 2021 is still interpreted as: !sg F1 instead of "F1 2021".

ps. I know that the easiest way would be just to add the quotation marks manually, and forgot about the case, but I actually want to know where is the problem in my thinking.

coral cape
severe shell
#

No need of quotation marks

severe shell
cyan valve
#

is there a list of all streamelements tts api voices? (/kappa/v2/speech)

cyan valve
#

oh okay. and is there like a list with what voice is what language etc.

elfin arch
#

not that i've seen, no. just kind of the prefixes to give it away like "en" for English. and also not all voices work

cyan valve
#

yeah but for the "names" for example brian etc its not as clear

elfin arch
#

correct. i've never seen a lis tthat maps them like in the Alert widgets and gives the language + name. Just trial and error or look at that list to get the name

severe shell
pulsar willow
# frank lake Ohh ok gotcha. Is there a template for a custom alert widget? Sorry I'm new to t...

I assume the example code of a new custom widget can be seen as a template?

I also created this example (which uses 'Reboot0s Widget Tools' and also heavily borrows from Reboot0's examples):
https://jsfiddle.net/kvj4nhwe/
https://pastebin.com/9qQVuXcH (goes in the 'Fields' tab)

It uses videos, because this is the most complicated type of media (imo) and every other type should be easier to handle.
Please note that events will get ignored when there was/were no video(s) provided for the event type.

It is also only meant as a starting point. So there is a lot of room for improvement.

https://reboot0-de.github.io/se-tools/index.html

pulsar willow
# coral cape Alright! Got it working to the point where I can hide and show elements as I wis...

There are also transitions (which are pretty much just a shorthand notation for easy css animations).
Here is some example code: https://jsfiddle.net/ou9vfL04/

And if you want to go full fancy, there is the animate-css library πŸ˜„ (https://animate.style/)
https://jsfiddle.net/jncsy6dh/

Animate.css is a library of ready-to-use, cross-browser animations for you to use in your projects. Great for emphasis, home pages, sliders, and attention-guiding hints.

coral cape
#

I searched this one, thought it would be an easy search, but not finding anything

Edit: found a temp workaround using default objects instead of coding it

last yacht
#

hey could i possibly get help setting up my sound alerts?

elfin arch
#

if you have already opened a ticket then it is in the queue. this is the wrong channel the ask.

elfin arch
#

and i can almost promise you will get.... [i give up on the bot commands]

elfin arch
#

give me a min @copper tundra ... gonna do a quick check for the fonts

elfin arch
#

... i am not seeing an import issue to OBS.

#
<div id='main'> TEST FONT</div>
copper tundra
#

Hmm. I'm not sure why I wouldn't be seeing it reflecting on my end. I actually just updated to 27.2.0 now too. Disabled custom CSS, nothing.

#

and I've actually have it happening on two different browser sources.

elfin arch
#

i'm also on 27.2 OBS; does that work?

copper tundra
elfin arch
#

most likely πŸ™‚

copper tundra
#

If I link the overlay, could you tell if there was anything off with it?

#

I didn't make this myself, got this widget from this discord I believe actually.

elfin arch
#

don't link overlays! never share overlay links.

copper tundra
#

Will do!

terse crest
elfin arch
pulsar willow
# coral cape Thanks! I used you and <@456226577798135808>'s help there I have 1 more item be...

Where do you use {{name}} and is there a corresponding field in the 'Fields' Tab?

Afaik, those {{fieldName}} bits are only replaced in the HTML, CSS (and JS, but may hurt readability).
In your specific case it would get replaced with the value of a corresponding "name": {...} field (in 'Fields').

However, if you use it in 'Fields' as a placeholder for a runtime value, you would need to replace it later on.

Example:
Lets assume you have a field "follow_text": {...}:

  "follow_text": {
    "type": "text", 
    "label": "Text:", 
    "value": "{{name}} just followed!"
  } 

Replacing it in JavaScript:

// global variable that holds all field data.
let fieldData;

// 'fieldData' is initialized when the widget is loaded.
function onWidgetLoad(obj) {
  fieldData = obj.detail.fieldData;
}

function onFollow(data) {
  // the line breaks are only for readibility reasons.
  let actualText = fieldData.follow_text
      .replace("{{name}}", data.name)
      //.replace("{{other}}", data.somethingDifferent)         // can be chained, too.
  
  console.log(actualText);
}

Please note, that an existing ``"name": {...}field, could break this replacement code, as"{{name}}"would be replaced with its value. Might be a good idea to use[]instead of{}` to avoid such problems.

thin shuttle
#

Hello, does anyone here know the API?

elfin arch
thin shuttle
#

Oh, do you know if it is only for the creators to manage their own channel?

#

I want to get notified when items in a store refresh but i need a channel ID which i assume is private

elfin arch
#

channel ID is public; but you would need Bearer to read it.

#

and ... if you want to get the event it would be using the websocket.

#

there isn't a socket event for store changes

thin shuttle
#

I'm not sure what a Bearer is, but I see there is a GET request form store items and it requires a channel ID

#

How do I read the channel ID?

#

When I try to make the request, I don't get any authorization errors, only error for wrong channel ID it feels like. I'm not very knowledgeable in this field though

uneven oxideBOT
elfin arch
#

^ that's your ID

thin shuttle
#

Oh, do I need to make a StreamElements account to view other channel IDs?

elfin arch
#

you can only read your own channel information

thin shuttle
#

Because my goal is to get store information of another channel

elfin arch
#

it's neither public nor private; .... if that makes sense.

#

i'm not sure if you can grab that data; unless you are an editor/manager for that account

thin shuttle
#

Oh, so the API is probably only meant to manage one's own account then?

#

I didn't see any need for authorization for certain requests, and I was able to get 200 OK on certain requests without any extra information

#

So I assumed all that i needed was to get the channel ID, but maybe i'm missing the point

elfin arch
#

I'm unsure what you are going for? but most API calls will require the Channel ID in the request; and then your Token in the header

thin shuttle
#

All I want is to not have to check the store manually, if new items have been added or not

#

So I was gonna make an app that notifies new changes to the items in the store or something

elfin arch
#

You would not want an API for that then.

#

You would want a webhook

thin shuttle
#

I thought webhook was using API

elfin arch
#

a webhook sends you information .... like say you go live on Twitch; Twitch sends a webhook out, and Discord gets it and posts to your 'live channel'

thin shuttle
#

Oh, and StreamElements doesn't have this feature?

elfin arch
#

and API is a "check" so you have to request info

thin shuttle
#

But if a GET request sends me a list of all items doesn't that work?

#

You seem to know a lot about this field, can I ask you what you would do to accomplish what I'm trying to do?

#

I tried grabbing the HTML from the page source but the store list seems to be created dynamically

elfin arch
#

if... and hypothetically i had to do it; i would send an API request every 60 seconds and compare the last store object to the previous

thin shuttle
#

But I don't have the channel ID so I can't ask for the last object

elfin arch
#

if length is longer that means something was added.... but; depends on what you are expecting and how to handle removes and changes

thin shuttle
#

My problem is that I don't know how to access the information

elfin arch
#

are you a mod for the channel?

thin shuttle
#

No

elfin arch
#

then there is no way to get the info.

thin shuttle
#

If i just browse there manually I can of course see the list

#

It's a store that anyone can access

elfin arch
#

Correct. that is "API polling" you go to the website and see what is new.

#

The streamer would need to set up a webhook to Announce to you that something was added.

#

If it's not your account; then you can't check.

thin shuttle
#

If the store list wasn't dynamically added I could've seen the list in the HTML

#

So I would need an app that could mimic what an user does to access the website in order to see the contents maybe?

elfin arch
thin shuttle
#

probably every minute or so depending on how important it was to be quick

#

I'm trying to make this for a friend that doesn't want to hit refresh constantly when he tries to buy something

elfin arch
#

ya; this is sounding like a scalper bot type set up

#

🀣

thin shuttle
#

Just googled it, it sounds kinda bad XD

#

It would only send out a notification that an update has happened, it wouldn't buy anything automatically

elfin arch
#

ya; and the streamer would need to do that

thin shuttle
#

Appearantly there is no announcement as to exactly when it happens

#

Which is why he'd want such an app

#

But I might have to give it up

#

Anyways, I really appreciate your time and help πŸ™‚

elfin arch
#

πŸ™‚

thin shuttle
#

Maybe I'll have to check out that codecamp, if it can bring me to your level 😍

young fjord
#

Heyho,
I have been trying to build my first widget and wanted to slide gifs from left to right (doing this with css animations). The group of gifs start off-screen and slide to the right (also off-screen). The problem is that only the first gif is animated whereas the rest appear as still images. If I reposition the group to the screen, they will all be animated. Does Streamelements have some sort of culling I am not aware of?
Also I would like to add variations to my widget but I didn't find the option to do so (variations like in the alertbox). Is that generally possible or not?

cyan valve
#

is it possible to create a share link for a widget?

opaque wasp
hot trout
#

@young fjord variations are an alertbox-specific thing, in a custom widget you'd have to implement that as code

young fjord
hot wadi
#

I need help

#

Can u send me full code to music bot

polar forum
#

This is perfect, thank you!

foggy spade
#

Hello, can anyone tell me about Overlays, or rather, can I download My Overlays from the site?
Or are they only through the power and yuzat??
There is a possibility and the code is significantly in the constructor, but is it really possible to somehow separate the Overlay from there *//

HELP!!!!!!

lethal cliff
#

Guys how can I remove stream elements notifications from my server

#

They are pissing me off

#

It's so annoying

next shuttle
#

is there anyway to extract the first word from a tip message in JS? There is no container for the message itself so I cant set an ID in a <span>.

nimble chasm
#

i am not sure if this fits here. does anyone know where se.live stores its scenes? i want to transfer the data from windows to my mac but do not know where this data is stored

elfin arch
nimble chasm
#

that's what I thought.

#

with the normal obs i know where it saves everything. unfortunately it is different with the se.live version

elfin arch
#

it is the same place @nimble chasm.... .Live is just a plugin; just adds a dropdown menu into OBS

nimble chasm
#

~/Library/Application Support/obs-studio/basic/scenes

#

there is no folder :/

elfin arch
#

I'm not familiar enough with OBS for a good response; but I know for sure that .Live is just a plugin.

nimble chasm
#

ok that will help πŸ˜‰

elfin arch
#

πŸ™‚ you can uninstall SE.LIve and nothing will change to your scenes

nimble chasm
#

Yes now i understand this

#

i though live is an own obs version πŸ˜„

#

my bad

elfin arch
#

oh no.. hahah this isn't StreamLabs πŸ™‚ .... OBS crew if amazing and they are the best at what they do. No reason to mess with that.

#

SE just adds tools into what they do

nimble chasm
#

and this tools are awsome πŸ˜„

young fjord
pulsar willow
#

Regarding emotesplosions, is it possible to create a custom command to be used by mod that triggers based on command? I’ve been able to create a command but I only get 5 of the emote. In overlay settings, there is the option for number of emotes but the list of trigger events is static.

novel trench
#

Hi, my chat doesnt work, cant type, and cant see massages

mortal forge
#

Then how are you typing

mortal forge
#

Is any one home

opaque wasp
#

user sub tier isn't avaible via chat messages object right?

opaque wasp
elfin arch
opaque wasp
elfin arch
young fjord
#

Is it possible to manipulate the json portion of a custom widget via javascript?
For instance (dumb example, I know), I add a button to fields and when pressed, I add a field for an image or something like that.

tribal zenith
elfin arch
opaque wasp
tribal zenith
elfin arch
tribal zenith
mortal forge
#

Hello

#

How do i be mod

#

I wan to be mod

severe shell
mortal forge
#

Ok

#

Such a quiet server

next shuttle
# next shuttle is there anyway to extract the first word from a tip message in JS? There is no ...

let me rephrase. In the CSS editor for tips, the HTML file is the one being sent to the webpage to be used as a notification. The HTML file has the dono message in a paragraph, as opposed to the name, currency, and amount which are all in <span> with an ID for their container. Since its in a paragraph, it isnt accessible by the JS editor and so when trying to get the first word from the dono message to send externally (for a stream where top dono decides the word the streamer cant say) I cant access the message to send to another overlay to automatically update.

#

Is there a container I can use in place of a paragraph in the HTML file for the dono message that I can use for example <span id="message-container"></span> and then in the JS code use .quereySelector and .innerHTML to access the message and split the first word by using the .split(' ') function, use return message[0] or some other way to send the first word externally to a different overlay

opaque wasp
severe shell
pulsar willow
next shuttle
elfin arch
next shuttle
#

Oh cool. Thank!

opaque wasp
hexed vector
rugged oak
#

Hey guys, i trying to put RGB effect with css to some borders of my overlay, i did this code from my machine and is working well but when i try to put on streamElements i cant see this effect...some one can help me please?

#

ow guys, i discoverd hahahaha. The default configuration of CSS are overwritting my css

frank lake
#

I'm trying to add a font through custom CSS, other than importing the font from google fonts and setting the font-family is there anything else I need to do? Even though I've done both of those the font isn't changing

frank lake
spice cypress
#

use this as an import

#

font-family: 'Exo', cursive !important;

spice cypress
#

i use it its totaly fine

opaque wasp
#

I'm pretty sure I just broke SE's overlay editor while testing a custom widget probably because of an infinite loop. How should I proceed?

severe shell
opaque wasp
severe shell
opaque wasp
#

I don't have time to access the editor before it gets freezed again

severe shell
# opaque wasp I don't have time to access the editor before it gets freezed again

Well, we can try something here... It will give the HTML, CSS, JS, FIELDS and DATA, but each tab will be one line, you will need to format it later.

Part 1
You will need the Account ID and JWT Token, both accessible here (JWT is like your password, take care of it, click on Show secrets to reveal your JWT): https://streamelements.com/dashboard/account/channels
Copy them and go to the Streamelements API website. Go to the endpoint that will list your overlays: https://dev.streamelements.com/docs/api-docs/b642d46bee583-channel

Fill the fields on the right side
Token = Your JWT Token
Channel = Account ID
Search = Your overlay name (do not use symbols, if your overlay has any non-alphanumeric, rename it first to an easier name)
Type = Just type regular

Click on Send API Request. This will give you the information about your overlay. Get the key called _id (at the end of the result) and copy it, it is your overlay ID.

Part 2
Now go to the endpoint which will show the widgets in your overlay: https://dev.streamelements.com/docs/api-docs/af02de52998ec-channel-overlay-id
Same thing as before for token and Channel.
overlayID = The ID you copied from the previous result

Click on Send API Request. You will find a key called "variables" with the subkeys called css, html, js, fields, and fieldData. These are the fields you want. Copy it to your notepad and have fun reworking on it.

If you are fine with that, you can remove the overlay that is freezing your browser and recreate it.

Let me know if that works for you.

leaden kiln
#

Morning everyone, i am currently having an issue regarding the documentation. I am trying to learn how to make custom alerts with html/css/js but can't seem to find a documentation for it. Can someone help me regarding this?

severe shell
young fjord
#

How can I share my overlay? The old method (deleting the editor part and pastin the id into the share link) doesn't seem to be working for me. All it does is log me out and throw me back to the login page

uneven oxideBOT
#

@young fjord ‡️

Follow these steps to grant managers/moderators access to your dashboard:

  1. Click on your channel name at the top of the dashboard
  2. Create a new invite at one of three access levels (Bot Supervisor, Editor, Full Control)
  3. Send this invite to a mod/manager to give them access to your dashboard. The link is one-time-use and expires after 72 hours if not accepted

Video tutorial: https://youtu.be/zl_h-ttZDF0

young fjord
#

Ok but that would mean I or my friend had to give control over the whole design. I only want him to copy one of my overlays into his account which used to be possible with the share thingy but doesn't seem to be working anymore

hardy walrus
#

Unless you were given the special permissions you never could.

young fjord
#

Ah, ok. Thanks for the quick answer :)

static jewel
#

Hey! I am going through to upload a file onto my twitch overlay section and it keeps saying failed, but worked under my facebook one just last night. Is there an issue right now?

severe shell
static jewel
#

thanks!

severe shell
static jewel
#

works now!

severe shell
#

Close all Streamelements tabs you have open and open a new one. Try to upload the file and let me know

static jewel
#

@severe shell it works, but now the preview to emulate doesnt have the name listed out to show positioning

severe shell
opaque wasp
static jewel
#

It works, but I can't figure out why the preview name isnt coming up now

#

like the alert name is no longer showing

#

all the new ones I add the alert message doesnt show

severe shell
static jewel
#

Normally the alert name should show when you emulate it. Right now it does not do that when I insert the new customer video, but it worked on all of my FB ones last night

severe shell
# static jewel

Hmm, I think I got it.
Go to Text Settings > Advanced and change the top margin...

static jewel
#

THis is what they are at now. When I first inserted it they were at -235 and a blank number on the right

#

I adjusted it to this as that is the exact layout on my others, but it is not showing

severe shell
# static jewel

These are big values... But anyway, try to change them to 0 and start playing around with the numbers

static jewel
#

I see it now. Why is the other one set up on facebook so much differently? Shouldnt they match?

#

I got it! It was zoomed out so it is fixed!

#

Thank you!

severe shell
foggy spade
#

Hello everyone, I have a question, is it possible to apply the animation and appearance of the alert overlay to the DonationAlerts alerts?
Or is the design of alerts only valid when working with StreamElements and DonatePay.eu?

severe shell
winter creek
#

I got a alert set from NerdOrDie, if someone doesn't mind taking a look at the code for me, i'd love to change a animation on the alert portion in which a logo pops in/out, instead, i'd like it to just fade

gloomy kestrel
#

@severe shell

tribal zenith
#

rather tag @broken coyote for NoD stuff

severe shell
gloomy kestrel
winter creek
broken coyote
#

this would be correct. Our alerts are designed to work with stream elements and stream labs

thorny basin
#

I am helping my friend out with creating a custom alert for his Twitch stream. I have a problem with the font size.
Is there a way using HTML, CSS, JS or Jquery (without downloads) that allows me to make the font shrink based on its character length or its overall width?

Thanks

scenic jungle
#

Im having trouble with my alertbox. My gifs that I upload wont work for the subscriber alert only. The same gif will work for the follower tho

young fjord
marsh granite
#

^^

#

im not sure how alerts are coded but you can probably convert px to vh/vw in css

young fjord
marsh granite
#
let length = username.length;

if(length > 15){
<div class="forLongNames"></div>
}
else if(length <= 15){
<div class="forNormalNames"></div>
}
#

something like this i think?

opaque wasp
young fjord
# marsh granite something like this i think?

kinda. You have to give the div an id so you can manipulate it in javascript. For instance, <div id="usernameDiv"> in your html portion. Then you can do something like usernameDiv.style or username.classList.add("Yourclass")

marsh granite
#

ah yeah, gotcha HandsUp

thorny basin
young fjord
marsh granite
#

best you can manage is to cut-off the name with the standard alert widget in se

#

would look like VeryLongNamedPers…

#

afaik

thorny basin
#

I’m not the most familiar with coding is there anyway you can help me out.

severe shell
opaque wasp
young fjord
visual storm
#

Hey

#

Anybody here

#

I have a question

#

Can Streamelements do url fetch api calls like nightbot?

opaque wasp
#

@tribal zenith can I DM you?

hot trout
#

an alternative is to render your text as an svg element where this is supported natively, it's just that that has other drawbacks

thorny basin
visual storm
#

Can anyone help me about se chatbot for json api calls?

tribal zenith
visual storm
#

Can SE do even eval with json?

#

Am i wasting my time trying to convert from nightbot to se? xd

tribal zenith
#

eval is not supported, no

visual storm
#

Wow

#

Thats tough

#

Why? KEK

#

I thought Streamelements is more advanced then nightbot :/

opaque wasp
tribal zenith
opaque wasp
tribal zenith
#

you can even reduce the regex to /subscriber\/(?<tier>[2|3]0)[0-9]+/i

#

but yeah I'll add the subscriber check in there and return 0 for non-subs

opaque wasp
rotund salmon
#

Hey guys, does anyone know how to transfer a SLOBS widget to OBS using a stream elements overlay?

I have all the CSS code and all that, also I can export it to a .widget file, I just haven't been able to actually get it to work.

Can anyone help?

tribal zenith
terse crest
frank lake
tribal zenith
rotund salmon
#

Hey guys, does anyone know how to transfer a SLOBS widget to OBS using a stream elements overlay?

I have all the CSS code and all that, also I can export it to a .widget file, I just haven't been able to actually get it to work.

Can anyone help?

frank lake
#

SE Widgets can't interact with the SE chat bot right?

severe shell
severe shell
#

If you need more details, you can consult the "Overlay Editor documentation" from this channel description

rotund salmon
broken coyote
#

It will be. You'll need to with adapt your jS from SL. Or build a wrapper to adapt it

rotund salmon
broken coyote
#

Did you buy it from a company

rotund salmon
#

It was very long ago boost, honestly I do not remember.

broken coyote
#

Is it for the pixel pop I see on your vod?

rotund salmon
#

Uhh I think so lol

#

idk

broken coyote
#

Square widget

rotund salmon
#

yeah

#

that one

pulsar willow
#

anyway someone can help me with my problem on OBS

broken coyote
#

That's a nerd or die widget. You can redownload it. I made SE installs for it years ago

rotund salmon
#

Sorry πŸ˜…

pulsar willow
#

maybe i can screen share on a call?

broken coyote
rotund salmon
#

Got it πŸ™‚

pulsar willow
#

also do you guys take tips for hjelping etc?

pulsar willow
opaque wasp
frank lake
#

@severe shell @pulsar willow awesome thank you guys Dance

pulsar willow
#

i dont fully know how to explain but prettty much when i open my obs i dont have an option dock for stream title or like recent updates on who follows etc

#

@opaque wasp

frank lake
pulsar willow
#

To where I can’t really control my stream title

opaque wasp
pulsar willow
#

ok well just recommended this discord for me

#

so yeah

boreal cliff
#

I would like to setup a secondary Oauth Application for our QA team, am I good to just submit the API Access Application form detailing this?

terse crest
pulsar willow
bright linden
#

Hello, Everytime I open up Stream elements I have to sign back into Twitch. Problem started after last update. What can I do?

spiral jacinth
#

Hello! I've been having an issue with my overlay editor and the browser sources. Lately, the fonts that I've chosen for my widgets turned back into default and the font and buttons on the overlay editor have completely changed. What can I do?

jovial jolt
#

Hello everyone! through the API it is possible for me to see how many streamelements points I have in a channel?

severe shell
versed notch
#

Hello! I'm trying to use my business paypal account and when I enter my email associated with that, streamelements turns read saying "Enter your paypal email". If I enter my personal email (personal paypal), then it turns green and connects. But it won't let me use anything else except my personal email. How can I get this to work?

severe shell
versed notch
#

omg...

#

typing it in manually worked. i feel like a ditz, thank you! LOL

#

That's what I get for being lazy. Sorry to trouble you lol

severe shell
frank lake
#

I'm messing with Jebaited.net rn but am having some trouble with the fieldData variable. I have let fieldData; at the top of the js but when I try to console log it (or things like fieldData.token) it just comes back as undefined

#

nvm I forgot to add fieldData = obj.detail.fieldData; to the onWidgetLoad event listener lol

#

Now when I try to use sayMessage() I'm getting this error: TypeError: Cannot read properties of undefined (reading 'token') as well as TypeError: Cannot read properties of undefined (reading 'first'). Any idea what could be happening? When I console log fieldData.token it logs the token correctly

pulsar willow
fair geyser
#

hey,
yesterday i received a new update for OBS and StreamElements. After this update i have following problem: every time i start StreamElementsSE.Live or OBS Studios i need to relog in with Twitch.
This problem existed since the yesterday's update, unfortunately a new installation or reboot does not help.

Is there a solution?

fair geyser
#

okay, its working. Thanks

clear finch
#

Hi,

I'm working (hard) to change from StreamLabs to StreamElements and I'm still running into a few bumps that disable me from doing so. I've now created my progress bar based on a different progress bar to look and act the way I want except for one thing. I need a "goal" to start at a date, and then count from that date forward rather than just a single month, week, session or total. Especially for a donation goal. that any donation are counted towards it starting from (eg.) january 15th until it's completed

I've put my HTML/CSS/JS in a jsfiddle (I'm not sure how I can share my overlay through StreamElements) and would appreciate someone helping me to set up the goal bar so it can start counting from a date so I can finally make the switch

https://jsfiddle.net/7yv51q80/

#

oh and these are the fields

{
  "eventType": {
    "type": "dropdown",
    "label": "Pick event type:",
    "value": "follower",
    "options": {
      "follower": "Follower",
      "subscriber": "Subscriber",
      "tip": "Tip amount",
      "cheer": "Bits amount",
      "subscriber-points": "Subscriber points"
    },
    "group": "Goal"
  },
  "titleText": {
    "type": "text",
    "label": "Title text",
    "value": "Follower goal",
    "group": "Goal"
  },
  "goal": {
    "type": "number",
    "label": "Goal",
    "value": 50,
    "step": 1,
    "group": "Goal"
  },
  "final": {
    "type": "text",
    "label": "Completion text",
    "value": "",
    "group": "Goal"
  },
  "fontColor": {
    "type": "colorpicker",
    "label": "Bar color",
    "value": "rgb(55, 55, 55)",
    "group": "Design"
  },
  "back": {
    "type": "colorpicker",
    "label": "Background color",
    "value": "rgb(1, 1, 1, 0.7)",
    "group": "Design"
  },
  "fontName": {
    "type": "googleFont",
    "label": "Font name",
    "value": "Roboto",
    "group": "Design"
  },
  "eventPeriod": {
    "type": "dropdown",
    "label": "Pick period:",
    "value": "session",
    "options": {
      "session": "Session",
      "week": "Week",
      "month": "Month",
      "total": "Total",
      "goal": "Open goal"
    },
    "group": "Goal"
  },
  "labelSize": {
    "type": "number",
    "label": "Label font Size",
    "value": 15,
    "group": "Design"
  },
  "posX": {
    "type": "number",
    "label": "Position X",
    "value": -12,
    "group": "Position"
  },
  "posY": {
    "type": "number",
    "label": "Position Y ",
    "value": -12,
    "group": "Position"
  }
}```
#

and data

{"goal":150,"final":"- COMPLEET","fontColor":"rgb(238, 133, 37)","fontColorS":"rgba(227, 60, 180, 0.62)","back":"rgb(229, 229, 229)","borde":"rgb(238, 133, 37)","fontName":"Open Sans","titleText":"Follower goal","eventType":"follower","textPosition":"up","eventPeriod":"month","labelSize":16,"userLocale":"nl-NL","posX":0,"posY":0,"imagen":"https://cdn.streamelements.com/uploads/30b67a9f-7b5a-4142-b350-d9d627ef6c0d.png"}```
#

Please ping me if you reply, again, I'd greatly appreciate the help kcnlLove thanks!

severe shell
# clear finch Hi, I'm working (hard) to change from StreamLabs to StreamElements and I'm stil...

Well, in case you do not have another donation goal setup, you can just not increase the progress bar checking in JS if the current date is equal or higher than the initial date you want. When you reach the initial date, you can reset the donation goal in Session Data (https://streamelements.com/dashboard/session > Goals tab) and then start filling up your progress bar.

Or, (not sure if I'm overlooking something here, senior guys, please help me), you can store the donation values somewhere else, because there is no default way to choose a start date. You can do a date check and if the date is equal or higher than the one you set you can start counting and storing on SE_API, which is a small database to store custom values in key: value format (https://github.com/StreamElements/widgets/blob/master/CustomCode.md#se-api). You can use SE_API.store.get to check the current value and SE_API.store.set to create/change the value.

clear finch
#

I think you misunderstand (or I'm misunderstanding you @severe shell haha) I don't want to set the date in advance

#

I want to count all the donations from date X towards the goal, since it's an open goal

still juniper
#

That kind of historical info is not available to the widgets by default. But you can call the API directly to retrieve detailed info and filter it however you want (including date): https://api.streamelements.com/kappa/v2/activities/{channel} for all activities or https://api.streamelements.com/kappa/v2/tips/{channel} for just donations

pulsar willow
#

Hi, I just requested API access to the StreamElements API. Two questions:
(1) any idea how long the review process takes before I get a client id and secret? Can I expect an answer in a couple of hours/days/weeks?
(2) Is there a more complete oauth scope list anywhere than what's here? https://dev.streamelements.com/docs/kappa/ZG9jOjE4MDk3Njc-o-auth2#oauth2-scopes
I want to access the /:channel:/say, /me and /:channel/:user/:amount endpoints but I'm not sure which scopes would have to be requested for that

crimson flint
#

Hello, I am having an issue with long verification for SEPay. Is there anyone I can speak with?

clear finch
#

could be a week, could be a year, could be ten if I'm unlucky

low vessel
#

Hii! I'm not sure if this is the right spot to ask but I think it is the closest to:
I'm looking for resources/information/tips on how to go about starting with Twitch Chat Widgets. I want to make my own custom one with my own graphics but I'm really not sure about where to start. I've never done it before and I have very little experience with coding but I do have some with Python (really not much though). If anyone has any information for me that would be lovely!

pulsar willow
low vessel
#

Thank you!

still juniper
# clear finch how is it historical data? I just want an open goal instead of just "this sessio...

The "start now" use case is exactly what c4ldas referred to in their answer, and you said you didn't want to set the date in advance but to count from date X, so I assumed X was a past date (my assumption also based on you using January 15th as the example), and hence my answer

The code you shared already has an open goal option tied to the session>goals data, so as c4ldas said, reset those goals the day you want the bar to start filling up. Or, as he also said, you can alternatively store your own count in the SE store key-value database so you don't have to rely on the session>goals data (in case you don't want to reset such data for other reasons, as a reset also affects subs/followers/bits)

Maybe we're misunderstanding your issue, but then we probably need a clearer explanation of your use case and/or why your current code doesn't fit it

drifting bronze
#

new update for SE Live removed the edit stream info dock???

uneven oxideBOT
severe shell
rocky void
#

Hey! I just had a few questions about SE on how alerts work.

I use Restream and everything is pretty connected. Is there no way to connect alerts through SE and all the other stream sites so that if a follow alert came through, it would not be an awkward mess? If I have to use multiple alerts, that is fine, I was just curious

opaque wasp
#

selecting colors from variations menu causes problems, since the colors menu opens and the variation one get closed(it wont open again after choosing the color), the color selected is not getting saved too

severe shell
# rocky void Hey! I just had a few questions about SE on how alerts work. I use Restream and...

There is no configuration (at least on SE side) for this kind of integration as far as I know. So yeah, if you have alerts coming from different platforms, they will play independently.
Even if you have an overlay for Twitch, one for Facebook and another one for Trovo on your OBS (and all of them from SE overlays, for example), they won't be connected. So if you have 1 single alert on each platform at the same time, they will play at around the same time

rocky void
severe shell
spice cypress
#

I had a brief questions do arrow function on js is working on streamelements?

summer mesa
#

Good evening everyone! I hope you are having a good week and that the weather is being nice to you ✨

#

I'm using the boxed chat by Cocahh but was thinking about customizing it a bit further. Can anyone help me to position the badges to the right side of the container?

spice cypress
spice cypress
summer mesa
#

I know.. i just dont know the proper coding πŸ˜… i tried messing up with some stuff but didnt work

#

should i share the current code? (i changed a few stuff already)

spice cypress
#

what happen when you changed the code?

summer mesa
#

i tried messing up with the .badge stuff but nothing happened

opaque wasp
spice cypress
summer mesa
#

o>

patent valley
#

Hello, been using the Social Media Pop-Up widget by @mild cipher via SE. I'm using it as a social media/upcoming events rotator. How can I show the same social media icon multiple times as the rotator cycles through all of the field values? For example, want to 1. Show Twitch icon with text. 2. Rotate to Twitter icon with text. 3. Rotate to Twitch icon with different text. It appears I am unable to use the same Twitch icon multiple times. I removed the Twitch icons from the code in the fields and changed the labels to Twitch 1, Twitch 2, and Twitch 3 to keep track of the different text values but I cannot figure out to have the Twitch icon appear each time for Twitch 1, Twitch 2, and Twitch 3?

clear finch
clear finch
#

the "total" so to speak ?

#

because that would both explain a lot and fix my issue πŸ˜‚ haha

still juniper
clear finch
#

thanks man, I hadn't seen this yet! This might actually solve my problem for me πŸ˜„

#

Sorry I hadn't found this myself before spamming here, it's been a LOT of information and effort to switch from streamlabs to StreamElements πŸ˜…

#

Downsides of doing a lot of custom work haha

still juniper
#

No problem, I've been there too πŸ™‚

clear finch
#

underestimated it a little bit XD

versed merlin
#

Hey! I apologise if this has been asked / mentioned already; It appears Twitch has changed their API when it comes to userdata. Would someone have the update expressions for Userdata such as username etc, for stuff like Event Rotators?

clear finch
#

Hi, one more question... If there's a donation, is there a way to pass that on to a different API/Endpoint (such as MQTT message bus)?

severe shell
# clear finch Hi, one more question... If there's a donation, is there a way to pass that on t...

If you want to check that in real time, you will need to connect to Streamelements using websocket and listen for tips. When a tip occur, you can send the information to anywhere you want, but you would need to custom code that.
Here you have a code example on how to connect to SE websocket: https://dev.streamelements.com/docs/kappa/ZG9jOjYxMzcxNTY-connecting-via-websocket-using-o-auth2
If you don't have oauth2, you can use your JWT, but be sure to keep it safe.

still juniper
#

Technically you don't even need to connect to websockets, you could call the whatever API endpoint from within the onEventReceived listener

severe shell
still juniper
#

At the end there are small differences for both approaches, it all depends on your needs and use case and infrastructure. It's good to know the websockets alternative is there ^^

latent pollen
#

Hello everyone! I'm currently thinking about writing a plugin for touchportal to modify streamelements bot commands. My idea is to have a set of buttons, which I can use to pull new information from some other source and then update the respective bot command. Looking at the documentation, I need to request access to the API first. The form includes a mandatory company name but I'm just doing this for personal use. Is it possible to get access as an individual?

severe shell
# versed merlin Hey! I apologise if this has been asked / mentioned already; It appears Twitch h...

I'm not sure if I understood your question, but what changed was the Twitch API, so if you are working on SE widgets, you don't need to worry about it, you can use the event listeners on SE widget for that, like follower-latest, subscriber-latest:
https://github.com/StreamElements/widgets/blob/master/CustomCode.md#on-event

However, if you want to know the Twitch API endpoints (follower, for example), you can get them here:
https://dev.twitch.tv/docs/api/reference#get-users-follows

wind lynx
#

i've been having that issue, too. :/

severe shell
severe shell
latent pollen
stark wren
severe shell
# latent pollen Ok, good to know. What should my website show? ATM I don't have anything yet, si...

You need a working website to have something to show. Maybe the concept stage is not the ideal moment to apply as the staff needs to understand how it would work to approve the idea and send the credentials.
When you have something to show it is easier to get approval. It is like "Hey, look! I have this so far, check how it works, but I would need oAuth2 to be able to have this to access that and that"

latent pollen
static jewel
#

For some reason when I add the cheers option as an alert it never transfers over it just stays the same on stream. Any reason as to why that would be?

hardy walrus
static jewel
#

thank you!

pulsar willow
severe shell
#

1 - I don't know, unfortunately, the process was recently opened, so it depends on the people who does the analysis of each application. I know it is not by hours for a response
2 - I also don't know, I don't have access to oAuth2 application, I'm just a normal person, not part of the staff, sorry 😦

marsh granite
#

Hi, I'm trying to read the contents of a field via if-statement in js and its returning undefined

#

the error: Uncaught TypeError: Cannot read properties of undefined (reading 'chatIdenAll')

uneven oxideBOT
#

@marsh granite, posting suspicious links will result in not being able to post again.

severe shell
plucky rain
#

crud, im on my alt. the bot interpreted a link to a twitch badge image and a link to streamelements api as sus links

#
    const fieldData = obj.detail.fieldData;
    animationIn = fieldData.animationIn;
    animationOut = fieldData.animationOut;
    hideAfter = fieldData.hideAfter;
    messagesLimit = fieldData.messagesLimit;
    nickColor = fieldData.nickColor;
    customNickColor = fieldData.customNickColor;
    hideCommands = fieldData.hideCommands;
    chatIdenAll = fieldData.chatIdenAll;
    chatIden = fieldData.chatIden;
    chatIdenStr = fieldData.chatIdenStr;
    chatIdenMod = fieldData.chatIdenMod;
    chatIdenVIP = fieldData.chatIdenVIP;
    chatIdenSub = fieldData.chatIdenSub;
    chatIdenVer = fieldData.chatIdenVer;
    lightMode = fieldData.lightMode;
    msgDisplay = fieldData.msgDisplay;
    channelName = obj.detail.channel.username;
    fetch('streamelements api link' + obj.detail.channel.id + '/').then(response => response.json()).then((profile) => {
        provider = profile.provider;
    });
    if (fieldData.alignMessages === "block") {
        addition = "prepend";
        removeSelector = ".message-row:nth-child(n+" + (messagesLimit + 1) + ")"
    } else {
        addition = "append";
        removeSelector = ".message-row:nth-last-child(n+" + (messagesLimit + 1) + ")"
    }

    ignoredUsers = fieldData.ignoredUsers.toLowerCase().replace(" ", "").split(",");
});


function badgeOptions(){
    let badges = "", badge;
    if (provider === 'mixer') {
        data.badges.push({url: data.avatar});
    }
    for (let i = 0; i < data.badges.length; i++) {
        badge = data.badges[i];
        if(chatIden === 'show' && chatIdenAll === 'hide' && chatIdenStr === 'show' && badge.type === 'broadcaster'){
            isBroadcaster = 1;
            badges += `<img alt="" src="broadcaster badge on twitch cdn" class="badge"> `;
            log('chatIdenAll = false; isBroadcaster');
        }
}```
severe shell
still juniper
#

also, you should learn object destructuring syntax, your life would be easier ^^ (not related to your problem, just a tip)

pulsar willow
#

Would it be a problem if a custom widget I plan to share, includes a data url?

let img = new Image();
img.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABEAQAAADljNBBAAAAC0lEQVQI12NgAAIAAAUAAeImBZsAAAAASUVORK5CYII=';
...
hot trout
#

no, many already do

hardy walrus
#

@marsh granite That mute has been fixed.

marsh granite
#

thanks!

severe shell
marsh granite
marsh granite
#

so im guessing the problem fixed itself

severe shell
marsh granite
#

yeah

severe shell
#

πŸ˜„

marsh granite
#

sorry for the confusion

pulsar willow
frank lake
nimble goblet
#

Developers I have now tested the giveaway of Streamelements, it is not random winner it is rigged to last persons that joins the giveaway, can someone here develop exactly the same giveaway, same features which is not rigged. I have a video to prove it uploaded YouTube. Did 6 giveaways in a row run yesterday! The last 5 that joined was the winners. I will pay 10 euros if you fix the problem for me. πŸ˜„

opaque wasp
#

that honestly sounds so strange

subtle imp
nimble goblet
# opaque wasp that honestly sounds so strange

I agree, but my entire community saw it in a lot of giveaways, I have it set to subscriber luck 5. it skips non subs. Which is probably low chance anyway. But otherwise you can name call the last 5-6 persons that are subbed and joined last, call them to be winners. I hope they solve it. πŸ™‚

severe shell
blazing flame
#

Hello i need some help asap.
Im looking for a widget that could ad like 20 on a counter when i get one sub and the same for bits.

frank lake
severe shell
pulsar willow
# frank lake Here's the `sayMessage()` function ``` const sayMessage = (message) => { mes...

You said that those errors don't occur when you log field values.
Does the logging also happen in the sayMessage() function?

In case it didn't:

const sayMessage = async (message) => {
  message = encodeURIComponent(message);
  
  let url = `https://api.jebaited.net/botMsg/${fieldData.token}/${message}`;
  console.log(url);
  
  let response = await fetch(url);
  let text = await response.text();
};

The easiest cause I can think of would involve a local assignment instead of a global one.
There is no such statement as the following in your onWidgetLoad() function, right?

function onWidgetLoad(obj) {
  ...
  const fieldData = obj.detail.fieldData;     // there shouldn't be a 'const' or 'let' in front of fieldData
  ...
}
frank lake
frank lake
pulsar willow
# frank lake Ok so when I `console.log(url)` in the `sayMessage()` function I get the same er...

Very strange. At least in my example widget it seems to work properly.

Does the same happen when you run a minimal version like this?

let fieldData = {};                 // Data from 'Fields'.

const sayMessage = async (message) => {
  message = encodeURIComponent(message);
  
  let url = `https://api.jebaited.net/botMsg/${fieldData.token}/${message}`;
  console.log(url);
  
  let response = await fetch(url);
  let text = await response.text();
};

window.addEventListener('onWidgetLoad', function (obj) {
    fieldData = obj.detail.fieldData;
    sayMessage("This is a test message.");
});
severe shell
pulsar willow
#

well, that explains a lot πŸ˜„

severe shell
#

Or... Just forget the onWidgetLoad (because the alert is a onWidgetLoad by itself) and use {{}} to your fieldData items. You can use {{token}} like this:

const sayMessage = (message) => {
  message = encodeURIComponent(message);
  return new Promise(resolve => {
    fetch(`https://api.jebaited.net/botMsg/{{token}}/${message}`).then(response => response.text()).then((text) => {
      resolve(true)
    })
  });
};
sayMessage("This is a test message.");
severe shell
frank lake
severe shell
frank lake
severe shell
still juniper
#

It should work... I'm wondering if it has to do with SE replacement of variables, seems like maybe {message} was interpreted as a fieldData variable before string interpolation? Because otherwise, whatever message is (including empty or undefined or whatever), string interpolation would have removed the dollar sign

On a side note, fetch already returns a promise, there's no need to wrap the call into another promise (especially because you're always resolving it). If you need/want to return a promise, just do return fetch(...). Although given the use-case, you probably don't even need to further handle the promise and not even await for it, so just do fetch(...).catch() (the catch to avoid the program stopping on errors)

cerulean sparrow
#

I got the problem. I have to use v3, not v2 in link

hot trout
#

the widget code has the {} variable replacement done before it executes

#

which is why it's a bit weird that SE allows both {variable} and {{variable}}, as doing only the latter would make more sense and mostly solve that problem

still juniper
hot trout
#

it mean it only breaks if you use a {var} that exists

#

I think {message} doesn't exist for custom widgets but it does for alertbox

still juniper
#

uhm... that might be it

hot trout
#

imo SE shouldn't do those {} variable replacements at all on js code

#

but it's too late for that

solar trout
#

When checking that a Twitch message either comes from a BROADCASTER or a MODERATOR I use the following:

#

if (tags.badges.broadcaster == "0" && tags.badges.moderator == "0") .... That works fine but when the message comes from someone who is neither, I get the following error Uncaught TypeError: Cannot read properties of null (reading 'broadcaster') .

#

It seems the BROADCASTER or the MODERATOR badge has to be present. How can I do the test that the message comes from either a mod or broadcaster, without giving and error if it is neither

pulsar willow
hot trout
#

maybe

#

they could disable it if "use strict"; appears at the top or something

still juniper
#

btw, "0" is true while 0 is false, that's a very confusing way to check an if statement

pulsar willow
#

sry, wrong person πŸ˜…

pulsar willow
severe shell
#

However, I think the last time I used, the overlay editor didn't understand it well because it didn't want to keep the indentation. But you can use when the code is already done

meager pier
#

Hi Team, my streamelements (Youtube) Activity Feed isn't loading anymore in my OBS Studio Dock, can anyone help me? Also re-added the URL in the OBS Studio Dock, no luck. I saw some post that you can do a reset. thanks for helping

solar trout
#

@still juniper @severe shell Thank you both for your help. I come from a different type of programming language and JavaScript is a strange beast to me.

still juniper
severe shell
terse crest
coarse phoenix
#

Curious if anyone here has ever done any work integrating SE into Unreal Engine? Not a developer myself, but I'm currently working on a big VTubing project and we're trying to integrate some of SEs interaction like donation events and such. UE doesn't have any current twitch plugins with donation events that we can find.

willow bane
#

Does anyone know why I may be getting duplicate bot messages in the chat? I am using the !heist widget

severe shell
willow bane
#

Would you know how to add more fields to some options of this widget?

severe shell
willow bane
spiral jacinth
#

When I tried to choose a different font in the overlay editor, it still stays the same for each font. Not to mention, this editor looks like this and shows it exactly on the Streamelements OBS.

severe shell
timber quail
#

Hi everyone! Does anyone know of a way to get a sound to play when I get a chat message? Have been tearing my hair out trying to find something.

I do streams where I am not always looking at chat (long outdoor scenery streams while I read a book nearby) I want to be able to hear a sound of any kind that will tell me I have a message so I can respond and engage with my viewers. I don't believe the Twitch apps do it at all, the SE chat overlay doesn't make sound. It was suggested y'all may have something or have heard of something. I use OBS to stream, but would be happy with any method at all. I don't need it to play on stream, just for me and my ADHD πŸ˜„ . Any ideas?

acoustic dragon
#

i have another issue what does the red box mean next to fps while im streaming and how do i fix that

elfin arch
timber quail
#

Yes. Hopefully! πŸ™‚

elfin arch
#

Are you familiar with making a custom overlay @timber quail ?

acoustic dragon
#

also my chat is telling me that my stream is delayed by a lot

elfin arch
acoustic dragon
#

yes but i turned on low latency and its still delayed by a lot so im guessing its the box that changes colors all the time but whenever i stream it goes from green to red

timber quail
#

@elfin arch I'm not but I can learn!

elfin arch
#

πŸ‘ first thing you need to do is go to your overlays menu and create an new empty overlay. Then add a custom widget and remove everything from all of the tabs

timber quail
#

Alright, I think I have done that. The tabs are the settings, position etc on the left side menu?

elfin arch
timber quail
#

Oh my! What a lovely surprise! Perfect! You are truly a champion. ❀️

elfin arch
#

No problem. πŸ™‚

timber quail
#

Got it all set up and working in OBS. Thanks again! ❀️

exotic comet
#

I was wondering if there will ever be a way for you to exclude specific dollar amounts from showing up within your tip alerts. This is a feature that I feel would be very helpful for those whom want to have multiple tip alerts of different sizes. For example my main tip alert just sits in the middle and activates as usual. But I'd like to have a tip alert that expands over the entire overlay only when a specific amount is given. I'm unable to do this because when you make two different overlays the primary with a default of 0 will play no matter what.

severe shell
#

So when the tip meets the value you set, it will not do anything. On the second overlay you create your full screen expansion alert

exotic comet
severe shell
exotic comet
naive sorrel
spice cypress
#

hi is there a list of default text effect in stream elements? like the wobble

terse crest
marsh granite
marsh granite
#

i meant

for(let i = 0; i < data.badges.length; i++){
  badge = data.badges[i];
  if(badge.type === 'broadcaster' || badge.type === 'moderator'){
    
  }
}```
sorry just woke up then
elfin arch
#

what are you going for @marsh granite ? no need for the for loop on that?

marsh granite
#

well its what works for me when checking for badges

elfin arch
#

badges work and; #1 this is assuming using Twitch; #2 will break on the 'first 10' sub badge (unless handled for that);

marsh granite
#

actually its what the widget comes with in here

#

so i just modified this loop to suit my needs

elfin arch
#

ahh ya; it's an old 'map' or 'forEach'

#

i would still suggest to not use badges

marsh granite
elfin arch
#

unless it's changed; the sub badge is not the same as founders badge

hot trout
#

ah yes, fond memories of KappaGen ignoring me because with a founders badge you aren't a sub

elfin arch
#

it's like 'founders' and not 'sub'

marsh granite
#

damn that's a bit weird but i get it

#

thanks for the heads up

elfin arch
#

it's not wrong... just depends on want you are doing with it

#

like; a user can have maybe 3 badges; Mod Vip Sub

marsh granite
#

making it so that the user can toggle the following:
1: show badges in the chatbox
2: if so, whether or not to show all badges or just specific ones
3: then select which specific badges they want to show

elfin arch
#

I have to assume this is a Twitch only thing?

marsh granite
#

yup

#

not sure how youtube widgets are made just yet

elfin arch
#

and that's why i'm questioning it; if you go the badge route you are locked into Twitch

#

if you want to cross platform then ..... need remove VIP badge or extra code to platform check

marsh granite
#

this would probably be a twitch-only thing in the end already. I've got an API fetch to grab twitch avatars

elfin arch
#

ok; ya. then you would be alright using the badges ... but would need the founders badge for subs

#

....but in normal usage; badges isn't needed. Unless needing "VIP" or other Twitch stuff. Streamer and Mod checks shouldn't use the badge check

terse crest
solar trout
#

@marsh granite @elfin arch thank you both for the conversation and you guidance on this topic.

winter charm
#

hi, just wondering if it is possible to configure a custom chat command to trigger an emotesplosion of a single emote of choice, or will I have to make a custom widget for that? currently i can't seem to find a way to have the command work

abstract harness
#

Is it possible to approve tips via api? Cant find that in documentation

hardy walrus
#

@abstract harness Only thing I can find is listing tips that are requiring mod approval. Nothing regarding actual approval.

elfin arch
#

"I want to cycle some sort of different background, rather then have everything on screen at the same time"

#

πŸ™‚

ivory yarrow
#

πŸ™‚

elfin arch
#

so are you controlling the background in the Overlay or OBS?

ivory yarrow
#

yeah

#

oh, OBS, I will be running it in an HTML file

elfin arch
#

are you doing for alerts only?

ivory yarrow
#

no

elfin arch
#

.... i'm trying to figure out what you are going for

#

i'm not sure if the OBS and HTML file is needed

ivory yarrow
#

it will be overlay/background that has different designs and will then be for different information

elfin arch
#

are you making it in SE editor?

ivory yarrow
#

no

elfin arch
#

the easiest way would be to make it in the SE editor 🀣

ivory yarrow
#

ok, don't want to do that, so I'll keep looking πŸ™‚ thnx though

elfin arch
#

hahah; i'm just saying easiest way would be that πŸ™‚

#

...next option would be to do an API call for your page/widget load (see header for API docs)

ivory yarrow
#

"easiest" is depending on the person doing it πŸ™‚

elfin arch
#

..then start a Socket and connect to that to get the updates (no polling)

elfin arch
#

🀣 i was going to explain further @ivory yarrow. but i think you got it from there πŸ™‚

ivory yarrow
#

np πŸ™‚

elfin arch
#

for clean up; i just want to note that the widgets have 2 main EVENTS, on load and then when something happens. the onLoad is api.streamelements.com/kappa/v2/sessions/{channel} call then the other events are sent through the socket (see header).

vocal rover
#

does anyone know how i can display a live browser source in stream elements overlay maker?

severe shell
vocal rover
#

i want to capture a website as part of my overlay

hot trout
#

make a custom widget and put it as an iframe?

ashen hornet
#

so i need help, streamelements says that my old name on twitch is still the hosting name of the bot so i cant raid or ban or time out poeple. so how do i fix this?

vocal rover
#

@hot trout i tried but the website im trying to pull from has so many javascripts, it only pulls just some imgs and not the fiels. any ideas?

hot trout
#

maybe it's better to just put it as a browser source in obs then?

vocal rover
#

think you may be right, is there any way to animate it doing so? @hot trout

hot trout
#

what would you want to animate?

vocal rover
#

ah i think i got it, a quick little source transition

#

but would it be possible to set that on a timer? to slide into and off the screen

fossil trout
#

help i lose my old discord account this is new i been part of Streamelements dreamteam that we called now this is new account hope i can get it back again please msg me

hot trout
#

@vocal rover you'd have to script that with obs lua probably I think

#

and by that I mean you can use this script that someone else made

icy wing
#

i updated obs/elements and 2 of my docs disappeared, the one to change the title and game , and other one one to to check viewers/ subs and all

hot trout
severe shell
fossil trout
#

@severe shell where can i see who is my SE AC manager?

#

for some reason my streamelemts site is all white anyone know how can i fix it?

severe shell
# fossil trout <@!282327953864523776> where can i see who is my SE AC manager?

It is usually the person you talk when you need support from SE. What was your previous username here on Discord and on the platform you stream?
As regards the SE website, try to open here and login again. If that does not work, click on the lock icon next to the address bar > Cookies and remove all cookies:
https://streamelements.com/logout
If it is stil not working, try to open it in a private window and check if that works for you.

fossil trout
#

even on private mode or incognito mode its not working

severe shell
# fossil trout even on private mode or incognito mode its not working

Well, I pinged the staff to check the Dreamteam issue for you.
If the page is not working on incognito mode, maybe there is something stuck on the wb browser. Try to use MS Edge or Google Chrome as they work better on Streamelements. Also try to disable extensions you have installed on your browser to check if any of them is conflicting with the site

fossil trout
#

@severe shell yes i try it and didnt even work it have all white screen

fossil trout
#

yes i am @elfin arch

#

even i try using on firefox not even working

elfin arch
#

Let's try Edge πŸ€” .... open that up. Press CTRL+SHIFT+J that will open the console for the browser. then go to https://streamelements.com/

#

should look like:

#

Can you post a screen shot of what you see; like that.

fossil trout
#

i will msg you provately @elfin arch

elfin arch
#

πŸ‘

thorny forge
#

Is there a way to make a command or store item that will play a sound alert, but also will be available only for VIPs or Mods (not other viewers)?

hardy walrus
#

Nope.

thorny forge
#

thanks

severe shell
# thorny forge Is there a way to make a command or store item that will play a sound alert, but...

Well, there is a way… involve some steps, not too simple:

  • Create an item (sound effect) in the store
  • select only the option β€œRedeemable via chat” on second screen
  • where it says β€œItem command”, choose a single name for the item (laugh, for example)
  • create a new command on commands page and put this in response: ${redeem laugh} (considering you put laugh on the previous step.
  • On permission level, select VIP. This will make the command available only for VIP and Mod. Save the command
  • Go to default commands and enable the command redeem. Make them available for VIPs as well
thorny forge
pulsar willow
severe shell
thorny forge
#

Thank you so much!

wet sapphire
#

Hi, i'm trying to close my SE account (linked to Trovo) because I've other one (who is the principal) with my others social media and other stuff but i've been waiting for weeks and still nothing

hot trout
sacred tinsel
#

Hello if i make a overlay design how do i share this with a friend using url i tried this Delete the "/editor?er=1" at the end.
instead of "/overlay/", turn it into "/dashboard/overlays/share/" this just logs us out and don't share the graphics

severe shell
uneven oxideBOT
#

Follow these steps to grant managers/moderators access to your dashboard:

  1. Click on your channel name at the top of the dashboard
  2. Create a new invite at one of three access levels (Bot Supervisor, Editor, Full Control)
  3. Send this invite to a mod/manager to give them access to your dashboard. The link is one-time-use and expires after 72 hours if not accepted

Video tutorial: https://youtu.be/zl_h-ttZDF0

sacred tinsel
#

thanks

#

im a creator on etsy making overlays so how does nerd or die and other create links when you purchase they give you a url that install into your account with ever thing in place

wet sapphire
#

Hi, i'm trying to close a SE account because I've other one (who is the principal) with my others social media and other stuff but i've been waiting for weeks and still nothing

hot trout
#

perhaps you're still waiting because you keep asking in the wrong place

bold zodiac
#

Hey all, is there a possible way I can get help with bot commands?

pulsar willow
bold zodiac
#

What do I do if my watchtime and other basic commands arent working? And with the timeout command how do I set it up for it to timeout for a certain amount of time and what would the prompt be? Stupid questions I know, I just suck at this type of stuff and I hope Im not asking in the wrong place and thank you. @pulsar willow

uneven oxideBOT
severe shell
sacred tinsel
#

πŸ˜πŸ‘ thank you

rough edge
#

Hi guys, is a countdown to send a message command possible (single use)? For example with moderators, !timer 2 testmessage would send testmessage in 2 minutes. Doesn't seem possible with the given tools, just wanted to make sure.

spice cypress
#

hi i want to ask if stream element is supported by es6?

#

i had a codepen code and its working

#

when i try to copy my code to stream elements seems its not working.

hot trout
#

it supports whatever the chrome version in obs supports

#

which if you haven't updated to 27.2.x is a rather old one

spice cypress
hot trout
#

you can use vue yes

pulsar willow
# bold zodiac What do I do if my watchtime and other basic commands arent working? And with th...

Afaik, the standard trouble shooting procedure for such problems goes like this:

I assume the desired behavior of a timeout command is, that a user can timeout himself/herself?
If so, something like the following should work (the SE bot must be moderator):

Setup from dashboard
Command: !timeout
Response: /timeout ${sender} ${1|10}

In my tests it timeouts the user, who posted !timeout. (Except the broadcaster or other moderators.)
A second parameter can be specified for the duration, otherwise it uses 10 seconds.

I don't think that it's possible to trigger the timeout and post a prompt to the chat? (Expect the standard twitch prompt "userABC was timouted for X seconds".)
The easiest solution might be another command, which is triggered by the same phrase and posts the text?

For example:

!timeout
!timeout 23
pulsar willow
#

Hi, is there any SE Staff member here that could give me quick feedback about the status of my "StreamElements API Access Application" submission sent on 23 February (app is called ALLSTARZ21 Portal).

indigo flume
#

Currently there is a long list of queued up applications from a few months back that have not been looked into. The reason for that is, we are planning some changes to some things that would involve Oauth 2 credentials.
With that being said, currently there are a few applications that have been pushed to be looked into by the devs before these changes take affect, but we can only do a specific number of applications at a time - basically the slots for these manual reviews is filled right now and no ETA on when the slots will open up again.

pulsar willow
indigo flume
#

If you are referring to asking viewers for their JWT token, I would advise against that. But if its for a few streamers sure, as long as you understand that its not a very secure way.

#

and the tokens need to be kept a secret

pulsar willow
#

Yes, I understand it's less secure. That's one of the reasons I would much rather use the OAuth way πŸ˜‰

#

Is there anything that I can do to ensure a smooth review when the devs find time to review my app? It's a private app, basically invite-only, so you don't get a lot of public information and the redirect URL also will not work without a correct state parameter (and client id + secret ofcourse). What are the devs looking for in the review?

spice cypress
opaque wasp
#

anyone worked with YouTube alerts? I'm facing difficulties with members tier's variations.

fringe heron
#

yoo, brand new here, trying to add alerts and scenes. after copying url and adding browser source in obs preview the page just says stream elements can not load page. also my alerts look perfect in the streamelements settings tab, but doesnt play with live preview on either the big layout part of streamelemets or my obs preview (imported from streamlabs)

violet garnet
#

Hi! I'm making my own alerts and have to export them in AVI if I want them transparant in After Effects. Streamelements doesnt support that. What do I do now??

hardy walrus
#

@violet garnet export as .webm

violet garnet
hardy walrus
#

Ah

#

Do you have premier pro by chance?

violet garnet
#

I figured it out!

hardy walrus
pulsar willow
#

Hello. i need some help wihit my overlays. is ther a way i can upload them bak so they show in My overlays?

severe shell
mellow quail
#

Hey guys, i'm not sure what is going on and hopefully someone can assist me. I was initially using streamlabs chatbot to put all my commands and sound commands through as well as streamlabs for my overlays. I have since switched everything over to stream elements with you guys! bullze2Letsgo No going back! But ever since I moved over I have noticed that the audio of my overlays, TTS (Brian) and my sound commands are so quiet! I have even had to take some audio files and increase the levels of the audio file itself to be usable. The audio file is now blaring in my ear because it's so loud if i were to play it on my desktop off stream but through my overlay in stream it is still super quiet. I had no issues with audio levels before moving across. Is there a way to increase all audio levels through my overlays? my sound commands are at 100% in the store.

pastel rain
#

Hello, is there any variable to be able to obtain the Twitch ID of a user?
I am asking because some users in my chat have special characters and the bot gives me an error by putting only {user}.

mellow quail
pastel rain
spice cypress
#

hi can some one help me hahaha im creating a animation using js and it turns out like this

lunar beacon
#

is there an object that stores session’s up time?

hot trout
#

@spice cypress presumably the <p>s are causing line breaks

#

as well, the +i0.04 and +n0.04 bits aren't syntactically correct

#

I expect you meant something more like out += '<span style="animation-delay:'+ (i * 0.04) +'s">'+str[i]+'</span>';

#

(increasing the delay by 0.04 for each char)

mellow quail
spice cypress
#

and it didn't work

hot trout
#

the way you have it now there's a <p> tag around every letter

#

'<span style="animation-delay:0s">v</span><span style="animation-delay:0.04s">o</span><span style="animation-delay:0.08s">n</span><span style="animation-delay:0.12s">n</span><span style="animation-delay:0.16s">i</span><span style="animation-delay:0.2s"> </span><span style="animation-delay:0.24s">h</span><span style="animation-delay:0.28s">a</span><span style="animation-delay:0.32s">s</span><p> <span style="animation-delay:-0.04s"> </span> </p><p> <span style="animation-delay:-0.08s">f</span> </p><p> <span style="animation-delay:-0.12s">o</span> </p><p> <span style="animation-delay:-0.16s">l</span> </p><p> <span style="animation-delay:-0.2s">l</span> </p><p> <span style="animation-delay:-0.24s">o</span> </p><p> <span style="animation-delay:-0.28s">w</span> </p><p> <span style="animation-delay:-0.32s">e</span> </p><p> <span style="animation-delay:-0.36s">d</span> </p>'

#

if you want a line break before the second loop just add out += '<br/>' between them

tribal zenith
#

or save yourself some time and use animation libraries (GSAP, anime.js) with staggers

pulsar willow
opaque wasp
rocky geyser
#

so i have over 100 followers on youtube and idk how to enable se pay

#

how would i do that

cerulean sparrow
#

Hello guys! Can I customize the default giveaway repsonse? To customize, or just translate the response text

hardy walrus
#

@cerulean sparrow unfortunately not possible.

cerulean sparrow
#

Hmm. On my account the response text is hungary, but on my friends acc is english

cosmic kelp
#

❓ Question
How do you make more than one contest for betting, I can't figure it out.

viscid jay
#

Authenticating with OAuth appears to be broken. I can connect but an unauthorized result is returned with get a "Failed to authenticate" message. See the attached which is a testing snippet Styler had provided to me in the past.

#

As far as I can tell the access token I'm using is valid, and have regenerated an access token encase there was an issue with it, but no joy.

nova hedge
subtle imp
#

I'll have our devs take a look into this issue, apologies for the inconvenience! @viscid jay @nova hedge

#

@viscid jay @nova hedge could you guys see if the issue still persists?

subtle imp
#

devs will take a deeper look into this, there were some auth changes made today

elfin arch
#

I also got a report that the Jebaited middleware was not responding. I tested and was unable to send messages. But after clearing cookies and Authing again, it is working.

mellow quail
#

Hey guys, I'm not sure why this is happening but when I play an audio file directly from my desktop the audio is around -15db but when I preview the audio from the stream elements store it is around -32db which is a lot quieter. Both audio sources are pushing through the same audio channel. This is happening with ALL of my audio files I have in the Stream Store including my TTS from Brian and my sound alerts. I had no issues with this previously as I was using streamlabs. as soon as I have switched over to stream elements I am getting the sounds to be a lot quieter.

If anyone is able to assist that would be very helpful!

opaque wasp
#

Anyone here ever thought about developing a widget that display real time Twitch's Hype Train progresses? Is this something doable just withing SE or a is middle server needed?

scenic remnant
# nova hedge "Failed to authenticate"

good morning.. can you provide the endpoint and http method that you are using so we can check what might be wrong with the changes.. we are sorry if there is any issue still.. we will be looking into this with you today.. please let me know more details about it and we will find the solution

scenic remnant
viscid jay
#

@scenic remnant I'm trying to open a socket IO connection so e.g.

const stats = {
connected: 0,
error: 0,
authed: 0,
unauthorized: 0
};

    for (let i = 0; i < 50; i++) {
        const socket = io(URL, {
            transports: ['websocket']
        });
        
        socket.on('connect', () => {
            stats.connected++;
            console.table(stats);

            socket.emit('authenticate', {
                method: 'oauth2',
                token: '...'
            })
        });

        socket.on('authenticated', () => {
            stats.authed++;
            console.table(stats);
        })

        socket.on('error', () => {
            stats.error++;
            console.table(stats);
        })

        socket.on('unauthorized', (data) => {
            stats.unauthorized++;
    console.log(data);
            console.table(stats);
        })
    }
scenic remnant
#

okay we just made a release with some changes @viscid jay can you try again please and let me know

viscid jay
#

Yep that's now allowing me to connect to the socket.

#

and I have API access, thanks!

scenic remnant
#

we apologise to anyone having difficulties in the last 12 hours connecting via sockets, we are passing through some migration phase of our infrastructure which we are trying to do as smooth as possible, but it is a big system so please bare with us and if there is anything that you see as problem, please report to us and we will fix ASAP, thanks for the patience πŸ™

cyan valve
#

how can i get an accurate follow count in a custom widget?

nova hedge
acoustic sandal
#

Hi, I was working on a custom Alert and was adding some data in my "fields" section. Seems like I made an error, because after saving and reopening my overlay I am not able to see any usable fields and I also do not even see my CSS editor option anymore. Can you please tell me how I can fix this? I don't want to lose my code.
Thanks!

#

Here's a screenshot for reference:

hot trout
#

are you able to run nodejs programs?

acoustic sandal
hot trout
#

yes

acoustic sandal
#

I dont know what are nodejs programs but I'm able to trigger my Alert preview but I am not able to open my CSS editor. I was checking out the page elements and managed to bring back the CSS icon but clicking it doesnt do anything

hot trout
#

ah

#

there's a way to get the data out of streamelements using the api

#

I made a tool to do that but it's written in nodejs so if you have that installed or are willing to install it you can use that

#

or you can do it manually

#

someone had a similar question recently and was answered using the manual way

acoustic sandal
#

if its something I can do directly or manually I'd prefer to do that since I don't know much about this.

hot trout
#

let me see if I can find the instructions

hardy walrus
#

@acoustic sandal which browser are you using?

hardy walrus
#

Chromium edge or everybody loves me IE edge?

hot trout
#

didn't microsoft forcibly remove IE edge from everyone's pc

acoustic sandal
#

all I did was add a user-color in my fields within the {} in the fields tab and saved the overlay and this happened.

acoustic sandal
hardy walrus
#

Can't force remove it if you're too far back blobthinksmart

#

Could you try in private mode?

acoustic sandal
#

tried loading the overlay editor in inprivate mode but no difference

acoustic sandal
hot trout
#

you can skip searching for the overlay id though and just get it from the url in your overlay editor

#

if you try to edit it in the web the url will be something like https://streamelements.com/overlay/<something here>/editor?er=1

#

that <something here> is the id

#

the important parts are the setup (account id and JWT) and part 2 where you actually get the data

acoustic sandal
#

ok I tried this but I didnt get anything - not sure where the result comes up

#

after clicking send API request the response just has 4 lines

hot trout
#

sorry I had to fix something that broke here

acoustic sandal
#

okay - I managed to generate the API but I am not able to remove the data I had put in the "fields" section. Could you please tel me how I can edit this API?

#

"fields": "{\n "userColor": {\n "type": "colorpicker",\n "label": "User Color:",\n "value": "#fff",\n "group": "Font"\n },\n "group": "Font"\n \n}"

#

this caused my error

hot trout
#

well the easiest way to go is to extract the data you need (the code), fix it up and make a new overlay where you paste in the fixed code

acoustic sandal
#

ohhhh I get what you mean now.

hot trout
#

cause that api documentation thing won't let you upload anything

acoustic sandal
#

ya I understand. working on it rn - let me check

#

Thank you so much @hot trout it's working now. ^_^

hot trout
#

np

acoustic sandal
#

Hi, my fields are not showing up in my overlay. I'm not sure what I'm missing here. Could you please help me?

#

reference:

severe shell
acoustic sandal
#

yes, this is the end:

still juniper
#

remove last comma: }, -> }

acoustic sandal
#

oh haha that fixed it. Thank you!

hot trout
#

ngl I hate that json doesn't let you use extra commas

acoustic sandal
#

is there a way for me to work on my follow alert without repeatedly having to trigger a test event?

#

I'm using a GIF file and text

hot trout
#

I usually develop locally

#

with a hard-coded "alert"

acoustic sandal
#

I have no idea what that means πŸ˜› I don't know much about coding, learning on the go. Could you tell me how I could try that?

hot trout
#

I mean I have local html/js/css files

#

that I open in my browser

#

and then I send them off to SE when done

acoustic sandal
#

oh so you test it in your local software?

hot trout
#

yes

#

much faster

acoustic sandal
#

which software do you use?

hot trout
#

developing in the SE web editor is not my idea of a good time

#

I use vscode

#

but any code editor will do

acoustic sandal
#

okay got it. Will check it out. Thanks! Appreciate all the help πŸ™‚

hot trout
#

if you want an example of how I do that

#

in that, alertbox.html is what goes to SE

#

and alertbot_browser.html is the same html code but with some additions to make it correct html for my local browser

acoustic sandal
#

oh okay. I'll go through this now.

acoustic sandal
hot trout
#

it's the tool I made to upload and download overlays

#

this example is how I use it

acoustic sandal
#

oh where can I get that tool? or is it only for devs to use?

hot trout
#

no it's in that same repository

#

two directories up

#

it requires nodejs

acoustic sandal
#

emm where do I run this "npm -g install" ? >_<

hot trout
#

after installing nodejs (nodejs.org), in a terminal

#

or command prompt as it's known on windows

acoustic sandal
#

ahh! got it. Thank you, this has been super helpful.

mellow quail
#

Hello SE Staff or any Developers who can assist. I've asked for help on this 3 times now with no assistance and remain having this issue. The issue is ever since I moved to SE from Streamlabs and Streamlabs chatbot my sound commands have been super quiet. The sound command volumes are at 100% my obs audio channel is at 100% (0 db) and my audio is being routed through Elgato Wave Link Software. again. I had no issues previously. When I listen to the sound bite from my desktop directly it sounds fine, if not loud. when I listen to it either on SE stream store to preview it or in OBS via the overlay the volume is so much more quiet. The audio channels are being run through the same channel in testing via Wave Link.

Why is it that through SE the volume of my Sound commands are dropped dramatically and can someone help me look into this?

wooden knot
#

any chance anybody knows how to add stream information back to obs as a dock since the new update?

mellow quail
opaque wasp
#

Why does SE_API.store.get() return error if used inside AlertBox's JS tab?
> Uncaught TypeError: Cannot read properties of undefined (reading 'get')
I was looking to get a variable stored into SE_API.store to choose which media to display.

elfin arch
#

Don't post the full link @gentle current . Bot blocks the twich.tv links

gentle current
#

my apologies

#

Is there a way to get a chatter/viewer list from SE Api?
I was making a request to the twitch tmi url from the widget and it hits a CORS issue

elfin arch
#

the tmi /chatters?

#

I don't believe there is a way in the SE endpoint to do it other then collecting a list of active chatters in the widget. (the tmi /chatters can be accessed with a CORS middleware)

gentle current
elfin arch
#

I remember a short discussion not to far back ^ and didn't notice if they found another way. But as they mentioned that end point is cached

opaque wasp
elfin arch
elfin arch
opaque wasp
elfin arch
#

possibly? i recall looking into it at one point but gave up on what was i doing. here is the SE_API in a custom widget for reference

#

ya. it is:

opaque wasp
elfin arch
#

possibly... i've never tried

opaque wasp
#

I need to try the other option is spending the next hours coding my own alertbox... I'll post here updates

elfin arch
#

πŸ‘ let us know.... i believe it should just be that same call the store.get() is returning

opaque wasp
elfin arch
#

...found another maybe option; GET https://kvstore.streamelements.com/v2/channel/ACCOUNTID/customWidget.KEY

#

but not sure if you can get the ID and token from alertBox like you can with cusotm widget

opaque wasp
elfin arch
vagrant scaffold
#

so i tried asking in #helpdesk-twitch but im suspecting i was in the wrong chat all along
so the problem is, I'm stuck... I'm running alerts through websocket, and they work perfectly fine with test events aka websocket.on('event:test', ...) returns an event obj, the good stuff. Now, when it comes to livestream though, the alerts simply don't show. I was originally listening to them on websocket.on('event', ...), but tried also doing on event:update, but neither on websocket.on('event') nor on websocket.on('event:update') yield any results, and I can't exactly debug it because i can't trigger "real" alerts; I'm running exactly the same code for all 3 cases though, so real alerts should trigger. Now, I don't know how common it is to run alerts this way (and maybe I'm just extremely off - I'm not sure since I'm not a streamer myself and am just coding a plug-n-play solution for another person to not bother with setting up the alerts).

documentation on this is very limited, and I have no clue what I'm doing wrong, so if anybody has any input, I'd appreciate a lot

EDIT: the only reason i could think up is that oauth2 and jwt token do not authenticate the same way? I'm currently doing it through jwt token just bc i found where that was first and was too lazy to check, but it didn't occur to me for a single moment that the method of authentication can make any difference...

opaque wasp
elfin arch
elfin arch
#

And first thing would be to check that you see the Live alerts going to your Activity Feed; just to make sure the socket is connected correctly to your acocunt

vagrant scaffold
#

i apologize but what's activity feed........
all ive tested is that live alerts appear in OBS

#

so websocket is connected and is able to receive events
just not the real ones for some reason

elfin arch
#

the real events from the past

crude berry
#

Hey... i may be in the wrong section, but im curious how do i add the streamelements store to my twitch?

opaque wasp
vagrant scaffold
#

soooo
it works i guess?
in which case, should i just make the streamer check if the events go through his activity feed in SE?

vagrant scaffold
#

hmmm okay its not that simple i see

elfin arch
vagrant scaffold
#

replaying events sends them on event:test channel

#

ok im gonna check smth rq and report my findings

elfin arch
crude berry
hidden nacelle
#

Can one of you guys help me? Sorry if I'm not supposed to message in here. Desperate

elfin arch
#

so you would want https://kvstore.streamelements.com/v2/channel/ACCOUNTID/customWidget.current_overlay i believe. and the Token from the onLoad would be a bearer token in a fetch header.

vagrant scaffold
#

ok

#

its bad

#

this is what i get when a real alert is fired

#

so real alerts have a different structure?

#

damn

hidden nacelle
#

You could just say "no". Sorry to bother

elfin arch
hidden nacelle
#

Sorry, I thought you just ignored it

#

"Can one of you guys help me? Sorry if I'm not supposed to message in here. Desperate"

#

I'm stumped. Usually able to solve my own issues. My ISP even said everything should be working. I posted more details in Heldesk-Twitch

elfin arch
hidden nacelle
#

Thank you

opaque wasp
vagrant scaffold
#

why
why streamelements, why
these are absolutely not the same

#

i found my issue, thanks for the help guys

#

gonna go rant on github

elfin arch
# vagrant scaffold so real alerts have a different structure?

they should be the same structure... but i can't say for 100%; i never got into testing real events with it. I know there has been a lot of chat recently from ca11 trying to get them working. so might be worth reading some of their past messages?

vagrant scaffold
#

just tested, and they are not the same structure

#

see SS above

#

test event returns an object with two fields, event and listener
while data for the real event is like one level inside

crude berry
#

do you guys know how to alter a twitch "about" page so its not just the basic white?

vagrant scaffold
#

which is very unintuitive, and there is no indication of such which is SAD

elfin arch
elfin arch
crude berry
elfin arch
crude berry
#

like in black writting

elfin arch
#

unsure @crude berry. this is for StreamElements overlays and alerts. Editing the Twitch profile... maybe someone in #general-chat could help?

crude berry
opaque wasp
elfin arch
#

can you try real quick with your main JWT hardcoded in?

#

...i'm not entirely sure when an overlay token can be used or if if requires full JWT

vagrant scaffold
#

i have no clue how to debug this ngl
the object template for the real alerts received through the websocket is completely different, i have no clue if data about, say, number of gifted subs is inside or outside the data key

#

is there really no documentation on this

#

and this is where the websocket docs lead me to

opaque wasp
elfin arch
#

ya. just try that for now. set that as your token.

#

don't want to release that way, but just checking to make sure if call is working as expected

elfin arch
elfin arch
# opaque wasp it's working now

well crap. that means you did it right; but needs the JWT which is bad because you don't want to use that. I'm not sure what the overlayToken is good for then to be honest? maybe i'm missing something on how to use is πŸ€”

vagrant scaffold
#

it looks like it matches

opaque wasp
elfin arch
opaque wasp
elfin arch
# opaque wasp let me know if I can help somehow

what i'm finding is that when you call SE_API.sendMessage('store_get', key) it is sent to the SE_API.responses with a random ID that has the promise res/rej functions passed along. So you can grab that and run it... but i'm not sure how to get the id or get the value of it πŸ€”

#
let alertBoxGet = key => {
    return new Promise( (res,rej) => {
        SE_API.sendMessage('store_get', key).then(d => res(d));
        setTimeout(_=> {
            let firstKey = Object.keys(SE_API.responses)[0];
            let firstObject = SE_API.responses[firstKey];
            firstObject.resolve(firstKey);
        }, 2000);
      });
  };
  console.log('from sendMsg ', await alertBoxGet('test'));
#

-> the key it was stored as

opaque wasp
elfin arch
#

SE_API.sendMessage('store_get', key) is a promise that is never actually resolved or rejected. those functions are sent to SE_API.responses as an Object which can then be resolved. But i'm not seeing where the actually data is being held to return back

opaque wasp
elfin arch
#

I'm just tinkering with it to see if I can get it to work using the .sendMessage. I'll give it an ask and see what I can get for an answer

opaque wasp
#

what does your badge mean btw?

elfin arch
opaque wasp
#

they're right, you are quite a champion at those

elfin arch
#

thanks SEheart . and i'll let you know if/when i hear back from the staff/devs for using the SE_API store in alertbox (also console.log) πŸ™‚ have a good one

young fjord
#

Is there a way to add fields to an alert for the alertbox? I'd hate to hardcode everything^^"

hot trout
#

yes, the same way as always

broken coyote
#

Call me crazy. But wouldnt it be 10 times easier to just whipped up a blank layer with the alertbox with all the SE_API info you want in it?

severe shell
# opaque wasp that's exactly what I've done; new error comes in `> {statusCode: 401, error: '...

In this case you don't use Bearer, but apikey on Authorization. @elfin arch also take a look at it:

window.addEventListener('onWidgetLoad', async function (obj){
   
  const apiToken = obj.detail.channel.apiToken
  const id = obj.detail.channel.id
  
  const seAPIFetch = await fetch(`https://kvstore.streamelements.com/v2/channel/${id}/customWidget`, {
    method: 'GET',
    headers: {
      'Content-Type': 'application/json',
      'Accept': 'application/json',
      'Authorization': `apikey ${apiToken}`
    }
  })
  const seAPIResponse = await seAPIFetch.json()
  console.log(seAPIResponse)  
})
opaque wasp
severe shell
opaque wasp
broken coyote
#

what fun is it if everything is documented?

cyan valve
#

how can i interact with SE_API and can i acces channels/me?

severe shell
#

If you are referring to SE_API object from the overlay, you can find information here (Not much, but if you have a specific question, we can try to help if we know the answer): https://github.com/StreamElements/widgets/blob/master/CustomCode.md#se-api

However, if you are talking about the SE API to make API requests using the endpoints, you can interact using any language you prefer (you will find examples from the https://dev.streamelements.com/docs/kappa/YXBpOjc1NTM5-se-api-docs in each endpoint)

Yes, you can access channels/me

ashen yew
#

Hey guys, where can I submit a feature request/idea?

uneven oxideBOT
#

Check out the StreamElements ideas board: https://strms.net/ideas. 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.