#dev-chat
1 messages · Page 56 of 1
idk this can go in this chat but i withdrawed money on my sepay but how long does it take to transfer monmey into my credit card
I can get the Stream marathon widget to work
start and reset timer isnt working either
If we need to update our redirect URI's for our oauth2 application, how would we go about doing that?
Wanted to know if there’s anyway I can setup a command so every time someone types in !title or !rank it shows their title that I give them(from manually entering it)
There's no built-in Twitch solution @austere aurora, but let's try something like this:
The pastebin needs to be set up like:
:[USER1] $(sender) is xxxxx1
:[USER2] $(sender) is xxxxx2
1 per line where USER1 is the username and xxxx is the role or title/alias that they want the bot to reply with
the command could look something like: $(customapi.https://api.thefyrewire.com/twitch/pastebin/REPLACEME?filter=$(1|' ')&user=$(sender)) <--replace the 'REPLACEME' with the pastebin ID you set up
Hello
Im currently trying to send alerts via woocommerce when somebody is buying something. what would be the best way to correctly implement it? via socket io and push to que that way via api and have a widget listen for that specific event ? or are we out in maybe webhooks would be simple enugh ?
Hi ! How can I change this data : " userLocale = fieldData["userLocale"]; " ? I tried to replace to " userLocale = ' en-CA' " but it doesn't work ... The goal widget is in USD and I need to have it in CAD ...
I also tried to add "Let userLocale = "en-CA" and let currency = "CAD" "
But didn't work either
Good morning. Is there a way that a StreamElements overlay with a custom widget can access/post to chat via the StreamElements bot?
@tropic wagon if you set locale to en_CA and currency to CAD then we get the symbol $ because Canadians refer to Canadian dollars as dollars. Check here https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat
Actually the widget is not for me, it's for a friend in Canada, and when her viewers (also in Canada) send donations, it shows in USD on the widget ... For exemple for a 5 CAD donation, on the widget it will shows like they donated 4.11$ (so USD)
@tropic wagon toLocaleString('en-CA', { style: 'currency', currency: 'CAD',
@tropic wagon if this is a streamelements widget, I think your friend would need to update their donation page settings so that it feeds in to the widget in her currency
I can't remember where i got the initial code from 😂 but it wasn't from SE
Lol gotcha. Well if the code is in a custom widget here, I believe that donations come in as the currency you select in your donations page. If that's the case, this wouldn't really be a code issue, but a settings issue in SE 🙂
Ok I'll check with her thanks ^^
I really dont know where to ask but i need some help with overlay editor, becuase i changed my overlay from 1080p to 720p i now have to move everything. but is there a way to move everything at once?
Hypothetically, is there a way to code a widget so on a sub event (say 24 month sub), the widget toggles on?
If you can think of it, it can most probably be coded
@molten burrow do you mean you want to show a specific alert for specific sub streaks?
If there is a specific sub streak/tier sub/etc, it could turn on a layer that permanently stays up on screen. Yeah. But I wouldn't want it shown before the event happens.
I think you could do it with a widget that's always running. Have it set up so that on a specific streak it displays what you want to show and you just leave it on the screen
that's all i can think of lol
Yeah I went into the Widget share to kinda get an idea of something close so I can make changes to what I specifically want. Thank you for reachin' out! Appreciate the advice. 😄
is there a way to add premade values, like 1k and 5k
It doesnt show the current amount of followers I have
i have this issue to and cannot find a fix
there is an amount property that comes with sub events that you can have a widget read to see what month streak that sub was triggered at
TY
Hi, I've installed the credit roll widget by Grot, but it's not rolling any of the followers/subs etc like I've ticked and told it to. Does anyone have any ideas how I can fix this or does anyone have an alternative I can use?
Yo, I'm unsure how I'm able to make text snap to the right instead of the left. Green is where i want it to snap to and red is where it's snapping to currently
I have everything set to the right here, i thought that would be enough
is that a label? you will need to extend the bounds of the widget to cover the bar, and it'll align to that
grab one of the corners and drag it to cover the black bar area and you should be good
Great! Thank you!
I am trying to embed a simple html widget into my overlay, however upon adding the code the only thing that shows up is uncoded text
this is the widget i am trying to embed
https://coinmarketcap.com/widget/price-marquee/ this one shows up, but after scrolling for about 1/5 of the way through it bugs out
Hi, is there video ended event?
can i ask smthing can u create your custome contest in se?
so i wrote simple hmtl and css to show some socials with the followers numbers (inputted by hand), due to all the API changes I would need to sign up for every social out there as a developer to get an access token in order to make this a automated thing that fills in. dont think that is viable, so the user knows his numbers and can just hand jam them in. but I dont know how to make that work from a streamelement methods where they would choose the socials and add their follower count from the gui
you'd want to put that into the "fields" tab in JSON format
@elfin arch so im looking at the widjet JS tab, do you all basically build the html code from functions and the selections from the users?
i personally build all the HTML from JS but that isn't needed
@elfin arch so this is what it currently looks like it uses bootstraps card group and every 4 socials needs a card group at least ive made it that way the second row is only that huge because as new socials get added it becomes smaller to fit them in probably not the best prototype still. still trying to figure all the nuances with the boxing and spacing in html. essentially this would be a small widget that can go in the corner of your overlay just showing your overall follower reach
so for example can you see where the Facebook "31,153" is at in the HTML?
yes
change that 31,153 to {{FD_fB_likes}}
so it would be one of my elements attributes or properties correct?
the {{....}} would then pull from this; if you put it into your Fields tab ```json
{
"FD_fB_likes": {
"type": "number",
"label": "Facebook Likes",
"step": 1,
"value": 10,
"min": 1
}
}
I see
ok ill rework some of this and re-engage
@elfin arch thank you for your help ill reach back out once I rewrite
@elfin arch so i have rewritten it and now i have a js file and a fields.json file
i think its rdy but i dont have any way of testing it
mind you i wrote it all in atom
create a new overlay; add a "custom widget" delete all of the existing code and input yours 🙂
nevermind lol doesnt work hahaha not in the custom widget thing in streamelements at least
lol need the data section lol
ok so now we are cooking the things show up but my fontawesome icons do not and i thinks its because its from the kit url and not a verified one even though it has a sha1 with it
all fontAwesome needs is this at the top of the HTML ```html
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.15.2/css/all.css" crossorigin="anonymous">
changed it there's something else thats wrong because i get everything else except the icons and the height of the squares are off
i still dont get the fields to generate so i can play with them so there's that issues too
Drop your code in a codepen or js fiddle
i fixed all the small errors in jsfiddle for html js and css but still nothing even the icons dont come up there has to be an issue with my fields and data sections
@elfin arch hey thank you for helping through this with me. I did figure out that the data was being dumb with capitalization of the social media items since they were uppercase the code didnt recognize them from fontawesome
now i have to figure out this field thing and why it does not show up
no problem. make sure the FIELD data is JSON; it is strict formating
^ start with this
put it in a validator for json and it came back that the trailing commas are the problems lol
the last comma 🙂 ... gets me everytime
yep so silly it works great now except that fontawesome says it has a tiktok icon but it wont pull up its the only one lol
yep only available in 5.14
yay completed the widget
Now you get to figure out how to API update the values 🙂
nope im sticking to the user updates themselves those values lol hahahah
i think i saw some easy ways to do it only problem is that I would need to get an access code from every social media platform and sign up as developer
why would one little part of my overlay all of a sudden not show up in my streaming software
when it was working fine just a while ago and works in the overlay editor
and now its gone to not displaying correctly in the editor
okay nvm it all of a sudden works, thats strange, i changed nothing
-.- and back to not
is all html this janky?
so my code works but the background is not transparent need help
When i am trying to use youtube's api v3 to get the lastest video with custom api it gives me this:
is there any way i can get the URL from there?
and just the url?
@lapis oasisYT API results in JSON. You need something that will output a raw text for you. Take a look here: https://docs.decapi.me/youtube
Ok! Thank you very much!
Bonjour je suis à la recherche de qu'un qui sé codé du CSS pour des alerte twitch
hello, I was wondering if anyone here knew how to code in a custom goal widget, ty
@fading solstice ⤵️
Welcome to the helpdesk! The regular helpdesk channels are in English but we do provide multi-language support in the following channels: #🇩🇪︱deutsch | #🇫🇷︱français | #🇪🇸︱español | #🇵🇹︱português | #🇳🇱︱nederlands | #🇮🇹︱italiano | #🇵🇱︱polski | #🇨🇳︱中文語言服務區-chinese | #🇯🇵︱日本語-japanese | #🇭🇺︱magyar | #🇰🇷︱한국어-korean | #🇹🇭︱ไทย-thai | #🇷🇺︱русский | #🇺🇦︱українська | #🇨🇿︱czech
are there any widgets for displaying twitter data like follower count and subscribers?
Hey guys I was just wondering if anyone had looked into adding the functionality to the tipping page to allow users to select from a customisable drop down menu on checking out - for example, select a colour and have that colour return a command to change lighting in the streamers room
Thanks
Hello
Im trying to access channel via api using https://dev.streamelements.com/docs/kappa/docs/OAuth2.md documentation however, im unable to send oauth request. Im constantly getting error :
"error": "server_error",
"error_description": "The authorization server encountered an unexpected condition that prevented it from fulfilling the request."
when i try and send the request :
https://api.streamelements.com/oauth2/authorize?client_id=myid&redirect_uri=https://www.mydomain.com&response_type=code
Seems like one of the parameters is wrong but i can not find any clue which and why.
OAuth access is granted to 3rd party partners for professional use only. It is not possible to create a personal project credentials currently.
Hey guys, my streamelements bot always show the upcoming contests, but can it bring the contest link too or a panel(twitch plugin) with the current contest?
Alguém que entenda de Design, me chama no pvd!
hello i am trying to create a countdown but when i save it in se it doesnt showing up for some reason
this my js code
any advise?
Is it possible to check whether a user has any channel currency when using a command via script?
If they type !hello (cost 1 currency), if the user does not have any currency the bot removes the message instant using the non mod chat delay before it actually gets posted
How to export my dashboards for other streamer?
hello~ im messing with the custom css default script given by stream elements, but i'm confused about the gifted subs part.
if (!includeSubs) continue;
if (event.amount === 'gift') {
addEvent('sub', `gifted subs`, event.name);
} else {
addEvent('sub', `subscribed ${event.amount}`, event.name);
}```
maybe it's the way the emulated ones work, but i can't tell the difference on if it was gifted or not. i'd like to just have it say who gifted & how many, instead of putting every single person who got a subscription?
Is there a widget or something to set up that can show recent or all donations sent via Tiltify? Something similar to the "ShoutOut Generator" perhaps?
I'm trying to return all of the .isCommunityGift , but it seems like even tho I'm returning them and resuming the queue - takes a while for the next event to run.
Is there a faster way to return/skip all of the childs/gifed subs?
Has anyone created twitch extensions here
Hey guys. How are u? We are integrating streamelements API for sending alerts. We need to integrate oauth for doing this with our customers. How can I be whitelisted for making some tests? I am seeing that google forms is not working in devsite 🙂. Its really dangerous for our users, copying and pasting their access_tokens 😦
Anyone know why i would be getting a 403 error when trying to use the API for twitch? The JWT token is valid afaic but i still can't add points on my channel --
it looks like nobody else in this channel who had that error ever actually got it fixed 😫
which API endpoint are you targeting? you have the channelID (number) not name in the URL, right?
just found out there was a difference between channel name and ID, went through hell and back finding out how tf to get channel ID, got it and fixed it 😎
ty tho
😉
if anyone else ever has this issue i just used the channel data endpoint thru streamlabs with Postman, v easy --
oh.. this is streamElements; I thought you meant add SE points from Twitch 🤣 ... either way; still goes by ID
yes yes this is streamelements
i have a bot thats gives/takes SE points from users
ok; just to be clear, and if people in the future search it up; to add SE points you'd use something like (js) js fetch(`https://api.streamelements.com/kappa/v2/points/${process.env.SE_ACCOUNTID}/${username}/${points}`, { method: 'PUT', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${process.env.SE_JWTTOKEN}` }, })
where ACCOUNTID is SE account ID, USERNAME is twitch username to give points to* (i.e. pjonp2) and POINTS is #
Please provide your account ID found at the top of this page: https://streamelements.com/dashboard/account/channels This ID is public info and safe to share here.
^where account ID and JWT are found there
no problem 🙂 happens often (to myself from time to time as well)
The sub handling is quite complex to deal with and the example in the custom CSS just briefly touches it. There was a script package one of the other gurus made recently that might help you out and simplify a lot of the code: #dev-chat message
What you are seeing is correct; all subs get triggered as an event during a community gift. Basically the "gifter" is subbed then each following sub is triggered in succession. see above post ^ for an easier way to handle them (although i'm not sure if it will remove the delay as all the events are still triggering in the background)
If you are looking to create a professional product and not a personal one you will need to get approved and set up by staff. You could also try asking over here, in case they missed the post here: #270206314561404928 message
hi, just a quick question is there a widget in place to display life points ? I stream yu-gi-oh and am trying to add into my stream overlay. any help would be great
Hi there, so I wanna try and make an application where all alerts get played on a bluetooth speaker. Is there any chance of making that work? Or will that be super complexe? I'm a neewer developer so trying to see if my scope for this project is too big.
You can set OBS to play all of their sounds through a device of your choice. Enable "Desktop Audio2" in audio settings and then set output of OBS there:
Hey evryone 🙂 I'm starting to get interest in SE coding and i'm looking for info about code share or paid code... I've found https://docs.google.com/forms/d/e/1FAIpQLSecxByKZy47zfpd8M0tlJZgjOPfZhCpExcWF002bj7JZO9a7g/viewform this but not lots of explanations on it. So i came here, and i'm slowly try to understand of work this fantastic tool ! SE is really nice sandbox to play a little and try to imagine new kind of interactions 😄
Hey when post a tip event it doesn't trigger the alert. Did I miss something ?
is anyone able to fix the Current Game Labels Widget? It's broken and displaying a grey box instead of the game.
I set up an alert box for Tiltify and was wondering if there is a way to do TTS? Thanks!
!duel in streamelements..... is it 100% a 50-50 chance? or is there a way to sway the odds? -- like being a mod, or vip, or sub, (or t3 sub) etc.
Does anyone know where I find the base codes for widgets like chat and goals?
Hey guys, my streamelements bot always show the upcoming contests, but can it bring the contest link too or a panel(twitch plugin) with the current contest?
I don't know where to ask this, so I'll start here - Is there a widget or script that anyone knows of that'll display Twitch Channel Points in an overlay and not just the chat?
Is its possible to add custom activities into the queue of stream elements ? and have a custom widget listen for that specific event ?
No, but you can use a community driven tool with a Queue feature. You can add any activity to this queue
https://reboot0-de.github.io/se-tools/tutorial-Queue.html
Documentation for the StreamElements widget tools
Community driven @tribal zenith's tool
Arrh well doesn't seem i can get the data from an incoming source which is where my principal is working on of. But i was nice to see it tho thanks 🥰
I can see i have to setup some stuff and custom make it as what i see is that streamelements doesn't allow it which is kinda sad
What are you trying to accomplish?
Data from woocommerce to custom alert
How are you getting data from woocommerce, webhooks/websockets?
Can do both
It's just that streamelements api right now clearly aren't finished and are left with more questions than answers haha 😂
well you can only use websockets in SE, I don't see how you can't use that Queue by reboot
I don't see how you'll be using the StreamElements API
A custom widget with a websocket connection, queue and alerts will do
I'll have to try, but thanks 4 the help :)
Hmm so connect via socket up and auth of course. Then simply emit the event and listen for it on a custom widget should do. Cannot test it right now as I'm not at a PC but i get it gonna try tho :)
I'll answer the dm here, as this might interest some more people. In fact, you can't add your own custom events to the activity feed (I guess that's what you meant by queue), but you can kinda work around that with the SE API and your own server in between.
That's how this widget works: #widget-share message
when i use an imgur link as a CSS background-image, it shows up fine in the streamelements editor
it shows up fine in the browser tab preview
but not in OBS??
im so confused
does anyone have any idea why this happens
and like, i debugged it by running obs with the argument --remote-debugging-port=8080 and going to localhost:8080
and the console shows a 403 error for fetching the image
but
i have no idea why??
this happens with like any imgur link i've tried
Just submitted my first custom widget.
how long does it take until it is checked?
Hi there, all! 👋 I am trying to set up alerts for my charity stream this weekend. Unfortunately, the charity I am raising money for is not on Tiltify so there's no easy set up for alerts. I found a Streamelements article from June 2020 which links to a GoFundMe Alert by LX, which is the one I'm trying to set up. However, I am not well versed enough in CSS and HTML to know if I've set this up custom alert correctly. Do I put a link from the GoFundMe page into the HTML editor where it says "Put your Alert HTML here, inside script tags." If so, what do I put there exactly? I have Google for hours and cannot find any clear cut answers so I'm hoping someone here has experience live streaming for charity on Twitch using GFM. Thanks! @viral patrol (I hope you're the correct LX to tag here. 😅 )
are you using the Alert from #widget-share message ?
Yes, I believe that’s the one!
see this convo here: #dev-chat message
if the fundraiser already has some donations; you can input the name and check in the editor to make sure it is pulling the data (connected correctly)
Oh okay! I think that makes sense. I’ll try this in the AM. Thanks!
no problem. best of luck with your stream!
that is odd; i just did a quick test and see no issue with imgur links 🤔 https://streamelements.com/dashboard/overlays/share/60a762546c00c1c6820a0310
@young shard @elfin arch - If you had this image opened previously imgur will let you in to that resource, but if there is a first call to imgur to get that image from your network and there was no preflight with image page it will try to redirect you to image page instead. If that fails (like it is in img tag and it doesn't accept html) it will fail next calls. Long story short: hotlinking protection as imgur doesn't want to host images for external websites 😉
smart bastards.
well damn
is there uhh any way to circumvent that 👀
I am not aware of any method, but why won't you use SE CDN?
for the theme system of my widgets, image links are included with it, and i don't necessarily want to have to have all the images come from my SE image storage
and for the chat leaderboard, there's also an option to use custom css to override the images, and since the example code i provided for that uses imgur links... well...
for the theme stuff; i've had good experience having images in gitHub if you just host it in a public/images folder or whatever with your code
oh that's smart, yea i could do that
big shame that imgur does that since it's like
THE place for image hosting
understandable though; they can't get ad $ if you don't go to the site 🤣 ... you could maybe work around it with some error handling and make sure the users load the images locally first? ... in my testing it worked fine; but like lx said it's probably because i went to the site first and it was already cached
hmm
i mean i have gone to the site, like how else would i have gotten the image link
how would u even cache it in the obs browser source anyway
if you load the overlay i sent above does it work for you?
it does, but i think i know why
it loads fine on an img tag
and at that point it's cached
but if it's just thru background-image alone
nope
oh.... yup; ... time for some hidden divs 🤣
i guess so hmmmmmmmmm
i'll have to like spawn them in based on the background-image url that was put in the CSS
doable
it'll take some testing; i'm not sure the DOM flow; They might HAVE to be in the HTML before CSS loads; but the <script> tag should come before CSS? i'm not sure 🤔
you can set/change the background-image CSS property via JS
but will it work when hotlinking to imgur? I didn't have a problem when I did an HTML <img> then CSS bg
i'm not sure if the "onWidgetLoad" loads first into the DOM or the CSS does
onWidgetLoad fires after the DOM and data finished loading, so if you don't defer your CSS it (the CSS) should load first
but if the user should be able to easily change the image you could also just set an image-input with a preset value
that's what i thought (otherwise you couldn't target elements) but wasn't sure about the CSS.
🤷 ... i donno... hahah this is @young shard's problem. I image they'll figure it out
Is there a way how i could make this possible with the Stream Elements Bot:
A watchtime command that can Show the time the User is behind the Next one on the watchtime leaderboard?
Should work like this:
Your watchtime: 1h 1m
Watchtime needed for the next rank: 23m
Is there any way?
I would do that if it wasn't a dynamic number of images 😅
@young shardTry this trick multiple:true in field definition 😉
How does indexing an image from that image pool look like?
wait that's a thing???
does that work for any field?
ahh, makes sense
Hi again! So my GoFundMe link doesn't look exactly like that. It's charity.gofundme.com/o/en/campaign/gaming-for-gray so does that mean the "gaming-for-gray" part is what I put in Streamelements for the short name? And then clicking save is all I need to do to have it linked?
That seems about right. I'm not sure if the link style changed? I'll take a quick look to see if it's pulling the info
okay thanks!
I'm not sure. I am just getting an empty JSON response and dont know if it's because of the link format or because there are no donations yet.
@viral patrol Any insight for this gofundme link format ^ ?
I don't think there are any donations yet. If I make a donation, where will I see it show up on the code side to know if it's working?
Looks like the gofundme "charity" is no longer supported; https://charitysupport.gofundme.com/hc/en-us/articles/360054900012-The-Future-of-GoFundMe-Charity . This might be why the widget isn't seeing any data.
March 31st...dang it. That sucks. So there’s no other way to track the donations as they come in? Like a tracker or something? I’m honestly open to any ideas because the stream is tomorrow. 😅
I guess I could make a browser source with the GoFundMe page and keep a live view of the goal up at least. Not as fun, but it’s something. Thanks for your help.
ya; i tried a quick look but I am not sure the "charity" campaigns would still work. I'm not familiar with gofundme but if there was a way to link the charity version with the normal one then maybe?
You mean like the Tiltify option under alerts? I think I already tried that but I can look again.
I was thinking a way to move the campaign from the charity to normal; but it looks like there is different fee structures and it could take time to set up all the info to get approved
Yes, I’m a bit limited in which platform I use to collect donations because of the charity I am picking to support. They prefer individuals to go through GoFundMe Charity, which is now really limited it looks like.
But anyway, thanks again for trying to help!
Yup. no problem, sorry I couldn't be more of a help. Have a good stream and fundraiser 🙂
Hey is anyone around to lend me a hand?
Depends on the question @hollow glade
I think it's a relatively basic question, I think a widget I have just needs a command in the JS to make it so I don't have replay my latest alert for the widget to load
Every time I reload my overlays it resets and I have to replay my latest alert for the widget data to load
Please ask i one chat one.
Say what?
I'm not sure exactly how to ask it but like I have a rotating info feed, shows all my most recent notifications, only problem is when obs closes down, or I refresh my overlays it forces me to have to replay an alert just to get the data to load
Is there a command in JS that can change that?
is this something that you made yourself? or is it a S.E. widget from #widget-share ? or something you got from a 3rd party?
Something I got from 3rd party I believe, I don't think it's on SE
Is it a Nerd or Die widget by chance?
No it's from Alpha Gaming
Do you know if they have a Discord server to ask there?
🤣 i only asked if it was NoD because i have a link to there server.
They do have a discord, I'm wondering if I didn't put a setting on, it's just a nuisance to have to continuously replay an alert just to get the widget data to load
...i guess what i'm saying is that the 3rd party's have their own code and we can't really edit it because it's their code.
Ah ok
ya ya. sorry. but i'm not sure how they made it. and they would be the best option to get an answer from
and... it's a product that they sell so; I can't edit it.
well if you don't know where it come from; that might be why it doesn't work?
it says it was inspired by the alpha gaming one but isn't actually theirs
Now I'm wondering if it actually is an SE coded one that I can't find lol
Does it have an author name .... or anything? .....
coocla33
... is it this one by chance ? https://www.youtube.com/watch?v=G3smV-cIHlM
Not that exact one but looks very similar yes
so; i'll assume that you got it in #widget-share from somewhere....
when you reload any widget (or close source if set to shut-down) it will ... um reload; so that could mean it starts at all 0's or try to pull data
if you have this widget on it's own source; then you could allow it to stay active even when hidden in the background.
Don't know if this is the correct channel to ask but is there a way to pause the alert queue. I know you can use SE_API.resumeQueue(); to resume it, but is there also a way to pause it?
the pause is value you set for the queue; then you resume it when you want
okay, understand, was just wondering if there was on opposite call to manualy pause it whenever
you'd basically just set the queue time really high (like 10 minutes) then handle it as you want to resume.
so all events are "paused" until your code resumes it
ah yes, that should work. Thank you for your help!
adding img tags in js with display: none totally works
i just have to instruct the users to refresh the browser source, since they won't show up on the first page load, but the first page load will cache them so they show on subsequent page loads
and since it's an advanced feature i have it all explained in CSS comments anyway
Hey quick question: is there a tutorial anywhere how to import custom widgets from github for example? i dont know what to do with the .json, .md and .png files...
You add the code in the .html-file in the HTML tab, the .css-file in the CSS tab, the .js-file in the JS tab and the .json-file in the FIELDS tab in the settings > open editor in the overlay editors custom code widget.
okay and the .md and .png files? can i just ignore them?
yup ignore those
okay thank you guys very much
Quick question, is there a way to update a field value from the javascript? Example, User sets a starting value via the widget menu on the left, over time, that value gets overwritten with new data. Is there a way to persist that new data through a reload/refresh of the widget?
Essentially, I'm making some edits to a custom tip goal widget I made. In the menu's you set the end goal amount, but if the tip goal is met, I have it updating the goal variable to + another 100
var goal = {{end_goal}}; //goal amount
var current = session['tip-month']; //current month tips
if(current >= goal) {
goal = goal+100;
}
// PROCESS REST OF GOAL ANIMATIONS
What will happen tho on restart is the goal will go back to whatever was set in the {{end_goal}} field. What I want to happen is whenever the goal is updated, it persists that data. TIA for any help!
I came up with a workaround by switch the if to a while loop, but it take a bit longer to load
Hi all, is there any way to have an API endpoint using cURL for these buttons on Activity Feed? If not, is there any easy way to use hotkeys or something like that? (I checked ground control and OBS.Live and they don't have that option anymore)
I know Elgato Streamdeck has a plugin for that so I wanted to do the same using Touch Portal. My idea is essentially have a button to pause the Alerts when I'm doing something that I would need more attention but doesn't have time to do ALT + TAB. I don't want to silence the alerts, just pause to be able to play it later.
What would be the best way to center the username on the image? I currently use left: to move the name, but it moves differently based on how long the name is, i just want it to be in one position regardless of name lenght
I've tried width, max-width
text-align: center along with width: 100%?
I'm trying to build a simple text widget off of the default star alert within Stream Elements.
I have designed the alert how I want but I can't override or stop the default animation without deleting it.
Forgive my ignorance but I am not good with JS. I just want the user name and star amount to not pulse animate. Any and all help is greatly appreciated 🙏
seems to have worked, suggestion on handling long usernames? i tried to scroll it, but it just produced an unusable scroll bar under it
iv used width 40% not 100%
I don't know if I understood correctly, but you can use the default Streamelements alerts and just change the text animation. Alertbox > Settings > Subscriber cog (for example) > Text Settings > Highlight > None
Hello I'm currently writing my own overlay where I use the WebSocket connection. Is their a way to get the users avatar without a second request to https://api.streamelements.com/kappa/v2/activities?
Thank you for your response!
I'm trying to apply custom CSS and the option to set highlight animation to none disappears.
I was wondering how to disable it in the .js file or elsewhere?
How I can change the animation of the username in my new follower alert if I'm using custom CSS?
Hello, I tried getting help under #helpdesk-twitch but we couldnt figure this out and they figured I should post this in here instead.
I need help with coding the Output 2 response in regards to Output 1.
I want to reward users for successfully requesting a song, and so far the custom command works in recognizing who to reward, however i cannot get it to do so without the "@" symbol there for the reward is not granted.
Here is my StreamElements response: !bonus ${0} 25 (For the SR, I appreciate it!)
Ive tried replacing user.name with user, touser, .name, .user, sender, sender.name, source, source.name, and still have not been able to capture the name without the "@".
When using $[1] or any other similar variable it will successfully reward my own account without the "@" symbol
I've searched google for a good 30+ minutes and nothing touches this topic.
Any help is greatly appreciated.
In the JS there's functionality for splitting the username into letters and applying an effect, you can edit the type of said effect there
I think there's the added issue of the comma that's appearing attached to the username which could cause issues, but it may be possible to use $(channel $(0))
hmm, that added points to the responding account
Instead of the command response what happens if you just have $(1:) or $(0:) ?
${0:} returns the entire message (output 1) as well
same thing for ${1:} except instead of imataru_ or @grave hazelBrisket, "added" was the name returned.
I think I get what you're saying, but my knowledge in programming languages is very limited so I have to ask, are you talking about const animation = 'wobble';?
Yup, replace wobble with bounce or pulse for example. The list of animations can be found at https://animate.style
You're a saint.
This is a pretty long shot, but can you replace the response with just this and see what it responds with?
$(customapi.https://api.mathjs.org/v4/?expr=$(queryencode "u='$(0)';u.substr(1,count(u)-2)"))
SO CLOSE
Cool! I was expecting the brackets so hopefully wrapping in the channel variable works now? 🤔
$(channel $(customapi.https://api.mathjs.org/v4/?expr=$(queryencode "u='$(0)';u.substr(1,count(u)-2)")))
Ah rip. Well unfortunately mathjs will never return a string without enclosing it with some other characters so I suppose parsing it that way can't work like I thought.
The only other option is to make some kind of parser for it. I'm doing all this from mobile so I'm kinda slow but I think this might work. If it does I can try and make a Google sheets macro version later so you can host it yourself
$(customapi.https://api.thefyrewire.com/imataru?string=$(0))
@mild cipher yooooooooooooo IT WORKED!!!!!!!!!!!
Sweet, I'll DM you later with a version you can run yourself! 👌
How do I make the username in the below code horizontally scroll? I tried using overflow: scroll; but it just inserted a scroll bar, which isn't going to help when it's an alert...
If possible, I'd rather it only scroll if the length of the user name is going to take more space than 300px, but I don't know if that's asking too much. Even if I'm just provided the buzz words to look into, and see if I can work it out from there
<div class="image-container">
<img class="image" src={foregroundImage}>
</div>
<div>
<div class="awesome-text-container">
<div class="f1" > Welcome child of Odin,</div>
<span class="username" id="username-container">,</span>
<div class="f2" > may the Gods favour you!</div>
<br>
</div>
</div>
</div>```
```@import url('https://fonts.googleapis.com/css2?family=Caesar+Dressing&display=swap');
.text-container {
transform: translate(0px, 15px);
}
.image {
position: absolute;
top: 5px;
left: 10px;
width: 450px;
}
.username {
position: absolute;
top: 110px;
left: 100px;
color: #00843D;
font-size: 60px;
text-align: center;
width: 40%;
text-decoration: italic;
text-transform: capitalize;
text-shadow: 2px 2px 20px white;
-webkit-text-stroke: 2px black;
font-family: 'Caesar Dressing', cursive;
}```
sory for the block of code
I really appreciate the help! Thank you so much!
Good morning. I am wanting to use a donation goal tracker on stream for an event soonish. I am currently using StreamElements for alerts and OBS Studio and streaming on Twitch. I want to have the tracker to show the quantity of donations not the total dollar amount.... ie 10 total donators not the amount they donated. I am having a hard time finding a goal tracker for this. Can anyone direct me where I might look for something like this? Thank you in advance!
are you looking for a goal bar type widget or more of a text based one?
I would love to have a goal bar type widget.
i'll take a look if i can hack what I got together easily; only problem is it is hard to "test"
Okay so I didn't know what channel to use but i saw a few command screenshots in here so is there a reason why my watch time is broken? whenever someone types !watchtime it says 0 seconds watched?
are you streaming on Twitch? that requires that your loyalty system is enabled. And then it will track watchtime in 10 minute intervals
how do i turn on the loyalty system?
are you using Twitch?
Yes sorry
Awesome! Thank you so much!!
I'm having the same problem. Did u find a solution?
I got a custom widget that I wrote that includes a fade-in and fade-out animation which I implemented using css + javascript, I am trying to have a gap where the animation can fade-out and end without the next queued event's animation starting, but it seems that before it fully fades-out the next queued event is fired and it already restarts the animation.
Using the widgetDuration property and increasing it doesn't seem to help
fade-in takes 1 second, in the javascript code I schedule for the fade-out animation to start after 5 seconds (so that is 4 seconds after the animation finished fading-in), then a 1 second fade-out animation with a 1 second delay is executed (so a total of 7 seconds for the whole animation, have set the widgetDuration to 7 or greater values) but seems that queuing multiple events will cut-off the fade-out and cause a reset still
What I would have wanted - is for consecutive events or queued events to run with 3 seconds gaps apart from each other, so 3 seconds of no animations from the moment the first animation started until the one after it starts running
I'll write some pseudo-code to illustrate my situation:
main.css
.myClass {
...
animation: object-show forwards 1s;
...
}
.myClass.hide {
animation: object-hide forwards 1s;
animation-delay: 1s;
}
@keyframes object-show {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@keyframes object-hide {
0% {
opacity: 1;
}
100% {
opacity: 0;
}
}
main.js
...
removeHideClass();
setTimeout(() => {
addHideClass();
}, 5000);
fieldsData.json
{
...
"widgetDuration": {
"type": "hidden",
"value": 10
}
}
Age old question. Is there any way to sync my own widget with another alert box widget?
I want to play my own alert in sync with the actual alert, but I can't tell when the main alert box starts/stops playing an alert.
The answer was no back then.
@mild cipher hey dude, u can help me with your emote counter widget? i want to know if i can add a fade out
Is there a widget developer among you who is looking for a mini-project? 😃
Hello could someone maybe help with a custom widget? I’d like to have the latest follower slide in and out from the left side of the window based on a timer
Unfortunately I’m not sure on where to start
You listen for follow events, get the username from the data, put that in your HTML markup and animate it by either adding/removing a class or using tweens
did you try manually releasing the queue via SE_API.resumeQueue() after your hide animation?
I think that did the trick, thanks! It was a mix of setting widgetDuration to the correct value and then manually invoking resumeQueue after the correct amount of time as you suggested
Hoping someone can help me with this, even if it's the key words/buzz words to research. Basically trying to make a username on an alert scroll right to left, if possible if it exceeds 300px width but understand if that's asking too much, code provided, removed excess code for other text to reduce size of the block
why not just make the background bigger if needed?
When you're already using custom code you might as well use the full flexibility of it
because of the real estate it would take on my stream itself making it bigger would mean reducing it when it's on my stream making the text harder to read
isn't that the point of an alert? 😄
It's your alert, you can adjust it how you like
to answer your question: you could animate the translateX value of your text in relation to its width
but animations inside of animations are kind of wonky and stretch out timings, since you have to wait for the scroll to finish
translateX moved it to the right, but it was still static
well, yes positive values on an x-axis will move from left to right, negative from right to left
it didn't scroll though, it just adjusted it right 300px
how do you animate it?
looking at a video on youtube, it's added div:hover which is for a website, but further down has transform: rotate(360deg) which while moving the wrong way, does move it... so i assume there's something i need to do to the div
to animate something you have to change a value over time.
So in CSS you could use your own keyframe animation
or a timeline in JS
my alert is completely static, the only reason I am even trying to animate the username is because of excessively long names, not fitting in frame
This is what I want to avoid happening
This is with a normal name
yes and that's why you want to hide the username's overflow and if it is too long translate it on the x-axis for a scroll effect.
For visual movement you need to change that x value over time in your CSS or JS
<div class="image-container">
<img class="image" src={foregroundImage}>
</div>
<div>
<div class="awesome-text-container">
<div class="f1" > Welcome child of Odin,</div>
<span class="username" id="username-container">,</span>
<div class="f2" > may the Gods favour you!</div>
<br>
</div>
</div>
</div>```
Is there anything I need to look at for the html? should the username be in a div?, i have no idea what the span does
<span> renders inline elements (they are only as wide as their content) while <div> renders block elements (these will always fill up the whole width and put the following elements in the next line)
i have found a video which is animating in css with keyframes but has no audio, it has animation: abcd 18s infinite; is the abcd the class id? so in mine, i should be doing animation: username 10s infinite
I'm trying to use a textual fieldData in my widget, but setting the string's value with consecutive $ such as $$ signs causes seems to only be passed in the fieldData object as $ (aka one of the symbols is being ignored?)
No, abcd is the name of the animation then
Configured in the field data textual value, and the following console.log of that field shows:
Seems to be specifically with the $ sign
How are you logging the text?
maybe escape one of the $ with a backslash in front of it
is the wonky because it picks up speed and then stops at each keyframe?
if something keeps animating/moving it can distract and stress the viewer
iv changed it to be 0% and then 100% so it's one motion, and it's a 10 second animation, but what would nice, is if i can specify the animation trigger to be > XX characters or XXpx
but im sure im asking too much of css, and itd need js or something else
yes, logic should be done in JS
thanks for your help getting me this far
just calling console.log(fieldData["myTextField"])
That didn't work, the result is:
I feel like there is some string formatting logic when values are extracted out of the fields json which causes consecutive $ signs to be handled some other way and get stripped out
before i slash and burn it, this js is just the stock js for the standard animation, i can delete it all?
if you don't want that wobble animation, then yes
Its really weird since any consecutive $ signs after the first 2 are just handled normally:
Which results in the console with:
yep, seems like two $ will be replaced by one $ on the server. I am not sure why tho.
As a workaround you could do something like $$$$ text $$$$ then the 4 $ would be replaced by 2 😄
😅 I just worked around it by formatting my text using a different symbol, such as @ instead, but yeah that was really weird for a second 😛
How can you tell what the server is doing? by debugging and checking the console same as I did or do you have access to some other things?
Asking out of curiosity to figure new or rather better ways to debug my widgets and make for a better development process \ flow
it is cumbersome to debug using console logging only after deploying the code within the StreamElements widget
I just tested it myself with multiple consecutive $ and got the same result. Only devs can debug on the server side
I see ok thanks
Perhaps its worth opening an issue about this somewhere?
I dont know where you can submit such a thing
I can ask internally if that is a bug or a feature 😄
Is it possible to turn my own custom coded tmi.js twitch bot into a streamelements widget bot or something i just need to make it so it auto updated as a browser source
You can't use require in a stream elements widget as it does not use a package manager such as npm nor runs in nodejs's context, so you would need to either first bundle it using webpack or any other bundler and then use the single generated javascript file in the widget's JS, or import the package you want to use as a link in your HTML from a CDN and then just use it in your JS code normally as you would do in your code
Also it is not guaranteed that all the functionality will work unless they specify on tmi.js that it supports running in the browser as some functionality may be coupled to the nodejs runtime
But as far as I am familiar with the package it theoretically should be fine
but you should probably not put your username and password in a widget 
That also
Most likely you are better hosting the bot in some other place, and communicate what ever information you need to your widget via a websocket from your bot's server
or use a combination of lx's https://jebaited.net wrapper to send messages in chat and my ChatMessage object (https://reboot0-de.github.io/se-tools/tutorial-ChatMessage.html) to check for specific commands and permissions
I know its not needed as we can do it locally; but OH LORD do I wish for scss support 😆
Also can you set a default value for a checkbox?
{
"displayFollowerAlert": {
"type": "checkbox",
"label": "Show Follower Alert"
},
}
I have tried "value": true but no luck
Nevermind, I see whats happening. when updating the fileds its remembering the previous inputs.
I think this is where i ask this question. I just linked up a widget for end of stream credits called "Credit Roll" and i thought it was supposed to show all followers and Subs, but it just shows the most recent one. do i need to stream for it to update or is there something i missing? Also i just made affiliate and had to do the 2 step auth deal so i dont know if that may have messed with it...
how does get a shareable widget link like in #widget-share ? I have one that I put in alot of work into and want to move it between accounts
The text scrolling feature on the text widget is nice but is there a custom widget that could run it continuously with not such a large gap after the text ends. also looking for something that after a specified time it switches to another message
like scrolling left or right for one message then slides up after a bit to display the next message and stores up to maybe 10 messages if thats not to much
How to view which timezones stream elements recognizes? Cause the timezone for Asia.Philippines is wrong.
Try ${time.Asia/Philippines}
Yeah It's says it's 8am but it's 4:40pm here
Try ${time.PHT}
Doesn't work. Nevermind I settled with Asia/Hong_Kong
Hey,
I hope this is the right place to ask.
I am currently developing a stream overlay for a League of Legends broadcast and I am trying to have labels for teams and scores on there.
This is managed via a custom widget that fetches the data from a google firebase database. My problem is that the load time seems extremely long for just some small text values.
Any idea why it takes so long to load?
You could try changing the database hosting location to other continents to see if that helps
I'll try changing that! Currently it runs in Europe and performs pretty well outside of Streamelements.
Which location would you suggest?
I wouldn't know exactly where the SE servers are located. You'll have to figure it out by trial an error
@nova sail How is the firebase cdn working for you in SE?
Great. I use it for a simple webapp that can change values in the firebase database. These are then fetched in SE.
or what exactly do you want to know?
The firebase CDN scipt tries to create iframes inside the widget, which SE blocks, ultimately leading to me not being able to use firebase in SE
What are you using firestore or realtime database?
firestore
I can send you my code if you want
That's alright I'm working on something very similar and I have a workaround
If you need something, just DM me 😉
In streamelements custom commands, i have a link with a questionmark, for exempla "www.test.com?test" . The bot cuts of the url at the questionmark so it looks like "www.test.com". Forwardslash works but i am not sure i can substitut the two symbols. Is there a way to get the full url included somehow in the command?
@fallen needleGimme 1 sec to look for the variable you need.
Yes thank you
Is it a specific link or is it user inputted info?
actually
what's the actual link you're wanting to use?
its a specifik link "https://www.lucky8hq.com?ref=john"
is john specific or anything a user wants to search for?
its specific i guess, not sure what i means to search for
I tried it with this but it actually returned a 408 response for whatever reason. ${customapi.https://www.lucky8hq.com/${pathescape ref=john}} @fallen needle
yes i havent set it up yet. I do test in the custom command with !test , and have the response be www.google.se?test and se how it looks on stream, thats where i noticed the cutoff
appears that this is what you want https://www.lucky8hq.com/${pathescape ?ref=john}
ah thank you, so this part "... /${pathescape " is just to make the ? work, in laymans terms
Hello together 🙂 Im a web developer which is experienced with the Twitch APIs and want to try out to build my first SE overlay. My problem is i can't find any documentation/help on a concept how to handle authentication when wanting to access the Twitch API from the JS code of an overlay. Can some1 enlighten me if this is even a good idea from security perspectives and if yes where i could start. (Examples would be super awesome!)
Thanks in regard!
If it involves your secret then this is probably not a good idea. Depending on what you want to do, there are a lot of wrapper services out there to fetch the data for you. Overlays are just client-side (JS) and can not have server-side logic, so you want to avoid having sensible information in there.
To get started in general you could read the overlay documentation (https://github.com/StreamElements/widgets/blob/master/CustomCode.md) for vanilla approaches or take a look at my se-tools (https://reboot0.de/se-tools) for a more abstract approach in a 3rd-party library
Hello guys! Im not a good developer, but I like to do it! I want to do a simple thing, when I receive Stars, I want to make an GET request to one url. I tried to do this with JS but unsuccessful.. Does someone knows how can I do this?
@rich bridge How did you find your efforts unsucessful? How did it go wrong?
The request did not reach the server, I don’t know if is something with connection, or with the code
Can you share the error message/request status code
I don't know how to see the errors, I just add this code in JS:
var xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", "http://yfonseca.ddns.net:1234" );
xmlHttp.send();
return xmlHttp.responseText;
How I said, Im just like to develop things, but my knowledge is limited
You would see an error in the console
There's 2 ways your request could go wrong, either there's an error while intiating the GET request, or the server might throw an error at you
Where is the console? I didnt find it
Control + J
Did you use browser editor or exist other program. When I press Control + J opens the Download window
Control + J in the overlay editor
I'll study more about this... Thanks for help
Yes, Im trying in this tab, but didn't work
any body know how to work with widgets that should show followers and subs? i have one "credit roll" but it doesnt show any of the info. no follow. no subs. using for my end screen and really want it to work.
Is there a way to do triggers on tiers of gifted subs? or just # of gifts?
Hello, I'm currently working with a few streamers to develop a bot that needs to interface with StreamElements API. Currently, I am forced to require the streamers to use their JWT token for authentication, which is a serious safety issue. How can I get access to the oauth interface ? (the credentials request form of the documentation isn't working)
hi, is it possible to retrieve a number from a website that updates itself, and to code a command to display this number in Twitch chat?
Sure, what are you trying to do?
If you are trying to reach the developer console, you can do that using Ctrl + Shift + i or F12. Another way is following the picture below (I'm using Edge, but it is the same on Chrome)
dale
AFAIK, Oauth requests are suspended for now.
Thanks for the info ... That's frustrating. Would you happen to know why or if we can expect that to come back ?
Solved via DM's ^^
I'm not from the staff, but I heard that they sometimes are able to provide it in some specific cases, but it hasn't been opened for public requests for months. Maybe if you try to open a ticket on https://support.streamelements.com/hc/en-us/requests/new and explain what you are tying to do, they can give more information if it will be possible to request Oauth. But I'm not sure if it will work, it's just a shot.
Well, at least it's more info than I was able to find anywhere. 🙂 I'll try to open a ticket, as you suggested.
So looks like a no, given I'm not a company. Would you happen to have more insight into if and/or when this feature might be accessible for a wider use ? As I mentioned, the only way for a 3rd party software to currently interface with StreamElements is a serious security issue for users.
what exactly is your software doing, that can't be done in a widget?
Thank you very much! Will have a look at your tools 🙂
I wouldn't be sure since I haven't used widgets before, and integration with streamelements wasn't planned at the start of the project, but at the very least I'd expect it would be difficult to interface with other APIs (think Patreon, etc). The application also manages some on screen elements for the streamer. I'm not sure if a widget can do that.
So, it's a desktop application that has access to OBS?
They are not exactly finished yet, but should still be a good starting point 😄
What would you say about an OAuth2 implicit flow integration into an overlay? Sounds like an overkill to me but i cant think of any other way to have great UX and also access the Twitch API from the broadcasters login.
what data do you need from the Twitch API?
i want to access the prediction data.
For now it's a desktop application, yes. It interfaces with OBS by providing a webpage that can be captured to display what's needed. But in the future, if I want to allow several people to use it simultaneously, it'd need to be on a server. In which case, asking a streamer to upload a JWT token to a server would be a problem. Right now I can allow that to happen since everything stays local.
Ah, I see. Yeah, I don't want to promise too much too soon, but if you can wait a bit longer you might not need the Twitch API for that anymore 😄
Can you give me a timeline or something? Would be awesome 😄
Does your application only read data from SE or also update them?
Unfortunately I can not
It only needs to read received tips data (oh and channel info to be able to request with the right id of course)
Okay, so I assume your application reads tips from multiple platforms and displays alerts for them on one external BrowserSource/Website?
It doesn't display alerts, but that's kind of the idea, yes. It reads tips/subscriptions/etc from Twitch, StremElements and other sources and allows interaction between the streamer and the chat users based on that, using on screen elements provided via a browser page.
Hey all, I'm trying to convert a twitch eval code I use for several commands from nightbot to streamelements. The basic coding is "$(eval a=$(urlfetch json PASTEBIN LINK HERE);a[Math.floor(Math.random()*a.length)])", where I paste a raw pastebin link that contains a list of variables, and the command will pull one random choice from that list in the paste. Is there a similar way to do this with streamelements? To have it pull the list from a pastebin link and randomly select one to use?
take a look at: https://thefyrewire.com/docs/api/twitch/pastebin/ 🙂
thank you!! amazing
Hello, i'm currently learning custom widgets for StreamElements overlays however whenever I activate the "Enable custom CSS" button no images, videos or gifs play for that file. I've tried webms, gifs, mp4s. nothing has shown up though.
This code makes the image and the text dissapear permanently (Changes Highlited)
<div class="text-container">
<div class="image-container">
<video src="https://cdn.streamelements.com/uploads/989929de-8adc-46c2-91de-c2924ffdd012.webm">
</div>
<div>
<div class="awsome-text-container">
<span id="username-container"></span>
test
<br>
</div>
</div>
</div>
This code makes the image turn into the cannot find image paper but the text stays.
<div class="text-container">
<div class="image-container">
<img src="https://cdn.streamelements.com/uploads/989929de-8adc-46c2-91de-c2924ffdd012.webm">
</div>
<div>
<div class="awsome-text-container">
<span id="username-container"></span>
test
<br>
</div>
</div>
</div>
can you try to repost that with the code in backticks? it's the ~ button the keyboard. use triple '''HTML then press enter and paste the code; then end with the triple ` again.
<div class="text-container">
<div class="image-container">
<video src="https://cdn.streamelements.com/uploads/989929de-8adc-46c2-91de-c2924ffdd012.webm%22%3E
</div>
<div>
<div class="awsome-text-container">
<span id="username-container"></span>
test
<br>
</div>
</div>
</div>
<div class="text-container">
<div class="image-container">
<img src="https://cdn.streamelements.com/uploads/989929de-8adc-46c2-91de-c2924ffdd012.webm%22%3E
</div>
<div>
<div class="awsome-text-container">
<span id="username-container"></span>
test
<br>
</div>
</div>
</div>
There you go, any assistance on the matter would be much appreciated :)
the first one is correct; you are using a webm which is a video. the end of that line should be "> where it says %22%3E
It is a > I don't know why it converted to %22%3E
I deleted and replaced the > and it still has no text appearing
should be a " in there too; that happens so "> at the end of that line. and the webm will play.
There is, discord must've just bugged out or something, i'm assuming %22 is the code for " and %3E is the code for >
Maybe my streamelements is reading it as %22%3E but it shows "> for some reason?
Because i'm using the default custom CSS widget without changing anything
ya; it could be a copy paste thing; i'll put into a blank overlay real quick. Just wanted to check to make sure you had it that way as well 😉
No problem lol, I appreciate you helping out
i forgot the video tag doesn't work the same as the img 🤣 ... basically you need to create the video container then give it a source: ```html
<div class="text-container">
<div class="image-container">
<video autoplay>
<source src="https://cdn.streamelements.com/uploads/989929de-8adc-46c2-91de-c2924ffdd012.webm" type="video/webm">
</video>
</div>
<div>
<div class="awsome-text-container">
<span id="username-container2"></span>
test
<br>
</div>
</div>
</div>
that will get your video to show; but you'll need to position/animate the text container with CSS to get it to match your visuals
Omg you are my hero lol. Thank you very much for everything <3
It worked
Thank you for everything <3
Helloo! Is there a way to replicate the jar from streamlabs? I don’t like how complicated and messy the hype cup can get, I really like how the jar from streamlabs works. Are the bits fixed too? I remember them glitching with the hype up in the past 
hey guys is there somehow open api if we would like to connect streamelements to our eshop that we could show alerts live on our streams then?
question
i have a single figure in a google doc that i want an SE command to display
is this possible?
@gloomy quarry What is the single figure that you want to display? If you're changing the google doc, you can as well change the command
Hey @elfin arch do you have the share link for the boilerplate jebiated sendMessage widget?
I don't have an overlay for just a basic !ping/pong widget
try something like this @sturdy oak : #dev-chat message
Pretty sure someone had one, there was a sayMessage() function
@elfin arch I have working widget using jebaited, trying to find example widgets for @gloomy quarry
pulling the value from a Google Sheet is another layer of complexity.
Hello, i need help... can someone help me?
Hey guys, is it possible to update a Widget I've already shared?
Or do I have to submit it as a new widget, and have everyone manually switch to the new one?
Need to see your markup
Hello guys, how do I get a client_id token?
the link at https://docs.streamelements.com/docs/getting-started-1 is not working
Is there a way to make a variable's response become an argument? for example does a random.chatter become a ${1}?
Hi! The STREAM MARATHON TIMER - BY LX widget doesn't work sadly :( it's not adding time
Can I get some help asap? Am I doing the times wrong?
Has the Stream Elements API been updated to support channel points?
What regex does the bot support?
I made something to catch repeated words and it works fine on an online tester, but the filter test doesn't catch it
If I try something simpler it works
My test regex is (\w+\s\w+)\s\1
It works if I remove \1 but that's the important part
So saw someone mention r2... Is this it? https://github.com/google/re2/wiki/Syntax
Not supported
RIP
Guess I'll manually add individual word combos if it comes to it
Hi all, I have this output when I make an API request to the following page (it's a public page, not mine)
https://api.henrikdev.xyz/valorant/v1/mmr/na/otsuka/ots
{"status":"200","data":{"currenttier":21,"currenttierpatched":"Immortal","ranking_in_tier":91,"mmr_change_to_last_game":-3,"elo":1891}}
However, from the output above, I just wanted the values **Immortal **and 91 to put in a chat command. Something like this:
!cmd add rank Otsuka is rank ${valorant.rank} and he has ${valorant.points} points on Valorant
Otsuka is rank Immortal and he has 91 points on Valorant
Is it possible to treat that output to have it? Unfortunately I don't know anything about javascript to work on that.
this is a js thing def -- the output is a JSON object that is more easy to view when you format it like this:
{
"status": "200",
"data": {
"currenttier": 21,
"currenttierpatched": "Immortal",
"ranking_in_tier": 91,
"mmr_change_to_last_game": -3,
"elo": 1891
}
}
The object has a data field, which is a nested JSON object that has a currenttierpatched field and a ranking_in_tier field. So, if the whole output is stored in a variable called output, then you would access each field by using output.data.currenttierpatched and output.data.ranking_in_tier respectively
or if u want to shorted it u can get output.data and put it somewhere (maybe to check if it exists or not), then get .currenttierpatched and .ranking_in_tier from that
Also would anyone here know how to get a new JWT 😳 👉 👈 I don't think mine was leaked but i wanna make sure lol
Thanks for that. I knew about the JSON output, but I didn't know how to format it to get what I need. So in this case I would need to treat it outside Streamelements and then get everything already formatted to use on Streamelements, correct?
Streamelements Dashboard > Your avatar (on top left) > Settings > Security > Reset My personal Access Token
tyty
Also hmm i see what you are asking here and I actually don't know enough about how u would do it 😔 sorry
its probably possible but if it is not easy you could also just develop your own quick bot to do it :? tmi.js is a good resource for this
im new to bot dev myself tho so someone else might have better input loll
Yeah, now we are talking dev language, I'm a 0% dev-guy... ok, not 0%, maybe 5% 😄 My job is more about configuration and infrastructure. So, for me that would be kinda impossible (want to learn some JS in the future, though)
damn 😔
does SE let you make API requests with commands?
i didnt think that was a thing
Unfortunately, no. It just outputs the body in plain text.
I guess you are using the StreamElements "Chat commands"? I don't think it is possible to parse JSON inside commands unfortunately.
Exactly, that's what I thought (but maybe there was some advanced hidden command, so I asked hahaha)
I do believe nightbot is able to parse JSON, so that could be an option.
It is indeed possible to parse JSON with Nightbot. This command should give you the correct output. 🙂
$(eval response = `$(urlfetch json https://api.henrikdev.xyz/valorant/v1/mmr/na/otsuka/ots)`; data = JSON.parse(response).data;`Otsuka is rank ${data.currenttierpatched} and he has ${data.ranking_in_tier} points on Valorant`)
I was looking into that but you gave me the full response! Thank you so much, I will learn a lot from that now! That will help me a lot, you have no idea!
No problem. Glad to help 🙂
Hey! I was wondering if it's possible to had a photo from your PC into the custom CSS on SE for a custom widget
you would want to add an image input into the field data then upload the file to SE file cloud.
That sounds complicated haha
hahah ya; it sounds complicated now that I re-read it; but it's pretty easy. 1 second...
Lmao you said it and I was like..... whaaaaa
"name_Image": {
"type": "image-input",
"label": "UPLOAD AN IMAGE",
"value": "",
"group": "GROUP NAME"
}
if you add this into your field data; it will add an image upload box on the editor settings on the left; labeled "UPLOAD AN IMAGE" in a tab called "GROUP NAME"
Ohhh ok
I was wondering how to put fields on my custom widgets cause I'm trying to reconfigure and recreate a widget I made a while back, I'm pretty sure with you LOL
then you just use {{name_Image anywhere in the code and it will put that image in like a link; here is an example for HTML ```html
<image src='{{name_Image}}' />
Would that work for CSS background property?
it should; yup.
Ok I may need more help in a bit haha
🙂 give it a try and post back if you get stuck. The JSON formatting for the FIELD data can get a little tricky
That code for the name_image goes in the "fields" code right?
yup, yup. and you will want to give it a unique name ... like "backgroundImage" or anything
Hmm interesting, the field isn't showing up
did you add it into your existing field data or paste just that code?
Just pasted and renamed it, I didn't want all the standard fields there, do I have to keep all the base fields there?
nope you don't need them at all. if that is the start of your Field tab then add a { at the start and a } at the end (the whole thing needs to be an Object.
Ok that worked
I forgot a lot of the coding course I did, I have to re pick it up
But I have a specific vision in my head that I don't know how to do
I've tried every which way to get it as my widget background but can't get it to work
can you post a screenshot? that background will work; you just have to make sure you build your DIVs ontop of it
your widget; like you can't get it to show as a background at all?
No I tried it as an img tag, and I also tried as a CSS background for every command I knew how to do
HTML```html
<div id='test'></div>
CSS```css
#test {
height: 100px;
width: 100px;
background-size: contain;
background-repeat: no-repeat;
background-position: center;
background-image: url('{{name_Image}}');
}
FIELDS ```json
{
"name_Image": {
"type": "image-input",
"label": "UPLOAD AN IMAGE",
"value": "",
"group": "GROUP NAME"
}
}
HTML
<div class="wins">
<div class="wc" id="wincounter">0</div>
<p id="CW">W:</p>
</div>
</div>```
CSS
height: 70px;
width: 195;
background-repeat: no-repeat;
background-position: center;
background-img: ('{{BackgroundImage}}');
}```
FIELDS
"BackgroundImage": {
"type": "image-input",
"label": "UPLOAD AN IMAGE",
"value": "",
"group": "UPLOAD IMAGE"
}
}
background-img: ('{{BackgroundImage}}'); missing "url" 🙂 --> background-img: url('{{BackgroundImage}}');
That still didn't change it
🤔 ... ya; something ain't right. not seeing what it is tho
It's not even showing up
🤣 last line in your CSS is img not image
in the CSS; width needs px; last line needs image and url
background-image: url('{{BackgroundImage}}');
For whatever reason, after I added animated overlays the streamelements overlay editor freezes
I got it on there now
Now for Java that I REALLY don't know
javascript
Sorry
not java, that's a different beast; you want javascript 🙂
I really need to pick up my coding course again
I think you were the one that helped me with all of this last time
i learned on freecodecamp ... it's free 🙂
I have a course on udemy, and it's really good
Again, just got lazy and stopped because I found something else that distracted me
hahah. i know how that goes... well you are 1 step closer now. happy coding 🙂
Hopefully, I gotta power through it tomorrow cause I'm not even close to done
Oh this just gave me an idea I would like to know if it's an option
Hello. Is there a way to get an all time follower list ?
i tried using something like this
window.addEventListener('onWidgetLoad', function (obj) {
let session = obj.detail.session.data;
session['follower-total']['name']; // not working
session['follower-total'][0]['name']; // not working
}
Seems like I can only get the all time follower count with data.
I'd like to edit Grot creditroll to show every follower name at the end of the stream instead of session followers.
not with the SE information as far as i know. The follow data would be held by the streaming service you use, such as Twitch. so you would need to get the information from them
... and then it gets more complex with the results; think that some users have 100,000's of followers and maybe even millions
And the thought of pagination is even more fun.
exactly 🙂 100 at a time
@graceful blaze, posting multiple links will result in not being able to post again.
@graceful blaze question was ```
i found this
https://dev.twitch.tv/docs/v5/reference/channels/#get-channel-followers
sorry bot flags the twitch links cause people spam "i'm live at ...." 🤣
no more twitch links please 🙂
thx i'll remember it
it's meant to grab channels; i'll request a whitelist for the dev.twitch
so; yes. that is exactly what you would want to use ... but that will only give you 100 followers
I think 100 followers my be enough for the creditroll ^^
Now i have to find my client id and channel id
There's a cursor option the fetch result from a given page so it should be possible to fetch more than 100 followers if needed
what is your twitch name?
well you get 100 at a time; then have to ask again for the next 100 ... so that's 10 calls to get 1,000 follower ... 100 calls to get 10,000 ... etc. it adds up.
baggafix
I only have 7 followers atm 😂
But in a custom widget, i'ill set a parameter telling how many page i want to fetch.
your userId is 481770878
thank you
how did you find it ?
I'm a begginer with this API 😅
you gotta do an API call for the username to get the ID back; I have a program that auto searches it.
so this is an "old" endpoint and will be turned off soon; not sure if that is in a week or a year 🤣
Or be like me and use this link
https://api.twitch.tv/kraken/users?login=usernamegoeshere&api_version=5&client_id=q6batx0epp608isickayubi39itsckt
hahah; yup basically the same.
can i use the same client id or do i have to create one ?

So I should try to create a client id and an oauth token to use helix api instead of the deprecated kraken v5
i don't think the new helix has a follower database?
i think it's now of a check... is user A following user B
Is the API still not accepting any more applications?
Any questions about that can go here https://streamelements.com/contact
helix can return people following a given user id but it needs user oauth token and client id
are you working on a personal project or a business project?
which helix endpoint?
users/follows with parameter to_id
ahh; ok; ya. it is in there. niice.
...but the thing is; this will work for for a while; but these calls are for 100 max return in the data.
It's not a probleme given what i want to do
^ use this
but this one will be discontinued
eventually.... yes... but i've said that for 2 years now 🤣
hint: there is no endpoint for the users in chat; ..... it's tied to the same system and when they turn that valve off it will break a lot of things.
Business
Hey, how I can share my custom made widget?
Hey @bitter abyss
you can go here and fill out this form to submit it: https://strms.net/codeshare
Hello, does streamelements let you combine overlays so that we end up having 1 browser source for alerts,chat, and stream rotator?
I submitted it 3 weeks ago. How long does it take to be approved?
I don't think you can combine overlays. But one overlay can contain many widgets.
I'm not sure if that answers your question.
Can someone help me out privately with some JS coding?
Hello everyone. Is the websocket api endpoint still working? I'm getting ping timeout when trying to connect with my JWT token
You become a codeguru and gain widget share perms after your widget is approved. The approval process is basically checking your code for bugs, the wait is because widgets in the widget share category are released after a certain delay to keep the hype up for the recent widget
Good work with the hud, impressive for a first timer
Thank you for the quick response and the compliment 
Hi I'm having an issue with a custom widget.
I use an html audio tag for tts, in the editor works great but in obs the audio seems to not charged at all, I tried plenty of things and I can't fix it
Any ideas?
At the StreamElements GitHub should be a custom code widget you could use as reference.
https://github.com/StreamElements/widgets/tree/master/CustomChat
Hi, Can anyone help me, I'm trying to have a command in chat do something on a custom module for YouTube streaming, i managed to get it to work for a bot-counter using "listener === 'bot:counter'' but I'm not sure how to get it to read just a command, any help would be greatly appreciated
Hello. Just want to ask again.
Is the streamelements websocket endpoint working. Taking the example code exactly as is, doesn't work for me
@grim lagoon, posting multiple links will result in not being able to post again.
@grim lagoon That link won't work. That response is no longer possible as twitch nuked the endpoint.
And you should be good now to talk again.
okok
It was one of my favorite cmds
to SO active hosts within the channel
there is no other refference URL for active hosts on my channel right?
Correct.
thanks anyway
It works fine here. I used the example over here: https://docs.streamelements.com/docs/connecting-via-websocket
Assuming it is the same endpoint.
Awesome. Will check in a bit. Thank you
Has anyone done authentication using a c# console app?
I'm trying to make something to track donations on SE, but having some issues with auth since there's no web endpoint. I guess I could setup a dummy server that gets me the token, but was hoping to do it within the app
Looked at JWT, but don't see how to actually leverage it.
turns out I'm dumb. I tried using StreamElementsNET earlier today and got annoyed it wouldn't work... forgot to call connect (╯°□°)╯︵ ┻━┻
Hey there! Recently added this widget and I am getting 200s but for some reason the overlay isn't showing the test events. Have I missed a step?
Are you doing nodejs or html example? Mine is still not working
I used the HTML+JS example. You should have two or three files.
Dangit, I'm doing a nodejs version all in console. I see the example is using socket.io 2.2 where the latest is 4.1 and specifiaclly I have to be using socket.io-client
Aww. I don't think I can help you then. :/ Good luck.
Awesome, thanks though
Solution was to downgrade the socket client version to v2. Thanks for the help!
i hope this is the right channel for this, it's about custom alerts with css: style.css is the custom css I use, the animation looks fine on streamelements, but in obs, there's no fade-in or fade-out animation, as shown in this video: https://streamable.com/hwowtx does anyone know how I can fix this?
opacity should be between 0-1 and not in percentages.
So, opacity: 0% => opacity: 0; and opacity: 100%; => opacity: 1;
thanks, that helped!
also opacity: 50%; => opacity: 0.5;
I'm VERY raw & new to CSS and I'm having some issues that are beyond my experience:
-
The video I inserted via the CSS editor is ever so slightly off the point it should be positioned based on the file I uploaded. I don't know a) the position is skewed b) how to move the video in CSS
-
The text I added to the CSS editor is not the correct weight even though I added the light version of the .otf file.
-
I'm trying to add a stroke to the text in CSS. How do I do this?
Sorry for so many questions.
I got the video positioned correctly, but the text style questions are still an issue; I am using text-stroke-color & text-stroke-width but neither is working
Also, why is there random copy pasta text showing in the top left of my alert using CSS editor.
"Do not fear a man that spams 1000 memes".. Etc.
Are you testing/simulating the alert?
Sim yes.
That's why. That's the generic message when doing it.
Even if I have the message deleted?
Did you simply click the method to do it or did you choose custom?
I see what you mean, nevermind. My apologies
Even after removing the message field, I'm still getting > in the top left. I'M SO BAD AT THIS! LMAO
I see that SE_API has a sendMessage() method in the widgets, but I cant find any documentation on this method, so I don't know what it does or how to use it.
Does anyone know? 🙂
It's just used internally by other functions (like resumeQueue) to communicate with the server. So there is not much use besides that
Thanks. 🙂 I was hoping it was a way to send chat messages as the StreamElements bot.
Not with sendMessage, but there is another way:
#dev-chat message
Wow. That's cool! Thanks again. 🙂
np. You'll need to create a token on https://jebaited.net first, though
https://streamable.com/qkg7ko in some alert variations, the alert-media is not aligned as it should be, the code is exactly the same
this applies to variations in raid alerts and tip alerts, does anyone know how to fix this?
I've got a gofundme api for alerts on a certain page but am not sure where to input the page url. Do i just put it in the 'fetch' brackets? Cheers fetch(https://api.jebaited.net/external/gofundme/{pageShortName}).then(resp => resp.json()).then((data) => {
resolve(data.references);
}).catch(() => {
reject('Cannot get donation list');
Is regex for command taking only 3 ORs 123|456|789? Or I'm doing smth wrong?
Yep
if you ever face this issue - delete variations completely and add new ones a la "try turning it off and on again"
fixed it
I hope I get approved as code guru soon, I really wanna share my widget with some streamer friends 
Hey guys, how can I apply my app for the OAuth integration? the google form is broken
My app will help a lot of Brazilians streamers to use another payment gateway known as PIX
edit: I just found this message, that tells that the requests are suspended, hope that they read my ticket submission
#dev-chat message
How to change font in css?
If it is for the whole document you could do something like:
/* You might need to import the font you want to use */
@import url('https://fonts.googleapis.com/css?family=Chelsea+Market');
* {
font-family: "Chelsea Market";
}
@tranquil steeple Even works Chakra Petch fonts
what is the css for Chakara Petch font?
How to change the timer on the message thats come in chat afther 10 minuttes, i have tried in the global timer but don't work ?
Hey guys i have a question about API endpoint "https://api.streamelements.com/kappa/v2/points/channel/top". This endpoint returning a ARRAy of top points users. User name is same like a twitch login od twitch display name? I cant find any information about this on API reference. Thanks a lot
anyone know if there is a Valorant Rank API so when people do !rank it tells them my rank on valorant?
I was more or less looking for a command api, not overlay. thanks anyway
https://developer.riotgames.com/apis
they have their own api
It seems that another user looked for a similar command:
#dev-chat message
He/she did realize it with Nighbot in the end ... 🤔
#dev-chat message
tbh, I had no idea that the widget is posting a message after 10 minutes. 😅
Unfortunately, in my tests there were no such message.
What does the message say?
The "global cooldown" just specifies how much time has to pass, until a command is recognized again (so the command is ignored for X seconds after it was triggered).
What's the best way to fetch emotes? Are the emote links stored somewhere when event like sub is triggered? Similar to how chat message has emote data ?
hey does anyone know why the alphagaming event rotater v2.2 not animating?
What is the channel/counters/counter for, exactly?
I thought it would be for gathering commands usage counters. But either I'm missing something or I'm looking at the wrong place.
And the commands/channel/commandId endpoint doesn't give me the command usage count 

Answering my own question, it seems I have to explicitly declare ${count myCounter} somewhere first. Otherwise, the counter is never created/updated.
Makes sense.
In short, do not mistake counters on SE for Nightbot's command $(count).
SE does NOT automatically create a counter for each command you have.
Umm theres kind of a problem and i cant see any of my activity for example it dosent show my followers and other things like viewers can someone help me
Umm theres kind of a problem and i cant see any of my activity for example it dosent show my followers and other things like viewers can someone help me
HELP ME
Yo, is there any way to get a user's watchtime in streams that he watches ?
Are you the streamer?
I have a question about on widget load, does on widget load load events even if it was from the previous stream? or just the ongoing stream?
it will load some data that is saved between streams .... or "sessions"
can you be more specific with the data you are wondering about? ... things like follows/subs are tracked on goals/session/weekly/monthly
yes, I'm workig on a custom widget which shows subs, follows, donations, gifts and cheers. So whenever I start the stream I want to make sure the latest data loads, so it is not empty when the stream starts
in the channel header there is a link to data you will see in the widget; https://github.com/StreamElements/widgets/blob/master/CustomCode.md
for the subs/follows/tips/...etc; yes you can grab the amount per stream (session), for the week, for the month, all time
It looks like this, to clarify
this the widget load code im using now but I'm not sure if i'm doing it correct, (wasnt sure how to splitt the gifted from the normal subs also)
are you building a custom widget @soft pulsar or is this in like the AlertBox custom CSS ?
this is a custom widget
Everything is setup and working, it is just the widgetloading part which i'm not sure about, if it loads the data when a new stream starts and how to load it exactly haha
yea; i guess i'm questioning the 'recents' part. But, to be fair i've never used that to see what it pulled.
i basically just used the code that already is there for the default custom widget, i'm not 100% sure what it all exactly does, or if there is another way to do this
I would suggest pulling the data you want from the obj event on load.
The default custom widget code is for an EventList and the recents.sort(...) part is to put these events in chronological order. If you want to get specific events you can use: obj["detail"]["session"]["data"]["{{event}}-recent"]
(The {{event}} part has to be replaced ofc)
obj["detail"]["session"]["data"]["tip-latest"]["name"]: https://github.com/StreamElements/widgets/blob/master/CustomCode.md#common
🤣 ^ what Reboot said; ^^^
well, depends on what exactly you need...
For the most recent event (only one person) obj["detail"]["session"]["data"]["{{event}}-latest"] is correct
For a list of recent events obj["detail"]["session"]["data"]["{{event}}-recent"]
i believe @soft pulsar is trying to make a rotator type HUD? basically pull in the last tipper/follower/cheer/etc on the load.
Thank you both for the help btw, I really appreciate it. it is not really a rotator. so say on the left it only loads the latest gift, dono or cheer and on the right the latest sub or follow.
i would use the obj["detail"]["session"]["data"]["{{event}}-latest"] and build an Object for each one you want to track. .... i'm not sure what all you have in your code in that image you already posted. Do you have an on onEventReceived or onSessionUpdate handler? It might be easier to work backwards from what you have updating the code to fill it in on the load.
the *-latest path only includes the username. For a chronological sort you could use obj["detail"]["session"]["data"]["{{event}}-recent"][0] and then compare the createdAt values for the most recent of each group
However gifts are just counted as subs
for which event?
he wants the most recent event of tip or cheer on the left and the most recent of sub or follow on the right
I have an oneventreceived. when i open obs the widget is just the mascot, when for example the subs alert plays, the text just there until the next event
okay good to know
So compare obj["detail"]["session"]["data"]["tip-recent"][0].createdAt with obj["detail"]["session"]["data"]["cheer-recent"][0].createdAt for the left side and obj["detail"]["session"]["data"]["subscriber-recent"][0].createdAt with obj["detail"]["session"]["data"]["follower-recent"][0].createdAt for the right side
thank you for that, does that also mean it loads that data even if it was from another stream, so when the next stream starts the data is there? (sorry if im a nooby)
It loads the data from the current session, but you can configure when or if a session should end
I think it's this setting: https://streamelements.com/dashboard/session
and then the settings tab on the right
so turn this one off
If you don't want the session to reset between streams, then yes
okay perfect, thank you for that 😃
Hey so when using "subscriber-gifted-latest" the amount seems to output the last receiving users amount of months subscribed instead of amount of subs that was gifted
seems to do the same with the base label
no. i'm a user who watches many streams and i want to know which streamers i watched the most from my following list.
?
I know about that. But when I use that sub-gifted-latest.name/amount it actually outputs sub-latest.name/amount
so I've swapped it to .sender/amount and it reads the correct sender, but the amount is still latest-sub.amount(months subbed) instead of the amount gifted
? the subscriber-gifted-latest should be giving the data for the GIFTER
Yes I know, but its not, much like if you pull the latest gifter label up like the previous pic I posted. The data points are {sender} (Gifter) {name} (latest receiver) {amount} (latest receiver months subbed)
i'm not a partner; so i can't test the Sub events; i just have to use the event simulations.
in theory; what i posted is how the events are coming through the websockets .... but again I cannot test or verify it.
yeah emulated events dont even trigger gifted labels. But I just watched it live on a rotator. Some gifted a direct sub to someone and it showed x3 for the amount of months the receiver has been subbed for. Then watched someone gift 5 subs and it showed x1 for the amount of months the most recent receiver has been subbed for
direct Subgifts and Community gifts are technically different things
regardless, the amount it showed was consistent in both cases
and it wasnt the amount gifted
yes it outputs sub-latest amount in both cases instead of sub-gifted amount
for Subgifts it should show the amount of months the receiver has accumulated by now, but Community Gifts don't have that -latest entry
using name with sub-gifted-latest also outputs sub-latest. But you can switch it to sender to get the senders name
so theres no way to show how much a person has bulk gifted?
the sub system is complicated ... and honestly Reboot will have the best answers
.... he made all the documentation for all the handlers that he made to handle it 🙂
the subscriber-latest object should look like this:
"subscriber-latest": {
"name": "Marilyne Abshire",
"amount": 17,
"tier": "2000",
"message": "",
"sender": null,
"gifted": null
}
But subscriber-gifted-latest is just
"subscriber-gifted-latest": {
"name": "",
"amount": 0,
"message": ""
}
So, I don't think there is an easy way to separate between community and "regular" gifts
So theres just no way to be able to pull Gifted Sub Sender/Amount for a rotator then?
you want an option that says "User A gifted X subs" ?
This is the message: City is calm again, does anybody want to rob a bank?
basically yeh
ill look into this ty
that's the Bank game.
@elfin arch @tribal zenith would you please help me with this ?
Depends on the stream you are watching and their settings if you are not the streaming.
the "normal" commands to try are !watchtime, !followage, !howlong ... but depends on the channel and how long the bot was in the stream
or https://dev.streamelements.com/docs/kappa/api.yaml/paths/~1points~1{channel}~1watchtime/get with different channel paths
But I am not sure if your token grants you permission to view your own watchtime on other channels or only the watchtime of other users on your own
Also for that to work each streamer would have to use StreamElements with loyalty and watchtime enabled
Maybe Twitch Channelpoints would be an alternative
the first stream i watched on Twitch was ... well it was before channel points were a thing ... StreamElements wasn't a company yet ... and ... it was called Justin 🙂
i guess the short answer is ... there is no way to know which stream you have watched the most.
OK then. thanks
Hey I'm new here. I didn't see any tutorials on something like "creating your first streamelements widget". I imagine I could figure out most of it myself, but the main problem i have is how do I upload my widget to stream elements to test it?
I found the custom widgets button in the overlay editor but is there any way to do it in vscode and upload it or no?
Or am I fundamentally confused about how stream elements widgets work
🤔 if one isn't easily found; then I'll poke some people to make something
... but basically; it's all HTML/CSS/JS are you familiar with those
yeah a little, made a simple website so im not totally new to HTML / CSS and I know a fair bit of JS
that's perfect 🙂 HTML/CSS is the way to go.
ive looked through the docs a little bit and the JSON makes sense as well for config options, i just dont really know where to get started. And I would mess around more but the online editor feels too clunky. If I were to do it in an IDE like vscode would I jsut have to copy and paste the code everytime i make a change?
the JSON is basically the settings; the last step, in my design/build process
i personally use codePen for my HTML/CSS
and when you do that do you just copy + paste the code over to streamelements?
there is a local set up in the pinned comments
yup. that's how i do it. but i'm not saying it's the most efficient way.
yeah makes sense, ill probably just do that then
and what do you mean by local set up?
ah wait I see the zip
At least the JS of the widget doesn't appear to post such a message. (I didn't find any corresponding code...) 🤔
Do you use the original Bank-Heist-widget as well?
If not, can you publish the JS of your widget on pastebin / jsfiddle and share the link?
This might also help you https://reboot0.de/se-tools
@quartz tiger ah, you're using the original Bank-Heist-widget by lx.
I guess you could comment out line 126 (with //) to get rid of the message ...
// sayMessage(wrapMessage(fieldData.cooldownOver));
... or you simply delete the whole line.
But if you do so, it might be unclear to the players when the heist cooldown is over.
is there a python wrapper for this?
and any resources like docs?
i couldnt find any : (
ping me please
for the wrapper
is only streamelements allowed to have a websocket connection with youtube for receiving updates and such?
Moved this conversation here because I guess it wasn't in the right place. I can't seem to get the awesome shoutout alert to work. It said to come here and DM Rene, which if I'm being honest, is not something I want to bother the creator with.
context from other channel
I went in and set the web source in my OBS to start. Then I went into the settings and I was just trying to set up a proof of concept so I had it playing an applause clip, with the option for channel logo when not in the VIP list, and just the basic test text for the overlay. I even changed the trigger command thinking it might be a bad interaction with other shoutout commands, but when I try to simulate an event, nothing happens. When I use the trigger command with my own username in OBS, nothing happens.
Any chance someone can tell me why the overlay is just doing absolutely nothing?
Any chance someone knows the POST options/Body params to create a new Giveaway? https://docs.streamelements.com/reference/single-giveaway#giveawaysbychannelandgiveawayidpost
this still says "Work in progress"
I don't really know but I looked at how the payload from adding one manually.
I see that it uses kappa/v3 which might be different, but I'll share the payload so you can get some information at least.
@tranquil steeple i might give it a try, thank you! - ill let you know if it works, or i figured it out
Did you change the mode to "On mod/streamer command"? (In 'General Config')
With that mode set, the command seems to work for me. 😅
yeah, Rene ended up reaching out to me and helped me fix it
ah kk 👍
@tranquil steeple it works
curl --request POST --url https://api.streamelements.com/kappa/v3/giveaways/{channelId} --header 'Accept: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer {token}' -d 'cost=1' -d 'description=This is a test' -d 'freeTicket=true' -d 'maxTickets=1' -d 'subscriberLuck=1' -d 'title=TestTitle'
Nice. 🙂
How can i get the other bank heist ?
Kan du help me ?
https://jsfiddle.net/86ejtyp2/ if i take the javascript in to the JS i get the new heit ?
I don't think that there is another bank heist widget.
I only called it "original" as I used it as a basis for the code of the chat game prototype that you posted initially. 😅
It was an answer to a question that was asked here and is way less complex than lx's widget.
But if you want to give it a try, you find the steps necessary here:
#dev-chat message
ok i will try it out 🙂
I used your comment to test it and after that I found out that it wasn't possible to anyone to join the giveaway because it was not started. So you have to start the giveaway after creating it (you will need the giveaway ID that is the field _id from the output of your command):
curl --request PUT --url "https://api.streamelements.com/kappa/v3/giveaways/<ACCOUNT_ID>/<GIVEAWAY_ID>/action" -H "Accept: application/json" -H "Authorization: Bearer <JWT_TOKEN>" -d "action=start"
The result will be:
{"success":true}
Perfect! 🙂
By the way, do we have the kappa/v3 documentation by any chance?
is that hist not working with many people or, because, whn i start it it give me the result like gamble
GReetings, I am currently trying to make sense of how to pull latest sub/follow/etc data into a custom widget. I read numerous gits for the widgets and the variable list. Though, it's all a little to convoluted for me.
Can someone explain me how I can pull that name and text data for those events, entirely clean. No need for fields or any requests as it is just for a single theme where there is total control over everything and all I need it to fill the handlebar space with data.
oh and I mean for labels, so constant display.
I hope someone can help as I assume it's a super easy solution-
Can someone explain me why there is an event type test here: https://github.com/StreamElements/widgets/blob/0f74fc8b7aa2538cc05acb8f644f9ae374acca32/CustomEventList/widget.js#L22-L48
When we have an event obj.detail.event which gives us the data without requiring to test it?
@raw furnace That's technically something for here. Also something @pure drift can answer about that error.
okay, ill go here now
i have this
!command edit !subage @$(sender), User $(user.name) has been subscribed to channel ${channel} for ${urlfetch (https://decapi.me/twitch/subage/slinkyrages/${user}}
and im getting this error now
@SlinkyRages, User slinkyrages has been subscribed to channel slinkyrages for RequestError: connect ECONNREFUSED 127.0.0.1:80
I assume it's caused by the ( before the URL
Or maybe someone got a list of clear and clean boilerplates for basic events?
ooohhh that seems proper. I'll take a look.
Kay took a look, seems great. It also explained me a little right away, for the event tester code in every custom widget.
Though, do you happen to know how performance optimized it is? Or does it even make a dent? As I guess session pulling the whole time can be kind of demanding in js.
I really only need the basic events.
It's a wrapper library to make more complex widgets easier. For simple labels it would be overkill, yes.
You can just check for the basic events then and update the text(s) https://github.com/StreamElements/widgets/blob/master/CustomCode.md#on-event
ye, actually doesn't matter, as the framework is great. I'll have to code the rest anyways at one point and that is unnecessary now with it covering every basic event I need.
Thanks a lot...
really helpful
though quick question, can I just abuse the event methods for labels as well?
¯_(ツ)_/¯
as in update text? sure
function onResub(event)
{
DOM.setText("#yourLabelId", `${event.name} - x${event.amount}`);
}
yeah, the code was for some kind of gambling chat game or something like that.
Hey @ocean fractal ! Quick question about you chat widget, I changed the flex box from column to "row-reverse" to have horizontal chat, it almost worked but first message don't disappear and it gets really weird ... Do you know what to change to make it horizontal ? Thanks for your help ❤️
@tropic wagon set the width to a pixel amount. You might also need to play with padding a little bit too to get it looking good 🙂
the width in .message
Actually, the main problem I have is that messages don't disappear from screen and just accumulate at the left side
the fixed width will fix that!
since the width was 100%, it was basically making do with what it had, but with a fixed width, the message will always take up that amount.
and itll get pushed off-screen if there's enough messages
that's if I understand your issue correctly 😅
Yeah but if the message is too long it's not good either ... I have an other code which is working but I prefer yours because you have a lot of different test message 😭
yeah I haven't thought through how horizontal messages would work yet. What would you expect it to do if a message is too long?
I try to mix both but it's so hard 😂
scrolling perhaps? 🤔
I just want the message to display at the bottom screen like TV news for exemple
On only one lign
and I don't find on the other code what make the trick
if you make it really long, you could use the message limiter and then maybe in obs you can put a scrolling filter on it
that's a thought for a potential solution
I'm having trouble thinking through how to make the chatbox work to be ticker-styled
maybe take the width off completely
@hardy walrus scrolling might be the trick, though there's also some code in there that removes messages that are off-screen
still not working
idk if that would cause an issue
hmm
o
try setting width: max-content;
on .message
it seems to work \o/
🎉 🎉 🎉
Thanks for you help ♥️
np!
Hello. how many links can i add to different $urlfetch()? within one chatbot (SE) command.
Fairly certain just 1.
curl --request GET \
--url https://api.streamelements.com/kappa/v2/points/breebreebran/breebreebran \
--header 'Accept: application/json', 'Authorization: MyJWTToken'
{"statusCode":404,"error":"Not Found","message":"breebreebran was not found"}
Why?
need the ID number not the username
Please provide your account ID found at the top of this page: https://streamelements.com/dashboard/account/channels This ID is public info and safe to share here.
don't need to post it; but that's the one 😉
hey everyone, I was wondering if there is any way in having a bit more realtime development mode for custom widgets than having the modal with code editor on SE
I was trying to look for something online, but alas I’ve not found anything
currently I’m coding stuff locally in VSCode and then copy-pasting to the widget’s editor
Check this one. #dev-chat message
It may be bit outdated, but overall it should work.
ohhh! thanks a bunch! will give it a try
i got my code to work but there's a huge white background when adding it to streamelements i cant get it to work as a browser source by itself
anyone know how I can remove the white background my css does say transparent
this is exactly how it shows up as a browser source
Is background-color:transparent applied to both html and body?
@nova rock yes i have been trying different things
It’d be easier to help debug if you popped the html and css in a pastebin or something
Are you using any css-frameworks? Such as bootstrap i.e.? I've experienced this problem with bootstrap before.
If so you could try to do:
body, html{
background-color: transparent !important;
}
@tranquil steeple yes is the CARD from bootstrap
html,body, .row{
background-color: transparent; !important
}
.card{
position: relative;
border: none;
width: 120px;
}
.facebook,.instagram,.twitch,.twitter,.youtube,.linkedin{
font-size: 90px;
height: 120px;
overflow: hidden;
}
/*section of css code with palette default colors for social media*/
.facebook {
background-color:#3b5998;
color:#ffffff;
}
.instagram{
background-color:#cd486b;
color:#8a3ab9;
}
.twitch{
background-color:#6441a5;
color:#b9a3e3;
}
.twitter{
background-color:#00acee;
color:#AAB8C2;
}
.youtube{
background-color:#E02A20;
color:#E33E35;
}
.linkedin{
background-color:#007AB9;
color:#1d85c4;
}
.card-text{
position: absolute;
top: 5px;
color: #fff;
right: 5px;
height: 100px;
overflow: hidden;
}
.card-text h1{
font-size:15px;
}
#Followers {
font-size: 10px;
} ```
The semicolon has to be after !important on line 2, try to see if that helps.
so originally because it was not important it didnt do it, now that it is important it actually made the background transparent, so silly small things i tell you
