#dev-chat

1 messages Β· Page 68 of 1

hardy walrus
#

What exactly are you wanting to suggest?

ashen yew
#

A widget that scrolls between other widgets to free up screen area. Example would be scroll vertically between latest sub and latest follower and adjust the delay.

#

And be able to add an image like the thumbs up instead of "latest like"

#

Looks like this was done! I need to go look! I've never noticed it?

severe shell
ashen yew
#

Never seen it because I'm using FB platform it looks like.. let me know if anyone knows of one for FB before I try and scroll through to find one... Lol

gusty spindle
#

Not sure if this is the correct channel for this question. I'm not getting tip alerts in my stream. When I log in to streamelements and test it works fine. The tip came to my PayPal. The PayPal is linked in SE. I just didn't get the alert animation or audio in stream. Any ideas?

elfin arch
#

Oohh the apikey. Nice.

small ingot
#

Hello o/

#

Hey guys, i need a help, someone here ?

gusty spindle
eager ginkgo
main peak
#

Hi I'm not sure if this is the right channel for this but I think 2 months back I had completed a sponsored stream that I got through streamelements and I still haven't gotten paid from it because it keeps telling me to update my payment details even though I had already completed the form

uneven oxideBOT
#

@main peak ‡️

If you need help with your campaign or sponsorship please use our form here: https://strms.net/sesp_help Thank you.

real furnace
#

Hey dev wizards, did anybody ever tried doing an API call for twitch Hype train Helix endpoint? How did that go?

elfin arch
real furnace
#

@elfin arch my pain point is the Oauth, what are you using as client-ID and bearer and where do you get it in your channel?

elfin arch
#

need the scope:

real furnace
#

just get the token created from this page and it is good to go?

elfin arch
#

but that will only "GET" the hypetrains

real furnace
#

it is all that I need πŸ˜„

elfin arch
#

πŸ‘

next narwhal
#

for some reason i cannot open the dashboard. when i click on it it just refreshes the page back to streamelements. or it keeps loading.

#

same if i want to go to settings or anything else

hardy walrus
#

2 things

uneven oxideBOT
hardy walrus
#

And then delete the cookies for the website.

next narwhal
#

okay i will try that. thanks

#

how do i delete cookies? πŸ‘€

hardy walrus
#

πŸ”’ in URL bar

next narwhal
#

nice got it. thank you!

cyan valve
#

okay and how would it look like if i want to request channels/me via the SE_API-object?

unkempt mason
#

Hey, not sure in which thread to post this, but I am having trouble with 7tv emotes in the chat box on stream. They are simply not showing. I have looked at the forums, but none of the advice there has helped. Does anyone know how to fix that? Thanks in advance!

crude lark
#

I apologize if this is the wrong channel to post this in, but for some reason I can't get to the command-share room.

Does anyone know if it is possible to create a "Demerit System" that assigns a value to a variable+username? I tried something like this, and i thought it was close, but I realize that the counter name also needs to be unique since that is what stores the counter value :

!command edit !givedem $(touser), you just received a demerit | $(count givedem)+$(touser)+ "+$(1)")

I think this could be a great idea if I could just figure out how to concatenate two variables.

hot trout
#

I dunno if this works but you could try $(count dem-$(touser))?

crude lark
#

I'll try it out

#

i was wondering if that was a good place for a ${1} variable and use that somehow

crude lark
hot trout
#

yes

#

or $(count givedem$(touser)$(1))

#

again I dunno if the bot does variable expansion like that but try it and see

crude lark
#

!command edit !givedem $(touser), you just received a demerit | $(count dem-$(touser))

but the counter variable for something like this will be "givedem". i need it to be something like "givedem<user>"

hot trout
#

hm I just tried it and it seems that you can't put variables in the $(count) variable

#

which means that what you want is not possible without using an external api

pulsar willow
#

I have found an issue where if you duplicate a overlay from stream elements twitch to trovo it will remove all of the custom sounds and change parts of the overlay your using

#

So this is twitch on SE before duplicating to Trovo

#

This is the same overlay after duplication from twitch Streamelements to Trovo stream elements

#

So any reasons as to why duplicating my already created overlays is well not working or SE is auto changing my stuff

spice cypress
pulsar willow
#

I dont quite follow ?

pulsar willow
#

because when I copy the overlays to trovo from the Twitch SE area it automatically changes and screws up my stuff

onyx sedge
#

Hey guys the latest update got rid of the OBS Stream Setting Dock and I was wondering how I could get it back

elfin arch
fringe shale
#

is there a way to highlight text thats not auto highlighted?

#

in an alertbox

elfin arch
#

you are using custom CSS for your code in the AlertBox?

fringe shale
#

nope

elfin arch
#

how do yo mean "highlight" ?

fringe shale
#

like the blue part

elfin arch
#

short answer is going to be no; if you're not using custom code

fringe shale
#

okk

#

another question

#

can u like make math in alertboxes lol

#

lemme show u

#

like that

elfin arch
#

🀣 same response as above

#

if you go custom code; then anything * is possible

robust mulch
#

using the api, is it possible to somehow issue points?

fringe shale
elfin arch
elfin arch
fringe shale
#

okk

robust mulch
elfin arch
robust mulch
#

one

elfin arch
#
https://api.streamelements.com/kappa/v2/points/${process.env.SE_ACCOUNTID}/${username}/${points}
robust mulch
#

thanks

robust mulch
#

@elfin arch How can I get the last 10 purchases?

severe shell
robust mulch
elfin arch
boreal chasm
#

Hi, I would like to learn from 0 the code programming to customize my assets on streamelements (such as animation of customized texts etc ...), I saw that you need to know HTML, CSS and JS, someone expert can recommend me some good courses/tutorial to follow for what I want to do? thanks

boreal chasm
#

thanks

bitter ferry
#

is there a way to set up breakpoints/debugger lines in streamelements editors for js? I can see errors popping up in my console but I want to make sure I understand what's going on there

pulsar willow
#

@vocal mist

#

@vocal mist

#

@rough abyss

#

@rough abyss @StuntZ#7372

left rampart
#

Is it possible to trigger an emulated alert through the API?

still juniper
#

you can through websockets, sending an appropriate event:test event (there's no API endpoint for that afaik)

left rampart
left rampart
#

I see that some widgets are able to display more than one field inline in the editor. Is that available to custom widgets?

#

Also, I totally forgot to say thanks, Ca11!

inland umbra
#

While streaming Fortnite the overlay doesn't show up, but while streaming ROBLOX it does can anyone tell me how to make it show up while streaming Fortnite.

left rampart
#

@inland umbra is this a custom overlay you've made? If not, you'll have better luck in #helpdesk-selive, as this channel is for talking about developing things with SE.

left rampart
#

Sorry, I keep coming up with questions... Are custom JS events between widgets possible? I'm guessing not, but...

hot trout
#

not directly I don't think but you could use the kvstore

#

oop

left rampart
#

@hot trout I see that option, but I don't want to fill the store with a ton of one-off data, and I don't see a way to delete in the docs.

hot trout
#

the thing is widgets are all put in their own sandboxed iframe and the parent frame so far as I know does not give you any way to talk to other widgets

left rampart
#

Well, wait... if I save data with the same key, it'll just overwrite the old, right? So it won't really be creating waste

hot trout
#

generally that is how kvstores work yes

#

one key = one value

left rampart
#

In my defense, it's Sunday evening.. my brain is basically hibernating

#

Do you know the overlays in a non-active OBS scene actually process data? Wondering if I need a central processor widget that is required to make the others work on every scene.

inland umbra
#

@left rampart it is a custom overlay that I made

still juniper
#

I see that some widgets are able to display more than one field inline in the editor. Is that available to custom widgets?
nope

Do you know the overlays in a non-active OBS scene actually process data?
By default browser sources are always active even if not present in the current scene. Unless you have them configured to shut down when not visible

left rampart
#

Thanks, @still juniper. I'm guessing maybe it's better practice to handle processing through a remote api and emit events back to the overlays? Oh, but one of them is a custom alert, and I probably can't pause the queue other than in OnEventReceived, can I?

still juniper
#

I don't know exactly your use case, but sounds like something I tried to achieve some weeks ago. If you're trying to trigger a custom "external" alert that queues with the rest of native alerts, then yes, you need to emit one of the predefined events that are processed by onEventReceived. But have in mind that if you don't use one of the predefined labels for listener (aka subscriber-latest, cheer-latest, etc), that event won't be added to the queue. If you can explain a little further your goal, I might be able to provide some guiding/tips

left rampart
#

Thanks! So, I built a subathon type widget a while back that automatically tracks goal progress. A friend would like me to add a custom alert for when a goal is reached. I could just track the subscription count separately on every page, but then I would need to make the user type their goals multiple times.

#

Another option I suppose. I could have them set their goals on my own site and have each widget request them, but that's not the standard widget experience.

#

Oops, forgot to ping @still juniper πŸ™‚ ^^^^

hexed vector
#

Hello. I have made a connection via websocket to realtime.streamelements with a node script using socket.io-client. It works, but after hours working it stop working without any error, it just stops getting events. If a restart the application it works again. Is there a time limit or something?

This is the code with the connection. I replace the realtime streamelements url and delete the github links from the example because I got muted before trying to post this xD.
||

const socket = io('realtime url', { transports: ['websocket'] });
// Socket connected
socket.on('connect', () => {
    socket.emit('authenticate', { method: 'jwt', token: token });
});

// Socket got disconnected
socket.on('disconnect', data => {
    socket.connect();
});

// Socket is authenticated
socket.on('authenticated', data => {
    const {
        channelId
    } = data;
    console.log('Successfully connected to channel ' + channelId);
});
socket.on('unauthorized', console.error);

socket.on('event', data => {
    console.log(data);
    adivinoRole(data, token);
});

socket.on("connect_error", error => {
    console.error(error);
    socket.connect();
});

||

left rampart
hot trout
#

first of all there's a setting in obs to shutdown a browser source when not visible

#

and secondly even if you have that disabled, there's a thing called the page visibility api that suspends a lot of rendering when browser sources aren't visible

#

but you can workaround that by having it visible in a projector

#

page visibility api also doesn't inhibit all processing so it depends on what you're doing

#

@hexed vector is this after a while of nothing happening?

left rampart
hot trout
#

I don't know exactly what does and doesn't get put on hold

#

all I know is webrtc keeps going

#

and animations using gsap get paused

hexed vector
# hot trout <@!622915427328196628> is this after a while of nothing happening?

Probably, because the last events tracked are this, that I think are event:update type. But I don't know when stops, there is no disconnect event nor connect_error event.

0|api | 2022-03-05T20:43:18: {
0|api | 2022-03-05T20:43:18: name: 'subscriber-points',
0|api | 2022-03-05T20:43:18: data: { '$init': true, amount: 11, activityId: '' }
0|api | 2022-03-05T20:43:18: }
0|api | 2022-03-05T20:43:18: {
0|api | 2022-03-05T20:43:18: name: 'follower-total',
0|api | 2022-03-05T20:43:18: data: { '$init': true, count: 10252, activityId: '' }
0|api | 2022-03-05T20:43:18: }
0|api | 2022-03-05T20:43:18: {
0|api | 2022-03-05T20:43:18: name: 'subscriber-total',
0|api | 2022-03-05T20:43:18: data: { '$init': true, count: 11, activityId: '' }
0|api | 2022-03-05T20:43:18: }

hot trout
#

your router probably timed out the connection and just dropped it

hexed vector
hot trout
#

if you try to send something it'll error immediately

#

but you generally won't figure it out without that

left rampart
hexed vector
#

so I have to send something to check if the connection is working?

hot trout
#

yeah

#

normally these sorts of long-running connections have ping/pong exchanges to prevent/detect this issue

hexed vector
#

ok, thank you. I'm only listening, I dont emit anything.

still juniper
#

I don't know exactly what does and doesn't get put on hold
basic JS processing ain't affected by page visibility afaik. It's mainly targeted towards "heavier" things (aka animations/rendering) that don't make sense to process since the page is hidden. Anyway, generally speaking the visibility API is something you choose to make use of or not. If GSAP animations get paused is because they don't handle that and/or rely on how the browser handles requestAnimationFrame() by default (I'm not familiar with GSAP). anime.js for example have an optional parameter to control whether you want animations to be paused or not when tab is hidden

hot trout
#

Anyway, generally speaking the visibility API is something you choose to make use of or not.

Sadly obs makes that decision for you

left rampart
#

But it sounds like the basic JS events I need to run will still process. I can work with that

still juniper
#

I don't think OBS is enforcing anything special apart from the default behaviour of the inner browser, but I might be wrong

hot trout
#

I made an issue about it with obs

left rampart
#

Last Question for now: Is there a way to develop widgets locally, so I can use VSCode or something more featured?

hot trout
#

yes

#

there's a couple of options depending on what you're looking to do

#

someone made a mock widget editor to help test events fired in your local browser

#

is that

#

and I made a tool to help me keep my sanity when working on my alertboxes that lets me keep them in local files and upload them

hexed vector
#

Another noob question. What can I emit to realtime streamelements to make a ping?

hot trout
#

I'm looking at it and it should actually do tht for you in the background

#

you have to enable debugging for it to show those messages

left rampart
hot trout
#

oh I did share it

#

just not very obviously

left rampart
#

instead of using the SE web editor and going mad.

Yaaaaaaas

#

Laptop battery is about dead, but thank you all so much!

still juniper
# hot trout I made an issue about it with obs

Checked the issue. As I said, they're not enforcing anything on top of what Chromium enforces by default, which yes, most probably affects requestAnimationFrame(). But general JS processing should be unaffected afaik, especially events since they use extremely low resources. It's not that everything is shut down, just heavy unnecessary things

hot trout
#

right

#

for me animation was the important bit

#

given that I'm in obs

#

and animating is what we do there

still juniper
#

yeah yeah, I do understand your issue, and seems more than reasonable to me

hot trout
#

I can mostly work around it by using studio mode

#

and I found out that using a stinger transition hides the problem because the animation restarts while the stinger is still visible

#

but I try not to rely on jank

hexed vector
left rampart
#

Shame OBS doesn’t inject some kind of active even to let overlays know. Then animations could queue when offscreen

hot trout
#

they specifically put work in to make it work this way

#

and yeah the primary thing I needed it for was for an animation to happen when the scene was transitioned away from

#

so that when I transition back it could animate back in

#

(it being the score screen for a tournament)

still juniper
#

So, I built a subathon type widget a while back that automatically tracks goal progress. A friend would like me to add a custom alert for when a goal is reached. I could just track the subscription count separately on every page, but then I would need to make the user type their goals multiple times
@left rampart coming back to this, it all depends on what you need/want:
A) If you want the counter + alert on the same widget, the solution is straighforward. But the alert won't queue with other alerts
B) If the alert is meant to be a separate widget, I'd go the KVstore route and store there the current progress from the subathon widget, and listen to update events on the alert one. But, this alert won't queue either. Have in mind that you can also store the general settings in the KVstore, so the user only has to input them on the main widget (and the alert can read them later on).
C) If you really really want the alert to queue with the rest of alerts, then yes, you need to inject an event that is received by all widgets, and that's only possible through websockets as far as my tests have gone. But queueing is a devil in disguise, that I can tell you

