#dev-chat

1 messages Β· Page 69 of 1

severe shell
#

There is no button for that, you would need to write some code to change them using the API documentation (on this channel description). You could get each command ID and for each of them change the permission.

proven crane
#

Hey guys anyone also have Steam-Chat disconnects since the last update?

#

Never had problems with it but somehow especially on steam games it disconnects

polar sundial
lethal flint
#

any documentation on where to get start for building a custom widget?

hardy walrus
#

Channel topic.

lethal flint
#

what is the channel topic called?

hardy walrus
jolly crag
#

i need help getting my overlay to work, its not showing up in obs when i try to active the overlay, when a follow happens etc.

next remnant
#

still haven't got an answer for that, idk where else to go with it

#

but store.set is triggering "onEventReceived" more than just once, it triggers all of the widget's "onEventReceived" by the amount of all widgets that exist

instead of it triggering for each of the widgets once

#

there are so many people with the Staff role in this Discord, I assume each work on something specifically, but I haven't managed a way to get any response yet

still juniper
#

You were told in the other Discord that staff was asked internally (which is more than what's usually done when bugs are reported). If they haven't answered welp, just wait. Staff doesn't mean developers. Just find a workaround for your use case

next remnant
#

I made support ticket now, idk what that's gonna do. But I'm gonna use more ways to reach out to people whenever I find one.
If I get a response and the issue is resolved, then I'm happy.

still juniper
#

Reporting bugs is nice, but don't expect them to be solved in 2 days. You're gonna have better luck finding a code workaround to be honest

terse crest
#

For example, you can have an overlay with a button that will simply store something (like timestamp) to SE_API and listen for this event in the widget itself and trigger anything you want based on that

next remnant
#

stores an object into our database under this keyName (multiple widgets using the same keyName will share the same data. keyName can be an alphanumeric string only).
store.set is not sharing the values it's just replacing them 😐
🀷

hot trout
#

that's what that means

#

it's a kv store not a database

#

if you want multiple values you need multiple keys

limber grove
#

hey @hardy walrus during our convo I made a submission under my e-mail and looks like i got an e-mail there's the pending Asana submission for StreamElements API Access, no rush at all lmk if anything else is needed, ty!!! πŸ™‚ ⚑

ocean raptor
ocean raptor
#

I found how to use the kvstore in my widget but I'm trying to update it with the API now and I can't find how to do it.
with a PUT method, I try to request https://kvstore.streamelements.com/v2/channel/[myID]/customWidget.[myKey] but I get a 405 responde "method not allowed".
Maybe my body is not right or I don't know...

steep swan
#

hi! I'm setting up the prize wheel widget from pjonp and I can't seem to get it to send messages in the chat :[ in the overlay editor, each segment has "Segment [number] Chat Text" which I assumed was a message that would be sent to chat explaining which one was just landed on? not sure if i misinterpreted that or if i'm just not understanding how to set this up properly :s

elfin arch
#

the KEYNAME would be customWidget.[myKey]

elfin arch
#

so in the chat response:

#

then in the Chat text; like you mentioned:

#

{res} is This segment wins! if it lands on 1.

steep swan
#

i got it now, thank you very much! bcaHappy7Cheer3

fierce dove
#

I can't figure out how to get the userCurrency value on my "onEventReceived" listener for tips, can someone help me out there?

elfin arch
fierce dove
#

Ohh alright I see, thank you

clever roost
#

Hello. I search twitch command (or API) for searching in my youtube canal. For example: if i write in chat "!search G305" the bot will show me all videos with "G305" in title (names of videos + links).

elfin arch
left rampart
#

Is there an event fired (or other way to detect) when the overlay is saved? I've got a few widgets that need to share state, and ideally, I'd like it to be that you can update the shared state from any of them, but for that I need to push them to the store on save.

#

Ah wait, that'll fire OnWidgetLoad, won't it.

elfin arch
left rampart
elfin arch
#

you can check the Onload data for isOverlay

clever roost
elfin arch
#

and it juggles the SE.store set/get/update events

elfin arch
#

and @left rampart ... go your own route if it's not that way; fresh eyes might break the case πŸ™‚

left rampart
#

And, in a similar vein, is it possible to the other properties of a field from JS? type, group, label...

elfin arch
still juniper
#

isOverlay? ain't the property overlay.isEditor? (or overlay.isEditorMode, talking from memory)

elfin arch
#

your wall might be the "save" data and share. because you will want the socket for live updates.

clever roost
elfin arch
clever roost
elfin arch
#
window.addEventListener('onWidgetLoad', obj => { //on the widget load
  widget.isEditorMode = obj.detail.overlay.isEditorMode;
left rampart
#

Now, this is odd... I thought my overlay wasn't compiling, but now it just looks like console.log() stopped working. I know the docs say we won't have that, but I did until a minute ago.

elfin arch
left rampart
#

Just spun up a new test one

elfin arch
left rampart
still juniper
#

I'll check, gimme a minute

elfin arch
#

yup; i can as well. post code here

left rampart
#

I mean...

window.addEventListener('onWidgetLoad', function (obj) {
  console.log(obj);
});

LUL

still juniper
#

logging works fine for me

elfin arch
#

ya; sorry; i thought it was more in depth code. that's 100% logging

left rampart
#

Oh, it was but not in the new overlay I used to test πŸ˜›

#

Regardless, if @still juniper can log, I'll do the usual gamut of cache deletes, etc.

still juniper
#

check you're not filtering by mistake log messages from the source in the console panel. Sometimes I activate filtering and then forget about it

left rampart
#

goes back to bed

still juniper
#

I feel you right now, trust me πŸ˜‚

left rampart
#

In my defense, it feels weird that filters survive a hard refresh

#

This is unrelated, but while I've got you guys here... have we requested an event:custom listener yet? Seems like something that would be really useful.

still juniper
#

I don't know if it's been officially requested, but it's something that has come up in the past. I'm totally with you, it would be beneficial for both devs and SE (since 3rd party integrations would be much easier and so SE would likely get more users). But... I'm still waiting for a read confirmation from devs of breaking bugs and it's been more than a month, so I don't really think they'd care about suggestions at this point, sadly (though just my opinion, hopefully I'm wrong)

left rampart
#

At that point, I'd @ them on Twitter.

#

I'm currently building a whole suite of addons around StreamElements, but hearing that basic dev support is non-existent makes me hesitant to go that route

#

Of course, if you mean a read-receipt, @still juniper, they could have disabled that but still read it.

still juniper
#

I mean a "we got this issue and will investigate, thanks" answer. Github repo is dead, devs Discord is dead. Not even messages through internal channels in Discord seem to reach to them (as per reports of other ppl). I'm not tagging them on Twitter or any other place. Because to be honest, I'm all for contributing and helping, but if they don't care to check and answer/acknowledge in the "official" means, I'm not insisting, it's their loss. If I can find a workaround in SE fine, if I don't I just move to my own solution/server. It's a pity, but it is what it is. I have 2 stupid doc PRs in the Github repo waiting for over a month and no one has taken a look at them (despite them merging a trivial PR some days ago). It's just discouraging Β―_(ツ)_/Β―

left rampart
#

Right. I mean, I could reinvent the wheel, but I was really hoping to just give the existing one some chains so that it could get through the snow better.

#

Side note: There's a Devs Discord? LUL

still juniper
#

there is but it's dead

left rampart
still juniper
#

sure (I mean sure shoot haha)

left rampart
marsh quiver
# still juniper I mean a "we got this issue and will investigate, thanks" answer. Github repo is...

Hi. I appreciate your feedback. We've been evaluating how we re-ignite our dev server and/or the communication practices you're speaking to in your note. I don't have an impactful update to share with you this second, but your thoughts on the subject have NOT gone unnoticed and we have a busy internal team working to improve for you and your needs. If you'd like to share additional details and examples on how we can make meaningful improvements for you, my DMs are always open. πŸ‘

left rampart
#

@marsh quiver Since the Dev Discord isn't going to stay dead, could I get an invite, perhaps? πŸ˜‰

#

Also, super happy to see such a prompt staff response, even when it's mostly just a "we're working on it" πŸ˜„

marsh quiver
#

I will check with the internal team to see if we can pass out a couple more invites to interested members like yourself.

left rampart
#

Much obliged

proud spade
#

I would have guessed there was just a dev section on this discord hidden behind a role >.>

marsh quiver
#

That's worth a discussion @proud spade. I know Eglorian and the Gurus were going to catch up about the server in the near future. I'll be sure we discuss that kind of migration as a possibility. Not opposed to keeping a separate server for these activities either, though. πŸ™‚

proud spade
elfin arch
#

it's a toss up. and each has benifits.

proud spade
#

puts in a vote for migrating back to IRC. πŸ˜›

left rampart
#

Definitely. If there is a litmus test for access either way, I've got code that is not scalable to other users (yet) but that I'm happy to demo to prove my "worth"

marsh quiver
#

How about an old Year 2000 style forum?

#

I miss old school forums. What do you think?

#

Turn back the clock a bit?

proud spade
#

haha

left rampart
#

Year 200? So, can we go to the Gladiator fights afterwards?

marsh quiver
#

lol

opaque wasp
#

I wanted to test kvstore:update events so I built up the below function real quick, anyone knows why the kvstore:update got send 2 times instead of just one into the console? CustomEvent.timeStamp are different.
window.addEventListener('onEventReceived', function (obj) { console.log(obj); if(obj.detail.event.listener == 'widget-button'){ if(obj.detail.event.value == 'test'){ obj = {element: 1} SE_API.store.set('test1', obj); } } });

TLDR: why does SE_API.store.set('test1', obj); trigger two different kvstore:update events?

still juniper
#

that was recently reported πŸ”Ό . Apparently, the update event is sent as many times as custom widgets are in the overlay, instead of just once

opaque wasp
still juniper
#

it seems to send number of custom widgets + 1 events or sth like that, it does scale with other independent widgets sadly

opaque wasp
still juniper
#

it's a bug, yeah

opaque wasp
still juniper
#

Staff was asked internally on Monday by c4ldas. No answer afaik.
karl-police opened a support ticket. He hasn't shared updates about this either so I guess no answer too.

And this is tied to my previous comment about the lack of acknowledgement from devs in regards to bug reports (not even suggestions, but things that are effectively breaking the editor and widgets).

opaque wasp
#

feels bad, I actually received answer when I contacted them via streamelements.com/contact, unfortunately they seemed super busy working on something since they were aware of many bugs I reported but told me that they didn't have time to work on it neiter an ETA for the fixes

#

anyway, is it possible to trigger SE_API.set() via API call? I would like to trigger them via streamdeck

opaque wasp
# elfin arch ``` PUT: https://kvstore.streamelements.com/v2/channel/ACCOUNTID/ HEADER: author...

This isn't working on my side.

      const apiToken = obj.detail.channel.apiToken
      const id = obj.detail.channel.id    
    
      key = 'test1';
      temp = {element: 2}
      const seAPIFetch = await fetch(`https://kvstore.streamelements.com/v2/channel/${id}`, {
        method: 'PUT',
        headers: {
            'Content-Type': 'application/json',
            'Accept': 'application/json',
            'Authorization': `apikey ${apiToken}`
        },
          body: {
            'key': `customWidget.${key}`,
            'value': temp
        }
    })
    console.log(seAPIFetch);
    const seAPIResponse = await seAPIFetch.json();
    console.log(seAPIResponse);
    console.log(await SE_API.store.get(key));
});```

`console.log(seAPIFetch);` returns `status: 400`
and obviuosly `console.log(seAPIResponse);` returns error since the call isn't working properly

I'm using ``` 'Authorization': `apikey ${apiToken}` ```since last time we ended up using it into the  `GET` call .
reference > [#dev-chat message](/guild/141203863863558144/channel/259680142459142144/)

I also tried with the JWT token hardcoded but the answer from SE is the same as previously.
still juniper
#

It's working for me using Authorization: Bearer jwt in cURL. ~~Maybe the PUT endpoint doesn't accept apiKeys and only JWT. ~~Anyway, since this is meant for the Streamdeck I guess you're fine with the jwt

#

nvm, it's just that you're not stringifying your body:

body: JSON.stringify({
  'key': `customWidget.${key}`,
  'value': temp
})
left rampart
#

So, I have a means of (sort of) detecting when the user saves the overlay, but it's a hack... Is there an actual means to perform a callback on save? I'm not even looking to change the data in the overlay at that point, just need to know it was saved.

alpine epoch
#

What is the syntax for the default !song command that returns the youtube video?

I'm using a third party browser source that uses a custom command trying to replicate the !song command. Basically it can do Spotify on top of Media Request so trying to make it output the same...

supple copper
#

Hi! I need a bit of help as I added the "Goal bar by cdod" to my stream, but every time i try testing it by clicking "test widget" in my streamlabs and on the stream elements editor, the progress bar does not move:(

opaque wasp
supple copper
#

Oh… whoops i usually use stream element stuff on my stream-labs so i thought itd work. My bad!

opaque wasp
left rampart
supple copper
#

Oh yes i was doing that aswell! I clicked emulate but nothing happened:/

left rampart
tired veldt
#

i have a question that maybe can help me has anyone ever tried to livestream on a virtual world how come it doesnt pick up audio

clever roost
#

Hello. Is there a limit to the number of keywords per command? I added 10 and I can't add more.

nimble goblet
#

I tested the giveaway of STREAMELEMENTS it is STILL rigged! Can someone make the same giveaway with the same settings but make the winners random! My entire stream is built up around STREAMELEMENTS point system! I have a video 15 minutes uploaded to Youtube if you want proof! I will now pay €40 for the person that solve the problem for me! Problem is- last 6 persons that joins the giveaway wins. If you have 25 people joining. The last 6 that joins always wins! 😦

trail wraith
#

Hello I want to "buy" an item from my item store from code. Is it possible with a http request or something like that?

vagrant mural
#

how do i start a stream

fickle imp
#

Is there a media kit? I'm unable to find one.

fickle imp
#

Aha, thank you!

floral lance
#

Hey, Having troubles with OAuth API.

I'm getting the token in /oauth2/authorize.

Then, I make a POST request on /oauth2/token with the required parameters, but Im getting this error

uncut patio
#

Hello, is there a way to get the current Follower Count in a <p> element?

#

something like {followercount}?

left rampart
left rampart
left rampart
still juniper
left rampart
still juniper
#

Same events, yes. Two main use cases come to my mind:

  • Get SE tips into your external whatever (e.g. you're running a custom alerts service totally independent from SE)
  • Inject events from your external whatever into SE (so trigger events that then appear in SE overlays)

I guess others may use it to listen to all Twitch events instead of using Twitch's native systems, since this way they don't have to handle OAuth and other stuff

left rampart
#

Inject events? So, SE doesn't strip out listener values that are outside the expected set of values?

#

I assumed that if I did something like

emit('event:test', {
 event: '...', 
 listener: 'cyberlight-isGreat'
));

SE would trash it

still juniper
#

They don't. But you can also use the expected set of values, it all depends on your needs

left rampart
#

Well, that could be VERY useful, if one had an overlay configured to listen for a specific thing.

#

Seemingly random, I know, but you don't know of a way to get the ID of the overlay you're in from inside a custom widget, do you?

still juniper
#

That I don't know sorry

viscid estuary
#

So i am using the chat box by Cocahh, but the text is cut off in obs and i cannot figure it out. Any ideas?

uneven oxideBOT
#

@viscid estuary ‡️

The default resolution for StreamElements overlays (theme and custom) is 1920x1080. Please add them in OBS at their full resolution and use CTRL+F to fit to screen if necessary. You can then downscale your stream in OBS settings > Video if you'd like https://i.imgur.com/6bWXxjR.png

quaint mason
#

A question: I would like the StreamElements Bot to select a random viewer with: ${customapi.https://decapi.me/twitch/random_user/${channel}}

It works as it should so far but I would like to know how I can define names so that bots like streamelements, nightbot or the soundalerts are automatically ignored.

gray tusk
#

Anyone know how to remove names from the se extension on twitch? When someone changes their name it stays on and continues with the new name. All the names starting with Q are the same person

thick plover
#

still have no chat stats anyone help

opaque wasp
opaque wasp
opaque wasp
bronze sparrow
#

.

elfin arch
trail wraith
left rampart
#

Is there a way to detect if if the "preview" checkbox is checked? If so, I think I'll create a helper library to make broadcasting custom events easy.

still juniper
#

but I suspect that this would require the user to have the "Preview LIVE events on Stream" checkbox checked
Correct. I suspect there is a way to send event events, but haven't been able to confirm it. My suspicions based on the code of the Patreon Alerts widget by lx, that seems to inject a custom event of the kind. Sadly, I really couldn't make it work for some reason, so never could inspect such event. Although he might be doing something privileged in any case

raw dawn
#

is there a possibility or a common proper way to handle variable amount of settings?
for example something like this, but the widget user will be able to set amount of gifs to setup (currently hard limited to 5 "gifs", but I want the user to be able to type in "20" and it'll allow the user to set up 20 "gifs" like that)

opaque wasp
left rampart
#

I don't think so? I agree this would be great, but I don't think we can dynamically edit (or even see) the Fields JSON. Also, doing this would be a breaking change for existing widgets, which can currently rely on fieldData.whateverTheySet always existing in the payload

elfin arch
#

it's not an option to have dynamic fields. But please request it; cause i want these too

left rampart
uneven oxideBOT
#

Check out the StreamElements ideas board: https://strms.net/ideas. You'll be able to add ideas, upvote ideas you agree with and track their progress with email notifications. Adding and upvoting ideas also helps the staff know which ideas should be prioritized so please take some time to upvote.

elfin arch
#

that is the 'idea' board. so good ideas get priority πŸ™‚

nova coral
gentle hollow
#

Streaming advice! Anyone know how (or if it's possible) to set commands to change images on your stream?
as a basic example, !green would make a green square, and then if someone else aid !red it would replace the green square with a red one?
Or !shuffle would do a square of a random color?
I wont actually be using colored square but you get the idea

mellow quail
#

Hey SE and community, I wanted to see if someone can assist me with one of my commands?

I have the below command so that when it's used it picks one of the responses randomly...

.me ${sender} ${random.pick 'insert text for example 1' 'insert text for example 2' 'insert text for example 3' 'insert text for example 4' 'insert text for example 5'}

This command works 100% with no issues. but I wanted to change it to use a sound command from the SE Store if one of the random choices are picked. see below example...

.me ${sender} ${random.pick 'insert text for example 1' 'insert text for example 2' 'insert text for example 3' 'insert text for example 4' 'insert text for example 5 ${redeem example1}'}

The issue I am having is that when example 5 is selected the sound clip plays which is great but then the text doesn't paste into the chat. I have tried putting ${redeem example1} at the front of the 5th selection and at the end... both end with the same result.

is there a way for me to change this to allow it to use the voice command from the SE Store AND put the text into chat?

opaque wasp
opaque wasp
nova coral
#

I've managed this, I just need to add a background that slides in with it, and slides out

#

any idea on how the background could be added?

opaque wasp
nova coral
#

yeah im testing slide show

#

its a case of timing it up proeprly?

opaque wasp
# nova coral yeah im testing slide show

actually yes, you should be able to use the slideshow widget to show the background just in time.. that wouldn't be the cleaner solution but if you don't know much about coding is your best option

lilac canopy
#

hello! I have the command for a song now playing set up. I was wondering if anyone knew the way to also have a spotify link to the song added to it as well.

nova coral
vague owl
#

Hi I would like to stream to twitch and keeps defaulting to youtube how can I stop this?

uneven oxideBOT
#

@vague owl ‡️

StreamElements menu, on top of OBS > Logout > Login

spare hound
#

Hey I am working with the video on command widget and I wish to set it up so followers can also activate command can anyone help me with this? You can DM me

terse crest
pulsar willow
# gentle hollow Streaming advice! Anyone know how (or if it's possible) to set commands to chang...

I tried to solve a similar problem with the "Monster Team" custom widget:
#widget-share message

It uses a pastebin.com doc as URL list and determines via a second command parameter which img to show.
(Credit to thefyrewire, whose pastebin API is the foundation of the widget.)

Example (not tested):

A pastebin-document might look something like:

:[green,random] {"default":"some.website.org/green.png"}
:[red,random] {"default":"another.website.com/red.png"}
:[red,random] {"default":"bla.bla.lol/red2.png"}

To get the green img:
!slot green

As every entry has the "random" keyword, this should select a random img:
!slot random

There are multiple entries with the "red" keyword, so this should select a random red img:
!slot red

Let me know, if the examples don't work (been a while since I've tested the widget).

pulsar willow
spare hound
#

What does the revised 3rd version do, looking at everything released says version 2, would glad to live test version 3 for you

gentle hollow
opaque wasp
pulsar willow
# spare hound What does the revised 3rd version do, looking at everything released says versio...

I think there are 2 versions 2, therefore it jumped from v2 to v4. 🀣

The main feature of v4 is, that a dropdown list was added to each media command, which defines how a chat message is compared to the specified command string.
So messages like !lurk till later or I'm in !lurk (can) trigger it as well.

The modified code can be seen here:
https://github.com/AFoeee/VideoOnCommand/tree/compatible_with_older_obs

If you decide to test it, I would suggest to replace the content of the 'Data' tab with {}.
This way it loads all the default values and you avoid complications.

GitHub

My version of the StreamElements "Video On Command" custom widget, originally written by Benno. - GitHub - AFoeee/VideoOnCommand at compatible_with_older_obs

spare hound
pulsar willow
#

@spare hound
Actually there are 3 creators πŸ˜…
This is still possible in newer versions.

spare hound
#

@pulsar willow
ahh, and amazing i love that fact that i can pair it up with other commands. where do you post updates or status updates on it?
Is there a quick way I can enable everyone in chat to use command?

pulsar willow
spare hound
#

awesome and im okay grabbing the info from github and putting it into a widget?

pulsar willow
spare hound
#

@pulsar willow You are awesome. you guys should attach a donation link in your instructions, if allowed

left rampart
#

Doing a little maintenance on a previous project which was an augmented version of SE giveaways. Provided I have API access as the user, Is there a way to block the automated response to !giveaway so that I can override it?

humble dew
#

Reposting: I’m writing up a Python program to help me manage a stream more efficiently. I’ve noticed that there are no methods listed in the API documentation for skipping or clearing items in the media request queue. Clearing the queue can be done via other means like looping through and deleting all the items in the queue (I would rather have a method for this), but I haven’t been able to figure out a way to skip requests outside of using chat commands (this is bad as it fills up chat with nonsense). Any suggestions or workarounds? Am I missing something in the documentation?
I appreciate any help you can provide.

lilac canopy
opaque wasp
lilac canopy
#

Ty I’ll seach it up!

opaque wasp
lilac canopy
#

Someone else yesterday told me to ask my question again here

#

I appreciate it a lot tho ty!

pulsar willow
# spare hound <@456226577798135808> You are awesome. you guys should attach a donation link in...

Bad news regarding the "follower only" feature.

Unfortunately, it seems that the SE message event (because of Twitch) doesn't include follower data.

Checking the follower status might still be possible, but would require to query the Twitch API on each message.
Afaik this has the following drawbacks:

  • Each streamer would need to register as developer to receive an OAuth token.
  • Very frequent chat messages will probably result in an API time-out.

Then there is the additional problem that users could immediately unfollow after using the command, which kind of undermines the purpose of such an option.

Taking this into account, it feels like there is no satisfying way to implement the feature at this point.

Sorry for that.

raw dawn
#

I can see there's a SE_API.sanitize function, but where can I access the settings what words to sanitize and what to replace them with or when to skip?
Initially I thought it's going to be Dashboard -> Chat bot -> Spam filters, but that's not it...

hot trout
#

it'll probably be the setting in the donations settings

raw dawn
#

for anybody looking for those settings, it's in the dashboard -> Revenue -> Tipping Settings -> (small font) Tipping Settings -> Tip Moderation

young shard
#

@pulsar willow @spare hound you can use DecAPI's followed endpoint to check if a user is following the channel, just make sure to cache it (for like 5 minutes or so?) so that it's not hit on every chat message from that user

https://docs.decapi.me/twitch?endpoint=followed%2F%3Achannel%2F%3Auser

there is still the issue of people easily following and unfollowing, so that's the only caveat with introducing a follower-only feature

pulsar willow
opaque wasp
#

wouldn't be easier for him to just enable followers only chat feature from Twitch itself?

floral lance
#

Im getting this response when trying to get /kappa/v2/channels/me endpoint:

{
    "statusCode": 401,
    "error": "Unauthorized",
    "message": "Not allowed to perform this operation"
}

Im using Bearer token generated with OAuth2.
What is wrong? Token was generated with scopes ["channel:read", "tips:read", "tips:write"]

/oauth2/validate response:

{
    "channel_id": "5a825ad2d1ea600xxxxxxxx",
    "client_id": "b4dxxxxxxxxxxxxx",
    "expires_in": 2590478,
    "scopes": ["channel:read", "tips:read", "tips:write"]
}
frail veldt
#

I'm looking for confirmation that right now the only two methods of communication between widgets is the use of the kv store, or to set up a hosted server and set up communication that way?

My use case is I have one widget that runs on a timer received from an external API. That timer determines different state events that the other widgets respond to. I'd like to not spam hitting that API several times on an interval with multiple widgets in the same overlay.

still juniper
#

Afaik there are no other ways. KVstore seems suitable for your use case, although have in mind that here are some issues with it right now (kvstore:update events being sent multiple times per single event, so you'll have to filter repetitions (based on time probably, they're all received just some milliseconds apart))

frail veldt
#

Those kvstore:update events being fired are each widget receiving the update. As the event is a state, I just check to see if the state is the same.

if you check in those events, you can see they are ms apart as they have a timestamp for each one.

What's kind of crazy to me is that if you have 6 widgets in one overlay, a kvstore update will trigger 6 events due to each widget emitting an event that it received the kvstore update. So we know the widget is getting an update, but we can't listen for the widget itself receiving an update, we can listen to the confirmation that is broadcast that the widget has received the update.

Hence the duplication

#

There is also the problem that if you have the widget in StreamElements AND the widget live in OBS (or a preview)... it doubles the events fired.

still juniper
#

What's kind of crazy to me is that if you have 6 widgets in one overlay, a kvstore update will trigger 6 events
This is the issue I was referring to. An update operation emits multiple events via websockets. I don't think the underlying issue is that each widget is re-emitting the event, I just think the background broadcast logic is broken, but you may be right. Anyway it shouldn't work this way, that's clear

opaque wasp
#

When I tested kvstore:update, I had just one custom widget into the overlay and the event was triggered twice anyway.

jaunty aurora
#

Hi all, I'm trying to port some commands that I was using over from nightbot to streamelements bot but I'm not sure if there's equivalence to certain commands. Is it possible to have a command use store api responses into multiple variables and print them out? Are if statements possible? Edit to add: Also is this question supposed to go into twitch helpdesk instead? Very new here.

hot trout
#

this sounds like you're using $(eval) in nightbot which streamelements unfortunately does not support

#

in fact, nightbot is to my knowledge the only cloud bot that has support for running code

odd timber
#

Is there a way to have a streamelements widget post something in chat? For example, I have a widget that displays something on the screen... I'd also like to have that text returned and spit out in the chat. This text is dynamically generated via an API. So its not like it is something I can have the command display as a response to the user triggering it.

opaque wasp
odd timber
still juniper
odd timber
#

I am a little curious why SE_API doesn't have a way to send a message itself. That would be perfect.

opaque wasp
subtle imp
odd timber
subtle imp
opaque wasp
#

I suppose that people prefer jebaited.net because you can generate a specific token. Instead in order to use /:channel/say you need to hardcode your JWT token?

odd timber
#

Actually is it safe to ask people to enter their Tokens values into a field?

subtle imp
odd timber
#

I guess they can if they have the link...

subtle imp
odd timber
#

So yeah I guess they would expose it publically

subtle imp
#

that's why maybe it's safer to use jebaited

odd timber
#

I mean its the same thing... That token is just as easily accessed.

still juniper
#

inside a widget you can use the apikey apiToken of the overlay (unless that endpoint does not support it for whatever the reason)

opaque wasp
#

That is the only difference I can see.

odd timber
odd timber
subtle imp
#

at least that's how I see it

subtle imp
#

but again, coding is not my area πŸ˜„

still juniper
#

inside widgets you should use it, not jwt or oauth

odd timber
#

That appears to be failing authorized for https://api.streamelements.com/kappa/v2/bot/{channel} and https://api.streamelements.com/kappa/v2/bot/{channel}/say

compact schooner
#

Hi, I want to extend a viewer queue custom widget code I found on here to allow anyone to enter queue (to extend for facebook and external live streams). I think the easiest method would be for me to create a basic webpage where user can submit their name and I feed it to the custom widget through an API. I spent some time looking through documentation this morning but still confused. Can someone point me in the right direction. Do I need to apply for SE API access and then use something like websocket to connect? Or is there an easier way to do it that i'm missing? Thanks in advance.

still juniper
opaque wasp
# still juniper `apiToken`*. You receive a special token tied to the overlay/widget in the `onWi...
    apiToken = obj.detail.channel.apiToken; 
    channel = obj.detail.channel.id;
      
    const seAPIFetch = await fetch(`https://api.streamelements.com/kappa/v2/bot/${channel}/say`, {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
            'Accept': 'application/json',
            'Authorization': `apikey ${apiToken}`
        },
        body: JSON.stringify({
            'message': 'test'
        })
    })
    console.log(seAPIFetch);
});```
>> `seAPIFetch.status` returns `403`
still juniper
#

must be protected, some of the endpoints are for the overlay token. It's good to know πŸ‘

odd timber
ancient wigeon
#

Can I get some help with making a join command where people can type !join and it will be added to a list and a mod/streamer can do !list and see everyone who joined?

potent wyvern
#

Hello, does anyone know how long does an API Access Application submission takes? I've applied for one last week and haven't received any answer yet. Also is it possible to send custom merch alerts through the api?

trail wraith
stone tartan
#

all my ground controlsummary are gone and they wont comeback
need help
been gone fore a while even go on your website everythings gone

hardy walrus
left rampart
#

Is there anything that I can do to ensure a smooth review when the devs find time to review my app? ... What are the devs looking for in the review?

I would also love to know this before I submit my application, particularly if Dev review is still taking a while and follow-up reviews are likely to take even longer.

left rampart
# trail wraith So I should be able to just: ```socket.emit('event:test', { event: { name...

I believe the event payload has to take roughly the expected shape. (so, include a listener, and then a detail object with your custom info.) I've also had trouble getting to work when sending from the overlay itself (via SE_API.sendMessage('event:test')). Not sure if there is a permissions error there, or what the problem is. I'm currently looking at other ways to achieve the effect, and with support for "real" events as well. Will post back here if/when I get something working.

stone tartan
#

hello
[3:01 PM]
i have no activity feed for like the a month friend just sub to me and it didnt work
[3:01 PM]
reset everything nothings working
[3:02 PM]
still saying nothings theres
[3:02 PM]
added se live to obs still nothing fix
[3:02 PM]
help

left rampart
stone tartan
#

no everything is gone from my stream stuff @left rampart

#

no alerts from the the whole year

left rampart
stone tartan
#

ok

still juniper
#

I've also had trouble getting to work when sending from the overlay itself (via SE_API.sendMessage('event:test')).
That won't work, sendMessage is not for that

Although checking it, and following yesterday's conversation, I've found out that you can send a bot message by using SE_API.sendMessage("bot_say", {msg: "your custom message here"}) - no token, no Jebaited, no nothing edit: this works if inside the editor, but errors outside (preview/live url)

opaque wasp
still juniper
#

I believe the event payload has to take roughly the expected shape. (so, include a listener, and then a detail object with your custom info
Don't include a detail object, that's generated internally when they dispatch a CustomEvent object. If what you send has a detail key, you'll end with detail.detail. Just:

socket.emit('event:test', {
  listener: 'yourListenerName',
  event: {
    whateverParam: whateverValue
  },
});
left rampart
still juniper
still juniper
still juniper
# opaque wasp what does this mean?

that using that function does send a bot message if within the editor, but errors if outside of it, for whatever the reason - 403 = forbidden call

opaque wasp
#

gotcha sendMessage is what the overlay uses to communicate, so you're able to send the post request but SE doesn't allow that anyway

still juniper
#

it does when the API call is sent from the editor though, but welp, useless anyway

left rampart
still juniper
#

Because event:test has nothing to do with SE_API object as I said

#

event:test only makes sense in regards to websockets. If you want to dispatch something from an overlay, dispatch a CustomEvent object. But it won't get to the parent window or other widgets, just the widget you're dispatching it from. There is no way to send events to the parent window (that's what sendMessage does in fact, but it's limited to the list of things listed in the docs - kvstore ops, getcounter, cheerfilter, etc)

brisk leaf
#

Is it possible to know through the API the loyalty points you have in a specific channel, or do you need to have access to it?

#

I have the token of my account but not of the channel where I want to check my points

left rampart
still juniper
#

things that work are already wrapped in functions, in theory raw sendMessage has no real use right now (afaik)

left rampart
#

Makes sense. I was only digging because the Doc also says:

The overlay's API token is also provided (via the onWidgetLoad event below) for more direct REST API calls to be used as authorization header.

So, I was trying to determine what could be done there, but I gather they mean pulling in something like Axios and manually hitting the REST API. Seems like something like SE_API.kappa.[get|post|put|delete](uri, params); would be more secure. That way, there's no need to actually give us a token that we could potentially pipe off to an external DB.

#

Then again, those tokens probably only work when sent from streamelements.com... still, would be nice.

pulsar willow
#

Is there a way to make a custom command that is a lottery where users have to type something to join it for a chance to win being a streamers partner for a game?
Like the !sraffle but without using loyalty

cobalt forge
#

Anyone know how to extend a setTimeout after it has already started?

sharp moat
cobalt forge
severe shell
severe shell
potent wyvern
#

Is it possible to send custom alerts/merch alerts using the api? I haven't found anything in the docs and I noticed a lot of people asking for them the previous year in this channel, not sure if there is any workaround for it? I noticed that by adding a Merchandiser Alert Box in the overlay you could emulate Merch Events, but I couldn't find any way to trigger them by an api.

elfin arch
sick pilot
#

Can someone tell me why ${customapi} is fetching the whole html markup when it didn't used to?

hardy walrus
#

@sick pilot if you mean for json objects it doesn't filter that unfortunately.

#

Unless you're doing that on the other end of the api.

sick pilot
#

It used to be a simple case of outputting text in a php file but now both the customapi and fetchurl commands output the whole html markup

hardy walrus
#

take it away pjonp

elfin arch
#

that would be on the API endpoint @sick pilot; the commands are expecting a text response

#

so if the server is responidng with the full PHP ... try opening that link in a Chrome tab πŸ€”

sick pilot
#

That link opened in a Chrome tab shows text only.

elfin arch
#

πŸ€” .... i saw this link earlier

sick pilot
hardy walrus
elfin arch
#

oooh... yup.

#

....1 min i'll give it a try; i'm interested

sick pilot
compact schooner
#

is it possible to add regular html form fields to the custom widget and have them displayed off canvas in the overlay but then make them visible by displaying the widget in an iframe or something on a stand alone webpage to allow people off twitch to enter their details to interact with the widget? I am building on the task queue widget pjonp created some time ago and want to find a way to allow facebook and youtube viewers to join. thanks in advance

sick pilot
floral hinge
#

anyone here
?
can i like ask u people to sub is thAT legal

sick pilot
#

@floral hinge might be legal but can't say if it's against the rules or not.

floral hinge
#

ok

sick pilot
#

WAIT, CLOUDFLARE PERHAPS.

elfin arch
uneven oxideBOT
#

Read and follow our server rules:

  • We do not tolerate toxicity! Treat the community team, staff, and all members with respect.
  • No advertisement or channel promotion, anywhere on the server.
  • No NSFW/NSFL
  • No unsolicited DMs or friend requests to server members

Make sure to read the #welcome in any server you join.

hardy walrus
#

@compact schooner would be difficult AF given there's no real way to listen to FB message/comments since there's no bot for them.

elfin arch
compact schooner
#

so I am looking for a way to just interact with it directly

#

through a webform in widget or webform externally that would then talk to the API?

compact schooner
#

but if there is one that is

#

pleeeeeeaaaaaase share

#

the one someone linked for me was a queue modified to display the user and the task next to them

sick pilot
#

@elfin arch it was Cloudflare. I can't believe I was trying to figure that out since the bot yeeted my comment last night and now it just came to me when asking about it.

#

I guess don't proxy your APIs through Cloudflare haha

elfin arch
compact schooner
#

I saw above mentioned being able to talk to the widget through websockets and saw that on the API description page. is that something I would need to apply for a API access for? Or I can do it directly by just calling the API endpoint?

elfin arch
compact schooner
#

sorry i'm very new to this coding but not coding in general, trying to wrap my head around what's possible

elfin arch
#

good to know. thank you πŸ™‚

compact schooner
#

so form fields within the widget won't work? or noone knows? Should I bother trying in other words?

elfin arch
sick pilot
compact schooner
#

and one last question, the custom widgets responding to chat commands as it is now, would it respond to youtube chat commands the same way? Or that functionality is for twitch only? the !join etc

elfin arch
#

For custom coded widgets; yes; it should respond the same way.

#

but... note that youTube chat is delayed

hardy walrus
#

Like stupid bad.

elfin arch
#

☝️ yT is API pings and you get a group of messages together. they are not live

compact schooner
#

i'll see how bad the delay is. it is for an ADHD coworking streams. if its under a couple of minutes might not be too bad and I can then direct peeps off facebook to youtube to participate

hardy walrus
#

It's seconds but long enough to be a PITA.

#

Gimme a sec to find a video.

compact schooner
#

oh lol, my current stream is about half a minute delayed, a few seconds is nothing

#

thanks so much for the ideas

#

if the commands don't work i will pop back in for some more help

#

you guys rock

hardy walrus
#

To give an idea what it's like just sending via obs.

compact schooner
#

i use stand alone chats for that reason

#

but that gave me heaps of ideas and mojo to go on with my project. I wasn't sure if I wanted to get bogged down with the custom API calls this early in the birth of the idea cycle

#

thanks again for your input and pjonp for the qeueu code!

somber patrol
#

is there a way i can change the bank info i put onto the tipping settings? i got a new bank account and want the withdrawal to go to the new one

dapper dew
#

Is there a resource that shows which CSS classes various widget contain? I'm trying to add padding to my chatbox, but I have no idea what selectors to target.

severe shell
uneven oxideBOT
dapper dew
prisma cosmos
#

Hi, recently after the rust twitch drops, I get so many non italian viewers, and I would like to know if there's something to add in my stream for a live-translate subtitles

spiral phoenix
#

Hey, i recently start to work with the ST API in Kotlin. Get Request works perfectly but if i try to push a data change request i run into some problems with the OkHttpClient. The docs tell me to insert null into the .put() method inside the Request Builder, but that throws a IllegalArgumentException. Anyone knows what to import there? (Cant figure it out from the docs from OkHttp)

elfin arch
spiral phoenix
elfin arch
#

which endpoint are you going for?

spiral phoenix
#

I request to /kappa/v2 and try to change the user points

elfin arch
#

let me check; the header in the channel.

spiral phoenix
#

Just to be clear, i dont use OAuth2 for open connections or variable usage.
I try single calls like following (https://dev.streamelements.com/docs/kappa/b3A6NTM5NzE3OA-channel-user-amount)

val client = OkHttpClient()
val request = Request.Builder()
  .url("https://api.streamelements.com/kappa/v2/points/<channel>/$user/$points")
  .put(null) // <--- Exception here
  .addHeader("Content-Type", "application/json")
  .addHeader("Accept", "")
  .addHeader("Authorization", "$token")
  .build()```
elfin arch
#

.addHeader("Authorization", "Bearer $token")

#
  • Bearer
spiral phoenix
#

Yeah i know, just cut that out for sharing here

elfin arch
#

πŸ€” .... i've never heard of Kotlin;

#

but i see:

#

.put(body)

spiral phoenix
#

Mhm, saw that too... Problem -> Dont know what body exactly is. Its wanting a MediaType and Content, but the StreamElements API dont want extra parameters like content there. Leaving it out lead to 202 errors

spiral phoenix
elfin arch
#

i'm shooting blind here; this is foreign code to me and i've never got into these endpoints

#

but is see this

#

...i got nothing 🀣

spiral phoenix
#

Where you find this? I can try it out as Content part, but i never saw this inside the docs

elfin arch
#

ooohhh we are on different pages

spiral phoenix
#

Yeah, im on single user (where is no body part), but maybe it works anyways. Just filtering the client docs for a correct media type atm. I will send feedback, if i find smt

elfin arch
#

.url("https://api.streamelements.com/kappa/v2/points/<channel>/$user/$points") <channel> ?

#

i donno the markdown for this language; so unsure if that is valid or not

spiral phoenix
elfin arch
#

are you using the ID ###'s when you do that and not text

spiral phoenix
#

yes, the id from my dashboard

#

Konto-ID = User-ID

elfin arch
#

πŸ‘ ... common mistake

spiral phoenix
#

Did it too at the beginning, but i test everything in the demo web requester on the docs and manage to get everything right. Than i copied the sample code from underneath and the error appears

elfin arch
#

have you tried an empty .put() ?

spiral phoenix
#

You need to input anything. Nothing is not possible (and null leads to an error)

#

Leaving it out leads to an 404 error (on api side)

#

I'll try an other client requester with better docs to understand what is needed. Maybe that will solve the issue

elfin arch
#

ya. sorry; i don't know Kotlin, ...what you have looks correct

spiral phoenix
#

No problem, you tried to help. That counts PEepoGlad

spiral phoenix
#

Solve the issue πŸ‘
For anyone here running into the same issue, you can simply use Ktor Client Requests instead of OkHttpClient. There you can setup everything correctly and leave out the body, if there is no need

hot trout
#

a PUT with no body kivThink

rare canopy
#

hey, its there any way to send a chat message via a streamelements widget?

vagrant prairie
#

Hello, is there a way to create sound commands on stream elements?

severe shell
severe shell
vagrant prairie
severe shell
# rare canopy and how does it works?

How to send chat messages using custom widgets (jebaited method):

  • Go to jebaited.net website
  • Authorize the application to connect to your Streamelements
  • Go to API tokens
  • Where it says "Scopes", click on it and select botMsg an click on "Add Token"
  • Your token will appear right below
  • Click on botMsg next to your token and it will popup a URL for you. You can use that URL to send a message. Using that URL you can make an API call for that, like the example below:
const jebaitedToken = '0123456789abcdef'
const message = 'YOUR MESSAGE HERE'
const encodedMessage = encodeURIComponent(message)
fetch(`https://api.jebaited.net/botMsg/${jebaitedToken}/${encodedMessage}`)
severe shell
lapis olive
#

I'm trying to connect to the sockets but getting the "Failed to authenticate" message. I'm using the JWT from the dashboard. I can use it to get kappa/v2/users/current successfully but I can't use it against oauth2/validate ("No token found"). I see the header set correctly (authorization: OAuth eyJhbGci...) in the dev tools. I just reset the token and reattempted with no luck.

#

Should I be using my OAuth2 app to gen a token? hmm2 I just want something fast

still juniper
still juniper
#

(also, socket.io is a little behind, it's 2.x iirc)

lapis olive
#

Ah, the method needed to be "jwt" ReapzSmart Thanks

severe shell
ruby sable
#

Hi, i dont know where to post this, but what do I put in the accept so that I am allowed to do the operation? All in all, i wanna a streamelements widget that can add points to users

lethal lynx
#

Hey developers, is there any chance we can get a widget for loyalty point redemption cooldowns? Right now it simply informs a chatter that the item is on cooldown, but informing them how long their personal cooldown or the global cooldown is would be incredibly helpful.

I've seen most of my viewers request it, as they sometimes just have to guess and it ends up filling up chat unnecessarily.

I was directed here from another support post I made in #helpdesk-selive

elfin arch
vagrant edge
#

Hello! Can anyone help me get animated facecam overlay from "Connection Animated Streaming Overlays" for TROVO. I would love to change colour on it but you can see here when I want to download it from the overlay It's black not transparent around the frame. I just need the original one with transparent background. Thank you in advance.
https://cdn.streamelements.com/uploads/0505dfb4-abc9-4270-b284-5e1436813279.webm

severe shell
craggy quiver
#

Hi

mint flume
#

Howdy! I'm trying to figure out if theres a way to sum 3 variables with the chat bot. I was hoping something like ${getcount <variable1> + <variable2> + <variable3>} would work, but no dice.

pulsar willow
mint flume
#

hmm

mint flume
#

huh.. i think that actually worked

pulsar willow
mint flume
#

whats minus?

pulsar willow
#

afaik - can be used without encoding it

severe shell
ruby sable
severe shell
elfin arch
#

JWT is 24 characters long......

lapis olive
#

The websocket seems to disconnect often. Is that an issue others have or could it just be my network (which seems to have issues with some sockets)?

static sequoia
lapis olive
#

ModCheck The StreamElements "realtime" socket.io Websockets for getting event data

spice cypress
#

hello can i use adobe fonts directly to the stream elements

spice cypress
potent wyvern
#

Hello, how can I send a merch alert to a Merchandise Alert Box using socket emit? If I try to emulate one from the overlay I receive the content by listening to the socket on my server but I haven't found any docs regarding the possibility to send the event as well:

 {
  listener: 'merch-latest',
  event: {
    type: 'merch',
    name: 'Rasia',
    amount: 25,
    count: 25,
    items: [ [Object], [Object], [Object], [Object], [Object] ],
    tier: '1000',
    month: 'August',
    isTest: true
  }
}
potent wyvern
#

nvm, it worked like this:

this.socket.emit('event:test', {
      clientId: clientid,
      channelId: channelid,
      listener: 'merch-latest',
      event: {
        type: 'merch',
        name: 'Alexander',
        items: [
          { name: 'Shirt', price: 44, quantity: 3 },
          { name: 'Hat', price: 28, quantity: 1 },
          { name: 'Mug', price: 3, quantity: 1 },
          { name: 'Hoodie', price: 4, quantity: 3 },
          { name: 'Protein powder', price: 28, quantity: 3 }
        ],
        isTest: false
      }
    });

Now I was wondering if I can pass an image as well? like the image of a product to replace that flying drone animation for merch-alerts?

elfin arch
#

kinda look likes you are doing a middleware thing?. your server get's the merch event; then process it it. then you could add an image to the items' Objects { name: 'Shirt', price: 44, quantity: 3 img: '....'},; then send it back to SE (i'd use your own listener, like 'myMerch'). you would need a custom widget to do your CSS fun and use that img from the Object or all of them as you queue the purchase. 🀣 that's my thoughts

potent wyvern
#

So a custom widget would be my best bet, I'll look into it, thanks a lot!

elfin arch
still juniper
#

i'd use your own listener, like 'myMerch'
if they do that, alert won't queue with the rest of alerts (I'm having Vietnam flashbacks)

elfin arch
#

ohhh. ya. the main queue thing.... that's i think when i gave up

still juniper
#

basically only the events with a predefined listener are sent to the queue, so depending on what you want to achieve a custom listener is not the best option

elfin arch
#

ya. i remembering that now. i was working on a thing, scraped it. and that was why.

pulsar willow
#

ohhh. ya. the main queue thing.... that's i think when i gave up
Made me laugh. πŸ˜„

still juniper
wind notch
#

Hey. Does anyone know the easiest way to make an alert trigger via api?
I want to make a competition that runs on a backend, and for it to push updates to the stream in alerts

fathom vector
#

Hi, I recently noticed that if a twitch viewer got gifted a sub in the last month and renews it himself SE will not take note of it.
I can't find it in the <data>-Element of a custom widget either. The sub doesn’t appear in the session data nor the acivity feed. I just got lucky and saw it in chat.
Does SE not have access to that data? I would like to include that into some streaming tools. It would be kind of sad if the viewer gets excluded from alerts and other widgets just because they renew a gifted sub.

fathom vector
#

so i looked through the possible event values that can be listened to at github and can't find that type of event their either.

hot trout
#

@fathom vector for external services to notice it, the sub has to share it in chat

#

this is always true btw not just for SE

fathom vector
#

but twitch shared it automatically in chat.

hot trout
#

that's not the same thing

fathom vector
#

ok

#

didn't know that

hot trout
#

resubs are only ever alerted for if manually shared by the subscriber

still juniper
#

if the resub appears in Twitch chat, then Twitch is sending it. In this case, it's a giftpaidupgrade event

fathom vector
#

oh ok thank you sorry

still juniper
#

Whether or not SE takes it into account... that I don't know

hot trout
#

yeah but theres no alert for that

still juniper
#

well, it's a resub, that's on SE

hot trout
#

the reasoning being probably that this would get a single sub more than one alert

#

(one for that message, and one later when shared by the subscriber)

fathom vector
still juniper
#

it doesn't work that way. Not that it matters, resub events are most cases already duplicated by Twitch because of their weird sub anniversary stuff

hot trout
#

I've never seen duplicated events

still juniper
still juniper
hot trout
#

it's just that you can choose to wait to share until right before your sub anniversary and then shortly after get a new resub to share

fathom vector
still juniper
#

so you share it twice for a single resub, aka duplication, since you get both events from Twitch

hot trout
#

that's the only way I've been able to do that

#

no, you share once for each sub

#

it's just that you wait to share one sub and share the next one immediately

still juniper
#

nope, I'm telling you you can make it to share twice the same resub. I mean, it happens everyday multiple times in every stream

hot trout
#

with the same amount of months?

still juniper
#

it has to do with delays when sharing and stuff

#

yes

hot trout
#

because I've never seen that

#

or at least not noticed

#

in any case, eventing bugs aside, I'm sure alert services (streamlabs does the same) ignoring the upgraded-from-gift/upgraded-from-prime/paid-gift-forward messages is to reduce instances of multiple alerts for the same event

fathom vector
#

ah i understand what you mean now: for example i am a x3 sub at a channel and decide to prolong my sub it will appear as an event but I still could reveal that I did that action via chat?

#

which is counted as the next event

hot trout
#

yes if you are a sub for another month you'll get prompted by twitch to share that on your sub anniversary

still juniper
fathom vector
#

would make sense

hot trout
#

none of the channels i sub to and haven't done that with for a while are online rn so I can't screenshot it but it's like 'It's your x month sub anniverary!' and it asks to share that with a message and the option of sharing how many months you were subbed in a row

#

that event gets alerted on

#

along with the initial sub and gifted subs of course

still juniper
#

just saying, I do handle those events in my developments and has nothing to do with duplication. Also, iirc, sub train widget does take them into account

hot trout
#

what you do with custom stuff is up to you, I dunno about the sub train, I'm just talking about the standard alerts

#

afaik all of them only alert on shared resubs and first-time subs

#

(and gifts)

fathom vector
still juniper
hot trout
#

I don't use that so I know literally nothing about it

still juniper
#

in fact, I don't recall if it's the sub train or the sub counter, but one of them counts upgrades while the other doesn't. I've seen them desync over that stuff

still juniper
fathom vector
still juniper
#

ah yeah, I forgot what you originally said hahaha That I don't know, I would expect those events to be included as resubs, but don't know if it's the case or not

fathom vector
#

it is not the case ^^;

#

sadly

still juniper
#

worst case scenario you can use an external lib to get them from Twitch

fathom vector
#

thank you for all your help :)

sullen brook
#

Hi guys, i just startet to use the SE Widget for social media banenr by Benno and want to add some more (like tiktok, hover, etc) I made it work with the Informations in the overlay but the new added picture wont show up. Can someone help?

winged steppe
#

Does anyone know if there's supposed to be a data set for data["cheer-week"]["amount"] for use in custom coded widgets?

#

It exists for follows and subs, but not for cheer

winged steppe
covert ferry
#

Hey everyone,
I'm new to this server searching for a little support with my Chatbot. I'm trying to realize a command !dance which should either work with or without a tagged user.
I know, that I could pick a random user, if nobody is tagged. But instead I want to write a completely different text in both cases.
!dance -> xxx dances through the room!
!dance @yyy -> xxx grabs yyy and dances around the room.
In a programming language I would realize it using a simple if/else statement. Is anything similar possible within the chatbot?
Sorry in advance if the question already has been asked earlier. I could not find a proper result so far.
Thanks! πŸ™‚

calm prairie
#

I accidently reset my recent followers/subs for widgets. Is there a way to get that back so that Credit Roll - by Grot widet will actually display something?

analog raven
#

Hey, does anyone have code for a random number generator widget that animates in an odometer JS style?
I can probably put it together myself if needed, but wanted to see if anyone has something similar already

severe shell
hushed zenith
#

anyone who knows how to code this NerdOrDie widget/hype train thingy to display a bits icon PNG instead of an X next to the amount of bits and the sub badge next to sub name on the right?

sleek valve
#

Hi there schyComfy I was wondering if you could help me here. I want to share an overlay with a client -- I'm a designer and I created a custom chat for a client and I would like to know how can I share it without needing the editor permission (I have 50+ clients and that's very counterproductive). Thank you!

uneven oxideBOT
surreal folio
#

Hi I had made a bunch of overlays and other content for my twitch, recently I logged into my stream elements and now their all gone. I was wondering if anyone would know a means of regaining or recovering them

hardy walrus
#

@surreal folio did you have a trovo/FB/YouTube account attached to it?

surreal folio
#

@hardy walrus i had my twitch account attached, like signed in with twitch. It was there for like a week and then disappeared. I still have the link to it but the actual overlays dont show up and the website link doesnt load

hardy walrus
#

No. I mean did you have multiple accounts under the dropdown menu?

#

Lets do this.

uneven oxideBOT
surreal folio
#

@hardy walrus They just appeared, wtf ima make a duplicate to be safe next time

hardy walrus
#

Β―\_(ツ)_/Β―

edgy hull
#

Hi good morning anyone else having audio issues in stream Labs?? Last night on my stream my audio just went Atari mode on me.

hardy walrus
#

You'd wanna ask them about that.

trail wraith
#

Hi! I've recently asked a question about buying Se store items from http, I was told to check out the websocket, but I didn't really found anything helpful, I checked socket.emit(event:test) but I want my event to appear in the activity feed, is there any way to do this?

sleek valve
floral lance
#

scopes store:read and store:write are not working rn

fading saffron
#

I have a question, I am trying to make a custom widget spin wheel that users can win loyalty points from but I cant find any info or help on how to access loyalty point inside the widget javascript, can anyone help me? Thanks

devout berry
#

hey there i got a problem where i try and edit a overlay i chosen and i come across with a error message saying 'Overlay does not exist'

severe shell
devout berry
#

@severe shell

#

thats the error

nova monolith
#

has any one got the Current Steam Game Widget working i have done want its says but it just say loading and no info comes up

severe shell
solid yacht
#

hi guys. i'm from Malaysia. joined here for quite a while but i never chat anything before. apologize if i'm in the wrong section.

but i'm here to find custom codes for facebook livestream custom 'event list' widget. (i'm trying to create my own simple 'event list' design through HTML/CSS/JS/FIELD/DATA)

please note:
i've only started learning these coding few days ago πŸ˜‚ so, i only know how to do basic containers and texts inside them.

what i'm after:

  • JS section codes
  • FIELD section codes
  • DATA section codes
    but, if you guys can provide all sections also would be great! thank you so much
#

i'm looking for the codes for this.. (but for facebook)
the image is showing codes for YouTube Subscribers.

i'm look for codes for
Facebook Follower/VideoShare/VideoLike/StarDonation

severe shell
# solid yacht hi guys. i'm from Malaysia. joined here for quite a while but i never chat anyth...

Hey seantrace, that's good you are starting on that! My suggestion is that you have a look at #widget-share and import some of the widgets from there to your own Streamelements so you can check all the code it is used. One more thing is to have a look at the Overlay Editor documentation here: https://github.com/StreamElements/widgets/blob/master/CustomCode.md
It will provide you some useful things you can use on your own code.

Most of the widgets are usually for Twitch (because it is more popular), but many of them will work fine on Facebook, Trovo, etc etc. Maybe you will need to tweak one or other part to get data from Facebook (so you can check the overlay editor documention for that) but most of the things will be good.

severe shell
nova monolith
quaint haven
#

can help me for sign in my streamelement

solid yacht
spare basin
#

When I go to add an overlay to OBS, it won't work. I go to stream elements, select my overlay, hit save, copy the URL, and then paste it in the browser section of OBS. Although, when I click ok, nothing happens. What is wrong?

uneven oxideBOT
#

@spare basin ‡️

To add your overlays to OBS, add a new browser source in your scene. Paste your overlay URL in the browser source properties, set the dimensions to 1920x1080 (unless you changed them on the website) and check Shutdown source when not visible as shown in this GIF: https://imgur.com/a/2JhJD0S

frail veldt
#

Do we have access in custom widgets to the new Twitch /announce feature text?

hardy walrus
#

Considering we don't have the ability to use within chat yet I doubt it.

#

And I mean that from using the bot to announce.

frail veldt
#

That's what I was figuring. I have an overlay that served a similar purpose and was hoping I could combine the two.

Someday... πŸ˜„

opaque wasp
frail veldt
opaque wasp
uncut patio
#

Hello, is there a way to detect when a overlay gets unloaded?

fading saffron
#

Is there a way to access loyalty points within a widget through javascript?

graceful pine
#

Hello @static wigeon I am a bit angry, I have asked you, told you to take away "the extra owner" Sparsetoast on my account. Nothing happens!!! Take away this from my account, if you can not do that so close my whole account at Streamelements right now. I do not want it on my account.

#

I really like SE so I will start a new account if you erase the present.

#

@mortal knot

#

@onyx mural

subtle imp
pulsar willow
#

${time.TIMEZONE} command variable is not accurate/doesnt work for most Timezones

round turtle
#

Hello!
I'm having an issue where alerts don't trigger for certain users. Works for everyone else, but some viewers can't seem to trigger the alert no matter what they do. Has been an ongoing issue for over a year. Any chance you know what may cause this?

hardy walrus
#

@round turtle Got usernames I could look at?

round turtle
cunning ore
#

can someone help me with my problom

round turtle
hardy walrus
#

FingerGuns Figured as much

cosmic zenith
#

Hello, I'm not seeing more than 3 widgets in the widgets gallery. Is this by design? Every piece of information I've found about SE says that there are a whole bunch

hardy walrus
#

@cosmic zenith unfortunately that's the case atm unless you're specifically using twitch.

cosmic zenith
#

Okay, so that's normal. That's fine, I just wanted to know if there was something wrong, or if there was a pay tier that was assumed.

#

I only set it up with FB because I wanted to screw around with it

surreal leaf
#

i have a question abou the stream starting countdown

#

am i right here?

surreal leaf
#

how can i set the countdown?

#

its stuck on 10 min everytime i start the laayout

severe shell
severe shell
sharp shadow
#

hi i am trrying to disconnect my account from youtube so i can stream on twitch, and no matter how many times i disconnect from youtube it sends me back to it even after connecting to twitch

elfin arch
sharp shadow
#

in obs

elfin arch
#

are you using SE.Live? click the StreamElements menu and logout

uneven oxideBOT
#

StreamElements menu, on top of OBS > Logout > Login

sharp shadow
elfin arch
serene knoll
calm summit
#

Hey guys,
is there a guide on how to set up an overlay that I can simply share with someone through a link? (They open the link and get into the editor to set it up for themselves and use it on their own account). Or a question before that - is it even possible for me to set something like that up?

hardy walrus
#

Do not share that link

calm summit
#

@hardy walrus what was it? Clicked on the upper streamelements one, just showed a black screen

serene knoll
#

Explain why

hardy walrus
#

For security reasons.

serene knoll
#

Ok

uneven oxideBOT
hardy walrus
#

You have to either get an invite to copy it yourself or give them the widget codes if entirely custom widgets.

calm summit
#

So basically get invited as an Editor and then copy it onto their profile

hardy walrus
#

Yes

calm summit
#

Right, appreciate it

serene knoll
#

Become a CodeGuru! form is not up to date in these case. Note Jsfiddle deleted and forked

severe shell
covert mural
#

Hello everyone, I'm using HypeBoss Alert in StreamElements overlays, I want to use "Increasing HP" game mode, but I can't find a way to change the value of the HP increase. I notice that the boss gain 10% HP more than the previous one, but I want him to increase 25% HP more than the previous. Is there a way to do that, even if I have to code over it, it's not a problem for me. Thanks in advance πŸ™‚

severe shell
#

You would need to create your own widget for that from scratch, if I'm not mistaken

covert mural
#

Okay, thanks for your time, I think I will edit the boss's HP each time one he's defeated, it's will be easier ^^

surreal leaf
sullen panther
#

Can any developer help me with a question?

uncut patio
#

Hello, how can i reliably get the follower count of a streamer in my overlay?

surreal leaf
haughty trench
#

Is it possible to increase the limit for the GET and PUT requests for kvstore(SE_API.store), and if so what's the procedure?
Please do ping me if you answer me

craggy quiver
#

Hi

cunning grail
#

Anyone knows how to execute certain events in the JS if the overlay is reloaded?
I want the overlay to turn black for a few seconds when it reloads. I already have everything, I just need something like "if overlay reloads then execute{code I already have}".

winter sparrow
#

why is se pay only in us?

uneven oxideBOT
#

@winter sparrow ‡️

SE.PAY is available for streamers who are at least 18 years old, with bank account under their name in one of the following countries, and have at least 101 followers (Twitch/Trovo/Facebook) / 101 subscribers (YouTube):

Austria, Belgium, Czech Republic, Denmark, Finland, France, Germany, Ireland, Italy, Netherlands, Poland, Portugal, Slovakia, Spain, Sweden, Switzerland, United Kingdom, United States.

If you meet these criteria and don’t see SE.Pay, let us know.

For information on SE.Pay payment methods, their fees, and settlement times see https://streamelements.com/dashboard/tipping/fees

hardy walrus
#

And you don't meet any of those requirements.

winter sparrow
#

oh ok

#

btw how do i change the currency of donation alerts and donation goals?

odd inlet
#

can anyone tell me how variation works?
I have setup a custom widget for follow alert that renders a simple CSS of my choice.
after that I created variations which uses different images.

How does the chances work?
and what about the original one?

what is:
amount
chance
and how does the selection work

cunning grail
# cunning grail Anyone knows how to execute certain events in the JS if the overlay is reloaded?...

Figured it out. Just no condition; this will execute it once when the overlay is reloaded.

const HTML_top = document.querySelector('#top');
const HTML_msg = document.querySelector('#msg');
const HTML_right = document.querySelector('#right');

//no condition here
HTML_top.style.opacity = "1";
HTML_msg.style.opacity = "1";
HTML_msg.style.left = "20px";
HTML_right.style.opacity = "1";
setTimeout(() => {
  HTML_top.style.opacity = "0";
  HTML_msg.style.opacity = "0";
  HTML_msg.style.left = "1920px";
  HTML_right.style.opacity = "0";
}, 10000);```
celest lintel
#

Hello! Hope everyone have a great weekend. I have a small question. Is there a way to delay the output of a custom command in chat bot?

hot trout
#

@cunning grail that'll do it after 10 seconds though, but you can also use the onWidgetLoad event

cunning grail
#

Nah it shows it and then hides it after 10 seconds because it is hidden at the beginning (CSS) and then shown when the script starts, and hidden again after 10 seconds

hot trout
#

yes you flipped it around, showing after 10 seconds

#

but I meant you can do it instantly on load by using js window.addEventListener('onWidgetLoad', function (obj) { // stuff to do here });

elfin arch
#

πŸ‘ @hot trout is 100% correct

cunning grail
hot trout
#

ah if the 10 seconds is part of your concept then sure, setTimeout is correct

elfin arch
#

whatcha making @cunning grail ?

cunning grail
#

Now live (German), you can just take a look at the overlay

devout axle
#

Hi, I'm making a widget for a friend streamer that will interact with loyalty points. Best way for what i've understood is to make a SE API application request, but the thing is that it's not an a "real" app, it's just a SE widget. Does my request still works ? Should i apply under my account or my friend's account ?

agile musk
#

Hi guys I hope this is the right channel for this, does anybody know how to get/make a widget like the ones in the pictures that shows the latest cheerer, subscriber, tipper, sub count (I would love to be able to set a sub goal too), channel picture, and a hype train counter? I’ve been looking online so much but they always have something missing. I would love it if it could include the alerts too so the themes would match instead of having a separate ugly alert box. If I can even find a sample code (I assume these widgets are made with html codes) I can work on customizing it further. I would appreciate any help. Sorry for the long message ❀️

severe shell
# devout axle Hi, I'm making a widget for a friend streamer that will interact with loyalty po...

If you are just doing it for a few friends that you can handle it, you don't need to apply for that. The application is just for oAuth2 credentials. In that case you could use JWT token, instead.
Or your friend can connect to jebaited.net website, which they can connect their SE account and have the channel points with a token, and in case the token gets leaked, you can revoke it and generate a new one (safer than using JWT). I posted some instructions on how to use jebaited.net website, it was for botMsg, but you can use almost the same steps for addPoints feature: #dev-chat message

However, if you still want to apply for oAuth2 credentials, you go for it using your own account. Your friend will connect their account to your application once you when you have it.

severe shell
proud spade
#

When using the Time API here: <#helpdesk-twitch message>, if the timezone is set to "Australia/Brisbane" then the short timezone name is GMT+10 instead of the expected AEST. The long timezone name still shows Australian Eastern Standard Time as expected. When using "America/New_York" the short and long timezone name show EST and Eastern Standard Time as expected.

pulsar willow
#

hi nned help with soemthing

severe shell
# agile musk Hi guys I hope this is the right channel for this, does anybody know how to get/...

Latest cheerer, subscriber, tipper, sub count and sub goal you can get it directly from Streamelements Overlay Editor default widgets, just need to click on + symbol and select what you want.
Channel picture you can get on this endpoint: https://api.streamelements.com/kappa/v2/channels/<channel_name>. Key "avatar" will give you the link

Regarding the hype train, I believe that will need the authentication from Twitch, don't know if there is a way to have it without authentication (using documented information)

severe shell
lusty breach
#

Hey so I need a developer to help merge my setup to a slider on my layout.
All the stuff on the right to the left with my slider addon.

Can anyone help on this with me? I have no experience.

lusty breach
#

Here's the slider.

devout axle
short trout
#

I'm trying to do a bit more advanced stuff with my chat commands using regex but I'm having some issues.
Is it possible for the bot to reply to a command only when the passed argument is between 2 numbers?

Like if the limit is 1 to 10 and the user types "!test 5", the bot replies.
But if the user types "!test 16" the bot does not reply (or reply something different).

opaque wasp
hot trout
#

@short trout not really; for a small range of numbers you could use or operators (like 1|2|3|4|etc) but that gets unwieldy real fast

#

regexp is a string processing function that doesn't really do numbers, so you can only do checks on numbers that involve the characters as written

#

in the case of 1-10 you could use [1-9]|10 too

short trout
hot trout
#

Add the command in too

#

Preceded by ^

mortal wagon
#

So this isnt java related but hope its okay to ask

So im learning to code right now and im on CSS flexbox's, Why would align-center squish a box, without it it fills the container but why would it squish, just trying to understand and its racking my brain

  header .follow-btn {
    display: flex;
    align-items: center;
    margin: 0 0 0 auto;
  }

With: http://thecynicalkitty.com/s/220411165634.png
Without: http://thecynicalkitty.com/s/220411165649.png

Anyone able to help me understand, as I want to learn.

From freecodecamps lesson here: https://www.freecodecamp.org/learn/responsive-web-design/css-flexbox/use-the-align-items-property-in-the-tweet-embed

hot trout
#

@mortal wagon are you using chrome and are you familiar with its web inspector

#

I find it incredibly useful to figure out exactly which of the justify/align properties you need to do what you're looking for

#

specifically this button

#

(also exists for grids)

mortal wagon
#

I found the reason, Its because

    align-items: center;

default value is stretch πŸ™‚ and applying center changes that

#

just didnt know its default value or what was changing the size

#

thanks though guys

long pawn
#

Hey, i was digging around the docs but wasnt finding anything in that regard so i'm asking here if there is any way to log or even send command edits via the API?

#

so instead of using the twitchchat or the webdashboard

raven verge
#

Is there a way that alerts that SE would pop up with can be sent to Lioran Board so I can have it change something when the alert comes in?

#

I'm thinking of one animation that's always there then when an alert comes in, it changes to a different one

proud spade
#

@sturdy cedar In Google Chrome make sure you're logged in to Stream Elements, open up the console and paste this in. It may take some time to run, so be patient. THIS WILL RESET THE WATCHTIME FOR ALL USERS AND THERE IS NO WAY TO UNDO / REVERSE IT:

let channelId;
function getCookie(cname) {
    var name = cname + "=";
    var decodedCookie = decodeURIComponent(document.cookie);
    var ca = decodedCookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') {
            c = c.substring(1);
        }
        if (c.indexOf(name) == 0) {
            return c.substring(name.length, c.length);
        }
    }
    return "";
}
const jwt = getCookie("se-token");

const getChannelId = () => {
    return new Promise((resolve, reject) => {
        fetch(`https://api.streamelements.com/kappa/v2/channels/me`,
            {
                "headers": {"authorization": `Bearer ${jwt}`}
            }).then(resp => resp.json()).then((data) => {
            channelId = data['_id'];
            resolve(true);
        }).catch(() => {
            reject('Cannot get channelId');
        });
    })
};

