#dev-chat
1 messages Β· Page 3 of 1
The default streamelements one?
Yeah
I just want the background behind to be blurry
No clue if seeing that helps
Do you want the whole box, or just the chat lines?
I want the whole background behind the box to be blurred
This is the best visual example
In OBS, for custom CSS you can put
.twitch-chat {
background-color: rgba(255,255,255,0.3);
backdrop-filter: blur(10px);
}
I feel like I'm messing something up
background-color: rgba(0, 0, 0, 0);
margin: 0px auto;
overflow: hidden;
}
.twitch-chat {
background-color: rgba(255,255,255,0.3);
backdrop-filter: blur(10px);
}```
Is this how it's supposed to be?
Because it doesn't look right
Remove the background from the body
yes
Didn't change anything
body {
background-color: rgba(255, 255, 255, 1);
margin: 0px auto;
overflow: hidden;
}
Maybe?
In the widget editor, what color is the background for the chat?
If changing that to white doesn't fix it, I don't know.
It's white
This is the CSS
body {
background-color: rgba(255, 255, 255, 1);
margin: 0px auto;
overflow: hidden;
}
.twitch-chat {
background-color: rgba(255,255,255,0.3);
backdrop-filter: blur(10px);
}```
In the widget editor, can you use hsla(0, 0%, 100%, 0.10) for the color?
It should have
It's only called HSL
Or you can click the circle to the left and then click the HSL tab and click the transparent vertical bar on the right of the popup thing.
Not sure. It looks like it's grabbing black from somewhere and you're getting 70% black + 30% white.
Where is it coming from then?
Nvm. Just add opacity to it
Your body is adding black no?
Remove the color in body here
Just did but like last time nothing changed
https://codepen.io/thesemicolons/pen/RwyOGev is what I'm using to test. If you uncomment line 29 in the CSS section (remove the /* and */) it does what you're seeing.
Change your body { } background-color to transparent
body {
background-color: transparent;
margin: 0px auto;
overflow: hidden;
}
.twitch-chat {
background-color: rgba(255,255,255,0.3);
backdrop-filter: blur(10px);
}
Are the background and the chat on different sources?
Does changing body { to html, body { do anything?
I don't know any way to do it then, unless they're on the same source.
Starting Soon text is another thing too
How could I make it all one?
I don't think it's possible to put a video on the website like that
The problem is, even though the webpage it self is transparent, the browser tab isn't, so you're getting background from that.
And I guess there isn't a way to get rid of that?
nope
Okay
So what do I do to get it all on one source?
Because I feel like I can't add the video background
Yeah I can't
Just tried
30mb is the max file size
And it's 561mb
Is it possible to import a YouTube video to it?
is it possible for a custom widget configuration field (from JSON) to allow inputting a list (like for usernames)? IE I type a username, hit enter it adds the entry to the list, rinse repeat. Then in JS this would look like an array of strings
Is Jebaited Api still working for any of you? The api always returns "false"
i tried to reach out to lx earlier this day because of some questions about the service,but i was immediately shut down by the bot or the stuff(not sure) just because i mentioned his name. π
how can i send twitch announcements into the chat via the bots api? i tried to use https://dev.streamelements.com/docs/api-docs/1e22a4ed3ad16-channel-say but it doesn't work with /announcegreen. the message does get sent but not as an green announcement but actually as the text itself(/announcegreen).here is the example code from my request:
`const request = require('request');
const options = {
method: 'POST',
url: 'https://api.streamelements.com/kappa/v2/bot/XXXXXXXXXXXXXXXXX/say',
headers: {
'Content-Type': 'application/json',
Accept: 'application/json; charset=utf-8',
Authorization: 'Bearer XXXXXXXXXXXXXXXXX'
},
body: {message: '/announcegreen test'},
json: true
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});`
Color announcements aren't supported.
thanks for the quick reply. Aren't they supported by twitch or by the Streamelements api? Streamerbot can send color announcements, what are they doing differently? π€ tia
Are there plans to support color announcements in the near future?
hi i would like to know if there is a way to pull the username and profile pic of any chatter (not a shout out or anything like that) i would like to use this to welcome the first words of any chatter on my lives streams and all live stream and not just for first time chatter but all chatters please and thanks
ps: i dont know any kind coding like html or c++
I know this is probably a common question, but can you guys recommend some good tutorials or widgets to "copy"
I like to listen to a YT tutorial explain to me what he is programming and programm with him, but sadly when I try to look for tutorials online, they basically just show me how to add streamelements chat into a browsersource.
I'm interested in learning
- custom chatboxes/chatbubbles (with Wide Emtoes and showing Emotes bigger)
- sub/bits/donation goalbars
hey good morning i was with my firends and they accidentally delete my streamelemnts account directly eliminated i canΒ΄t log in so there is any way to get it bacck?
hello! I was wondering if there's a way to make a command to give loyalty to the one using it automatically (like a !first command).
i dont understand i need my account back plis
There is no way to recover an account once it is deleted.
fuck
Did you get a "Channel already claimed" message?
More than likely your accounts need to be merged! - Please note:
- Merging accounts allows for faster ways to switch between accounts
- Merging accounts allows duplicating/sharing overlays between the accounts
- Merging accounts does not allow data sharing between accounts - different streaming platforms, different type of events
If you understand the limitations of merging and want to proceed, please find the JWT tokens (!jwt) from both accounts you want to merge and fill out the form here: http://streamelements.com/contact with each token correctly labelled
You can find your JWT token on your account channels page (Show Secrets to reveal the token): https://streamelements.com/dashboard/account/channels
READ ME: This is a private security token. Do NOT share this token here or other public places, only with a StreamElements staff member in private.
I have a question about chat alerts during raids.
I want to enter userID, but both userID and userName are entered.
!raid {user}
Is there a way to enter only the user id?
Hey guys, how exactly can i "send" emulated shop purchases to my account/activity feed via the api? I know that i can send tips via https://dev.streamelements.com/docs/api-docs/7e632a4cecfe1-channel but how exactly can i do the same for shop purchases/items? I know that its possible cause @viral patrol does it at jebaited.net with patreon pledges (screenshot attached). I can't find the right api endpoint in the documentation. Would be nice if someone could point me into the right direction. Thx
How does one trigger emulated events via api at all? i cant find a real proper documentation on that subject. How do i trigger all the events from the overlay maker via the api???
How does one change password? I can get into my account on my phone via twitch login, but if I hit forgot password on PC it never sends me an email
There is no password, login is all integrated from other sites.
hello my widget data is not updating it just shows no data
cant help you really much but i searched around the server a bit and found this widget which might be the patreon thing you are referring to. also its from 2020 so its maybe outdated. But maybe @viral patrol can say something about that.
Maybe the code of it helps you:
https://streamelements.com/dashboard/overlays/share/5d565a9af876a34b54a3cbcb
also there was this comment from hectic (se staff)
if you connect to our api with OAUTH you can send us activities
we have an activity called Purchase made for 3rd parties, it may not fit patreon best but it will work
we're also working on a more general activity called "Event" that should fit
Thanks for the response Marvin βοΈ Yes this is indeed the widget i am referring to. The thing is that the widgets code doesn't really help much, cause all the webhook "magic" does happen on the jebaited.net server. Jebaited.net gets the webhook call from patreon, and then sends a purchase activity to Streamelements via some sort of API. the thing is that i cant find any documentation or reference on that subject. It's pretty hard to gain more info or knowledge on that kind of subject via this discord or the api documentation. It sounds like using OAUTH to send activities would be the thing i am looking for, but still not clue about how the right api call should look like to send activities, as i can't some examples or references in the api documentation. Maybe im just too blind to find the right in the api docs, not sure.
The API docs are very outdated and incomplete. I'm guessing they're using the activity POST endpoint (https://dev.streamelements.com/docs/api-docs/81a0174632320-channel-activity-id1), but you'll have to fiddle around to see what data structure it accepts (probably similar to that returned from the GET endpoint, in the best case scenario)
Thanks for the hints π Will probably take some time to figure this out. Getting access to oauth seems to be a struggle as well. π€―
Is there a way to trigger stream store redemptions via the api? I only found a way to list them or create them but none to trigger them π€
Is there a way to trigger !RAFFLE automatically when my scene auto switches to my BRB screen? I have a bot that says 'scene successfully switched to "BRB"', and have tried to use that as a command keyword. I can get the Streamelements chat bot to say !raffle but it doesn't actually activate the raffle. Robcdee, Cashmeow and a few other IRL streamers have this set up but I can't seem to figure it out!
@proud spade Any clue on any possible way it could be done?
Or did you run out of ideas for it?
Anyone having or had issues with the media player widget? Mine will start to play the music video, but after a few seconds lags out and no longer plays the music video or music. It'll play fine in the media request section on the website and it'll play (somewhat) via the OBS widget if I click on 'settings' so it undocks it and hides the video to show the settings page. The media widget while on the settings tab will occasionally forget to autoplay to the next song/video and the !play command must be used.
Can anyone tell me if this script in console should still work for clearing out watchtime for everyone?
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);```
That should clear all watch time from 01 June 2018 to 01 June 2021.
ahhhh ok... makes more sense now thank you!
so just modify the 2nd date to todays date inside, then run it and it should then clear everything
Should
lol and if not then try again later or its not going to?
might need to adjust the time too
Ok
I've never run it, so I can't say for sure it works, but I know people who have in the past and it's worked for them.
huh interesting... i do wonder if they had to change anything else
_ _
β **StreamElements Logos **
Where can I find StreamElements Logos as Alpha Footage ?
Are there some Alpha Logos here in the server? π
_ _
Is there a way to trigger !RAFFLE automatically when my scene auto switches to my BRB screen? I have a programme that switches my scene if I lose connection, and have a bot that says 'scene successfully switched to "BRB"'. I have tried to use that as a command keyword, and I can get the Streamelements chat bot to say !raffle but it doesn't actually activate the raffle. Robcdee, Cashmeow and a few other IRL streamers have this set up but I can't seem to figure it out!
Use streamer.bot for this π
Ooo. I don't know what that is but I'll give it a Google. Thanks @kind tusk β€οΈ
Bot can't run its own commands by design.
@hardy walrus I figured this. I tried to get Nightbot to trigger the command but that didn't work either Nightbot CANNOT use a string of words as a trigger (edited)
It's a pretty strong magic sauce for OBS. Andi lippie, nutty and others have plenty of tutorials about it. It's huge π
Can anyone help me with this?
I'm using a cloud based OBS solution (antiscuff), so I'll probably have to give it a few days to try it. Thanks for the tip, I'll let ya know how it goes!
Everytime I put a widget on OBS it always shows half or a quarter of the widget
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
Can you make it so an overlay actually shows over the streamers gameplay screen as a reward for chat to redeem and say make it block, distort, the view?
Check out streamer.bot html-overlay
thank you!
is there an method to hide Badges via css file because the Badge visibility (css = display: "none" ) is not working when i change it in the Fields section
Hi. Iβm having issues hearing my alerts in OBS! How do I fix! I can see the alert.. just canβt hear it
If you are not hearing your alerts and/or Media Request, you are most likely using the Control Audio via OBS option in your browser source properties. To make sure you hear the alerts and the stream also hears them, follow along the screenshot bellow. https://cdn.discordapp.com/attachments/199460642975907840/685371800456134686/unknown.png
Ohh wow! I have to turn that off then
Hello! is there a command that i can add that will show my fifa 23 ranks for my twitch viewers?
I need help with pulling donation information from the api, can anyone help?
Hi all, we are new to Discord and am unsure how to navigate - however we are experiencing a black screen in OBS which once we followed some YouTube fix tutorials the issue was not resolved. Can anyone help with this please>
?
_ _
π **StreamElements Logos **
Where can I find StreamElements Logos as Alpha Footage ? Are there some Alpha Logos here in the server?
I am pretty sure that at least the STAFF members can provide SE Logos with Alpha footage .... right ? π
I wonder if there are any Alpha Logos ... anyone?
_ _
I was wondering: is there a Hype Train event planned with the StreamElements API? If I have to go through the Twitch API, how would you advise me to use it?
I found this on the doc https://dev.twitch.tv/docs/api/reference#get-hype-train-events but I'd like to create this widget for other users so it seems difficult to fill in the token and all of that every time
EDIT:
I just found something interesting: https://github.com/Brendonovich/eventsocket
However, I don't know if I could use websocket events on an SE widget
Hi!
Is there a way to combine chat with streamelements?
If you mean across platforms then no.
rip
@lofty bay ‡οΈ
SE.live is a plugin for OBS Studio for the best OBS support, please join their Official Discord @ https://discord.gg/obsproject
@dire kestrel
Hi there π
You reacted to my message topic with the emoji : #dev-chat message
π So ... do you know if there are StreamElements Logos with Alpha Footage ?
_ _
I did. I actually donβt. I just checked
_ _
Your message is confusing ... " I did, I don't " ...
Please clarify again for me ... Are there any logos with alpha ?
q: anyone know a custom cmd for clipping? I use chatty while streaming so having a cmd will be helpful.
No
okay thanks
hey just wondering does anyone have a way to add a count down when someone redeems something from twitch points. for example someone taking glasses off with a 5 min count down. like do we have a way to add something to stream elements that will trigger the count down for each twitch point redemption?
any one knows how to fix the resolution for stream scenes sources
from My Overlays
i change the sittings in my overlays to 1440
but not working
in obs
and on the web site
@paper ruin ‡οΈ
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 and Refresh browser when scene becomes active, as shown in this GIF: https://imgur.com/a/2JhJD0S
Is there a way to remove streamelements bot from chatstats?
Outside of not letting it speak in chat or others speak more often no.
I see, thanks for the info
Hi, I posted this message yesterday: #dev-chat message
Do you think there is a way to use this Websocket Proxy (https://github.com/Brendonovich/eventsocket) via a StreamElements widget. For now I only have CORS or 500 errors...
I would like to use it especially for the Hype Train events, do you have any other solutions for that?
HelloπΈ
I'm doing a subathon for my 3 year anniversary & I need a timer that will ADD time to it for each dono/sub. Anyone know how to do this using streamelements? I'll be using desktop w/OBS as well as mobile streaming. So, my 2nd question is... will the clock reset when I switch between the two?
Sorry... I'm new here & hopefully I posted this in the correct section. π
Thank you a billion times to the moon and back!
Hi. Im having an issue with a viewer not being able to redeem anything despite having over 100k points in chat. Ive tried resetting thier points to no avail. Can this be fixed on your end?
Account id: 6132d5aab370f5b4bbf95543
Viewer Affected: rigothegreat
This is the ONLY viewer affected btw i suspect it has to do wiith a name change perhaps
Hi, is there a way to export user data
?
Are there code samples available for the built in alertbox+TTS overlay template?
I made a custom TTS API that I'd like to use with SE, ideally by just making small modifications to the already provided overlays if possible
If not does anyone know of an open source alertbox that implements TTS that I could use as a starting point?
hi @unique hemlock you can use the Stream Marathon Timer that can be found on the overlay gallery page -> https://streamelements.com/dashboard/themes/widgets
The marathon timer will not reset if you swap from OBS to mobile, you will need to have the same overlay source in both your OBS and mobile streaming app
THANK YOU! ππ«π
re-creating a full alertbox as a custom widget is a nightmare, believe me I tried. The easiest solution would be to create a custom widget in the same overlay that you have your AlertBox, disable the TTS from your alerts, and make an api call to get the right TTS for the variations that you want it to play, I would recommend using a WebSocket for the call so it is always listening.
what kind of user data would you like to export? To my knowledge there is no way to export it.
you can use websockets on custom widgets, or a cdn if you find one please let me know, I am also researching this to implement a hype train widget. At the moment there is no connection with the Twitch API for hypeTrains and no timeline for it to be implemented.
I've contacted the dev of EventSocket I shared on this channel. He just fixed his project and now, with a simple websocket connection it works perfectly
@ocean raptor did he update on his github?
Yes I think so
awesome, I will take a look π
if you have the widget working, share a clip on DMs would love to see it π
I test the Hype Trains events tonight, to see what this tool can send to me
(if my viewers want to send some bits...)
o/
Hi!
I'm actually tryin to modify the CyberChat stream widget (https://strms.net/cyberchat_by_lx ), I've already succeded to put badges before the user name, but now I want to modify the length of the random thingy that pops out when a message is printed, i'm trying to change this directly within the js, idk if there's a way to do this?
I'm trying to get the list of users and the amount of loyalty points they have
got it, unfortunately there is no way to export those from our dashboard at the moment
Nothing!? Not even a scripted solution?
let me check with the support / dev team and get back to you on that, as they may have a solution
Many thanks
onSessionUpdate doesn't seem to be working for me... can anyone else try this and see if it works for them?
window.addEventListener('onSessionUpdate', function (obj) {
console.log("hi");
});
I'm updating my cheer goal progress. then i see this in console, but not my "hi"
Updating session data for widgets```
yeah its definitely not working..
You can use this tool to export loyalty points https://github.com/Slikrick/streamelements-csv
works for me when I emulate a cheer alert
Yeah but update your session data via the session tab. Like a cheer goal
if you update your session data it's does not count as an Event that is why the "Hi" is not triggered
it will only trigger with emulated or real events
Updating your session data is.. not updating your session? Huh? Lol. If it's saying "updating session data for widgets" wouldn't that be an event?
that is a manual update that you force into the data. It does not count as an event received from the api, that is why the onSessionUpdate function does not trigger anything
it's like going into the Database and manually updating a value, instead of receiving the value through a websocket or api call
if you log the value of the cheer-latest or cheer-goal after you update it manually you will see that the value changes, because you changed the value in the "Database"
That should definitely be changed to trigger onSessionUpdate because that's quite literally what the name says. I'm updating the session data so it should trigger that event. Because now instead of listening for that event, I need to check every few seconds to see if the data has changed...
This is for a custom bit/sub/tip goal overlay btw. Let's say someone starts a new sub goal and wants to set their sub goal progress to a certain amount, they go into sessions data and update that amount.
Current implementation would be they would have to refresh the overlay to send the updated data, or like I said have a script that checks every few seconds if that data changes
@inner lagoon are you free to hop on a call, if not I can add a custom goal widget to your account and you can use it as a base
I'm not, I'm in bed. 2am here haha
Also since you seem to be pretty responsive, I submitted a few widgets to #widget-share probably like 6+ months ago. What's going on with that?
gotcha, I will add a multi goal to your account that you can check as a base, it should help.
What was the name of the widget? I am the one that approve those. Was it sent from this discord username?
As well as applied for the one-click sharing ability and didn't hear back
one click sharing @ruby thistle can help
Thanks! And yeah this discord name. I forget what I submitted it's been so long tbh. Probably my iOS notification style chat widget and I forget what else
no worries, let me check in a sec. This is the name of the goal widget I added for you Copy of Copy of BASE Automatic Sub Goal - 15
you can modify the base from there
the Emote Loading Bar v1.2 by PizzaMark.gg was approved and is on the pipeline to be released, they are slowly released by the community team so it may take some time to appear on the channel.
We are restructuring our widget-share space that is why it's taking a while. But it will be released
so i just hopped on my pc because i cant sleep and that widget has the same issue i was talking about. if i manually need to update the goal progress from the session data tab, it doesn't update the overlay
only solution i can see, unless your devs make it so updating that session data triggers the onSessionUpdate event, is to loop through every few seconds checking the session data
that is a limitation of the current overlay editor. The new editor that we are working on will solve this issue
new overlay editor? π
keep tuned for more XD
on this case if you refresh the editor after saving the widget you should see the update
this widget that I shared is battle tested so you can trust
yeah i'll just tell the client to refresh. not ideal but whatever
that is to see in the editor, but the client will see the widget updating live or with simulated events
ok thanks
Many thanks. I'll have a look into it.
Hey everyone π
Is it possible to use the API to post a tip to another channel with the JWT token? Or do we need the OAuth2 access?
I've a request to have API access for more than 4 weeks now and still no response. Is the queue that high? Do anybody know what's the average? We have an app working on other softwares/platforms, we only need access to StreamElements to close the circle. Any tips or contacts I can talk to?
[SE API]
Why between these dates no donate is displayed to me, although it should be displayed, e.g. the one from 13 days ago.
in general, the tip filtering before the creation date does not work ... It displays all transactions even if I give "before this date" where not all tips were "before this date"
if you do not know what it is trying to achieve, it tries to download the last donate from e.g. a minute ago (for a test it gives 1000 days)
Hi there, i've found a page on the docs that lists all the elements of the data array.
https://dev.streamelements.com/docs/widgets/6707a030af0b9-custom-widget-events
I'm trying to use the data["tip-alltime-top-donation"] array, but the console outputs an error:
I have
let data=obj["detail"]["session"]["data"];```
is this element no longer available?
why does the message event for custom widgets no longer have BTTV emote data? it still has FFZ emote data
^ am also interested in this. BTTV emotes are missing from the SE-provided kappagen stuff as well as custom widgets, but haven't seen any official acknowledgment of an issue here or from nightdev
Same issue here with BTTV, was working fine the other day
Same issue here, kappagen no longer displays any emotes other than regular twitch emotes
worked fine on saturday, only displays regular emotesplosions when using !kappagen now, no bttv emote in chat shows up on screen
is there a way to execute a chat command using a custom dock in obs that's similar to quick actions ?
in other words Custom Quick Action that send a command in chat
Hello! I'd like to ask for help on how to add videos into the SE alert custom CSS. Thanks a bunch π
video src={{video}} and adjust hight / width with a inline-style or using the video id on the css tab
Thanks for this, it works almost perfectly. One slight issue, the webm doesn't seem to move. Is there an issue with webms?
shouldn't be, check the alert duration, maybe it's smaller than your video size
hey um i think this is the best place to ask, but i saw in certain commands examples the use of the pipeline symbol as an "or" operator of sorts, is that the only operator?
I have a question. Is there a page that shows all the codes for widgets like βrecent hostβ and such? Im trying using a pre-made overlay but canβt figure out the codes. Had it before.
Hi, can I somehow add a donation goal to my hml site?
Logical Operators
&& and
|| or
! not
thank you!!!!
oh the commands are in js?
oh, sorry, which commands are you referring, I thought you meant JS for some reason.
oh no, i meant the chatbot commands
ooh, no idea sorry 
no prob
The chat bot doesn't have any flow control aside from the pipe as an or in some variables.
page is pinned on the channel π΅οΈ
API documentation: https://dev.streamelements.com/docs/api-docs/bcd899e16ac9a-se-api-docs
π΅οΈ API Connection Guides: https://dev.streamelements.com/docs/api-docs/ZG9jOjYxMzcxNTY-connecting-via-websocket-using-o-auth2
π Overlay Editor documentation https://dev.streamelements.com/docs/api-docs/775038fd4f4a9-stream-elements-custom-widgets
you technically can using the SE websocket api, but that would need you to have experience in Javascript
#ref
I would need the python project to take a look. Can't figure out from just looking at the code snippet. Sorry for that
that's all code. added only import at the top and request and print at the bottom.
Hello everyone, idk if this is the right place to post this, but here it is anyway. π What type of script would I need to use to get streamelements chatbot to pull from a .txt file? I am creating a custom list that I'd like it to randomly pull titles or names from but everything I have seen done is for nightbot and I can't get it to work with streamelements. Any and all help would be appreciated, I've been racking my brain for a few days now.
For now I only know this API: https://thefyrewire.com/docs/api/twitch/pastebin/ which can pull texts from pastebin.
Can someone help me what the command for the time in Austin Texas is? i cant find the right command for Austin/Texas LMAO
Yea using pastebin was about as far as I got. I did a test list and copied the URL and put it in a ${urlfetch script, when I tried the command to test it Iβd get a error and it wouldnβt pull. Sorry Iβm a noob when it comes to coding, Iβm trying to learn
Hi ! In the overlay editor I would like to scroll in a single layer the last follower then the last cheerer, the last subscriber, raider, etc. on the same line, one after the other.
But I don't know which variables to use because when I create these widgets separately the variable is always {name} and does not specify if it is the last follower, subscriber, etc. Is there a way to specifically call a variable that refers to the name of the last follower, subscriber, etc ? Thx a lot !
It should look something like this in the commands response, to get a random line from the pastebin file: $(customapi.https://api.thefyrewire.com/twitch/pastebin/z8HGB50q)
You are a lifesaver! Thank you so much for the help. Idk why I didnβt come here sooner
I am having issues with my alerts for donodrive. when i customize the picture it takes away the sound i want to use
Are there any answers yet on whether we can add multiple redirect URIs to an application?
Or would I have to fill in the same application form 3 times with different redirect URIs?
I searched this channel and there's been quite a lot of people asking the same question over the years, and somehow nobody has ever answered it lol
Got and answer an no can do for now nor ETA on when. Reapply with other URI you want to use as individual apps.
any answers on the alert box bug
@hardy walrus Oh hey, thought I recognized the profile picture, long time no speak! Okay, thank you. I'll send those in tonight π
Im not fluent in JS or even any web related languages, so idk if this is simple, but can i access a variable from the custom fields in the js script? And how
Hello! I am unsure if this is the correct area to be asking this, so feel free to remove and clarify where this should be on the server!
I'm super new to creating custom chatbot commands with SE and recently I had a fun idea to add a ! guess command for my community to guess numbers for specific events.
Three commands are working: ! Guess (pulls guess based upon the name of the user who guessed it), ! addguess {value} (adds guess to list within custom api), and ! deleteguess (clears all guesses on the list)
I got everything working by completely converting this to be readable by SE: https://community.nightdev.com/t/customapi-quote-system/7871
Its an altered quote system to allow me to view saved "guesses" for an extended period of time, perhaps weeks.
The issue I have run into involves using a command to retrieve the user's guesses.
I decided not to try and convert even more code from NightBot that people were using to limit entries. Therefore I was going to allow potentially unlimited guesses/entries, figuring that it would be easier to figure out how to pull just the first value, or lowest integer within my guess list for each individual user. (Trying to work smart and not hard if possible
)
If anyone has any ideas on what I could add in as an argument to the data being pulled from the custom api please lmk! Any help is massively appreciated.
Current viewable, public list that Im experimenting with pulling guess values from for reference: https://twitch.center/customapi/quote/list?token=497c438d
TLDR: Looking for bot command lines that allows either:
- Only one entry per user to custom api command
- Command line that pulls the oldest/first input value from a given user
Update: ${user.lastmessage} filters the last submission, but not the first one 
hi guys, just discovered a bug in my alert.
If i send have 2 HP and send 2 x 1hp damage, it triggers everythingm as well as 1 x 2hp, both making HP reaches zero.
But if i have 1HP and send a 2hp damage, hp will be -1, and no triggers happens.
i tried ".childElementCount" - currentHP (variable) - tried to make if currentHP gets below Zero, becomes Zero, but without sucess.
Just checking in again to see if there has been any progress on the "allowing PKCE oauth for the api" as well as "is there any way to expedite an API approval request" as ive been waiting over 2 months now I think for information and this seems crazy given other providers just have a public API you register and use.
If it was just end users who cared about me integrating with StreamElements fair enough, but given I could really do with the integration for my workflows its a massive pain being stuck in limbo waiting for a response.
Hi, I hope this is the right place to ask about/suggest this. Not sure if it's been asked before. Can the commands page of a user show the whole command outcome instead of how it is in the picture (cuts out with ... after a certain number of letters)? That way it would've been a lot more convenient and less disturbing as we wouldn't have to type the command in chat every time. It would also help find out how people use certain commands so they can be applied in other channels, too (such as a special command to show the current date/time etc. I believe these are what we call APIs) Because some people just have a lot of commands and it would be spammy to type them in chat just to see the message and this won't let the user see the aforementioned special parameters in chat (which wouldn't look nice in chat anyway). I hope I was able to ask clearly. Thank you β€οΈ
Hello people. I am setting up SE, and I only have 3 bot modules available.
One the SE website and other tutorial vids they have several. Here is what my screen looks like.
What platform are you streaming on?
Windows PC streaming to Youtube
The other modules are related to Loyalty, which is not available on YouTube.
ty ty much appreciated
shouldnt this be working? maybe its because im using streamlabs, but idk, feels like it should work
im trying to connect a custom api to streamelements. its pastebin, so ive seen a couple questions about it on this channel already, but i want to randomize which line it spits out into chat. i have an api that has 50 lines of jokes, and i want streamelements to pick a random joke of those. is that possible, and what would be the command?
nevermind, i figured it out!
Hallo I add in Streamelements the "Credits Roll" Widget i make all configs but this widget didnt show any activity from my Stream session at the end. No Information from my activity feed like Follower/Donater. What do i wrong or is it buggy ?
a selector of 'goal-last' would try to match a tag with that name, which of course doesn't exist.
So to match an element with the class of 'goal-last' you would have to add a dot ('.goal-last') and if it is the id it would be ('#goal-last') with the hashtag.
Also variables get replaced with the actual value without any adjustments. Since the text() function expects a string, you'd need to put the quotes around the variable. Like this text('{{lastGoal}}')
what are your BrowserSource settings?
How do I move the wireframe over the
image without messing something else
that is for a bit cup
I'm open again for custom widget commissions if anyone needs my services π
I am using this API https://api.parrycarry.com/youtube/latest/ID for this latest youtube video command but symbols in the title are showing up as HTML entities. Here WORLD'S shows up as WORLD'S Anyway I can fix that?
Hello! I'm not sure if this is the right area, but I want to know if I can adapt the hype cup or make a similar custom widget.,
what I want to do is have an overlay that shows my subscribers as an uploaded image which changes depending on how long they have been subscribed for
Does anyone have any experience with the display image on event amount widget? Iβd like it to be static rather than an alert style fade in and out
https://github.com/StreamElements/widgets/tree/master/ImageOnEventAmount
Is there anything that acts like a hype cup but it collects emotes used in chat (instead of collecting the usual subs, bits, follows)?
Hi folks.
I wrote an api to work with Nightbot via urlfetch and then posting messages back to Twitch via NB. Unfortunately it appears that NB's rate limiting will not allow my api to work properly. I have done this with PHP. Been reading up for a couple of hours and apparently Streamelements also have urlfetch. I also gather that in general with SE this would normally be done with JS. I would assume that it's possible with PHP as well, but are there any good pages that explain how this could be done please ? Also, what message rate limiting is there on SE please (I would assume it is limited in some way !!) ?
I have been hunting for information on how to use urlfetch with SE but all refers to JS. Is π΅οΈ API documentation: https://dev.streamelements.com/docs/api-docs/bcd899e16ac9a-se-api-docs all there is in explanatory notes, or is there somewhere that explains things in more basic terms please ? Trying to work out where to start !!!
TIA π
APIs are language-agnostic. What you use to get/post/put/delete is up to you.
In any case I think you're mixing concepts here. urlfetch (or customapi in SE terms) is just a command variable used to get a response from a 3rd party API, you don't need to interact with SE API directly for it to work. So you probably need to further clarify your use case/issue
Thanks for the reply. When I stream, I am often streaming with a few other streamers and doing a multistream. We do countdowns/synchdrops, so the viewers can count in with us to hopefully all get into the same battle. I'll point out that this IS permitted by the game company. π My api sends the countdown text (3 2 1 GOOOO) to all streams simultaniously (providing they "register" to be included). The problem comes with sending up to 6 simultanious messages. I have achieved this by setting off up to 6 child processes which all attempt to read from a locked file. When the script releases the lock, all child processes send out the messages to the appropriate chats. π
The problem comes when 6 messages are all recieved by Nightbot in the same millisecond !!
BUT obviously, for the purpose of the api, they need to all be sent at the same time.
I'm honestly having a hard time grasping your code flow and issue, although I'm not familiar with PHP. But coming back to SE-related things, when is urlfetch involved in all this?
Ok - To register, a streamer does the command which does a urlfetch to register for the countdown. Once all streamers are ready and reg'd the one with the main button does another urlfetch at a different address which starts the entire countdown going. It's all done by chat commands.
It's not a "code flow issue" as such. It's a Nightbot issue which is why I am asking about SE π
The way Nightbot works is it creates a unique URL which is valid for 5 mins, so the urlfetch command sends this url to my api so the api knows where to send messages in reply.
The equivalent of urlfetch for SE is customapi, such as ${customapi.link-to-your-api.com}. However, afaik, it doesn't send back any special URL/info in the headers (I might be wrong though, I'd have to test). If you want to send message with SE you have to directly use the API, and to have an appropriate token authorizing the call for each channel: https://dev.streamelements.com/docs/api-docs/1e22a4ed3ad16-channel-say. I don't think there's any rate limit documented, so you'd have to test.
Ok then. Thanks very much. π
Hello. does anyone know if there is a way to tell a gifted sub apart from a non-gifted sub? Is it possible to create a custom label that does this: Shows the name of the gifter when a sub is gifted OR shows the name of a regular subscriber
What is the current status of twitch channel points alerts/usage detection? I seen like multiple posts on community board that are "we are working on this" (8 months ago was the most "recent" response).
Or do we have some diy way to read them with no need to do some weird third party authorization? Or is there way to access the "auth" of twitch so we can connect to websockets outself?
I do not care about reading the queue, removing rewards, adding rewards, cleaning/refunding. I just want to live react to the rewards as they happend.
Hey just wondering how subscriber-month is getting calculated. It's giving me a much higher number than I would be expecting for the month. Everything else seems fine for a monthly amount, just subscribers is wrong.
Is there any way to get SE chatbot to send 2 messages on twitch for one command. For example if mods type "!safe". We'd like it to do a "/emoteonly" and "/followeronly"
I tried setting up two chat commands and alias them to the same keyword. However, it only runs one of the commands
Seems like this functionality would be incredibly useful
Hi again wonderful Developers. I've searched in the #widget-share channel and can't find what I'm after:
Is there a widget like the Time one described here #command-share message ?
But it also shows DAY/DATE - because of time zones I'm usually a day ahead of my viewers and it would be good for them to see that (New Zealand vs USA)?
Hello @bitter abyss . I had a question in regards to Neohud . I saw you had a help field with your info to DM but wanted to post it here incase anyone else has the issue and searches it up. I did a search of this server and saw other people ask but no answer. I am noticing that while using the overlay it does not update on it's own. I allowed it time to see if maybe it was taking longer than normal however it never updated. That being said, the moment I hit reload overlays it fixes itself. Has anyone else been able to fix this so that I do not need to manually update every time? Thank you in advanced.
Hey there! I am having trouble with the end credits by grot widget. It will only show my followers even though I have the sub/dono/cheerer boxes checked. Anyone know how I can fix this? Thanks!
Hey there, was wondering if there's a chance for a developer to launch creator program via SE?
https://streamelements.com/dashboard/overlays/share/5ec40d0af0e8810ead8fbf9b
Here is a clock widget i built. Possibly what your looking for
Hello I got an email about a pending paid sponsorship with hello fresh I could do from stream elements but when I click get started and it takes me to the stream elements page it just loads. Itβs just a spinning circle and nothing loads up
quick question about the stream marathon widget. Is it possible to make tier 2 and tier 3 add more time than a tier 1 sub? ex. tier 1 adds 5 mins, tier 2 adds 10 mins etc.
Thank you! I'll try it out later today, once I'm off the phone and back on PC
yo i need help with resizeing my overlay on twitch but its not fitting into my stream so can you possibly help me???
does streamelements have any api that does not require httpS connection, only http?
(Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available."))
Seems like this is the issue I'm running into. I need one chat command to send 2 messages. Is there any way around this limitation? I have several channels that need this functionality.
https://streamelements.helprace.com/i1712-add-the-ability-to-have-line-breaks-in-chat-bot-commands
Good Morning all! I am just wondering if there was a way in streamelements to track donations made to a 3rd party charity and actually have an alert play when someone donates? The charity we are going to work with is [jumpstart by Canadian Tire] and they have their own [jumpstart fundraising page] for us and in order to donate you have to go through the link to the fundraising page that will be added to our panels on twitch..
Am I missing something? Is there a way to get the top monthly sub gifter from the data object? I don't see it.
And I couldn't even use subscriber-latest and calculate it from there because that only shows 25 subs
Ok, so I was directed to come here for advice. I know jwck-diddly about CSS, so does anyone know if a way to edit the alert box behavior to scale images based on the alert box size so images don't get cropped if the alert box is smaller than the image?
Ok, maybe someone could help me? I recently added the pre-made event rotator and for some odd reason I got a new follow today and the latest follow just shows welcome now no user name? I can't figure it out for the life of me. Is it possible its a character limit? or something that can be changed to make it work? I like having this over an overlay taking up screen real estate but not if its not going to work.
Good morning smart folks. I have a subathon timer that works really well except there is no way to manually add time without going into overlay editor. I am trying to piggyback off of a stream store event, based on the redeem size, to add time to the overlay timer, I think i'm running into js syntax issues (learning as I go) but am unsure, is anyone available to help? If I was able to open the editor on the base streamelements redeem widget it would be helpful but alas, here we are.
I've been playing around with css codes I've found but still can't find a way to achieve this :(
Hi. I'm brand new to SE, and I feel I have to say first, WOW!!! I am amazed at how quick and easy it was to get everything set up and running. FABULOUS app!!! 
There's one thing I want to do, that a half day of researching and reading has not gotten me to:
For a few particular viewers, when they first say something in the chat during a broadcast, I want to play a sound. (I expect I'll have to rest this in between broadcasts.)
I found SE documentation on how to do this (at https://cdn.streamlabs.com/chatbot/Documentation_Twitch.pdf ), but it uses an "Event" command, which appears on the Dashboard of the example pictured in the documentation, but Event does not appear on my Dashboard. I suspect perhaps the documentation is from a previous version?
Is there some way to achieve this now? I mean... I know it can be done; I see other streamers do it. But can I do it within SE, or do I need a separate bot?
p.s. Thank you, in advance, for this Discord server. First time here, but I looked around and it seems that the support for SE is as wonderful as the app itself!!! 
@buoyant bane that's the other guys aka streamlabs. Not us.
Heya π
I think I may have found a bug in customapi - I have a number of commands which do a customapi call.
As an example I have........................
$(customapi.https ://zoeballz.tv/wot/_Events/rec.php?code=<OBFUSCATED>&user=${user}&event=hyp&to=${1:})
this sends.............
code=<OBFUSCATED>&user=PretzelRocks&event=hyp&to=PretzelRocks
when the user was NOT PretzelRocks.
Now either I am misunderstanding something or there is a serious bug. Can anyone assist please ? π
Surely ${user} should be the user who typed into chat and not the 1st argument ?
I'll point out that I also tried this on Nightbot and it works just fine so it's not my receiving PHP script that is at fault. I'd like to get this going on SE as it's a pain in the butt to have 2 bots dealing with the same command.
SL ? GAWD NOOOOOOOOOOO π«£
π
${sender} may be a better variable to use
π I'll try it now
That worked. Thanks VERY much π Surely that is still a bug though ?
BTW - Is there any limit to the usage of customapi please ? e.g. If I set up a command to use regex so EVERY message typed in was sent to my server, would it be rate limited at all ? Thanks π
_ _
π₯ Error with StreamElements Browser sources
These error messages only appear with StreamElements Browser sources.
Only when the browser source is deleted, then the error message is gone, but I need the browser sources.
Error examples below
[obs-browser: 'π§² S T A R T β A P E X T I T L E S H A P E A N I M A T I O N'] Error: [Report Only] Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'none'".
[obs-browser: 'π§² B R B β A P E X - A L P H A'] Error: [Report Only] Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'none'". Either the 'unsafe-inline' keyword, a hash ('sha256-dCImnf5U50C6/yGGZrNBJ0w5/O+LgHlBid+gCtyw7PI='), or a nonce ('nonce-...') is required to enable inline execution.
[obs-browser: 'π§² B R B β A P E X - A L P H A'] Error: [Report Only] Refused to load the script 'https://streamelements.com/overlay/scripts/vendor.js' because it violates the following Content Security Policy directive: "script-src 'none'". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.
π₯ OBS Log file here : https://obsproject.com/logs/iSXzL42I9ex0ASqU
_ _
I have a command that Iβm working on that requires me to use the ${random.chatter} variable twice. Is there anyway to make it so it pulls the same name both times, or is there a different variable I can use to make it pull the same name as the first ${random.chatter} variable does?
Okay. Thanks.
Any members of SE Staff ? Is there any limit to the usage of customapi please ? e.g. If I set up a command to use regex so EVERY message typed in was sent to my server, would it be rate limited at all ? Thanks π
It's just that on my server, processes are only allowed to run for 60 seconds so I cannot have a process running that can collect the data in the proper way.
Any staff around please ?
I don't want to do something and then find I'm breaking any rules
do we really have to beg for api access through a form?
Hi! I don't have enough followers to even have access to subs and bits, so I wanted to have follows and chat commands activate an action in an overlay, say the snake game by LX. I tried adding Followers and Chat in the JS and Data editors but it just doesn't work. Maybe Twitch use other variables than that to represent both but I just can't find them.
Sorry - I hope this is the right place to ask.
Do I really have to handle variations manually if I have custom CSS enabled for my alerts or am I missing something? This is pretty bothersome and makes setting up custom subscriber alerts a lot of work. I'm asking because my variations don't seem to be applied anymore, now that the custom CSS has been enabled.
I'm trying to make a panel for Mods of a channel to update data such as day, timezone etc from the overlay widget fields/data. I can see there is /overlays/{channel}/{overlayId} which lets me pull the data from the widget for the timezone but i don't see a way to update it. Is it possible from the API?
Any staff here pretty please ?
what happened Why can't I reach can streamelements
Hi there, i want to create some widgets in typescript. I just want to ask if it is possible to use amd or commonjs modules within a custom widget and if yes what i have to do to get them run?
Hi I've been trying to duplicate a overlay on streamelements i already have made. I did it before somehow but idk how to do it again please help
Duplicate the overlay on the same account or duplicate it over to a different account?
on the same account. it gives a duplicate option but just says for either twitch or youtube. And i just want it to be on stream elements
The whole overlay or assets from the overlay (image, alertbox etc)
the whole overlay. but if i can just get it to copy all of my notifications that works as well
^
If you want to duplicate the whole overlay, you goto Streaming Tools > My Overlays > Click the three dots > Duplicate.
If you want to duplicate just the alert box, you open a new overlay that you want to copy it over to the back up to the My Overlays page, Open the overlay that has the alertbox you wish to copy, click the layer then click the icon that has the two squares. It will give the option to duplicate the alertbox to this overlay or another. Selcet Other Overlay then choose your destination.
Heya @fervent stratus Any chance I might get an answer to this please, when you have a min spare ? Pretty please !!! #dev-chat message
No idea on that one but let me ask for ya
@fervent stratus okay thats awesome! but when i try to duplicate the whole overlay it say duplicate in twitch or youtube and i just want it to duplicate on my stream labs
... Are you trying to export your information to StreamLabs?
i meant stream elements im sorry
π
So select Twitch, if it's your Twitch channel or YouTube if it's your YT Channel.
I've done worse - Posted in here about a bug in Nightbot before now π I forgot which bot I had used !!
When it provides that response, it's asking if your want to duplicate it to your StreamElements account created via Twitch or your StreamElements account created via YouTube.
This pops up when your account has a merged account on it.
im gonna be honest ive done this 5 times now and i tried it one more time cause you said so and it worked i dont get it but goal accomplished lol thank you
If you were trying yesterday, we were having issues with the overlay editor and it's possible this function was being affected.
That issue was resolved now so that may be why
Yo, I'm switching to streamelements from streamlabs and I've got most of my stuff set up but I can't figure out how to transfer the chat box design over - I have a custom design from one of streamlabs packages and I'm not sure if it's even possible to transfer it across
_ _
π₯ Error with StreamElements Browser sources
These error messages only appear with StreamElements Browser sources.
Only when the browser source is deleted, then the error message is gone, but I need the browser sources.
Error examples below - I do not understand their meaning
[obs-browser: 'π§² S T A R T β A P E X T I T L E S H A P E A N I M A T I O N'] Error: [Report Only] Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'none'".
[obs-browser: 'π§² B R B β A P E X - A L P H A'] Error: [Report Only] Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'none'". Either the 'unsafe-inline' keyword, a hash ('sha256-dCImnf5U50C6/yGGZrNBJ0w5/O+LgHlBid+gCtyw7PI='), or a nonce ('nonce-...') is required to enable inline execution.
[obs-browser: 'π§² B R B β A P E X - A L P H A'] Error: [Report Only] Refused to load the script 'https://streamelements.com/overlay/scripts/vendor.js' because it violates the following Content Security Policy directive: "script-src 'none'". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.
[obs-browser: 'π§² C A M + L A B E L S β A P E X - 16 : 9 '] Error: Uncaught (in promise) #<Object> (https://streamelements.com/overlay/630b9c7ed2f12b4a62b37f17/f_NxtJlAPatJStNslJx04rydX9uoQWdJEkQ8ExGqiyt6MOwA:0)
π₯ OBS Log file here : https://obsproject.com/logs/iSXzL42I9ex0ASqU
_ _
Is there any way to make this happen or can I contribute to the chatbot source? There are multiple scenarios when 2 or more separate messages need to be sent with a single command. Splitting the "Response" by line break into separate message seems fairly straight forward
Just wondering if any news on this please ?
_ _
Hey guys.
**CSS editing of a widget, text problem. **
The original font size is 24 , and when increasing to 50, the message box cut into the username.
I use the StreamElements Widget in this link : https://link.streamelements.com/boxed_chat_by_cocahh
Maybe it is in the CSS editor code : lines 14-26 or 65 - 75 .
When the message gets longer, the message box moves down with each new line and cut less into the username. But that is not realistic solution.
_ _
Not the customapi, usually the rate limit is on the server that are receiving the requests.
If you think about that, there are widgets that process each message on the chat (custom chat widgets, for example)
If you are referring to Twitch, that is not possible. Each command can only answer in a single message. This prevents the bot to flood in case of a bad configuration
that's incredibly unfortunate, I know other bots we used previously do this on twitch. We'd prefer to stick with SE over the others
Is there any possible work around? We tried giving two commands the same alias, it just processed the first one it came to and didn't do the other.
Alias will not work, and keywords either. Once one of them is processed, the other will not run.
One thing I did to bypass that was creating a custom widget and using jebaited.net to send chat messages. But that needed to be configured on Overlay editor using JS.
Something like:
window.addEventListener('onEventReceived', (obj) => {
const message = obj.detail.blablalbla.data.text // I don't remember exactly the object here for the message
if(message === "!rank"){
fetch('https://api.jebaited.net/botMsg/JEBAITED_TOKEN/YOUR_BOT_RESPONSE')
fetch('https://api.jebaited.net/botMsg/JEBAITED_TOKEN/YOUR_SECOND_BOT_RESPONSE')
}
})
More information on jebaited.net on pinned messages in this channel
Ok thanks. The api is my own api on my own server so no limits there π Thanks very much π
Yeah, that's what I thought! I know your server limitations π
ok, thank you. I will try this
Basically - on our github repo we have a chat widget. Change it to send messages over to server instead of displaying on overlay.
Hmmmm. Or scratch that. customapi from bot doesn't send whole message, it just uses the payload. Does that person want to have pinging server to keep it alive via bot? It is even stranger in that case.```
This is the response we got back from one of our devs
Where it says [Report Only] you can ignore.
The last one, it seems there is an error in some code, do you use a custom widget in there? (I would suggest that you remove the overlay link, just to keep it safe)
hello can anyone help me when someone types tts followed by the message its speaks tts as well how can i fix it
Heya π
It shouldn't be a problem because my api to receive the messages will only respond with a message consisting of a single space which is not relayed back to Twitch from SE. As no response is posted it shouldn't cause any rate limiting on Twitch's end. Is that ok ? I tried it last night and it worked pretty well.
I did notice one slight problem with it though. If a user sent 2 messages to Twitch chat, sometimes it would send their 1st message AGAIN instead of the 2nd message. The SE command I used was........
$(customapi.https://zoeballz.tv/wot/_Events/<REDACTED>.php?code=<REDACTED>&user=${user}&event=mes&level=${user.level}&message=${pathescape ${user.lastmessage}})
Am I using the wrong variables perhaps ? ${user.lastmessage} seems a bit unreliable.
Many thanks π
?
_ _
Hi c4ldas.
First of all, thanks for the reply , finally an answer π π
Depends on how you define " custom widget " . This is an official widget from the StreamElements Store.
It is called **" SPITFIRE ANIMATED SUPER THEME " **
_ _
_ _
This is an official widget from the StreamElements Store.
anyone help
Found the solution, I was using the wrong function for your command. It needed to be ${redeem tts ${1:}}
so u fixed it?
I checked the log and saw there is a lot of SE reports related to unsafe-eval and Uncaught (in promise). I had this once and the only thing that made me get rid of those errors was creating a new overlay on Streamelements website and then importing it again to OBS.
It worked for some time, and then after some weeks the issue came back. I removed the overlay and created a new one again and the error disappeared one more time. Since then, no more errors in logs from SE overlays.
I don't know why that happens, but that can generate a lot of unnecessary logs.
_ _
I have so many StreamElements overlays.
Re-doing every single one and customise each setting takes like ages, omg π But I will try that.
Why does it say "Content Security Policy" anyways in the log ? Sound like a data privacy issue .
Uncaught in promise ? Does this mean the connection / linking to StreamElements is breaking up ?
_ _
I just reset my computer and redownloaded se and all my scenes and every code i put in them are gone.... fixable?
Is there another way to port in or link dns from playstation to OBS
Hello,
Would it be possible for example to use Touch Portal to activate a store redemption without the need of posting it into the chat?
(with an api for example?
What are you trying to do?
I run a streaming remotely and I am in need of a way to continue to do so but within OBS
Currently use dns connection to lightstream
I send you a pb π
A Pb haha sorry what
I think i know some programs that can help you to remote control OBS.
OK sweet as thankyou and would that also possibly help getting a remote ps game source
Thanlyiu heaps any help is help this part got me stumped
Lets continu chat via direct message (sorry i used my native there for DM
Hello SE Staff, Im currently trying to setup chatstats for Twitch but have been getting the chat stats 404 error code. Name: https://www.twitch.tv/vibeandreas Account ID: 63427e168f010db0e25f0c50
I think I found a bug, the "!command" module is enabled in chatbot and set to super moderator permissions. regular moderators are still able to add/edit commands
My streamelements bot isnt working and cant figure it out.. help please
Would anyone that knows coding be able to help me add a "stop timer" button into the "Stream Marathon Timer" widget via the overlay gallery? if so please @ me
@fervent stratus Just wondering if you saw my last reply ? Very many thanks π #dev-chat message
Should be fixed
Passed the message along, we just need to wait for the Dev to respond π
Thanks very much indeed π
Hey, this widget (#widget-share message) is not working properly. The time on the 24 hour clock says 24.19 (and so on) instead of 00.19
Hello, does anyone know a way of triggering pjonp's prize wheel widget (#widget-share message)
Through a twitch channel point redemption?
It shows correctly to me, it is exactly how it shows in my Windows PC. Does the time in your Windows computer appear as 00:19 or 24:19?
Unfortunately, SE widgets are not able to read Twitch channel redemption unless it has a text sent by the user.
In case the redemption has a text, it will appear as an onEventReceived like a chat message, but showing the id of the channel redemption item in obj.detail.event.data.tags["custom-reward-id"] (which does not exist in a normal text message)
It says 00.19 in my system time as well (since 24.19 does not exist). I've attached a screenshot of the widget during my stream
My timezone was set to Europe/Berlin, maybe it is something that only happens with this setting since yours is showing up normal
If you keep the timezone on the widget as the default one (Etc/GMT), does it show correctly?
I believe the widget can be using the timezone as an offset and then add +1 or -1 depending on the timezone
Heya π Hope you are well - Just wondering if there was a reply plz ?
Ji, I have a very strange problem, never happen before. I have two monitors, one for the streamelement obs.lite and I can move a tab from my left to my right screen but for some reason I can not move the studio(entire)program tab to the other monitor. I have done this 100;s of times, what is this. owe and it keeps crashing
Getting back to your question, I would recommend that you use the overlay editor for that, as you can have more room to work on. The only issue here would be with the user.level, as we are not able to get that information from SE API without using your token (in this case you would not be able to have values for superModerator and Regular users), but if you just want to know if they are mod, sub, vip, or just an ordinary user, you can use the userState below.
window.addEventListener('onEventReceived', (obj) => {
if(obj.detail.listener != 'message') return
let userLevel
const data = obj.detail.event.data
const userMessage = data.text
const encodedUserMessage = encodeURIComponent(userMessage)
const channel = data.channel
const userName = data.nick // you can use displayName instead of nick, in case you want to use capital letters
let userState = { // User profiles
'mod': parseInt(data.tags.mod),
'sub': parseInt(data.tags.subscriber),
'vip': (data.tags.badges.indexOf("vip") !== -1),
'broadcaster': userName.toLowerCase() === channel
}
if(userState.broadcaster) userLevel = 1000
else if(userState.mod) userLevel = 500
else if(userState.vip) userLevel = 400
else if(userState.sub) userLevel = 250
else userLevel = 100
fetch(`https://zoeballz.tv/wot/_Events/<REDACTED>.php?code=<REDACTED>&user=${userName}&event=mes&level=${userLevel}&message=${encodedUserMessage}`)
})
Just edit an overlay you use on Streamelements website, click on the blue + sign > Static/Custom > Custom Widget
Click on Open Editor and delete everything from each tab (HTML, CSS, JS, FIELDS and DATA)
Copy the code above on JS tab and save it
Try to send a message on your chat and check if your backend is able to get it
@crisp shore ‡οΈ
SE.live is a plugin for OBS Studio for the best OBS support, please join their Official Discord @ https://discord.gg/obsproject
Thanks very much for that. It's very kind of you π I will certainly give it a try on a day I am not streaming π (Probably on Monday) π π π
I have tried and it works great π Thanks very much indeed π I do have a question though. My api checks the HTTP User-Agent to make sure it's SE or NB sending the data. The User-Agent on OBS looks much more like a normal browser........
"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 OBS/27.2.3 Safari/537.36"
Would you happen to know if it's possible to set OBS to have a custom User-Agent ? I've been Googling but haven't found an answer yet.
Also asked on OBS Doscord but no reply as yet.
FOOTNOTE - Question has been answered π Apparently it can π
Oh sorry, haven't seen your message as it was very early to me hahaa
By the way, how did you solve that? Did you add the header in the fetch command?
By launching OBS with --user-agent="<custom-name-here>"
π
Yeah, I've just seen your question in OBS Discord, good to know! That's new to me!
π
Apparently it's not even documented !
@severe shell Very tempted to set it as "Netscape/7.1" just to see if any websites reply with "WTF?" π π π
That reminds me - I used to have a home FTP server which responded to initial login by saying it was an Olivetti M24 !
Heya π Been Googling for 1/2 hour now - Could you kindly tell me what to replace "userName" with display name please ? I tried "displayName" but the text changed colour so I assumed it wasn't recognised ?
I meant you could change data.nick with data.displayName.
data.displayName will send the name as they appear on Twitch chat, whereas data.nick will show the nick in lowercase. Using your name here on Discord, would be something like this:
data.nick: zoeballz
data.displayName: ZoeBallz
π AHH - Yes - Duh me ! Thanks a lot π
Ok - I'm tired - I TOTALLY missed the comment you put in the script π¦ My excuse is I've been up for 24hrs now π π
@severe shell Been having a look at https://dev.streamelements.com/docs/widgets/6707a030af0b9-custom-widget-events - If I am understanding this right, it's possible to get the usernames of people who gift subs to others ?
HI all, I have a question. I was hoping there would be a way to create a new type of alert that keyed off a custom webhook. For example I love the customizability of Stream elements for alerts and I just want to create a custom alert for when someone beats me in a game for instance. Is there anyway to do that?
Yes, it is... When the subscription gift event happens, SE sends the information of whom send the gift sub and who was gifted
Ok - Have thought it could. I'll have to have a closer look
Thanks very much π
hi! i'm building a chat widget and i was wondering two things:
- in obj.detail.event.data for a message, what are the possible values for the "subscriber" field? i'd like to differentiate between tier 1 / 2 / 3 subs, is this possible?
- is it possible to detect channel point redeems? specifically i would like to be able to detect a "highlight my message" channel point redeem
thanks in advance for the help!
@true tapir there's one specifically in #widget-share that handles chat input based redemptions so something to work off of.
But beyond that it's you'd figure out own your own.
thanks for the pointer! i found the widget you were talking about (i think) and understand how to work it in
Merch Rotator Widget not working. how to fix?
Hello. I'm creating items in the store with the API using the example payload of this message: <#dev-chat message>
The item is created, but it does not appear on the store. If I do a GET to the created item it exist. What am I missing? I double check that I'm creating it in my store xD.
If I GET all items, the ones I created with the API does not appear.
this is the payload:
||```json
{
"enabled": true,
"featured": false,
"name": "Test item",
"description": "Test description",
"type": "perk",
"accessLevel": 100,
"cost": 1,
"cooldown": {
"user": 10,
"global": 0
},
"quantity": {
"total": -1
},
"alert": {
"enabled": true,
"graphics": {
"duration": 8
},
"audio": {
"volume": 0.5,
"src": null
}
},
"bot": {
"enabled": true,
"identifier": "TestItem"
},
"userInput": [],
"accessCodes": {
"keys": [],
"mode": "multi"
}
}
And this is the response 200:
```json
{
"bot": {
"sendResponse": true,
"identifier": "testitem"
},
"cooldown": {
"user": 10,
"global": 0,
"category": 0
},
"accessCodes": {
"keys": [],
"mode": "multi",
"random": false
},
"alert": {
"graphics": {
"duration": 8
},
"audio": {
"volume": 0.5,
"src": null
},
"enabled": true
},
"subscriberOnly": false,
"sources": [],
"userInput": [],
"order": 0,
"_id": "637f8d048d6a5544e89502a1",
"enabled": true,
"featured": false,
"name": "Test item",
"description": "Test description",
"type": "perk",
"cost": 1,
"quantity": {
"total": -1
},
"public": false,
"channel": "5dc83892525c3d60626b9485",
"createdAt": "2022-11-24T15:25:56.310Z",
"updatedAt": "2022-11-24T15:25:56.310Z"
}
Why the item doesn't show in the store?
I found the solution if someone gets the same problem. It is necessary to add the next field when creating. Or you can add it editing.
{"sources": ["bot", "website", "extension"]}
You can work with websocket, webhook is not available on SE. In your system, you can send information to SE websocket using this.
async function executeSocket() {
const id = YOUR_ACCOUNT_ID // https://streamelements.com/dashboard/account/channels
const jwt = YOUR_JWT_TOKEN // available in https://streamelements.com/dashboard/account/channels > Show Secrets
const socketFetch = await fetch(`https://api.streamelements.com/kappa/v2/channels/${id}/socket`, {
"method": "POST",
"headers": {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": `Bearer ${jwt}`
},
// You need to use JSON.stringify to send the body
// You can send any information on body, the only required one is event: 'eventName'
// The eventName can be anything you want to receive with socket.on('eventName')
"body": JSON.stringify({
event: 'beatsme', // this is the only required option, everything else is optional in the body and you can add and remove whatever you want
data: {
message: 'Abracadabra',
title: 'Nice!',
username: 'any person'
}
})
})
const socketTest = await socketFetch.text()
console.log(socketTest) // OK
}
executeSocket()
In SE Overlay Editor, you can create a custom widget and add this as an example:
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.2.0/socket.io.js"></script>
<div id='websocket-title' class='websocket-title'></div>
<div id='websocket-message' class='websocket-message'></div>
* {
font-size: 2rem;
}
const socket = io('https://realtime.streamelements.com', { transports: ['websocket'] })
const jwt = YOUR_JWT_TOKEN // available in https://streamelements.com/dashboard/account/channels > Show Secrets
socket.on('connect', onConnect)
socket.on('disconnect', onDisconnect)
socket.on('authenticated', onAuthenticated)
socket.on('unauthorized', console.error)
function onConnect() {
console.log('Successfully connected to the websocket - Streamelements')
socket.emit('authenticate', {method: 'jwt', token: jwt})
}
function onAuthenticated(data) {
const { channelId } = data
console.log(`Successfully connected to channel ${channelId}`)
}
function onDisconnect() {
console.log('Disconnected from websocket');
}
socket.on('beatsme', (data) => { //event:beatsme is the name you put in the body
// do your magic here
// const websocketTitle = document.getElementById('websocket-title')
// const websocketMessage = document.getElementById('websocket-message')
// websocketTitle.innerText = data.title
// websocketMessage.innerText = data.message
console.log(data)
})
Great!
Something that I usually do when I want to get the values to create something is:
- Open the browser developer tools and clear the tabs Network and Console
- Create the item/command/redemption/configuration I want
- Check the network tab for the API requests and then look at the headers and payload
With that I can understand better how to call the endpoint and what values I need to send. Sometimes the information available on SE API page is not enough to give all information we need.
Thank you, that's a great idea.
that could save me hours before xD
There's no need to manually open a socket connection in an overlay, there already exists one that forwards all events to the onEventReceived listener
Hmm... that's true, just tested that. But I think it will need to change the body to event:'event' or any other that SE can recognize. Good to know! π
yeah sure, they'll have to check the event name matches their own event
Once I was diging into the source and found these events on websockets (going to put here before I lose that). Events on SE Websocket:
"event"
"event:test"
"event:update"
"session:reset"
"session:update"
"overlay:update"
"overlay:refresh"
"overlay:action"
"event:skip"
"overlay:togglequeue"
"alert:settings"
"overlay:mute"
"usernotice"
"authentication-failed"
"authenticated"
"subscription:error"
"unauthorized"
"reconnect"
"disconnect"
"connect"
"contest"
"contests:winner"
"contest:updated"
"contests:join"
"contests:started"
Is this where I need to ask about my chat not working?
What platform are you streaming on?
Twitch
Greetings, I am one of the tech support members over on the Moonlight discord (itβs an app to stream your computer games basically)
We have been noticing that a lot of users are installing StreamElements live and it breaks GeForce Experience⦠almost like it breaks it from being able to listen on its primary ports, even after uninstalling it.
Weβre getting about 2 users a day with this issue and I canβt replicate it on my end. But I do recall one user contacted support and they mentioned the plug-in randomly assigns an open port and that might be related to why stuff is breaking?
Any idea on who I need to contact or refer users to for this problem? Nothing we try fixes it other than reformatting their computers
As far as I am aware, I don't think StreamElements uses any ports except 80/443 (http/https).
That would make sense for an outbound port, but by default in windows security you canβt even use those ports inbound without administrator level permission and itβs also a highly contested port.
SE live doesnβt use any inbound ports?
no
Regardless if it is a port issue or not, any ideas on what I can suggest? I've been in the IT industry for about a decade and one thing is certain, if you have dozens of users reporting the same issue and they all have one specific program installed.... its not a coincidence.
At the moment we're going to add SE Live to the list of known application issues, what is troubling is nothing we do seems to fix it other than a windows reinstall.
It is partly an NVIDIA problem, but at the same time NVIDIA will just tell me its an SE Live problem because it only happens with SE Live users.
This is the first time I've seen issues reported. If they could join the discord, or at least fill out support tickets the devs could look into it.
We're getting about 2 users a day with this issue, I suppose having them submit a ticket would be easier to organize on your side? Or if they come in the discord, not sure what channel would be suggested. Like I said, nothing we've done fixes it other than re-image the PC so its a tough one.
If they could join here it would help a lot, but a ticket would be extremely helpful as well. Without reports of problems (and logs, etc.) it's hard to know about a problem and troubleshoot
Please create a support ticket by filling out the form here: https://streamelements.com/contact This will ensure staff can track and resolve your issue in a timely manner.
Se live would have to use a inbound port. Cloud backups would have to come from somewhere
So do overlays. It doesn't bind to a port, or shouldn't, it would make a http request for things; same as a web browser.
When setting a goal and selecting the monthly sub count it seems to just be last 30 days rather than say this months sub count of Nov 22(1st til 30th). Is there a way to get that count instead for a custom widget?
Hey! Did you solve this problem? I'm having the same issue. Thank you!
Merch Rotator Widget not showing?
why not @dull lagoon ?
There are two widgets in there. One is disabled and the other one is enabled. Try to disable the one which is enabled and enable the one that is disabled to test
Ok, I will try, thank you!
Does anyone know how to set this one up to get the rotating effect? It seems when I change one it effects them all.
@mild cipher ^^^^
What do you mean exactly? Are you referring to the Animation "Rotate In"?
I also don't get it when you say it affects them all, as there is only one widget in that overlay. Do you have other widgets that are receiving the same effect?
If you want, you can record a small video showing what is being affected and we can try to help you π
So I tried to add an x after bits and subs but then it adds an x after the followers too.
I also canβt work out how to get the animation to rotate in. Or if I have set it up wrong.
Hmm, can you send the screenshot that shows the part you added the "x"?
As regards the animation "Rotate In" to work, you just need to select it on "Animation Enter Options" > "Enter animation"
Iβll take a screenshot now!
@severe shell - but I canβt work out how I get it to show sub, follower, raid, ect - like it just rotates between subs
Then when I switch back to followers it shows this on the end of the name
That is expected, it will only rotate one option (or sub, or followers, or bits, etc). If you want to have another option, you will need to duplicate the widget (clicking on the square icon next to the trash icon on top left), so one of them will show subs, and the other will show bits, for example.
If I do this how will I go about setting it up in OBS?
It doesn't change anything on OBS. You will see it on the overlay
Okay thank you! So would it be two different lines of text on the screen or would they stack?
Two different lines
Thank you for your help!!
Hi!! This widget rotates between multiple events of one type only (e.g. the last 20 follows, etc). If you want a widget that shows the last event of multiple types (last follow, last sub, last cheer, etc) then you probably want the other widget, rotating metrics - https://streamelements.com/dashboard/overlays/share/5cc9fbd0be35f88ec0726126
could we get an updated documentation here?
https://dev.streamelements.com/docs/api-docs/54472038d5274-channel
at the Body parts we have an "example" only
- there is no description what kind of "modes" are existing / accepted
- there is no description what can we put to the "users" like usernames only or maybe we could use ids or something too
hi, i have a question. is it possible to detect if someone has sent a "first-time chat" (the one that twitch specially calls out)? i would like to have different styling for an on-screen chat if this is the case.
I believe that endpoint is to add or set points to users, almost sure it is not to use for context as it says. The modes can be "add" or "set". But I'm not entirely sure on how to use it.
I found the body should be something like this:
{"users":[{"username": "c4ldas"}],"mode":"add"}
However, it only says "Created" with Status 201 and I could not see any changes in the points. @viral patrol, do you know something about this endpoint?
What do you like to do exactly?
There is a key called detail.event.data.tags["first-msg"]. It is "0" (string) when it is false and I think it is "1" when it is true.
window.addEventListener('onEventReceived', (obj) => {
if(obj.detail.listener != "message") return
if(obj.detail.event.data.tags["first-msg"] != "0"){
// do your magic here
}
})
perfect, thank you so much!
i wonder if I could add users to the "users" list by their IDs or I must use names only here
because this way i could skip an api call(s) to get their names
and yeah this API is not for "start a contest" as it says on the site π
actually found this API earlier on this discord with an example where names was used with add mode, but since the documentation is not complete here i was wondering what else can we do with this
Hi not sure where to ask this but Iβve noticed one of my tees is showing up weird in the store. You canβt see whatβs on the front only whatβs on the back any help?
I believe the best place for that is #helpdesk-merch
Hello guys π
I'm having fun setting up a new overlay but I need some data. Is there a way to get the top monthly sub gifter from the data object?
It seems it's not possible, but it sounds very weird since we can pull the all time sub gifter, monthly top cheerer etc ... only the top monthly sub gifter is missing :/
Is it going to be fixed ? Is someone working on it ? π
so with out fail my stream goes red and disconects me from the stream every 1 hour
@marsh fog @severe shell
A few days ago I made a script to pass all users points from one channel to another.
modes are, as @severe shell said, "add" and "set".
for usernames I used usernames, I didn't try Ids because the GET points only gives username and points.
So the body must be something like this:
{
"mode": "set", // "set" or "add"
"users": [
{
"username": "username",
"current": username-points,
},
{
"username": "another-username",
"current": another-username-points,
}
],
}
There's a limit of 1000 users per request.
That's nice! How did you find out it also needed the "current" key?
I think I found out searching in this channel, but I can't find it now.
here it is
<#dev-chat message>
@hexed vector great! Came from pjonp, then...
Well, I looked for on older posts and found this from LX (which is the staff who work on this part). So now it makes more sense!
#dev-chat message
we are working on updating the documentation.
Hello
I already tried asking but I don't think anyone was able to help before
Does anyone know how to make the background of something blurry?
Best way I can visually explain it is with the iPhone
The background of this is blurred but stuff still moves and you can see it
If speaking in terms of widgets and CSS, you just apply a blur filter or backdrop-filter (https://developer.mozilla.org/en-US/docs/Web/CSS/filter-function/blur / https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter)
It's the chat window over the video
As for those links I don't know how I'd add that to what I want to do
Is there an ongoing issue with the chat box?
Random ask but does anyone have a command that pulls ya tiktok follower count an latest video ?
Is it possible to make a custom alertbox but for a non-twitch event instead? (so an alert is triggered by an API)
Yes, it is. You can use HTML, CSS and JS for that.
On your overlay, go to the + signal > Static/Custom > Custom Widget
Click on "Open Editor" and delete everything from HTML, CSS, JS and FIELDS tabs
Then you can start working on your own widget and create your custom alertbox.
If you have a more specific question, we can try to give some more directions, just let us know π
Hello there, not sure if this is the right channel- does anyone know a tool or method to streamline question box/cards? Do OBS/SE support that natively or through a plugin maybe?
basically AMA integration (think marshmallow and like)
if you have any idea or suggestion please feel free to ping me :)
Hello,
I have a little problem, I have to wait 24 hours without streaming the game, except that the progress bar is stuck at 23:55.
In addition, on my stream with the overlay, it shows 33 new PC players and on the dashboard 32.
I think the dashboard is blocked at 11:55 p.m. and 32 new PC players.
Can you help me ?
I would like to end the campaign. Thanks in advance.
Campaign and sponsorships are only handled by the staff, so the best thing is to open a ticket with them
On #support-ticket you can find instructions on how to open it, so they will be able to contact you.
trying to do an html ticker widget on my overlay. and its not displaying. what am i doing wrong? is this not possible?
when i input the html for it, it doesnt not display the ticker tape, instead just a link for trading view, which is also in the code
the way its supposed to look
this is the way it looks in stream elements
anything over here that needs adjusting?
SE blocks that type of embed script execution, it seems... You can see this in console:
Uncaught DOMException: Failed to read the 'cookie' property from 'Document': The document is sandboxed and lacks the 'allow-same-origin' flag.
idk if this is where to post this but i have been having an issue where one of my viewers can not redeem anything on stream despite having points, i suspect its because they changed their name about 2 months ago. Their name is RigotheGreat but it WAS rigomendez07. My account id is 6132d5aab370f5b4bbf95543
I this something someone can help me with?
so not possible then?
no point in putting it in SE. You can just make a local .html file or throw it on codepen and put it in obs
i just did that. but used the browser capture on obs. then just transformed size. thought streamlabs would be better at first. thanks for the help
i will use streamlabs for the other features
Logout/login from your Streamelements account will fix that. Try it from here:
https://streamelements.com/logout
That will refresh your token with Twitch and people will be able to redeem points again.
After that, if there is an specific user who cannot redeem it, ask them to do the same.
Hi,
I'm using the "Streamelements Events Rotator by CO6Studios" and I would like to increase the delay between each notification animation. I looked around in the code but I couldn't find that specific setting.
Can anyone point me in the right direction please ? Thank you.
Hey y'all, I've submitted a widget yesterday but I needed to change the code today to implement more stuff, any way to update the submission or something like that?
If the links are still the same, it doesn't need to update the submission. The code analysis take some time to be reviewed, so you don't need to worry about that as your submission was sent yesterday.
However, if the link changed (usually jsfiddle put a /2/ at the end of the address, and your submission finishes with /1/), you can submit it again.
From the form, on part 7, you can inform that you had submitted the same widget before but needed to update the links, so the previous one can be ignored.
I've got some html/css/js code from github for a custom Xbox achievement follow notification.
I've put it into CSS editor for a follow alert on Streamelements and everything is working fine but where the little trophy icon shoul be, there is nothing.
I'm not very good with code so wondered if someone could help me with what i would need to change to add the logo to the alert?
Is it possible to communicate between multiple custom widgets and thus exchange JSON objects, for example?
Probably you will need to upload the images to SE and select them from the Editor for follow notifications. If you share the place where you got the code, we can have a look at it and maybe give you some better directions π
You can use SE_API to communicate between different custom widgets as they all will receive the alert:
https://dev.streamelements.com/docs/api-docs/775038fd4f4a9-stream-elements-custom-widgets#se-api
Using SE_API.store.set('keyName', obj) will store an object on that keyName. This will emit an alert with the listener "kvstore:update"
Using SE_API.store.get('keyName') you can retrieve the object in that key
Unfortunately, it is not possible to delete the keyName once it is created (there isn't a SE_API.store.delete)
If you use SE_API.store.set on the same keyName, you will replace the value of it.
The good thing is that you can create as many keys as you need with different names (maybe there is a limit, but I don't know what it is)
Ah, I see. I just tried it and it works. Only this event is fired multiple times, although I only set a key once. Looks like a bug :/
Yeah, it will fire one event for each widget...
Urgh. Then I guess I'll have to work with IDs, which I'll then cache to prevent an action from being executed multiple times. Thank you very much for your help!
Well, if you don't need to store the data, you can use the endpoint to send an event via websocket. This will emit an event with listener "event:test":
window.addEventListener('onWidgetLoad', async (obj) => {
// Get the apiKey and accountID onWidgetLoad
apiKey = obj.detail.channel.apiToken
id = obj.detail.channel.id
})
fetch(`https://api.streamelements.com/kappa/v2/channels/${id}/socket`, {
"method": "POST",
"headers": {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": `apikey ${apiKey}`
},
"body": JSON.stringify({
event: 'event:test',
data: {
//Your object here
}
})
})
So you just need to read it with onEventReceived
window.addEventListener('onEventReceived', async (obj) => {
if (obj.detail.listener == 'event:test') {
console.log(obj.detail.event)
}
})
The good thing is that will trigger only once.
Is there possible that I want to change my tipping link?
It is not possible to change it to a personalized URL
Thanks for the reply. The github link is
https://gist.github.com/anonymous/512a198426229615841664f3f0f07683
Is there a way to get actual helpful error messages when developing widgets? Seems like it always points to srcdoc and it's a different error depending on the browser.
can you show us about which error are you talking about? most of the times you can understand where the problem is reading it
The source of this is when I'm trying to destructure field data to get a value like so:
const {spinCommand} = fieldData;
{spinCommand} is being rendered and it probably contains a command like !start, that is what is causing the issue
So destructuring single variables out of objects is not allowed since it's the same syntax as rendering? Seems like streamelements should check to see if const, let, or var are in front before trying to render it.
since spinCommand seems to be a custom field name, you should be good using a different var name
Yeah if I don't destructure it's fine. I just think this is a weird gotcha when destructuring seems best practice and multivariable destructuring works no problem.
Just don't use custom fields name as your variables name while doing destructuring
There is an external CSS that is not working on the code. I believe in that CSS has information about the xbox-logo
Also, if we check the preview on Codepen where the code is hosted (https://codepen.io/FOUR20BlazedIt/pen/rJvwbO), we can see there is no information about that either, it is just a green circle..
But you can try to get an image and add in there. Just add the following information on CSS part of the code:
.xbox-logo {
content:url(your_image_URL_here);
}
You can upload this image and use the URL for that:
That's awesome thank you @severe shell
It is going to be like this
Yeah that's what i wanted. This is awesome thank you. I tried to see in the code where i could add/change the image but didn't know what code i'd need to enter it
Not sure if this is the right thread for this but I would like for chat users to be able to request songs. However, I also do not want anyone to be able to post any link into my chat. Whenever someone does a song request the user is timed out in chat and the song request never goes through. I have tried whitelisting youtube.com but it still does not work. Is there any way to be able to have song request without allowing any link to be posted in my chat?
@unreal yew have them use the videoID found at the end of the link.
For example this is the latest video by Wildcat from Among Us DFUJcSRhntY
Thank you will give it a try
hey the website doesnt count the followers i alr had before start using the website so i cant setup my follower count properly can anyone help me
<@&382267076632379392>
Hello, I was wondering if this is the place to post about an issue I'm having with coding for a custom Chatbox? I'm pretty much done, just can't find a way to change one small thing that I need to alter
I'm trying to make it so the background image changes if a Mod is talking vs other chatters, the background is a box
And I have two images, one orange, one green
You can go to https://streamelements.com/dashboard/session and click on Reset Session. It will reset all values and reload your totals, this can make the correct values to be restored.
However, you will lose the current values you have set before
You can post it here, if we know how to help, we will π
Thank you, what would I need to post exactly? I'm effectively got two identical images (I'll add one for reference), working as the Background-Image for my chatbox, however if a mod has said something, I'd want the background image to be a different one (the same, but the orange is green), would this be a JS line to add somewhere?
You can check if the user sending the message is a mod, then set the background color to green
This is a custom image working on the background-image parameter, I don't think it would work like that, right?
But I assume I could do something like check if the user is a Mod and then make the background-image different?
I'm just not really sure how to do that ;-;
Yeah, I rather use html elements but you can also use different images.
Do you know what script I'd have to type where for that?
You should look inside obj.detail.event.data.badges for infos that tell you if the user is a moderator or not, where obj is the message event obviously. Then I don't really know how you build the HTML dynamically but you most likely wanna set the background-image CSS variable to the other background URL.
Sorry for the silly questions as I'm really new to HTML/CSS and never really used js, so would I type this in the js tab? I'm using the GitHub StreamElements base, if this helps (and none of the js has been altered)
And this is where the image is in the CSS
To which element/class did you set the background image?
lol, gotcha
Oh, perfect timing, LOL!
Ok so, you'll need to add/edit a few lines.
Add a new line after row 109
let isMod = obj.detail.event.data.tags.mod == 0 ? false: true;
Now you gotta pass this variable to the addMessage function so, in the line after add , isMod so it will looks like addMessage(username, badges, message, data.isAction, data.userId, data.msgId, isMod);
Next, you gotta do basically the same into the addMessage function, so from this function addMessage(username, message, badges, user_id, msg_id, color, isAction) { to this function addMessage(username, message, badges, user_id, msg_id, color, isAction, isMod) {
Then add a new line before const element declaration inside addMessage function
if(isMod) ifMod = `style='background-image: url(${'INSERT_YOUR_URL_HERE'}) !important'`;
Now you can overwrite the first line into const element and add the background if needed, so from this
<div data-from='${user_id}' data-id='${msg_id}' class='message-row {animationIn} animated' id='msg-${totalMessages}'>
to this <div data-from='${user_id}' data-id='${msg_id}' class='message-row {animationIn} animated' id='msg-${totalMessages}' ${ifMod}>
Tried to make everything clear, ask if you need help understanding
Thank you, I'll see how I get on with it in a little bit and let you know! β€οΈ
So for the standard shoutout command I made- !so username Check out @${1}, they are playing ${game ${1}} at https://twitch.tv/${1} my issue is that sometimes a different mod will put the @ before the username and then it messes the link and it ends up being https://twitch.tv/@user and then shoutout is useless. Is there a way for the bot to check for the @ and then eliminated it so it doesn't post in the link?
ok i figured out how to fix it, if anyone is looking to do this. I changed my shoutout command to this and it never includes the @ in the link: Check out ${1}, they are playing ${game ${1}} at https://twitch.tv/${channel ${1}}
This worked perfectly, thank you!
is there any way to delay the text on alerts so it does not come out like this?
like make the text come in about 1 to 2 seconds after or so
You can control elements opacity along time using CSS animations https://www.w3schools.com/css/css3_animations.asp
On the alert box, click on the gear icon > Go to Animation settings > Text appearance delay
Hi there!
What exactly is returned by the bot/:channel endpoint in the logs field?
I tried with several streams and is always empty 
hmm I was expecting it to retur the past chat or smth...
I asked the staff about it and they are checking that internally.
I also tried with some channels and it always return an empty array.
Any Devs in here? I have some information to share that may be useful.
What happened?
- Tried to open Stream Elements OBS (as admin)
- Unsuccessful this time
- OBS flashed up, then disappeared
- OBS appeared in system tray but disappered on mouse over
- Camera lights came on briefly showing for a second OBS had picked them up in the scene
What did I do?
- Deleted and replace each file one by one to see what was causing this issue from : %appdata%\obs-studio
- Once this file was removed, OBS launched again properly
- Problem file was: obs-streamelements-core
- Below/attached are the contents of that file in notepad (in case it contains any useful information as to why OBS failed to launch:
Hello everyone!
I'm looking to add the name of a random current viewer to a subscriber alert message. I know I can pull the name of a current random viewer into a chat message by using ${random.chatter} but is there a way to do the same to an alert?
For example, I'm looking for the equivalent of "{sender} gifted a sub to {name} and ${random.chatter}'s head exploded."
ive got a pipedream set up to port over Kofi subs and donations, but is there a way to tie in a purchase on another site or commission through kofi or some other site to the alert box for merch purchase?
im not seeing a way to add custom items to the se merch store, so thats a no go as i find the design your own product options to be bland
I have tried and tried and tried and tried to set up a new bot name, now my bot doesn't work at all
@pulsar willow ‡οΈ
If your commands recently stopped working and you're using SE.Live and a custom bot name do the following:
- In SE.Live, click on the hamburger menu (three stripes) at the top left of your activity feed
- Click on Stream Settings > Custom bot name
- In the Custom bot name field select Set custom bot name, not your already existing username (with capital letters). Note: If you already connected an account that way, the third entry will show as the account name (see image https://i.imgur.com/re4theQ.png).
- Scroll a bit down and click on the purple Connect Custom Bot Account button
- Log in as usual and Authorize the custom bot name
- Back in the Activity feed, click on the Send Test Message button and check if your custom bot name starts working again
I have done that numerous times.
@pulsar willow ‡οΈ
Please provide your account ID found at the top of this page: https://streamelements.com/dashboard/account/channels This ID is public info and safe to share here.
Has twitch recently changed how you pull subscribers ?
no
I was wondering if anyone could help with this? I had this working before with the help of someone on here, but I wanted to make it so if they're a Mod it changes the BG image AND colour of their name, but when we altered the code like this, it's now not doing either, any ideas?
Answering your question, that key used to have logs of the chat history, but it has not being used for many years, as Twitch terms do not allow that anymore. So it will always return an empty array
Just looking at the customColor variable (didn't have time to test it), you are opening and closing quotes using the same one in different places... You should mix between single and double quotes as you have quotes inside quotes:
style='color: ${"123456"} !important'
Thank you, I tried changing that, but still no luck!
Ah well, I guess nobody knows. Thanks anyway.
There is no way to do that unless you create a custom code for it
That part of your code is confusing, can you send the text here? You can copy the entire JS tab in a notepad and attach it here, so we can have a look at it.
Here you go!
You closed the quote in the wrong place. ${customBG} and ${customColor} should be outside of the quotes, this way:
const element = $.parseHTML(`
<div data-sender="${uid}" data-msgid="${msgId}" class="message-row {animationIn} animated" id="msg-${totalMessages}" ${customBG}>
<div class="user-box ${actionClass}" ${customColor}>${badges}${username}</div>
<div class="user-message ${actionClass}">${message}</div>
</div>`);```
Thank you, that's helped in terms of the background, but the text of the name is staying the same colour irregardless still
Change the Nickname color to same as message text
Thank you! I misread that and thought it would change it to white like the other text, thank you so much again! β€οΈ
Hello! I am making my first twitch chat box overlay and I am looking for a toggleable way to remove the colon from the twitch username. Would anyone know how to do this using css?
Hi @heavy coyote unfortunately we cannot access the random.chatter variable from a custom widget, so that would not be possible
in reference to the chat widget on the github. You'll need to remove it from the username variable let username = data.displayName + ":";
Ah thank you! I must've skimmed over that line so many times
I am looking to get some help with Harvey Toad face's Stream Marathon widget. A friend basically wants to add follows and channel points to the timer when people do those. I guess my main question is there a proper syntax for follow and channel points in stream elements, or is there somewhere i can go in stream elements to look at the syntax and vocabulary?
So to add followers would it just be follower-latest ?
follower-latest is the option for followers, indeed.
However, in order to use Twitch channel points, the channel point needs to have the option "Require Viewer to Enter Text" enabled. Otherwise, the redemption will not be recognized by SE when it happens.
A channel point redemption has a key called obj.detail.event.data.tags["custom-reward-id"] on message listener. So if that key is present, you know it means a channel point redemption
Thank you! Does message listener auto capture how many points were redeemed with it similar to a tip?
and would that mean the option would be custom-reward-id-latest ?
It doesn't... The only reference to channel points on that is the custom-reward-id key.
The option would be just custom-reward-id... And then you can compare if the ID is the same as the channel point redemption (you will need to check it first)
Okay so i would need someway to pull the amount from the ID.
As the amount is a fixed value you set on Twitch channel points page, maybe you don't need to worry about it and just make the amount a static value on your code.
Yeah that might just be easiest. She wanted to add to the timer based on the points used, and the amounts are different values for different redemptions.
Thank you for all your help by the way!
Well, you can use this endpoint to get the amount and many information about channel points on the channel, but I'm not sure if that is cached and if so, how long it takes until gets a new value. You can test it anyway (just replace the TWITCH_USERNAME):
https://jebaited.net/twitchItems/TWITCH_USERNAME
I got follower working π Having not programmed in years I will take it
So trying to walk through this, here is the code for if someone tips:
else if (listener == 'tip-latest' ){
amount = event["amount"];
addTimeToCounter(toAdd * tip_time, event, "tipped");
And here is the code in jerbaited for hydrate:
:"Hydrate!","__typename":"CommunityPointsCustomReward"},{"id":"43219a94-28df-4010-a9d4-79055804052d","backgroundColor":"#9147FF","cost":500,"defaultImage":
So would it be possible to pull the cost? Something like
else if (listener == 'custom-reward-points-latest' ){
amount = event["cost"];
addTimeToCounter(toAdd * tip_time, event, "points");
Or is there someway to look up the cost based on the ID?
Also if there is any SE syntax document I can look all this up in and read through I would gladly go that route π
A separate question: Is there anyway to create commands that would not show up in twitch chat that the owner or a moderator could use? Something like !add1minute so we could add minutes to the counter but it wouldnt show in chat?
There is no listener called "custom-reward-points-latest". For channel points you can use this:
window.addEventListener('onWidgetLoad', async (obj) => {
const jebaitedAPI = await fetch(`https://api.jebaited.net/twitchItems/${obj.detail.channel.username}`)
const jebaitedJson = await jebaitedAPI.json()
customRewards = jebaitedJson[0].data.community.channel.communityPointsSettings.customRewards
})
window.addEventListener('onEventReceived', async (obj) => {
if (obj.detail.listener == 'message' && obj.detail.event.data.tags["custom-reward-id"] == "43219a94-28df-4010-a9d4-79055804052d") {
for (const element of customRewards) {
if (element.id == obj.detail.event.data.tags["custom-reward-id"]) {
hydrateAmount = element.cost
console.log(hydrateAmount)
}
}
}
})
holy crap thank you.
You can add the following on window.addEventListener('onEventReceived') block:
if( obj.detail.listener == 'message' && obj.detail.event.data.text == '!add1minute' && parseInt(obj.detail.event.data.tags.mod) ){
// Code to add 1 more minute here
}```
I'm just making a simplified version so anyone can understand and use in case they need. Of course, there are better ways to optimize it and tie the code to be more concise, but every time we add a new feature, a new monster member is created, so we end up with a new Frankenstein
lololol I completely understand. Again thank you so much for your help!
Hello, is there any issue with the /giveaways API endpoint? All endpoints work fine, except this one, which gives me 404 Not Found.
Found it, use v3 instead of v2 endpoint π
well, now, /giveaways/{giveawayId} works, but did endpoints for starting, listing joined users, etc. change? Because those give me 404 error now
Here you can find some endpoints I collected some time ago.
Create giveaway
curl --request POST --url "https://api.streamelements.com/kappa/v3/giveaways/ACCOUNT_ID/" -H "Accept: application/json" -H "Authorization: Bearer <JWT_TOKEN>" -d "title=Test_Title" -d "botResponses=true" -d "description=Test_Description" -d "cost=0" -d "subscriberLuck=3" -d "subscriberonly=false" -d "freeTicket=true" -d "maxTickets=1"
Start giveaway
curl --request PUT --url "https://api.streamelements.com/kappa/v3/giveaways/ACCOUNT_ID/GIVEAWAY_ID/action" -H "Accept: application/json" -H "Authorization: Bearer JWT_TOKEN" -d "action=start"
Stop giveaway
curl --request PUT --url "https://api.streamelements.com/kappa/v3/giveaways/ACCOUNT_ID/GIVEAWAY_ID/action" -H "Accept: application/json" -H "Authorization: Bearer JWT_TOKEN" -d "action=close"
Not sure about lising joined users and how to change the giveaway (maybe a PUT on the giveaway ID)
thank you, the /action finally worked π
If you want to refund the giveaway, you can use "action=refund"
To draw a winner, use "action=winner"
just a correction for stopping (closing), the action is "close" instead of "stop"
Thanks! I have one more thing for you:
Listing users who joined the giveaway:
URL: https://api.streamelements.com/kappa/v3/giveaways/ACCOUNT_ID/GIVEAWAY_ID/entries
Request type: GET
Headers:
Accept: application/json
Authorization: Bearer JWT_TOKEN
thank you π
Hello! When editing Fields in custom css, it seem to be unable to translate underscores in a value, resulting in {{fontName}} not adding the correct value, causing the widget to revert to a backup font.
"type": "dropdown",
"label": "Font Family",
"value": "supernatural",
"group": "Font Settings",
"options": {
"supernatural": "supernatural_10_02"
}
The font name works in CSS if set directly there, so parsing issue in Fields/json? All other fonts work, with the only difference is the underscore. I tried with another font with an underscore, same results.
I can set it directly in CSS, but defeats the goal of having field dropdown options. π I was wondering if there is a workaround? I do not work with json often enough to figure out, or maybe an editor bug. Thank you!
Left side is the actual font name. Right side is the name that will appear to the user. Check the example below:
Note that in my code "Triakis Font" has double space in the name, so I had to put it in single quotes inside double quotes.
"fontName": {
"group": "Font Settings",
"type": "dropdown",
"label": "Font Name",
"options": {
"supernatural_10_02": "Supernatural",
"'Triakis Font'": "Triakis Font",
"Algerian": "Algerian",
"Agency FB": "Agency FB"
}
},
Ah, that worked. The something dropdown example and a streampack i was looking at for examples of doing field dropdowns confused me then.
Weird that it did not break for me with other fonts, as some of value names i used before did not match exactly to the font-family name, and worked.
Thank you for the help! β€οΈ
Merch Rotator Not showing.
By any chance, say I wanted to add the option for it to change for Subs too, how would I go about that and make sure that one is prioritised based on if they are both Subscribed and a Moderator?
To know if the user is a mod, sub, vip or broadcaster, you can use
const data = obj.detail.event.data
const channel = data.channel
const user = data.nick
let userState = { // {mod: 1, sub: 1, vip: false, broadcaster: false}
'mod': parseInt(data.tags.mod),
'sub': parseInt(data.tags.subscriber),
'vip': (data.tags.badges.indexOf("vip") !== -1),
'broadcaster': user === channel
}```
And then you can check using
```js
if(userState.sub){
// code here
}
else if(userState.vip){
// code here
}
else if(userState.mod){
// code here
}
else if(userState.broadcaster){
// code here
}
Would that be changing these elements? (in the order that you posted it?
Instead of isMod, you can use the code I sent. That will check if the user is a mod, a sub, a vip or broadcaster
Sorry, so just to triple check, all I need to do is change the "let isMod" on the first one to both parts that you put in?
And then on the second part changing the if isMod to the other parts and have the customBG and customColor lines between each one saying what they should do?
I think
lmao
Remove the let isMod and instead of if(isMod), you put the second part of the code.
Try to test it and check if that works for you.
Thank you!
I think I made a mistake here somewhere? I also completely deleted the line;
"let isMod = obj..." one in the first screenshot
Thank you!
The part that says // code here you can add the customBG and customColor you want
Iβm trying to create a command in my channel that is very similar to how !quote functions, but I want to use it for facts. How do I do that? (And is this the correct place to ask?)
Example: !facts add XYZ Results: !facts Message: XYZ #
Got it, thank you! If I just leave "//code here" there will it still work, if I wanna keep this as a template or should I delete that section?
Anything that start with // is just a comment, you can leave (or delete) it if you want and can add more as well to consult later. It does not make any difference to the code execution.
We usually put comments to explain some part of the code
You can just change the command from !quote to !facts. Isn't that good enough? (yes, it is the correct place to ask)
I could, but I was hoping to also keep the !quote function available
I had one method setup where I have it done manually in streamelements for ${random.pick βfactβ} but thatβs limited on text and canβt add it from chat. It also doesnβt have it in a nice, numbered list format
Well, in that case you can use the Fyre API with pastebin for that:
https://thefyrewire.com/docs/api/twitch/pastebin/
You can create a new paste on pastebin.com (I recommend that you create an account in there so you can edit your paste). Each line of the file will be a random text
After that, you will have a link for that paste, the last part of the link is the ID.
You can create a command for that using the following (replacing PASTEBIN_ID with the ID of the paste you created):
${customapi.https://api.thefyrewire.com/twitch/pastebin/PASTEBIN_ID}
The best replacement for that is the Fyre API! You can add as many items you want, and do not need to change the command, just change the paste adding and removing lines
Thank you!
Looking for some help with alerts not showing videos chosen. Iβve done everything Iβve found in YouTube/google but they donβt show up
hey i just saw someone talking yesterday about the quotes usage. It seems for me the quotes command are entirely gone from my modules can i get any help on that?
Commands page looks like it's disabled there. Not seeing !quote here? https://streamelements.com/dashboard/bot/commands/default

Hello, trying to get alerts setup, however tip messages do not appear unless I add it to innerhtml, which then messes up the spacing and text color. How can I add tip messages as normal text?
@still granite ‡οΈ
Text not showing up over your alerts? Go to the Advanced Text Settings and set the top margin to 50, you can work your way to the right position from there.
thats not an option with custom css enabled though
How do I share an overlay if I've made it for someone, like on the Widget Share page in the Discord?
That is limited to certain people/brands. Unfortunately those that don't fit into either of those would need to be added as an editor under the other user.
Would there be a way to apply/fit into that categories in any way? Or how would it be best to send the Alerts/Chat Box as well as all of the code over to them?
Or would it be a lot of copying and pasting pretty much?
I imagine
If it's entire code and not asset based like the default alertbox then I'd suggest something like codepen with instructions.
If it is like the default widget then invite is the best solution.
Which parts of the API work for YouTube?
I read somewhere that only certain portions of it will work with YouTube, and to get the most functionality, I would need to use Twitch...
It's a custom widget using HTML, CSS, JS, etc. So the best bet is CodePen and instructions, probably, from what you're saying, right?
100% in that case.
Got it, thank you!~
Anything using actual files would be editor.
Got it, yeah, it's only using Images/Videos that I uploaded to SE, but they're using the Video Address in the code
Hey,
I want to sync my tipeestream tips with streamlabs(trigger overlays etc.)
Do I need to apply if I only want api acces for my channel? And if yes how long does it take?
Taking into consideration you meant Streamelements and not Streamlabs (two different companies), you just need to send the tipping notification to this endpoint:
https://dev.streamelements.com/docs/api-docs/7e632a4cecfe1-channel
If you set the key imported as true, it will notify Streamelements and generate the default tipping alert on overlay.
How do i setup a store
According to the docs and on my past works the obj.detail.listener should looks like widget-button when a button from the settings menu gets clicked, instead I'm receiving event:test listener. What's up?
I have old codes that the widget-button value is in obj.detail.event.listener, and when checking obj, it is really in there.
In the documentation it shows obj.detail.listener, but on the code example for Button click, the code shows in obj.detail.event.listener.
I will ask the team to update that part
Yeah I saw it inside obj.detail.event.listener too, thanks!
Hey guys - according to the widget doc there should be a " data["subscriber-session"]["count"] - Subscribers since session start " within the obj. But it seems to be missing in the onWidgetLoad aswell as in the onSessionUpdate Event ?
The chat bot needs an option for bulk subscriber messages. If you have chat alerts on and somebody drops a large amount of gift subs, the bot spams chat and gets hit with a rate limiter by twitch
Also, since it seems like the bot can in fact send back to back messages. I still don't understand why you can't implement multi-part chat commands in the bot
@stark rune ‡οΈ
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.
I believe that key is removed when data is reset, so you can use ["subscriber-session"]["count"] or simply check if that key doesn't exist, set the value to 0. Not sure if that is expected, but that what we usually do as a workaround.
ok - strange though that it does not get triggered by an emulated event
Normally when Iβm messing with this. Iβll set the current session amount to 1 that why I can grab the info to verify things are working
If you are meaning a StreamElements Loyalty store then probably best place to ask is #helpdesk-twitch or #helpdesk-youtube or #helpdesk-facebook etc, but if you are meaning a Merch store then you'll get a better response from #helpdesk-merch rather thank asking in the Developers channel.
Hey yall, I want to write a widget (or use one ) that includes chat messages in loyalty counts. So essentially, the. more someone chats, the more their loyalty goes up.
I've started to mess around with setting up user counts (and incrementing them when someone chats) using the SE_API store but When it comes to finally displaying say, the top 5 users, I'm not sure the best way to do that.
Is there an SE store api method that just essentially gives me all keys so I can pull the values out or something? Rather than the .get() method that requires knowing the key already
hi guys, im looking for a widget that help me in a subathon in youtube, that add time in real time from super chats, subs and memberships, somebody know about something like that? 
Hi, I've got some issues with the custom CSS that I can't seem to work out. I'm trying to transfer my animated twitch alerts to trovo by using the duplicate alerts feature. According to the tutorial I'm using, the next step is to copy and paste the custom CSS inputs (HTML, CSS, JL, Fields) from the twitch copy to the trovo copy, but all its giving me is the default shark. I've tried 4 or 5 times now with the same result. I'm not familiar with code so I don't know what to do now. The twitch copy is unaltered and runs as normal. I would appreciate any advice! Thanks.
You can use this endpoint to show the top 5 loyalty users:
https://api.streamelements.com/kappa/v2/points/${account_id}/top?limit=5
that's great except I want to take into account chatting as loyalty and although message events are covered, they don't seem to be used in loyalty
You are referring to loyalty points, right?
In this case if you want to add loyalty points to users every time they send a message, the easiest way would be using jebaited.net. There are some pinned messages explaining how to use it. So you could run the endpoint each time an user send a message and you can set how many points
It would be great if we know the code you are using.
Also, Twitch and Trovo configuration is similar, but probably they have some differences between them.
awesome thanks! I'll look into that
Sorry, I'm not familiar with code. π Do you mean the alert type (ie, from stream elements or in my files)? If so, its the stream elements christmas alerts, I got them from the gallery.
Can you give the exact name of the alert in the galery? I looked for Christmas alert in there but could not find any with that name. A screenshot would be useful as well
is anyone aware of a reliable way to detect where a custom widget's code is running (e.g. within the overlay editor, in OBS, etc)? I feel like I've seen this called out in a widget before, but now that I'm looking for an example, I of course can't find it in the many overlays I've added to peek at. thanks!
This is very strange, I can't find them either now.... I'm reusing my setup from last year, so perhaps they're not available anymore?
I can give you screenshots of the code I'm trying to copy paste as well if that would help.
Why don't you try to duplicate it to your Trovo account? Click on the three dots and select duplicate
after some logging and clicking I found detail.overlay.isEditorMode in the onWidgetLoad event data; this might be enough for me for now, but still would welcome any other insights folks might have
Hello
I have a problem
Emulation sent but alerts are paused in the activity feed
Why??
Please help me
I have already, the next part of the tutorial I watched was to copy/paste most of the css code over to the trovo duplicate. That's what's not working, I've recopied several times to make sure but same results.
I'm getting into modifying a custom chat widget, is there any better way to see my changes besides using the SE code editor and browser console? it's super tedious to constantly close it out and send a test message, then open the editor back up again
@nocturne ferry https://github.com/tehbasshunter/localdev
ah, unfortunately there doesn't seem to be a chat message emulation option π¦. definitely saving this for later though, this looks great!
I feel dumb asking this, but I see under add (+) button, under "STATIC / CUSTOM" I can add video... and I see where I can upload files and it will store audio under "SOUNDS", but how can I add a sound to a custom widget without setting up as an Alert? Or is setting it up as an Alert the way to go about it?
custom fields
[Static/Custom]->[Custom widget]? or am I still looking in the wrong spot?
nvm, I think I can accomplish this with [ALERTS]->[Store redemptions]. Thanks
Hello, good evening, could someone help me? I have a problem with the "end credits" widget, I take as a base the one that is already made for twitch and modify it to work with facebook but when the session list is displayed it only shows 25 elements, could someone help so that I can show the complete elements, I think it must be something very simple but I am not visualizing it.
Put a variable for each event.
I kept the structure that was already defined and only adjusted it to what I needed
I left this part exactly the same
does anyone know how to fix the right edge getting cut off? this *does* get centered if the widget width is large enough (~400px) and works well the wider it is, but once it gets to the 350/300 mark the right side of the message container (not the text) starts getting clipped no matter what. convinced this is an issue with my css
rn i "fixed" it by having having it reduce the width when it reaches 400/300 px wide but i'd still like to know what's causing this
here's the css: https://pastebin.com/yNCTg2X8
not sure if answers are open to anyone, but it looks like an issue I had with not enough padding. I wonder if the font size is just too small for .4em to be enough padding to account for the shadow
SE only store the last 25, that's the reason
Thank you very much for the reply! π€
Would there be any easy way to keep a log of messages that are identical via using the custom widgets?
Basically what I'm trying to do is create a widget that can read messages in TTS if the messages are sent enough times. I've already got the TTS portion working, I just need to figure out a way to read if a message has been sent enough
I just need a way to store variables
I'd use a dictionary where keys are the actual messages, this way you'll be able to check if the message already exist and then you can store what ever you want in there. I don't really know if that the best way, probably there are a lot more using different kind of storage or even using dictionaries..
I figured it out, I have no idea why I was using the actual text editor in streamelements to code when I could just take it into something that actually lints...
Late night no braining I suppose
unfortunately its not, it happens regardless of padding. forcing the the root class to have overspill visible "fixed" it though
I have a basic cheers label which is "{name} {amount} bits." Is there any way to make the {amount} a different color?
You're in luck. <span style="color:red;">VARIABLES GO HERE</span>
Legendary, thank you!
<span style=color:red>{amount}</span> bits <b>{name}</b>
All of the text is still white
You forgot some " "
<span style="color:#FFD700">{name}</span>
This works with stream labels, right?
It should but without checking personally no idea tbh
maybe put a space between : and # for the color?
Alright, I'll give it a crack
Still no luck
Does it work with color names?
Color names?
Nah, it was still white even with the colour name
Previously this would work since I had answered that here. Lemme see if I can poke someone who could answer this.
It seems you cannot change the color of variables using in-line tags. You can change the text, but not the variables. You can see here the x {amount} is in the tag, but only x changes
Even adding that !important, it does not make any effect
it's because the variables get muched up to make them wiggle
also, doing this messses with the tts if you use it
so you're probably best off just using the highlight text settings, or going custom css
hey there, trying to set up a chat command that links my latest youtube video. It works fine and is easy enough, however the functionality seems to freak out when there are premiers set on youtube. any ideas?
freakout as in, it links to a premier, but not the premier thats scheduled to release the soonest. kind of just randomly selects any premier regardless of date
id also love to know if there is a way to trigger a few second video preview of my latest youtube vid as an overlay, via the command
hello, I need help with the leaderboard extension on Twitch. It shows my Cheers, but no data for my Subs and Chat Stats or Points. Any help? I tried reddit and got redirected here. Yes, I have changed my Twitch username twice in the past before though. I heard that may be a factor in the issue. Though this is my first time using StreamElements add on.
As you did not send the command, there are zero chance to know how to solve that.
I know an API for that, which uses decapi.me. If you are using that, the best option is to contact them on their discord: https://decapi.me/
If it doesn't use decapi.me, the best way is to try to connect with the server developer from the API link of your command.
That would need a custom widget, and I don't know any that does that, unfortunately.
Hi all, I'm using streamelementsNet to listen for tips and trigger things in my stream. This was all working fine up until Nov 21st and then I stopped getting OnTip Notifications. Did something change that I need to update?>
Authorization seems to work fine. I checked the JWT token and that is correct. Any other things I can check?
Looks like if I subscribe to the raw messages I see it come through
Realized that it was a dev thing and not twitch. βWhenever I tried to set the duel up the max is now only 100k and it wonβt work when I put the max amount >100000 βsomething went wrongβ any clue?β
Yes, you can use decapi endpoint for that. In fact, there is a basic overlay that uses that:
Decapi overlay: https://streamelements.com/dashboard/overlays/share/5e3d4f859b7bf7b57841be9b
Hi, i'm planning to try and control SE stuff via CLI as I'm managing multiple channels with sponsors.
Is it possible for me to start using the API to atleast test the possibilities before i go build a full application for use?
More specifically, it will probably be limited to timers and commands
which flavour regex streamelements use?
You can always use the full API with you JWT token.
Google RE2
https://github.com/google/re2/wiki/Syntax
Hello Guys,
In StreamElements Reward Store, there is a field where you can add gift cards that are immediately redeemed by the user when they are redeemed. Is it possible for these codes to be requested from an API endpoint rather than being pre-populated and delivered to the user who redeemed them?
To clarify, I have a store where I can redeem prepaid codes through an endpoint. I would like to automate streamer reward stores by connecting StreamElements to this endpoint.
It is possible to have the codes requested from an API, you will just need to update the item with those keys.
You need the Account ID, Item store ID and JWT Token
In order to get the Account ID, you can get it from here (key _id is the account ID)
https://api.streamelements.com/kappa/v2/channels/{username}
You can get the Item store ID here:
https://api.streamelements.com/kappa/v2/store/{account_ID}/items
JWT is like a password, so you will have it only if you have dashboard access and roleplay the streamer account. After roleplaying the account you want, open browser Console > Application > Local Storage > https://streamelements.com and look for StreamElements.roleplaying. That is your JWT for that streamer in specific.
You can use this endpoint to update the item store (The content of body is auto explanatory, however if you have questions and I know the answer, feel free to ask) :
Request type: PUT
URL: https://api.streamelements.com/kappa/v2/store/{account_ID}/items/{item_ID}
Headers:
Accept: application/json
Authorization: Bearer JWT
Body:
Is there a way to manually increment the session cheer counter, either from a custom overlay, or a chat command? Or alternately, to fetch the current session cheer counter in a chat command?
Hey guys, little question, is there an simple way to add an multiplier for T2 and T3 Subs to the Strea Marathon Timer of HarveyToad?
Not sure what you mean by HarveyToad, but the one in the StreamElements GitHub let's you set different timer amounts for T2 and T3.
It shouldn't be hard to add though by copying what is in the base marathon timer to add the extra fields and logic in the event handler to distinguish between tiers.
how do i fix a encoding overload?
Does anyone have a link to a good tutorial of how to build a custom twitch chat widget from scratch?
Just use the one in the GitHub.
a tutorial or the css?
Itβs the whole widget. Not sure exactly what your wanting to learn. But your gonna need the majority of that code and then just customize it to suite your needs
was just wanting to learn how to add borders, backgrounds etc
I would just that widget and then just play around with it
ok thanks, sorry to be a pain, is there a link to the git hub page?
Itβs in the pinned posts
I've been using the goal widget that was shared in the post linked below for a while. Every time I get a new follower, the current follower account switches from a number to NaN until I refresh the overlay, which I don't want to constantly do during stream. Does anyone know what would need to be done to stop this from happening? Here's the message from #widget-share with the widget.
#widget-share message
Hi Dev channel.
I've asked around on the Twitch helpdesk channel with no luck. Hoping someone here can suggest about the following.
Why using StreamElements Multichannel Chat widget shows the host's Avatar for all chats instead of individual chatter's Avatar.
const client = new TwitchJS.client(clientOptions); client.on('message', function (channel, userstate, message) { channel=channel.replace("#",""); let emotes = [], badges = [{"type": "ExternalChannel", url: channels[channel].avatar}];
if I understand correctly it should show the avatar of the channel the message was sent in
Ok but how to show the Avatar of the message sender?
@rugged roost check if the avatar is in the userstate info. I'm using tmi.js and it is not.
{
"badge-info": null,
"badges": {
"broadcaster": "1",
"glitchcon2020": "1"
},
"client-nonce": "",
"color": "#00ffff",
"display-name": "kieneht",
"emotes": null,
"first-msg": false,
"flags": null,
"id": "",
"mod": false,
"returning-chatter": false,
"room-id": "",
"subscriber": false,
"tmi-sent-ts": "",
"turbo": false,
"user-id": "",
"user-type": null,
"emotes-raw": null,
"badge-info-raw": null,
"badges-raw": "broadcaster/1,glitchcon2020/1",
"username": "kieneht",
"message-type": "chat"
}
It wonβt be because twitch does not send that info with chat messages so youβd need to query twitch for the avatar url based on the username and store that somewhere
I.e. itβs possible but requires nontrivial modifications to the code
Thanks for the replies!
I'm not very good at coding, but the Avatar seems to be readily available from https://decapi.me/twitch/avatar/{UserId} . Since the UserID is retrieved by the .JS code of the Multichannel Chat for Twitch Widget, can someone please help me style displaying the Avatar for the chat? Seems to be just a matter of including this in the output....
You wonβt want to use decapi to grab avatars. Unless you are going to cache the urls. That could be a ton calls to the api.
And I don't think Decicus would like that 
He wonβt. I know lol. I boo booβd once and he hit me up
it's actually not readily available, you need to request it from a different source. Both decapi and the twitch api return the url to the profile picture, rather than the image directly, so you need to get that information and then put that in the resulting html
using decapi or the twitch api directly is the same amount of work here, and as I said it's not a trivial modification where you just change a variable or something
Thanks all.
Ok
Apologies for bringing this up, as I have searched the threads on it, but it is still yet unclear... on the topic of pausing and resuming alerts. I'm presuming that the widgetDuration field defines a maximum number of seconds to hold an event in some behind-the-scenes event queue - so its essentially a TTL for an event. How do we put receiving events on hold? Specific use case is musician puts events on hold, musician plays song, musician finishes playing song, musician resumes events. While this is available with the SE.Live plugin for Elgato's StreamDeck Software for Windows, looking at how to code this programmatically through a custom SE widget. Thanks!
Does anyone happen to know how to fix this issue? I don't like having to refresh the overlay after follows just to show the updated number. Especially when I get multiple follows from a raid.
Hello all (sorry for my english, i'm not a native), I try to dev a progress bar on SE widget who can be completed by a command on a chat ( like : !progressbar +1), but I don't know the way to collect the variable information from this command. Anyone have an idea ? Thanks for the help! ^^
One more question on this.... do you know if the Multichannel Chat was developed by SE? It says "by LX" but no idea who 'LX' is. Still trying to understand why the showing the chatter's avatar wouldn't have been implemented....
LX is community member turned staff.
But the aforementioned reasons is part of it along with hasn't had time to add it even if it were planned.
But have the widget be used in channels with thousands if not hundred thousands of users "actively" chatting it will be making an api call for every single one of those messages per user per x seconds. Having something to query that kind of information isn't cheap and can add up if not cached.
Hi, I'm having an issue with my Alerts, I've custom coded some, and in the preview on the SE Overlay site they are in line, but when I add a Browser Source with the exact same size, they're clipping out of the box, any idea why?
For some reason the items aren't getting scaled down in the OBS window (I have them at 75% on the CSS) and it's previewing correctly in the SE window, just not OBS
As reference:
Thanks for the explanation
Just bumping this as I can't seem to find a reason why it's doing this off of the SE website, but looking fine on the SE website (the boxes are the same size on both the SE site and the OBS Browser Source too
Hi,
Quick question, I will be going through discord and materials at the same time, but maybe you could help me faster. I want to create a basic !love command. But if I wont state the user I would like the command to pick a random user. How the command function should look like then? D:
Hey I have a quick question regarding this! Do the JWTs expire at all? 
No
Perfect, thank you! 
It would be something like this:
!cmd add love bla bla bla message $(1|${random.chatter})
On OBS you have to put the dimensions of the overlay, not the box size. The dimensions are default to 1920x1080, maybe that's the reason it is being cut
I tried a few things, but I ended up just sizing down the alert in SE and that helped, thank you, though!
Thank you very much!
Any idea how I can get this to work inside of a command for StreamElements?
$(if $(arg 1) == F
$(eval C = $(math $(arg 2) - 32) * 5/9)
$(sendmessage The temperature in Celsius is $(C))
)
$(elseif $(arg 1) == C
$(eval F = $(math $(arg 2) * 9/5 + 32))
$(sendmessage The temperature in Fahrenheit is $(F))
)
$(else
$(sendmessage Please specify whether you want to convert from Fahrenheit or Celsius by using "F" or "C" as the first argument.)
)
Not possible, Streamelements does not have support for eval and if clauses
looking to create a subathon script for Trovo, there is plenty for twitch etc, but trovo is now supported through stream elements, looking to use the Elixir, and subs from there, I got the subs to work but the elixir is not working. I'm not really a coder, but thought it would be as simple as changing the Tags from Bits to Elixir.
Copy that, thanks
Anyone here taking custom chat widget commissions? 
Feel free to hit me up
Does anyone know how to move text from one position to another in Stream Elements? I'm trying to have the name of a Subscriber follow this animation that I made.
Is there anyone who can help me with this issue? I've been dealing with it the entire time I've been using the widget and I can not figure out how to prevent it from happening.
Hey I just figured out how to get the !quote command working but every once in a while I get a strange error. When I close twitch and re-open it works fine again.
These are literally typed one after the other.
And when I disconnect from chat and then reconnect it works again.
Jk I re-did everything and it works fine now.
Hey quick question, I'm new to getting sponsorships and I was reading the do's and don'ts of the offer and it says I must not incite profanity and not to make references to nudity or innuendos. I'm a 18+ streamer and use profanity regularly in my content, does this mean I cant do this sponsorship?
You can use the SE API for that. Documentation is on this channel description
I would ask that on #1037361997098008686, maybe you can find better information in there.
I tried to test the widget, but could not reproduce it with a real follower. However, my suggestion would be to change the lines 46 and 48 on JS tab to these ones (not sure if that will fix the issue, though):
Line 46
return current = parseInt(sessionData["follower-total"].count);
Line 48
return current = parseInt(sessionData["subscriber-total"].count);
If you can record a video with the issue (or send a clip from your stream), will be easier to understand what is happening exactly.
Hi! I'm looking for someone who can help me move a custom HTML/CSS goal bar widget from streamlabs to streamelements. I believe it's custom fields that is not formatted correctly or the data field that does not exist in streamlabs but exist on SE that is causing trouble. I'm not really good with coding but willing to try do it myself with a little guidance. Thanks in advance!
Do you want to to send the clip here or in DM?
I can help. Just dm me the code and I can do it for you
anyone have api documentation? im trying to make a new subathon timer but need the dono data, this link doesnt work https://dev.streamelements.com/docs/kappa/ZG9jOjE4MDk3Njc-o-auth2
The main link is good, you should be able to search for things from there. If you find any other broken links let us know
quick question, where did you get that link? i want to make sure that we remove/update it π¬
its the first result on google when i search "streamelements api" and also #1 on this site https://dev.streamelements.com/
Thank you!
hi!
how can I get all participants of an open/closed giveaway ? (+100 participants)
im using this url: https://api.streamelements.com/kappa/v3/giveaways/ACCOUNT_ID/GIVEAWAY_ID/entries but it only gives me 100/122 participants π¦
Hey there :D
Is there any trick on how to use get /sessions with JWT? (https://dev.streamelements.com/docs/api-docs/f337dd80fb783-channel)
im just getting {'statusCode': 403, 'error': 'Forbidden', 'message': 'Not allowed to perform this operation'} , (web curl on the docs page and python request)
other endpoints are working fine
As far as I know, the limit is 100, so you would need to use the offset to get the next hundred.
https://api.streamelements.com/kappa/v3/giveaways/ACCOUNT_ID/GIVEAWAY_ID/entries?limit=100&offset=100
However, for some reason, it is not working at the moment for me, but that is the way to have the next 100s
Probably you are using the channel name where it says "channel". You have to use the channel ID (aka account ID).
Docs said id, my first guess was to use the name instead but both result in 403
ah wait im dumb - streamlabs internal id not the twitch one - my bad :D
Streamelements*

You can get the ID here (the key _id):
https://api.streamelements.com/kappa/v2/channels/USERNAME
was using streamlabs socket too long but yeh finally converted to something better - outdated socket and nothing documented just a mess, elements is way better
Already found that, docs are very well designed - thanks a bunch :D
hey. Stream keeps lagging and glitching
Do i need to update settings
and also ending
#helpdesk-twitch #helpdesk-youtube or #helpdesk-selive would probably be better for this.
Thank you
Ok Thanks!
Do you know an alternative ? Like a log when a viewer buy a ticket
and how can I create an issue for this ?
I'm looking for help executing some JS on plugin initialization. I'm not sure where to put it.
HAPPY NEW YEAR everyone π
Hey developers, I'm experiencing a glitch in the text while making an overlay.
Is this the correct room to share glitch and feedback?
roulette game
By @viral patrol - #widget-share message
'!show' and '!spin' work just fine. But '!bet' doesn't work. jebaited.net token entered.
'Bank-Heist-widget by lx' too
Hmm, don't know any other alternative. Also, not sure about creating an issue, but maybe here:
https://github.com/StreamElements/api-docs
Using the OBS plugin for StreamElements to import my overlays and builds from StreamLabs and the process is taking an insane amount of time. and hasnt moved past 20% for over 2 hrs. any suggestions?
Hello! This may be a frequently asked question but I haven't found an answer online! My Stream Labels does not show anything but people who follow. I was just curious how to get it to show all of my other notifications. Thank you so much!
Do you show other events in the activity feed?
Yes, just not in the Stream Labels app.
Probably you added only addPoints bot not the botMsg scope. It should look like this, both scopes enabled for the same token:
There is no streamlabels app 0.o
Stream labs stream labels.. downloader thing that you put in a file?
Wrong server.
text over image is not working when displaying an emulated alert
@small fulcrum ‡οΈ
Text not showing up over your alerts? Go to the Advanced Text Settings and set the top margin to 50, you can work your way to the right position from there.
Why does this not work?
This code is supposed to dynamically create an SVG path, and then apply the path as a clip-path to the svg-frame class. My problem is that none of it ever executes.
#helpdesk-selive would be a better place to ask.
Hmm, maybe because float and string are not javascript keywords. If you look at the browser console, you will see there are errors in your code.
I am not getting errors for the code.
Okay, so I fixed it.
Hi, could someone point me in the right direction on how I can set a delay for my stream alerts so they donβt play straight after the other?
StreamLabs? You'd have to ask them. StreamElements? Depends what your question is.
I want to animate text to move down, its StreamElements, I've been working on this for weeks now and got the names mixed up lol
Post what you have, how're you're stuck and when someone who knows has time they'll answer
Thank you!
HTML
<body class="username">
<span class="text-container" id="username-container"></span>
</body>
<p class="username">
</p>
</div>
</div>```
CSS
font-family: 'Staatliches';
color: {{fontColor}};
font-size: 150px;
overflow: hidden;
}
.username {
position: absolute;
top:250px;
left:300px;
color:#FF5733;
font-size:33px
font-family: Staatliches Regular;```
JS
const name = '{{name}}';
const animation = 'wobble';
// vanilla es6 query selection (can use libraries and frameworks too)
const userNameContainer = document.querySelector('#username-container');
// change the inner html to animate it :zany_face:
userNameContainer.innerHTML = stringToAnimatedHTML(name, animation);
/**
* return an html, with animation
* @param s: the text
* @param anim: the animation to use on the text
* @returns {string}
*/
function stringToAnimatedHTML(s, anim) {
let stringAsArray = s.split('');
stringAsArray = stringAsArray.map((letter) => {
return `<span class="animated-letter ${anim}">${letter}</span>`
});
return stringAsArray.join('');
}```
FIELDS
"someText": {
"type": "text",
"label": "Some Text",
"value": "Default text"
},
"someTextField": {
"type": "textfield",
"label": "Some Text",
"value": "Default other text"
},
"someColor": {
"type": "color",
"label": "Some color",
"value": "#ff0000"
},
"someColorPicker": {
"type": "colorpicker",
"label": "Some other color",
"value": "#0000FF"
},
"someNumber": {
"type": "number",
"label": "Count",
"value": 10
},
"someSlider": {
"type": "slider",
"label": "Counter",
"value": 10,
"min": 0,
"max": 100,
"steps": 1
},
"something": {
"type": "dropdown",
"label": "Choose an option:",
"value": "blue",
"options": {
"blue": "Blue thing",
"apple": "Some apple",
"7": "Lucky number"
}
},
"someFont": {
"type": "googleFont",
"label": "Choose a font:",
"value": "OpenSans"
},
"someFinal": {
"type": "textfield",
"label": "Some Text",
"value": "Default other text"
}
}```