#dev-chat
1 messages Β· Page 29 of 1
Time to ditch cloudflare. I've had enough of this with 30+ domains under management.
Even with paid plans, there is no predictability on how they will throttle your traffic.
@broken coyote yes, just like that!
With my custom widget I have several sound-input fields (for followers, subs, ...), that works too but I can not change the volume. With <audio volume = "0.1" ...> but also with <source volume = "0.1" ...> the volume does not change. Where is my mistake?
No space between volume="0.1"
??
Putting volume="0.1" in the html should work fine.
AKA <audio src="myfile.mp3" volume="0.1"></audio> should be at 10%
MrBoost's solution is what I use when I'm using a slider to control the volume (I set the slider from 0 to 100, then math it later)
I have this Code in the Java function <audio id="audio" playsinline autoplay volume="0.1" ><source id="alertsound" src="{{followerSound}}" type="audio/mp3"></audio>... The sound is played but at 0.1 the volume is just as loud as at 1
Hi I am wondering if anyone has a custom api I can use that displays my local time in the 12h format in a chat message ty for the help
document.getElementsByTagName('audio')[0].volume = {{videoVolume}};
@median sigil If you mean custom chat widget, you can use time formatting as in link: https://stackoverflow.com/questions/8888491/how-do-you-display-javascript-datetime-in-12-hour-am-pm-format
@viral patrol I was hoping for example - !time and response is 2:23pm
Oh, so you want a chat command
https://docs.decapi.me/misc?endpoint=time - check this one
ok tyvm for the help
np!
Currently not seeing my XHR requests in console when trying to debug?
if (typeof obj.detail.event.itemId !== "undefined") {
obj.detail.listener = "redemption-latest"
}
const listener = obj.detail.listener.split("-")[0];
const event = obj.detail.event;
if (listener === 'redemption') {
$.ajax({
url: 'URLHERE',
type: 'POST',
data:'',
});
}
});```
Sample snippet of my code. Within a custom widget. Was working fine after the last time I reached out since it was just an htaccess issue on my end.. now I'm not even seeing the XHR request in console
@hollow ledge i see it very time i fire a redemption
so when doing a test redemption you dont see it under network?
Correct. That's how I was able to track down my issue last time was using the network tab.
well... I literally changed nothing since I sent my message, I started photoshopping images and setting my sub variations and then bam, now I see it... I sat here for 10 minutes staring at the console in another window and it never populated.
question about custom wireframes for bit cups: I have a SVG line to use, but I'm not 100% sure how to convert that into wireframe coordinates. is there a tool I can use to do a quick conversion or is there a method for this?
is the endless spinning on hype cups normal
still doing it even when I switch back to the default cup to figure out if it's me or the editor causing issues
just gonna refresh and hope that works 
does the hypecup require an image to work? I have a dynamic widget to place on top of it and any non-default image seems to make the bits ignore the cup completely and also shift where the cup sits in the widget 
I would like to make a command to list games the streamer has played already as well as a status such as finished, on going, new/not played game, or suggested. i would have 1 command open to everyone like !gamelist that will just list the games and show status and then have ones for mods that i can "!gamelistadd" where it will add the current game to the list or "!gameliststatus finished" to change the status. I assume it would need to use some sort of api to allow all the commands to use the same list so thats why i post here but i have no idea where to start with this command. please @ me if you can offer any help!
Firstly you'd need a place to store the historical data 
yea, i tried pastebin api but i cant write to it and it only gives me one line at a time
yep, you'd have to set something custom up or hope @mild cipher has something up his sleeve
i barely know how apis work so i cant really do anything custom like that yet xD
you can always pay someone to do it for you π otherwise you can learn or hope it's a feature enough people want that someone implements it
i mean i have ways around it, its just not as cool and im just trying to learn as i go so i figured id try
yep! first step here is to learn how to set up a writable database. lots of options and tutorials out there 
thanks
Hi! Looking for some help on usage of the bot variable? is it the right place?
is there a place?
@viral patrol oh nice!! thanks for answering! I'm trying this in a !command : ${count cntrCNT + ${channel.viewers}} to increment a counter by the amout of viewers... it doesn't show the result and inc the cntr.. it just shows.... heeee... this? I mean Β« Amount of viewers : 5 ; total since last count: ${count cntrCNT + ${channel.viewers}}
doesn't show OR inc the cntr, sorry
Hmmm. I will have to take a look into that. Maybe it doesn't like the space after +?
@viral patrol all the spaces??
Ohh. I am so sorry. I got no pings from discord
Just checked that. It just shows me a command text, not evaluating it
Maybe count can't have nested calls?
For those who want to catch a specific command and an argument (this one specifically for !so <name>), and validate it so only mods/broadcaster can do it, I added this in the JS part of the Custom widget:
const listener = obj.detail.listener.split("-")[0];
const event = obj.detail.event;
var command = event["data"]["text"].split(" ")[0];
var badge1 = event["data"]["badges"][0]["type"];
var badge2 = event["data"]["badges"][1]["type"];
var badge3 = event["data"]["badges"][2]["type"];
if (listener === 'message' && command === '!so' && ( badge1 === 'moderator' || badge2 === 'moderator' || badge3 === 'moderator' || badge1 === 'broadcaster' ) ) {
var soname = event["data"]["text"].split(" ")[1];
console.log(event["data"]["badges"][0]["type"]);
addEvent('shoutout', 'Shoutout', soname);
console.log(soname);
}
Hi! You can also check another approach to that if you're interested ;-): https://github.com/StreamElements/widgets/blob/master/CommandCounters/widget.js
Very cool!
It is my first time messing with custom widgets, and I had to undust my js, thanks for sharing that, it does look cleaner
@viral patrol anyway to know if a cnt can be inc with a var in the bot ?
It can be just like you wrote but I am not sure if you can nest anything within it
@steady iron I totally recommend you our github repo, you can find a lot of examples there
Much appreciated, I'm a total noob on this, so that will help a lot
Is there anyway to keep track of invidual stream chat stats? Who sent how many messages, what emotes were used that stream, how many messages sent in that stream, etc?
Right now I just log the entire stream every stream then search identifiers to find this info but it becomes tedious. AKA 4,000 lines of chat sent in an 8hr stream would be 8.3 messages sent a minute, searching for, say, LUL, the emote and seeing how many times it sent, or say searching for 'Mitch' to see how many messages I sent
You can use something like https://github.com/jdpurcell/RechatTool to download the chat log of a VOD instead of tracking it yourself, but if you mean prettified results without doing any of the processing yourself, then probably no.
SE has chat stats too (https://stats.streamelements.com/), and apparently an endpoint for it, but I haven't played around with it before so maybe someone else can pitch in (the docs are empty atm, https://docs.streamelements.com/reference/chatstats)
Sorry for the super super late reply @mild cipher busy day, how would one use that RechatTool?
@shell tree Download the latest release (1.5.5) (the zip file) (https://github.com/jdpurcell/RechatTool/releases) and extract it somewhere, then open up command prompt whenever you extracted it, and run: RechatTool -D XXXXXXXXX - replacing the Xs with the ID of the VOD (i.e. the numbers on the end of the VOD link https://www.twitch.tv/videos/XXXXXXXXX)
You'll get two files, a plaintext of the chat log, and a JSON with more indepth information about each message, such as the sender's details, badges, username colours, etc. Emotes are also separated out for each message, so you could probably target each object that has a valid emoticons property, if you want to aggregate them, etc.
Thanks!
Hi! anyone knows about ${user} returning value of ${1} instead.. and anything to read about SE APi for dummies? I was sent in this channel by the CS! -Thanks
${touser} Returns either the first word after the command ${1}, or the senders name. It's an alias for ${1|sender}
and this is the api documentation: https://docs.streamelements.com/v2.0/reference
@rugged rapids ok and ${user} should return the !command sender right ???
it should Displays the users Display name
it displays ${touser}/${1} value...?
${user} is throwing a Cold Iced Beer at ${touser}!! Total beer threw since july 2019: ${count TRPbeerbashCNT} beers. returns: StreamElements Nightbot is throwing a Cold Iced Beer at Nightbot!! Total beer threw since july 2019: 13 beers.
user should be me, no?
try ${sender} instead of ${user} so ${sender} is throwing a Cold Iced Beer at ${touser}!! Total beer threw since july 2019: ${count TRPbeerbashCNT} beers.
@rugged rapids Thanks a lot!!!! π
Hello :)
I'm trying to give regs and subs their own unique bot welcome using RegEx, so when they come in and say "hi" or "hello" their command picks up their username and the "hi" or hello" and the command responds.
Is there a cheat sheet or rules sheet for using RegEx in SE commands. It seems SE don't follow the exact rules of RegEx. ie: username has to be [username], and then I can't use a quantifier to require a 8 characters to match exact.
My RegEx code:
(?i)^username (hi|hello)$ or
(?i)^[username]{8} (hi|hello)$
Will match: username hi or username hello
But in SE RegEx it must be:
(?i)(^[username][(hi|hello)]+$)
to work. But then the problem is, I can't limit the match to an exact username.
(?i)(^[username]{8}[(hi|hello)]+$) Should work, but its not.
So the SE RegEx code will work for username hi or anotheruser hi or any username that has any of the characters,
Thanks for any help
The only thing I could find was that StreamElements is usig the google RE2 syntax. Maybe this helps or another code guru in here has better insight on this.
Ahh ok, this should help, I'll do some poking with that. Makes sense its an offshoot of mainstream RexEx. Thanks! In the mean time, code gurus, don't hesitate to chime in. I'll let ya know if I figure it out.
Thanks
We use golang. You can use https://regex101.com/ to write/test the regex (select golang on the left)
Regex101 allows you to create, debug, test and have your expressions explained for PHP, PCRE, Python, Golang and JavaScript. The website also features a community where you can share useful expressions.
I'm curious, how does the username part of the regex work?
AFAIK there's no lookahead/lookbehind in RE2
Ohhh.
And I see that you used [username] In that case it will look for 1 character long letter, one of u, s, e, r, n, a, m, e
I think you are looking for something like [a-zA-Z0-9_]{4,25} hi
If you want to limit it to exact username, there's no need to use brackets, for example you can just use username (hi|hello)
@mild cipher in the chat the username is the first string in the line so ifyou set a match for a specific username it will trigger with that username, the problem I'm having is getting it limited to a specific name. if I use the [] for match characters in bracket it mathces any of those letters.
@viral patrol close, Iwant to find the exact match. the [] were needed in SE to make it atleast work, and it does if a usename doesnt have any of the charaters, it wont trigger, bu t any of them and it will.
Its possible with RegEx but saying [username]{8} so all 8 have to match, but the {} wont work in SE
@viral patrol I tried just username first, it dodnt work at all, like an error failure.
Your example is what I started with
Wait... There's one more thing. You can't match actual username that is using the phrase
As the phrase after : is matched against RegEx
^ this is what I was confused about, the regex only works on the message itself, the username isn't visible to that π€
Ok, Hopefully this will clear things up. Maybe I'm doing something odd. But on the left, it works if I type Hi on my username or any username with at least one of those letters.
On the right I changed the first match to all a's. a letter not in my username and it doesnt trigger.
Ignor the first "hi" at the top of the list, I forgot to clear the screen.
Is it maybe triggering because your username contains some letters that are also in hi/hello? What if you typed ahi?
(For the aaaaaaaa username I meant)
oh
yea, damit.. Thats it. RIP great idea. Thanks for eveyones help...
I figured since we can use ${sender}, we'd be able to get to the senders name
It's not over yet! I have a workaround that you might be able to play with 
Do tell whats your work around, I was hoping to avoid a certain keywork thing
Like ok username, say ayo when you come in. doesnt stop "anyone" from using it
1β£ ) Create a paste on Pastebin using the following format for each of your custom messages:
:[thefyrewire] Greetings, Fyre!
:[ICU_Twitchin] Hi ICU, how's it going?
:[anotherusernamehere] Another message here.
2β£ ) Save the paste and note the paste key (the alphanumeric string on the end of the link). Head to StreamElements and make a new command, like !hello or something. Paste this as the response and swap out the XXXXXXXX with your paste's key.
$(customapi.https://api.thefyrewire.com/twitch/pastebin/XXXXXXXX?filter=$(sender))
In short, what this is doing is using the sender's username as the filter, which in turn returns only the line that matches the username. If you have multiple lines with the same username, a random line is picked. So essentially you can have different possible responses each time for the same person.
3β£ ) Add your regex at the bottom. I'd probably avoid anything too greedy because theoretically users might greet someone else (hey person, welcome on in) which could trigger it accidentally. I went with (?i)^(hi+|hey+|hello+)$ which gets each of hi, hey, hello as well as hiiiiiiiiii and heyy, etc, etc. Feel free to expand as you see fit. A somewhat lengthy user cooldown might also help reduce spam.
Done!
Awesome! I will have to give that a try.
I wonder if I could figure out a way to use the quantifier [(hi+|hey+|hello+)]{2,5} to not trigger if the user said something like, Hi thefyrerwire this would be too long and not trigger. hmmmmm, Baby steps, lets see if I can get this working as is first, then break it.
Thanks @mild cipher! π
Ah yes, good idea! Quantifiers would work well, I'm using those for my dad joke command, only messages less than 50 characters trigger it 
! Hellow. Now I am not using the API directly as such, merely adding an Iframe view to an Angular app ( I just want alerts, don't mind if its quick n dirty): Use Case is simply that I need to have the Overlays with alerts loaded, when I am out n about streaming, so I can have the sound play through Headset or Speaker so I notice that people do stuff.
No app has been capable of providing this, together with Chat and perhabs remote control. So I set out to throw my own stuff together.
I Chose angular, because it's just angular, however I am running into an issue where the IFrame is constantly reloading, which is a bit of an issue.
Any ideas or tips on what to do? Keep in mind, that I am not interested in re inventing the wheel, id rather the people with actual dev time on this project sat down and put together an amazing app, with everything that IRL streamers needed, but alas. Here I am π
TL;DR: Anyone knows of issues with Iframing Overlays*, and got ideas on how to work around?
PS: Please feel free to @loud stream if you got idea
Oh. I think that this can be really problematic because of x-frame options which can prevent that
If you want to forward events to your endpoint you can just create a XHR call to your endpoint (via custom widgetonEventReceived or via alertbox (in main scope))
is there a way to make a command that i can just type something IN TWITCH CHAT like !remotecommand the game is ${game} and it will print the game is [game name] where i dont have to make a custom command to do one thing one time. ${1} just prints the command. i tried to start user input inside a variable (obviously only using variables and not text) by using ${${1}} and not using start or end to the variable ie just typing game after the command would return the name of the game by emulating ${game} and that works for the most part. however i needed to remove a number off of a counter using !remotecommand count ${game} -1 (i just use the name of the game as the death counter name) and it returned 1 instead of the correct number of 4. i was told to post here so sorry for the confusing text, i just want some help making it better.
please ping me if you can help
okay what??? i have ${${1}} and this happened and i am so lost:
DankmanSixtyNine: !remote count thisisnotarealcounter 69
StreamElements: 2
i have never used that name for a counter before? does ${1} only use the first word?
Try it with ${${1:}} cause {1} only takes the first word after the command which would be count here.
i did the same command using that it it returns ${${1:}}
Then I am sorry. We have to wait for a more experienced code guru who may have an idea on this.
wait. ${1} does not only take 1st word. i have There is a ${random.1-100}% chance that >streamer< will ${1:}. and it does the whole message
Unfortunately the eval command (being able to parse commands on the fly without adding it as a command) is only available to the SE bot admins. But if you want to use the game name as a counter name, you could do $(count $(pathescape $(game)))
okay so i have made an alert in after effects and converted it to a webm. Now can someone help me sync the text to it? https://gyazo.com/ccc0ae288c04d495516a00f5b415d2ed (this is what it looks like)
Heyho! Did anyone import the Odo Alerts to Streamelements yet or maybe can help me? Were pretty nice so i can go up to Streamelements with also my alerts! Greetings!
Got it so far all imported only the text font is wrong and didnt find the right setting :/
hey is that possible to make the social media auto tweet, tweet the title as well? (as a parameter there)
@slender ice Hi I think if you add this as alertbox (on top of your regular alertbox), change appear animation and disappear animation to none you can set text position and animation within widget config. Something like that:
I think this will take just few tries, but you will achieve everything without problems.
@tawny kiln I think that NoD will update their Odo Alerts package to be compatible with SE as well soon. They are doing great work with their other widgets, so hope it is just behind the corner.
Ye @viral patrol got it so far and it works fine, just the font in the alert is wrong ;) if i fix that im fine with it =)
@viral patrol thanks, Iβll give it ago in the morning
Just a bit curious on how the KVStores work.
I was using the https://github.com/StreamElements/widgets/blob/master/CustomCode.md#se-api I'm just trying to load up some arrays up to the KVStore but I'm getting a 500 error. Are there steps I need to do before hand to get this working?
Im a student trying to program in unity c# and try to get acces to the points api put call https://api.streamelements.com/kappa/v2/points/:channel/:user/:amount if i fill in my channelid username and a amount of points i keep getting 404 errors. can someone tell me wat im doing wrong
https://docs.streamelements.com/reference/single-user#pointsamountbychannelanduserput - you need to authorize before hand
@brisk marsh Just to point out, the SE-API is essentially a dictionary. If you are trying to pull the arrays back, you need to use the same key.
@indigo flume did only found normal api but never the kappa part thanks i will proberly be able to find a way to get it working now π
could someone with CSS knowledge do me a quick favour or at least tell me how to do it?
@indigo flume can't seem to find wat im doing wrong would you be able to help me
You need to authenticate with your bearer token prior to sending in a POST request to the API endpoint
with the channel ID, username and points
is there a reason to do $(count $(pathescape $(game))) rather than just $(count $(game)) if i want to use the game name as a counter name
(please ping me)
@pulsar willow I think you need to use pathescape as counter cannot have spaces within name (but I wonder if pathescape is a good way to go as it can use entities instead of special characters and I am not sure if they are allowed either)
thx
also is it possible to have a dif response from a command if there is no user input?
AFAIK you can use ${1:|"Default response"} (or without quotation marks)
But it is just a single parameter where you display/use user input and if one is not present it will use "Default response" as value of that
thank you!
The creation of custom listener to subscribe to said events, would make sense, if it wasn't because what I am looking for is my imbedded audio in my alerts.
Unless I'm missing something here.
I don't want to reinvent the wheel, I just want a source that can play the alert audio on my phone, while I can also read chat and perhaps utiliza OBS remote.
I am well aware of the implications of iframes and am not happy about the solution. But if there is another easy way for me to get the alert sounds and play them, without the iframe, I am all ears. If it was just for visual cues, I'd just read the stream elements bot posting in chat
Hello,
I have an odd RegEx problem. I created a command to match hi, hey, and hello in chat with RexEx. It checks out on regex101.
But in chat it only triggers with hey and hello.
Things I troubleshooted with:
I've tried it with and without a quantifier
tried moving hi to a different place in the group
replaced hi with ha and ha works
added hill to the group and hill works as well
Ideas?
The top one works for me. Are you sure it wasn't on cooldown or something?
Hey @mild cipher hi was the first one I tried, and just now dounble checked it with cooldowns at 0. still doesnt trigger with hi
ok.. wierd. instead of copy pasting the RegEx, from your awesome suggestion, I retyped it and it works. Must be a different hi on your machine? wierd right?
π yup
@loud stream The problem is that the audio part of the alert is part of the overlay, not the alert (otherwise variations wouldn't work at all).
In other words : only solution is iframe or wait for enough feature requests that you guys incorporate it in the companion app
Thank you
If you want the actual audio and the logic of variations and whatnot, yeah.
Hi, I was hoping to get a Client ID and Secret for Oauth - I'm trying to automate some points functions for my channel
@pulsar willow hey there π if you're only building it for your own channel and are able to keep secrets, the JWT token would give you everything you need.
But if you're interested in making an app then hit up @static wigeon who can give you access to the oauth2 beta.
Hey I am trying to get the
Events Rotator widget working but for tips it shows this
Its saying Amount00 Instead of $100
if I put like 5 dollars as the amount tho it works
@wooden pulsar
I'm having trouble with something that seems very silly, related to showing letters on top of a video playing, any html/css/js wizard around with 15 min to help?
Whatβs the issue? @steady iron
Hi there @sharp island ! It seems while trying to explain it I rubberducked the issue and found a way around it 
Rubberduck is the best tool
basically it was about showing text on top of a video playing, but since I am using a function to animate the text first, I was missing a step to actually add the html with the animation to the HTML itself
@static wigeon is it posable to get access to oauth beta?
Whoops
Alright, so I confirm the new values for the text are being added, but I do not know what I need to do to trigger the animation coming from the css
If you want to trigger animation from CSS you can create another class just will have just that animation
.fancyanimation{
animation:niceanimation 2s both;
}
and then toggle class by JS
$(selector).addClass('fancyanimation');
Curious if this is possible???? Looking to have a random text file read from a command in chat. Basically when you type in !(command) I want it to read a line from a text file that I have set up
There is an API you can use to post a random line from a pastebin: https://thefyrewire.com/docs/api/twitch/pastebin/#pastebin
Does it have to be from pastebin? I only ask because i have a notepad document already set up from a previous bot i was using and hoping to just make the transfer and have streamelements pull it instead
Hello, I am just wondering if it is possible to have something for a command where you can have Random facts in chat or Quotes under a single Command or would I need to create a New command for each Quote or Fact?
There is an API you can use to post a random line from a pastebin: https://thefyrewire.com/docs/api/twitch/pastebin/#pastebin
streamelemnts api?
It is a custom API.
Why streamelemnts need an API
@static wigeon don't want to bug but is it possible to talk about getting access to oauth?
@silk zinc StreamElements widgets don't have access to files located on your computer so pastebin is the best way to go. Also - bot works even if your stream/pc is off, so this command will still work if it consumes pastebin input.
Hi, does anyone know of any docs for triggering tip/donation-alerts? π
Hi! You can use emulator within overlay editor or you can emit an event via websocket connection
@viral patrol alright thanks! Is there any other documentation than the unfinished one at developers.streamelements.com? π
Check channel tittle and pinned posts here
There is way more than at developers.streamelements.com
@viral patrol sweet, thanks
also Thank you @sharp island for the response β€
It's what we do. π
is it possible to use fonts from dafont in the overlays?
You can use any font, but some of them have to be installed on your PC used for streaming. Just type font name in "Custom font" field and it should work
"client_secret" - that is JWT Token?
In most cases it is, but JWT token allows somebody who has it to do almost anything within your account, so keep it safe
Is customapi broken for anyone else right now? I don't think variables are being parsed within the customapi variable
Seems the same I was about to report that π
@viral patrol yeah sure π thx
I'm trying to integrate change points through my website (php) π
oh i will be grateful π
<?php
require('StreamElements.php');
if ($api = new StreamElements($userName, $jwtToken)) {
$res = $api->getInfo();
$api->points('username',5000);
}
i have Twitch-oAuth on my website, but SE-oAuth is harder
i think so 
Oh, this stuff has no oAuth (i coded it long time ago and I was not playing with PHP since that)
And this is composer.json file for that as it requires GuzzleHTTP library
but this stuff can access the account and change point values? (StreamElements.php)
It does.
Thanks π
It will make my life easier
I was using that for wheel of fortune sub alert to automatically dispatch points to winning users and it worked like a charm
I am working on something similar 
does the channel _id returned from "api.streamelements.com/kappa/v2/channels/me" ever change? π€
_id is a constant
@static wigeon Thank you! π
@viral patrol do you have an example command response to trigger a random line from a pastebin? (was reading and saw you mentioned it) IE. have a command be !quote and then the response be a random line (quote) from a pastebin
@mystic relic You can find one here - https://thefyrewire.com/docs/api/twitch/pastebin/
@viral patrol thank you so much, will read more now!
is there a way to add current follower/sub count to their respective alerts?
is there a way to make alert (alertbox) start instantly and continue running in the background when page loads, but only show up when alert is triggered?
what I'm trying is to match the looped video, so it would be seamless transition
just did a clean install of all my droivers and still have a propol
proplom
drivers
@little pine For the best OBS support, please join their Official Discord @ discord.gg/obsproject
Can anybody tell me why a .png would show up fine in the overlay editor and the launch page but not actually show up in obs?
this is in regards to a custom alert
Does anyone know how to Approve a Store Redeption via API?
I guess nobody has run into my problem
@thorn river have you tried opening the overlay link as a regular browser tab and checking the console for errors?
as in hitting the "Launch overlay" button from My overlays?
Yes, and open the link as a regular tab in your browser. Does the icon show?
yes
But it still doesn't show in OBS?
correct
Have you refreshed it? Is it cached or something maybe?
It started working yesterday after a lot of poking, then I went to set a new icon for the subscriber alert, and basically copy it for the follower alert
I've cleared the browser source cache
It's driving me batty
Close OBS, go to your OBS shortcut and right click on it. Go to Properties and add --remote-debugging-port=9000 to the end of the target path. It'll look something like "C:\Program Files\obs-studio\bin\64bit\obs64.exe" --remote-debugging-port=9000, then start OBS again.
done
Head to localhost:9000 in your browser. You should see a list of browser sources
I see it
Icon still not there? Click into your overlay and check the console/network tab for any errors
looks like I'm actually getting an "access denied" error from the image host
which makes slightly less sense
In that case your best bet would be to download the image separately and reupload it as an asset to SE or imgur or something and use that link
it's actually on imgur

and I though about having it uploaded to SE but I'm not sure how to call an uploaded image in the CSS
Add a regular image widget and select the uploaded image, then in the preview box on the left, right click on the image and copy the link address- that's the link to the uploaded asset, and you can reference that link in your code π

Awesome! 
Guess its not regarding the API in specific, But is the Stream Element alertbox working with websockets?
@hardy oar alertbox listens to same events that are dispatched via websockets
@thorn river imgur blocks external calls to their images to prevent abusing their service
@viral patrol That would make sense if it wasn't just working this morning
If it got cached somehow OBS will display it (with a response 206 Cached as HTTP response)
But after expire-after it tries to call imgur again and then it is broken
especially if referrer is not present
it did die when I cleared the cache to refresh to a new graphic
So I knew it had something to do with being cached, I just never imagined that IMGUR would block pulls like that
I noticed that every time you upload new image(gif) it has it's own playtime, and aren't in sync. (those are same file that i uploaded 2 times)
as you can see they are off sync
Gifs are in a constant loop, once added they don't "stop" and "start" again afaik.
but why are they in different constant loop timing
can i somehow make so both have same constant looping time?
i tried dragging both at the same time, didn't help
Can you DM me the video please? I will try to make it work, but can't promise anything as these are gifs and always and constantly looping in the bakground even when hidden afaik.
^ couldn't solve the problem. followup: https://discordapp.com/channels/141203863863558144/199460642975907840/601569748823834654
is this the right place where i could commission someone for some code work?
Can we get uploaded tip alert gif image link as a variable in custom css? just like {{name}}, {{currency}} and {{amount}}?
is there a way to make text go behind a transparent image for alerts? so the text appears as the image removes, sorry im new to all the css stuff
so i just add that to the custom css? or is there other stuff needed? im sorry for my stupidity
#text{
z-index:-1;
}```
if you are building your CSS, jsut add the z-index in your text class/id
and the same for the image
if you are manipulating the image via css
TIL: String.prototype.matchAll() doesn't work in OBS - it might help some of you in the future π
im trying to make a follower widget where it displays the recent followers but with a flip in effect rather than a scroll.
i have the flip code but cant find a simple follower layout (like the default one) to edit, the custom widegt is useless to me here.
anyone know where i can get the code for it?
anyone know if the Spotify widget will ever come back?
Β―_(γ)_/Β―
That's up to Spotify @pure crescent
this Spotify widget is still working, and it actually does exactly the same -- why can this guy still make it work tho?
Create chat commands and live updating now playing notifications for spotify for your Twitch streams! Simple tool. Can be used without downloading.
Because he's an independent third party and not a company like SE. Just pray that Spotify doesn't catch wind of him π
really? lol ok
Yo so i'm creating an overlay similar to shroud's one that you guys created but im wondering about the options available, so im sure mine wont be as complicated or even as good as your also mine has a simple idea but i wanna know can you loop the sub animation? if so, how
I can't find like a "loop" option
Shroud doesn't have alertbox, everything is written as Custom Widget(s). It is possible to create video tag with looped attribute within custom widget and it can stay there even if alert is complete
Aha yeah so i don't know much coding that's why i created a web.m animation and literally just placed that as a 2nd alert box that goes over the first normal sub alert
works so far but i want it to continue the animation instead of fade out per se till the next sub etc
Or do i have to recreate all the work using CSS in a custom widget for that idea to work?
Like i basically want the the loop to continue for said WebM video till another sub/donation arrives thus cutting the loop and starting another one for the new sub etc
hello, is it possible to get twitch username -> account id ?
@lament hamlet https://dev.twitch.tv/docs/api/reference/#get-users
And tbh if there's no way around it than to make actual css code in the custom widget, where can i pay/hire someone to do it? i've got the design and animatino already
Would appreciate any help
@inland swift Yes. Only custom widget can do that. Alertboxes fade out after they role is done (to display alert). Custom widget is persistent and can display "latest sub" for way longer.
Yes well can you point me towards maybe a cosing tutorial of how to do that or specifically where can i find someone to do it? Something like that haha or even just the parameters i should use .... π @viral patrol
Check pinned message you have here (take a look at video-input), then play with: https://github.com/StreamElements/widgets/tree/master/CustomLabels to display most recent sub and together you will be able to achieve lasting animation/username
So i've been watching Danucd recently and have noticed she's got something that her viewers can trigger with points they earn to play a sound on stream. only thing is i've never seen the command a user used to trigger that event? could someone help me with this or explain how its done?
They maybe use the stream store page to trigger the sound.
stream store found on streamelements?
Thank you π
possible to make a custom variable for the custom commands section?
Hello, are all recipients of a mass community gift sub drop exposed in the websocket events?
is it possible to create sub-goals counted down with pictures as a custom widget? for example, there are three apples and when someone subscribed the apple is being eaten with some sound effects and animation. then there will be 2 more apples left for other subscribers. and when it finishes it turns out to how many apples have been eaten in total
but i don't wan't the apples, it's just an example
can someone help me create this widget?
@lavish coral Hi! I think that this widget could be a great start for your purpose: https://github.com/StreamElements/widgets/tree/master/GoalsOverPeriod
There is already goal handling, so "just" animation and triggers are missing
Thank you so much
but how can I apply it to my streamelements overlay?
Create a custom widget and add the matching fields in the editor. Json goes into the fields tab.
is it just a simple copy paste?
yes.
thank you so much
Any reason when a goal is in condensed mode it doesnt show the progress bar color???
Hey guys - Quick question - Is it possible to have a Twitch chat command display a widget in my streamelements overlay?
@wooden widget It is possible, you can check that widget - it is displayed upon command: https://github.com/StreamElements/widgets/tree/master/QuickPoll
Thanks @viral patrol - Can you walk me through this? I'm a bit of a noob when it comes to github and this sort of thing.
So this widget creates a simple quiz/poll for viewers. Poll can be started by streamer/mod. And there comes something you wanted to get. Once command and privileges are met It changes opacity of that widget, so it becomes visible for specified duration.
Okay - so if I want to have it display a webm video instead of a poll, how would I go about doing that?
If you have a video in .main-container then you should do something like that (I just took piece of that widget above)
window.addEventListener('onEventReceived', function (obj) {
if (obj.detail.listener !== 'message') return;
let data = obj.detail.event.data;
let message = data['text'].toLowerCase();
let user = data['nick'];
let userstate = {
'mod': parseInt(data.tags.mod),
'sub': parseInt(data.tags.subscriber),
'vip': (data.tags.badges.indexOf("vip") !== -1),
'badges': {
'broadcaster': (user === userOptions['channelName']),
}
};
if (((userstate.mod && userOptions['managePermissions'] === 'mods') || userstate.badges.broadcaster) && message.startsWith(userOptions['startCommand'])) {
if (message.startsWith(userOptions['startCommand']) && !isActive) {
$(".main-container").fadeIn();
time = userOptions['pollTime'];
setTimeout(()=>{
$(".main-container").fadeOut();
},time*1000);
return;
}
}
});
Feel like I am going cross-eyed just looking at that haha.
hey i was talking to a obs support guy and they sent me to you
nope, they are looking into it
wym
do u know when it will be fixed
yo, i need an egg head. i have a custom widget for my counter, can i have it play a video file (that i have uploaded to the se cloud) every time i update it?
eg
!win
video overlay plays
score gets updated
anybody know if you can export api from the points leaderboard? https://api.streamelements.com/kappa/v2/points/Channel code/points?limit=xxxxx";
gimme good news glenne
Sorry got a problem of my own :/. Why dont it run on bulkGifted ? if (event.type === 'subscriber') {
if (!includeSubs) return;
if (event.name === event.sender && event.bulkGifted )
sad
yeah sorry. i would have helped if I knew the answer
@real dune egghead lol..... I have the video part. What is the score that needs up dated
π so my counter is already set up and working, using the custom widget and the bot counter widget, just need to know where to put the video code and how to link it with a file
Hey I am trying to get the
Events Rotator widget working but for tips it shows this
https://cdn.discordapp.com/attachments/259680142459142144/600051434775642124/unknown.png
Its saying Amount00 Instead of $100
if I put like 5 dollars as the amount tho it work
Anyone how how to fix this or @wooden pulsar
So what u are wanting is if you do example !win, the video played and updates the counter correct
I think you wrote amount instead of {amount}
As AFAIK there's template variable replacement for bracketed keywords
yes @broken coyote
try to add spaces maybe
video on top of counter as it updates
As nickname is replaced without problems
Nope still the same lx
I wanna say it only does it when 100 is the donation too
Because if I go into the data uptop and change it it works:?
@real dune how are you updating the counter now?
Oh. So I will leave it for @wooden pulsar π
He is the best person to answer that π
Yea @viral patrol if I change it from anything less than 100 it works
If he is out somehow, ping me tomorrow and I will take a look into code
Give me few minutes then
All I know for sure is it breaks when over 100 it seems
Ah ok. The widget I have will trigger on win as well. So it should do both at the same time
I found an issue, going to fix it in a moment @proven minnow
Oh sweet!
@proven minnow You can grab this widget once again and test it if it works for you
Do I need to just refresh it or go back to #widget-share and get it? @viral patrol
thanks buddy, will give it a try
You need to get it from #widget-share again
kk thanks!
LMK if that fixed this issue
ok
Basically I am replacing $100 with $ 100
Okay - So I have a new question:
I have been able, thanks to a friend helping with the code, to get a video to play on a user command. So step 1 complete.
Step 2 - and my question, how can I have the video cover the width of the screen? The video is a 1920x1080 video, and as it currently stands, is only taking up the small section in the middle of the screen while it is on screen.
@wooden widget did u adjust the browser source in obs to 1920x1080?
@broken coyote i have the code added to the widget, how to i link the video from the se cloud?
Should be able to just select the video you won't on the left and add the command for it there.. just remember. It doesn't require a ! It will automatically add it
*you want
If it's already in your cloud. It should be there
i forgot to put the "fields" in π€¦
now that its set, the video wont show, and the text of the score wont come up
ok text is showing, but i have to have the widget super huge, any way to reposition the text?
@viral patrol - Another issue I noticed with that widget was it resetting on message events when "reset on events" is enabled (I totally forgot what this is called in the fields, I'm at work atm, so I don't have it in front of me). I've edited the code myself locally, but IDK if that was designed that way or not. Figured I'd mention it since I didn't see it anywhere hear in my search.
also @real dune - hi :p
@broken coyote yeah, I did - still didn't display across the bottom of the screen
Text?
actually dont worry about the text, can we adjust the placement of the video?
so it can be at the top, not at the bottom
im not gonna lie. im confused. u avalible to get in a voice channel?
yes sure
where can i find people who can create customized widgets?
@proven minnow @viral patrol Hello guys, i've just noticed the chat about my widget.
Did you managed to solve it?
@viral patrol If you find a fix i'm intrested to know
& Thx for your help π
@wooden pulsar in regex if you try to replace with $1 it replaces with it with block 1 from search pattern. So this is why it replaced with amount00 instead of $100. I just added space after dollar sign π
Oh yeah π Thanks
anyone interested in taking a commission for some code work?
Not API related, but have anyone been able to get plain text from a browser source and add scrolling text to it?
how do I match a community gift in onEventReceived ? I tried this
if (event.type === 'subscriber') {
if (!includeSubs) return;
if (event.name === event.sender && event.bulkGifted === true) { ... }
but it doesn't match somehow. event being: event = obj.detail.event;
the initial gift thing that is
@quartz gull
.bulkGifted - if it is INITIAL event of community gift (${event.sender} gifted ${event.amount} subs to community)
.isCommunityGift - if it is one of community gifts train (${event.sender} gifted ${event.name} a sub as part of random giveaway!)
There is an example code covering what you are looking for here: https://github.com/StreamElements/widgets/blob/master/CustomCode.md (on the very bottom)
Hey @viral patrol I got another question about that widget I needed help with last time
There is a data choice for Gifted Latest and I thought it showed who gifted a sub most recently but it is showing who got a sub most recently is there a way to show it the 1st way
@proven minnow Find this part:
'subscriber-gifted-latest' : ['amount', 'name', 'message'],
Replace with:
'subscriber-gifted-latest' : ['amount', 'name', 'message', 'sender'],
And then you should be able to use {{ sender }}
LMK if that worked
Kinda
It is showing he gifted 5 subs instead of the most recent of 1
@viral patrol
The amount there is something else than gifted amount
I have {{ sender }} x{{amount}} Sub(s)
Basically it is who was gifted most recently. It is like {{name}} got gifted by {{sender}} and it was his {{amount}} month of sub
Unfortunately it is not possible there
mk
@viral patrol There was another widget that was able to show it like that
Could I use this code from it to make it work?
For some purposes - it could work, but it might not display proper data after widget reload
What would I replace with that to try @viral patrol
There is way more than replacing or just adding that (as there are other listeners that are working in the same time) and can overwrite this data.
I'd like to set up a command that returns one specific users points. We want to get the user to 200k points so when we type !200k we would like it to return "@specificuser has 150,000 of 200k points". I do not want to have to have the users name after the chat command. I've tried changing $(user.points) to $(specificusername.points) but it just returns that in plain text.
Huh The only way I could think of is writing !200k specificuser I think we have nothing that will be able to use plain text username as user object.
(and this math for substraction - as I wrote before is hard because external resource writes everything above 100000 in exponential notation)
What if you maybe expressed it as a percentage?
$(user) has ${user.points} (${customapi.http://api.mathjs.org/v4/?expr=${user.points}%2F2000&precision=0}% of 200k) points!
@civic stream Maybe this response could be good for you? Remember that if you want to check specific user, you need to provide his username after !200k command

@viral patrol ooh, thanks for that, I'll give it a go!
Thank you, works well!
can you get it to return the user of the command's points if no user is specified in the command?
@civic stream here, this lets you fetch a single specific user's points, so you can have the command exactly as you described. The percentage is still cool though, so combined with lx's answer:
USERNAME has $(customapi.https://api.thefyrewire.com/streamelements/points/user/USERNAME?format=string) of 200k points (${customapi.http://api.mathjs.org/v4/?expr=$(customapi.https://api.thefyrewire.com/streamelements/points/user/USERNAME)%2F2000&precision=0}% of 200k) points!
Replace all the USERNAMEs with the specific user's name (there are three)
NB: Points are cached for ~10 minutes
I knew that!

@mild cipher Wow! Thank you! I'll try to get this going asap. You're the best.
How do I put custom CSS or whatever into overlays? Like I wanna make the stream goal look more snazzy, how can I do that? ; n ;
i found one that i kinda like and i figured out how to do it, ignore me xD
Okay so I am using the custom rotating widget by @wooden pulsar and when I launch it now it shows nothing?
I cant seem to fix it @viral patrol or @mild cipher
I think importing my donations from stream labs broke it
Now even it I get a fresh version it doesn't work
It will show like one slide then crash
and not keep going or start again
@proven minnow Hey, can you send us a message of the error ?
Open the url in a browser press F12 (in chrome) to open developer toolbar. And go to the console tab.
If it crash you myst have a message in red
Just curious if there's a limit to how many object pairs we could/should store out on the KVstore π€
What did you try doing to parse it? π
Gotcha gotcha. To only return plain text you need to set the Content-Type to text/plain which is only possible server side, so you'll need something like PHP to do that. If you have somewhere you can host that script then you're good to go! You just need to do a CURL to the JSON, decode and echo back the key you're interested in. Don't forget to set the Content-Type header, and you might also need Access-Control-Allow-Origin: *
Here :)
<?php
// set the headers
header('Access-Control-Allow-Origin: *');
header('Content-Type: text/plain');
// access the endpoint
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,'http://ip.jsontest.com/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec($ch);
curl_close($ch);
// parse the json
$data = json_decode($server_output, true);
// access the ip key and echo back as plain text
echo $data['ip'];
?>
Save this as a PHP file and upload to your server then access it. It should return your IP address as a plain text.
Yup!
hello guys, the streamelements support twitter directed me to this discord and channel and suggested i ask here for help. i am a mod for a streamer and we used streamlabs chatbot before but switched to SEchatbot today. we used to have a top10 command to show the top 10 of users with the most currency points and our chat users love this command. but while i was setting the bot up i didnt find anything to change the preset number of 5 to a higher one. so is there a way to set up a custom command like that?
and also is there a way to manually edit the viewtime of the chatters? for some reason importing from streamlabs chatbot went wrong and it looks like the hours were turned into minutes while importing. so users with over 600 hours watchtime are now down to only 10hrs. π thanks in advance!
Hello, I have a question that if there is any tutorial or document to read about how to creating a custom widget for Facebook?
@outer aspen Hi. You can find a lot of useful information about widget development here: https://github.com/StreamElements/widgets/blob/master/CustomCode.md
@crude hill Unfortunately there is no way to create such a command directly in a system, you can however create your own endpoint using our REST api and server side programming/scripting https://docs.streamelements.com/reference/points.
And about import - you can either use endpoint above or get CSV from SL, convert it in Excel (from hours to minutes) and then import it via csv import
@viral patrol Thank you. However, as I read it, the "Possible keys within data" section is Twitch specific, so is there a way to know the field for Facebook? Like latest Star amount and sender?
I will update it soon, but for now I know fan-latest, share-latest, star-latest, supporter-latest
And their inner structure is like for twitch
Thank you so much! By the way, how do you usually debug a custom widget? Can I use Console.log() or alert()?
Inner structure is the same for all. And you can use console.log just fine.
So worst case scenario, just log the entire session object and youβll see what youβve got
Hey is there a way to make the text dynamic so it doesn't go off the end of an image? I asked in ##helpdesk-selive and was pointed your way Thanks
@sharp island thank you!
np!
Anyone know how to flip/mirror a video file in css???
#video
{
transform: rotateY(180deg);
-webkit-transform:rotateY(180deg);
}
@silk zinc
Does anyone one why whenever I change applications on the screen Iβm recording/ streaming on it goes black I have it on display capture
Hi, can anyone tell me if it's possible to use the access token I generate through oauth to connect to the websocket? When ever I try and use it I get the following response {"status":1,"message":"Failed to authenticate"} ? Am I missing a required scope?
socket.emit('authenticate', { method: 'oauth2', token: accessToken });```
instead of JWT token
@viscid jay
Anyone got the API for !top online but that it deletes the Bots
Thanks @indigo flume
$(customapi.https://api.thefyrewire.com/twitch/pastebin/pn2k7xff?filter=$(1)&args=$(queryencode $(game $(1)))&target=$(1)) Am I wrong in saying that this will fine the line that the user belongs to - so say KeiZar hosts me and is on line 7, if I were to do !so Keizar it would shoutout whatever is on line 7 for KeiZar? Kinda like personal shoutout message for each user
@shell tree Well, that is the example from the docs
so no, you're not wrong
Ye I know its an example but am trying to learn to make my own wanted to make sure i understood it correctly cus i am 
Heh, np. Let me know if you need anything 
so i have a custom widget its a football moving towards a goal and when someone follows it should reset but it isnt
So I've been looking at the streamelements api to see if I could access a user's special loyalty currency. The points/channel/user endpoint seems to be a different kind of points though. Am I missing another endpoint I could be hitting?
im trying to make a follower widget where it displays the recent followers but with a flip in effect rather than a scroll.
i have the flip code but cant find a simple follower widget (like the default one) to edit, the custom widget is useless to me here.
anyone know where i can get the code for it?
Are you looking for latest follower widget @real dune ?
You can take a look at this widget, it might be helpful in that case: https://github.com/StreamElements/widgets/tree/master/CustomLabels
I was advised by @undone dove to reach out on the discord here.
I created this video using Adobe After Effects:
https://twitter.com/HueGramTwitch/status/1156175232983396353?s=20
I was thinking of possibly using StreamElements to "overlap" the Twitch Viewer name (or remove it)/ with the username that subscribed.
I would have to use a custom font as well as a "typewriter" effect.
Is this possible?
So I made this Pokemon scene from scratch in After Effects for when anyone subscribes, and Iβm really happy with the results!
Twitch is such an amazing platform that gets my creative juices flowing!
Let me know what you think π https://t.co/ypPdNCdGWI
220
@viral patrol this one helps a lot more, but i cant change it to recent followers (without it not working) and select how many to display
If you want more than one then use custom event list and enable followers only
how do i remove all the boards and other text so i only have the names and display them 1 at a time?
Ok so there are a ton of really smart people in here. I believe this is not possible yet but would be cool.
is it possible to have streamelements post to twitter and change the post based on the game being played.
for example If i play a certain game i want include the developers in my post as well as a game specific tag? This would be amazing if it can be done.
Hey guys new to using stream elements, can someone give me a hand? Im trying to use a custom text in my alerts etc. when I enable custom font family and type in the font from my computer that I want it doesnt use the font.. any idea?
#dev-chat π
I'm not sure if this is obvious or not, but is there a way to make alerts visible when they are inactive? I am having a difficult time trying to get the size and layout of my alerts correct when I have to emulate the alert every time I make a change.
Copying since I was told to ask here but I'm trying use the random variable to make a command that picks a random number between 1 and whatever is provided with the command (ex. 1-10) but it seems to always pick from 1-100
I should also specify that I want a user provided upper limit by using ${random.1-{1}}
@pastel onyx Try this customapi: $(customapi.http://2g.be/twitch/randomnumber.php?start=1&end=$(1))
Exactly what I was after, many thanks
I am trying to figure out the api call to list users in a channel at https://docs.streamelements.com/reference/users#get-users-in-channel
What values are accepted in the "type" field
I only ever seem to get the Channel host back as the only user in the list
When you say 'users in a channel' do you mean users in twitch chat?
Yes
I'm fairly sure that endpoint is to see which users your streamelements account has access to (i.e. bot supervisors, editors, full control)
Ohhhhhhh shoot okay thank you
is there a way to get the default recent followers code so i can add a flip in effect rather than the scroll?
@real dune something like this? https://streamable.com/qykw6
I'll clean it up tomorrow and turn it into a proper widget! 
thanks buddy, if i could be a little bit picky, could the flip be a bit slower xx
Haha when I say proper widget, I mean with all the custom field options, so yes, you can adjust it however you like π
i'm having an issue where browser sources with obs.live are not rendering correctly.
https://cdn.discordapp.com/attachments/221375266373632001/606598497176911902/unknown.png this is intended behaviour as it renders on firefox, chrome, and stock obs
https://cdn.discordapp.com/attachments/221375266373632001/606587804704702673/unknown.png this is how obs.live renders it
https://cdn.discordapp.com/attachments/338494861797752836/606589028640358403/unknown.png here's a cheer event with an image lower and that still renders
it looks to me like after the first line of text, the obs.live browser source is not acknowledging my css. i'm using css on the stock alertbox in order to have a gradient on my text by clipping the background to the text and setting text to be invisible.
relevant snippet of css:
background: linear-gradient(to bottom, #82B2DE 0%, #258DCF 100%);
-webkit-background-clip: text;
-moz-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
-moz-text-fill-color: transparent;
text-fill-color: transparent;
is there an issue with my css or is the issue on the browser source?
Still looking for a hand . Can anybody help me use a font from my computer as a custom font family?
If I put in a font I want into the custom font family spot; in my case I want Industry. I type Industry.ttf and it will change the font but it will change it to Arial... probably a quick fix i havent figured out yet hopefully someone here has an idea
you can only use stuff from https://fonts.google.com
Theres no way to embed it into the code?
if you have the font installed on your system, you can set in the css the font-family
i have in my css font-family: "Gotham Medium"; and when i import the overlay to obs it loads Gotham Medium
not that i know of.. maybe https://localhost/<path>
the obs browser source will find the local installed font
in your case, just do Industry
In my OBS CSS should i put it in there so it would override it?
i have it set in my streamelements widget css and it works fine
hey hey, Iβve designed some custom animations for alerts, but not sure how I add/what to do to get followers/subs/bits variables to be part of the animation.
still having problems trying to override my fonts inside of OBS throught custom css if anybody can help with some lines of code:)
Hi, i was got speaking with keizar20 on Reddit, they said to come to this channel to get assistance with custom eventlists, Chatbox and alert box animation, can someone help me to get unique animations for each of these elements and of course the work is paid. Thank you π
The Custom Font Family can use any font, but it must be installed in the OS
hey guys. On custom css with the alert box. Is there are some way to get the sub tier, months, prime true/false or gifted information in the js code? {{amount}} seems to get me the month or?
??
!??
Good morning, how can I change the design of the goal? I'm trying to change the design of the tip/donation goal, I found a nice one but it's not working 
The thing is, I do like my tip goal condensed but I don't like how far I have to drag it out to have the text not clutter
This is how it is right now
But I'd like it to be more like this
Without all that empty space
@pulsar willow You can overwrite the CSS of the goal from within OBS π
- In the overlay editor, squash the goal down to the desired size.
- In OBS, add this CSS:
.goal-wrap .goal-current {
position: relative;
left: 0;
top: 0;
transform: none;
}
The middle part should be centred relative to the other elements now.
@mild cipher thanks! that one works
changing the color did not 
@pulsar willow this should give you a color :)
.goal-wrap .goal-current {
position: relative;
left: 0;
top: 0;
transform: none;
color: #F56342 !important;
}
I didn't put color in front on it

Can anyone tell me if it's possible to use the access token I generate through oauth to connect to the api? I've tried an Authorization header of both Bearer AccessToken and oauth2 AccessToken. Can you also clarify if the channel identifier returned when I connect to a socket is the channel identifier I can use in a put request to https://api.streamelements.com/kappa/v2/points/channel/user/amount
try Authorization: OAuth <access token>
And yes, you get the channel ID back in the authenticated event
Hi guys, Im currently coding my own tip goal bar using the custom widget in streamelements. Can you guys help me because I cant make my progress bar with chnage while I have a new donation ?
My problem is like my progression bar is not filling up regarding the amount of money I received. And also I have an image that supposed to move along the progression bar but I can not retrive it from my Library image...
@minor quest Have you checked this documentation? https://github.com/StreamElements/widgets/blob/master/CustomCode.md
It might help you on tracking the tip event.
Also in the documentation you can find how to use the Fields tab - this will give you access to custom fields - one of them being the image chooser from the gallery.
On the goal widgets in #widget-share has it in the custom fields, so I suggest to check out the code of the widget.
Hi @indigo flume I spent hours reading it and I was able to get my image appearing, but I still dont understand the "data["....."]" thing and how to use them. If you want I can send you my JS code. May be you will see whats worng
sure i guess
Is it possible for the chatbot to display a command result from a text file? For example if i wanted a deaths command could the bot respond with the results from a text file that i can edit using hotkeys?
@mild cipher hi! I would like to remove the amount/percentage after all, can you give me the code for that? 
@pulsar willow as in so you only have the text on either two ends and no text in the middle?
.goal-wrap .goal-current {
display: none !important;
}
is it possible to change the username alert color "randomly" from a list of selected colors? for example 2 people subscribe and the name of the first one appears on light blue and the name of the second one appears on dark red. (From the same alert) on css/html
there is
function randomColor(){
rc = "#";
for(i=0;i<6;i++){
rc += Math.floor(Math.random()*16).toString(16);
}
return rc;
}
$("#ENTERTAGHERE").css("color",randomColor);
@junior marsh
@broken coyote ty ill try
Thank you @finite heath and @mild cipher
Wrong channel about this.
Oh sorry
is it ok to embed the tip page? or do you not allow it
@hot stump replying to your question from the helpdesk- if you're writing it for your own channel and you are able to keep secrets secure, then you can use your JWT token with this - https://docs.streamelements.com/reference/single-user#pointsamountbychannelanduserput
Otherwise if you're writing it for general purpose use, oauth2 is currently in beta
Is there any way to export a stream events session into a txt or CSV file, or alternatively speak to a dev form StreamElements who has access to the back end of things to do this?
My stream was attacked by a malicious follow bot and I need a rather large chunk of data exported.
@mild cipher thank you! is it possible to use this with PHP ?
I am trying it with jscript instead, but where do I put my JWT token in there ?
urgh idk why I am struggling with this, are there any example projects to look at ?
@hot stump Check this one for PHP points: https://discordapp.com/channels/141203863863558144/259680142459142144/600784602260439073
.event-follower {
mask-image: url('https://i.imgur.com/2tV0WQC.png');
-webkit-mask-image: url('https://i.imgur.com/2tV0WQC.png');
}```
@thick basin ‴
But this doesn't fix the fact that the other images are removed from imgur
You were just missing 1 ' from one of the links
so now, right click the browser source -> properties -> clear cache on the bottom of the properties window
Hmm or just go SVG image files?
If I use the old link the icon will be displayed in OBS.
UPDATE: Problem solved. It's on the side imgur.com
Your other pictures page is fine. Thanks for the help again;)
Im here yet again with an impossible tasks haha, idek if the API of Warframe is open, but It would be cool to show which loadout and mods you are wearing on your warframe π€
for the sessions part on the api, is https://api.streamelements.com/kappa/v2/sessions/channel=mizticnzl correct for the url?
i'm getting 403 if it is
@knotty thorn it's .../sessions/channel_id as in the alphanumeric streamelements channel ID
oh right, thanks π
Hello again. Sorry if I ask something again.
I wanted to switch to streaming elements for months now. Problem but are my alerts.
I have self-made alerts. For example, if you need a hosting alert, the viewer and host name are separated. See image. I have to be able to move the text.
At Tippeeestream this is possible.
For stream elements, I think so synonymous but only about CSS.
And I know only little about CSS.
Is there perhaps an update to this alert box from the stream elements? That one has more possibilities there? I have asked the question a few months ago. π
whats is that your editing in?
Alertcreator (Alert Box v2) from Tipeeestream
Hey, i'm using the ${customapi} variable, but for some reason it returns a "400 bad request" message, even though my API is returning a 504 error.
I was trying to return a plaintext error message instead of JSON for that endpoint, so that the chat command looks cleaner, but it looks like SE returns a basic message instead, is there a way around that?
Is your API timing out and not able to return anything in time? Could you catch that and return a proper error message before it times out on SE's side?
The API is down completely. It's just that for the endpoints used in Twitch commands, i'd like it to return a plaintext message to show in the command, since "400 bad request" is misleading (wrong error code), and doesn't explain anything
Here's an example: https://api.themadgamers.co.uk/bestla/spotify/playing
sorry i should probably explain what I meant, it uses AWS API Gateway as a proxy, so when the actual API is down, it returns messages like that
Right, but that's still the server responding no? It's echo-ing back 'Failed to respond' with a plain/text content-type, which is what appears in chat. If the entire endpoint/server is completely unreachable then yes, SE will complain
Ah, hm π€ I guess maybe if someone higher up sees this maybe they could do something about it. How about your own proxy? 
A proxy through a proxy, I like the thinking 
Oh hey, you're the guy who was trying to get the socket working in C#, any luck with that?
Oh yeah! Unfortunately not, none of the libraries ever ended up working with SE unfortunately
I was running into issues too. I think sockets in C# just work differently all together, they seem more... primitive 
damn, sorry to hear you're having the same problem. Yeah that's the same vibe I got from it too π
@dry plover your API is returning a 400 for me, too 
can you give me the exact command you used in the SE bot, maybe I can figure out whats wrong
how often are we allowed to make api calls? is updating every 30 seconds ok?
It depends on how many calls you do per minute. Global cooldown is 1000 requests per minute (but it is dynamic and can change due to high load)
ok sweet
Is this list of events up to date https://developers.streamelements.com/websockets
because the event 'event:test' is not in the list?
just wondering, why isn't there a separate jwt token just for the websocket? doesn't sound secure if i'm using my jwt/api key
Is there a way to do a shoutout command that I can tab autocomplete? I'd like to link to their profile with twitch.tv/${1} so I can't accept the @ before the name... Just wondering if there's some variable magic I don't know about to strip the @ before their name or do I just have to copy/paste or type and pray I got it right?
@knotty thorn One other way is via oauth
, but not there isn't a separate JWT token for the websocket connection and yes its not very secure if the JWT leaks. Take of it.
@reef granite tab completion is provided by BTTV/FFZ as long as the person has talked at least 1 time.
oh ok - thanks
i'm getting \event\ error with https://api.streamelements.com/kappa/v2/channels/channel/socket - what am i doing wrong
Hello everyone π Anyone know how can I setup a auction system?
can we emit our own events with the websocket to our widgets?
I am having a huge problem
whenever I use ${user.lastmessage} in the API to transfer the content of the message to my PHP script with $_GET, in this case:
!requestban twitchname
it doesn't transfer over exactly what I have typed, but what the person in twitchname has typed last
any way to fix that?
So you're wanting to pass twitchname to your script?
I am trying to pass over the entire command I have typed !requestban twitchname
but for some reason it transfers over what that person I am typing in twitchname has said last
if they have not said anything, it does what it's supposed to
I'm a bit confused as to why you need to pass the command itself too, but could you reference that in your customapi link (action=requestban) for that specific command (!requestban) and then pass the rest of the message with $(1:)?
that's a really good idea, thank you for making me aware of it, solved the issue β€
@broken coyote teach me how to setup a api senpai-boost-chan
psh. iunno nun dat dare stuffs
f u k
wth is senpai
?????? do you not internet
ive swapped all of the streamers i work for over to SE now but theres still scripts i used on SL that i want to use but are not capable of, custom games and such, but afaik if i learn to setup an api to do it then its possible
im sure i could learn just gotta put the time into it now
i do widget stuffs. api isnt my thing
ahh so you arnt a real man 
you are correct
for the socket part on the api (under channel) - what is the correct way of accessing it? eg https://api.streamelements.com/kappa/v2/channels/channel/socket ive put in my channel id from SE, but i'm getting an error that 'event' and 'data' are missing
@knotty thorn for more details about connecting to the SE socket, check the pinned messages in this channel and see if they help
Hey so I was wondering, would it be possible to: When someone follows their text would be typed out letter by letter until the whole thing is typed out? I'm trying to make it similar to how old YouTube 2009 tutorials with notepad typed it out etc etc.
https://i.gyazo.com/b2ad032eb8eb2a8acc89ed6c335c300f.mp4 SOmething like this
Okay figured it out by myself, but how would I make it so the text is the followers username?
the name is saved in this variable: {{name}}
Alright ill message if I need any more help π
Also take a look at the documentation: https://github.com/StreamElements/widgets/blob/master/CustomCode.md
Wow okay many thanks, this will come in handy
Okay so I managed to make the typing animation I want. But how would I go about to adding the persons name aswell as reseting when someone new follows etc. and dissapear after 8 seconds.
In the default alertbox is an example when you activate the custom css option in the follower alert in the alertbox.
wait would I be able to move this custom widget into the alert box? I was originally going to place it over. Sorry new to this whole thing so i'm just trying to learn :,D
I am trying to find a solution for this myself atm. But I haven't found a solution yet.
Hm..
Ill mess around with it.
I'll let you know, i only know limited amount of coding so all of this is basicly new to me.
all of this for a dumb joke.
in which area is the "grab username thingy" located in? HTML, CSS or JS?
found it
Okay I have no idea, this is the animation I made though:
animation: type 3s steps(23);
overflow:hidden;
white-space:nowrap;
font-family:consolas;
border-right:4px solid black;
width:23ch;
}
@keyframes type {
0% {
width:0ch;
}
100% {
width:23ch;
}
}```
im just trying to add my own animation, so like instead of a fade in (as an example) i would want that.
Is this in the alertbox? Then you would need to set the default animations to none.
I don't know where to add it into the alert box though, thats what im confused about. I made that in a custom widgets thing with a different HTML. This is what is in my custom widget HTML bos <h1>{{name}} just followed!</h1>
so im just now trying to somehow intergrate it into a alert box without it breaking but my lack of knowledge isnt helping π
This is what it looks like btw.
What I got so far to get the follower name:
HTML:
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,700" rel="stylesheet">
<div class="main-container"></div>
JS:
window.addEventListener('onEventReceived', function (obj) {
if (!obj.detail.event) {
return;
}
const listener = obj.detail.listener.split("-")[0];
const event = obj.detail.event;
if (listener === 'follower') {
displayEvent(event.name);
}
});
window.addEventListener('onWidgetLoad', function (obj) {
let recents = obj.detail.recents;
recents.sort(function (a, b) {
return Date.parse(a.createdAt) - Date.parse(b.createdAt);
});
let found = false;
eventIndex = 0;
while (found == false) {
const event = recents[eventIndex];
eventIndex = eventIndex+1;
if (event.type === 'follower') {
displayEvent(event.name);
found = true;
}
}
});
function displayEvent(username) {
let maincontainer = document.querySelector('.main-container');
let element = `
<div class="event-container">
<div class="details-container">${username}</div>
</div>`;
maincontainer.innerHTML = element;
}
π okay right, so all of that is just to get the recent follower correct?
This is to get the recent and when a Follower Event Happens, to change the Name.
Okay gotcha, so how would I implement this into CSS? Like for example just roughly speaking so something like: "{{name}} followed" and {{name}} would be their name? Sorry about bothering you, just genuinely confused.
*if you implement it into css
Because like I said: All I would want to create is when someone follows it would type out their name followed by "thank you for following". I already have the animation but trying to combine everything is a big ???? to me.
Hey guys! New to the service & discord, but Iβm loving the development system and in-editor api for event data. Iβve got 3 quick questions. 1.) how does one go about logging into the console? Nothing I log seems to appear in chromes logs aside from whatever the actual site is logging. 2.) is there any way to use your own IDE(like atom) and have it instantly update on the editor, or do you have to use the web based IDE? 3.) is there any way to create arguments inside of the CSS with the variable system? Or does this have to be done via JS?
-
console.log should work fine. warn, error, etc don't work
-
@viral patrol put together custom widget dev package that simulates a local version of the overlay editor, not sure if I have his permission to put it here so I'll leave that up to him to DM you/upload it himself
-
you can access the custom field variables in the CSS with
{{variable}}
Oh wait, he uploaded it into a public channel before lol. In that case:
(Sorry for the ping mr lx)
Okay how would I assign a tag to the name? from the JS
@mild cipher awesome, thanks! Yeah, I wasnβt sure as to why console.log wouldnβt work for me, I assumed it was because it was rendering everything as an iframe but then I saw other users logging things without any issue. Odd. As for the variables, what I meant is that I wanted to do something along the lines of inline arguments like your typical (x) ? X : X kind of thing inside of those brackets, but Iβm assuming that SE just bakes the variables as plain text into the compiled code during run time. Also thanks for those tools!
I don't think CSS supports ternaries like that? I could be wrong, I've never tried. SCSS does in some form, but I'm not sure if custom widgets support it. Best bet is to use your intended ternary in when the widget loads in the JS
And np! Welcome to the server by the way
hope you have fun creating!
@shy owl which tag are you referring to?
Okay well, I'm quite new to all of this. But I wanted to create is when someone follows it would type out their name followed by "thank you for following". I already have the animation made withint CSS but I have no idea how to connect everything together, someone already gave me the JS code to get the name and some of the HTML but other than that I'm stuck.
@shy owl you can create the text element through the JS when an event happens, and pass in the name, then add it to the body. Here's an example function I put together: https://jsfiddle.net/thefyrewire/wcd0qhz5/
I modified the animation slightly so that the cursor always goes to the end of the text depending on the length of the message
Test your JavaScript, CSS, HTML or CoffeeScript online with JSFiddle code editor.
Okay! Thanks for that! How would I add the persons name into this exactly? This is really good though and super thankful π
Or is this just like an animation thing? Similar to like "wobble" for example?
window.addEventListener('onEventReceived', function (obj) {
if (!obj.detail.event) {
return;
}
const listener = obj.detail.listener.split("-")[0];
const event = obj.detail.event;
if (listener === 'follower') {
type(event.name + ' just followed!');
}
});
const type = (words) => {
const heading = document.createElement('h1');
heading.textContent = words;
heading.style.setProperty('--length', `${words.length}ch`);
heading.style.width = `${words.length}ch`;
heading.style.animation = `type 3s steps(${words.length})`;
document.body.appendChild(heading);
setTimeout(() => {
heading.remove();
}, 6e3);
}
and the same CSS as in the JSFiddle of thefyrewire
Please don't post in multiple channels. Thank you @cobalt locust
AHHH THANK YOU <3
Took me a while to figure it out, I'm deffo going to learn some CSS/JS in the future
@rugged rapids and @mild cipher you both are godsends β€

Sorry to repeat the question but I don't think it got any answers and it would be pretty cool to know, can we emit our own custom events with the websocket to our widgets?
socket.emit("myOwnCustomEvent", { custom: "data" }); // server
...
window.addEventListener('onEventReceived', obj => { // client
if (obj.detail.event.type === "myOwnCustomEvent") { ... }
})
Don't think that's how it would be implemented but it gets the idea, it would be pretty cool to make widgets that can recieve events from anywhere else other than Twitch events :)
@mild cipher Quick question, how would I delay it before it cuts off? So it shows on there longer.
@shy owl You would want to change the timeout near the bottom. Right now it removes it after 6 seconds, (keep in mind it takes 3 seconds for the animation to finish, so 3 seconds of visibility I guess). That's just an example for removing it though, you can animate it out some other way if you want and extend the delay.
I also recommend look into the SE_API queue functions, there should be details of it in the link Benno posted. That will allow you to queue followed animations (in case two people follow at about the same time), so that one plays after the other
@leaden fjord I don't know if you're able to emit on custom listeners like that, but I know you can emit custom payloads on event:test. Pretty sure you can't emit on the regular event listener
Alright thanks! :)
@mild cipher fair, do I recieve the payload on the same 'onEventReceived' listener on my widgets or is there a test listener?
@mild cipher ping for ping π I am glad that my SE Emulator is in use. That is great π
Ah speaking of lol. @leaden fjord try downloading the SETest.zip file above. It is able to emulate socket events and push them to widgets I think, so you can probably put together something there if you dig around in the websocket.js file
I'll give that a look, thank you 
Hey. How i can request a song? Actually i have node-streamelements and my class:
createSongRequest(song, channel = this.accountId) {
return this.makeRequest(HTTP.POST, songrequest/${channel}/queue, { song });
}
so if i want add i have answer - Bad Request
myInstance.createSongRequest("https://www.youtube.com/watch?v=xxxx")
.catch((error) => {
console.log(error);
});
Why it's not working? π¦
Running into an issue with the hypecup. Not sure if here or a help channel would be better but it's crashing any time I try and play a host event. I get a a this._frameData is null error on the console pointing at a phaser.js
noticed it on a stream the other day when I got raided (and was followed by a host), the hype cup just freezes and doesn't do anything anymore.
Also tried multiple cups and switching between the 2 physics versions
doesn't seem to happen on any other events. just hosts.. so I'll just leave those off for now. Thought someone might want to know about it, though.
Does anyone here have basic knowledge of the coding in SE? if so I have a VERY simple request, if I use a regular widget, Lets say latest follower, and I want the text scrolling, but instead of dissapearing like it runs into an edge I want the dissapearing to be in a degree, Example I have a sidescrolling text and it cuts off like this at the end : |
I want the text to cut off like this : /
@opaque sage Like this? https://streamable.com/cl7va
@mild cipher yes like that and pref on the other side as well
how do I make that work?
so more like this?
@mild cipher exactly, Im guessing its not super hard to tweek the angle at which they are either?
@opaque sage nope!
Select the browser source in your OBS and open its properties.
Add this to the custom CSS box (if the default CSS stuff is there you can replace it).
se-widget-follower-recent .marquee-text {
clip-path: polygon(10% 0%, 100% 0%, 90% 100%, 0% 100%);
}
Essentially the CSS selector is specifically targeting the recent followers widget and adding a clip-path to it. The parts you'll want to adjust are the 10% and the 90%. So those path points are both 10% away from the edge. i.e. you can make it steeper by going 5 and 95, or gentler with 20 and 80.
@mild cipher but I have my whole ocerlay in one source from SE
You should be able to apply it to the whole browser source (it should only target the widget)
Is there a way to add a list of moderators or VIP users to the credit roll by grot widget? My moderators and VIPs are listed in the user management section.
You can just add a array with the names there and add this to the credit roll.
Hi guys.. I'm trying to move to streamelements for an trial period.. but i'm having trouble inserting custom html/css/js widgets into the overlay maker
I have custom chatbox and event list.. and I can't see how I can copy them over
hey guys, is there a way to make a chat command that makes a http request and returns the response? I have my own servers for a few things....
@vocal halo Hi! Create custom widget from widgets menu, then you can paste code there.
@cerulean dome Try ${customapi.https://yourHost/yourScript}to get data.
Bot will reply with message from your endpoint
If I have a custom widget on the same overlay as a kappagen widget , can I trigger a kappagen emoteplosion without the event actually happening?
This is actually a good question. I think it could be possible because there is kappagen action on StreamDeck, but I don't know what call does it make
Interesting
@viral patrol the custom widget only worked with stantardt configuration, if i changed anything it would stay blank.. :s
And it only worked as a event list and nothing else..
Did you guys remove the ability to integrate Spotify w/ SE?
hey so what do we have to do for customizing the look of the goals widget
@vocal halo you need proper syntax, check code examples here: https://github.com/StreamElements/widgets and on widget share channel. There is also a goal widget which can be played with CSS @pulsar willow
Still can't make it look and functions as originally on streamlabs..
I'm completly ignorant on how codes work, but it confuses me why the same lines work in one place, and no in the other, when they using the same "language" (html, css and js)
Different APIs, different services wonβt handle their data the exact same way regardless of using the same tools to build it
@vocal halo what kind of widget is it?
Hey. I have 2x videos (webm). One is playing as loop. The other should be played if one is following BUT then the first video should hide for about 6 seconds.
Is this possible?
@broken coyote chatbox
It should show like this
But I can't figure out how to get the user color to fill the user box
yea you will have to change alot of the functions over in order for it to work if it is from SL
I managed to put the box on
But just with regular color picker
Not based on the user
Have been messing with the codes all day
Trying to figure it out
lol
so that blue, is from user color?
Yeah, but that is the one based on streamlabs
take out {color} in the html
It looks like this when i use rgba to define background collor manually
I don't know hot to do that
I tried somehow using the same system you can make the username collor change
But it didn't work
It showed nothing on the box
if you want, u can make me a edior i can look at it. i aint got shit going on at work
Will there be a raid warning at anytime added?
as in a warning that someone is raiding your channel with /raid ?
hello @dense ivy ! That alert is already included in the Streamelements bundle, you can go to any overlay, and in the Widgets add the Alertbox widget, once added click on it and you will be able to configure the different alerts in it, including the Raid alert.
π never really used the overlay editor before now, this would make the overlay slide in from the right over a period of 3 seconds then slide out to the left over aperiod of 3 seconds correct?
Essentially trying to make a image fade in when we get a new sub then fade out afterwords
Yes
@static wigeon Hi, I sent you discord friend request for dm about OAuth 
How I can send the song to Pending Approval using the API?
We currently don't have an endpoint for the pending queue
But I would love to hear about your use case
I'm creating a bot for custom chat and I want to that viewers use the command !sr <link> and it added to the waiting queue not main π¦
I'm sure we can arrange something
It would help me a lot π
Hello, i was looking around for few last hours and sadly could not find a way to get current stream viewer count with your API, is there really no way to do that?
@fresh otter you can use the Twitch API - https://dev.twitch.tv/docs/api/reference/#get-streams
@fresh otter here the link to my original widget. it pulls viewers from twitch api and refreshes every 10 seconds https://jsfiddle.net/mrboost/a7Lhg93e/
Test your JavaScript, CSS, HTML or CoffeeScript online with JSFiddle code editor.
Hey guys ! I'm super novice in coding and I was trying to replicate an alert code to add it to my StreamElements overlay, I was wondering if any of you could help me with that. Would be lovely
Any fun designs for the tip goal? Something like the hypecup but then for the tip, filling up vertical?
@pulsar willow You can use this widget and then use "rotate option": https://discordapp.com/channels/141203863863558144/457957557470887947/583954074731282455
It fills from left to right, but you can rotate image, so it can fill from bottom to top
@viral patrol thanks! i'll try to figure that one out
Was told to leave a message here. Is there anyway to make a command that allows normal moderators to make markers on a stream without needing to be channel editors? I'd like to make a !marker command like what nightbot has but just don't know how to do it or if it's currently possible
I think that using StreamElements as channel Editor and using a /command as reply to that could work, but unfortunately I am not aware of any chat command (twitch, not SE) that could allow that
Yeah I thought so too but it didn't seem to on testing. Will test further. Thanks
So....because i'm dumb, and before I post an idea to the ideas board I want to come in here and ask: How difficult would it be to integrate the OBS Websocket plug-in into OBS.Live to incorporate things like "playing local media" via chat commands?
Hey. Is it possible to rename the twitchbot?
@near fjord Custom bot name requirements
- StreamElements bot modded and in chat
- Active overlay with alerts
- StreamElements tipping page in the panels below the stream (!panels)
- OBS.Live or Ground Control open
- Create a twitch account for the name you want to use or run the bot under your own name
- Custom bot name doesn't work on Mac
!panels
Twitch's official help guide for Panels: https://help.twitch.tv/customer/portal/articles/2416760-how-to-edit-info-panels
And after i done that?
is support for mixer coming?
@warm yew Our goal is to be everywhere our community is so we are regularly in discussions with other platforms. Although we can't comment on our roadmap, your feedback is appreciated.
Dont know how to rename my Twitchbot. π
Need help from a code guru please
anyone know is there a list of recent {name} (follower, sub etc) , so i could use "nth-child" or something similar with it for custom alerts
i guess this is part of it,
this part, i'm not sure how do i type it. is it something like id="event-1" or something?
@wheat jackal in the session data (obj.detail.session.data), check the -recent keys (like follower-recent) - these hold up to the last 25 events for that event type
hiya, im trying to connect my youtube account to my twitch account's dashboard, btu when i try to do it, it says "Channel is already claimed"
how 2 fix this ;0
You need to either delete the youtube channel's account, or ask one of our SS guys to merge them for you.
Hello, I'm developing a custom widget and I'm wondering if there is any documentation on how to communicate with other widgets like the alert box from JavaScript? Like I would like to trigger an alert in the alert-box when some event happens in my custom widget. Is that possible?
@pulsar willow Unfortunately you cannot trigger new events from custom widget, but custom widget can act like alertbox, but you will have to code all the design on your own.
oh okay too bad, but thanks anyway
@sharp island i tried to delete the youtube channel's account but it's not really deleting, how do i go about getting an SS guy to merge it for me ? :)
Ask @finite heath ?
@craggy lynx please send us an email to support@streamelements.com with:
- username
- JWT
of each account
and we will merge them for you
i actually JUST got it to work, sorry for any hassle but appreciate the help :)
@mild cipher I'm not sure where do i find that, could you show me an example?
@wheat jackal Try using this in the JS and inspecting the console 
window.addEventListener('onWidgetLoad', function(obj) {
console.log(obj.detail.session.data);
});
So I have gotten myself a custom graphic for my alerts, BUT using the Alert box thing , makes the text really hard to manage I would like to have text above and below my graphic, how does one go about doing this in the easiest way?
Above and bellow? I suggest giving it a look at the Awesome shoutout, it does something like that @opaque sage , and it may be a good example for you to use:, check the #widget-share to know more about the widget, and you can get the latest version, which adds more flexibility to the text management: https://github.com/renechiquete/AwesomeShoutout/releases/tag/1.2
Hello everyone!
I am currently using socket api but I have a question
About the fields of "data" object on events
Which field represents the viewer count on Twitch Host?
It is shown as following on Gitbook docs:
data: {
username: String;
tier: String;
currency: String;
amount: Number
message: String;
avatar: String;
sender: String;
gifted: Boolean;
}
i'd say amount
amount should be it
Is there a way to test this? As far as I tried, it won't send repeated events on socket
Only way to 'test' this is to send your self a similar event via the socket
Do you mean using this? Or directly hosting a twitch channel?
Yea but it won't be sent over socket
The real event is sent over the socket, but however repeated ones do nothing
It might be a bug tho, let me try once again
Yup, replayed ones will be shown on the overlay, but won't be received from the Socket API
Here is a test. Nothing on the console for replayed event
https://api.streamelements.com/kappa/v2/activities/:channelID/
but make sure you authorize with the JWT token
but note that this will create an activity feed event
example JS:
if (jwt !== "") {
fetch("https://api.streamelements.com/kappa/v2/channels/me",
{
"headers": {"accept": "application/json, text/plain, */*", "authorization": "Bearer " + jwt},
"method": "GET",
"mode": "cors"
}).then(response => response.json()).then(json => {
let channelId = json._id;
fetch(`https://api.staging.streamelements.com/kappa/v2/activities/${channelId}`,
{
"headers": {
"accept": "application/json",
"content-type": "application/json;charset=UTF-8",
"authorization": "Bearer " + jwt
},
"method": "POST",
"mode": "cors",
"body": JSON.stringify(element)
})
})
};
element:
let element = {
"channel":"<channel_id omitted>",
"provider":"Something",
"type":"tip",
"data":{
<<<THE PAYLOAD>>>
}
};```
but you can pretty much toss this in your console
just be mindful how you overflow your AF
Hmm so I can create my custom event and play that. Makes sense
However this socket will be used by my user base π They are most probably to expect a replay from the activity feed
I can leave them a note on the documentation, if the socket not sending replayed event is an intended feature tho
1 last question. Which of the fields on "data" represents the subscription month on Twitch Subscription?
amount again?
yes - thats the months
Alrighty thanks a lot
@rugged rapids To add a list of the moderators to the credit roll by grot widget, where would I add this? You said to create an array, but where in the code should I add the array? Should I add it before the EventListener because it is static data?
// DO NOT EDIT ANYTHING BELOW THIS LINE (unless you know what you're doing)
// !!!!!!!!!!
let totalEvents = 0, fSum = 0, sSum = 0, cSum = 0, tSum = 0;
window.addEventListener('onWidgetLoad', function(obj) {
const recents = obj.detail.recents;
let session = obj.detail.session.data;
let fieldData=obj.detail.fieldData;
userCurrency = obj.detail.currency; ```
usually arrays are created at the beginning of the file, out of any other function , basically being global objects
For example in this code snippet, from another widget by @rugged rapids , the Social media rotator, he does this:
{
name: "{{el1Name}}",
icon: "{{el1Icon}}",
link: "{{el1IconLink}}",
color: "{{el1Color}}",
showImage: "{{el1IconShow}}",
order: "{{icon1SocialOrder}}"
},
{
name: "{{el2Name}}",
icon: "{{el2Icon}}",
link: "{{el2IconLink}}",
color: "{{el2Color}}",
showImage: "{{el2IconShow}}",
order: "{{icon2SocialOrder}}"
},
{
name: "{{el3Name}}",
icon: "{{el3Icon}}",
link: "{{el3IconLink}}",
color: "{{el3Color}}",
showImage: "{{el3IconShow}}",
order: "{{icon3SocialOrder}}"
},
{
name: "{{el4Name}}",
icon: "{{el4Icon}}",
link: "{{el4IconLink}}",
color: "{{el4Color}}",
showImage: "{{el4IconShow}}",
order: "{{icon4SocialOrder}}"
}
]; ```
And later he access it in this form inside functions:
if (element.order == 'iconfirst') { //Order is the name of one of the possible values in the array
........ whatever you need to do for each element
}
}
@amber tusk
That's very helpful. Thank you.

Hey. I was wondering how to get the coordinates to make a wireframe to use for a custom hype cup. I can't find any tutorials on it anywhere, sadly.
hello, i need some help with the API, can someone help me?
Hello, is there an api endpoint to update the overlay?
Hi all, sorry, im not sure if this is where I should put this particular question, but is there away to run a giveaway through SE, where if you would like to enter the giveaway, you have to enter a specific phrase. Nightbot does it, but im wondering if there is a way SE can as well.
@raw citrus If you are refering to overlay reload in OBS you can use PUT https://api.streamelements.com/kappa/v2/overlays/:channelId/action/reload
@round obsidian Hi! State your question and I will do my best to help you ASAP
@mellow sparrow I think that you can create an alias to your enter command so people can type !join or !yoursponsor
Is there a way to create a couple of bots that I can give points to over the course of the month? I want my viewers to be able assign themselves to a bot, and throughout the month give the bot points based on how my viewers answer trivia questions. Then at the end of the month, whichever bot has accumulated the most points wins, and all the viewers associated with that bot will get a set number of points towards a giveaway.
Thanks @viral patrol . It would be good if SE could do something to NightBot and make the giveaway section a little more extensive.
Hey all. I wonder if there is a way to customize the javascript of the HypeBoss. I want to create some custom functionality in the same way that Streamlabs lets you customize HTML, CSS, and JS of their StreamBoss. Is that possible?
Hello guys! Looking to hook up a Discord bot with a client's streamlabs bot. How would I go about retrieving the points that each of the members of that stream have?
For example a user will play roulette and gain 500 points. I want the discord bot to head over to a JSON API and find that user and how much money they have now. Example's sake: 500.
Anyone else have an issue with the hypecup where emote events will drop black squares with outlines green lines instead of the emote? Always seems to work when editing, but when using it live in OBS I get those black squares instead.
not sure if #helpdesk-twitch would be a better place for this?
It is
i'll move over there. thanks
is there a way to emulate multiple subs at ones, like if someone gifted 10 subs it would trigger 10 sub alerts?
So I just used !addpoints to myself and it says I know have 123456 points
How can I use the API to find a user's points?
I'd like to use it so that it shows that I have 123456 points
I know !points <username> will show channel points for that username. Dunno if thats what you're lookin for
I want to connect it to a python script
so I can like call an api with a user's username/userID
Or, if you're setting it up as a customapi, you could just pass $(user.points) as a param and save yourself calling the API altogether
{"statusCode":404,"error":"Not Found","message":"[USERNAME]was not found"}
replaced username with [USERNAME]
Code Snippet:
import requests
url = "https://api.streamelements.com/kappa/v2/points/channel_here/username_here"
headers = {'accept': 'application/json'}
response = requests.request("GET", url, headers=headers)
print(response.text)
If you do !points [USERNAME] in chat, does it show them having points?
Are you using the StreamElements channel ID and not the name?
You can find it in your dashboard when you click your username, or you can query https://api.streamelements.com/kappa/v2/channels/USERNAME
_id
awsome
providerId is the Twitch user ID 
oh yep that worked!
now do you mind if I ask you a second question?
how can I update this value using an API call?
so currently it's 123123. Can I make it 120000 using a call
user
is the username, right?
{"statusCode":401,"error":"Unauthorized","message":"No authorization token was found"}
Yes. Points are kept by username always, which is why people lose their points if they change their username 
ouch
And you'll need your JWT token for that
ok so it's my own token
Yes. Make sure to keep it secure. If you're only using the script for yourself and hosting it yourself you'll be fine
Pass it as an authorization header:
'Authorization': 'Bearer <JWT_TOKEN_HERE>'
Oh this adds points
ok so I can just make it -5000
and it'll remove 5000
oh this is fantastic
thank you so much!!!
Since I'm working on this for a client, if I need any help can I ping you or would you rather not?
Sure, but I might not always be around π
feel free to ask again here if you get stuck, there's lots of other people around who can help too 
awesome thank you so so much!
hey @mild cipher Sorry for the ping
f"https://api.streamelements.com/kappa/v2/points/{Streamer_Channel}/{user_name_here}"
this returns
{"channel":"channelHere","username":"blahblah","points":123123,"pointsAlltime":11123,"rank":3}
I use the pointsAlltime value, correct?
that's the value that is updated even when I add or subtract points using the PUT call we discussed earlier
Ah I think that's the wrong endpoint actually, I got mixed up with trying to set the amount instead of adding/removing (which I think is possible but I can't remember offhand what you need to pass to it), but if you're happy to add/remove as before, then use https://docs.streamelements.com/reference/single-user#pointsamountbychannelanduserput
So PUT https://api.streamelements.com/kappa/v2/points/channel/user/amount
so the same as earlier?
Minus the alltime in the endpoint url
I'm totally willing to do
https://api.streamelements.com/kappa/v2/points/channel/user/-50000
which one's the endpoint url?
That looks right
that %7B is a bug
Oh so you mean change the second URL to "https://api.streamelements.com/kappa/v2/points/channel/user/amount"
Yup you got it. That should affect the points you're looking for
awesome
so in the thing where I get the points, I just use points and not all time
that works, you're amazing thanks so much!!!
Yeah, the current points is the one that's return in chat when someone does !points and alltime I think is just for leaderboard purposes or something (!top alltime)
I need help with my Alert widget, I set up a Sub widget. That have diffrent variation for every 3rd month up to a year. Problem is no matter how I try to set the size of the text on that widget it will not change. what am I doing wrong?
Are you referring to custom code/widget?
Is there some sort of !followage API call I can do to get length of time someone has been following for?
i'm looking through docs and can't see anything that stands out
oh this is a twitch feature
@indigo flume Nope I used the widget called Alertbox in SE, and then just unticked all except subscription and did variations on that one
Then the question is not suited for here, as this channel is meant for custom widgets and coding involved with our API π
Oh Im sorry π
How can people make a command that triggers a sound or gif that temporarily appears on a StreamElements overlay?
@hearty lake Steps to make a command trigger sound on stream:
- Go to Stream Store page here: https://streamelements.com/dashboard/store/items
- Add an item that has these settings on it:
- Stream Perk
- Loyalty settings to your desire
- (Next step) Add contents (image and/or sound you want to play)
- "Redeeming this item shows an alert
- Redemable via chat
- Skip Requirements
- Get the item name/command from the 2nd creation page
- Go to commands page here: https://streamelements.com/dashboard/bot/commands/custom
- Add command with desired name and have response for command as:
${redeem item_name_here} - Go to your overlays and edit the overlay you use.
- Click on "widgets" and add "Store redemptions" widget. Click save and you should be golden.
- Test your own command in chat and have OBS or editor open to hear sound
- ???
- Profit in viewer interaction and that dosh

Thanks @indigo flume!
Let's go translate your message for two people in #π«π·οΈ±franΓ§ais (:
good luck 
hi! I am working on an integration of the points with my website but using jscript the autorization token is visible if you inspect the code. Is there any way to protect this?
or maybe there could be a way to limit the url that can send the requests
Hey, I'm just getting started here with custom widgets and I have what might be a noob question.
I'm trying to get the avatar of the user who initiates an event (cheer, sub, follow, etc...). Currently I'm making calls to the Twitch API to do it, which requires setting up an API key and all that. Is there an easier way?
@regal kernel I am using that API, it is very handy and doesn't need any auth/mitm and so on: https://docs.decapi.me/twitch?endpoint=avatar%2F%3Auser
@stiff pecan Those requests should be sent server side, so client doesn't see your credentials
Ooooh, this API will be MUCH more convenient. Thanks @viral patrol !
how can i put mediarequest player on site?
@empty mango You can create call to our api and get information about current song and queue. Then you might want to add a YT player. The endpoint that you should use is this one: https://docs.streamelements.com/reference/songrequests
I just want to add a YT player
@viral patrol thanks for your answer. I will try that.
How I can somehow take the link to media request from layout?
@viral patrol
Unfortunately we don't have 'ready to go' solution for that, but if you know a developer, he can be able to prepare Media Request widget for your website.
And any idea that the layout refresh every time someone loads it?
Huh. It has to check if song is over, if so - reload playlist