const acceptRedemptions = () => {
    fetch(`https://api.streamelements.com/kappa/v2/store/${channelId}/redemptions/search?from=2018-06-01T07:38:48.243Z&limit=100&offset=0&page=1&pending=true&searchBy=redeemer.username&sort=%7B%22updatedAt%22:-1%7D&to=2021-06-01T07:38:48.243Z`,
        {
            "headers": {"authorization": `Bearer ${jwt}`}
        }).then(resp => resp.json()).then((data) => {
        for (let i in data['docs']) {
            fetch(`https://api.streamelements.com/kappa/v2/store/${channelId}/redemptions/${data['docs'][i]._id}`, {
                "method": "PUT",
                "body": "{\"completed\":true}",
                "headers": {
                    "authorization": `Bearer ${jwt}`,
                    "content-type": "application/json;charset=UTF-8",
                    "accept": "application/json, text/plain, */*"
                }
            });
        }
        if (data['_total'] > 100) {
            setTimeout(acceptRedemptions, 10000);
        }
    });
};
getChannelId().then(acceptRedemptions);
green prawn
#

Hello, I am using the Coca chat box, I would like to know if the background can be colored with the color of the nickname of each twitch user

gloomy kestrel
#

@gilded meteor ^^^^

pale raven
#

Stuck in update loop. Hello I opened up StreamElements and it said it needed to update. I clicked on the update button and am now just getting the same update request everytime I open it. I tried reinstalling and it did not work Here is the update window that pops up

