#dev-chat
1 messages · Page 53 of 1
that should be 1,2,3 .... for Object keys, right? and for ^^
i'm guessing those are the emote sizes... tiny, small, and little?
the keys are fine, it makes sense since the sizes are technically 1x, 2x, 4x (28px, 56px, 112px)
but twitch wants to call it 3
if you type in monkaS and LilZ you can compare it with bttv and frankerfacez emotes
you can also compare it with the documentation here in the Message section: https://github.com/StreamElements/widgets/blob/master/CustomCode.md#message
yup. the 3 or 4 got me caught up. but after you explained it is the scale it makes sense. thank you.
good find! thank you. i'm passing it along for the devs to look into
(help pls) I have a question I know that there is a ${random.pick Command, but how do i use it with a condition? for example "!question" if the viewer just text that I want a answer saying "Make a question" and if they use the command with any text (or question) than the ${random.pick would choose one of the answers
there is no conditional check built in with the commands; that i am i aware of.
are you trying to make a trivia game?
no im sure there is something like that cause i saw on another twich chat
like if you only test the command there will be a message like "dude make a question" and if you test the command and something else then u will get one of the random answers
were they using StreamElements as well? and what is the channel?
i know it is possible; i can think of a few different ways to do it; but still trying to figure out if it's possible i my head with SE commands and chaining the {1| ...}
the command is !crebin
what do you mean i didn't get it
that's what im using but im missing the condition ${user} ${random.pick '1' '2' '3'}
that person you mentioned doesn't use StreamElements; I believe they are using a different bot for it.
and ya; i'm trying to think of a way to do the switch with the built in command options
i tried to make a second comand with a space but it didnt work like !question and !question(+space) but the platform dont recognise the space
@elfin arch send u an private inbox.
i prefer to keep all chat here so it can be searched later for new users 😉
what is the end goal? like a custom 8ball command?
yeah kinda
how do you mean "kinda" and how good are your JS skills?
for wich u need?
i don't mind using chatbot for example but i also dont have the code for this command
okay iam here
this why come any time ${random.chatter} if usw 2x this variable like random use "zunox play the ball to radom us PJ".. often times this "error"
there is no easy way to do a good "if this then; else do this" ... but sometimes it can work for simple things.
... then you get into to more complex stuff; and at that point .... it unlocks all the fun
well i was actually expecting that the code would be something just like that
🤣 ya... that no chatter thing i think i because it needs a bunch of chatters in the stream (like unique chatters)
think too its a twitch to streamelements communications thing
because after 2 uses 3 runs
only the doubble time command .. make more stress
yea. but with the chat commands... it's get's tricky .... and i can give you an example but it's limited
thats fine show me that you got pls
same my times i set a command !time -> from all kontinents + relevant countrys come the times worldwide.
really cool command, cause in our channel is all from japain/australia to usa - brasil etc
but i think my question is more for "real coders" :D thanks
#dev-chat message
this is basic template i have...
${customapi https://seapitest.pjonp.repl.co/api/eval?string=$(queryencode "
let input = '${1:|null}',
res =
input === 'null' ? 'you gotta ask a question?' :
'???? question'
res
")}
*edit (forgot the $)
Im doing something wrong, cause when i change the res i goes directly to the line i changed
im adding my code on the second res
but then it gives both answers
on this case i cant get the code to say the fist 'you gotta ask a question?' it always goes to '???? question'
Thank you
${customapi https://seapitest.pjonp.repl.co/api/eval?string=$(queryencode "
let input = '${1:|null}',
outputs = [
'a',
'b',
'c',
'd',
'e',
'f'
],
res =
input === 'null' ? 'you gotta ask a question?' :
outputs[Math.floor(Math.random() * outputs.length)]
res;
")} ```
I love you 
thanks a lot you are a god of the commands @elfin arch
😉 ... it's not pretty but it works. ...
It works perfectly just the way i wanted. i hope it can be useful for other users too. Thanks again!
🙂 no problem
Heyy guys I'm trying to add this to my over how do I add it in strewmelments as a script
%I:%M %p - %A - %B -%d, %Y
how do i read these values in js? i'm trying to update my marquee based on the input of the fields
i'm still having trouble on connecting my field values to my css styles. doesnt seem to be working
what you have post above looks correct to me. you are using those same names in the Fields tab, right?
Yeah but I came to realize the attributes such as scrollamount cannot be implement as custom elements. And even if they were I hadn’t figured out how to call them in js
you get the field Data in JS when the widget loads; you can either use the same {{variable}} or better yet from the "onWidetLoad" -> fieldData = obj.detail.fieldData; -> fieldData.variable
if you want to change stuff in the CSS; then you might want to have a few different classes to switch between. for example ".hide" and ".show" and toggle between those to show/hide something. or hardcode the style into the HTML element
Heyy guys I'm trying to add this to my over how do I add it in strewmelments as a script %I:%M %p - %A - %B -%d, %Y
@spring ingot You can use JS datetime object to display data in your overlay in any possible format.
can you share the fix?
i'm having the same problem
Is it maybe an idea to add a bot or something that if a person donate that het will automatically get a donate rol that you can choose on a discord server from yout channel?
@teal nest there is no discord integration atm and to my knowledge no plans.
Oké, thanks for your reaction!
Hi everyone! Wondering if that issue with the patreon alerts is still ongoing?
@simple mulch Assuming you're talking about lx's wonderful widget what exactly is the issue?
I am indeed! I posted here about it I think about two weeks ago - I followed all the set up steps but couldn't get any activity onto the overlay in stream elements. Lx did respond on the 8th saying that it seemed like Patroen wasn't dispatching the events so I was just wondering if there'd been an update or if other people were having issues!
@viral patrol for you ^^^^
@simple mulch I fixed the issue, it was Cloudflare that was blocking patreon. It works for me rn:
bro i think the problem is "communication" between SE & Twitch. in doubble time use the command work not so fine like onetime.. iam sorry more didnt get as answer. after 2-3 times work it well
@limpid creek i think u got same problem? cause then is the answer a bit more possible for here.
my problem is that "${random.chatter}" returns <no-chatterr> at some times
Noticed a few of API endpoints return 404... are they coming back anytime soon?
I was trying to ammend this slash from not clipping so close to the edge, I've been through a series of open editor modifications and I don't know how to bump the margin on this, suggestions?
Find the class/id of the slash in HTML
<main>
<div id="slash">
<div class="color_slash">/</div>
</div>
This is all I see so far, so how do I ammend the margin?
.color_slash{
margin-left: 10px
}```
or you could move the whole widget by 10px
replace .color-slash with main
That margin worked a treat! Woot. Thank you
😄
Didn't have to make any other modifications to changing it from colour to main
You can create an HTML element that will display your time on overlay and refresh it every second. https://css-tricks.com/everything-you-need-to-know-about-date-in-javascript/
Of course instead of console.log use text attribute of html element, to change displayed time
Legend, thank you for this!
Ahhh it's working for me now. Very exciting, thank you for your help.
how do you properly share overlays/widgets for clients? i cant find a share widget button for the life of me.
i gave him the widget URL and its pulling in data from my channel not his
u need to become editor of clients channel, and in their panel in their overlay dashboard there is a button for import
ohh ok i see, thank you. I've seen nerdordie use URL's to share, is that depreciated?
ohh special privileges, i see how it is
Where do I go to start creating widgets etc that can be customized in streamelements?
check the Overlay Editor documentation in the channel description of this channel
Thanks!
Hello,
I'm in need of OAuth2 credentials for a project I'm developping, the google form for applications seems down. I sent an e-mail about 10 days ago as instructed in this message sent to someone else <#dev-chat message>
Is there anything else I need to do ? We're in testing phase right now so it's fine but we would like to integrate Streamelements with OAuth2 before launching
@runic forge That was specifically for the user. It's currently closed atm.
oh okay my bad then
The thing is I'm working on the project for a streamer which a streamelements partner I hoped it would help getting credentials even though the process is closed :s
@runic forge Hey, shoot me a dm and let's see what we can do.
Sorry but it seems like I can't DM you, are your DMs opened ?
I'm in need of a way to use urls from other sources. I have affiliate channels where we use url links from Opera Event and would love to use from the StreamElements page. I cannot for the life of me get the obs.live to work or any form of OBS. Also, would love to be able to start using Stream Raiders via SE page.
i am trying to get the controls to be about 50 px below the album, any ideas?
<div id="album" >
<img id="album" src=""/>
</div>
<div id="wrapperCntrl">
<div >
<img id="controls" src="https://img.icons8.com/material/24/000000/rewind.png"/>
<img id="controls" src="https://img.icons8.com/material/24/000000/play--v2.png"/>
<img id="controls" src="https://img.icons8.com/material/24/000000/end.png"/>
</div>
</div>
<div id="blur" class="blurcover">
<img id="blur" src=""/>
</div>
</div>```
position: relative;
width: auto;
height: auto;
}
.widget {
width: 100%;
height: 100%;
}
.blurcover {
width: 100%;
height: 100%;
}
#blur {
width: 100%;
height: 100%;
z-index: 0;
top: 0;
left: 0;
position: absolute;
border-radius:{{roundamount}}%;
-webkit-filter: blur({{bluramount}}px);
}
#album {
width: 95%;
height: auto;
top: 3.5%;
left: 2.25%;
position: relative;
z-index: 1;
border-radius:{{roundamount}}%;
}
/* ----------------------------------------------------------------------------*/
#wrapperCntrl{
position: relative;
width: auto;
height: auto;
}
#controls {
width: 15%;
height: 100%;
top: 100%;
left: 29%;
z-index: 1;
position: relative;
}
/* ----------------------------------------------------------------------------*/```\
Since #wrapperCntrl is relatively positioned, you can try giving it a top value, like top: 50px;
Can you update the shoutout widget so i can use a custom font? @torn wave
@feral zinc which font do you want?
is there an API where i can add points to a user without the need for a command, so if they redeemed a redemption on twitch the bot could add points then say "points added" type thing without the need for this mess, just crush it down to 1 message
https://thecynicalkitty.com/s/20212500282.png
Im using touch portal and would love a API i could use to add points and the bot respond with "Points converted @user"
@ me if you reply.
With that you could have a two calls to two API endpoints - one to add points, second to send a message.
Oooooo cool
Do you think it would be possible to create a widget that displays the song queue as an overlay, currently you can only show whats being played like normal. anyone one know where i should be looking to create something like that?
u might be able to use this https://dev.streamelements.com/docs/kappa/api.yaml/paths/~1songrequest~1{channel}~1queue~1public/get
Get songrequest queue for public exposure (without video details)
Is there a rate limit for the stream elements api ?
@tiny rose Try here!
Hello, is it possible to add or change an image widget in the overlay from a donation? (es. with a js function). I'm working on a progress bar but i want to make the whole thing automatic.
yup. Jquery is built into the editor and can easily target the DOM
thank you! I'm just starting with js, so is there a way you could help me?
sure. I normally start with a codePen for an outline then move it over to the editor.
thank you very much!
if you get something into a codepen go ahead and post it here and give me a tag. I should be up for a few more hours
i'm on it right now
https://codepen.io/mrjoky13/pen/bGBLEze @elfin arch the important part would be the changePNG function, the html and the css are those of the donation. How can i access the image in the editor and change it to a different one?
i'm struggling with this new language, and i think i miss some of the fundamentals, so if you see any error or can't understand some parts just tell me
are you trying to change it whenever you call the "changePNG" function?
exactly, the counter will change depending on the donation, and i will have a different png for every counter value(11 total)
1 sec; i'm editing it some. The 'counter' isn't giving a number, could be the move over to codepen
how doesn't counter give a number? maybe it's from the conversion of the string, but it should
it think it is when you set it to 'wins.counter' because 'wins' is just a number.
try this: https://codepen.io/pjonp/pen/jOVZqBY ; basically I moved the whole <img> tag into the HTML and removed the HTML/HEADER/BODY tags (those are built into the editor) and then did a basic get img -> replace src
i understand now, the confusion comes because english isn't my first language, i used counter because it means "number related to an operation", that's why it's equal to wins.count - 1. But i get the changes you did, i have just one question, in the streamelements editor is there a way to see the html of the whole overlay so i can add the img
ya. when you create the widget you will have the HTML, CSS, & JS tabs. But you will have to still handle all the events.
If you want to just handle the Tips; you could try adding the default Alert Box then enable only the 'Tips' part. In there you can enable custom CSS and that will give you the Tabs and handle the Tips
but isn't it just related for the Alert Box?
It is basically the same; but i think the alert box can still use the {name} from the event
thank you very much!
no problem! good luck!
Anyone know how to make a feild for text input? I wanna give the user the ability to enter in their api key
all the types are HTML style they should be listed in the document in the header
"FDjebaitedtoken": {
"type": "text",
"label": "jebaited token (botMag + Points!)",
"value": "xxxx",
"group": "Main"
},
Thank you very much you've been a huge help
so i think i finished my widget, is there a way i can share it with people
Can you submit it to the widget share for all SE users. Or if you want to keep it more limited; you will need to become an editor on the person's SE website and you can save a copy to their overlays
Widget share looks like only lx has permissions to post, i just created a video going over it that i can submit
oh wait i see now
yup yup! there is a link in the header of that channel for review. Then it get's reviewed and will posted there when it is next on the list 🙂
Awesome, thanks!
@torn wave Hey, were you able to make it allow for custom fonts?
you are using a local font?
if it's a local file @feral zinc (judging by the link you posted it is). Make sure you install it and have restarted computer. It should show up in your font list. Then you can make a quick edit to the FIELDs tab in the code and pull any font after changing the type to "text" 😉
i dunno what the value would be
did you download the font and install it?
yea
hit the windows key; type 'fonts' -> font settings -> fonts
ok
that's the name to type in:
let me check... give me a sec i need to get that font installed
make sure you are changing the name in the settings too. (lower left in that image)
oh ok. that worked
@feral zinc ya i noticed that as well; try in the CSS
much better
👍
thanks
hello, is it possible to trigger a custom event in an alertbox and catch it in a different widget?
also, can i change an image in custom widget when a moderator uses a specific chat command?
between widgets currently not, no. You could use WebSockets, but they are a bit overkill in most cases, since you require a lot more infrastructure
yes, you can listen for chat messages and then check if the text contains a command and the user has a mod-flag
how can i do that, i can't seem to find the right listener
the listener is just message. https://github.com/StreamElements/widgets/blob/master/CustomCode.md#message
thank you very much, you are saving me right now
No problem. There are also some widgets in #widget-share that trigger things on message. So you might want to take a look at them
@tribal zenith i can't make it work, can you help me if i show you the widget?
what part exactly?
i added the listener to chat messages, but if i type the command, nothing happens. Instead it should do a function i created
for context: i have two commands in chat that increase or decrease a counter, and a progress bar that shows the current counter value (from -5 to +5). The progress bar is custom, so basically i change the png everytime the counter changes, but the png is not working
i don't know if i have explained myself clearly
something like this? #widget-share message
you could adjust that to change the image src instead
i'll try it, thank you
the linked YT-video also has a little tutorial in the description to set up counters, but I guess you already have one 😄
yes,the only thing working right now so i'm very proud of that 😆
well, still not working, i'm in shambles
if you used the widget's code and just added your function, then the function is probably not working
how are you trying to change the image?
i change source in the img tag
yeah, I meant the code in this case 😄
function displayPNG(){
if (counterValue>=5){
counterValue = 5;
}
if (counterValue<=-5){
counterValue = -5;
}
let png = document.getElementById("imagetobechanged");
element="https://raw.githubusercontent.com/MrJoky13/DndImages/main/"+String(counterValue)+".png";
png.src(element);
}
is it okay to paste code in here?
you can use code-blocks in Discord to format and highlight things
first thing is documeht. second thing might be the host. I am not sure if githubusercontent.com is whitelisted or not, but I guess it is not
i know it's whitelisted because i tried to display a simple image widget with that url and it's working
i changed the document typo but the problem persists
and src is not a function, it's an attribute. So it would have to be png.src = element;
okay the image changed, you are a saint
also just a little detail:
if(counterValue > 5) { counterValue = 5; }
else if(counterValue < -5) { counterValue = -5; }
if the value is 5 the >= would still assign 5 as new value, even though it already had that value before
thank you! do you have any suggestion on the url? when i use counterValue in it, the url doesn't work anymore
element = `https://raw.githubusercontent.com/MrJoky13/DndImages/main/${counterValue}.png`;
hm okay Discord deleted the important part 
there we go
doesn't seem to work
how are your images labelled? 1.png 2.png etc. ?
then that should work
the worst part is that my streamer needs it in 15 minutes
i can send you a codepen if you want
yes, i jsut found out
you could pass the value as parameter
i tried that, but it's still not defined
counterValue = (data.value !== undefined) ? data.value : 0; displayPNG(counterValue);
yes and function displayPNG(){ has to become function displayPNG(counterValue){
could it be that counterName is not defined?
the counterName has to be set in the widget's settings
i fixed it by commenting counterName = fieldData.counterName and setting it hardcoded
it's ugly but does the job
thank you reboot0,see you in the Valhalla

Hi all, I'm making a custom widget and I notice it's not at full opacity i.e. it's kinda transparent when live on the stream
I tried setting my CSS to opacity: 1 for the main container but no luck, any pointers?
nevermind, I realised it was my chroma key
it was interacting with the yellow in my widget
Hey I got sent here to ask this I don’t know where to ask this so I’ll ask here, is there a command that one could use to display the amount of tips a person has gotten eg: !Donation - response would be: wacko1994 has received (tip amount) and is (amount) away from goal....
Hey there all I am curious about the following code snippets that I found here: https://github.com/StreamElements/widgets/blob/master/CustomCode.md
It says that I should be able to set the obj into the SE database, & then get the object from another overlay. I've tried that, but can't seem to get the object in another overlay.
Is there something else I need to do/am missing to be able to set it in one overlay & have another get the object?
SE_API.store.set('keyName', obj); // stores an object into our database under this keyName (multiple widgets using the same keyName will share the same data. keyName can be an alphanumeric string only).
SE_API.store.get('keyName').then(obj => {
// obj is the object stored in the db, must be a simple object
});
Erm hi! when using streamelements bot and its talking about points for like roulette and all that in the modules
What are these points?
Are they Channel points? as in the ones only affiliates + can access?
The points are the StreamElements loyalty points not the Twitch ones. There is currently no way to use the Twitch points.
It should work between all overlays
So PJ I have the following code in overlay one & in overlay 2. Overlay 2 doesn't return anything in the console log. Any thoughts on what I am missing?
Overlay 1
window.addEventListener('onWidgetLoad', function (obj) {
let myObj = {
name: "My Name",
wins: 5,
losses: 0,
lastWin: "2021-02-26"
}
SE_API.store.set('myCoolObj', myObj);
SE_API.store.get('myCoolObj').then(obj => {
console.log(obj); // This outputs just fine.
});
});
Overlay 2
window.addEventListener('onWidgetLoad', function (obj) {
SE_API.store.get('myCoolObj').then(obj => {
console.log("Here:"); // Neither of these output
console.log(obj); // Neither of these output
});
});
🤔 ... let me check. that looks correct to me
are you not seeing either console log or is the object null in #2?
Is there a way to get an error report from the get promise?
Neither of the console logs fire.
add in a catch() with a log. if the database doesn't exist it will return as null
OK I'll do that & see what's up.
SE_API.store.get('chatGamesDock').then(obj => {
console.log('DB: ', obj);
}).catch((e) => {
console.log('Error loading Database!');
console.log(e);
});
BRB
Hmmm....yeah, it's working. Something else wasn't working. I stood up a brand new 2nd overlay & all is well seemingly.
Thanks for the catch code tho, I'll def make good use of that. 👍🏻
no problem!
One last question about this, when the obj is updated/changed, do I have to call the set again to push the changes to the DB?
correct. you have to save the object ... then would need to reload on the second overlay
TYSM again, this is def going to up my overlays game! 😁
no problem. having overlays talk is pretty challenging, the only way to actually get it to work is using websockets to chat between. But it can be managed; if your main overlay sends messages to chat ... like "Counter increased by #" .... then second overlay can trigger when it sees that message from the bot in chat and either update it's local object or do a 'store.get' to sync 😉
...basically using the chat as a websocket
is there a way to create a custom command that clears the chat?
you could try to respond with /clear but not all the / slash commands work
can anyone help me with a command creation ?
is there a command that one could use to display the amount of tips a person has gotten eg: !Donation - response would be: wacko1994 has received (tip amount) and is (amount) away from goal...
i have a rough template of what i would like just dont know the correct syntex to make it work ?
!command add !donation $(wacko1994) has recieved (tip balance) and is (amount) away from their goal of £1500 for a gaming pc
the syntex i dont know is the (tipbalance), (amount)
the tips/donations are not tracked by the bot
i understand that but i wasnt sure if i could create a command to pull the information from a widget
as you can create a widget for tip goal in the overlay dashboard
it would be an option if you go the widget route 😉
but the thing is i dont want my stream cluttered with overlays so i was thinking of making a hidden widget and seeing if i can use a command to pull the information
yup yup. exactly. you can make an 'overlay' with no visual. but it would still be a source in your OBS
oh im using lightstream as i cant afford the capture card just yet, but is there a way to get the bot to pull information from the widgets ?
ok thanks
alright so when setting up overlays, and I wanna show "current follower count / follower goal" what do I put in the message box?
There should be labels in the editor?
Hey folks.... is there anyone around that would know how I can make the data this command returns used in a script?
'${user} was last seen ${user.lastseen} ago and last active in Chat ${user.lastactive} ago.'
I'd like to make a private script that can return the result instead of me typing in the command into my public twitch channel.
I have seen some twitch streamers that have, so every time they get a new follower/donation, something reacts. Like if they have a webcam with a line around, it could light up every time you get a follow. Does anyone know how to do that?
@hardy walrus what do you mean?
Basically... I don't know there that user.lastseen and user.lastactive data is located in the api.
I already used the api to add/remove points for my users during our stream, but I need to see when they were last around in my scripts instead of having to type it into a public channel.
does anyone know of an API that would allow ${game} to be searched on steam to get a steam appID and return it into a new variable to dynamically change the url in the shared command for !hoursplayed ? Is this even something possible?
hey was needing help on my instant replay widget done by @mild cipher from stream elements to lightstream anyone able to help me ?? was sent here for help
Hey guys, you might actually be able to help me faster than my trial and error. I cant get a field to show up on the left panel. Ive added it to the fields obj and declared it in the JS but nothing seems to be working. Am i missing something?
getting "vendor.js:25573 Invalid custom field json" in the log
i made a new widget and copied my code to it and the field is showing fine on the left. No clue what that was
nope broke it again, hmmmmm i dont understand this field editor thing tbh
Hi... i am trying to set custom font for my alerts via CSS... i know how to set it up, it works with font i put there like a year ago, but when i change the font to a new one, it just doesn't switch it to a new one, but to the default one / TimesNewRoman ... both fonts are .ttf.
In the custom commands, if I'm using regex as trigger instead of !command, is there a way to get the input after the matching regex?
for example if the message is
${1:}
and I do
!command a b c
the output is
a b c
but I trigger it via regex like
asdf command a b c
the output becomes
command a b c
since ${1:} is always in reference to the start of line, is there a way to make the "start of line" after the regex keyword?
Unfortunately not without using external API that will handle that for you. For example ${customapi https://url.to/endpoint?msg=${urlencode ${1}}} which should perform action on that message
oof I was hoping I didn't need to write the API hahaha thanks
another possibility would be to listen for chat messages in an overlay and then process them there
depending on what you want to do with the matched arguments
can someone help me with the fonts? 😄
Does anyone know if my custom command's data outputs ${user.lastseen} and ${user.lastactive} have endpoints in the Kappa API?
I'm struggling to find the endpoints, not even sure they exist.
I guess the closest I can get to this is this endpoint
but I'd need to record their watchtime value in my db and then check that for updates to see if that changed over the course of the month.
I cant find any documentation on the limits for SE_API, but I guess there are both limits in requests and storage. Could anyone help me in the right direction? 🙂
Is there a way to add loyalty ponts through custom commands?
I need a eventlist like in this picture. Can anyone help pls ?
the default custom widget is a recent events list like this, just edit the css and maybe some of the javascript
There is a command for that, it is !addpoints <username> <amount>
Where do I add ${customapi.https://decapi.me/twitch/subcount/clavicuslive?subtract=1} api to count my subpoints?
Trying to figure out custom widget but no clue where to add it
@marble creek Not possible. Twitch nuked the subpoints endpoint.
Hi guys, is there a custom command that I can create to see who in the stream is actually following me? or does anyone else know how to actually see who is following you?
Please tag upon response so I can see that someone has replied as im in a lot of servers
@slim quest i saw u double poster 
I wanted the help quick 😦
double posting only delay our end as multiple supporters will answer] the same question
okay sorry
I was looking for a variable to add it, so i combine that action with another action
was sent here to get help with replay widget in streamelements from thefyrewire ... was wondering how to set it up properly as it currently is not working and ive linked everything and gotten links pasted to streamelements as well as i have it on lightstream ...
cant seem to get the actual replay to show, do i need to be live to even do a test ? can i do offline tests ?
Stream elements don’t host custom variables in custom commands. Your best bet is to make a google api that you send your command inputs to where it can then reply with the api output
@mighty saddle Check this one https://streamelements.helprace.com/i519-provide-an-addpoints-variable#item_comment_block_59866 and message few lines lower.
@swift plover
Ohh. MB! Thank you for forwarding that ping to proper person! 
No problem haha
sorry if this isn't the right channel to ask this, how can I adjust the user level for quote add? when I try to use !command options, it doesn't see a trigger for quote or quote add
Hello, I have a TTS item in my store, the viewers can type 255 characters but today i saw this... How?
its possible that the character limit enforcement is only on the front end and not the back end, so it's likely that they bypassed the front end check
^ that would be my guess.
is this the right channel to post a bug report? i cant upload an ogg file. I get "Supported formats are: .png, .gif, .jpeg, .jpg, .mp3, .acc, .wav, .ogg and .webm"
ironically its the "default.ogg" file, which is the default alert sound from Streamelements LUL
Hey guys! I'm having a weird issue with video playback:
I've got this video that needs to be played and stopped based on events. My JS code looks fine and the widget in an overlay where it's the only thing reading the events works like a charm.
Whenever I put the same exact widget in an overlay with other widgets and alert boxes, the video plays the first time is should play, up to the point where it needs to stops. But then it never restarts the playback. Not even if I explicitly call video.play() after storing it as global variable.
Anyone ever had this issue before?
Hello. Could you guys help me with creating the custom !watchtime command for my streamelements bot? I figured out how to make !followage, but cant find any way to make !watchtime. The reason why I want to make custom commands instead of using default one is because I want to make it so bot will send a response by whisper. There is no option to do it in default ones, only custom
I made !followage like this:
Also made !watchtime with "Variables" but they dont work
Time doesnt change its always the same
Make sure you have loyalty enabled as it is required for both SE Channel Points and watchtime to work properly.
Hey guys! I saw this basic event list. I tried to do this event list but I couldn't. Any help, please?
I've been using SE_API.store.get(name) and SE_API.store.set(name, value) to save strings to the data store and it's been working fine up until sometime over the last week. Now my get requests are returning an object with my string as the value property { value: 'mystring' }. Anyone know if something has changed with the API or am I doing something wrong on my end?
@stable coral this changed I believe but as the details make no sense to me (but can't remember) I'll have to see if I can grab someone who does.
1 sec
much appreciated!
I recall the .set changing to a response object;
SE_API.store.set('chatGamesDock', GameDB).then(res => {
if (res.message.startsWith('success')) resolve('Database Saved!')
else throw new Error(res.message); ....
i'm not using the return value from the set in this case (and i am awaiting the get, which i deleted from my example for some reason)
from the .get you will get the object that was stored. were you saving like just a string before?
i believe so
i think it needs to be an object to store. there was a change noted in the github doc about 2 weeks ago that the name must be alphanumeric
ok I'll mess around with it some more and double check my code to make sure it's doing what I think it is 🙂 Thanks for your help!
no problem! good luck
Quick question : if I wanted to develop my own alert, what code should I learn ?
Well if you want to learn how to make one on stream elements you need HTML, CSS, and JavaScript, also the knowledge of creating personal APIs in any language would work, but then you gotta figure out how to host them
Ok, so three languages to learn + creation and hosting of personal APIs ?
Basically, I mean if you want something like a follower widget, you’d just be fetching from APIs that already exist through stream elements and twitch, then you can use the JS compiler available in stream elements to manipulate your html and CSS. I actually submitted a widget that I hope gets approved by streamelements where if you are listening to a song on Apple Music, you can hook up the Apple Music account to last fm, then I use last fm’s api to fetch a JSon file to parse it into listening music and album artwork to display music on twitch
if you are just wanting to make a custom alert. You really dont need to worry about making a custom API. just use SE
@plush notch Here is the channel!
I can, the custom count variable allows you to set a step amount. ${count <name> +<step>}
the example is ${count deaths +2}
I want to pass a variable in for the step number ${count deaths +${1}}
as the bot works now when I run the command it returns the whole thing as a string
can this feature get added
Ok thank you !
Thanks !! Seems really cool
Hi
I want create a system can get text from an API and I can put this text to OBS? Can I do it?
Are you making the API or calling it?
I still have not solution. I think that i should API to show text in OBS
Are you trying to get information from an existing API, like Twitch API or something? or do you just want text?
I can get information from an existing API. but I don't know how to overlay this text in OBS while living stream
Does the overlay require a KEY or AUTH token? .... if no; what is the link. And also how are your skills with HTML/CSS/JS; you will need to use those for a custom overlay to bring into OBS
I have experience about HTML, css, js, php but I dont have experiences about obs. this is requirements from customer and I don't know that I can do it or not
Can I edit living stream video without OBS software? I dont know about it
you cannot edit video with OBS. that just sends the 'stream' to the service.
If you want to add an overlay; then you make that on the website using a custom widget; like a basic small website using HTML/CSS/JS ... basically if you can make what you want in a codePen then you can make it as an overlay
for example,
1 is livestream video, 2 I get an text icon from API, 3 I want show this icon to video in 1
I can create as system using api?
You do not need API for this. You can do that with the SE overlay editor. Is this for Youtube?
no, you tube is sample. I want to it automatic, I also do that wth the se ovelay editor?
Correct. that is where you put in your HTML/CSS/JS
sorry, can you help me explain SE overlay editor? what is this?
it's on the website: https://streamelements.com/dashboard/overlays
I am not sure about XSPLIT
Hey all. I wonder if you can help me with my Widget. I have a widget that plays a gif from a command if the user is subscribed to the twitch channel. I want to display a chat message if the user is not subscribed. How do I send a chat message via a custom widget
Send message to channel as bot
The way above involves prowiding JWT in widget (or writing MITM proxy to store that). If you want to avoid that - use jebaited.net, it is a ready-to-go proxy for SE API
hey can someone give me a current command for Vielen Dank für eure Host´s: $(customapi.https://api.crunchprank.net/twitch/hosts/MachZzBeZza?implode )
he always shows me that now
**Vielen Dank für eure Host´s: <!DOCTYPE html><html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Server Error</title> <!-- Fonts --> * src="/cdn-cgi/apps/head/ymvLy311lKo9rq8ZPQyKSChf75k.js"></script><link rel="preconnect" href="https://fonts.gstatic.com/"> <link href="https://fonts.googleapis.com/ **
I prefer this one https://decapi.me/twitch/hosts/:channelName?implode but it returns error 404 like there's something wrong with your twitch username
Seems like Twitch changed something on their end as other channels are not working too
hey. got anyone a work api or else for host list ?
" show a hostlist "
yes here crash too
Hi there ~ can someone let me know where I can find the variables for labels? I want to include the months on the sub label for example and only [name] is shown
Thank you heaps 😄
Is there a way to connect to the tip API. So like when a tip happens, my script gets triggered, whatever that may be
Are you using an overlay in SE or different server/client side thing?
im currently using the streamelements overlays but was wondering if i could run a script that checks to see if someone donates and then do something
//sign into stream elements
while(true){
if(user.tipped){
change_song()
}
}
something like that maybe
It is built in the overlays with the onEventReceived event. Here is the info from the channel header: https://github.com/StreamElements/widgets/blob/master/CustomCode.md#custom-widget
be careful using that code .... while(true) will probably crash your browser 🤣
oh ok thank you very much!
@viral patrol @urban field Got an answer for why it's noping out https://twitter.com/Decicus/status/1364317577741291525
Endpoints that return host information (/twitch/hosts & /twitch/hostscount) are currently not working, potentially because Twitch is removing the API providing this information.
If the removal is permanent, then I'll just have to deprecate the equivalent DecAPI endpoints
Going to bet those endpoints have finally been nuked, as they've always been unofficial/undocumented 
🤣 ... one day the current viewers is going to get nuked and it's gonna break some stuff ... hard
@broken coyote Just downloaded your all-in-one rotator, and would like to ask if i can change tipLatest to monthly top donator?
@sullen perch change line 70 in js to
tipLatest=obj.detail.session.data["tip-monthly-top-donator"];
I am trying to get overlay details through python and get this error: {"statusCode":500,"error":"Internal Server Error","message":"An internal server error occurred"}
What am I doing wrong, see code below.
def get_overlaydetails(token):
url = 'https://api.streamelements.com/kappa/v2/overlays/%s/TOURNEYTEST'
headers = {'Authorization': 'Bearer %s' % token}
response = requests.request("GET", url, headers=headers)
print(response.text)
code is easier to read with picture
i'm not familiar with that endpoint .... but my guess is that it want's ID and not name
what I thought to but dont know where to get the id from except when it returns it.
are you trying to get your own overlays?
yes from my channel
you can get your ID from here: https://streamelements.com/dashboard/account/channels
and i'm not familiar with Python so not sure what the %S is?
%s is just the channel name from Bearer %s
that link gets me account id but looking for overlayId
the API say to use https://api.streamelements.com/kappa/v2/overlays/channel/overlayId
so %s is channel and overlayID I just put the name because did not have an ID number
1 sec; i'll try to hit it
thanks
looks like the id matches the link (like when you have it open in the browser)
yup; you can just add the overlay id
I probably should ask... 'why' ... why are you getting the overlay? I've never seen this end point targeted 🤣
I want to be able to get and change text on an overlay, I could be going the wrong way to do this but want to be able to change a text value from another source.
so on the overlay there will be text that I want to change when needed
would this be from inside of the widget or an external source like local bot/website?
In the end I would like to be able to press a button on my streamdeck to add or minus from the number. the number is just a text widget.
I've not worked on StreamDeck integration because i don't have one.... but ya this is the wrong route 🙂
you can't really save back to the overlay any change
ok what route would you suggest
My guess is that would want to use websocket.
I think there is a way for OBS to host the 'socket server' ... but not 100% on that. But if so; the stream deck could send a command and the widget/overlay could read it and update as needed.
ok I will research that option, thanks for the help
no problem. please ping me back and let me know when you get it! ... it's on my 'i'll look into that one day' list 🤣 ... but really popular
ok will do
@fading saffron For that I recommend using bot counter widget. And as mentioned before, you need to provide just overlayId in payload. https://dev.streamelements.com/docs/kappa/api.yaml/paths/~1overlays~1{channel}~1{overlayId}/get
thanks will try that
Thank you ❤️❤️❤️
Hey guys, I've been looking for an extensive SE Chatbot commands documentation but haven't been able to find one... Does one exist? I really want to get better with on the go commands editing and adding through the chat itself rather than opening up the chatbot page again and again
Is it possible to access the value of the stream title in a SE widget?
is there a better channel or place to find out why my own api commands (As in my own website with API commands) is returning RequestError: connect ECONNREFUSED from streamelements and not nightbot...so far my host hasn't been much help in finding out if it is on their end.
best documentation is the variables tab on https://streamelements.com/dashboard/bot-commands/variables
You can add, remove and make changes to custom commands in chat with !command/!cmd flags:
!command add (commandname) (commandresponse) - allows you **to add **a new custom command
!command remove (commandname) - allows you to delete a custom command
!command edit (commandname) (commandresponse) - allows you to edit an existing custom command
!command show (commandname) - allows you to see the raw response of a command before variables are used
!command options (commandname) -(flag) - allows you to change settings for an existing custom command
!command alias basecommand - Shows the alias commands for !basecommand
!command alias add basecommand aliascommand1 aliascommand2 - Adds alias commands !aliascommand1 and !aliascommand2 for command !basecommand
!command alias remove basecommand aliascommand1 - Removes alias command !aliascommand1 from command !basecommand
Valid flags for !cmd options include: -enable -disable -cd (number in seconds) -usercd (number in seconds) -cost (number) -level (number) -type (say, whisper or reply) -count (number)
Syntax example: !cmd options twitter -usercd 60 -type reply -level 250
Thanks! I actually ended up finding this on a github page
i'm sure you tried this; but is your API giving a text response back? is it link you can share?
But I'll keep tat in mind! thanks a lot!
nice! ... there is also a #command-share channel here.... but i'm not sure how much updating that gets if you are looking for other examples
you would need to hit the Twitch API to grab the title
but yup. you can do that inside a widget
ive got many apis, but even the most simple of apis like https://api.parrycarry.com/8ball/responses which legit just returns text responses, no reliance on other apis... it has the same issue.
you can't get that to respond to chat?
this seemed to start happening, at least the earliest occurence I can find personally, is march 2nd
🤔 .... yup getting the same thing
but it works fine for nightbot
i just dont understand how since other bots work, is what Im confused about... and my host is pretty... bad... might switch, but idk if that will ultimately fix the issue or not.
idk if its like an ip throttle or what...
unless its whatever method in which streamelements uses to request apis i wouldnt know
i'm not sure .... it looks correct... and i can ping other APIS
try this Parry Says: $(urlfetch https://api.parrycarry.com/8ball/responses)
thats nightbot syntax
the api itself works fine, its just streamelements requesting thats weird.. idk if maybe streamelements making too many requests or something
the code i posted is working.
i didnt change and now its working... so i have no idea
and not working again
my host support was no help, they redirected me here lmao
🤣
i might try a different host, idk if thats even the problem
Sorry for the late response. thank you very much.
hello all was told to ask this in here to see if any one had any input "Does anyone know how to set up keyword commands? For example I want the word first to trigger something in my chat, but only once, and if it gets used again to have another sentence since ppl like to come in and say they are first in my chat. first- "thank you for being on time" then turns to first- "tsk tsk it is never good to be tardy" It was a feature on chatbot but not sure if elements had something I could utilize. Thanks"
@pulsar willow This may be something you are looking for: https://thefyrewire.com/docs/api/twitch/pastebin/
im assuming it would be the return line by index for what im trying? I will look into it, Thank you so much for getting back to me!
It returns random message from provided paste, but when you combine that with index=${count welcomeMessages} it will go through messages one by one. Don't forget to reset the counter value to 0 when you start stream like !editcounter welcomeMessages 0
@pulsar willow @viral patrol don't worry! resetting count is not necessary. After it reaches the end of the list it'll loop back to the start :)
I'm using Jebaited to add points to viewers with a command like !first. This command returns something in the lines of "Congratulations, you came in first! Added 25000 points to user x". Is there some way to change the "Added 25000 points to user x" to a custom text?
@flat wren At the end of customapi URL add:
?format=amount - will display amount only
?format=user - will output username
?format=empty - will return empty string
So you can have Congratulations, you came in first! You got ${https://api.jebaited.net/addPoints/:token/:user/:amount?format=amount} points!
Awesome! Thanks for the quick help
@mild cipher Hey brotha! How does one return an ordered list ascending from let's say line 2 to whatever the last line is, without any randomization? I am making an !event command using paste bin and will want lines to be returned in an ordered fashion
You would need a chat counter, (e.g. $(count event)), then append that as the index parameter on the URL. More info here: https://thefyrewire.com/docs/api/twitch/pastebin/#return-line-by-index
e.g.
$(customapi.https://api.thefyrewire.com/twitch/pastebin/kJfx7hd4?index=$(count event))
so if I wanted lines 2-4, i would $(customapi.https://api.thefyrewire.com/twitch/pastebin/kJfx7hd4?index=$(2-4)) ?
Oh, it's not possible to only return from a subsection of lines. What's your use case?
Creating a multi-lined schedule of events and wanting to return the entire lines of event in the ordered fashion it's been made
here let me post my bin
//A placeholder for the !events command. After this line there will be updates to any current events.
Upcoming Events:
- 10:00 GMT 3/07/2021-RS3-SSJ + CAUSA-CASTLE WARS
- 11:00 GMT 3/15/2021-VALHEIM-SAVII-GRIND COMP
Where comments=true and I want a return from line 3-5 (in this case) as line 2 is blank
but I will be adding more lines
In that case, you could just make the upcoming events line a comment as well?
Yes but the issue is that it's randomizing the returns of line 4 and 5
sometimes it will show the 10 o clock event first, others the 11
and I want it to show both, ordered
10 first, then 11, so on and so forth, in ascending order, returned as one line
one command*
return=all is randomizing the return
Using the counter will return them ordered, after filtering out all comments. So once all the comments are filtered out, line "1" would be the 10am line, and line "2" would be the 11am line, etc
so when a user types !events it will return:
- 10:00 GMT 3/07/2021-RS3-SSJ + CAUSA-CASTLE WARS
- 11:00 GMT 3/15/2021-VALHEIM-SAVII-GRIND COMP
using https://api.thefyrewire.com/twitch/pastebin/?????index=$(3-5)&comments=true) ?
https://api.thefyrewire.com/twitch/pastebin/?????index=$(count event)&comments=true)
the countevent line confuses me
how is the format to index the lines within that parameter
so it would read say, line 3, then 4, then 5, and produce those lines in one command use
It's a StreamElements counter. Each time you use the commands it counts up 1. So it'll become index=1, index=2, etc
Line 1 is the first line of any of the selectable lines
Oh, so it'll only produce one line at a time
there isn't a way for me to produce all lines in ordered fashion?
a return=all minus the randomization aspect so it'll return an ordered list of events
Let me double check
cheers
You can set the index and return values to return a specific subset.
so index=3&return=2 would return lines 3 to 5
Thank you!
@mild cipher still not able to return it in order as presented.
It's still randomizing the return of lines and not ordering them as i have them
Can I see your paste? If it's sensitive, DM the ID to me
@mild cipher I want a command to return lines 3 and on in ascending order, all in one command. so when !event is triggered, it will return an ordered list.
so say you did !event, ideally, you'd generate a response:
- 10:00 GMT 3/07/2021-RS3-SSJ + CAUSA-CASTLE WARS
- 11:00 GMT 3/15/2021-VALHEIM-SAVII-GRIND COMP
but as it stands, it randomizes the return so sometimes it's switched. If i added a third line, it would randomize the return between the three, but I only want it to return all the line in one ordered fashion, at once.
Can you try using index=1&return=all?
no worries! it's handy to keep in mind that the index refers to all "selectable" lines, i.e. after all the other stuff likes comments are filtered out. enjoy!
Guys i need help with a command!
I was trying to create a command for my chat that the persons who uses win a random number of points. I found it but i would like to edit the bot response for something else like a new phrase or something
can someone help me?
the command is this one
${customapi https://api.jebaited.net/addPoints/hblbE0upTLz6GqSz4iZtDPM0/${sender}/${random 1-15}}
when i use in the chat shows this message: StreamElements: Added 8 points to user salsichastream
There's a way do edit what the bot says ?
thank you guys!
Also you may want to edit your message to remove your token from the URL
thank you! ❤️ saved my life
there's a way for the bot send a message when the command is on cooldown showing the time that person can use again? at the moment when i use the command and is on cooldown my bot dont say nothing ._.
Hi, I'm trying to get my custom widget working, however there is a problem. I have a gif built into the widget, I see the gif in overlay editor but not on obs. Is there anything I should be doing different?
Can we do obs-websocket actions from a custom StreamElements chatbot command?
@red spoke it would need to utilitize something via a custom API call.
I am wondering how to use the ${random.pick} command variable. I saw a command on another channel where you type in the command and get a random description of a pancake meal and i'd like to do something similar. How do you set up the list of possible responses?
@inland solar ${random.pick '1' '2' 'rare pepe'}
@hardy walrus Thank you - is there a limit to how many responses I can have?
I'd say no but it'd be limited to the character limited in the response message.
Ok, that makes sense. How do I actually set up a command using one of these variables? the custom commands section doesn't seem to have a place to enter them? I have a feeling I'm in over my head on this one.
Simply add the response from above here with your desired options https://streamelements.com/dashboard/bot-commands/custom-commands
Ok, thank you!
I finally got it, thank you so much!
Where can I learn how commands work so I can start creating my own? Is there an exhaustive source?
practice really...
but commands are here: https://streamelements.com/dashboard/bot-commands/variables
You can add, remove and make changes to custom commands in chat with !command/!cmd flags:
!command add (commandname) (commandresponse) - allows you **to add **a new custom command
!command remove (commandname) - allows you to delete a custom command
!command edit (commandname) (commandresponse) - allows you to edit an existing custom command
!command show (commandname) - allows you to see the raw response of a command before variables are used
!command options (commandname) -(flag) - allows you to change settings for an existing custom command
!command alias basecommand - Shows the alias commands for !basecommand
!command alias add basecommand aliascommand1 aliascommand2 - Adds alias commands !aliascommand1 and !aliascommand2 for command !basecommand
!command alias remove basecommand aliascommand1 - Removes alias command !aliascommand1 from command !basecommand
Valid flags for !cmd options include: -enable -disable -cd (number in seconds) -usercd (number in seconds) -cost (number) -level (number) -type (say, whisper or reply) -count (number)
Syntax example: !cmd options twitter -usercd 60 -type reply -level 250
I appreciate your reply, but I am more asking where I may learn all the rules of the language. It has to be somewhere. You don't learn a language by guessing.
There is no language behind commands.
there is not really a langue to it .... um; like if you know JavaScript it's like a literal username ${user} has ${points} points
Mainly using various APIs to get responses based on variables or website specific endpoints.
honestly; it's a lot of trial and error. but depends on what you want for a command. it's one of the things that you learn by doing. if you post a command of what you want to do and what you expect as a result then we can help here. there is also a #command-share channel with some examples of more complex stuff
@dusky rampart https://streamelements.com/dashboard/bot-commands/variables or if you want to create games, you can do it with any language. Example of that - there are several chat games on #widget-share
thanks
if this makes any sense, i don't want to cook a meal, I want to be a chef so that in the future, if there is something I am asked to do, I can quickly do it on the fly.
the language it is created in is yaml. on mobile they do not have the links at the top. now that i am in the discord client, i see the documentation. thank you all for the help
i do not understand; but i think it means the same as we say in my region? ... im in America "give a man a fish and you feed him for a day; teach a man to fish and you feed him for a lifetime" ?
Teach a man JavaScript and he never wants to code again
accurate!
i love js ... so much fun
if you really hate yourself, you can take a look at shaders in WebGL 
i don't wanna touch WebGL ... i'll stick to HTML/CSS/JS ... and ... when i say that i mean JS 🤣 ... HTML -> <div id='main></div>
is there an ${eval} command for chat so you can run custom code? or does it always have to be an external api?
@quick tendon external api for now.
got it thanks
Bit new to all this, so any help appreciated but is there a way to set up alerts that trigger on event from shopify? For example, if someone used a specific discount code in shopify, it triggers the alert in stream?
hey 🖖
I do have a question regarding custom widgets:
Right now, I try to modify the 'Video & Sound on Command' widget and have noticed, that the 'out' animation seems only to work if it's the counterpart of the 'in' animation? 🤔 (e.g. zoomIn/zoomOut or bounceIn/bounceOut)
My idea was to mix zoomIn with bounceOut ... but then it freezes at the end and disappears abrupt.
Is this behavior intended or am I doing something wrong? 😅
hey, can someone help me?
i need a interactive streaming overlay
I want to be able to control our overlay with an external application
we organizing esport tournaments.
so for example the teams which are going to play, the upcoming maps, score, etc.
what ever i am choosing in the application will be shown in the overlay
the last interactive overlay we had was with excel and html.
we used excel as an application to choose which teams are going to play against each other, maps, score etc.
and whatever i chose in excel was shown in the overlay, their logos, map pics etc.
so didnt have to edit it in streamlabs during the stream.
and we used excel as kind of database.
lets say i have a basic tournament bracket as background design.
in the application i can choose what teams are going to play in the tournament.
then you can see the teams name + logo in the round 1 brackets.
after round 1 i choose in the application which teams have won.
then these teams are automatically in the round 2 bracket
and so on
and all my scenes like the tournament bracket. the schedule. upcoming match / maps will change depending what i have chosen in the application.
that's a pretty large project. 🤣
basically its a webapp to controll everything i would have to edit manually
i am looking for someone who can make this
ready to pay
you know anyone who could do this? @elfin arch
someone might take you up on it... it's a lot though; are your familiar with HTML/CSS/JS ? i can point in the right direction. Sounds like you are pretty close with how to go tho
I have no idea about that stuff. That’s why I am looking for someone
My host changed my server and my IP, and it seemed to be working fine for a bit... but getting error RequestError: connect ECONNREFUSED for my customapi again.
@elfin arch hi do you remember me
I asked you about above system
ah ya. you were setting up an overlay with a grahic
yep. thank you so much. I wanna create a system using obs
my client has a question. Which programming language can I use to create system? For example:PHP, C#...
Can you help me assist it
Javascript is the default language
My client want create a system as https://doneru.jp/
Doneru(どねる)はライブ配信者や動画配信者のための拡張プラットフォームです。誰でも即時収益化できる投げ銭リンクを発行できたり、ライブ配信画面上に様々なエフェクトを出したりすることが可能です。
sorry because it is japan language
it means that I can create a livestream system using obs by using javascript and php
That I am not sure; that system looks a lot like the SE system
thank. doneru maybe created in nodejs
I saw this system can use both xsplit and obs studio
ok. i thought you wanted to create an overlay with StreamElements; something like
I am confirming with customer about requirement. thank for your support
so, the behavior is intended ? 😅
i don't believe so; try this:
make line 358 look like that and see if it works any better
i've noticed while using the custom widget, when i console log the onload part, the recent array doesn't show gifted subs, only the amount of months they've been subbed - is there any reason for this?
@elfin arch is there a way I can combine the prize wheel version of the chatter wheel to allow it to spin with subs, donos and bits instead of just bits?
also, any idea why when I use the botMSG it gives the wrong prize in chat (and always two wrong at the same time)?
the prize wheel variation doesn't track subs only tips or cheers. (they aren't combined because that is against Twitch's usage policy for bits) ... but if you look close in the code there might be a tipsAndCheers option.
and the bot response should be pulling from the data Object ```json
{
text: "FREE Gift-A-Sub",
fillStyle: 'white',
res: 'Gift-A-Sub'
},
The 'text' is what shows on the wheel and the 'res' is what bot will say to chat. If there is no 'res' then the bot should be saying the 'text'
I thought I was being clever adding it here, but that broke the wheel and now it spins for nothing.
take the first // our of this line
okay thanks! Removing the "goal amount" from the fields made it start working. Now I just need to find in the editor where to set these amounts.
I fixed the res, but it still always gives 2 responses in chat. One is correct, and the other one is not.
oh.... you wanted those goal amounts;
it appears to be a threshold of 500 bits/$5. that's fine
it's here .... but check again, it might be 5 bits or $0.05 if you use 1/100 conversion 😉
Do you happen to have it open in the editor and in OBS at the same time?
I'm guessing you have 2 active wheels
haha...maaaybe. Okay. It's perfect now. Thanks! Too bad I can't have it spin per sub at the same time.
thanks so much for your help!
Ya. sub wheel is a different code .... the 'amount' for subs is harder to track cause it could be months for a single or 'amount of gifts' and it's a whole different beast
then gotta do checks for sub bombs so it doesn't spin 25 times for 10 minutes on a big gift
Right. i'm just going to do !spin on my stream deck for it. thanks so much for all your help!
i mean you can set up the wheel and and object for it; it's just a different trigger system ... only thing is they won't queue together (so both could spin same time)
Hello, I did a quick search of the discord and couldn't find an answer is it possible to increase the amount of videos in the Video in command mod?
You can modify the source code of it or use two instances of that widget.
Just create a duplicate or?
Yes. Just create a duplicate and provide additional videos there
🌞 Good morning dev gurus!
I'm in the process of connecting my scrappy stream to StreamElements via the API, adding points to users for answering trivia questions correctly.
That makes me daydream about giveaways. I understand that people can purchase tickets with the points they earn and that I can draw a winner via the API endpoint documented here:
https://dev.streamelements.com/docs/kappa/api.yaml/paths/~1giveaways~1{channel}~1{giveawayId}~1winner/put
Can I set a winner? Perhaps this is a bit too "rigged", however I was thinking about creating a spinner of sorts to select a winner.
Alternately, does the API endpoint mentioned above return the winner (not seeing that in docs)? With that I could create a some kind of visual of the selection process, make the call then showcase with a bang.
I'm open to other ideas as well. Thanks for listening to my rants and have a great day.
Hello people that are much clever..er than me. Im trying to setup multiple overlays for an upcoming charity event and i was hoping to encapsulate all of our just giving widgets into a streamelements overlay so I could just hand each streamer a single URL to put in their OBS for their entire charity overlay to populate but I can't work out if its possible. I tried creating custom widgets using iframes but it is really janky and doesn't work well...
Has anyone got any experience with importing other alert URL's into an SE Overlay or am i trying to do the impossible?
@undone willow which service is it by chance? We have some integrations along with widgets that work for others that Aren't.
It's justgiving.com and their live widgets. It looks like when you load the widget URL in a browser that its using Blackbaud as its underlying application.
Ah ok. And then I can duplicate that widget into my main overlay?
Yup
It's strictly audio/visual. Nothing beyond that unfortunately.
While learning the SE websockets API I came to suspect the SE Overlay's emulation of Community Gift Subs may be faulty. It seems to gift the same user repeatedly instead of separate unique usernames for the amount of gifted subs.
This is also reflected in the JSON test event only generating a single "subscriber-latest" event for one user receiving all of the bulk gifts. I did expect more "subscriber-latest" events per user.
Unfortunately, I have no data from "in the wild" to compare this with, yet. If you have any advise, I'm listening.
I'll take some photos to supplement my findings
is there any way to put custom css to alert us of store redemptions?
I was wondering if there was a command that could keep track of dates/progress with additional commands and was encouraged to check here for a custom api? I'm not entirely sure what I am looking for though. I know next to nothing about commands and editing and coding, etc.
Hi! is this endpoint working?
Hi! Is there any way to replace text in non-json urlfetch response in SE chatbot like eval or something like that?
I mean from $(urlfetch) command.
you can try something like #dev-chat message
but i haven't tested it with a buried fect inside; best way to do it would be to set up your own API and make the call there, format as you want to return it back to SE
ty
yup yup. If know JS some; the second route is WAY easier and you can just fork that example; there is a basic fetch example in there
yeah, I know but I don't want to use any self-hosted or other servers atm 🙂 nevertheless, thanks for helping ❤️
yup. no problem. i just made that as an example of how to make a free API for some more complex commands. I added an 'eval' option in there ... but it is tricky to use and dirty code 🤣
Is it possible to have a custom widget send a message to chat through the StreamElements bot?
I didn't see anything obvious in the docs, so figured I'd ask here. 🤔
https://github.com/StreamElements/widgets/blob/master/CustomCode.md
see this post ^ @quick torrent
Hi, I'm having some issues with a custom overlay I'm creating through the website - which chat room do I go to for questions?
Hello. My name is Whaskalmanik. I have a question regarding loyalty points. Is there way to program my own minigames in chat? I have in mind for example: Raffle, slot, etc. If the api is somehow visible for users to mess with. In example. Command !Paper that stream elements bot would reply with Rock or paper or scissors, if you won it would give some loyalty points in return. Thank you for reply.
Short answer is yes 🙂 ... the api is in the header here; but for chat games you will want to use the jebaited middle man posted just up 2 comments. There are plenty of examples in #widget-share. But for games; i would* search for 'Chat Trivia' or the roulette wheel. ... There are also a few games in the recent one there that I posted under 'Chatter Dock'. Also there is a 'bank heist' style game as well 😉
Thank you @elfin arch
Hi, I am testing a custom tip goal widget and I noticed that tip emulation does not trigger onSessionUpdate. Do real tip events trigger this?
Hi there! I'm really new to Twitch, and while I've found different set templates, I'm trying to build a sub goal that changes color like a moving gradient in the left side (while it's being completed) and has a ball with the number of subs that moves along (see below). Was wondering if anyone had any tips or resources on how i can build this in SE (from the sub goal model they have already)
Hello! I have an issue with my code for my follow alert. The text is not using the full space. I can't seem to find a reason why ... a second eye would be appreciated. https://pastebin.com/f3p5y3hm
The repeated "just started following" is just for test reasons. (the green part is being greenscreened out)
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
How to get channel points from a specific username and channel
@unreal lake this is the spot 😄
fire away, this is where the smart people hang out
Thank you
I am making a overlay integrated alert and for gifted subs I am trying to figure out the variable for the sender in custom css
Would you mind pasting your html also? I will take a look
Hi Jay, are you simply trying to identify if a sub is gifted in your widget?
Yeah, so I have done the html for a normal sub where the person who subbed popped up and that was identified using "username-container" and I am just wondering what the sender would be identified as
Got it, check out https://github.com/StreamElements/widgets/blob/master/CustomCode.md onEventReceived obj.detail.event.sender
Thanks!
HTML: https://pastebin.com/jqA22JVR
CSS(updated): https://pastebin.com/f3p5y3hm
Thank you
Let me know if you can work off of this:
HTML: https://pastebin.com/HG6zQE2x
CSS: https://pastebin.com/306yUL3H
oh yeah that works - may i ask why deleting the stuff from the image container did this or other way around why was the image container restrictive to its child?
Cool - it seemed like a combination of things, I think the relative transforms were doing weird things, and I couldn't tell where the containers were getting their widths from, so explicitly adding those seemed to resolve it.
ok nice! Ill think ill switch later to css created banner where alignment might be easier - but for now i can work off of this thanks
A good idea, that would be more flexible in the future. Glad to help 🙂
Hi Guys! On stream overlays I am trying to set up the widget of the credit roll which I have been told is a community createdwidget and this channel may have someone able to help me.
I cant get it working, I cant get it tested, nothing, if anyone has any advice I would be hugely appreciated!
https://streamelements.com/example/leaderboard how to get this in json?
@static wigeon Hello, I messaged awhile back about applying for Developer OAuth2 Credentials for our project. As we've had several users requesting that we integrate into Stream Elements, as they prefer it over stream labs.
They said the application form was temporarily down for new Developers.
Checking back in now and noticed the application form is still down. (6-8 months later.)
Is there any new news on this? or an ETA for when developers can begin integrating into Stream Elements again?
so im super confused about the coding for a streamelements code; like the code seems fine but when inputed it doesnt show the proper users and im so confused as to why its not correlating ;;
Hey,
I have two questions regarding the sharing of a Custom Widget. It visualizes a coin toss.
- Can I share the animations I've created, too? (webm)
- Is it problematic that the coin shows the twitch logo on one side?
i liked it, u can send in my dm xd
This would need to be a custom widget.... do you have experience with HTML, CSS, & JS ? .... i might have some code for your to start with.
The use of twitch logo might be a problem cause it's not within terms of brand usage.
"Don’t modify or alter Twitch Brand Assets in any way, such as changing the color or design of our logos, app icons, or screen shots"
For more informations, refer to twitch brand page
Any idea why my cheer emote still shows up as default even though I've already changed it and it shows as changed?
i hope u changed the varitions tab not the default only
No I don't (but am both open to learn and/or commission if it's complicated)
I'm having trouble getting the Roulette Game made bij @viral patrol to work, I generated a coin at https://jebaited.net/tokens/ with addpoints and botmsg but i'm not sure how to set it up from there.
In Streamelements under Middleware setup, do i only enter the API key or also use the URL which is already in there?
The wheel shows up with !show and spins with !spin but when i use !bet it says: there is no contest currently running.
Login page
Is there a way to add a Queue system at all?
As in If i want people to Queue to join a game etc, and then Pick the next 2 people in the list etc
AND ofc those 2 people being removed from the top of the list after
@shut quiver https://warp.world/multi-queue provides such functionality 🤔
Hi everyone, Is it possible to apply for oauth2 credentials?
I get this when I go to the link https://docs.google.com/forms/d/e/1FAIpQLSf0QppxXBTG1Qbuh2ylZyLtsZK-1b3-kEz1ofwipSNcjwOlOA/closedform
Hey! I'm actually looking to see if someone can help me figure out how to write a command that would repeat whatever a user says after the command. ie. "!say I am a bot" and the bot returns "I am a bot"
Since the lastmessage variable would also include the initial command
You're my hero
follow-up question, is there any reason that the bot would not accept a command from itself. Effectively i'm using that variable to workaround the permissions to add a quote, so i set up a command to look like this so if a user types !addquote 'check it out' the bot will answer with the "!quote add check it out" command, but the bot doesn't seem to respond to commands from itself
I guess it's to avoid infinite loops since you could add commands that would crash the bot
spam prevention.
Yeah, that's unfortunate, I guess i would literally need a separate bot to answer that command and send it to this bot
🤣 ... i happen to be working on something similar; all basic code is there ... i'm just not moving a DIV along line. here's a pen to play with if you are interested: https://codepen.io/pjonp/pen/WNoKJNM
:gd:
Hello, I am looking to do a command that accepts user input, such that the output will be "The letter (user input) is fake" . Any way I can go about doing that on streamelements?
There are a lot of commands that use user's input. For example weather on #command-share
You just need to paste token, not the whole URL and it should work.
And the There is no contest currently running - this is because you have a default bet command enabled
In commandlist here https://streamelements.com/dashboard/bot-commands/default-commands.
Bot should reply with you put :amount on :bet like you put 20 on red when you have token provided properly.
Thank you so much for your fast and thorough response, it turns out my default !bet was active even though I could have sworn I turned it off.
Will test later but I think this solves my issue!
Great widget btw!
Thank you. I hope your community will enjoy loosing points (as everybody knows that roulette has low winning ratio) 😉
just play the streak RED RED RED!! you can't lose
Lol, they loved even the sight of the (not yet functioning) roulette wheel so I guess they will!
Do you by any chance know if it's somehow possible to show highest/latest amount of points won with username? Just like the trackers for latest follows and highest donations etc.?
Would be an awesome view to place "today's highest win by user x" underneath the wheel.
Helloo
Im trying to make a command that hits https://api.twitch.tv/channelname/hypetrain/events
And it would return the last hype train of the channel
Feel free to ping me
how is your JS skills? you may need to set up a middle service for this. (free)
Thanks for telling me about the channel. But I can't find any command that accepts user input that is just a text string/characters in there Most of the commands in there the input is either a link or a user. Any other suggestions?
OG post: Hello, I am looking to do a command that accepts user input, such that the output will be "The letter (user input) is fake" .
do you just want The letter ${1:|null} is fake. ? so it's always fake? *$
@elfin arch I'm looking for a command where I can type !fake a and the output will be "The letter a is fake!"
The letter {1:|null} is fake. ?
!fake a -> The letter a is fake.
!fake ab -> The letter ab is fake.
!fake a or b -> The letter a or b is fake.
!fake -> The letter null is fake.
!fake yolo -> The letter yolo is fake.
@elfin arch Yes , like that. Any way to add that command?
that is the command to enter: The letter ${1:|null} is fake. *$
@elfin arch I tried it through twitch chat !cmd add fake The letter {1:|null} is fake. Output came back The letter {1:|null} is fake. when I tried the !fake command
🤔 1 sec
Thanks I will wait 🙂
It worked! @elfin arch @viral patrol Thanks for your help! 🙂
They are ok. Go ahead @elfin arch
for Twitch endpoints like this one (https://dev.twitch.tv/docs/api/reference#get-hype-train-events) ... to get the info you will want to use a middleware for both commands and overlays.
But to hit these endpoints you need TWITCH clientID, token, AND scopes for that channel.
are you doing a personal project @jovial rose ?
Channel topic.
Following up the last item, ive went to the git docs/description and saw there the fields a available. One thing, i`d like to have something similar to the events widget, where i have a window to set up each item. Or maybe a way to hide some fields dynamically depending of one of the other items, a checkbox for example, or a yes/no dropdown. Does the editor have something that allow me to do that a this moment? Or do any of you know a way to achieve that at the editor? ( i havent found anything like this there)
And another thing, i have made an event, that in a code pen renders fine, and at the SE editor, its not working properly, any ideas?
fields can't interact with other fields. You can change the value of a field in JS, but that won't reflect on the fields sidebar. So short answer: No, there is currently no way for dynamic fields
How do you trigger that?
Neither a window like thing? I want just to make it easier to understand the settings, bcs te widget has a lot of functions
Its a css class. I add the animation css class using jquery to the defined div. I use a custom queue, but that is also working fine at the codepen, and i add the item to the queue using the onEventRecieved listener
you can use groups to organise fields, but unfortunately that's about it
can you link the CodePen by chance?
Actually i said it wrong, the proper render is happening on any browser, but once imported at the OBS, it doesnt work fine. (and i do have acceleration turned on)
Pen link: https://codepen.io/jedusaad/pen/LYRbaaY .
(It starts to run a little late, 12 seconds to be exact)
At the git, as far as i saw theres nothing about grouping. 😦 Any guides available?
then it could be a version mismatch. OBS BrowserSources are always a little bit behind in their used Chromium version, so some CSS or JS features might work in the browser, but will not in OBS
you can just add a "group": "MyGroup" prop to your field definition
Thank you!
Outch :(, it took me a while to get to that look, i appreciate the help
"1) Right click on your OBS desktop shortcut and open the Properties
2) In the Target field, add the following to the very end: --remote-debugging-port=40404 (don't forget to add a space before the current path)
3) Open OBS (or restart if it was open)
4) Open your web browser and type in: localhost:40404
5) Click on StreamElements - Activity feed
6) Navigate to the Console tab
7) Type the following into the console and hit enter: store.customBot.removeCustomBotIntegration()
8) Try setting the custom bot name
9) Remove the additional flag in step 2 from your shortcut properties."
if you do that to just step 4 you can look at the console of the embedded BrowserSource
if it throws an error it's an JS issue, if not it's probably CSS
I`ll debug here, thank you so much for the help
Not sure if this is the place to ask: Is there a way to pull the information from your Aggregates ...like Monthly Subs .... to use in a counter ( ie sub goal for the month)
you can grab them in the widget with these: https://github.com/StreamElements/widgets/blob/master/CustomCode.md#twitch
Hello there, how are you guys?
On streamelements overlay creator, does have an option to input custom html and css?
I'm trying to create a custom chat for my overlay, but I've could only make some custom css and override at obs
Hello, I'm trying to set up the Google sheets to-do list from #command-share. When I set up my web app, it was set as Execute as Me and Who has access Anyone but the url still takes me to a Google Login screen when I navigate to it via an incognito window. Similarly, when I run the !todo command via my chat, I get back html for a sign in page, which I assume is the Google sign in page. Has anyone else had this issue and if so, what did I do wrong/need to do to correct this? Thanks in advance
Inside the Static/Custom at the (+)Menu at the left bottom portion of the canvas, there`s an option called Custom Widget where you can fully customise your widget to do whatever you want. With fully custom CSS/JS/HTML. You have the default event listeners to get your events(subs, follows, chat messages and may others) and setup, then you can do whatever you want inside them.
hey. I want to pause the alert queue until an audio file has finished playing, SE_API.resumeQueue(); and widget duration doesn't seem to do that, is there any way to do that?
it just continutes onto the next dono despite the resumueQueue
Under Static/Custom select Custom Widget and paste code from those files to each tab (JSON goes to FIELDS tab): https://github.com/StreamElements/widgets/tree/master/CustomChat
Ok it wasn't working in firefox but worked in chrome, weird. Now i have another issue
@tight inlet ResumeQueue as the name says - resumes queue, so it goes to next alert in queue. widgetDuration is maximum lock time
These come before the next subscriber
e.g before two subscribtions in a row
even with the lock
yes i read that
yeah that's what hapepning, but i thought the queue would be frozen until the next event
ehm hmmm
is there any way to stop chat messages?
i want to freeze the queue until i finish playing some audio, and then free it up
As on the link above, there is a list of skippable events
but i dont' want every chat message to freeze the queue
ah
Also add to that list kvstore:update. I have to add it to docs (with description).
Already noted for tomorrow 😉
so i don't need to "se_api.resumuequeue" upon those events?
That is correct. You shouldn't use resumeQueue upon any of those events
I would add a console.log(obj.detail) to check listener or other thing that triggers resumeQueue.
thanks
ohhh thank you so much!
thank you too, and for the git will help me a lot! 
How do i submit a widget for the marketplace or whatever 
@tight inlet https://strms.net/codeshare
Thanks
No problem!
So based on my understanding, with custom widgets, everything is piped through a single event handler?
is it that a custom widget just has a single listener that's like YEAH YOU CAN GET BITS, FOLLOWS, ALERTS, AND CHATS ALL IN ONE
? Just asking because the context from the sample code doesn't make that apparent.
Yes. There are three events listeners - onEventReceived, onWidgetLoad and onSessionUpdate, but basically yes. You can distinct events by their listener, so you can perform advanced logic.
what's the event type for resubs? We are just targeting "subscriber" as the listner as per the example code
But it is not working
only new subs are working
They are subscriber-latest. The best way to check how it works is to get a custom event list, emulate events and check what they do.
there isn't an emulator for resubs 😔
There is. Click a sub and pick a duration of months.
and the chances of landing "new sub" on a sub emulation is super rare lol
Hello! I'm sorry if this has been answered before, but would it be possible to connect wordpress website (using woocommerce) to Streamelements so it would show alerts when someone buys merch? I am aware this is possible automatically through SE.Merch, but we can't use that. And if it is indeed possible, could you please point me to the corresponding page/s in the documentation? Thanks!
@quasi karma you'd have to ask them.
Sorry I meant Streamelements 
I've been googling around looking for possibilities and of course I got the names mixed up at the very worst moment 🤦♂️
Oooh. Thanks Ix. Appreciate it!
@sleek karma Not sure if that's your actual email but please use something else.
Anyone managed to post tips using oauth with this url https://api.streamelements.com/kappa/v2/tips/?
Here is the error that I am getting:
"statusCode": 400,
"error": "Bad Request",
"message": "child \"amount\" fails because [\"amount\" is required]",
"details": [
{
"path": [
"amount"
],
"message": "\"amount\" is required"
}
]
}```
And the amount is in this payload:
{
"user": {
"username": "thunderlemon",
"email": "***"
},
"provider": "Thunder",
"message": "Yay!",
"amount": 122.00,
"currency": "USD",
"imported": false,
}
@hardy walrus It was not my email.
NVM got it 🙂
Anyone know if there is a way to add an alert that is not donation related?
Odds are woocommerce has an API that you can use that tracks your purchases and in SE just create JS that polls the API
question:
Im trying to get my 2020 stats on my dashboard but all its showing is month week and day option how do i change this?
i would like yearly stats but cant see where that option is
Is the /activities/{id} API down for anyone else?
Other APIs work for me (like /channel/me), but this one always times out
Nvm it's back now
hey there, could you tell me where I can find some documentation for having a credit roll that only show user $amount they gifted $amount of subs/cheers/doni?
i tried this for having sub gifter in the credit roll, but I don't know why this not work. Did you have any idea?
window.addEventListener('onWidgetLoad', function (obj) {
const recents = obj.detail.recents;
let session = obj.detail.session.data;
if (typeof session['follower-session'] === "undefined") session['follower-session'] = {count: 0};
if (typeof session['subscriber-gifted-session'] === "undefined") session['subscriber-gifted-session'] = {count: 0};
if (typeof session['cheer-session'] === "undefined") session['cheer-session'] = {amount: 0};
if (typeof session['tip-count'] === "undefined") session['tip-count'] = {count: 0};
let fieldData = obj.detail.fieldData;
userCurrency = obj.detail.currency;
console.log(obj.detail.session);
console.log(recents);
for (eventIndex in recents) {
const event = recents[eventIndex];
if (!fieldData[`enable${event.type}`]) continue;
if (event.type === 'follower') {
if (fSum < session['follower-session']['count']) {
addEvent('follower', event.name);
fSum += 1;
}
} else if (event.type === 'subscriber-gifted') {
if (sSum < session['subscriber-gifted-session']['count']) {
addEvent('subscriber-gifted', event.name + " - " + event.count );
sSum += 1;
}
} else if (event.type === 'cheer') {
if (cSum < session['cheer-session']['amount']) {
addEvent('cheer', event.name + " - " + event.amount);
cSum += event.amount;
}
} else if (event.type === 'tip') {
if (tSum < session['tip-count']['count']) {
addEvent('tip', event.name + " - " + event.amount + '' + userCurrency.symbol);
tSum += 1;
}
}
}
});
Thanks!
how do i get an se account id?
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.
im trying to figure out how i would make the "google sheets to-do list" in #command-share also include the name of the sender in the sheet. any one know how?
ty
hey is there an API endpoint for watchtime?
Would like to put my !watchtime command to a custom command instead of default, so I can make it a whisper-only command
@pulsar willow ^ see this 😉
Hi there, my overlay gets cutoff from the top whenever a users message is too long [see image on right side]. how do I make it to only cut off from the bottom? so the message part gets cutoff and the name and amount is always shown. Pjonp requested me to ask this question in this channel.
the answer is going to be in the CSS somewhere .... with that container on the right.
if I enable custom css it changes my overlay to something completely different
I get a gif with a dancing dude in a shark costume
ohhh. this is how it comes in normal without the custom CSS?
yes
enabling css ruins it all. the only thing that works as it should is the sound.
it's an 'alert box' correct?
yes
ya 🤣 that custom CSS goes to the dancing shark
simplest solution might be to just jack the height way up
...unless you want the bottom part trimmed to a max height
yes, i basically want the overlay to fit in a 800 x 600 box and only cut off the bottom part.
otherwise it could clog up the screen with lots of text and go through other overlays
🤔 ... playing with it
I dont understand css that well, if only it used the basic settings I had as a start, i could figure something out with the css, but this is basically starting from scratch if I enable it 😓
ya. basically when you toggle that on... it disables all the options on the left.
that lower part is like an example message from a sub or tip right?
yes, exactly
streamelements allows up to 255 characters.. there are people that use every single character they can get
which one is that? I have 2 in there. one is for 'Text' the other is for 'secondary text'
secondary text is the user message and the {user} {amount} part
no, im seeing it wrong.. just the user message part, for the secondary text
hmmm. ya... i tested again with larger font and it broke
alright... so a couple options... #1 is to size to the max text response of 255 @eager citrus ```
THIS MESSAGE IS 260 CHARACTERS LONG THIS MESSAGE IS 260 CHARACTERS LONG THIS MESSAGE IS 260 CHARACTERS LONG THIS MESSAGE IS 260 CHARACTERS LONG THIS MESSAGE IS 260 CHARACTERS LONG THIS MESSAGE IS 260 CHARACTERS LONG THIS MESSAGE IS 260 CHARACTERS LONG123456789
I'm not seeing an option to top align; and i might have missed it and someone will correct it later; but i would format/fit to that.
If you want overflow; then maybe we can do some custom CSS override on the OBS source import
didnt know that was an option too 😮
I tried it myself with the largest sum of money I could possibly put in and 255 times of the biggest letter. this was the result.
what can the obs css exactly do for me? maybe that will help.
sorry @eager citrus ... i can't find the right class to override. somewhere in there is a center instead of 'flex-start' i'm sure.
never heard of flex-start.. but I looked into the css part in streamlabs. the only thing I see that has center is
#alert-user-message {
text-align: center;
}
#alert-user-message img {
vertical-align: middle;
height: 1em;
}
that looks ok; the text align is like left-right-center; so that is good. the second one is for the image, so vertical-align is good to make image centered up and down.
somewhere there is a container for the test and that is centering it up and down .... and since the text is so long it forces it up; instead of staying at the top and hiding the overflow.
aah i see..
i tried to copy all the contents in html css and js from streamlabs to streamelements, but that did not solve the issue at all
the problem you described makes sense to me now.. the problem is where to find that piece of code
there's gotta be a setting in there somewhere... i just never use it 🤣 so i'm not sure how
Hey, idk what ya'll are up to, but if you're looking to in any way limit a div's text content to 1 line, use white-space: nowrap;
trying to align content to start on top:0 and ignore the overlfow on the bottom when message is to long
so basically the nowrap but vertical 🙂
You can set a container dimensions, and I have a script that limits text to fit into container, cutting off all the extra text
Let me see if I can find it, see if ya'll find it useful
ya... problem is it's all in the default alert box
so we can't JS /CSS easy way out of it @sturdy oak ^
ouch
but thank you. and if you have any idea if there is a setting for it and where it is .... 🤞
@elfin arch I don't know if you are still trying to figure it out, but I stayed up the whole night to try and fix it. its 10AM atm and im really tired, im going to get some sleep before my next stream starts 😞 otherwise I won't survive. I really appreciate the effort you put in for me ❤️ I will look into it myself later.
... ya; i've given up .... for now... i go the text to fit... but the name is removed
I will see if I can make the overlay from scratch and learn css tomorrow with the help of some tutorials.
I have no knowledge about it whatsoever, so I have no big expectations..
honestly... the built in alerts are great .... i'm just not sure why that happens
i'll ask the red name big brains.
alright, thank you! If you ever get a solution, can you DM me?
will do 😉
can you get a stream title from the api
and is there a way to get account access without using a JWT token, like oath2
stream title is provided by the streaming platform ... like Twitch (and that way you can get updates as well)
for API access; JWT is the only current way
@lofty moss This may be helpful for you: https://docs.decapi.me/twitch?endpoint=title%2F%3Achannel
if you set a height under Secondary Text -> Advanced that should limit the available space and cut the bottom overflow off
Hello, we have an API/plugin for streamlabs and looking to expand with streamelements, I am not a dev myself but if anyone have experience - would that code be easy to implement on streamelements as well?:P
So basically I have had some custom alert Webms created and I am looking for a way to program the text and animation with CSS to position itself exactly where I need it with animation, but I am a total noob at this sort of thing and have no clear idea on a way of doing it - I looked at using another code to test it and it totally broke the animation. Any point in a correct direction would be most appreciated
sorry that I didn't reply to your previous suggestion. 🤦♂️
I tried it out, but unfortunately this appends a scale-down-effect towards the top left corner.
So I thought, it might be a more complex problem and I just wanted to finish the project. 😅
(btw sry for the poor video quality.)
Hey how do you test the tip api? do I actually have to tip myself lol?
@weary canyon Regarding Custom Widgets, Emulate (the bell symbol at the bottom) -> Tip Event should work? 🤔
Gotcha this is in reguards for like hitting the api from postman
Also https://api.streamelements.com/kappa/v2/tips/channel, in order to stay up to date do I just keep hitting the API or is there a webhook available?
Hello y’all, can anyone help me with a widget coding I’m having an issue with?
Hello there, I wanted to know if I can share an overlay I created on streamelements with the streamer I'm working for right now... Someone told me that I need to be a code guru in order to do that. If so, how do I become a code guru?
@tardy lantern i think you can also duplicate it to someone elses SE account if you are a manager/editor there? (https://streamelements.com/dashboard/account/channels) ... but i never did it myself 🤔
afaik someone can become a code guru if he/she published widgets to https://strms.net/codeshare ... those widget can than be found under #widget-share
Thanks for the info!! Really appreciated.
Thank you so much, this was exactly the solution I was looking for! ❤️
Hi everyone !
I created a small extension for Lioranboard that allows you to trigger when a tip is received on StreamElements.
Basically, it is provided with a simple function which will automatically post a message in the chat, it is there just for example but it's up to you to have fun with it ;p
Link: https://gitlab.com/pyl_marcio/lb-streamelements-api
PS: Don't forget to tell me what you think!
PS2: Sorry for my bad English :/
Wrong channel. My apologies
Hello. Sanity check: If I want to add points for multiple users, I'll need to add to users individually, correct? This endpoint?:
/points/${channel}/${username}/${points}
update: I've created a throttled approach to handle applying points to multiple viewers while making it fun e.g. 100 people receive points and a progress bar will show up on screen of syncing points eventually (I don't have that many viewers yet however let's think big!) 🙂 If there's a bulk option, let me know!
Hmm. I am having issues with JWT auth. I'm making progress yet could use help.
When making a request to add points for a user, I'm getting this error:
data: {
statusCode: 403,
error: 'Forbidden',
message: 'No channel authorization found'
}
I can see that the header is set correctly with the correct JWT. If I alter the JWT as a test, it definitely gives the expected error when sent:
data: {
statusCode: 401,
error: 'Unauthorized',
message: 'invalid signature'
}
The url is filled in with the proper channel name, viewer name and point count. Do I need to add extra authorization somehow for the request to succeed?
Aha! ChannelID is the "account id" in dashboard. I made a successful point addition. Cancel and thank you!
@agile yew Hi. You cannot authorize against moderated accounts using your JWT. You can access only your main channel with that.
Hello @viral patrol . That's cool. Yeah this is just for my own channel.
So send a GET request to /channels/me with that autorization token.
And confirm it is a valid account in response
Yep it works! 🙂
Per my last rambling (pardon all the text), I was able to add points to a user by altering channel name to channel id visible in dashboard. I'm learning. I'll work to get things to oauth soon as well (finished that for Twitch connections recently). Thanks for the assist. I'm good to go.
Any chance that steam variables are usable via SE like with Nightbot https://docs.nightbot.tv/variables/steam ?
@rose aspen Maybe this one will suit your needs? https://docs.decapi.me/steam
It was, thanks
Cheers, but that is the one I am using but as I wanted it show for the game I was currently streaming and not just one game per command. Hence the reason for me asking for the steam variables for the SE bot.
Hi.
I am using SE_API.store-set()/get() to store some information about certain events to a API-key. (To store more data than the *-recent objects)
This might result in quite a few rapid requests if rapid events are happening. Is there any place I can read the documentation about the limitations for this API?
With StreamElements modded, a POST to the say endpoint with the message: "/followers" can activate followers mode along with other chat commands.
However, a POST to the say endpoint with the message: "/delete {uuid}" does not delete the message. It posts as a string.
Is there anything I can do about this?
I'm not sure of the rate limits.... but there should never really be a need use the store to save and get everything. Store it all in a local Object and only save when required and you'd need to recall it again.
I guess you are right.
The reasoning I had was that the data could be stored across multiple streams.
Now that i think about it it might be possible to use the browsers local storage instead.
Thanks for the response. 🙂
I'm trying to store data for certain events from a master-widget like so:
events = {
subscriber: {
//Username: tier
"Username1": "1000",
"Username3": "prime",
},
tip: {
//Username: amount
},
cheer: {
//Username: amount
}
...
}
This is supposed to be used by other widgets by fetching the data once.
Slave-wiget1: Fetch the data on widget load and present a End Credits screen.
Slave-widget2: Fetch the data on widget load, calculate the total amount of all donations to accumulate into a shared donnationbar.
++
Is master widget 1 doing anything? .... i think the slave 2 should be master
if slave 2 is the "active" bar that updates on new events ... it should be master is my reasoning
In my setup the master is only handling storing and resetting the SE_API-key.
The slaves should only fetch at widget load, then listen to new events while they're active on their own.
you have 3 widgets now; right. a "database" ... an "end of stream" and "current bar" ?
Yes, and I also plan to make a "marathon timer" that also fetches this data.
make your bar the master that holds all the data; then save only when the bar updates.
a 'credit screen' should be a closed scene; so it will load when activated and load all the data in.
(there is no need for the credits running/updating in the background, it'll just consume resources for the streamer)
Hello.
I have the same probleme. But i can´t use my JWT-Token with other programs like StreamAvatars.
The StreamAvatars Maker have ccheck this for me an i diidn´t have authorization.
Can someone help me?
I don't really see the difference. The bar will update(increase) for every (interesting) event anyways, so that the saving is contained in a separate widget would only cause 1 less request to the API as far as I can see.
I could try to write some mock up code if it would make it clearer 🙂
the bar would be the master .... and that updates in real time and saves as events happen (be careful with sub handling) .... the credits only load when needed.
so you've now trimmed your overlays to 2
my thinking here is that; you dont need 3 active widgets tracking all the stats at the same time. This is a waste of resources if you have 3 running at the same time. You 1 stat tracker/saver (the bar) and one the shows up at the end (credits) that pulls all the data that the tracker saved.
Oh, ok. One of the reasons I'd like it as a separate widget is to be able to see some stats and potential error messages, this widget would be hidden but active.
Like this. Error messages would be added to the list as they occur.
did you get the bulk point option resolved 🙂
i like what you got with the error messages 🙂
there should be ...maybe... i haven't had time to play with it but a listener for kvstore:update
that will ping from the master to pong to your slaves
i think my JWT-Tokens are Broken. i cannot use it in Stream Avatars and i can´t used it to delete my Streamelements account.
I would try to makea new acccount, but i can´t delete it
i don't know about Stream Avatars. or why you would give them your JWT!! never give your JWT out
If you connect to a 3rd part website... always go through Oauth!!!
stream avatars is a program to combine the bott from streamelements to it. you can buy it on steam
but why i cannot delete my Streamelements acccount?
you're account will go to the staff for removal.
ho can i find the link?
im here
this isn't something you can close then reopen 1 minute later
#1) NEVER SHARE YOUR JWT TOKEN
#2) If you close that it... it will take a few days. You cannot create a new account
you had an email in there. i'll send to staff for the error
i can give you my token and you will see that it doesnt work. i have made a few new ones
give me a minute to ask.
F12 -> network tab -> button -> check error @foggy fossil screen the Inspector
Hello there, I am creating a script for the websocket api (https://developers.streamelements.com/websockets) . I want to catch a failed authentication, but i don't get a response back when the authentication fails. It just stays on "connected' and nothing else happens.
I'm using Javascript and Socket IO
LFSocket.on('connect', () => {
if (socketService === 'StreamElements') {
LFSocket.emit('authenticate', {
method: 'jwt',
token: authToken
});
LFSocket.on('authenticated', (data) => {
console.log('Succes!')
})
}
})
i hope this is right
what is the data .... is it always success?
If an authentication fails it doesn't come to that point. I removed some code to just show that when it comes there its "succes"
LFSocket.on("connect_error", (e) => {
console.log(e);
});
When i put console.log(LFSocket) after the authenticated part (So Authenticated hasn't fired yet) It gives me this (and more) information
connected: true
disconnected: false
ya; that red text might be a key... 1 second.
i've not played with the webhooks enough; but I would look at the callback function there LFSocket.on('connect', ( ***d***) => { ?
i'm not sure how to verify a success/fail connection ... or where in the code is best to do that; after connection or verification or both?
click on the red text link on the right side
These are the callbacks. Did put them all in the "connect" and outside that event and disconnect, connect_error and connecting didn't give me anything
can you screen shot it?
Not realy 2 lines with 67889 column
i haven't set up a web socket with SE so I can't really test. all my socket.IOs are local. .... what happens when you put in a bad token?
There is a bad token in it right now @elfin arch 🙂