hot trout
#

cal11 and alert queueing, name a better duo

still juniper
#

it's my arch-enemy

left rampart
#

The only other thing I can think to do to ere would be to use the api to manually pause the alerts. Definitely don’t want a streamer to miss an alert in a subathon because 2 went off at once

uneven skiff
#

how do i make a link to an overlay for people to use? i want to start selling overlays on etsy and include custom css for chat and event lists etc. but I don't know how to link to the theme I make? Like what is in the widget share channel.

hot trout
#

unfortunately you need special permission for that

#

which I don't know how to apply for but wait for a staff member to come by

uneven skiff
#

noooo

#

ok

uneven oxideBOT
ancient wigeon
#

Is there a way to target 2 people in a twitch command using StreamElements?

hexed vector
# hot trout

I have checked the logs right now. I'm connecting to 3 channels, 2 of them closed with reason "transport close" at the same time and reconnected without any problems. The 3 channels websocket connections keep working. So that is working. I'll have to wait to see why they stop working.

pulsar willow
tardy spear
#

Hey there. I was referred to this channel, maybe you could help me with this:
Is it possible to hide a widget when an alert is occuring? I'm trying to layer a slide show and the alert box on top of each other, and the slide show should hide whenever a stream alert is occuring.
Or is there a way to code something like that? A combined slideshow and alert box. I have to warn you, though, everything beyond simple Powershell Scripting is way beyond my expertise πŸ˜„

left rampart
#

@tardy spear Sure. All custom widgets can listen to the events (subs, follows, etc) so you can just have your's listen for the appropriate event (where the alert should take over) and hide itself.

tardy spear
#

Okay, sounds great, now I only have to find a way to combine the codes for the slide show and the alerts πŸ˜„

severe shell
# tardy spear Hey there. I was referred to this channel, maybe you could help me with this: Is...

As you said you are not familiar with anything else than PowerShell, maybe this can help you. Go to your widget (slideshow) and on the JS tab, try to put this.
I'm adding some comments to help you:

window.addEventListener('onEventReceived', (obj) => { // Waiting for an event (it can be anything, like message on chat, follower alert, store redemption, etc
  if(obj.detail.listener.includes('-latest')){ // It will trigger if it is a sub, follower, bits, etc. In case you want a specific alert, you can check here: https://github.com/StreamElements/widgets/blob/master/CustomCode.md#on-event
    const slideShow = document.getElementById('slideshow') // The ID of your HTML element you want to hide
    slideShow.style.visibility = 'hidden' // Hide the element
    setTimeout( () => { // create a timer to run the next command, which will show the element
      slideShow.style.visibility = 'visible'// Show the element
    }, 10000) // The alertbox alert duration (in milisseconds)
  }
})
left rampart
#

Why combine them? You can have two separate widgets that listen for when an alert happens.

tardy spear
# left rampart Why combine them? You can have two separate widgets that listen for when an ale...

@left rampart this has to do with the way my overlay is constructed. I'm doing a Pen&Paper Stream, and I would not want Alerts to distract me or the players, especially when we're immersed in a certain moment.
Right now I have a slide show on the lower left that cycles through partner logos, as well as short summaries for my player's characters.
I want to embed any alerts, be it subs, donations, or follows, into that slideshow area, so it does a) not block my player's faces or any other "important" areas, and b) does just...blend in with the overlay style we chose.

left rampart
#

Got it

tardy spear
#

So this is the overlay

#

the bottom left part, the parchment is poart of the overlay, the logos and other stuff is currently a slide show made with OBS on board tools

#

that's where I would like to have a combined slideshow and alert box so the slide show cycles through the images provided UNTIL an alert is happening

#

(all images are transparent PNGs)

severe shell
left rampart
#

@tardy spear this snippet from the docs subscribes to the JS event that all alerts trigger, then keys in on only the event type(s) it cares about (in this case, subscriber-latest) and pauses the alert queue while it does it's work.

function playAnimation(data) {
  //do work here
}

window.addEventListener('onEventReceived', function (obj) {
    const listener = obj.detail.listener;
      console.log(obj.detail);
    const data = obj.detail.event;
    console.log(`RECEIVED ${listener}`);
      if (listener !== 'subscriber-latest') {
        console.log("Resuming as event is not sub");
          SE_API.resumeQueue(); 
          return;
        }
       
     if (data.name === data.sender) {
         console.log("Getting animation duration for premature resume");
         playAnimation(data);
         setTimeout(SE_API.resumeQueue,time*1000); 
     }
});
left rampart
left rampart
#

A custom slideshow widget wouldn't be hard, though, and would allow adding alerts (or anything you wanted, really)

tardy spear
#

I already dug around a big and found slide shows with only HTML, CSS and JS

#

and if I can combine that with the above mentioned code snippets for alerts, I guess, the rest will be a piece of cake πŸ˜„

opaque wasp
#

Why isn't console.log() working on AlertBox no more?

  • code is 100% valid
rustic copper
#

Good morning!! Got a compilation order question when you load an SE overlay into OBS as a browser source. With C4ldas's help before I was able to rotate an element we brought in, but the rotation property wasn't set in OBS. Trying the same thing again now, I'm unable to change even like font-size.

still juniper
#