uneven oxideBOT
#

@pale raven ‡️

Download the OBS installer from their website: https://obsproject.com
Download the SE.Live installer: https://streamelements.com/selive

Install OBS without letting it run after completion.
Install SE.Live and run after finishing (No need to check the OBS option).
Disconnect and reconnect your account in OBS Settings > Stream.

uncut patio
#

Hello, i tried getting some information using the Kappa Api, with this code in my overlay: javascript let apiKey = obj.detail.channel.apiToken let channelId = obj.detail.channel.id fetch(`https://api.streamelements.com/kappa/v2/sessions/${channelId}`, { "method": "GET", "headers": { "Content-Type": "application/json", "Authorization": `apiKey ${apiKey}` } }) .then(response => { console.log('success') console.log(response); }) .catch(err => { console.error(err); }); but i got this weird response... what am i doing wrong?

solid grail
#

Hello i am trying to make a custom chatbox on the streamelements but doesn't know how to share it to my friend, can anyone tell me how to convert the link to strms.net? @here

opaque wasp
solid grail
opaque wasp
solid grail
#

thank you so much for the information!

solid grail
opaque wasp
solid grail
severe shell
# uncut patio Hello, i tried getting some information using the Kappa Api, with this code in m...

You have to add another .then after the first one

  let apiKey = obj.detail.channel.apiToken
  let channelId = obj.detail.channel.id
  fetch(`https://api.streamelements.com/kappa/v2/sessions/${channelId}`, {
    "method": "GET",
    "headers": {
      "Content-Type": "application/json",
      "Authorization": `apiKey ${apiKey}`
    }
  })
  .then(response => {
    return response.json()
  })
  .then (res => {
    console.log(res)
  })
  .catch(err => {
    console.error(err);
  });
