#dev-chat

1 messages · Page 65 of 1

alpine vault
#

I am decent with CSS!

#

May I ask one last question?

elfin arch
#

sure

alpine vault
#

My last problem has to do with a weird scaling problem with all of the Cheer Alerts. When I test a Cheer Alert, emotes appear. They are bigger than the font and the font is aligned with the bottom of the emote instead of the middle.

#

There isn't anything I can see that I can alter code wise for the emotes.

#

What should I do?

rich turtle
#

done and done.

charred mica
#

I am trying to set up a stream label for tips but the starting amount is higher than what i've received for this particular goal. Is there anyway I can change that?

elfin arch
alpine vault
#

I have no idea. I looked in the HTML, CSS, and Java and I can't find anything I could work with.

uneven oxideBOT
#

@charred mica ⤵️

To reset goals:

  • from the Overlay Editor > Session data on top right (monitor symbol) > Goals tab > reset progress of desired goal
  • from the Dashboard > Activity feed on the left > Widget data on the right > Goals tab -> reset progress of desired goal

Note: Goal widgets (progress) only counts up and doesn't go down automatically, if you lose followers/subs.

elfin arch
#

try to reset the goal data and see if that fixes it

solar trout
#

I have given this some more thought and decided to handle it. I'll let the marquee run continuously while hidden. Once I detect the mod's command, I'll unhide the marquee's <div> and place a setTimeout that only lasts for a short time. Thanks for you help.

charred mica
terse crest
#

You can setTimeout to it to the time of the second run and then hide again

elfin arch
#

i'm interested in the marquee thing; my thought would be to rebuild it each time it is triggered and destroy it at the end. thinking this would prevent it from appearing halfway through when shown

terse crest
#

Or if it based on CSS animation you can just add/remove class for it

#

And actually the whole logic could be handled with 1 class

mild cipher
#

pjonp probably already got you covered, but if you or anyone else need a set of multistream commands, there's also this: #command-share message :D

thin dew
#

hey, scuse me, i'm new :3 Does anyone know how to use a custom thumbnail for overlay. I see a lot doint it but cant figure it out T-T

#

I tryin to do my first custom widget but I want to be nice and clear for organisation ^-^

elfin arch
thin dew
#

yep I know, thanks :3 but I want to put a CUSTOM one ^-^

#

by the way im searching for docs for json in streamelements, does anyone have this?

#

It seems this is secret or something xD

elfin arch
thin dew
#

oooooh :0 thanks :3

elfin arch
#

the JSON (FIELDS) is in the channel banner

#

Overlay Editor Docs

thin dew
#

oooooooooooooh

#

find it x3 Thanks a lot ❤️

#

it was too sneaky for me xD

#

I'm searching to do like in fields of the officiel alert box

#

make checkbox and settings inside of it.... any ideas?

#

Questions comin !

#

Is it possible to use my own text editor instead of the one in overlay's creation zone of streamelements?

#

And access the different files outside of this one too (html, css, ...) ?

solar trout
severe shell
severe shell
thin dew
#

dam this sound cool

#

ok, thank u a lot :3

#

Other questions, tryin to add a comment after a input or something like this

#

any solution?

pulsar willow
#

@elfin arch
how do i get this to work with streamelements:

$(eval const api = $(urlfetch json api.esportal.com/user_profile/get?username=t0nniz1); { ' Elo: ' + api['elo']})
elfin arch
#

do you want to learn how to make it work or just want an answer?

pulsar willow
elfin arch
#

if i go toapi.esportal.com/user_profile/get?username=t0nniz1 .... there's a bunch of data... what am i looking for

pulsar willow
#

@elfin arch
Elo: ${obj.elo}, Today: ${obj.eloChange}

#

@elfin arch
I'd like a command !gather
gather_id or current_gather_id

jagged zealot
#

Is there a way to get my hands on the recently added Twitch Goals(subscriber/follower) data?
I checked in onWidgetLoad's response there is only the SE goals data. Also onEventReceived doesn't get called when a new goal on twitch is being set/removed. 🤔
*I could just call the Twich API directly, but I was wondering if there is a SE way.

severe shell
modest robin
#

sup guys, i just need a simple help with the Overlay editor
how do i change the top donators currency ? it's in dolar, i need to change to BRL and this values needs "," they're pretty wrong

jagged zealot
severe shell
severe shell
modest robin
severe shell
#

You can also hard code your widget and change from:
{username} - {currency}{total}
to
{username} - R${total}

modest robin
#

it worked but for some reason the values are pretty high

#

kinda these numbers in the end should be with a "," or they should not exist
it's like it's just change to R$

#

i guess i find the "glitch"

#

for some reason streamelements dashboard it's couting these numbers, they don't exist those "3, 9 , 7 ,7"

pulsar willow
wet hearth
#

Hello, I have a SE OBS Twitch problem. My activity feed isn’t working probably on SE OBS. It’s only showing followers. No raids, no subs, no redemptions. My activity feed on twitch shows everything. This is causing my alerts to not show up during my livestreams.
I’ve tried logging in and out SE on OBS. Logged off and on Twitch as well. Nothing. I've reached out to the Help Desk on Twitch for a few days now, we no luck. I was hoping someone here can help me.
The only change I’ve made in the past few weeks, has been a name change on twitch.

elfin arch
#

but for the normal elo; try https://seapitest.pjonp.repl.co/api/objectkey?link=https%3A%2F%2Fapi.esportal.com%2Fuser_profile%2Fget%3Fusername%3Dt0nniz1&key1=elo

#

${customapi https://seapitest.pjonp.repl.co/api/objectkey?link=${queryescape [LINK]}&key1=[KEY]}

wet hearth
elfin arch
wet hearth
quartz canopy
#

Hello guys, how do I make a variable that other widgets can consume?

quartz canopy
#

Can you give me a practical example? I couldn't with this documentation

elfin arch
red solstice
#

Is there a way to reference an uploaded image within the JS of my custom widget? Or, another way, what is the relative file path of uploaded images?

elfin arch
red solstice
quartz canopy
#

Get the date, how do I get the value of the variable

uneven oxideBOT
#

@atomic cypress, posting multiple links will result in not being able to post again.

gusty shadow
#

having an issue where my text is only shows for a frame then after ward disappears when the video i have plays and could like some help on it

uneven oxideBOT
#

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

silk plank
#

Where can i find the code for the contest widget if i want to customize it ?

elfin arch
main plume
#

Is there a way to remove the yellow bar around my capture when using window capture?

thorny eagle
#

hey all having an issue where my custom font is displaying on streamelement site and the browser source in broweser but NOT in obs

elfin arch
elfin arch
#

i'm thinking the OBS discord might be the best to help

pulsar willow
thorny eagle
pulsar willow
elfin arch
elfin arch
pulsar willow
elfin arch
#

and what is your chat response for it?

pulsar willow
#

Error

#

Not working.

elfin arch
#

what do you have typed in that box for your command

elfin arch
#

you are missing the ) at the end

pulsar willow
#

How to showed elodiff?

#

And How to current_gather?

#

Please create eval :)

elfin arch
#

there is no elodiff in that Object. there is no current_gather either.

elfin arch
pulsar willow
elfin arch
#

that will respond to chat Elo: ####

pulsar willow
pulsar willow
#

@elfin arch

#

Eval not working

pulsar willow
#

why not make eval work. like all other bots do today

elfin arch
#

all you gotta do is add the ) at the end of what you already posted 🙂

pulsar willow
#

@elfin arch
and if you want a ton of current_gather to work, then reportedly you should use the if else system.

elfin arch
#

i saw it @pulsar willow. your link is https://esportal.com/api/user_profile/get_latest_matches?&id=1092810428&page=1&v=2 elo_change.

#