Properties must be configured in the SE editor, in the widget properties/code. OBS has nothing to do with that (or shouldn't)

rustic copper
#

I was worried about that. When you just need to tweak one thing (like import a custom font), editing the CSS resets all the properties back to default.

#

Gonna be a long morning recoding all of her overlays to change a few fonts around. ;-;

still juniper
rustic copper
#

Nevermind, for the counter widget I can't even edit the css like on alerts. I guess I'm even more stumped now.

still juniper
#

Don't panic yet, everything has a solution, just let us know exactly what your issue is and what you need, and we might be able to help ^^

still juniper
rustic copper
#

I've tried modifying it using the exact path:
#widget-1 > se-widget-subscriber-count > div
I've tried hitting it from just div or pre. I've tried just modifying it using * as my selector. Can't get the font to change to anything just to make sure I've got the selector right

#

I will preface this with 99.99% of my coding experience is back end, so my web dev is kinda rough around the edges. ^^;;

still juniper
left rampart
#

Someone linked me to this message from
2019 in regards to emulating the overlay editor locally, but that tool uses the old editor layout. Does anyone know if the actual code we write will be compatible with the new live editor? #dev-chat message

opaque wasp
still juniper
#

@rustic copper so you're trying to override things from OBS directly? Never tried that, but definitely not something I would go for given that you can customize pretty much everything on SE editor side. You seem to be using the default subscriber count widget, right? If so, text settings already have an option to choose a Google font. I might be missing your problem, or you might be overthinking this all

rustic copper
#

Oh, how do you use a google font without being able to add the import statement?

still juniper
#

Luckily for you, SE editor already imports most if not all Google Fonts in their default widgets. Just choose it there in the dropdown menu, in Text Settings tab of the widget. What font is it? So I double check it's there

rustic copper
#

Nevermind, found it. >.>;;

#

That solved my immediate issue. I'd still like to know how to tweak the default counter widget's CSS at some point, but that totally doesn't need to be fixed by today. XD

#

Font was FiraSans

still juniper
#

Default counter doesn't have the option to use custom CSS in the SE editor, so you would need a workaround. People usually just use an alternative widget from #widget-share . OBS overriding might still be possible, but I have never tried so I don't know

rustic copper
#

Sounds good. I haven't delved into #widget-share yet. Just recently started needing to do more complicated tweaks. ^^;;

opaque wasp
rustic copper
#

My front end is largely limited to a little Selenium test automation, so I have actually never seen that.

opaque wasp
rustic copper
#

Yeah, I just googled it to get the syntax. Gonna see if that works to make my override from before work

still juniper
#

my issue with overriding this way is prob more oriented to how SE overlays work, i.e. each widget is a separate iframe. You can most likely override things with !important, but if you change layers order in SE editor later, things will break cause iframe id would point to another widget. Or that's what my inner logic tells me rn, but as I said, never tried so. It just feels unnatural and overcomplicated given what SE offers

rustic copper
#

Oooo, I'm still not seeing changes come through even with !important is applied from OBS.

#

Does SE use inline style declarations for the default counter?

rustic copper
hardy walrus
#

@rustic copper in the future do not link overlays. That will cause you nothing but grief if others get it and understand the api.

opaque wasp
hot trout
#

I don't know why

#

they say "security" but don't say what security benefit is gained by disabling a logging interface

opaque wasp
hot trout
#

in the obs link?

#

cause that has some code in it that is placed before your code that goes console.log = function() {};

#

effectively disabling it

opaque wasp
#

now if someone sees this and block console.log, I would be pissed off ngl

hot trout
#

yeah I don't want to say much more about it than please remove that stupid misfeature

#

oh

#

I think they changed it actually

#

console.log() is now apparently ok

#

but the other options (console.debug(), console.info(), console.warn()) sstill aren't

#

I complained about console.log() before and noticed a typo that let me use console.debug()

#

that typo is fixed now

#

pls expand

#

is what that code used to do

#

(note it says window.console.dubug = etc)

#

currently it goes ```var eval=function(){throw"eval is not allowed"};window.console.debug=function(){},window.console.info=function(){},window.console.warn=function(){},window.console.error=function(){},window.onclick=function(o){o.stopImmediatePropagation()},document.addEventListener("click",function(o){o.preventDefault(),o.stopPropagation(),o.stopImmediatePropagation()}),window.open=function(){};var $_console$$=console;Object.defineProperty(window,"console",{get:function(){if($_console$$._commandLineAPI)throw" ";return $_console$$},set:function(o){$_console$$=o}});

#

(htmlencoded because it's from an html srcdoc attribute)

opaque wasp
#

they're probably afraid that someone that gain access to any SE overlay can do things with such functions

hot trout
#

I mean all it can do is show things in the browser console

left rampart
hot trout
#

yes it's fine

#

they overhauled the editor but not how the service works

#

(as doing so would break everyone's code)

left rampart
#

Well, yeah. I wasn't sure if there was (going to be) a depreciation at some point.

#

Thanks. Is there a github for this @hot trout? Thinking I might PR a little Node command so that the widget code can be dynamically inserted. That way we can split it out from the boilerplate the way SE has it.

#

Not have people modifying things they actually can't

hot trout
#

not that I know

#

it's in the pins for this channel as a zip

left rampart
#

Yeah, I can't find it either. Guess I'll just DM thefyrewire if I go that route.

burnt oxide
#

I'm looking to find the difference between the playedAsCommunityGift and isCommunityGift fields of an event. what exactly is a "cumulative sub bomb alert" and how does it differ from a usual community gift, and how can i test it?

left rampart
burnt oxide
steel bluff
#

Hi there! I cannot edit any layers on the overlay editor, any reason for this?

wet sapphire
#

Hi, i'm trying to close a SE account linked to my trovo channel because I've other one (who is the principal) with all of my social media (yt, twitch), overlays and other stuff but i've been waiting for weeks and still no response from SE

wet sapphire
#

i'll try doing that

burnt oxide
#

Is there anyone that can help me understand the event object structure and variations? as I keep finding other variations that are undocumented (as far as i can see)

burnt oxide
#

or determine the difference between a new sub and a resub

still juniper
#

all subs come through the same event. You just check the number of months the user has subscribed

burnt oxide
#

as a "new" sub had an amount of 1 and a count of 44

still juniper
#

amount is the number of months a user has subscribed for, so 1 = new user, more than 1 = resub

burnt oxide
#

so that's cumlative, not a streak?

still juniper
#

it's the total amount, not the streak, correct

burnt oxide
#

okay, then what about some of the gifted sub fields, jsut going to generate an event to see if can find the thing that confused me

still juniper
#

for subgifts, amount is the number of gifted subs

burnt oxide
#

subExtension, playedAsCommunityGift and isCommunityGift are the ones i don't get

#

{"listener":"subscriber-latest", "event":{ "type":"subscriber", "name":"mortimer", "amount":47, "count":47, "isTest":true, "tier":"prime", "gifted":true, "bulkGifted":false, "sender":"Miguelita", "items":[{"name":"Shirt","price":20},{"name":"Hat","price":36},{"name":"Mug","price":41},{"name":"Hoodie","price":45},{"name":"Protein powder","price":10}], "subExtension":false, "month":"March", "message":"Do not fear a man that spams 1000 memes, instead fear a man that spams a meme 1000 times", "sessionTop":false, "originalEventName":"subscriber-latest" } }

#

so that was a generated single gift, and subExtension is false, under what circumstances may that be true? when someone resubs after being gifted one? and if so what's the payload like?

#

(and that's not to mention how the "tier" comes through as prime, whihc afaik is impossible in practice)

still juniper
#

so that was a generated single gift, and subExtension is false, under what circumstances may that be true
subExtension should trigger when someone uses mobile tokens to extend the sub (nothing related to gifts). I know Twitch replaced tokens not long ago, but not sure if they can still be used or are completely deprecated. Not a typical use-case though

(and that's not to mention how the "tier" comes through as prime, whihc afaik is impossible in practice)
It's possible. Twitch sends the tier attached to the message, you can know if it's a Prime one or a T1/T2/T3

burnt oxide
#

i meant as a gift, i didn't think you could gift a prime sub

#

but subExtension sounds like it's depricated then

still juniper
#

ah yes, well... the data object sent for testing contains some keys that shouldn't be there. The same that items array makes no sense but it's there for testing SE store redemptions Β―_(ツ)_/Β―

burnt oxide
#

that's another snafu i noticed, the "tier" sometimes comes through as a string or as a number, so yeah, inconsistencies in test data

still juniper
#

regarding isCommunityGift, this is true for notifications of a gift that was part of a bulk/random gift. Not sure if you're familiar with how Twitch does this, but when someone gifts 1 or more subs randomly (i.e. not picking the recipient explicitly), Twitch first sends a header event saying "Sender has gifted N number of subs to community" - This is received with bulkGifted = true in SE. Then, Twitch sends one event for each gifted sub. Each of those events is received in SE with isCommunityGift = true. The playedAsCommunityGift I'm not sure what refers to tbh

still juniper
burnt oxide
#

that i had noticed and was formulating what to do about it

burnt oxide
#

but i convert all to a string i decided

still juniper
#

they should be string afaik

burnt oxide
still juniper
#

if you're doing something like a counter, yeah

burnt oxide
#

It's jsut an alert, not a counter, I'm essentially wanting the same as the basic alert but with my own styling and control

hot trout
#

you know the alertbox gives you the option for custom html/css/js right

burnt oxide
hot trout
#

I mean there's still things you can't do with it that would require a custom widget

#

but the general idea of custom styling (including custom javascript code) is certainly in there

#

which saves you the trouble of having to do your own variations stuff

burnt oxide
#

well my end goal is kind of a text-terminal style where the message is typed out

hot trout
#

are you wanting it to stay on screen afterwards?

burnt oxide
#

no

#

I'll investigate and check the difference

hot trout
#

basically the alertbox custom css (a bit of a misnomer) does some logic to pick what alert to play and from that point on it plops your html/code/css in an iframe and lets it do its thing until the timer is up

burnt oxide
#

le sigh, okay i thought "enable custom CSS" was only CSS not full html/js/css

hot trout
#

ye that's the misnomer bit

burnt oxide
#

well there goes about 3 hours......

#

actually may be more. well, I'll see what i can do with it now, and at least i know the main custom payload gotchas

hot trout
#

I went full custom

burnt oxide
#

dang, but yeah, I'm after that kind of thing, but less "vector graphics animation" more "type letter by letter"

hot trout
#

if you can animate it you can do it

burnt oxide
#

that's why i was going full custom, my thinking being "I have control as long as i work out the events"

hot trout
#

I meant full custom as in with alert box

#

but nothing resembling the default

burnt oxide
#

oh so that's not a custom widget, but still an alert box, okay, and i just found the field data docs for this

hot trout
#

yeah

burnt oxide
#

thanks for the help @hot trout and @still juniper time for me to do it the proper way and remember not to ignore the "there has got to be a better way" feeling

desert lantern
#

Hi I just setup a counter command in the chat bot and have figured out the commands to add and subtract but is there a command to just fully reset the counter instead of deleting one win at a time?

wooden edge
#

Question about the SE.Live plugin for OBS Studio. I noticed when you have it installed, the option to 'Check for Update's' in OBS does not appear under 'Help'. Is this known to the devs?

hexed vector
willow bane
#

Good evening, I wanted to ask if someone could update this widget created by @random comet as I spoke to him and he said he didn't have time. If it would be a complicated task, I would settle for showing only the time of hours played.

opaque wasp
round needle
#

Hi...
How do I trigger one command inside of another ? Ex. I have on command that play a video o my stream and I would like po put this inside a command that has a price on it in bits how to do that on twitch
Thanks in advance

hardy walrus
#

@round needle not possible.

ancient wigeon
hot trout
#

use $(1) and $(2)

storm belfry
#

Hey there! Very interested in a comparable program to Streamlabels that can export data on tips, subs and other things to a text file

severe shell
pulsar willow
#

Guys i have a question, how can i change image source to video? im stuck here Sage
Edit
now i figure out how to add it, on fields i add
" }, "someVideo": {
"type": "video-input",
"label": "Some Video"
}"

but how do i call it, im doing with an image but i cant with the video
function randombg2(){
var img2 = ["url('{border}')"];
document.getElementById("main-container").style.backgroundImage=img2;
}

what im trying to do is call a different overlay when an alert appears, it works with Gif files.. but i wanna use Webm files so.. thats what im trying to do >,<

severe shell
severe shell
# pulsar willow Guys i have a question, how can i change image source to video? im stuck here <...

It is a good practice to have the fields on variables (but as global, because you are going to use in other on the code):

window.addEventListener('onWidgetLoad', (obj) => {
  fieldData = obj.detail.fieldData
  video = fieldData.someVideo // This is the name you defined on FIELDS data in your example
})```
Then, you can call it using EventReceived  (don't remember exactly the structure of getElementById line, but this is the idea):
```js
window.addEventLister('onEventReceived', (obj) => {
  document.getElementById('main-container').src = video
})```
Your #main-container needs to be a video tag, in this case
pulsar willow
#

im a bit confused i have to create a listener per event?

this is my structure with Ifs
im not a programer btw >,<

  var img = ["url('{border2}')"];
  document.getElementById("main-container").style.backgroundImage=img;
}

function randombg2(){
  var img2 = ["url('{border}')"];
  document.getElementById("main-container").style.backgroundImage=img2;
}

                

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

  
    if (listener === 'follower-latest') { 
      randombg();
    } else if (listener === 'subscriber-latest') {
      randombg2();
    } else if (listener === 'host-latest') {

    } else if (listener === 'raid-latest') {

    } else if (listener === 'cheer-latest') {

    } else if (listener === 'tip-latest') {

                                                         }


});```
static wharf
#

Hi i'd like to get the watchtime datas from streamElements in my discordBot but i odnt understand how to fill the form with this type of project like what do i put in the company name or the redirect url

pulsar willow
# ancient wigeon No I mean to make a command tagging 2 different people like !love @(name) @(name...

The easiest solution is to use ${1}, ${2}, ... (like SquidCharger said).

More complex solutions are:

${sender} and ${1|${random.chatter}} are ${random.0-100}% in love!

The first name is always the name of the chatter.
The other name is the first command arg (if none provided, a random chatter is picked).

${touser} and ${2|${random.chatter}} are ${random.0-100}% in love!

The first command arg is used for the first name (if none provided, the name of the chatter is used).
The other name is the second command arg (if none provided, a random chatter is picked).

twin merlin
#

Is song request still broken?

pulsar willow
#

Is it possible for a chat command to update a number/text on stream? Something like !addwin and a number on screen updates the win count.

subtle imp
pulsar willow
#

Hi πŸ‘‹πŸΌ I’m new here. I’m wondering how to find or create a widget or chatbot (forgive me if those aren’t the correct terms) where people can submit a question. Then have a list of people in the order their question was received.

pulsar willow
hidden echo
#

I have 2 overlays I use often, but these Overlays do not show in My Overlays on the stream elements site.
They are the two overlays I use every day and they work.

Why do they not show on the stream elements site in My overlays is this something I am doing wrong and how do I fix this.

halcyon sinew
#

when I try to edit any overlay (supertheme or otherwise) I get an error message that says the overlay does not exist. has anyone else run into this issue?

pulsar willow
elfin arch
#

when you say 'star' are you referring to Facebook?

#

basically; you want to set up your normal smaller alerts. Then add a variation for the scare ones that is 'ignored' with no sound/image

#

no problem ... it should work on StreamElements πŸ™‚ ... but to be honest, i haven't test the FaceBook stuff in about a year, so let me know πŸ™‚

cunning elk
#

@elfin arch yeah will do I am gonna try work on it shortly fingers crossed, appreciate the help β˜ΊοΈπŸ’–

primal valley
#

hello there, is there an option to export loyalty leaderboard?

cunning elk
pulsar willow
#

Hello how is everyone, I have a question that involves the SE website and the alerts on the Subscriber side

wicked scarab
#

Hey everyone, I'm trying to make a command with a nested variable in it, Is it possible or not, and if yes, how, please ?
${count globaldeath +${getcount sessiondeath}}

wicked scarab
jagged elm
#

Is there some tutorial on how to get started with coding and deploying widgets? I’m already familiar with HTML, CSS, JS

severe shell
iron hawk
#

Multitasking with chat rooms connected that would be cool I don't know if it's been requested lol

cerulean sparrow
#

Hey guys! Am I able to edit the giveaway module? I have to edit the response text

hardy walrus
#

Not possible.

timid rock
#

Hey I'm trying to make a custom stream element command that has two inputs
for example:

!wordcount username word

should respond with:

username has said word [x number] times in this chat

I've already taken care of the word count part. But, I'm not familiar with stream element notation so I don't know how reference "username" and "word."
I've seen some other people use {start:end} and ${1}, but I how do I grab one part and then the other.
Do I write something like: ${1} and ${2} or {1:} and {2:}?

pulsar willow
vivid goblet
#

how can I get it to where ONLY SUBS can request music via streamelements media request? (I'm not seeing the option beyond FREE or TIP or BOTH)

proud spade
pastel compass
#

Hi everyone !
I need some help on a widget :/
I'm trying to modify one that i found on #widget-share ( Level up Goal ) but one thing isn't working :/
I added some level on it, added amount on each level, but when i reach for example the second level, it doesn't change the amount.
Someone can help me ?

hot trout
#

what did you change

twin spindle
#

Is there an issue with ${redeem}? It's not working for me today. In fact, any command with it as a part of the response isn't working at all..the other commands are working fine if they don't have a redemption command involved..

frank lake
#

Can the streamelement chat bot send whispers? Or would I need to create a custom bot for something like that

still juniper
#

Twitch bots and whispers are a no-no combination in general. By design it's doesn't work reliably

hot trout
#

the answer to that is it can but you shouldn't

still juniper
#

I very much doubt the global Streamelements bot can cope with whispers rate limit anyway given how low they are

opaque wasp
#

probably the best solution is creating a normal twitch account, and use APIs to make it work such a bot

still juniper
#

again, that won't work reliably by Twitch's intentional design. Whispers are strongly not recommended

frank lake
#

Got it ty ty

ashen belfry
#

Hello, I would like to ask why ChatStats is not working on my stream. I heard it was supposedly by changing the nickname. Someone told me to write about it on a discord.

#

Sorry if I use a bad chat

severe shell
# frank lake Got it ty ty

The only way I found was setting a command to whisper. But not using the API, even you adding the /w option at the beginning.

timid rock
#

Hello, I am currently making a custom streamelements command:
It works like this:
!wordcount name word and should return name has said word {x number} of times!
Everything was going well until I tired to call my custom API to retrieve the number.
I keep getting the error: RequestError: connect ECONNREFUSED.
My command: ${1} has said ${2:} ${customapi.link?name=${1}&word=${2:}} times!
I'm new to API's. I made my own API using Flask in Python.
The API link works fine when I have the python program running and enter the link into Google Chrome.
I'm not really sure, but I think my API is local to my computer. Is that the problem?

elfin arch
timid rock
elfin arch
#

oh. 1 sec. i'll check

elfin arch
timid rock
elfin arch
#

It may be more difficult depending on the amount and usage of code that you need. The free versions of the servers automatically shut down after 30 minutes and have a 'spawn time'. If you have a lot of code then the first time you use the command it will timeout

#

...and also, you can't run a constant database (memory object), like a chat bot for checking chat messages and word counts (as it will reset when shut down).

still juniper
#

there are some tricks to prevent shut down, but anyway not the best service to hold a permanent online service

elfin arch
# still juniper there are some tricks to prevent shut down, but anyway not the best service to h...

ya, you can get it to stay up; but most the free services have a monthly hour count, so if you try to keep it up 24/7, you only get like 20 days a month. ...i guess* you can work around that with like 6 hours a day. ... the replit was the best one that i tried for a fee service, did you have other thoughts? I tried heroku and the spawn time was slow for me and always gave timeout for first message

timid rock
elfin arch
still juniper
# elfin arch ya, you can get it to stay up; but most the free services have a monthly hour co...

yeah yeah, I was just agreeing with you that those free services are not the ideal hosts, in general. Not a fan at all of Heroku myself, Replit seems pretty decent. Tried Glitch a while ago before they screwed it up. I still want to test Netlify's serverless functions, never had the time to do it. Right now I'm using DigitalOcean for production stuff, $6/month, running multiple stuff and still plenty of resources to use, I'm pretty happy with it

#

Didn't know Replit had a monthly limit on hours tho

elfin arch
severe shell
# elfin arch ya, you can get it to stay up; but most the free services have a monthly hour co...

I'm now using the paid version of Replit, $7/month. I was using Vercel (free), which is awesome and you can set your domain DNS in there. Each deployment has a dev environment and production env and some more features (for Next.JS is perfect). However they have some issues with encoding request and depending on what you are doing they don't decode the %20 and other special characters when sending the response (my use case during the time).

pulsar willow
#

Quick question, say I do obj.detail.event.data.tags.mod, does it return a string?

pulsar willow
elfin arch
#

πŸ‘ ; i use something like obj.detail.event.data.tags.mod === '1'; for the true/false

pulsar willow
# elfin arch πŸ‘ ; i use something like `obj.detail.event.data.tags.mod === '1';` for the tru...

right thanks, but why doesnt this pass here...

if (isMod === '1') {
      const element = $.parseHTML(`
    <div data-from="${userId}" data-id="${msgId}" class="message-row {animationIn} animated" id="msg-${totalMessages}">
      <div class="meta">

        <div class="badges">${badges}</div>
        <div class="name">${username}</div>

        ${hora}
      </div>

      <div class="message">
        <div class="container-message ${actionClass}" style="border-bottom: 2px solid ${borderMessage}; color: black;">
          ${isMod}${message}
        </div>
      </div>
    </div>`);
  }
#

${isMod} without the if block displays 1 correctly tho.. hmm so idk why it shouldnt pass the if check...

elfin arch
#

are you setting isMod = obj.detail.event.data.tags.mod ?

pulsar willow
elfin arch
#

πŸ€”

#

can you show how you are defining the isMod ?

pulsar willow
#
let data = obj.detail.event.data;

addMessage(obj.detail.event.data.displayName, 
             message, 
             badges, 
             data.userId, 
             data.msgId,
             color,
             data.isAction,
             data.tags.mod);
pulsar willow
# pulsar willow right thanks, but why doesnt this pass here... ```js if (isMod === '1') { ...

i tried something, instead of parsing the html inside the if i did it outside with a temp string

let temp = "";
  
  if (isMod === '1') {
      temp = `<div data-from="${userId}" data-id="${msgId}" class="message-row {animationIn} animated" id="msg-${totalMessages}">
      <div class="meta">

        <div class="badges">${badges}</div>
        <div class="name">${username}</div>

        ${hora}
      </div>

      <div class="message">
        <div class="container-message ${actionClass}" style="border-bottom: 2px solid ${borderMessage}; color: black;">
          ${isMod}${message}
        </div>
      </div>
    </div>`;
  }
  
  const element = $.parseHTML(`${temp}`);```
#

works like a charm now

#

hmm

elfin arch
#

ah; yes. your element variable was in the if and cou;dn't be read outside of that

pulsar willow
#

thanks for the help :D

elfin arch
#

no problem 🀣 ; you solved it yourself. happy coding πŸ™‚

pulsar willow
#

"badges": "broadcaster/1"
the broadcaster will always have this badge, correct? theres no way to disable it? bc ill use it in my logic wahaha

are there tags for bots, vips, and broadcasters

terse crest
toxic vigil
#

So im pretty baby at coding, I don β€˜t really know where to start if i wanna make my own custom chat widget. I’ve made a mock up one in illustrator with SVG files and would like to implement animations as well.

#

But i can’t seem to find a good base to start off from

nimble goblet
#

Can someone please build exactly the same giveaway as Streamelements have. So you also add in a browser source and a picture! I really want it the way it is setup! But not rigged. I tested it the other day and nothing have happen since 28 of March as far as I know! I barely have any giveaways now because of this! I will now pay 15 euros if someone can fix it for me! Please help. My entire stream is built around this currency! And I want also the currency to be a cost during the giveaways!

alpine otter
#

I haven't received a response on my oauth application in a few weeks... is there a delay?

hot trout
#

usually if you're just starting out it's better to modify something else to meet your needs rather than start from scratch

knotty wagon
#

anyone who does twitch bots.. and willing to help me custom build one... willing to pay..drop me a msg..
need a modified version of the autopoll by @viral patrol

viral patrol
swift tundra
#

Hi I just joined a Patreon for Paranormal Nightmare and I cannot find them can you please help me? Thank you.

#

I got an email from Patreon for their sight and it linked to my Discord. My email is kd69dm@gmail.com if this helps. Thank you Dawn

opaque wasp
knotty wagon
#

I basically want something to scan the chat... And display the "hot words" on screen.

#

@opaque wasp

#

Like for example I stream a game called crazy time... And ppl spam colors... I want it to pickup the colors from chat and show on screen ... Instead of typing !yellow... When ppl spam yellow it needs to pick it up and show how many ppl picked what color

#

If u DM me I can show u an example from other streamers

#

During other times.. when ppl spam emotes... I want it to show the most spammed emote

#

offer is still up... if anyone else is interested ... can msg me as well...

upper fog
#

Hello together.
I am currently trying to play with the RE2 RegEx for commands. I try to find suitable questions to randomly answer 'yes' or 'no'.
After having found out a way to exclude certain words (with negative lookahead) I tried to test my result, but the bot doesn't get triggered by my sentences.
But if I am not mistaken, this should be a valid syntax.
Can someone help me out?
https://regex101.com/r/0LJUre/1

#

The example RegEx currently is this one:

^(?!.*(w|W)(ho|hy|here|hat))(.*\?+.*)$
spice flame
#

Still possible to trigger custom alerts?

opaque wasp
#

@tribal zenith I'm facing another strange problem when reading badges from message object, can I DM you a screenshot?

young fjord
#

I reworked my previous widget back into the alertbox but the fields with multiple images / videos seem broken.
Even if I only select one, there are more added with the "broken image" icon instead of the image / video it was supposed to.
Where should I report this or is this already a known bug? πŸ™‚

proven crane
#

Hey Guys! Anyone got a Timer which is not always active? Like running in the background and a viewer writes !timer to let it appear for a few seconds

#

I cant find a single one like that

burnt oxide
severe shell
#

No idea

hot trout
#

@burnt oxide the only time streamelements has a problem with non-cdn-hosted code is if you're sharing your overlay for the general public

#

they don't want you to bait and switch the code out with something malicious, the risk of which is low for well-known cdn libraries

#

so if it's just for yourself you can do whatever you want

twin merlin
#

Is it possible to add a delay between my alert and my sound alert? So I want my sound alert to play first then the alert would show up?

pulsar willow
pulsar willow
#

There is no custom widget input-field that accepts .txt, .csv or .xml files, right?
(Something similar to "type": "image-input")

still juniper
elfin arch
#

--- since you can't upload those files, not sure if it matter (for working inside the editor) ... but my guess is maybe? .... somehow thie ^ vodoo works (angular)

upper fog
elfin arch
#

regrex ?!?!? i hate regrex more than i hate CSS.

severe shell
# pulsar willow so is it simply called "vip" in "badges"? bc rn im just checking if the badges s...

You can create an object for the badges and check if the user has any of them.

  const data = obj.detail.event.data
  
  let userBadge = {     // Criar os perfis de usuΓ‘rio.  Exemplo: {mod: 1, sub: 1, vip: false, broadcaster: false}
    'mod': parseInt(data.tags.mod),
    'sub': parseInt(data.tags.subscriber),
    'vip': (data.tags.badges.indexOf("vip") !== -1),
    'broadcaster': user === channel
  }```
Then you can check with a simple if
```js
if(userBadge.vip){
// do your experliarmus 
}
still juniper
upper fog
pulsar willow
still juniper
#

but it's Saturday and my brain is slow

elfin arch
#

for me the JSON is " " only 🀣

still juniper
#

I used Angular ages ago, but I forgot everything about it. Moved to React a bit ago (and far from being an expert whatsoever). To me JSON is basic stuff also

elfin arch
#

I'm newb in React (if you are React look at Zaytri's widget' s... she went full React on them)

#

JSON to me is a side script to build.... I had no Idea there could be vars in it

still juniper
#

me neither until that clock widget blew my mind. But makes sense I guess, at the end they're transforming the JSON into Material controls

elfin arch
#

oh shit crap. (no bad words) . he's here/// run

broken coyote
#

I'm always here... Lurking in the shadows

elfin arch
#

i wanna ask how; ... but i know the answer is 'angular' and i'm not sure that's on my list.

#

....i still wanna learn python, nd that's going on 2 years

broken coyote
#

I'm gonna be 100% with you

#

I have ZERO idea what a angular is

elfin arch
#

@steady iron ^ πŸ˜‰

hardy walrus
#

Since ya'll here could you poke AaroniusH in Code-Gurus about Vanta Animations not working for twitch users period?

#

As in incompatible platform.

broken coyote
#

Poke

elfin arch
#

I thought i did nope different issue

hardy walrus
#

Β―_(ツ)_/Β―

#

To quote their response when I asked what it's made for:

sorry I'm just getting to this! I coded it specifically as a twitch plugin, however, there are no hooks into twitch evens so I would expect it to work for any platform

#

So yeah.... Busted for whatever reason.

elfin arch
#

@ocean fractal ^ ?

lunar halo
#

Good morning, everyone!
I'm having a problem with my Leaderboard Loyalty Settings. Is it here where I report/ask for help?

elfin arch
#

you are in Twitch chat πŸ™‚

hot trout
#

yo what there's a file input type

broken coyote
#

@elfin arch after you mentioned it. i remembered i did the same thing with the first widget i ever submitted. like 3 years ago lol.

elfin arch
#

hahahahah'

still juniper
#

hacking widgets since 1880

broken coyote
#

#boomerlife

#

i hate that widget now.

elfin arch
broken coyote
#

i have this spotify widget ive built like. 100 different times. had someone as me to make it work with pretzel. my original code was code. so i had to use old code. i was like a deer in headlights for the first 4 hours.

elfin arch
#

if it works; send it πŸ™‚ .... just make sure it works

broken coyote
#

ha yea... luckily i got it all working

elfin arch
#

it's not luck at that point.... it's code.

#

πŸ™‚

stiff oriole
#

Um hi

#

I went to obs like someone told me but obs said they couldn’t help me with my problem

hardy walrus
#

Your issue is with recording videos? That is something you'd want to speak with on their server.

stiff oriole
#

I did that but they told me they don’t support the Stream elements plug in

elfin arch
#

uninstall .Live @stiff oriole. then try

stiff oriole
#

Ok

steady iron
ocean fractal
bronze igloo
#

Hi developers,
I hope this is the right place to post this. (PS: Thank you for all your hard work making SE so powerful and special!)

I want to do a "Sub-a-thon" marathon stream, but I also want to let new Patreon patrons change the time as well. I've already used @viral patrol's Patreon Alerts (which is great!) but is there a way to tie the patreon alerts into the Stream Elements Marathon Widget?

Thank you in advance for your help!

terse crest
#

For the reference - need to save the value into SE_API.store in alerts widget, then listen for it's updates in the subathon widget and add the value to the timer

bronze igloo
terse crest
north tartan
#

is there a preferred/optimal video format and resolution that should be used for alerts or videos in a browser source?
I am not sure why most of the time the videos playing in my browser source are lagging. (currently using 640x360 60fps VP9 webm) and is there a way to check what is causing the lag in a browser source?

hot trout
#

I don't think VP9 is hardware accelerated so try h.264 or maybe vp8

north tartan
elfin arch
proven crane
#

Anyone knows how to downgrade obs? 27.2 causes bad freezes and crashes on my rig

severe shell
proven crane
#

Hey thanks for the answer @severe shell I just saw a Video about that Twitch AI. Its just not automated. You need to integrate it manual I have to try it out

#

I streamed today and the freeze came out of nowhere causing my whole computer into a lag scene

hot trout
#

@proven crane there's a known issue with freezing on nvidia systems in 27.2, it should be fixed in 27.2.1 and later

#

also versions before 27.2 will work but without the twitch integrations so no automatically getting your stream key, docks, etc, but if you set that all up manually it works fine

timid rock
#

@elfin arch Hey I just wanted to let you know that I got my chat commands working like I wanted thanks to your advise. Also, I secured my private stream info so thanks for pointing that out πŸ˜… . tysm!

frigid falcon
#

@hot trout @proven crane
I’m on OBS 27.2.3, both times I’ve been live with that version, OBS froze approx 80 minutes into a twitch stream, yet runs for hours doing test streams to restream.
OBS devs sad it was the SE.live integration from the logs so I’ve posted them here in that thread.
Basic suggestions are to make sure GPU has latest drivers and ensure OBS is opened in admin mode, if you find out what issue was freezing yours let me know, my last resort will be to install a fresh OBS without the SE.Live addon.

pulsar willow
#

Does anyone know if forums are able to be linked to in game services like rust the game etc, because usually people link their steam account to a website to gain stuff in game, would this work with a forums?

pulsar willow
#

Does Anybody Know How To Disable Rounded Corners On My Chat Widget Because I'm Going For A Windows 95 Overlay

#

Ended Up Just Using A Color Source Cause Why Not

#

I Made The Chat Transparent Then Put A Color Source

sage owl
#

I was wondering why, for capturing ps remote play it only lets me capture it using the windows capture n not game capture

pulsar willow
#

Window Capture Is Better

sage owl
#

Good to know, yesterday i was able to use game capture for it just stopped working today thxπŸ™‚

hardy walrus
#

@sage owlBecause it's not an actual game and only a application window.

#

Game capture would never work.

cunning grail
#

Is there a way to set up custom global variables that can be changed for example by a command and can be used in every widget?

#

I have some text and some colour and want a command that lets the moderators change this

sage owl
#

Anyone have a white noise sound, I think i got rid of it by adding noise suppression to desktop audio but don’t know if thats the right way

ocean raptor
vapid slate
#

One issue I'm having: When I test out my Cheers, I get a bunch of emotes that aren't the ones that I selected.

still juniper
still juniper
cunning grail
still juniper
cunning grail
still juniper
modern pawn
#

Has anyone figured out a way to do a random number selection and then have it select one of 2 response variables based on the number chosen, kinda like nightbot's eval function?

nova rock
modern pawn
#

yeah i got the random part but i want it to pick one of 2 responses based on the number chosen

faint field
#

Hello, I downloaded the alpha gaming rotating feed v2.2 for twitch and created a streamelements account for the first time. Is there something in that overlay that doesn't allow for latest subs, gifted subs, followers, and cheerers to show up? Am I missing something? There is a field for latest subs, gifted subs, latest follower and latest cheer. Each info field is called an event and in those events I can choose what will be displayed (latest sub, latest cheer, etc.) and under that I can add {name} and/or {count}

#

I just opened the overlay URL again to get a fresh preset, and the issue persists that none of my stream information is being displayed (latest follower, sub, cheer, etc.)

terse crest
pulsar willow
# modern pawn yeah i got the random part but i want it to pick one of 2 responses based on the...

If you want to randomize responses, thefyrewire's pastebin API might be what you're looking for:
https://thefyrewire.com/docs/api/twitch/pastebin/#required-parameters

You basically put everything in a pastebin document and query it with $(customapi).

If you only want to choose between variables, ${random.pick ${1} ${2}} seem to do the job (like greebowarrior already said).

To choose between two response texts:
${random.pick 'This is the first response.' 'The second response in action.'}

I also hope, it is ok to share thefyrewire's documentation for the API.

faint field
craggy quiver
#

hi

honest pine
#

I just added "widgetAuthor": "string" to the fields of a widget by accident and I can no longer edit the widget code. Is there any way to recover the widget?

ocean fractal
severe shell
# honest pine I just added "widgetAuthor": "string" to the fields of a widget by accident and ...

That's strange, you should be able to open it anyway to fix the code. Well, you can recover your code following this:
#dev-chat message
You will get the fields on your output, so you can copy it and create a new widget again.

I remember that @hot trout created an application to automate this process of getting your widget code, but I cannot find the link here at the moment. Maybe he will show up and help on that.

hot trout
#

well if you're gonna @ me then that's almost a given

honest pine
#

ty both

honest pine
#

other calls where I don't specify the overlay name so much return fine

severe shell
honest pine
#

so I can get overlay IDs from any overlay I have but that one

#

oh hang on, no I can't

#

Is there another option than regular?

hot trout
#

you can get the overlay id from the url too

#

when you click edit in the list and you get to the non-functioning editor page, the id in that url is the overlay id

honest pine
#

that's a lot easier, got the second result from the API with that ID

#

thanks so much

cerulean sparrow
#

Hey guys!
Can someone help me please?
I would like to make SE giveaways from streamdeck. Is there any way to do it with curl or something like that?
I saw some codes on dev.se.com but I dont really understand

severe shell
# cerulean sparrow Hey guys! Can someone help me please? I would like to make SE giveaways from st...

I have this in my notes (saved it some time ago to use on Touch Portal, but never used haha)

====================
Create a giveaway

Required information: JWT_TOKEN and ACCOUNT_ID (channel id)

Create giveaway
curl --request POST --url "https://api.streamelements.com/kappa/v3/giveaways/ACCOUNT_ID/" -H "Accept: application/json" -H "Authorization: Bearer <JWT_TOKEN>" -d "title=Test_Title" -d "botResponses=true" -d "description=Test_Description" -d "cost=0" -d "subscriberLuck=3" -d "subscriberonly=false" -d "freeTicket=true" -d "maxTickets=1"

Response
{"_id":"**********","channel":"********","title":"","description":"","preview":"","cost":0,"subscriberLuck":0,"subscriberOnly":false,"freeTicket":false,"totalAmount":0,"totalUsers":0,"maxTickets":0,"botResponses":false,"state":"created","createdAt":"2021-06-06T20:49:04.959588767Z","updatedAt":"2021-06-06T20:49:04.959588767Z","winners":[]}

Start giveaway
curl --request PUT --url "https://api.streamelements.com/kappa/v3/giveaways/ACCOUNT_ID/GIVEAWAY_ID/action" -H "Accept: application/json" -H "Authorization: Bearer JWT_TOKEN" -d "action=start"

Response
{"success":true}

Stop giveaway
curl --request PUT --url "https://api.streamelements.com/kappa/v3/giveaways/ACCOUNT_ID/GIVEAWAY_ID/action" -H "Accept: application/json" -H "Authorization: Bearer JWT_TOKEN" -d "action=stop"

cerulean sparrow
#

If i want to start, the giveaway id is a random string? Or can i use a responsible link to start the created giveaway?

hot trout
#

the giveaway id is in the response to the create giveaway req

#

so you'll need to parse that and extract it from the json

cerulean sparrow
#

oh shit. thanks

modern pawn
mild cipher
# modern pawn I just can't wrap my head around how to go about creating what I want. I'm tryin...

It is possible with pastebin stuff. There's an undocumented parameter for ranges, so if you just make a paste like this, where the range is structured :{start-end}

:{0-5} $(sender) got $(ranges.1) = Response A
:{6-10} $(sender) got $(ranges.1) = Response B

with a command response like this (replace the pastebin ID with your own) (note that the random SE variable is minimum inclusive, maximum exclusive, so for random numbers between 0-10, including 10, the range should actually be 0-11 in the variable)

$(customapi.https://api.thefyrewire.com/twitch/pastebin/4HrSgeZP?range=$(random.0-11)&user=$(sender))

...you get that type of functionality. Hope that helps a bit!

severe shell
modern pawn
mild cipher
modern pawn
ocean raptor
#

can I add tabs to my custom widget settings?

#

I want to do something like the kappagen widget

craggy quiver
#

Hi

young fjord
#

Just tested again on a different overlay: having multiple images/videos as input is broken for the alertbox widget.
Where/how do I report this and is there a workaround?

merry plume
#

hello! do you know if there is any way to reset a session goal via streamdeck or APIs?

hardy walrus
#

As long as there is an api to do so it can be possible with a streamdeck. Know just the plugin for it too.

merry plume
#

If there is the API i can build a little script myself

#

and attach it to streamdeck

hardy walrus
merry plume
#

i can see there is a session reset

#

ye, but session data in general is not goal data

#

those are two different things, at least in the UI

hardy walrus
#

Ah.

merry plume
#

"session data" is the other tab

hardy walrus
#

Yeah. I'll leave it to BigBrain people to answer.

merry plume
#

Ok apparently I can use the https://api.streamelements.com/kappa/v2/sessions/{channel} to change the progress of the goals (which is not exactly reset but it would work). I've been testing the API from the website, but it doesn't seem to change the values.

#

i've tried to change the follower-session value, but its still 0.

#

its still answering 200, but giving me back the old data

still juniper
#

remove the data part, use just:

{
  "follower-goal": {
      "amount": 5
   }
}

(and yes, use the goal one)

merry plume
#

@still juniper ah what an idiot, I copied it from the response

#

lemme try

#

yep, its working this way! thanks

#

@still juniper can I ask a further question?

still juniper
#

you can ask, I don't know if i'll know the answer! ^^

merry plume
#

do you know if there is an API for changing the visibility of a widget in a specific overlay?

#

I know you can get the list of the overlays, but i cannot find any api endpoint to change them

still juniper
#

none that I'm aware of, but I haven't been interested in that specific functionality so I might be missing things

hardy walrus
#

Gimme a sec to find something. I think there is something specific for widgets but nor quite sure what it was.

merry plume
#

yes this one is gonna give you the status

#

of the overlay

#

but its a GET, you cannot change values inside an overlay

opaque wasp
hot trout
#

that endpoint accepts PUTs too

#

but you have to put your entire overlay

#

at which point a reload is triggered on the client side

#

so it's not that great for just adjusting visibility of a single widget

#

unless you don't mind that such an update is basically an update of the whole overlay

ocean raptor
cyan valve
#

how can i access this element on load?

still juniper
#

you can't afaik. What do you need it for?

fast cairn
#

Hi, I would like to stream both YouTube and Twitch, can I somehow link alerts from both services?

hardy walrus
#

@fast cairn not in a singular box.

fast cairn
#

not planning to add multi stream?

hardy walrus
#

No idea.

fast cairn
#

and when I log out of the youtube panel and log in to the twitch panel, will I see that alert on the stream? if I put a link there in obs?

#

And I would like to ask, is there any way to deduct the fees for donate via paypal? or how to do it?

pulsar willow
#

I'm messing around with FabioZumbi's custom chat widget, does anybody have an idea how one would make it such that the existing messages are animated when being pushed up or down and not just popping up magically?

opaque wasp
fast cairn
cyan valve
terse crest
meager hull
#

hi there! i'm using the boxed chat by cocahh and absolutely love it. just wondering if it's possible to align everything to the right side through the editor? the "horizontal nickname position" slider only pushes it to the center of the message box. thank you ahead of time!

#

this is with the slider pushed all the way

#

and this is where i'd like the name sitting, but just on the opposite side

hardy walrus
#

@gilded meteor ^^^^

pulsar willow
#

LOL it looks horrible on streamelements webapp but it looks just fine on stream PepeThink

still juniper
frank lake
#

I'm messing with @elfin arch's api guide right now and was wondering if anyone knows why this is happening. I'm not super experienced with node/express so I'm assuming it's just something I don't know about yet lol

When I try to send a message to twitch chat I get "dataMsg = undefined"

I don't see how dataMsg could be undefined when the getData() function should be returning a string no matter what.

I also get this error in my console Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client

Here's my route:

const user = (req.query.user).replace(/[^\w]/g, '');
const item = req.query.item;

function getData(user) {
   db.get(user).then(value => {
     if(!value) {
       return "if";
     } else {
       return "else";
     }
   })
 }

var dataMsg = getData(user);
sendMsg("dataMsg = " + dataMsg);
elfin arch
frank lake
#

nvm it's still undefined I see what you're saying

elfin arch
#

there is a promise in the getData function with the .then(.... which waits for the reading of the database then runs the next part of the code. So I would just put one a sendMsg("dataMsg = " + 'no value found'); where the "if" is and a sendMsg("dataMsg = " + value); where the 'else' is.

frank lake
hot trout
#

put async in front of your function def

#

and then put await in front of the call to getData()

#

I think nodejs allows that now

#

assuming this is top-level

frank lake
#

I don't believe it's top-level monkaHmm

hot trout
#

so it's in another function?

elfin arch
hot trout
#

it's not often people define functions inside functions

#

ah

#

I think express lets you use async functions too no?

elfin arch
#

should be able to

hot trout
#

that's the easiest way then

#

turn that function into an async function and use await on things that return promises

frank lake
#

using async + await gives me this error: SyntaxError: await is only valid in async functions and the top level bodies of modules

hot trout
#

yeah you can only use await in functions that are declared as async function foo(){ … } so you have to adjust that

elfin arch
#
 app.get('...url', async (req, res) => {

const user = (req.query.user).replace(/[^\w]/g, '');
const item = req.query.item;

function getData(user) {
   return db.get(user).then(value => {
     if(!value) {
       return "if";
     } else {
       return "else";
     }
   })
 }
var dataMsg = await getData(user);
sendMsg("dataMsg = " + dataMsg);
...
hot trout
#

if you can't do that you have to go the foo.then() route which is a bit daunting for inexperienced programmers

elfin arch
#

i don't there is an issue with it. @frank lake i added the async at the top (in the route function)

#

might have to return the db.get(user) too; don't recall on that.

hot trout
#

I think the return is implicit here but it's good to make it explicit imo

#

hm maybe not

frank lake
elfin arch
#

oh. ya. i messed that up good

#

edited above

frank lake
#

ty too @hot trout

hot trout
#

await lets you treat async functions (that normally return a promise, meaning the result will be returned later) as if they were synchronous functions (meaning the result is returned immediately)

#

in this case getData() isn't an async function itself but it returns a promise from db.get() which is

elfin arch
#

it is a much easier code to read

#

oh, maybe that is what i was going for the first time ... i mixed the 2 ways together var dataMsg = await db.get(user).then(...

#

the way you have it now is better, as you can move that whole function out of this route and use it in others, so you don't have to repeat the code each time.

signal stream
#

G'day!
From what I've seen I'm unable to use words such as "shit" and "fuck" as keywords.
Is there a way to make a regEx word as a keyword? Could that bypass the potentional filter that's stopping them from being keywords?

signal stream
#

Or is there anyway to bypass the filter for these words?

plain pilot
#

Alright folks, I'm pulling my hair out here.

I want to be able to run a bot command based on a channel point redemption, specifically, I have a custom chat command I would like to run from my streamelements custom commands), however I can find no way to trigger this.

I have seen TriggerFyre, which can do its own image/video/sounds on channel point redemptions, but can't just post a message/run a command.

I tried Creati which has this feature, but it appears to be broken, can't connect to my chat for some reason.

I was thinking, there's perhaps a way to do this using the custom overlay feature on StreamElements overlays?

If someone could point me in the right direction, it'd be appreciated.

pure mortar
#

Anyone knows a way of putting a pomodoro timer (custom timer) that loops?

#

Only in streamelements, no OBS

#

Maybe on custom widget

near peak
#

Hello
I am trying to use a custom font installed on my pc.
Upon typing it out manually, it changes in the panel on the left to the correct font, but this doesn't carry over into the actual overlay itself. any ideas?

celest flame
#

hi, does your api offer webhook functionality for being informed about new tips (i mean similiar functionality to eventsub from twitch api)

if not, what is the maximum count of simultaneous connections to the websocket server from one ip address and is there any rate limiting for the GET https://api.streamelements.com/kappa/v2/tips/{channel} endpoint?

real furnace
real furnace
real furnace
plain pilot
hardy walrus
#

Your best bet tbh would be asking the triggerfyre people if you haven't already.

#

We don't have any channel point integrations yet.

fast cairn
wintry yarrow
#

So, super random question about commands.
Is it possible to do something that would basically be a randomized response? Except a response that isn't stored in the code on the command (IDK if that makes sense).

For example a pick.random has basically a list it pulls from, but there is a character limits so if you wanted to do longer responses that doesn't really work.

I saw in the command share that someone was able to do a todo list from a google doc. Maybe something like that would work here. OR maybe there is some way to have it pick another specific command and fire off a random one of those?

#

I'm horrible at explaining, but I found something that does random output, but i has to be whatever I input.

${random.pick 'random1' 'random2'} <- ex

However, what I'm hoping to find a way to do it to make it so that random1 or random 2 could be another command. However, simply putting the command name in those spaces doesn't work. Alternativly I wonder if there is a way for this type of thing to pull from a list/spreadsheet (probably google docs) to get the same over all end result as you would if you had a whole mess of commands set up.

The results I am looking to output are just kind of long, so the small amount of space given isn't enough to simply type them all out.

clever roost
#

Hello everyone. I search command for youtube search from twich. For example: if i have 4 videos with "mouse" in title in my youtube channel and i write "!search mouse" in my twitch channel the bot will show me this 4 videos with title and links.

clever roost
opaque hemlock
#

Hello! I'm not sure where to ask that question, but I'm trying to find out how my SE bot can show my valorant rank in chat. Can someone help me?

plain pilot
#

It's not pretty, but there's no reason it won't work

still juniper
plain pilot
#

Luckily that's not a huge deal for me

#

Worst case scenario it would be slightly annoying to have to require a message with redemption for non-text rewards

#

But that's far from the end of the world

#

It's the best solution we have at the moment, until we get channel point redemption alerts in se.live overlays native

#

If that ever happens

woeful moat
#

Hi everybody, how can i receive my client id token from StreamElements to use their API. (I completed and sent the Asuna Form yesterday morning)

frank lake
elfin arch
near peak
real furnace
real furnace
near peak
#

Kk gna try it now quick

real furnace
near peak
# real furnace ok

Ok so if I don’t put the ! It doesn’t register the font itself

#

Wnna jump in a call quick ?

real furnace
near peak
#

Ty

elfin arch
timid portal
#

game capture black screen

ruby bobcat
#

hi sorry am a noob, is there any way to add custom/external triggers for alerts?

elfin arch
ruby bobcat
elfin arch
ruby bobcat
elfin arch
ruby bobcat
elfin arch
#

nice. what I personally use is; Node (js) with an Express for the server. Then socket IO for the web sockets.

#

And I also use replit for like playing with and testing these things

#

it will show how to set up the server, route, and socket, then do some ping-pong.

#

from that; you can then connect to the SE websocket on your server; then have a button on your webpage that does an API call to your server that emits the event.

#

but 100% starting with that example on replit will get you going in a fun direction.

ruby bobcat
#

okay i will poke around a bit tysm

elfin arch
#

no problem. and good luck! I promise once you get that example going you'll be 🀯 πŸ™‚

pulsar willow
#

Does the beforeunload event work as expected in OBS?
(Execution before the browser source gets reloaded or is closed.)

window.addEventListener("beforeunload", function (obj) {
  // do something
});

I'm writing a custom widget that tends to receive a lot of minor changes in a relative short time span.
To avoid SE_API timeouts through overusage, I would buffer the process and execute all changes on block after some time has passed or before the widget's browser source is closed.

gleaming iron
#

Hi, is it possible to add songs to queue for media share using API?

lapis acorn
#

How can I remove stream elements from obs, I am having trouble finding my way around to use it

terse crest
foggy yoke
#

Bit of a simple request but is there an effective way to test and develop custom widgets locally? I'm a bit over copy-pasting inside.

elfin arch
foggy yoke
#

Oh, thank you - ill investigate

compact schooner
#

Hey I am trying to do the same. I can do some programming myself. Can someone point me in the right direction? Would it be like a custom widget something or other?

compact schooner
#

thanks so much for sharing and going the extra mile to make it!

elfin arch
old chasm
#

i'd like to make a script that makes a dock from google chrome of my current livestream chat. i do this because i'd like to see betterTTV emotes from the dock. is this possible?

elfin arch
pulsar willow
#

someone added me as bot supervisor but when i open the stream elements deshboard is doesnt load

dusky galleon
#

Hey, is there any way to change the colors of a source by code or something in the SE overlay with color codes like HexCodes? You should be able to change that with channel point polls. (An example: Channel points can be used to select the color of the overlay)
Thanks

rigid nimbus
#

Hello everybody! πŸ™‚
I created my first custom widgets that listen to various commands... only one thing I could not find out so far: can I trigger the StreamElements bot to say something from within a custom widget? πŸ€”

pulsar willow
pulsar willow
dusky galleon
rigid nimbus
still juniper
noble geode
#

Tips not going through or showing up via Alerts, Subs have donated and they are not going through just disappeared? No trace on revenue or paypal but money coming out of their accounts saying tip - (twitchname), not sure if this is the right place

crude meteor
#

so im really sad i used the cloud back up b4 i built my new pc tried to reload it and none of my scenes are there 😦

mystic lodge
#

Is there way to reset chatstats?

uneven oxideBOT
#

@mystic lodge ‡️

If you are receiving a 404 error on your chatstats page, please provide the following information:

  1. Channel name (old and new if changed recently)
  2. your account ID found at the top of this page: https://streamelements.com/dashboard/account/channels This ID is public info and safe to share here.
#

@pulsar willow ‡️

Please provide a proper screenshot with the issue visible. If not sure how to take a screenshot, you can check here: https://www.take-a-screenshot.org

eager ginkgo
#

That’s how you do it. There should be instructions somewhere around that message

grizzled lily
#

how do i go live on stream elements?

eager ginkgo
pulsar willow
hardy walrus
restive granite
#

Hello, I'm still in the beginning on setting up StreamElements on my OBS and I have a quick question on the payments. If I were to set up a tipping link on my channel I first have to set up a tax form for it as well, correct? and if I make one on StreamElements do I have to also make one on Twitch or would that be linked together.

proud spade
restive granite
#

I'm having a hard time understanding, sorry.

proud spade
restive granite
#

I'm looking at the Tipping settings

#

I'm planning on using it, but I just need a confirmation if setting up the W9 is needed

proud spade
#

It is not

restive granite
#

okay, thank you

obsidian plaza
#

I may have gotten myself in over my head here, I'm trying to modify the autopoll widget to ONLY listen to subscribers and founders in twitch chat but it doesn't seem to want to do it >_O Anyone see where I'm going wrong? o_O

hot trout
#

you've written the expression in a way that is logical for humans

#

but computers don't work that way

#

specifically the !== -1 part

#

it'll probably work if you remove that part

still juniper
#

it still won't work because:

  1. the values of subscriber and founder are the same as broadcaster for some reason/copypaste
  2. the modification of that if statement makes no sense - that is meant to check if a user has already voted, nothing related to their role
  3. you also modified what's being pushed to the users array and now it makes no sense - it's supposed to be a list containing unique values in the form of usernames
peak iron
#

is there a way to create a clickable hyperlink in the overlay for socials?

thick plover
#

anyone help me with chat stats error 404 ?

uneven oxideBOT
#

@thick plover ‡️

If you are receiving a 404 error on your chatstats page, please provide the following information:

  1. Channel name (old and new if changed recently)
  2. your account ID found at the top of this page: https://streamelements.com/dashboard/account/channels This ID is public info and safe to share here.
eager ginkgo
#

you'd need to develop a twitch extension which would allow you to do it

peak iron
#

ok thanks

thick plover
#

where do i post them ?

#

Just_G93 old name new name JustG93 ID 61cb5fda8f216d6cada63580

spice cypress
#

hi if I using gsap is it always need to use async await to call its function?

pulsar willow
spice cypress
#

,split

thick plover
#

Anyone help me

obsidian plaza
hot trout
#

well yes but that doesn't mean it makes sense after modification

#

in any case ca11 had some good points above

#

omg my cursor keeps going invisible

obsidian plaza
# hot trout in any case ca11 had some good points above

Yes I've read the message 5 times trying to wrap my non programmer's mind around what it means. I have major imposter syndrom right now even posting in here cause I know nothing about programming πŸ˜‚ As evident πŸ˜‚

hot trout
#

can you show the original code

#

ideally as a code block and not a screenshot

#

on account of screenshots are kinda hard to edit

obsidian plaza
hot trout
#

for a code block in discord put it between three backticks

#

so ```js
code here

#

(the js on the first line adds syntax highligting for js)

obsidian plaza
#

Oof, too long, going to have to split it up lol

hot trout
#

just the relevant part is probably ok

obsidian plaza
#
let userOptions = {
    channelName: "",
    wordTimer: "",
    wordsLimit: "",
    firstLetter: "", //if you want to limit just to hashtags or username mentions use # or @
    onlyUniqueUsers: "", //Allow users to have just one vote only
};
let words = [];
let users = [];


window.addEventListener('onWidgetLoad', function (obj) {
    userOptions["channelName"] = obj["detail"]["channel"]["username"];
    userOptions["wordTimer"] = obj["detail"]["fieldData"]["wordTimer"];
    userOptions["wordsLimit"] = obj["detail"]["fieldData"]["wordsLimit"];
    userOptions["firstLetter"] = obj["detail"]["fieldData"]["firstLetter"];
    userOptions["onlyUniqueUsers"] = (obj["detail"]["fieldData"]["onlyUniqueUsers"] === "yes");
});

window.addEventListener('onEventReceived', function (obj) {
    if (obj.detail.listener !== "message") return;
    let data = obj.detail.event.data;
    let message = html_encode(data["text"]);
    let user = data["displayName"];
    let userstate = {
        "mod": parseInt(data.tags.mod),
        "badges": {
            "broadcaster": (user === userOptions["channelName"])
        }

    };
    if (message === '!resetpoll' && (userstate.mod || userstate.badges.broadcaster)) {
        words = [];
        users = [];
        return;
    }
    if (userOptions.onlyUniqueUsers && users.indexOf(userstate.username) !== -1) return false;
    let parts = message.split(" ");
    for (let i in parts) {
        if (poll(parts[i])) {
            users.push(userstate.username);
            return;
        }
    }

});
#

Figure this is the relevant part, that's the original code and I was trying to modify it to where it would only listen for subs and founders (which apparantly are two different instead of just being lumped under subs)

hot trout
#

yeah I've been ignored for sub-only stuff because I had a founder badge

obsidian plaza
#

Indeed, not ideal πŸ˜†

hot trout
#

ok you had the right idea it seems, but the wrong execution

#

instead of modifying that if statement, leave it as ca11 is right in that it is meant to prevent users voting(?) twice if that setting is enabled

obsidian plaza
#

Ahh gotcha, I thought it was for both for odd reason >_O

#

Now the -1 makes sense I guess xD

hot trout
#

yeah that's meant to see if the users array contains the user name, which if it is not the case will return -1

obsidian plaza
#

Could it be as simple as just going into the data part of the editor and changing everything to no, except for subs? (but then what about founders, I don't see them in there) or is the data section irrellevant?
I'll post what that one contains too, one sec.

hot trout
#

nah the data part of the editor is for settings

obsidian plaza
#

Ahh ok

hot trout
#

I'm not sure off the top of my head what the currently accepted best way is to check for subs, but there is a value for it in tags

#

so you could put something like js let userstate = { "mod": parseInt(data.tags.mod), "badges": { "broadcaster": (user === userOptions["channelName"]), "subscriber": parseInt(data.tags.subscriber) } };

#

and js if (! userstate.mod && ! userstate.badges.subscriber) return false;

#

assuming you want it to listen to mods too

#

the question then is if founders are recognised as subs by this but that's the next step if not

obsidian plaza
#

Ohh I will try that! Do you reckon that listens for founders as well?
Yeah absolutely, I've got a mod that is founder/sub so I need it to listen to that too

#

Gotcha

#

I will give this a try later when I get to the streaming pc and see if it helps. If not I think I'll still have more stuff to work with and try out now, so thank you so much!

old chasm
next remnant
hot trout
#

no that only exists for alertbox.

broken coyote
#

Well. Not fully. It's like that for loading stuff

next remnant
#

Does streamelements have something that can get the other widgets within a overlay?

#

as example, so that "Custom widget 1" can check the settings of "Template"

#

is there a SE_API doc? because I can't find "sanitize" anywhere in the api docs itself
nvm I printed it in console.log

next remnant
real cave
#

i have ryzen 2600
gtx 1660
ram 16
when i stream use obs elements fps drop in game not in obs help ?

next remnant
next remnant
#

it rate limits me
I don't get why .set triggers more than one time

obsidian arch
#

Hello I have the following idea, but I don't know how to make it work. Is it possible to do this via the API?

I want to make a command that a user can type to get points. Example: I type !hello and then I get 400 loyalty points. Is it possible? If so how can I do it?

spice cypress
atomic vigil
#

hey there! hoping someone can assist me with my alerts. i actually posted this in the reddit support/help section three days ago and wasn't able to get any feedback.

i have custom .webm alerts that have audio for subs, raids, hosts, etc. the alert duration is set to 7 seconds. for some reason when the alert goes off during my streams, the audio of the alert plays again about 5 seconds later and i am not sure why.

also, i have the volume percentage set to 4% and it is still loud as if there was no adjustment. was wondering if anyone else has run into this issue.

thanks so much for the help!

spice cypress
# broken coyote For sure

cause i have a css animation then iwant to put a js spli text to split the char on my span but not woking

spice cypress
opaque wasp
#

hey @torn wave, I was testing your widget A Goal bar with a custom icon! on #widget-share and I discovered a problem: when the goal is close to its end the bar isn't going forward anymore, from what I tested it get stucked on 96/97% and that's because the image takes up the bar space.

  • you probably provided the wrong showcase video
real furnace
fair torrent
hot trout
#

needs special permissions

fair torrent
#

how can i get the permissions

hot trout
#

there's a form for it

#

unfortunately I don't know the command to pull up the link to it

#

what

fair torrent
#

dm

hot trout
#

stupid bot that's a streamelements link

fair torrent
#

send it to my dm

hot trout
#

I have dms disabled

#

it's in there

fair torrent
#

thank you man

#

is it possible to get it?

#

the permissions i mean

hot trout
#

well that's what the form is for

#

whether they'll give it I dunno

severe shell
placid basin
#

I am not sure which help desk I need on this discord, but I am in serious need of help setting up a new custom overlay package I just bought from fiverr. Every file is webm and the guy that design everything for me bases off of using SLOBS . Using that platform is too confusing for me. I am trying to upload the webm files in create an overlay , however even though it uploads , the image/video does not . A file will be 7000 KB , but when I drop it place , it says 0 kb and nothing actually uploads. What am I doing wrong ? Sorry if this is a long post.

shell quartz
#

Hi guys how can i share an overlay with url?

pseudo siren
#

You cannot, but you can copy overlay to channels where you have manager access.

#

Or you can try request here:

uneven oxideBOT
pseudo siren
#

@shell quartz‴️

shell quartz
#

thx got it

opaque wasp
placid basin
opaque wasp
opaque wasp
# placid basin

What's displaying into the editor? Cause SE isn't always able to process media's metadata imo

placid basin
opaque wasp
placid basin
opaque wasp
junior mirage
#

This is maybe a simple question, but how do I retrieve the value of one of my counters when a widget loads?

severe shell
stable anvil
#

How do I get audio from Discord to work in OBS?

#

I have tried application audio capture but it didn’t work

severe shell
uneven oxideBOT
severe shell
#

You will find better support on #helpdesk-selive. This channel is to help with widget development, APIs, chat command configuration and things like that.

quiet kindle
#

Oh sorry !

left rampart
#

Hey all. Just wondering if any kind of CSS post-processing is possible with the widget editor. I've played with the local environments and I'm hoping to get a workflow for that going soon, (at which point, compiling them down locally is nothing) but I'm still doing it the hard way for now.

wise hawk
#

Hi <@&382267076632379392> I have a display problem with my credit end of stream, I had done a small reset because, some name was not in days and at the time I did the reset there is nothing more that is displayed in my end credit roll and I would like to know why its doing its

wise hawk
#

No i using overlay with my panel make with stream element

elfin arch
wise hawk
#

and my credit roll make by stream element is not show sub follow and other after reset

wise hawk
#

but the probleme is comming with my galerie overlay

hard rivet
# wise hawk obs

No.. what platform are you streaming too. You have 4 options: Twitch, Trovo, Facebook, Youtube.

wise hawk
#

Twitch

#

oh i seen sorry bad channel

elfin arch
wise hawk
elfin arch
#

i don't wanna flake on you if i get distracted πŸ™‚

wise hawk
spice cypress
#

hi i have an otf costum font and streamelements and its not working

wooden shale
#

what is JWT token? im trying to close my New Fb Page in streamelements account. I was trying to Link my new fb page to my Old stream elements account.

fathom solstice
#

Hi team. Long time user, first time poster. I like SLOBS; it's pretty versatile, and describes my workstation to a "T" :P. I want to report an issue I'm having; not sure if this is the right place to report it. It concerns the game and screen capture options for each scene. I have ETS2 and ED installed for streaming; both have their specific capture windows working ok now - but earlier, the ETS scene was having the same problem I currently have with RDO. Instead of only picking up the RDO screen, it keeps broadcasting the entire screen - complete with a SLOBS interface tunnel that looks like two mirrors pointed at each other and vanishing into infinity. I've tried all the fixes I could google - admin mode, restarting, creating new capture, switching between DivX and Vulcan, but no joy. I stream to twitch, but haven't gone live with this as I don't want to stream my entire screen every time I alt+tab (I only have one monitor, and it just looks bad). I fixed the ETS2 by messing around with the settings and setting it to full screen from windowed. Anyways is this a known issue? Have other people had the same problem? (It's not a black screen, it's a SLOBS Capture-Entire-Screen tunnel). I'm using Windows 10 with an Nvidia 1080 and an i7.

pulsar willow
fathom solstice
#

lol maybe

#

sorry about that; will copy and paste this wall of text somehwere else.

pulsar willow
#

good luck with your problem though πŸ‘

next remnant
#

has anyone worked with store.set and onEventReceived before, especially for kvstore:update event?

humble dew
#

Is this the right place to post questions about the API? I think it is but just want to be sure.

humble dew
#

Hey @opaque wasp, thanks for the quick response! So, I’m writing up a little Python program to help me manage a stream more efficiently. I’ve noticed that there is no method for skipping songs or clearing the queue. Clearing the queue can be done via other means, but I haven’t been able to figure out how to skip. Any suggestions, or am I missing something?

sturdy bay
#

Hello, can someone please help me with how to add progress bar code in this tip goal? #widget-share message
@bitter abyss if u could, ur HUB is awesome, just idk why its not live updating progression bar in tip goal

ocean raptor
#

hello, does anyone have an idea how to interact with a StreamElements custom widget through a stream deck?
It'd be great if I can trigger an event but I thought about injecting some javascript into my OBS Browser source too (I can't find how to do it though ). That said, you can suggest any other solution but I'd like to trigger the event not just by sending a message in the chat

limber grove
#

Hi, someone on my eng made a lightning tool at Strike, and it's fully functional on streamlabs, but needs an API key for streamelements. Who does one have to talk to to get one? I can provide link/github/best contact e-mail but the chat didn't allow me to post links thank you πŸ™‚

hardy walrus
#

@limber grove no idea what that is but would have to ask them tbh.

limber grove
#

I would love for StreamElements to have this ability to login and be able to conduct a lightning payment

#

Ask who?

hardy walrus
#

Regarding that link the bot yeeted

limber grove
#

πŸ™‚ need an API key for it to work https:// www (dot) dono (dot) at/login

#

it already works though, just not with streamelements login 😦

#

Sorry, I don't know the rules

hardy walrus
#

The owner of the ssite would need to apply for api access

#

It's the bot.

limber grove
#

Np

#

I think he did?

hardy walrus
#

Our filtering method is partially broken so it doesn't approve good links.

limber grove
#

i can provide an email somewhere or i can re-apply for a key and give it to em i guess

#

ty for any info πŸ™‚

#

i remember looking for where to apply but it seemed the applications were closed awhile ago

#

😒

hardy walrus
#

I can poke the person who's managing the requests and have him reply here.

limber grove
#

ayeeee

#

take your time

#

i can follow up during normal hours and see if he applied and with what e-mail, or i can do it again if there's open application and re-apply under me too πŸ™‚

hardy walrus
#

There isn't normal hours persay but api requests are sorta DerpDogPaola atm.

#

But he has been pinged and will reply when he has aa chance

limber grove
#

Awesommmee! ty ty πŸ˜„

polar sundial
#

Anyone know how to mass edit custom commands? I'd like to change 1800+ custom commands in stream elements chatbot from Everyone -> Moderator
Hoping there's a button I'm missing T_T

ocean raptor
#

Hello, do you know if I can trigger a custom widget's event through the SE API ?