severe shell
rustic crag
#

can anyone explain to me how to get my gamecapture to work on OBS?

severe shell
rose sapphire
#

good morning, has the open editor button been moved somewhere else, i cant edit my widgets today

severe shell
rose sapphire
#

ty

broken edge
#

Hi all, so I have an odd one for you. I recently switched my name on twitch. Now it seems that my alerts, chat on stream, and a few other small things seen to not be working. How do I fix this?

hardy walrus
#

@rose sapphire Refresh.

rose sapphire
#

wonderful, thank you

opaque wasp
broken edge
static badge
#

Can you get custom bars made and use them through SE Editor ? For like bits or subs

opaque wasp
#

OMG this should be sponsored, I never heard about it before and I already developed a good amount of widgets Sage

opaque wasp
opaque wasp
#

Is there a way to catch Stream Store Perk's Approve/Deny and Refund events into a Custom Widget?

Also, is there a way to Approve/Deny and Refund reedemed Perks via API? I checked on the SE APIs docs, didn't find anything similar to what I'm looking for, not even /:channel/redemptions/ seems to be helpful.

dire horizon
#

Hello! I have a question concerning streamelement counters. Would it somehow be possible to keep track of the counters used in chat? Like some sort of command that responds with a list of all the active counter variables. It also would be enough for me to just have a list in an external source, inaccessible through twitch chat.