${customapi https://seapitest.pjonp.repl.co/api/objectkey?link=${queryescape [LINK]}&key1=[KEY]}

pulsar willow
elfin arch
#

try: https://seapitest.pjonp.repl.co/api/objectkey?link=https%3A%2F%2Fesportal.com%2Fapi%2Fuser_profile%2Fget_latest_matches%3F%26id%3D1092810428%26page%3D1%26v%3D2&key1=0&key2=elo_change

#

just open that in your web browser

#

should show the elo change. and then if it looks right move it to the command 🙂

pulsar willow
elfin arch
#

it can only read the API links that you feed into it. if you need more stuff then you'll need to set up a custom API... which isn't too bad to set up, i'm working on a how to for it

pulsar willow
#

aa

#

@elfin arch
Can you write again?

https://seapitest.pjonp.repl.co/api/objectkey?link=https%3A%2F%2Fesportal.com%2Fapi%2Fuser_profile%2Fget_latest_matches%3F%26id%3D1092810428%26page%3D1%26v%3D2&key1=0&key2=elo_change
#

Why weird

elfin arch
#

i see -26

pulsar willow
#

yea.
but your text is Something% 3F etc ... text

elfin arch
#

oh ya. it's query escaped. so no spaces or /

pulsar willow
#

ok

#

@elfin arch
but doesn't that make anything work in stream Elements, for example?

$(eval const obj = $(urlfetch json wombot.fi/nightbot/eselo/USERNAME?format=json); if (obj.message) {obj.message} else { `Elo: ${obj.elo}, Today: ${obj.eloChange}` })
elfin arch
#

there is no built in eval. so that is like a nightbot command

pulsar willow
#

it´s that works as a nightbot.
But I would like streamelements.

because streamelements are better

elfin arch
#

you got all the pieces 🙂 .. the Elo: # you already have. now you just have to copy paste that with the second link 🙂

pulsar willow
#

but show elochange wrong

pulsar willow
elfin arch
pulsar willow
elfin arch
#

that is from that API then.

#

it'll be a few days but i'm working on an API thing so you can make your own and do all the eval you want 🙂

pulsar willow
toxic hound
#

im trying to use an animated overlay in obs, but no matter what fps I set it to or anything it just freezes all the time for long periods of time. Does anyone have a fix for this?

pulsar willow
dusty scarab
#

what is the business model for stream elements it cant be 100% free that does not pay the bills

elfin arch
dusty scarab
elfin arch
#

🙂 please ask dev/coding questions here. and that stuff in the #general-chat ... cause i'm also interested in that

dusty scarab
silk plank
terse crest
silk plank
sly acorn
#

Hey y’all! I’m new here! I have a few questions about implementing an idea I have for my retro themed stream.

#

I'm a content creator that streams on Twitch that uses Streamlabs to run gaming marathons in which I play every game in a series in order of release. In my next marathon, I will be doing two series at the same time. I want to allow my audience to change the layout of the stream, available sound alerts and sub alerts by using channel points/sub/bits/donations. My idea is that there would be two different stream layouts based on each of the characters' design, and the viewer could choose which character to dedicate their channel points/subs/bits/donations to. Ideally, there would be a graph at the bottom that showed how many points each character has received. Once a character overtakes 50% of the points, the stream layout would change automatically. Also, I want subs/bits/donations to be weighted so they impact the number of "points" more than channel points. I don't have any visuals/animations for the layouts yet, but ideally once one character's donations overtake another a certain alert would happen and the stream's layout would change.

#

I’m guessing this kind of idea would require some custom coding. Any generous soul out there willing to help me implement this or give me some advice on how I could implement this?

blissful trout
#

@elfin arch I am trying to use that eval api that you posted last year. can I get some help with if then else statements

burnt oxide
#

~~Hi, I'm hoping this is a simple question, but how can i achieve an outline/border around a widget, which resizes with it? I've tried css on the border body, but that cuts off the bottom in the example i'm using.

I'm simply trying to create a custom styled chatbox~~
found the reason - an element had a margin that was exending body out of the iframe

blissful trout
clear finch
#

Hi I'm working to make the switch from Streamlabs to StreamElements. I just have one problem that I haven't been able to "replace" yet. Streamlabs has their app streamlabels, which saves a bunch of recent events to seperate .txt files.

I use these files in different places of my stream and it is not an option to use the browser source overlays as I use them in webpages I run on a local webserver for my stream.

Is there any way to access these labels straight from SE through an API, direct URL or something to that end?

mystic kraken
#

you'll probably need to convert to API calls, either using php or whatever.

#

the api docs are pinned to this tab

remote crown
#

There appears to be issues with regex on the bot from time to time.

#

And here is the result - sometimes it works, sometimes it doesn't

remote crown
#

I revised it to ^(late|Latege)\b and now it works. Still makes no sense that it works sometimes and doesn't work other times.

pulsar willow
#

hi i just got this email

#

i made a new account called deadlycr_

#

do you think i could transfer my sponsorship over to

#

my new account

mossy herald
#

why when I try to put on a custom font to my stream chat overlay in Streamelements editor it doesn't show up

uneven oxideBOT
#

@mossy herald ⤵️

Google Fonts
More than 900 google fonts are supported at this time. You can preview them here: https://fonts.google.com/

Custom Fonts

Steps:

  1. Install the font on the streaming PC or choose a pre-installed windows font.
  2. In the overlay widget settings, select Text Settings
  3. Click on Enable Custom Font
  4. Type the name of the font as it appears in the windows font directory (This is usually C:\Windows\Fonts)

Note: After installing fonts, the browser and OBS must be restarted for the font to appear.

stark pier
#

is the streamelements API accepting requests? Is there a way to get twitch events like follows, subscriptions, bits and donations similar to how the streamlabs API works via a websocket?

remote crown
#

Apologies, eventsub websockets arent out yet. They're coming relatively soon. Normal eventsub is webhooks

stark pier
#

yeah unfortunately i dont have the expertise for webhooks and that would require users to install an electron app. would rather a browser based one

mild cipher
stark pier
#

from the docs website it seems I need an Oauth Token?

mild cipher
#

There's an endpoint that you can use to generate one for authed users, but you'll have to apply for oauth2 access. I don't remember off hand where the form is but search for the Asana form. But for now you can use your own JWT token while you build it

stark pier
#

yep. I've applied on the form just waiting for now i guess?

#

so we dont necessarily need the Oauth2 (access token) to use the websocket? just JWT token is enough?

mild cipher
#

Yep! You can use your own to connect to the websocket for your own account, since the JWT effectively provides full access to your account (i.e. don't expose it or ask users for theirs)

stark pier
#

oh i see thanks!

stark pier
#

is there a way to emit a dummy event? i've connected to the websocket now with my JWT token

#

or is this supposedly good enough to emit a websocket event

stark pier
#

oh i see its on event:test

#

now i have the issue that my websocket connects twice... which is odd

summer mesa
#

Hi everyone.

I got the Level-up Goal by @/anne but I'm not finding where to adjust the current goal progress. I look after it at the Data tag inside the code but I'm not sure I'm looking at the right place.

Does anyone use this widget?

I'm not sure if I should bother its creator with such a simple thing 😅

hot trout
#

go to your dashboard events list and click edit widget data (or something like that) in the top right

#

then there's a tab called Goals

summer mesa
#

found it! thank you so much 💜

brazen hollow
#

Trying to follow this video on YT to set up my stream widgets, my streamlabs looks nothing like this and also i dont have an option for a follower widget...

#

my streamelements looks like this

#

video shows follower alert

#

i have no follower alert and cant emulate one either, only subscriptions =/

hardy walrus
#

@brazen hollow 2 things

#

You're logged into your YouTube account

#

The video displays the old layout.

brazen hollow
#

ah thanks

#

i clicked connect with twitch but it keeps logging me onto yt

severe shell
brazen hollow
#

Now i can see follower and everything makes sense, thanks!

ivory fulcrum
#

got a question regarding some of the widgets

#

theres a few things ive used streamlabs for but want to transition over

#

but i noticed there are some missing features for those widgets too

#

wondered who is best to speak too regarding it

atomic cipher
#

hello im having some issues where the se leaderboard pannel is showing points but when you click chat stats it says no data

median spruce
median spruce
#

until I felt like quitting using it. for not being helped or support from the team at all

terse crest
median spruce
pallid lichen
#

Good morning! I would like some assitance on how to get my overlays and widgets set up correctly.

forest thistle
#

Moin moin, ich habe ein kleine Problem, ich kann be4i mir nur Paypal auswählen bei der Tipeinstellung. Ich würde gerne zusätzlich die SE bezahlfunktion integrieren diese jedoch gibt es bei mir wie es scheint nicht. Wie kann ich diese bekommen bzw aktivieren ? Kann mir da wer helfen?

hardy walrus
#

@forest thistle English bitte

forest thistle
#

my english is very bad 😄

#

I have a small problem, I can only select PayPal when setting up the tip. I would also like to integrate the SE payment function, but it doesn't seem to be available to me. How can I get or activate this? Can someone help me on this?

#

Google translater, please forgive me

hardy walrus
#

Das ist gut

#

You don't meet the requirements yet

#

You need 101 followers if for twitch.

forest thistle
#

okay

#

thx

cyan geyser
#

Not sure if is the right place.
I have a issues with SE.Live when I boot up my PC and enter windows, Once I launch the program then it crash, I have no clue why it does is there some where there is a log I can send in here or?

severe shell
uneven oxideBOT
amber ridge
#

I have HTML/CSS that works in codepen (no JS) but when I code it in SE there is no animation from CSS

Any Thoughts?

broken coyote
amber ridge
#

I cleaned it up and added the {name} where needed

broken coyote
#

Convert the scss to css

pulsar willow
#

Is there any way to provide a default value for args in a bot command?

for example:
${user} looks ${ 1: | splendid } today.

!test tired        # someuser looks tired today.
!test buff         # someuser looks buff today.
!test very gloomy  # someuser looks very gloomy today.
!test              # someuser looks splendid today.
severe shell
amber ridge
pulsar willow
halcyon bay
#

SE URLs for my overlay are not showing up within OBS

hardy glacier
#

so im trying to make a sub notif with a video, but the notif doesnt change when i insert the video. what could be causing this?

#

ah wait dont click that

severe shell
# hardy glacier

You are changing only the first subscription. The alert is giving you resubscription alert. Check the variation settings and change it there as well

hardy glacier
#

ohhhhhhhhh

#

gotcha

#

thanks!

ancient wigeon
#

Can someone give me a dictionary command to use for StreamElements this channel wont let me post the Nightbot version

valid goblet
#

Is there a way to stop the most recent event notificaiton from being larger than the rest? I cannot figure out how to prevent this

severe shell
ancient wigeon
#

Can i dm it to you?

severe shell
last shadow
#

Hi all! I was just juggling around with the custom top list widget for overlays in Streamelements. I was wondering if there is a way to include the top subscription gifter leaderboard in this widget? I've managed to make Cheers and tips work, but not sure how to include subscriptions. Thank you.

hardy walrus
#

That data is actually busted atm.

last shadow
#

So it's impossible to input a monthly top gifters list?

#

I was trying to retrieve it, but it fails every time. Bits and tips is no problem

hardy walrus
#

Impossible? No idea.

#

But atm it can't be done until devs figure out what's wrong with that particular data.

sudden cliff
#

Hello. Anyone knows how to get Youtube Live Stream Analytics, especially Viewer Count, into OBS (or at least into a SE Widget)?

#

I don't get it.

noble lily
#

I got a question, Im using the prize wheel with Stream Elements. I have it if a user drops 5 gifted the wheel spins. After the wheel spins it says what they prize is they won. Is there a way to have the wheel spit out the name of the winner

light marlin
#

I am trying to edit my overlays and as you can see on the left side you cant make out anything. I was told it was not on your end so i dumped microsoft edge and then reinstalled it and still this comes up. Can anyone twll me what to do to fix this.

fallen wind
#

Hi i have a skigth issue when uploading a image onto the profile page

light marlin
autumn mantle
#

I keep getting an error when trying to set up S.E Py
[1:21 PM]
pay

terse crest
#

Also use Chrome

#

Your problem is that icon font is not loading

terse crest
teal blaze
#

hello can someone help me pls

light marlin
granite nest
#

hi there! anyone knows a way to, in the chat overlay, not show any messages beginning with a character? (i.e. any messages beginning with ! that are commands)

severe shell
elfin arch
# pulsar willow ???

i didn't get time to work on it any more. gonna try to look it at some tonight. shoot me a dm

spice cypress
#

hi guys i have a js code that seems not working on stream elements but working on stream labs can someone help thanks in advance

elfin arch
spice cypress
elfin arch
#

hit CTRL+I+J to bring up the browser console. what is the red text you see on the right?

elfin arch
#

change your line 27 to let event = 'donation';

#

you'll need to get the event from the Obj sent in the event listener

spice cypress
elfin arch
#

you'll have to redefine these:

#

take a look at the JS for a default custom widget. it will have the code to get the listener and split it by the -. you'll want to set your event = to that

elfin arch
spice cypress
elfin arch
#

check your "src"

#

should come from the FIELD tab; i.e {{backgroundColor}}

spice cypress
spice cypress
elfin arch
#

you have them all set to base ... you'd want like bits here

#

...and i'm not sure if you can nest them like that 🤔 but i've never tried. interesting

granite nest
spice cypress
#

if i dont nest it like that the ratio from my field

spice cypress
#

already change it

spice cypress
elfin arch
#

looks like you can't nest them

#

switch to {subs}{ratio} etc

#

and yes; your event is always default

ancient citrus
#

maybe i can ask some developers about adding facebook gifted supports to alert box

elfin arch
ancient citrus
#

i need supporter gift

elfin arch
spice cypress
elfin arch
#

event is good. case 'donation' should be 'tip'

#

bit -> cheer ; follow -> follower; subscription -> subscriber

ancient citrus
#

i think its not possible as SE havent got access to facebook support gift alerts yet thanks for your time @elfin arch

elfin arch
#

and back to HTML i was wrong just sub{ratio} no {} for the first part

elfin arch
spice cypress
#

when i reload my screen its doesnt appear

elfin arch
#

did you update the onLoad listener to onWidgetLoad?

spice cypress
#

ok that is good working already 🙂

#

this script from my html doesn't working it should allow to show text

spice cypress
elfin arch
#

that part i'm not sure about. i don't know how Labs calls it's events. But that looks like it's adding the events to a list?

elfin arch
#

does it show anything now? or just {username} - {text} ?

#

you will probably have to built that in your Javascript and put it in for each event

#

you'll have to figure out where that goes in each container; then work off of the default Custom Code JS to put in the HTML you need: see:

spice cypress
# elfin arch

should I create a code that will have an addevent listner to the bottom of switch statement

elfin arch
#

ya. i would. otherwise you'll have the same code block for each event; 4 copies of the same. so easier to just make 1 and pass the info you need in there; event, username, amount

#

it should be the same HTML you already have; but i'm just not sure where that goes. maybe it stays in the same place at the end of everything?

spice cypress
elfin arch
spice cypress
#

like this one?

elfin arch
#

you just need the addEvent part

spice cypress
spice cypress
elfin arch
#

just kinda quick edit here;

#

don't think you are using the direction or fad out times or remove event. I think you just want to put in your own html each time

#

white lment i think should be element; greens look undefined

#

total events might be undefined too; unsure if you were using that

elfin arch
#

i think you just want let element =

#

get the white from the function variables; then append that to the main HTML DOM?

#

$('body').append(element)

spice cypress
#

its not wroking

elfin arch
#

nope; remove all of those from the HTML

spice cypress
elfin arch
#

the $('body').append(element) should go at the end of the addEvent function before the last }

#

totalEvents still might throw an error; check console for Red text on that

elfin arch
#

yup; you can just delete the totalEvents line.

spice cypress
elfin arch
spice cypress
elfin arch
spice cypress
spice cypress
elfin arch
#

on your line 17 where it is switch(event) change the event to listener

#

and then above that where you have event = ... change it to ```js
const listener = obj.detail.listener.split("-")[0];
const event = obj.detail.event;

elfin arch
#

line 1 & 2 are good

#

3 should be switch(listener) {

spice cypress
#

now its good but i think the css doesnt read the js its out of the grid

silver condor
#

Ok, so in this pokimane stream (at 03:18:50), her stream header does an animation to show the sub count, as well as the most recent subscriber. I've already recreated the overlay in after effects, but I need to recreate the text that appears on the overlay

#

oh, I cant send the link

#

I'll make a recording of it

elfin arch
#

<div id ='textContainer'></div> above last </div> in your HTML

#

then replace the $('body').append(element) in JS with $('#textContainer').html(element)

silver condor
elfin arch
#

and the "class" might match the old names; i gotta log off; but something like

spice cypress
silver condor
honest igloo
young shard
silver condor
young shard
silver condor
spice cypress
#

hi I need this if statement code of fade in and go bottom

#

but i dont know how to insert it

mild cipher
pulsar willow
severe shell
silver condor
nocturne karma
#

hi everyone, so i have found out sadly that my bot owner is shutting down his bot at the end of this month. so i tried to move over some commands from his bot to stream elements, i am getting hard to make a command that allows me to do !raid {user} which would allow me to put their twitch name on and the raid message (which never changes) and another command that allows me to count how long i have been streaming since the 1st day i started. is there a way i can make both of these commands? sorry i have never used any other bot in my life and feel dumb for asking

wanton rover
#

So I've narrowed down my double-sound issue to a custom code that I've had someone else write. I'm completely oblivious when it comes to this stuff but I need to lose the default soundtrack they've added in in order to play alert variations. Code is too long to screenshot without flooding but I've got it pasted.

pine dome
charred gull
#

Does someone know how I can access the currently playing Song (from Media Request) Url in a custom Widget? Thanks for your help!

terse crest
silver condor
terse crest
#

Is there a way to get twitch badges (broadcaster, mod etc) in svg?

terse crest
spring tide
#

it wouldn't be "types": "[cheer, subscriber]" it'd be "types": ["cheer", "subscriber"] but also I don't know what context you're making the call in

#

just some syntax I noticed.

pine dome
spring tide
#

No worries! I'm not a heavy SE user but I look at the featureset and think "god I could build so much cool shit" and then proceed to let my attention split over fifteen things where I eventually forget about this channel lmao

jagged violet
#

not sure which page to ask this question. im trying to make a win counter widget for my stream. already set up bot commands and made the widget, but when i put overlay on lightstream nothing shows up. i went to new overlay >add widget>labels>other>bot counter and in the message section i have this:Warzone Wins: !win: ${count wins +1} !reset: ${count wins 0} please help

#

keep in mind i havent done any coding since high school dos lol

jagged violet
#

@spice cypress so i just copy paste all the bot counter ones?

severe shell
# nocturne karma hi everyone, so i have found out sadly that my bot owner is shutting down his bo...

Show the message you want as a result of the !raid command and we can help you here. As regards the command to count how long you have been streaming, if you stream since you created your account, you can use this (replacing YOUR_USERNAME):
${customapi.https://decapi.me/twitch/accountage/YOUR_USERNAME}

Do you already have a command for the second command? If so, you could show us and we can see if we can "convert" to SE

spice cypress
#

its a counter bot that will hel you to costumize youre widget counter

jagged violet
#

@spice cypress ok thanks. il give it a go

spice cypress
#

it shoud be hiding the previous event i call but the result is not what i expected

jagged violet
#

@spice cypress do i leave the data section blank?

jagged violet
#

@spice cypress thanks for trying to help, but at this point im too frustrated

severe shell
#

I edited the message to remove the $ symbol on the label

severe shell
severe shell
spice cypress
severe shell
# spice cypress

Do you have this {{maxevents}} set on FIELDS section on Editor? Is it capturing the correct data?

spice cypress
#

i dont have that on FIELDS

spice cypress
severe shell
jagged violet
#

@severe shell so my bot commands for wins and reset will automatically interact with the widget

severe shell
severe shell
severe shell
# spice cypress

Oh, it was on your first screenshot, line 8... Sorry, I overlooked that part 😄
Just a min, let me check if I can help on it (I'm not very good with CSS, but I think something could be wrong on the variable not being defined)

jagged violet
#

@severe shell ok so it'll run on my screen the same way it does in chat. I got confused with the example set up in se overlays

spice cypress
jagged violet
#

@severe shell thank you thank you thank you. You don't understand how much time I've wasted trying to do this. And of course it was super easy, but I was so frustrated I made it harder than it needed to be. Again thanks

severe shell
# spice cypress

Hmm, it seems maxevents is a value from onLoad from Streamlabs. Which widget are you trying to convert from Streamlabs to Streamelements?

severe shell
#

I looked at Event List widget but I saw max_events and not maxevents.
But anyway, now trying to understand your custom widget, tell me if I'm correct:
This part is supposed to show the recent event (just one at a time) and after 1 second it should dissapear, correct?

spice cypress
severe shell
# spice cypress

Try this (just changing the first line, the rest is the same):

li:nth-of-type(1) {
  animation: hidenow 1s forwards;
}

@keyframes hidenow {
  0% {
    opacity: 1;
  }

  100% {
    opacity:0;
  }
}
#

Let me know if it works

spice cypress
#

still not working

spice cypress
severe shell
# spice cypress

Oh, so you have more events... I thought it was just one event. Which element you want to hide?

#

The last one?

spice cypress
#

its like a transition that if the first event appear it will stay after that if another event apppear it should hide

spice cypress
severe shell
grizzled moss
#

no se porque no me coge el streamelements, le configure y todo y no me coge en el twitch, alguien sabe porque?

severe shell
spice cypress
hot trout
#

can someone explain to me the security implications of console.log()?

#

because not having it is really really really annoying

severe shell
hot trout
#

no you can't

#

the code from streamelements does console.log = function(){} before your code gets loaded

#

among some other stuff

#

oh I see a potential workaround

severe shell
# hot trout no you can't

I'm not sure what you are trying to achieve but you can do console.log('text here') on overlay editor and it will appear on the browser console.

hot trout
#

doing a console.log() outputs nothing here

#

I thought I could do console.debug() but that seems to not be functional in general

#

oh it does work it just filters those out by default

#

I dunno what widget you're editing there btw but I'm in an alertbox

spice cypress
hot trout
#

(btw I wouldn't have to do this if alertbox had the displayName available because I'm now having to query twitch for it and replace the string in my alert and was running into differences in real chrome vs obs cef)

spice cypress
silver condor
#

I should probably go to bed, but whatever. I've made an alert box and put in a custom text animation for follower notifs. There's an animation duration settings, but how would I keep the text shown until the next alert?

nocturne karma
terse crest
severe shell
ocean fractal
#

Howdy! Question about chat messages. Do they get sent to the widget before they're caught by twitch's automod?

hardy walrus
#

I'd say no tbh.

#

As it isn't even sent at that point if caught.

ocean fractal
#

I wouldn't expect it either. Someone messaged me that a widget was showing messages caught by automod. My one theory is that maybe two mods were looking at the flagged message and one mod let the message through while the other was looking at the flagged message and maybe the modview didn't update to show that it went through? idk

torn widget
#

Fix the store 🙂🏪 my fans can't buy merch

ocean fractal
#

a confirmation from an engineer would be helpful for my question above 🙂

sterile radish
#

Wondering if anyone knows why when I paste my HTML & CSS into S.E the animation doesn't play?

#

LEFT: S.E - RIGHT: Code on CodePen

hardy walrus
#

Anything in dev console?

sterile radish
#

This if it's anything to worry about?

hardy walrus
#

Could you try in chrome?

#

actually disregard

sterile radish
hardy walrus
#

Actually try incognito.

sterile radish
#

Same error thinking360

hardy walrus
#

Nothing else showing in console at all?

sterile radish
#

just this

hardy walrus
#

Post the codepen here and someone might be able to look at it better since that's about the extent of what I can troubleshoot.

sterile radish
#

I'm only a backend dev so front end not quite my forte yet

terse crest
sterile radish
#

I set it to 1920 1080

#

I’ll give that a go though ta

terse crest
#

And you can remove all the lines and keyframes declarations with -moz- and -webkit- and all other prefixes. Chrome works without them and it's just useless code

sterile radish
#

Ta :)

#

Will give it a whirl

terse crest
#

if that doesn't help idk, but your problem is not the code or SE

sterile radish
#

Nvm it works now

#

Somehow copied a wrong CSS

#

Sorry for ping 🧡

terse crest
sterile radish
#
const pyroDiv = document.getElementById("main");

window.addEventListener('onEventReceived', function(obj) {
    const listener = obj.detail.listener;
       console.log(obj.detail); 
  
      if (!obj.detail.event) {
      return;
    }
    if (typeof obj.detail.event.itemId !== "undefined") {
        obj.detail.listener = "redemption-latest"
    }
  
    const listener = obj.detail.listener.split("-")[0];
    const event = obj.detail.event;
  
      if (listener === 'follower'){
      pyroDiv.style.display = "hidden";
    }
});

Should this code not hit the follower event? It doesn't hide the div when I test a follow alert

tribal zenith
#

you have defined const listener twice

prime dove
#

reboot0 can you help me please

#

for twitch

tribal zenith
#

this channel is for developing widgets. For Twitch (support) questions, you'd have to go to #helpdesk-twitch or open a ticket

prime dove
#

i did

sterile radish
calm radish
#

I have a question how can i make my webcam border in obs flash with a donation saw this at someone on youtube

silver condor
#

Ok, so what I'm trying to do is recreate pokimane's header. I've already remade the graphic and just need to make the donation alerts appear. I'm proficient in HTML and CSS, but my JS is absolute trash.
I have the custom text animation, I just need to have the text show the donation amount and the donator's username.

#

Not the alert in the middle of the screen, but the header at the top

hot trout
#

also out of interest why are you recreating her graphic?

silver condor
#

I just love the design that Sam William made

#

so I made my own

hot trout
#

ah

#

basically if you want tat text to animate in like that you need to write the code to listen to the events (described in that document), extract the relevant information (donos, subs) and then update whatever element inside the widget will contain that text using the animation

#

something like

window.addEventListener('onEventReceived', function (obj) {
    if (obj.detail.listener == "tip-latest"){
      setLatestDonator(obj.detail.event.name, obj.detail.event.amount);
    }
});

(just as an example, not actually tested)

silver condor
#

Ok, I’ll check it out. Thank you.

silver condor
#

Yeah, I can't figure this out. I'll revisit it tomorrow

hot trout
#

how did you make the animation

tribal zenith
trail wraith
#

Wow I didn't know this channel existed lest go

pine mason
#

hey idk if i m right here, but i got a problem with a sponsor ship i had to do 20/20 players, i made on stream overlay 20/20 but in SE i made 19 it didnt refresh the numbers and i closed the sponsorship, before i earnd all bonuses now its still stay on 19/20 is there any option to get it back open?

valid goblet
#

Is there a way to see and edit the code for the pre-created widgets? I am trying to change certain aspects of the events list

#

Alternatively, if there is a user created events list widget that I can look at and edit the code, would it be possible to send / link me to it?

clever igloo
#

any way to get info from fields into javascript?

broken coyote
clever igloo
#

do I need anything to get obj? (Srry havent touched javascript in so long)

broken coyote
#

you can throw that into onload

solar birch
#

Hiii GUYS! Im now here but is there a way to process api data from the urlfetch command? i know nightly has $(eval but what dos streamelements have

hardy walrus
#

Json parsing has to be done on server side. Otherwise it'll be returned purely as cleartext.

solar birch
#

Thought so, everyone uses a heroku middleware

#

Ill just do that then

#

How should the API return data? Im trying to make a command to show online mods

#

Just a string?

hardy walrus
#

Specifically their dev channel.

solar birch
#

Ill take a look! But i think i figured it out, I do apprciate the help!

#

seems like ill have to create an API that returns a string so that srting can be placed in plane text! Ill keep u updated!

hardy crescent
#

Been waiting for like a month for an API Access for registered company in Saudi Arabia, no reply yet, no updates.

Can anyone guide me to someone who can help me with this.

fresh mauve
#

hello? i wanted to know if there is a way to UNLINK a third party tip web, i use a way to get tips from my country where paypal is technically non existent

#

but i want to unlink it now from my streamelements page

uneven oxideBOT
#

@wooden belfry, posting multiple links will result in not being able to post again.

silver condor
hot trout
#

@silver condor try like this ```html
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/animejs/3.2.1/anime.min.js"></script>
<style type="text/css">
.ml13 {
font-size: 1.9em;
text-transform: uppercase;
letter-spacing: 0.5em;
font-weight: 600;
}

    .ml13 .letter {
      display: inline-block;
      line-height: 1em;
    }
    </style>
</head>

<body>

<h1 class="ml13">Rising Strong</h1>

<script type="application/javascript">

function animateInText(text){
// Wrap every letter in a span
var textWrapper = document.querySelector('.ml13');
textWrapper.innerHTML = textWrapper.textContent.replace(/\S/g, "<span class='letter'>$&</span>");

anime.timeline({loop: false})
    .add({
        targets: '.ml13 .letter',
        translateY: [0,-100],
        translateZ: 0,
        opacity: [1,0],
        easing: "easeInExpo",
        duration: 1400,
        delay: (el, i) => 300 + 30 * i,
        complete: function(anim){
            // set new text (in a span per letter)
            textWrapper.innerHTML = text.replace(/\S/g, "<span class='letter'>$&</span>");
            anime.timeline().add({
                targets: '.ml13 .letter',
                translateY: [100,0],
                opacity: [0,1],
                easing: "easeOutExpo",
                duration: 1200,
                delay: (el, i) => 100 + 30 * i
            });
        }
    });

}

setTimeout(() => {
animateInText("new text");
}, 1000);

</script>
</body>```

#

it animates away the current text and once that animation completes, swaps out the text that was there for new text and animates it in

silver condor
#

Thank you. But how do I make it so that it shows the username, and also swaps out the text when a new person donates?

hot trout
#

you need to listen to the event like I said above and then you call animateInText() with that data

#

and obviously adjust the code to target the correct element in your widget

#

(the document.querySelector() and targets)

silver condor
hot trout
#

other listener?

silver condor
#

the umm

#

hold on

#

the onwidgetload

hot trout
#

ah

#

I'm actually not sure if the -latest events fire on widget load

silver condor
#

I see

hot trout
#

if not then you'd need that too so that the widget has info before someone donates the first time in a stream

#

lemme try it one momen

silver condor
#

ok

hot trout
#

ok apparently not

#

so indeed you'll also need to listen to onWidgetLoad

silver condor
#

At this point, I have no idea what I'm doing

hot trout
#

ok well you made that widget in html and css with a custom widget right

silver condor
#

yes

hot trout
#

so you should have an html element somewhere that you can put the dono / subscriber name in

#

presumably you started out by hard coding that in the html

silver condor
#

uh

#

I did not

hot trout
#

well start there

#

make sure you have html there ready to display the text

silver condor
#

I thought I could try pulling the JS from the JS section, but I couldn't figure out how to call it

hot trout
#

you want to start with the basics usually so make a static version first

silver condor
#

yeah, I thought about doing something like this

window.addEventListener('onEventReceived', function (obj) {
    const listener = obj.detail.listener;
    const data = obj["detail"]["event"];

    $("#usernameContainer").html(data["name"]);
    $("#actionContainer").html(listener);
    document.getElementById("amount").innerHTML=data["amount"]
});
#

maybe something like that

hot trout
#

that's a step farther down the line

#

first you need to have a place in the widget that the text can be placed in

#

the screenshot you showed above has that area empty

#

or actially it says "{name}"

#

what does the html for that look like

silver condor
#
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,700" rel="stylesheet">
<div class="main-container">
    <h1 class="ml13 event-tip">{name}</h1>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/animejs/2.0.2/anime.min.js"></script>
</div>
#

everything else was spread throughout the css and js tabs

#

I was grasping at straws

#

still am

hot trout
#

oh I see you made it a graphic and are overlaying custom widgets just for the data?

silver condor
#

yes, I am

hot trout
#

ah ok

#

that's fine that works

#

ok you can remove the {name} as that doesn't do anything

silver condor
#

I will, it was just a placeholder to see if the animation worked

hot trout
#

leave the html field as it is and paste this in the js field ```js
function animateInText(text){
// Wrap every letter in a span
var textWrapper = document.querySelector('.ml13');
textWrapper.innerHTML = textWrapper.textContent.replace(/\S/g, "<span class='letter'>$&</span>");

anime.timeline({loop: false})
    .add({
        targets: '.ml13 .letter',
        translateY: [0,-100],
        translateZ: 0,
        opacity: [1,0],
        easing: "easeInExpo",
        duration: 1400,
        delay: (el, i) => 300 + 30 * i,
        complete: function(anim){
            // set new text (in a span per letter)
            textWrapper.innerHTML = text.replace(/\S/g, "<span class='letter'>$&</span>");
            anime.timeline().add({
                targets: '.ml13 .letter',
                translateY: [100,0],
                opacity: [0,1],
                easing: "easeOutExpo",
                duration: 1200,
                delay: (el, i) => 100 + 30 * i
            });
        }
    });

}

window.addEventListener('onEventReceived', function (obj) {
if (obj.detail.listener == "follower-latest"){
animateInText(obj.detail.event.name);
}
});```

#

then when you emulate a follower it should show that

silver condor
#

gimme a sec

hot trout
#

I set it to follower here because I don't do donations btw but change follower-latest to tip-latest for that

#
window.addEventListener('onWidgetLoad', function (obj) {
    let data=obj["detail"]["session"]["data"];
  
      animateInText(data["follower-latest"]["name"]);
});```
#

that sets it up so it puts the latest follower in without it having to happen at that moment (i.e. at widget load)

silver condor
#

this is most likely something stupid and I'm too tired to notice. but my text is just white

hot trout
#

is this in the js tab?

silver condor
#

no, the html

#

should i be in the js tab?

hot trout
#

yes

silver condor
#

of course

hot trout
#

for javascript code

#

I mean it'll work that way too but it's nicer to deal with if you put them in the right place

silver condor
#

should I clear the js tab first? it's at the defualt state.

hot trout
#

yes remove all the default code

silver condor
#

ok

#

ok so this is what I have now

#
function animateInText(text){
        // Wrap every letter in a span
        var textWrapper = document.querySelector('.ml13');
        textWrapper.innerHTML = textWrapper.textContent.replace(/\S/g, "<span class='letter'>$&</span>");

        anime.timeline({loop: false})
            .add({
                targets: '.ml13 .letter',
                translateY: [0,-100],
                translateZ: 0,
                opacity: [1,0],
                easing: "easeInExpo",
                duration: 1400,
                delay: (el, i) => 300 + 30 * i,
                complete: function(anim){
                    // set new text (in a span per letter)
                    textWrapper.innerHTML = text.replace(/\S/g, "<span class='letter'>$&</span>");
                    anime.timeline().add({
                        targets: '.ml13 .letter',
                        translateY: [100,0],
                        opacity: [0,1],
                        easing: "easeOutExpo",
                        duration: 1200,
                        delay: (el, i) => 100 + 30 * i
                    });
                }
            });
    }

    window.addEventListener('onWidgetLoad', function (obj) {
    let data=obj["detail"]["session"]["data"];
  
      animateInText(data["tip-latest"]["name"]["amount"]);
});
hot trout
#

yes

#

that will only show it on widget load though

#

you removed the other eventlistener

silver condor
#

oh I need both

#

im stupid

hot trout
#

you need both -- one to show the data when the widget loads, the other to update it when a new donation happens

#

also you won't have any text rn because data["tip-latest"]["name"]["amount"] doesn't exist

silver condor
#

so remove amount

hot trout
#

for now yes

#

get it working first, then worry about those details

silver condor
#

ok

#

It works, but it does this thing where the text glitches and flashes when starting the exit animation

#

might just be my browser/pc, so let me know if it happens to you

hot trout
#

I have that exact code in a widget and no flashing happens

silver condor
#

got it, just my pc

hot trout
silver condor
#

it's... it's...

#

it's beautiful

#

Now I just need to figure out how to add the donation amount

hot trout
#
animateInText(`${data["tip-latest"]["name"]} $${data["tip-latest"]["amount"]}`)
#

maybe remove the extra $ if it's already in there

#

oh wait I messed that up

#

there

silver condor
hot trout
#

I

#

messed it up again

#

there we go that should work

silver condor
#

also, how did you get your text to not disappear at a smaller box size?

hot trout
#

hm?

silver condor
#

my box

#

your box

#

I think my css might be off

hot trout
#

that's just up to your css yeah

elfin arch
#

i'm taking notes on this. that is pretty AF. niice 🙂

silver condor
#
.ml13 {
  font-size: 5em;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 600;
  word-spacing: normal;
}

.ml13 .letter {
  display: inline-block;
  line-height: 2em;
}

this is mine, what's yours?

hot trout
#

exactly the same

#

you must have some more though because to start with my text is black and yours is white

silver condor
#

here's my html

#

I found the problem

#
* {
    font-family: 'Montserrat', sans-serif;
    color: {{fontColor}};
    font-size: 24px;
    overflow: hidden;
      word-spacing: normal;
}
#

this thing was hiding at the top

hot trout
#

ah

silver condor
#

I should really clear out what isn't used

hot trout
#

yeah

#

you generally want to delete all the stuff that's already there because it's just example code for an eventlist widget

silver condor
#

now to fix this

hot trout
#

don't make it too large or longer names won't fit

silver condor
#

the box or the font size?

hot trout
#

font size

silver condor
#

Thank you so much for your help.

#

I'm just going to fiddle with the visual properties

hot trout
#

sounds good

#

for the other side just put the same stuff but swap tip-latest for subscriber-latest

silver condor
#

got it, thank you

#

Three days of struggle and I'm saved by the charging device for electric squids

hot trout
#

lul my name is from a game I play called splatoon

#

in which one plays as a squid

silver condor
#

I remember splatoon

hot trout
#

and back when I made it my weapon of choice was a sniper (which we call chargers)

#

so

silver condor
#

I bought it when it first came out

hot trout
#

super original

silver condor
#

on the

#

wii

#

u

hot trout
#

WiiU yes

silver condor
#

...

hot trout
#

we're on Switch now thank goodness

silver condor
#

thank god

#

the only thing the WiiU was good for was luigi's mansion

hot trout
#

I bought it for mario kart 8

silver condor
#

nice

hot trout
#

also toad's treasure tracker is a fantastic little puzzle game

silver condor
#

I remember playing treasure tracker

#

I got my hands on the japanese release

#

The Japanese title was “進め! キノピオ隊長”

pulsar willow
#

Is there a best practice for finding a command word in a chat message? (respecting surrounding spaces)

str.includes() ignores surrounding spaces. ("a !test1 b" and "a !test10 b" would both trigger a widget associated with "!test1")
Adding those spaces to the command feels not like a good solution, since I have to fix the corner cases manually.

Regex on the other hand seem to have problems with !:

msg = "a b c !test1 d e f";
cmd = "!test1";

// ------------------------------------

// not escaping special characters
let re1 = new RegExp(`\\b${cmd}\\b`);
console.log("re1: " + re1.test(msg));            // re1: false

// ------------------------------------

// mozilla version (doesn't escape '!')
function escapeRegExp1(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
}

let re2 = new RegExp(`\\b${escapeRegExp1(cmd)}\\b`);
console.log("re2: " + re2.test(msg));            // re2: false

// ------------------------------------

// also escapes '!'
function escapeRegExp2(string) {
  return string.replace(/[.*+?!^${}()|[\]\\]/g, '\\$&');
}

let re3 = new RegExp(`\\b${escapeRegExp2(cmd)}\\b`);
console.log("re3: " + re3.test(msg));           // re3: false
hot trout
#

msg.split(' ').includes(cmd);?

#

or msg.split(/\s/).includes(cmd) if you care about other whitespace than spaces

pulsar willow
#

thank you! @hot trout 👍

pine dome
#

javascript folks! i've been trying to figure this out for a coulpe hrs now, does anyone know how SE is able to play audio with javascript in chrome? i keep getting "play() failed because the user didn't interact with the document first" 😦

elfin arch
pine dome
#

@elfin arch not when it's an overlay in OBS though - maybe they are doing some sort of virtual "click" behind the scenes?

elfin arch
#

OBS browser doesn't have that feature. Chrome and others do; to like prevent pop ups from opening and playing sounds randomly

pine dome
#

oh i know, i'm just wondering how SE gets around it, since all i need to do is open one of my overlays in a new Chrome tab, and the sound i have set for that overlay plays without me clicking anywhere on the page

#

i was referring to not having to click the page in OBS, i wasn't trying to imply that OBS was implementing that autoplay blocking feature, sorry

elfin arch
#

oh. ya. there is no way around it. even SE overlays have to be interacted with in Chrome for the sound to work

pine dome
#

i guess you're right, you have to click "EMULATE ALERT" - but they autoplay in OBS though!

elfin arch
#

correct. Because the OBS browser has that disabled

pine dome
#

gotcha, thx!

terse crest
#

Does anyone know if it's possible to get/track users' watchtime from a custom widget or anywhere else?

#

(on twitch)

#

Or at least get list of current viewers

terse crest
elfin arch
terse crest
#

Well I think that is what I'm gonna do 4Cop

#

And maybe check the list every once in a while to see if they are still here

summer mesa
#

Hello there, @bitter abyss. I'm sorry in advance for the pin.

I got your awesome Neohud and was trying to include different socials on it. But I couldnt find from where the socials' icons are coming, to include the new ones.

Can you aid me with this? 😊

bitter abyss
# summer mesa Hello there, <@!207222534154878988>. I'm sorry in advance for the pin. I got yo...

Hey @summer mesa glad to see you like my widget.
If the desired social media is not available in the "Socials" tab you can use a workaround within the "Custom Labels" tab.

You can find the free icons on: https://fontawesome.com/v5.15/icons?d=gallery&p=2&s=brands,solid&m=free

  1. Look for an icon you like
  2. Copy the HTML-Tag (like in the screenshot)
  3. Pase it in your custom label
  4. Write your text after of before the icon
  5. Done

I hope I could help you, if you have any questions, feel free to ask 🙂

summer mesa
#

It's awesome!

#

Thank you so much Neoshin! 💜 Your widget is amazing

somber hornet
#

I give you stupid fuckhead ONE week to put in an "one click delete Button". THIS shit is not legal here in the EU. I joined you with one fucking click so I can leave it with one fucking click.
Username: I dont know, maybe the one I am currently using?
Email: I dont know maybe the one from my channel i fucking one click linked to you
JWS Token: Dont know...dont care
Some words why i leave you: Because U stupid fuckheads making my life more complicated instead of easier???
Because I cant link THIS Youtube channel to my other account because its "already claimed" BY FUCKING MEEEE!!!! And you retards dont let me "disclaim" it?
And even IF i link it to my other account I still have to do every command 2 or 3 times because it is obviously to complicated for your devteam to mane ONE fucking backend for ALL channels.
Gosh I hate stupid people...

sonic patrol
#

Math-problem in the !gamble command? Commands called from Twitch
How it should be:

  2.433.752.312
-   107.374.182 <--- this is 5% of 2.433.752.312
---------------
  2.326.378.130

Alternatively:
  2.433.752.312
*     0,95
---------------
  2.326.378.130

Actual result:

  2.433.752.312
-    SOMETHING  
---------------
  2.040.109.465```
terse crest
#

That frustration level tho... incredible

somber hornet
earnest brook
#

Hello there! In the Gifted sub variation alert is it possible to show the name of the subscribers on the alert too? I've been trying to find where that data is stored to print it out, but no luck so far, so i wonder if that's possible at all.

hot trout
#

@earnest brook to my knowledge the community gift sub event does not have that info

earnest brook
#

thanks @hot trout, I assumed so, but wanted to have some insight from here

severe shell
#

This one is the information the subgift was given

#

This one shows the person who received the gift:

earnest brook
#

thanks for your answer @severe shell, the idea was to have everything in similar to this layout:

X gifted subs: 5 subs

  • sub1 (currentMonthsSubscribed)
  • sub2 (currentMonthsSubscribed)
  • sub3 (currentMonthsSubscribed)
  • sub4 (currentMonthsSubscribed)
  • sub5 (currentMonthsSubscribed)

but the issue was to get the list of the people that received the sub, but from what I'm understanding that's not possible unless I develop a custom alert widget with that info, right?

hot trout
#

correct

#

a community gift also sends an event for every individual sub, but you'd have to make a custom widget to gather those together

feral nest
#

So I iframe together things like twitch chat, the reward queue, and streamelements activity feed into a single dashboard page to then show on my hand in VR so I can quickly check everything in one place... but it looks like in the last few days streamelements have changed their site code to further block iframing the "popped out" activity feed into my mini dashboard even if I have a browser extension to ignore csrf conflicts - does anyone know if this is an intentional change, or something they might fix later on? Or is there a specific url I should be using for iframing the activity feed

hardy walrus
#

There are some changes to my understanding but anything specific is not what I know atm.

feral nest
#

alright - I'll make do with having two windows open on my wrist for now, but I hope an iframable activity feed comes back - I'll keep an eye out for any further changes <3

terse crest
feral nest
#

oh actually using an overlay as an actual web page might be a really good idea - thank you

terse crest
#

It's an actual web page after all :)

#

You can also fit the chat there, apply some styling and have a cool futuristic thing on your hand

drifting bronze
#

hey all, need help. not sure if this is right spot for this. trying to setup for my daughter and having issues with the alerts. the text over image is not working. it doesn't show any kind of text at all. why would that be??? the other options dont place it near where i want it. for mine i dont use that option but it sits right on the image perfect

severe shell
candid pike
#

hi i have to owners on my streamelements how do you remove one i dont want two

#

on my channels i have trovo and twitch as my owner on streamelements and i want to remove trovo as my owner and just have twitch how do i remove it

uneven oxideBOT
#

There is no easy way to unlink 2 owner-type accounts from each other. The only way is to make a closure request from here: https://streamelements.com/dashboard/account/security

WARNING: In submitting a closure request, all linked channels within the account will be deleted and you will lose all associated data. This includes overlays, custom commands, timers and past data (tips, subs, etc). You can still reconnect with the deleted account, but you are essentially starting fresh.

hardy walrus
#

@candid pike In short you can't without deleting both accounts

valid goblet
#

Can someone explain the difference between gifting vs community gifting? I don't fully understand the difference, and I'm having trouble in my code relating to community gifting

proud spade
valid goblet
#

So if you're the streamer, and a viewer subscribes, that's basically just a gift subscription?

#

I didn't realize they were the same thing before

proud spade
#

If I subscribe myself, it's not a gift.

hot trout
#

when you gift a sub you can pick if you want to gift a specific person, that's just a gift sub

#

or you can choose to let twitch decide who to gift the sub to, that's a community gift

#

the former is always one sub, the latter can be up to 100 people

sudden bear
#

So I'm using the Wheel of Fortune widget from the Overlay Gallery, and am trying to modify it for my stream, where I have 2 wheels at once, WheelA and WheelB. In general this works fine, with WheelA spinning with the !spinA command, and WheelB spinning with the !spinB command. However, I want to add a second command to both of them, and have them BOTH spin if I type in !spinwheels. I figured this would be as easy as making the following changes:

  • Add spinCommand2 to the top of the JS tab in the editor

  • Change if (data["text"].toLowerCase() !== spinCommand.toLowerCase()) return;
    to if (data["text"].toLowerCase() !== (spinCommand.toLowerCase()||spinCommand2.toLowerCase())) return;

  • add spinCommand2 = fieldData['spinCommand2']; below spinCommand = fieldData['spinCommand'];

  • add the following to the Fields tab in the editor

   "type": "text",
   "label": "Spin Command2",
   "value": "!spinuncommon"
 },```
- add `"spinCommand2":"!spinwheels",` to the Data tab in the editor.


This, however, didn't seem to do anything. Any suggestions on what I need to change to add an additional spin command to spin both wheels at once? I feel like I'm probably missing something obvious because I haven't worked with javascript before.
hot trout
#

you had the right idea but the wrong execution

#

try instead ```js

if (data["text"].toLowerCase() !== spinCommand.toLowerCase() &&
data["text"].toLowerCase() !== spinCommand2.toLowerCase()) return;

sudden bear
nimble goblet
#

Since I have not gotten any response in Twitch help. Developers is it possible to use streamelements currency for a giveaway with another bot! I run the giveaway with 3-5x subscribers luck and it is always the last 4 that joined the giveaway that win ish. So the loyalty giveaway I can not use anymore. I have also contacted Streamelements support mail but no response. Please help me. PLEASE! Or can you make the giveaway random instead of rigged? Because now I have to run the giveaway with MIXITUPBOT or Streamlabs. Which I do not want to! Please help me. PLEASE!

pulsar willow
# nimble goblet Since I have not gotten any response in Twitch help. Developers is it possible t...

Afaik using another bot should be possible (but might be a bit tedious).
You can execute operations on your loyalty points via middleware like https://jebaited.net. (get them, add / substract, etc.)

The custom widget "Bank Heist chat game" is a good example for this:
#widget-share message

Another workaround might be to modify the "Prize Wheel" custom widget:
#widget-share message

nimble goblet
silver condor
#

@hot trout, I'm back at my main PC and it's still flashing

candid pike
winged bramble
#

Hi im trying to use streamelements overlay but everytime i try to make a new widget it doesnt pop anything u p

#

I click on once, twice nothing pops up.

glass quiver
#

Hello, I recently started using SE.Pay and withdrew money for the first time a few days ago and it still hasn't deposited into my bank account. Is there a time window that i have to wait for it to deposit? and is there a way to verify that I set it up to go to the right bank account?

proud spade
uneven oxideBOT
proud spade
# glass quiver ok thank you

Unfortunately, because financial data, you won't be able to get much help here unless you have a ticket to point them to.

glass quiver
silver condor
hot trout
#

@silver condor but does it happen in obs too?

#

and it doesn't show the tip amount because you didn't put that in the onEventReceived listener

hot trout
#

ah

#

@silver condor update the version of anime.js

#

from 2.0.2 to 3.2.1

#

I've been using that newer version all along but I guess you didn't notice that I did

silver condor
#

sorry, I just saw this. It happens in obs as well. I'll update it

hot trout
#

yeah it's just a bug in that older version of the library

#

it happens for me too if I downgrade it

silver condor
#

great

#

one more issue

#

it doesn't show the tip amount

hot trout
#

that's because you didn't tell it to

silver condor
hot trout
#

yes

#

that happens on widget load and it'll show the amount

#

but then the onEventReceived listener only shows the name

silver condor
#

oh I see

#

so I need to put animateInText(obj.detail.event.amount)

hot trout
#

no

silver condor
#

i see

hot trout
#

it animates in the entire string you put in the args

silver condor
#

right

hot trout
#

so you need to add everything you want on that line inside it

silver condor
#

got it

hot trout
#

you can use these backticks `` and put stuff in ${} for easy string assemby

#

(that doesn't work with '' or "")

silver condor
#

ahh ok

hot trout
#

btw you could change the animation to this

#

    anime.timeline({loop: false})
        .add({
            targets: '.ml13 .letter',
            translateY: [0,-100],
            translateZ: 0,
            opacity: [1,0],
            easing: 'cubicBezier(.75, .0, .25, 1)',
            duration: 1500,
            delay: anime.stagger(150),
            complete: function(anim){
                // set new text (in a span per letter)
                textWrapper.innerHTML = text.replace(/\S/g, "<span class='letter'>$&</span>");
                anime.timeline().add({
                    targets: '.ml13 .letter',
                    translateY: [100,0],
                    opacity: [0,1],
                    easing: 'cubicBezier(.75, .0, .25, 1)',
                    duration: 1500,
                    delay: anime.stagger(150)
                });
            }
        });
#

makes it look a bit nicer

#

imo

silver condor
#

it

#

it does look nicer

#

I feel like I should be paying you for this

hot trout
#

don't worry about it

young shard
#

ooo i never knew about anime.js it looks quite nice to use

hot trout
#

I usually use gsap but the example animation found was in anime.js so

broken coyote
#

i cry every time i see anime.js

#

gsap or nothing

hot trout
#

why don't you like anime.js

hardy walrus
#

Dude hates weebs kekw

hot trout
#

lol

sudden bear
terse crest
terse crest
young shard
#

i mostly just used css animation plus a bit of jquery animating
gsap wants u to pay for extra features while anime.js looks to be completely free and open source so yea i'd rather go with anime.js

hot trout
#

the problem with css animations is as soon as you want to do anything even remotely interesting it gets insanely complicated

#

doing anything in a sequence is a nightmare

broken coyote
candid pike
#

hi i have a twitch account for my streamelements and i need to find a way to delete my trovo account from streamelements i dont i dont stream on trovo

rocky sierra
#

So from the API theres no way of updating the Bots counter is this correct?

still juniper
#

I've just discovered that test events sent from the editor or through websockets do not queue with real events. Is this expected? Because I don't see any reason for it to be like this, and it effectively ruined my way to hook custom external events into the SE alerts queue

I'm honestly frustrated right now, especially because I found this while on production, which looks terribly unprofessional. I would expect things to work like they do within the editor, but apparently that's not the case

pastel granite
#

Hi girls and guys,

does somebody know how to align an alert to the bottom without the need of using custom css code?
I have a bunch of variations for most of my alerts and don't want to recreate everything.
If it's not possible, is there a away to keep the GUI settings for the custom code so that I just need to add a container bottom aligned?

ocean fractal
#

I would crop your alert as much as you can in obs and then you can horizontally align it in obs as well. That can do the trick without weird css!

pastel granite
#

No, that cannot do the trick for me. I'm using different animations with different heights and the user messages are dynamic, too.
It's a shame 😟 I don't want to use Streamlabs anymore but there I can easily keep all settings and add custom code. 🥺

hot trout
#

I found streamlabs had the same issue wrt custom html as streamelements

#

namely having it defined separately for each variation

still juniper
# still juniper I've just discovered that test events sent from the editor or through websockets...

Following my previous post, I see real events are sent with listener = event instead of listener = event:test (at least store redemptions, can't test right now other types of events). That causes my custom widget to resumeQueue when it shouldn't, as it defines the skippable events as the documentation:
let skippable=["bot:counter","event:test","event:skip","message","kvstore:update"];

This list doesn't include event as skippable although apparently it should. Can anyone confirm this? Because if I'm right and it should be skipped, I very much doubt no one has come across this issue before, as it breaks the queue with overlapping events

hot trout
#

all I can add is that other events (including replays from the dashboard) are also sent as event:test

still juniper
#

real events (e.g. subs from Twitch) are sent as event:test? Real meaning not emulated in the editor

hot trout
#

replays of real events

#

real events sent real-time are sent as event

still juniper
#

that I know, and that's why my widget works perfectly within the editor and with simulated events. But it breaks when real events come in (but thanks for the clarification)

still juniper
# hot trout real events sent real-time are sent as `event`

The question is then if event is queued or not (i.e. if it should be skipped or not). As I said, apparently it should be skipped, same as with event:test, but if that is the case I'm really puzzled no one has come across the issue, so I'm clearly not sure about this

fading basalt
#

Hey

#

Is it possible to send the information about cooldown to the stream?

ocean fractal
# fading basalt

sure. the widget has html. You can update the html to show a countdown or something

#

you can use jquery to update the html easily enough, but its also doable in javascript

fading basalt
#

What will the code look like? I have no idea how to start

fading basalt
#

I have installed kruiz control + using this widget, but I can't figure out how to show the couldown on the stream of a command

terse crest
#

I heard about kruiz control, seems like a neat thing

ocean fractal
#

the widget is a browser source. it inherently uses a browser in obs

fading basalt
gritty depot
#

I used the Credit Roll by Grot widget at the end of my last stream, but it didn't show anything from the stream's data, only some follows I got before starting the stream. However, when I look at the editor now, I can see everything that happened last stream.
In OBS, should I have "shut down source when not visible" or "refresh browser when scene becomes active" checked or both? (I have the widget on a separate scene.) I'd like the end credits to show the data from the current session if possible.
Any help is appreciated!

terse crest
gritty depot
terse crest
gritty depot
still juniper
eternal quail
#

is there a way to reset who the top tipper for the channel is? We had a accidental dono/not accurate dono and would like to get rid of that

mellow quail
#

Hello everyone, I wanted to get one command set to choose a random sound effect in the item store to use from a selected pool of sound effect.
I was thinking it would work if I add a command called !example which has an output of ${redeem example}
this would allow me to use a command !example to redeem the store item instead of !redeem example
But can I just set multiple sound effects in the item store with the same name of example and the command would redeem one random sound effect?
Let me know if this will work or if there is another way to have one command choose a random sound effect from a selected pool which I can choose.

spice cypress
#

hi can some one help me im thingking of creating a goal widget but the settings are bit different instead it will count to 1 to 100% i would like to reverse it to 100 to 0%

mild cipher
mild cipher
mild cipher
mild cipher
#

I didn't mean you should post in there. I meant you should search in there lol

mellow quail
eternal quail
severe shell
pulsar willow
#

The result is this:

#

But I don't actually know if it requires any additional Code or Options in the Custom Widget Menu.

terse crest
#

but yes, pretty much anything is possible (if you familiar with html/js/css)

#

my recent experiments

pulsar willow
terse crest
still juniper
elfin arch
#

i wish there was a SE_API.pausequeue() to go with the resume.

ashen silo
#

hey i need help how do i move a already made acc to another already made account since i want to link my youtube to my twitch but i made both of them a seprate thing

uneven oxideBOT
#

@ashen silo ⤵️

Account Merging - Please note:

  • Merging accounts only allow faster ways to switch between accounts
  • Merging accounts does not allow data sharing between accounts - different streaming platforms, different type of events
  • Merging accounts allows duplicating/sharing overlays between the accounts

If you understand the limitations of merging and want to proceed, please find the JWT tokens (!jwt) from both accounts you want to merge and fill out the form here: https://streamelements.com/contact with each token correctly labelled

#

You can find your JWT token on your account channels page (Show Secrets to reveal the token): https://streamelements.com/dashboard/account/channels

READ ME: This is a private security token. Do NOT share this token here or other public places, only with a StreamElements staff member in private.

meager heath
#

hi, switching some api's over to SE and was just curious what the normal turnaround time is on the oauth access request?

pulsar willow
#

Hi, I am trying to do a cherity event and I was wondering if there was a way of just having a label that updates for the total amount that has been donated so far?

#

If anything I just need a means of only having the middle number show for the Tiltify Donation Goal Amount.

lilac bridge
#

Is there any way to make a sound command for a specific user?

hot trout
#

use the video on command widget (from #widget-share) and modify the code to check for the user

marble horizon
#

Is there's a way to add top 25 cheerers and tippers in Widget? or it can only show only top 1 with data["tip-alltime-top-donator"]?

terse crest
hot trout
#

is there a way I could update a widget previously shared by someone else?

#

I was trying these alerts #widget-share message and they're good but they need a few tweaks to make them great

#

(namely to fix the animation if you change the alert duration)

#

it doesn't say a software license anywhere so I dunno if I can just make a new submission with updated css

terse crest
hot trout
#

well yeah I can modify it for my own use but I'd like to share some fixes

#

I don't use other people's alerts generally

terse crest
#

So just @ author and ask

pulsar willow
#

The variations of the "Video On Command" custom widget were published as their own widgets 🤔

But I feel like there should be rules / a scheme for publishing updates. (if only for tidiness reasons regarding the widget-share channel.)

hardy walrus
#

@onyx mural @ruby thistle @marsh quiver ^^^^^^^^^

ruby thistle
hot trout
#

they both credit the original at least

pastel granite
#

Hey guys, I'm wondering if there's a field type to let the user choose an image or video? Or is there a way to inject the selected source if custom CSS is enabled?

hot trout
#

the user being?

#

cause there's these

pastel granite
#

Uhm. Okay. I see. I just want to embed the uploaded file that is normally shown if no custom CSS is enabled.

hot trout
#

oh you can put that in your custom html/css/js with {video} or {image}

pastel granite
#

Awesome! Thank you so much for the link!

river prism
#

I'm using the $(customapi) feature to connect to my own API but I occassionally get "RequestError: read ECONNRESET" as a response to it? Looking at the logs for my own server I can see that it successfully connects to it and gets a respoisne three times before it sends it. Is this some kind of basic thing, or?

#

Anything I should do to troubleshoot this or just put a cooldown on the command and pretend like it's not an issue?..

hot trout
#

econnreset means the connection was closed unexpectedly by the other side

river prism
#

That's...weird..

hot trout
#

in web server land that often means the server crashed

#

I'm also of the opinion that you shouldn't be seeing 3 reqs per command execution

#

and that that itself is an indicator of something being wrong

river prism
#

well yea they're a few seconds apart

#

most of the requests go through, sometimes the bot requests it a few times before it actually 'gets' the response

hot trout
#

are you the owner of the server?

#

or I should say, are you able to sniff its network traffic

river prism
#

Yes it's running on my pc so i'm assuming it's just some issue with my internet or something

hot trout
#

using something like wireshark (or, more basically, tcpdump) you can see if it's closing the connection prematurely

river prism
#

👁👁 this is like my first time playing with web servers but i will try my best thank you a lot

tiny hound
#

So for months my alerts just wont play or will play at random time. I have tried everything I can think of to fix the problem. Does anyone have any insight?

river prism
hot trout
#

ah

#

now comes the fun part of figuring out what's wrong

river prism
#

i don't know if it's suggesting that the way i'm sending my response is wrong but wouldn't that mean that it would work none of the time and not just sometimes

hot trout
#

what does it do?

river prism
#

well I just followed a youtube tutorial, but it works flawlessly in any browsers i try it in which is what makes me question it but

#
            final String CRLF = "\n\r";

            String response =
                    "HTTP/1.1 200 OK" + CRLF +  CRLF + CRLF +
                            html +
                            CRLF + CRLF;```
hot trout
#

oh

#

that is a bit basic

#

try adding a "Connection: close" after the first CRLF

river prism
#

Yeah I just need to get the base down to make the bot send a message so that I can use the api to trigger things on the server itself

river prism
hot trout
#

yeah

river prism
#

still getting the issue except now the bot just says this

hot trout
#

I'm also decently sure that crlf should be '\r\n' not the other way around

river prism
#

ah mb

hot trout
#

the question though is why are you implementing http yourself

#

I feel like your problem is probably solved by simply using an existing framework for that

river prism
#

Well I don't know much about all this so I also just wanted to learn more about it by doing it myself

hot trout
#

what language are you making this in

river prism
#

Java

hot trout
#

ouch

rustic galleon
#

hello a query, for 1 month that streamelemts does not work with my fb account, does not let me log in, if I log in it takes me out of the page and the alerts stopped working?

hot trout
#

it's been like over a decade since I touched that lol

river prism
#

It's a plugin for a minecraft server, I'm just doin this so that I can trigger things in-game with chat commands etc

hot trout
#

ah I see

river prism
#

and I know there's already plugins for that but I just prefer to do things myself

#

Well probably already plugins for that but yknow

hot trout
#

well a normal http response looks more like this

river prism
#

yeah i just skipped over most of that since really the only info i need to send is what the bot needs to respond to the command

hot trout
#

well some of it is needed

river prism
#

and also because the bot just takes the api response and puts it in caht as plain text so i can't really make a whole essay out of it either

#

Well yea

hot trout
#

making it so a 'Connection: close' header is in there and swapping the crlf around may be enough

#

that header tells the client (the bot) that the connection will be closed right after the response is sent

river prism
#

Yea it's jsut that when I did that, the bot just put that in chat

hot trout
#

that means you didn't do it right

#

what does the code look like now

river prism
#
            String response =
                    "HTTP/1.1 200 OK" + CRLF + "Connection: close" + CRLF + CRLF +
                            html +
                            CRLF + CRLF;```
hot trout
#

did you reverse the crlf?

river prism
#

Yes

hot trout
#

hm weird

#

are you on linux by chance

river prism
#

windows

hot trout
#

heck

#

I dunno how to do something like curl in windows

#

and they took telnet out

river prism
#

curl is a command in the command prompt

hot trout
#

yes