#

I have asked in #helpdesk-twitch before and got told to ask again in this channel

faint drift
#

Could someone create and design your own goal bars and use them?

faint drift
broken coyote
#

Im not sure how to answer that. im not sure we are on the same page lol.

#

to create your own, you should need to custom code it with html/css/js

faint drift
#

I want to design and create my own goal bars if possible.

#

That’s what I want to do/need

#

If it’s possible, I’m a oil rig worker and not a coder. Is there a place to find someone who I can commission to do this?

broken coyote
#

fiverr is where i normally recommend. or you can hit up places like nerd or die or vbi for pre-made stuff

faint drift
#

No one here can do this? Just curious.

broken coyote
#

i cant answer that.

#

iunno who is and who isnt doing commissions

pulsar willow
# faint drift No one here can do this? Just curious.

There are some goal bars in #widget-share.
You can inspect (and change) the code, after you added the (custom) widget to your overlays.
This might give you a good idea what is possible and how it is achieved (as MrBoost already said, this involves HTML, CSS, JavaScript and JSON).

Afaik there is also the option to use a regular bar widget, but apply custom CSS to it (didn't try it myself so far).

faint drift
#

I actually have no idea what any of that means.

#

Lol

#

I assume the answer is just no? A custom bar is not achievable?

pulsar willow
faint drift
#

Ohhh great! Yes, I prefer to have something super custom. So if anyone wants to dm for a commission, I would love that!

marsh fog
#

is there any call limit on jebaited.net when im using the add points api?
because i want to add points to multiple users under a short time, but not to all the users

hardy walrus
#

@viral patrol ^^^^^^^

marsh mantle
#

Hey, is there a way to create an animated sub goal and how do you create the "animation"

#

Particles?

hollow coyote
#

I'm having troubles with my alerts, every time I try to make a sub and cheer alert it doesn't work and I've tried everything, please help!

heady burrow
#

Not sure if this is the right channel for this, if not please let me know.
Does anyone know if there is a plugin or some other method that will allow you to apply a chroma key to a stinger transition?
The idea being when your transition begins your current scene could shatter or dissolve to your full screen logo with a background, then the animation would reverse except when the animation reenters the frame the new scene would be the one getting keyed. Here is a simple version of what I'm describing if it will help to understand my meaning.

opaque wasp
agile musk
hot trout
#

@heady burrow google "obs track matte"

#

also, it's not a development question no

#

also tbh that just looks like your standard stinger, not even a track matte

#

stingers can have transparency so you don't even need the chroma key

hardy walrus
#

Actually hold 1

elfin arch
#

that is correct. but make sure you sanitize the text first with the SE_API.sanitize(

rare canopy
#

hey guys, is there any way of see if user is subscriber on the chat event listener?

opaque wasp
rare canopy
#

ok, i have tried this
"badges": { "broadcaster": (user === userOptions["channelName"]), "subscriber": parseInt(data.tags.subscriber) }

#

but the subscriber badge is the same as the founder one?

#

I mean,can I use something like "if(usertate.badges.subscriber ==1)" and get the subscribers and founders??

opaque wasp
pine tundra
#

Hey all, trying to remediate the latest wave of "example .com [remove the space]" bots and thought it would be fairly easy with the regex banned phrases. It appears that im either missing something or doing something wrong though.

Regex im trying to use \b[a-zA-Z]+\s.com

#

In theory that should be any word plus space .com

hardy walrus
#

@pine tundra Seems you've met my friend here KEK4K

pine tundra
#

hahaha absolutely have

hardy walrus
#

Unfortunately gotta leave you hanging as I can't answer it sadge

pine tundra
#

No worries, kind of the last effort before moving on. There isnt much for documentation other than using RE2 and zero error checking so πŸ€·β€β™‚οΈ

hot trout
#

I put those things in my twitch banned phrases list

#

no reasonable person is ever going to say something like "buy followers" or "primes" so just put that in and no one can say those words

#

though you may want to not put primes if you're a math-themed channel

pine tundra
#

Yeah probably the simplest solution at the end of the day, would love to get to the bottom of why my regex doesnt work though as I could build it out further and not mess with regulars/subscribers/etc

thorn crag
next osprey
#

What is the minimum system requirements for streaming?

hardy walrus
#

@thorn crag From what I was told that unfortunately is "intended" and neither of those actually exist.

#

Well work at least

severe shell
thorn crag
#

That's really a shame. Wonder how ground control does it. I really don't want to install SE.live to pause via Stream Deck

severe shell
thorn crag
lunar isle
#

Hello, I am trying to insert an information text into my stream overlay, which can be changed with a command. I had the idea to try it with a custom variable, but couldn't create a working command. does anyone have an idea?

opaque wasp
lunar isle
#

And how does it work?

opaque wasp
cunning grail
#

Hey guys, I want to share an awesome AlertBox I made, but it uses the library ParticlesJS for some big alert variations (where the library code is locally in the JS). Is this allowed? I'm not sure so I'm asking.

nova rock
#

Oops. @cunning grail have you tried loading it from a JS CDN?

spring basin
#

i have a question about streamelements website/dashboard and commands

elfin arch
#

(i?)(h+e+y+)

#

the (i?) is for ignore case; then any number of h e y

opaque wasp
spring basin
#

i was pulling my hair out

elfin arch
spring basin
# elfin arch no problem πŸ™‚

just one more quick question, how can i add another word like "hello" or "hai" maybe.. (side note: i just realized with this regex i don't even need the command keyword "hey" for it to work, which is greatπŸ‘) do i do it like so?: (i?)(h+e+y+) (h+e+l+l+o) (h+a+i+) or do i need to add (i?) infront of each parentheses?

#

also if i dont make any sense please feel free to ask me to elaborate πŸ˜‚

nova rock
#

No, wait. I reread that β€œthis rule doesn’t affect known JS CDNs”

#

Guessing cloudflare is okay, but your own cloudfront cdn is a no-no

elfin arch
spring basin
nova rock
#

Wouldn’t (I?)(hey|hello|hai) work, or is rego re2 weirder than I thought?

elfin arch
#

but i guess, could make the 'h' common and do (i?)(h+(e+(y|l{2}o)|a+i)) ....

spring basin
#

i tweeked it a little for the hey and hello (i?)(he+(y|l|o))

#

which covers helllllooooo etc

spring basin
elfin arch
#

with all things regrex; you'll find a mistake and it will trigger on something random and you'll need to adjust πŸ™‚ but this is a good place to start

spring basin
#

so if i decide to add another greeting word ie; yo or wassup do i use | to separate them and then tweak which character to make common from there or am i getting too complicated to where making another command would be better

spring basin
elfin arch
spring basin
jagged viper
#

Not quite good with javascript so I thought to seek help here. I am using this widget in my overlay (#widget-share message by @nocturne gust )
The widget only seems to trigger an image with an exact character match in the chat, for example !image will work but !image @username would be ignored. Would love some help on how to change this so it would accept partial matches. Thank you ❀️

excerpt of the js where i assume this can be adjusted...
` //validate the object
//make sure that the event is a chat command
if ((obj.detail.listener !== 'message')) {
// console.log("Event is not a chat message.")
return;
}

//make sure that message exists and is trying to be a command
let data = obj.detail.event.data;
if (!data.text.startsWith('!')) {
    // console.log("Chat input is not a command.");
    return;
}

if (data.text.length <= 1) {
  //  console.log("input is only a single !");
  return;
}

let input = data.text;

// console.log(input);
index = userConfig.findIndex(x => x.trigger === input);
// console.log(index);

if (index !== -1) {
    console.log(coolingDown);
    if (coolingDown) {
        console.log('still cooling down from the last image update');
        return;
    }

    let commandCooldown = userConfig[0].commandCooldown;
    let resetCooldown = userConfig[1].resetCooldown;`
cunning grail
craggy quiver
#

a

nocturne gust
tame valve
#

Hey guys!
Not sure if this is the right place to ask, but:
Is there a way to set up alerts, where one alert plays one random video from a selection, other than having to duplicate as a variation and change the video for each variation?

opaque wasp
opaque wasp
storm vigil
#

Hello everyone. I experience in programming (python, java, c++), as I use it for my research, but I don't have any experience with API's and web interfacing. If i want to read new events (followers, donations, subscriber etc), not inside a streamelements widget but in a external app, I need to go through the OAuth2 process right?

hardy walrus
#

Do you plan on doing things for other users or just yourself?

storm vigil
#

Others. What would change if it was for just myself?

hardy walrus
#

It would be the best way yes.

storm vigil
#

Thanks!

#

Related, is there a way to have dummy tokens to first test out everything before applying for the OAuth2 credentials, meaning I would like to just use it with my twitch account first as a try, but because I'm not sure it is a project I will finish I'm not sure it makes sense to fully apply

jagged viper
hardy walrus
#

@wicked hatch omegalul

#

Not that I can help you but ask away here and someone for sure can.

#

Though looking at widgets within #widget-share may help a little as well.

paper spade
#

hey, is it possible to use https requests (https:// tmi.twitch.tv/group/user/<STREAM>/chatters) inside the streamelents custom widgets?

opaque wasp
proud spade
#

You need single quotes around every option, with a space between options, and no text between options, and no answers with single quotes in them.

e.g.: ${random.pick '1' '2' 'rare pepe' 'this is a long option that has lots of words'}

#

Should be okay, yes

exotic lagoon
#

thank you !!!!

spice cypress
#

is babel working on stream elements?

hardy walrus
#

Um what?

spice cypress
#

is babel js working if i use in stream elements

hardy walrus
#

Ah. I'll leave that to someone who can answer that.

crude prawn
#

hello guys, i'm new to SE and I got some trouble on how to display custom youtube membership emotes on chat boxes, is there any way to do so or it's just not supported yet?

mystic crypt
#

Where do i find info about creating/upload/testing a widget ? A beginner guide sort of.. Ive just picked up coding again after 8 years of.. uhm.. doing nothing lol

mystic crypt
exotic lagoon
#

no space?

mystic crypt
#

never tried with space between .. and it worked

exotic lagoon
mystic crypt
#

weird

exotic lagoon
#

πŸ₯²

mystic crypt
#

try this line if it works.. backup yours first.. maybe its something with your characters ${random.pick 'test1''test2''test3'}

exotic lagoon
hardy walrus
#

Is the stream public?

exotic lagoon
#

yes

mystic crypt
#

not the same command

exotic lagoon
mystic crypt
#

does this work on Youtube ?

#

btw

#

twitch no problemos..

exotic lagoon
mystic crypt
#

I'm sorry but i cant help you further.. lets wait for a pro πŸ™‚

exotic lagoon
#

sorry ty

mystic crypt
#

I wanna do a own cutom widget.. css, html, js etc.. where do i upload it so i can test it ?

static sequoia
#

Good morning. Assuming I have the watchtime data from StreamLabs or any other service, is there a way I can import that to StreamElements, possibly through an API since it would be a proprietary format? The watchtime API seems to be read-only.
Thank you in advance!

mystic crypt
hardy walrus
#

Yes and no.

mystic crypt
#

Im sitting at my desktop with my own htm and js files atm. Tell me more πŸ™‚

exotic lagoon
versed verge
exotic lagoon
#

The bot doesn't move

proud spade
mystic crypt
proud spade
proud spade
uneven oxideBOT
exotic lagoon
proud spade
#

Yes

exotic lagoon
#

Can I erase it?

proud spade
#

There is no need to, but if you wish, you may

exotic lagoon
#

ok

uneven oxideBOT
#

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

serene trail
#

Hola borre mi cuenta.

#

Necesito ayuda.

#

Por favor.

tropic current
#

@viral patrol hi and sorry to @ you, but i can't get the "Latest YT Video" widget to work. I made a new overlay just for the widget and paste the link to OBS, but i get always the message "an error occurred retrieving videos for channel ...". the Channel ID is correct added on the widget. i found an older topic here about the problem, but i don't understand exactly what the guy did and solved that. I hope you can help me. Thanks

uneven oxideBOT
#

@rare heron, posting multiple links will result in not being able to post again.

marsh fog
mystic crypt
# hardy walrus Yes and no.

Do you know where i can find tutorial about these tags {{widgetAuthor}} etc. and how i upload complete htm and js files ?

#

so i and others can customize my widget in streamelements editor later

pulsar willow
mystic crypt
#

Great.. thanks

#

That was a to high doorstep for me 😦

pulsar willow
# mystic crypt That was a to high doorstep for me 😦

Basically {{variable}} and {variable} are replaced with the value of the field with the same name ("variable" in this case).
This takes place before any execution happens (afaik) and is true for the HTML, CSS and JS documents.

Fields that start with "widget" are reservered for documentation purposes (you can still use them, but there is a risk that in the future they might get an additional meaning).

graceful topaz
#

Hoping this is the right spot for this. I'm in the process of trying to add end credits to my stream and noticed there are a few less options for the end credits then SLOBS has, I have no intention of going back to SLOBS and was wondering if there anyway to add the Moderators and users that were in chat for the end credits as well?

exotic lagoon
spice cypress
#

did stream element having a bug right now?

mystic crypt
#

Think i know what article your read - I have read the same and ended up here thanks to that πŸ™‚

spice cypress
mystic crypt
graceful topaz
mystic crypt
#

Im pretty sure i had one once with mods and all that i could edit in streamelements.. but i cant remember where i found it

#

I think, since im logged in on my youtube profile i see less options in the overlay/widget section on streamelements

still juniper
mystic crypt
#

@graceful topaz I will let you know if i find something that fit your needs

still juniper
# thorn crag Hey guys, just a quick question. Did one of you got it working to pause/play ale...

@thorn crag @severe shell @hardy walrus I'm late to the party, but better late than never I guess. There is a way to do it, but not that pretty. You need to combine a call to the kvstore endpoint + emit a websocket event. With the first one, you achieve persistence between reloads, and with the second one overlays are notified and updated instantly.

  1. curl 'https://kvstore.streamelements.com/v2/channel/channelId' -X 'PUT' -H 'authorization: Bearer yourToken' -H 'content-type: application/json;charset=UTF-8' --data-raw '{"key":"alerts","value":{"muted":false,"paused":true}}'
  2. socket.emit('overlay:togglequeue', false)

(same applies to muting/unmuting, only socket event is socket.emit('overlay:mute', {muted: true}))

As for the documented public endpoint not being intended to work... welp, to me it's just they didn't bother to update it when they updated the internal stuff. Otherwise it wouldn't be documented, it definitely wouldn't return a correct 201 code, and it wouldn't be effectively sending the old websocket related event (overlay:action). It does work, it's only that it's plain outdated internally

thorn crag
graceful topaz
graceful topaz
static sequoia
static sequoia
#

Hello. Do I need to fill the SE application form just to get the OAuth credentials to use the API?

#

It asks for a lot of details not relevant to a lot of us, like website, application logo, etc

severe shell
severe shell
still juniper
#

yeah yeah, I just quickly copied the curl from the inspector for reference πŸ˜„

static sequoia
nova hedge
#

For the websockets test events it doesn't seem like Facebook events are going through anymore. Any idea why this may be?

thorn crag
echo wyvern
#

Has anyone figured out a way to add in and out animations to a basic chat widget in Streamelements? I just want to add a simple 'Slide in' and 'Slide out' to my chat box

lavish summit
#

is there a way to save my cloud backup overlays + scenes locally?

severe shell
exotic lagoon
#

The bot doesn't move

elfin arch
exotic lagoon
#

sorry It doesn't work even if I change it

elfin arch
exotic lagoon
# elfin arch can you post that response text here? then I can copy it can give it a quick tes...

${random.pick 'P2020''RE45γ‚ͺγƒΌγƒˆ''R99''R301カービン''γƒ©γƒ³γƒšγƒΌγ‚Έ''3030γƒͺピーター''γ‚¦γ‚£γƒ³γ‚°γƒžγƒ³''プラウラー''γƒ˜γƒ γƒ­γƒƒγ‚―''LSTAR''γƒγƒœγƒƒγ‚― ''ディヴォーション''ヒアンビーク''γƒžγ‚Ήγƒ†γ‚£γƒ•''EVA8γ‚ͺγƒΌγƒˆ''センチネル''チャージラむフル''γƒˆγƒͺプルテむク''ピースキーパー''γ‚ͺルタネーター'}

exotic lagoon
#

you tube?

elfin arch
# exotic lagoon

I tested in Twitch. I'm not familiar enough with how the bot works when using youTube. Are you live when testing?

exotic lagoon
#

yes.It's also open to the public

elfin arch
#

I had to add SE as a mod; but your command is also working on youTube:

exotic lagoon
#

Yesterday's delivery

uneven oxideBOT
elfin arch
#

And then check your chat on the youTube website.

exotic lagoon
#

join channel complete

elfin arch
#

That should hopefully fix it. If not then i'm not sure. That was the first time i ever used the SE bot for youTube. I had to make it a moderator first like the instructions said and then it worked.

exotic lagoon
#

ok thank you

real furnace
pulsar willow
severe shell
# nova monolith ok thanks for the reply i will keep checking

Hey Greywizz, sorry for the late reply, but we talked to the developer of Current Steam Game, found a solution, sent to approval and now the widget is now working. You just need to install it again from #widget-share and it will have the new code.
And if you need instructions to get your Steam ID, you can get it from here:

stark field
#

Hey here, can't figure out what's the socket event name for donations?

willow plank
#

Hello there! What kind of timeout does the API call have in a command?

mellow hamlet
#

Sorry if I'm in the wrong area I'm a mod, ive recently switched over from streamlabs to obs studio, im now using streamelements and imported the overlay to obs studio at first the pop up alerts for likes, stars. popped up fine, now the box is in the middle saying new follower, liked, etc, the name is floating above almost at the top of the screen when someone likes or shares, etc.

nova monolith
hollow ledge
#
You've added to the CURRENT count to total it at ${count current +${1}}
#

This doesn't work to add a quantity to the counter?

severe shell
hollow ledge
#

Thx

#

That worked!

severe shell
silk jay
#

SE Live keeps crashing OBS Studios. I am fully updated as OBS goes.. and i downloaded SE Live from the website but when I open OBS and the screen comes up asking me to sign in and link my account everything goes white and OBS closes by itself

severe shell
severe shell
silk jay
#

thank you @severe shell

wintry quiver
#

is there anyway to access the predictions data?

severe shell
wooden ether
#

Hello, where do I change the command to show the name of the user who redeemed the item in my store?

hardy walrus
#

@wooden ether Did you manually make that change?

wooden ether
severe shell
uneven oxideBOT
#

@grave breach, posting multiple links will result in not being able to post again.

midnight surge
#

Hey, is it possible to generate an alert on StreamElements using the API? I would like to send alerts from a NodeJS application to a Twitch live stream

twilit depot
#

Hello,
How do I use CSS to rotate the text for streamelements alerts? I am using stream elements overlays, I have a simple diagonal banner image I'm using and I cannot get the text for the alerts to line up with it. Apparently there is a way to do this with CSS but when I try to mess with it, I get a default dancing shark alert??

hot trout
#

@twilit depot when you enable custom css it overwrites the default code with that, you need to adjust the custom code to your liking

#

which it seems in your case just involves removing the dancing shark

#

after that you can apply a transform: rotate(Xdeg) to it in the css

#

though you'll want to translateY() it a bit too to move it down or the text will rotate partially outside the container

obtuse yoke
#

I had this originally in a different channel but maybe it is better here? IDK.

Hello! While trying to diagnose my NDI sources suddenly failing and acting as if they don't exist, I discovered StreamElements Browser sources causing a massive error in my OBS logs. I tried refreshing the sources, even creating a brand new scene with nothing else on it but the browser sources and 1 media file overlay, and it produces the same error. See OBS log attached, this is upon startup of OBS.

obtuse yoke
iron trellis
#

i cant seem to get my media share to work, it wont play on my stream

elfin arch
#

which is a HUGE no no.

still juniper
junior owl
#

Hi! I’m creating a bot for someone with a related overlay, curious if it’s possible to post data to a streamelements overlay custom widget from for example a node.js app

elfin arch
elfin arch
obtuse yoke
junior owl
elfin arch
#

ya; i donno how to bypass "script-src 'none'" if that is a run as Admin or need flag or ??

elfin arch
still juniper
#

so... until someone (aka devs) takes a look at that...

elfin arch
#

i can report it... if i know what to report.

junior owl
elfin arch
junior owl
obtuse yoke
#

My issue with it is when it happens, it lags out my OBS and I get the "OBS is not responding"