#dev-chat
1 messages ยท Page 27 of 1
You can check that one: https://discordapp.com/channels/141203863863558144/259680142459142144/538082096875438090
oh damn that looks useful
I was bummed out because I can't open text files to read lines, but this looks like a potential workaround
Unrelated, but is it possible for me to make a kind of if( ) statement in the chatbot's responses? Is there an API for that? I'd like to be able to add a response based on what number it ends up reading.
Our bot doesn't support an if-else statement unfortunately.
it's all good. That would probably be really hard to implement tbh
that pastebin api is a game changer. I love it.
Thank @mild cipher
+1
yeah he's pretty awesome
Aw thanks! 
@gilded elm here's the full list of options! https://thefyrewire.com/docs/api/twitch/pastebin/ - there's a filter thing that might work for your if else thing? (maybe?)
I love this so much.
thanks @mild cipher, you're a legend
oh my god dude yeah the filter thing would work
for my purposes, anyway
you actually used a similar tactic in your dungeons and dragons api, by the look of it
yeah, you have different responses based on what the filter is. This is incredible.
Heh yeah! It occurred to me after the fact that I could've just made a paste with all the responses and numbers with no need for filters, but I guess this way there's still an equal chance no matter how many responses you have for one number compared to another, if that makes sense
Hey guys, I'm looking for a few developers that would help test OAuth2 early next week 
Feel free to post here or DM me if you are interested.
Will OAuth2 be used for an update to the current bot-rename system with ground control?
The current goal is to allow developers to use ALL of our apis without JWTs,
that would be really nice
Connection successful!
{'clientId': '<notsureifthisshouldbesecret>', 'channelId': '', '<thistoo>': 'Welcome XD'}
Auth successful!

So you are in! I will call Neo then ๐
There's no event:test there's a woman in red dress.
I'm working on a super-hacky super-temporary project for tonight.
Til I can flesh out the project more.
I love those 'super-temporary' projects that stay for years
Care for a DM?
It works 
Pog
Hey friends, new here! Anyone know where I can find a list of events that would trigger the event listener for Websockets? ๐
The onyl thing I know where you maybe find these infos are the channel header and the pinned messages. Maybe you can find something via the search function in this channel.
Okay I'll keep lookin around, thanks
@tidal valve Hi mate. Pinned message has example code you can use. There are also urls to details about those events (their structure).
I'm having some trouble with the points bulk update endpoint
I get the error that it's failing because i require mode and users to be set
this is my payload
Has the legendary @viral patrol dipped into the coding of the Typeline alert from Nerd or Die. I tried to be a "good boy" and search the Discord server for any info and the pinned messages.
Help (if any) would be appreciated. My animated alert is holding me back from using SE.
Hi. Unfortunately I haven't touched Typeline alerts yet, but I know a walkaround for you - if you import it to SL (by link provided by NoD) and then use SL=>SE alert importer ( https://streamelements.com/dashboard/account/import?provider=streamlabs ) it should work properly.
In case anyone is interested in helping me test this, I've mostly finished up this PUBG stats customapi that pulls directly from PUBG. I've noticed some weird discrepancies in results however (when comparing to trackers), so I'm not sure if there's some sort of issue with their API missing results or something 
!cmd add !pubg $(customapi.https://api.thefyrewire.com/twitch/pubg/$(channel)?query=$(queryescape $(1:)))
More information: https://pastebin.com/EfAEdPYw
Am i in the right location if i have a quick question regarding the CSS in Custom Lists?
Yes. You reached the rightest place to ask questions about that ๐
Hello, i recently asked your live chat, that told me i should ask here: Is there any possibility to make an command, that shows how much someone already donated to the channel? I have some viewer constanstly asking for it. But i cant find a variable to put into for the chat bot. I know i can show the amount on the Donation page aswell, but other people don't want that their names with the amount are public.
Unfortunately It is not possible to interact with SE API from bot
So i've been importing my old Eventlist from Streamlabs and tried to recreate it as best as i could under SE.
What i'm unable to do is align the Eventlist so it's aligned on the Right Side and Grows to the Left side.
Currently it just does the opposite.
I've tried various options but it doesn't seem to be working and i quit and made a new lookalike using the default one.
But i would love to get my old and simpler designed eventlist.
Hello. I'm trying to learn to use the custom api command, but it's getting really confusing. I'm trying to create a command that'll say random lines I put in, but idk how the api work
The customapi variable isn't its own API. It's to reference an outside API.
an outside api???
Like this handy API for dad jokes: http://api.scorpstuff.com/dadjokes.php
Hmm...Okay...I'm still a bit lost. how does it work though if it's an outside api
what do I have to do?
Literally, ${customapi.http://api.scorpstuff.com/dadjokes.php} will return a dad joke. Because that's what that API is built to do.
Oooohhhh Now I see. so one more question..this can work with other websites can it?
Works with any API that outputs text.
so If I say...like outlook will it work with that maybe???
Does Outlook have an API URL that outputs text?
No?
So there you go. You need an API URL that you can put into the customapi variable. ${customapi.URL GOES HERE}
I'll mess around with it. thanks for the help
@merry minnow take a look at this one: https://thefyrewire.com/docs/api/twitch/pastebin/
...huh...I just got an idea.
Small update to Pastebin stuff on Fyre API. Pastes that fail on filters and have no untagged lines to fall back return nothing now. That means you can use it to make (pseudo) user-specific commands 
The user's own username acts as the filter and therefore only lines with their name are returned, and nothing is returned if they aren't in the paste.
Downsides: one paste per command (unless you have multiple people sharing a command and want customised responses for each person), mods/broadcaster can't trigger these commands unless explicitly added to the paste
Yeah I'm having a conundrum of how I would want to structure this
So let's assume I have a starting point of a webserver running on my local LAN with a REST API.
(Could also be a websocket, but that's to worry about later)
I can't quite make calls to that LAN server from the SEbot, unless I want to expose the server to the outside internet.
But, I could do it from the overlays via a custom widget, right?
Just put some AJAX calls in the JS.
So if I want to route a chat command from the bot to a custom widget is where I kinda feel stuck, don't mind me I'm thinking out loud I guess it's time to do a deeper dive into the documentation and integration.
You can use call directly from chat to your LAN endpoint, so basically it is better to read bot response, so you can set privileges and so on. Example:
- Command:
testcallresponse${user} used testcall - Overlay listener for message from user StreamElements with content of
([a-zA-Z0-9]*) used test call - Overlay passes that to your endpoint where your logic gets in
However if you want to access LAN you will have to disable web-security in OBS (as your local webserver will not use SSL or will use self signed certificate). Example on that one is here: https://github.com/StreamElements/widgets/blob/master/NanoleafLightingOnEvents/
That is kind of what I was expecting to go with, an overlay widget that listens to chat.
Then again the overlay widget could also listen to chat generically instead of just filtering out everything except the SE Bot
Is there a list of field types for custom widgets?
Take a look at this reference: https://github.com/StreamElements/widgets/blob/master/CustomCode.md In section On Widget load might be what you are searching.
we support all of HTML5 input types (except of file and date/datetime-local).
Thanks ๐
Guys where can i find alertbox customfield documentation?
@shell quartz
i set some custom fields in json as in example but i can't find how to set after create
Oh, you said alertbox, my mistake. I'm not sure if the alertbox supports custom fields, it might be for custom widgets only. I could be wrong though.
I'm pretty sure that alertbox can use custom fields
question for me ๐
so restream can read fb chat?
Can we have the bot do alerts based on what is read?>
hi @shell quartz , we still have a bug stopping the alertbox custom fields from being used, but its being worked on
Hoping someone can help with this... I'm using the top event rotator widget (https://github.com/StreamElements/widgets/tree/master/TopEventsRotator) and trying to work out how to change the icons from FontAwesome to some custom ones. Possibly the StreamElements ones used in the default custom widget. Any ideas? I've tried a few things, but I'm at a loss
You can replace this part (line 100):
<div class="icon">
<span class="fa ${element.icon}"> </span>
</div>
with:
<div class="icon">
<img src="${element.icon}">
</div>
And then use URL to image as icon attribute
okay, thanks! Will try that out
hello!
I have a problem that can be referred to on the #helpdesk-twitch channel
I'm trying to get this alert to show up like this on StreamElements.
It won't let me copy paste the code here like it did on the #helpdesk-twitch channel
I think if you have it running on SL then using our import tools you will be able to move this alertbox to StreamElements without any problems.
I tried that
It didn't work
It doesn't have anything when I trigger the alert on the imported alert box.
Did you enable custom CSS under selected alert/variation?
Still no idea how to help?
I'm probably just going to use SteamLabs until this gets figured out. I'll use you guys for everything else, but I'll use StreamLabs for alerts for now.
I had really busy evening, so I took a look at this and I see that there will be need to fiddle with that a bit to put everything in place
Okay. Thanks for looking into it.
Moving to #general-chat โคด
@river crystal If you could invite me as editor to your SE account I could take a look at this code
How do I do that @viral patrol
@river crystal To invite managers to your dashboard, Click on your Channel Name at the top of the dashboard and scroll down to Settings. Click the drop down arrow to expand your channel managers and then create a new invite at one of three access levels (Bot Supervisor, Editor, Full Control) Check this video out for more help: https://youtu.be/zl_h-ttZDF0
Make sure you give him the link in DMs
Fastest fingers in Europe - KeiZar
im looking into using the stream marathon timer from widget-share i was wondering is there a way to add different time variables for new subs and resubs?
I think you can adjust the time gained in the JS tab when you open the css editor.
ye can adjust the times but it seems to be for subs in general
@strong orchid Take a look at this widget mate https://github.com/StreamElements/widgets/tree/master/StreamMarathon
ah nice ty @viral patrol is the sub 123 etc the different tiers of subs?
It has more than that. You can add tips/follows/hosts/cheers to increase sub marathon time
And different tier subs as well ๐
its what i was looking for ty, is there a way for it to listen to if a sub in new or resub? as that seems to pick up tiers but doesnt seem to determine if its new or not
No. It doesn't check if this is first subscription
np thanks, appreciate the help
yo
not quite sure what im doing wrong here
users is an array, is it not?
am confused
i got an alert made from fiverr, the guy gave me a share link to streamlabs, but i use streamelements, i imported using the chrome extension and it doesn't come up correctly, i think the code is different... what do i need to provide for further help? Here is the code: https://pastebin.com/DNX3JN9a and i attached the gif
can you specify expected behavior and what's not working for you?
it just doesn't show it
the gif doesnt
nothing does
and i think its the coding but idk how to code
do you have a sample of it working on an overlay, maybe in a clip or something?
yea
From what I see there's nothing fancy in the code so I think if you disable custom alerts you will be able to adjust it to your needs without coding skills
@charred tundra this is it in obs from a streamlabs source: https://streamable.com/lmu1b
@viral patrol how do i disable custom alerts?
Click that to make it grey:
Then select:
Then in animation settings change values:
And you should be OK to go
๐
@viral patrol thank you! ill @ you if i need anymore...
@viral patrol how do i make it so the gif doesn't get cut off by borders
I don't understand
one sec
@nova parcel Checking it now
Thanks
@viral patrol the wings get cut off and is there a way to center the text without coding it?
It is posible to center text
In text settings you can click "Advanced" and set position
@viral patrol it worked, ty. and what about the wings cut off?
Unfortunately IDK. Try maybe another option from this screen, or resize alertbox to fit this gif aspect ratio
@viral patrol status?
Hm?
I am using ARC to check this one
But in your case - why are you using bulk update instead of that? https://docs.streamelements.com/v2.0/reference#pointsamountbychannelanduserput
Well its not usually going to be one person, thats just me testing. I had it as that before but it needs to send out the points to multiple people, and i was having issues with it not dispatching the points to everyone
@viral patrol
Imma head to sleep, ping me if you know what the problem is :) thanks
Wth
Hmm ill try tomoz but i should probs add the content type header
I dont have that
Maybe thats causing the issue?
Yes. Definitely that one
Is There anyone who knows how to create a cmd to Show the hours of a viewer? Without sum Them up to days?
Hello can someone help me to import my watchtimes from streamlabs chatbot to streamelements ?
@viral patrol yo do you know what the issue could be?
sorry for ping, no one else seems to help
No problem about ping. I honestly don't know. I tried the very same request and it worked for me like a charm
ugh wtf
can you quickly test something for me please @viral patrol
in your json can you put users before mode
see if that makes any difference
cus thats how i have it
why does it hate me
I can bet it is something really silly
I like postman and ARC. Postman if you have prepared environment and workspace, arc if you want to send request without configuration
I use both, when I want something fast I pick that one. If I want to do deeper analysis and several endpoints - postman it is
its a chrome extension
It is standalone
oh alright cool
Advanced REST Client official website. Download and install advanced REST test tool.
ARC Chrome is obsolete
This page works for me
check that maybe: https://github.com/advanced-rest-client/arc-electron/releases
perfect thanks
;p
?
Just a silly emoticon ๐
{
"users": [
{
"username": "testuser123",
"current": 200
}
],
"mode": "add"
}
this is mine
Headers as below:
ooops
alright lemme test in my code
if its apparently working now
nope got the internal server error again
@viral patrol
this is my code
async def bulk_add_points(channel, data):
with open('./channels.json') as channels_file:
content = json.load(channels_file)
token = content[channel]['token']
channelid = content[channel]['id']
async def fetch(session, url):
async with session.put(url, headers = {"Authorization":token, 'Content-Type': 'application/json'}, data=data) as response:
return await response.json()
async def main():
async with aiohttp.ClientSession() as session:
r = await fetch(session, f'https://api.streamelements.com/kappa/v2/points/{channelid}')
logger.info(r)
await main()
is token Bearer JWT
Try some GET endpoints to check if this is not the issue
whats one i can try
channels/me
Also I wonder if body is sent as casted json or is there anything happening for example you see normal json, but data sent is [Object object]
Try to stringify that JSON before sending
aaaaaaaaaaaa
i cant get it to work @viral patrol
im so confused
async def bulk_add_points(channel, data):
with open('./channels.json') as channels_file:
content = json.load(channels_file)
token = content[channel]['token']
channelid = content[channel]['id']
print(data)
data = json.dumps(data)
formdata = FormData()
formdata.add_field('body', data)
async def fetch(session, url):
async with session.put(url, headers = {"Authorization":token, 'Content-Type': 'application/json'}, data=formdata) as response:
return await response.json()
async def main():
async with aiohttp.ClientSession() as session:
r = await fetch(session, f'https://api.streamelements.com/kappa/v2/points/{channelid}')
logger.info(r)
await main()```
still getting this
idk what more i can do
ok another question
with ${customapi}
how do i get it to print a json element from the response
instead of the whole body
ok nvm ill just make the command on my own bot
@nova parcel I'm pretty sure that the issue is that the data is being posted as form data and not as json. You need to use json=data instead of data=formdata.
i did, currently trying to fiddle with getting the mimetype to json
aiohttp is having a cry
Uh, is it literally sending to 'https://api.streamelements.com/kappa/v2/points/{channelid}'?
no
thats an f string
but that error is actually on trying to load the response so i guess it was successful
Just making sure that the f string has the appropriate variable. ๐
Yeah, I see it's the response, which is super weird. It should respond with application/json; charset=utf-8 as the content-type.
Even if I send bad data or to the wrong url, I get a valid response in postman. :/
return await response.json(content_type=None) ?
even with an application/json accept header it still doesnt return json
ill try that
no thats what caused the error
Sorry, copy pasta errors. return await response.json(content_type=None) should tell it to ignore the content type
Which is weird. it's definitely returning application/json. Or should be. It's a node server, that's the default. ๐
I need to step away for now, so best of luck.
empty json
well its definitely not returning application/json
alright all good thanks
but its fine, i dont need the response anyway, as long as its actually working now
Oh. I know that. As you can see from my ARC screenshot, response is plain text "Created", just check if HTTP code is 200 ๐
JSON is returned on error
Hello, new here and a novice with programming. Apologies if this is a really nooby question.
I'd like to take our stream points leaderboard and embed it into a page on our website. I'm not really sure where to start, but if anyone is willing to help with this then it would be greatly appreciated. Thanks.
Hello I'm new here. I mod for a great friend of mine and I want to create a couple of commands that do lists like quotes, I contacted streamelements and they told me I needed to create a custom API. Can someone help me with this?
@magic egret What you've been told is basically make your own code that stores an array of text strings, but is called via our ${customapi} variable
example being: ${customapi.https://you-link-here.com/add-new-quote-query}
So the code behind that link will be yours, as our quote default commands has basic functions like just adding, removing and showing the quotes
You can also use this widget and update pastebin id everytime you update your quotes list: https://thefyrewire.com/docs/api/twitch/pastebin/
heck, i forgot fyrewire did that 
Any advice for me?
Huh. There's no easy start. I would recommend to ask on your stream if there's anybody with coding skills to help you write a tool. Our API documentation is open and posted in subject of this channel
If you have some coding skills remember that whole data exchange should be not client side but server side, as this exchange contains confidential authorization details
Second thought is that you could do it for side for points leaderboard, you call check how does that data is transmitted on your SE leaderboard public page. Just open network tab in chrome Dev tools and check requests. This will give you a lot of knowledge
I'm trying to implement some overlay goal edit/reset commands into my bot, where do i get my SE token?
(i don't see anywhere on my dashboard i can view/generate one, am i to just copy and paste the one from a browser inspector on an XHR event?)
For that purpose you need to use JWT as apikey that you can obtain onWidgetLoad has no writing permissions. You should be aware, that this value is stored as plain text in your overlay code, so if your overlay URL leaks to anybody, they will have access to do almost anything with your account (including sending fake tips, removing tips from history and even changing your PayPal address for future tips)
@night vine You can find your JWT token on your account channels page: https://streamelements.com/dashboard/account/channels
(Don't forget to click on "Show Secrets")
ah, i totally missed that little switch, thanks!
the token should be safe, my bots scripts and config files aren't accessible from the outside and i don't need overlay URLs since for what i'm doing it looks like i just need to update session data 
i'm so happy to see some proper documentation for once
We don't want to scary devs away with messy docs ๐
Hey there, this is a repost as I've been directed here.
Hey there, I noticed on stream yesterday that my Cheer alert seems to not show up. I get the sound, but no image and no TTS was working. I imported my Alerts from SL and use a Nerd or Die pack. I've just gone into my overlays and it still doesn't show, but all my other Alerts do. Testing them back on SL the alert and TTS works fine. These did work before, so I imported them again and the new import has the same issue. Not sure what to do from here.
Hello! So I'm trying to use a custom font from my computer but certain ones arent showing in the overlay editor. Is it something additional i need to do?
You have to type in computer installed font names manually @cobalt laurel ๐
Steps to use a custom font:
- Install the font on the streaming PC or choose a pre-installed windows font.
- In the overlay widget settings, select Text Settings
- Enable Custom Font
- Type the name of the font as it appears in the windows font directory (This is usually C:\Windows\Fonts)
Note: After installing fonts, the browser and OBS must be restarted for the font to appear.
@quick spruce Hi. Please ping me tomorrow, so I will be able to look on your account and investigate it.
Hi, I was redirected here since I can't get the TopEventsRotator to work. I've copy-pasted the code in to a custom widget and tried filling out the data on the left panel but nothing shows up. What do?
@rugged rapids still not working.. I tried that prior
Try to mess around with the name of the font you type in the field on the se overlay manager, like you don't need to input the bold version of the font, you can do this with the settings in the overlay I think.
@sleek panther Hi. I am here to help you. I just created that widget on my own account and it worked. If it is possible - please send me Editor link to your account and I will take a look at it, to see what went wrong.
@rugged rapids sadly its not showing for me ๐ฆ
it works for other fonts but not certain ones for some reason
is it because its setup with a different language setting in mind? it works when US keyboard as well
nvm.. megaman 2 does work as well.. hmm
can you provide me a download link for a font which is not working, so I can try to implement it myself please?
sure
Megaten 20XX Font | dafont.com
I tried putting the font name together.. using hyphens and even typing it with or without caps @rugged rapids maybe it's just not compatiple with the font type?
I really don't know why, but I can't get it to work either. Maybe another support has any ideas.
i hope so ToT I need it for my overlay design
it's possible the font is corrupted in a way that makes web-use not possible, are you able to get it to work properly in a regular HTML page on your computer?
outside of css?
with CSS in a local HTML page on your computer
just to test whether it's possible in a straightforward format
i guess it doesnt work... boo... i can use it on custom css with different sources tho.. hm
@cobalt laurel Hi! There's a small bug that some of the fonts are not displayed. It's gonna be fixed (but I don't know any ETA on that).
oh cool.. hope its sooner than later xD @viral patrol thanks for the heads up
does anyone know were the docs for https://api.streamelements.com/kappa/v2/points/streamelemenst-user-id/alltime is?
nvm ^^^ found it in the title of channel
coud be posible to chnage the way that obs.live shows the title of the transmitions?
@dense kelp #helpdesk-selive - this would be a channel with perfect people to answer your question
ok thx
I am making a little chat game python script that rewards points via the StreamElements API. However, is it possible to process commands and returned responses directly through the StreamElements bot? I currently have it interfacing with the chat through a testing Twitch account, but it would be great if I could incorporate this directly into StreamElements instead of using a separate "bot" account. Is this possible? Google hasn't been helpful... thanks!
@eternal wyvern there's an endpoint you can POST to, to send messages as the SE bot ๐ https://docs.streamelements.com/v2.0/reference#botsaybychannelpost
@mild cipher Thank you so much for your guidance! Canโt wait to implement this!
Hi all, Just wondering if anyone has a command to replay a clip or say 15 seconds of the stream?
Just the clips: https://thefyrewire.com/docs/api/twitch/clips/ and with the replay feature for StreamElements take a look in #widget-share
@rugged rapids thank you!
Hey guys, I was sent here to ask this: Is there a way to get a video widget to play by typing in a !keyword in chat?
you'll still have to code it yourself, but the API docs and all that are available in the description and some other helpful resources are in the pins
HTML:
<video id="video" playsinline style="opacity:0;width:100%; height:100%"><source id="webm" src="https://URL.to/file.webm" type="video/webm"></video>
JS:
let vid = document.getElementById("video");
window.addEventListener('onEventReceived', function (obj) {
if (obj.detail.listener !== 'message') return;
let data = obj.detail.event.data;
let message = data['text'].toLowerCase();
if (message==="!playVideo"){
vid.play();
}
});
vid
.on("play", function () {vid.style.opacity = "1";)
.on("pause ended", function() {vid.style.opacity = "0";)
.on("playing", function () {vid.style.opacity = "1";);
Something like that should work
Every user will be able to play video, there are no debouncers nor cooldowns
@crimson mason โคด
@viral patrol Hello. KiwaPlay has send me to you. And I really hope you can help me with a problem. It might be just a small thing, but it would help me alot!
typing for long time. I think it actually may be skynet
I bought some stuff from NerdorDie, some animations and widgets. Everything works fine with StreamElements but one single part. The Eventlist wdget just doesnt show up. All alerts are working properly, but this widget won't. I asked KiwaPlay and she told me, that it is because of it was written for StreamLabs and StreamLabs is using a kind of simplified css code.
The new Skynet is called Gerrit ๐
Which package do you have?
Ehm. An alert package? lol I guess I have to check this out first ๐ Just a second. But to mention this, yes it was an alert package with the event list wdget added
But what is the name of that package you have
alright, just a sec
Or some more. Sorry. Uplink is the name of the package
When I use it in StreamLabs there is no problem, but I would prefer StreamElements tbh
And it's just the eventlist
Can you give me editor URL to your channel, so I can do that?
Deleted this message. I hope I was the first who clicked this link
If you managed to get the invite, then you did ๐
Yup. Got it. Webpage was still loading for me
Is there a way to ban specific users from using chat commands?
i hope the custom fonts can be fixed soon ToT
Does anyone know if its possible to make a custom bot command that sends a URL request to some address and returns the results?
I use customapi for that @fickle cairn
could you link me to the relevant docs please?
just look under the variables in the bot section ๐
Hey, im making a shop thing for a friends stream, where if you redeem an item you get an item in a minecraft server, everything is finished, but i need to verify that the details entered when redeemed corresponds to a user that is online on the server, dont really know how the variables and stuff works, im fairly new to programming and only language i know is java, so i would appreciate any help ๐
@cobalt laurel were you ever able to get the megaman font to work? I'm trying to use the same font for a client
nope @young saffron
@cobalt laurel theres a google font called press start that is also 8 bit and doesn't work. weird
sadly it isnt the font i wanna use.
Hiย !
Does somebody succeed to connect with websocket ?
I followed :
but it never go in "onConnect" function
Did you put your accessToken in the accessToken variable?
yes
but it doesn't try to authenticate
auth is started in onConnect fonction.
So i should connect and then authenticate.
i never go on onConnect fonction. socket.on('connecte', onConnect) is never catch
oh โฆ i change my node version, its ok
sorry for the noise
no worries
OAuth doesn't exist yet, right?
@unreal glen It's in beta. Let @static wigeon know if you'd like to join and help test!
streamelements is not importing my streamlabs alert correctly because it is missing features :(
is anyone available to help me do a custom css to fix it?
@unreal glen If you could explain your use case I'm sure we could include you in the beta.
@static wigeon was planning to do a tool to automatically update commands based on local text files or other sources (like current spotify song) and since I'd release it I'd prefer OAuth to telling the user to copy some long code from the site
idk if that's in ground control already cause it's not available on linux
Does anyone know what the JS code for the top sub gifter "type" is? I'm adjusting a widget made by @viral patrol and I can't seem to find it anywhere.
@idle bobcat It is subscriber-alltime-gifter
Ur tha goat. Is there a list of these commands written somewhere?
Most of them is here https://github.com/StreamElements/widgets/blob/master/CustomCode.md
Is there a "separator" or "fieldset" available for the field json in custom widgets? Would be nice to organize things a little more when settings get a little unruly.
There's none of them ATM.
Strangely, if I create a new json field, the "value" isn't being set as default in my widget. It's just blank on the settings pane until I fill it in. Is this a known issue?
It is being fixed soon to populate default values
Gotcha. Thanks.
Hi, im new to Javascript, im just curious what the time is set to, is it ms? on a function like this:
timer = setTimeout( function() {
$('#last_sub').removeClass('play left');
}, 20000 );
}
The delay for setTimeout is in milliseconds, yes.
Great thank you.
Quick Question to Custom Widget! When i add a default Widget, i always seem to have a missing field being loaded.
This happens both on my custom one and the default it loads when adding to the scene!
What could be the cause for this?
Would it be possible to get an API for a most recent instagram post?
if you're set up to use the Instagram API, I don't see why not
where can I find that @charred tundra ?
looks like they're deprecating that one so follow the link to the new version
hm, is there already an API set up for it?
yes, right up there. you'll have to follow Instagram API tutorials to figure out how to pull in the latest image from a particular feed. try Googling a bit to see if you can find any code that already exists.
some very light searching and I found this, could be helpful for you http://instafeedjs.com/
Instafeed.js is a dead-simple way to add Instagram photos to your website. No jQuery required, just good 'ol plain javascript.
gotcha, thanks much man ๐ If i have any further questions mind if I pm you?
you can but for the best help it's best if you post here, I work a lot and have a ton of travel coming up so I won't always be able to get back to you
if you share here at least someone else might be able to pitch in ๐
does anyone know if there are open source alerts anywhere of chatting alerts? IE Vip has returned to chat for the first time on stream, an alert pops up on stream? There is a pay per month app on stream labs that I want to replicate, as i think all coding should be open source. if anyone has clues lemme know
is it possible to do a !shoutout command that automatically shouts out the last person who raided/hosted instead of needing to type a name as well?
I think I would do that even more automatically. Via chat alerts module. So after raid shootout would be automatically
I was hoping someone here could help me. I have !addquote working and saving the quotes to http://twitch.center/customapi/addquote I was wondering whaty I need to change the url to so streamelements will return a random quote from that list
do you have the API docs for that service?
I had a look at the main homepage and I'm not seeing a quotes area
I have been given editor status to try fix some of the command issues on someone elses channel so I wont have access to everything....
right, but I'm just looking for the documentation so I could figure out how to get you the quotes returned
it's not a StreamElements API so I have nothing to work with otherwise ๐
does that help?
kind of hold on you should remove your token from that message though for the future
safety-wise
either delete it or edit the message
http://twitch.center/customapi/quote?token=YOURTOKEN <-- seems like it would return quotes, but it says "no quotes added" right now
good luck! if you can find documentation for the API you'll get much farther ๐
@acoustic olive in case you haven't found it yet, the guide for that customapi can be found here: https://community.nightdev.com/t/customapi-quote-system/7871
The link to generate the URLs/tokens produces two different tokens, one for getting a quote from the list, and one for adding/removing quotes. I'm not 100% sure if there's a way to retrieve the former from the latter, if you've lost said token :/
Introduction This custom api adds Quote functionality for your channel through nightbot. It allows you to add quotes, and have users request random or specific quotes. Automatic Installation For this method, you need to be the owner of the channel. Also, make sure you don...
@mild cipher I am still trying to work it out... I will definately give that guide a read.
Thank you !!
heya @acoustic olive so since I don't use this API, @rugged rapids helped me understand how they use it, and I have now drafted up some StreamElement specific docs for this based on the commands that work for them in their stream (...incoming!)
===== Unofficial StreamElement Command Docs for Twitch.Center Quote API =====
Visit this link to generate your tokens: https://twitch.center/customapi/quote/generate
DISPLAYTOKEN = Your API's display token (this is the shorter token)
EDITTOKEN = Your API's edit token (this is the longer token)
You can access your quote list at https://twitch.center/customapi/quote/list?token=DISPLAYTOKEN
## Return a Random Quote ##
USAGE: !quote
RETURN VALUE:
${customapi.http://twitch.center/customapi/quote?token=DISPLAYTOKEN&no_id=1}
Note: You can remove &no_id=1 if you would like returned values to be numbered.
## Return a Specific Quote ##
USAGE: !findquote 1
RETURN VALUE:
${customapi.http://twitch.center/customapi/quote?token=DISPLAYTOKEN&data=${1}&no_id=1}
Note: You can use quote numbers or words to search for specific quotes. Example, !findquote crazy frog would also work.
## Add a Quote ##
Known issue: Especially long quotes get cut off when added via chat.
USAGE: !addquote Your quote content here.
RETURN VALUE:
${customapi.http://twitch.center/customapi/addquote?token=EDITTOKEN&data=${1:}}
## Delete a Quote ##
USAGE: !delquote 1
RETURN VALUE:
${customapi.http://twitch.center/customapi/delquote?token=EDITTOKEN&data=${1:}}
Note: You can delete ALL quotes by adding &clear=1 to the end of the call.
For your own research you can also refer to the Nightbot documentation of this API https://community.nightdev.com/t/customapi-quote-system/7871
@mild cipher Didn't you had a quote api endpoint on your API?
Wow thats exactly what I need I think. going to start testing it now !!
you might want to make at least the !delquote 1 and !addquote for moderators.
@indigo flume I think you're thinking of the multi command? ๐ค SE already has a quote system, but it's nice to have more options 
Our quote command is barebones to be honest 
but Benno reminded me that you had the pastebin end point
It was Quote API for Read Only purposes
which is close, but doesn't allow adding new quotes via commands.
๐
note that there might be an issue when adding quotes via chat, cause it is somehow restiricted in length. You can also add them by making a url with the quote and just put it in your browser and send it "away". In the browser no ; allowed.
Ahh right, I see now lol
Ah you should probably add a queryencode to that data param so stuff doesn't break it?
someone could probably test it to figure out character count limits but I have used all my time for the day writing the docs ๐
character count limit on our side or the API's side?
Twitch Chat message character limit: 499
Streamelements chat message character limit: 450 (if above 450, the bot replies with a 2nd reply)
no, not the API I think. cause with adding it just via the urlit is fine, it has to be twitch or SE. ๐ค
for the API, you might have to 'count' the ${customapi} variable and the link, so 499 minus those character 
It could be non-URL-safe characters cutting off the message. &data=${queryencode ${1:}} should help that
That was a real pain to type on mobile 

if someone wants to test it out and it works I can update the docs ๐ again I am in no position to be testing things at the moment
You don't know true pain until you write html/css/js in code quote like @viral patrol did some months ago 
i also tried it and gave up on answering
Are you sure he didn't just copypasta it from a different IDE? 
while doing BBQ and being on the phone? 
@mild cipher I am beyond that. Wrote my own environment to be able to use IDE. This helped me a lot
big brain smarty pants, i call upon your smartiness. i have this custom widget that shows day/date/time in one of my scenes. it works fine apart from one issue.
the way the widget works is the current day is highlighted in red.
the issue is on sunday the widget goes forward to the next week however it doesnt show the sunday.
if i put the code here could someone take a look to see if there is a way to change the day the widget changes? ta 
Feel free to share, if I have a bit of time tomorrow Iโll take a peek!
I wish whoever wrote this added some comment documentation
Iโll definitely have to wait till I can touch the code
Could someone help, im learning how to edit this code (slowly) but i cant seem to prevent a 20 second delay when i load up OBS before it starts displaying. I've been playing with the times and the intervals are correct its just this wierd start up/delay which i cant figure out.
as soon as i open obs i need it to display the first follower. (its out of sync with the graphics ive made else).
I switched from SLOBS to SE. Imported my alerts as instructed. All of the imported alerts, except the Tips, work and appear as expected when I test the newly imported alert box. How do I fix it so the tips will appear as expected?
hmmm alerts seem to have been stopped working since yesterday
@quartz gull We have added a new feature, which allows testing of alerts only in the Editor or in both Editor and OBS. Hover over the bell and on the right side toggle it on.
https://media.discordapp.net/attachments/342748377416466442/564781551649292299/unknown.png
Try make a new blank overlay and adding the alert widget
one old one worked but not the one I am using as the main one. not sure why it doesnt work. did something change on the custim widget?
custom*
Is it a custom widget you are using for your alerts?
yes, with code that worked yesterday
Copy the code (not the widget) over to the new overlay and give it a test
didnt work :/... hmm
I had the same issue today, streamed way longer than expected so pretty worn out but gonna dig around soon. Code that's worked just fine suddenly didn't trigger for events today, emulated or live.
same for me, I checked the debug console and it seems to get the events but not trigger any of the code
I'm glad I'm not the only one getting issues with custom widgets today, none of the message events have been coming through ๐ฆ I've tried both FF and Chrome but nada
omg if @mild cipher have issues then there is a a real problem
You flatter me sir
not at all ๐
Huh. I was checking messages and they worked for me. No cannot read postMessage property of null errors
Just chat messages have problems?
Not sure. Tried messages again and still nope ๐ฆ was working fine yesterday. Haven't really been using events today, but just added a fresh custom widget and sent a test event and nothing happened either 
well the alert console log triggers the correct event but the alert doesnt show at all, not in editor and not live, no clue what the problem is. also same as thefyrewire
on it
I found the hamster and put it back in the wheel
If you reload the overlay, it should work now
Awesome, works again 
yes works, ty โค
Yup. Custom Widget receives events now. You're da man.
Sounds like it works!! Will test when Iโm at my computer again 
looks good for me!! thanks for the fast help ๐
Oof, I think something happened to the docs
looks like SSL is expired?
or something, it redirected while I was away and now it looks right
Ah, all good now ๐
I was wondering if I can create a !clip command using API. Need help.
I don't know if that's possible with the SE API ๐ค
@final talon check the pinned messages in #helpdesk-twitch 
ok
how do you put text over the video in alertbox custom css? do I need to have the text & video under the same container or is there another better way? I'd like to keep the text centered horizontally, but be able to adjust the vertical placement.
Hi. To put text over a video you need two divs with same position and different z-indexes.
@viral patrol Could you give me an example how to write that in html/css?
I think that easiest way to do that is to not use custom CSS if text is not styled totally customized way. You can use default alertbox and position text.
For example:
Then in text settings check that:
And you should be fine to go with that
And if you insist on custom CSS. Hold on a second
HTML:
<video id="video" width=100% height=100% autoplay volume="{{videoVolume}}">
<source src="{{video}}" type="video/webm">
</video>
<div id="text">
<div id="announcement">{{announcement}}</div>
<div id="message">{{message}}</div>
</div>
CSS
#video{
position: absolute;
top: 0px;
left: 0px;
z-index: -5;
}
#text{
position: absolute;
top: 50%;
left: 50%;
z-index: 3;
transform: translateX(-50%);
}
Something like that
Ok thanks.
any coding gurus that could help me quick? im looking to get 3 separate counters here. when i change the code to get the second counter the 0 in the first position will disappear 
@real dune not related to this issue, but IDK if you've also gotten your calendar issue sorted, I haven't forgotten it I've just been swamped! I'm off to TC EU in the morning so probably won't get to it this weekend but will try to look at it sometime next week
no worries bud, theres no rush with that : )
im just getting things sorted for upcoming streams down the line : )
okay cool ๐
also for this one I feel like there may be a same-named DIV somewhere, do you have the link to the whole thing? if it's simple like that it's a quick fix, if it's like the calendar with complex math then not so fast ๐
ive gone through and set names for all 3, but i will give link and code : )
you can upload these codes into the respective fields
okay I might not be able to fix it at the moment as quickly as I was hoping but it's definitely something in the JavaScript, I think the storage/rendering is a bit off
no worries, i will continue to press random buttons ๐
fixed one issues, created another one : )
haha oh no
this is almost working
function counter(state = 0, action) {
switch (action.type) {
case 'INCREMENT':
return state + 1;
case 'DECREMENT':
return state - 1;
case 'RESET':
return 0;
default:
return state;
}
}
function render(id) {
document.querySelector(id).innerText = store1.getState();
}
function render2(id) {
document.querySelector(id).innerText = store2.getState();
}
function render3(id) {
document.querySelector(id).innerText = store3.getState();
}
var store1 = Redux.createStore(counter);
var store2 = Redux.createStore(counter);
var store3 = Redux.createStore(counter);
store1.subscribe(render('#counter'));
store2.subscribe(render2('#counter2'));
store3.subscribe(render3('#counter3'));
render();
document.querySelector('#increment').addEventListener('click', function(){
store1.dispatch({ type:'INCREMENT' })
});
document.querySelector('#decrement').addEventListener('click', function(){
store1.dispatch({ type:'DECREMENT' })
});
document.querySelector('#reset').addEventListener('click', function(){
store1.dispatch({ type:'RESET' })
});
document.querySelector('#increment2').addEventListener('click', function(){
store2.dispatch({ type:'INCREMENT' })
});
document.querySelector('#decrement2').addEventListener('click', function(){
store2.dispatch({ type:'DECREMENT' })
});
document.querySelector('#reset2').addEventListener('click', function(){
store2.dispatch({ type:'RESET' })
});
document.querySelector('#increment3').addEventListener('click', function(){
store3.dispatch({ type:'INCREMENT' })
});
document.querySelector('#decrement3').addEventListener('click', function(){
store3.dispatch({ type:'DECREMENT' })
});
document.querySelector('#reset3').addEventListener('click', function(){
store3.dispatch({ type:'RESET' })
});
just to share before I go to bed
this is where im at. i got the displays working but only 1 set of buttons working : (
who ever made coding this hard needs a slap
and with a simple "interact" i can now update them on obs. thank you @charred tundra xx
Is there a branding/press kit available?
EDIT: Found it ๐
obs live for youtube
@pulsar willow Unfortunately there's no OBS.Live for youtube yet.
I can't find the key for latest person to gift a sub anywhere. data["subscriber-gifted-latest"] is the latest person to receive a gifted sub but can't find one for the latest to gift a sub. and "subscriber-gifter-latest" didn't work.
data["subscriber-alltime-gifter"] an array of data["subscriber-alltime-gifter"]["name"]" - Name of latest gifter data["subscriber-alltime-gifter"]["amount"] - Number of gifted subs data["subscriber-gifted-latest"] an array of data["subscriber-gifted-latest"]["name"]" - Name of latest gifter data["subscriber-gifted-latest"]["amount"] - Number of gifted subs data["subscriber-gifted-session"]["count"] - Number of gifted subs during session
Yeah, we saw this ^^ but both of those are wrong. The first shows the the name of the all time highest gifter, the second shows the name of the lasted receiver of a gifted sub. Neither shows the latest gifter
and subscriber-gifter-latest doesn't work
hypothetically, if ["subscriber-gifted-latest"]["name"] were to be the one we're looking for. How would one go about implementing that in a line that is currently:
type: "tip-alltime-top-donation",
would this work?
type: "subscriber-gifted-latest", "name",
Still shows the latest receiver, not the sender
Just checked that, there's no sender of latest gift
That's what I thought, Thanks for the help
Doesn't subscriber-gifted-latest contain a message like "<latest-gifter> gifted a Tier 1 sub to <recipient>! They have given X Gift Subs in the channel!"? What if you just split off the first word of the message, which would be the name of the latest gifter?
const latestGifter = obj.detail.session.data['subscriber-gifted-latest'].message.split(' ')[0];
That's a great idea!
@sleek panther @idle bobcat see if it works for your needs!
Is the sharing for YouTube overlays bugged on import or is the link different than the Twitch one?
I know you can't share cross platform, but is the link format the same?
what sharing link are you talking about? is it the link for giving access?
No. When you create an overlay set and share it with others
I'm converting our packs over from SL to be fully functional with SE. The Twitch share works flawlessly. The YouTube one just sends me in a loop.
I guess I should've asked this in #widget-share huh?
NVM. That's where people are actively sharing. LUL
hmmm, the 2 most un-user friendly things, SL and YT...
if its just a loading loop maybe clear the cache and close chrome, reopen and try again, making sure you have both SE and SL windows open and logged in.
Just to clarify, this is sharing from one SE account to another SE account
Correct
Just because there is other widget set for both of them
This is from a YouTube SE share link to another YouTube SE account
Huh. I think it should work without any issues.
Let me check for one of your links ๐
@chrome violet I think you can do something like $(count $(sender)) if you want a counter to track by the person using the command
@mild cipher That's a cool idea. Where would that code go in the JS? I just tried adding it and it broke the whole thing, haha
With the latest gifted sender, that is
@mild cipher, in the example, I would be trying to count the person who is being punched. I would like to everyone to be able to use the command on another user's name in chat.
Thank you for also replying, ๐ @mild cipher
@idle bobcat are you using the custom widget? Depending how you have it set up, it would probably go inside the onWidgetLoad event
If you get stuck, DM me the set up and I can probably advise better
|| I tried to message yesterday and failed miserably lol ||
@chrome violet in that case use $(1) instead, which captures the first word after the command, so something like
!cmd add !punch $(sender) punched $(1) $(count $(1)) times!
thefyrewire punched StreamElements 5 times!
thefyrewire punched StreamElements 6 times!
thefyrewire punched H4MSt4H 3 times!
thefyrewire punched H4MSt4H 4 times!
should do the trick
Keep in mind that it'll keep count of anything after the command, including non-usernames
Also something to bear in mind is that the count is then tied to the username or word. So !punch death might accidentally increment the death counter if the name of your death counter is death. It also means if you're planning to have similar commands in the future you need to make a new counter name that tracks by user
Just about to eat something but I'll be back, there's something I want to try
Okay, back
I think I worked something out. This might look
but stick with me, it mitigates the problems I mentioned earlier.
!cmd edit !punch $(1) has been punched $(count $(customapi.https://api.thefyrewire.com/twitch/pastebin/6aKRWbRj?target=$(1)&args=punch)) times!
The problem with using $(count $(1)) is that anyone who knows the name of a counter can easily mess with it, so we need something a hardcoded prefix like punch_thefyrewire. Unfortunately the counter doesn't seem to like punch_$(1) and doesn't parse it properly.
The workaround is getting the parsed counter name via a customapi. The paste is here: https://pastebin.com/6aKRWbRj - you don't need to make your own, and it should work for anyone else wanting to use the same setup.
It essentially returns this: punch/thefyrewire, which is then used as the counter name. If I do !punch H4MST4H, the counter name becomes punch/H4MST4H, and so on. This should ensure none of your other counters are triggered.
It also means you can easily duplicate the command and change the identifier, which gives you an entirely new set of individual user/word-tracked counters. i.e. I copy-pasted it and made a new hug command, because hugging > punching 
To clarify, if you want to make a new set, just change args=punch to something else, e.g. args=hug
Hope that helped!
Thank you so much, @mild cipher! I'm getting ready for work, and can't play with it now, but I'll play with it as soon as I get there and have a moment! I highly appreciate your help.
Any dev here have the Predator overlay from NoD? I would ask for a help to transfer everything that i bought to StreamElements if there's is someone that could help, would help me so much <3
Gonna just tag @viral patrol in case that he have it already
Holy the alerts import seems to work perfectly, need to test just more thing to have sure, but if it is, i would just ask for help about chatbox i think
Hi... Trying to access the streamelements API, but canโt seem to find the endpoints anywhere? Should be something like this if I am correct https://api.streamelements.com/kappa/v2/<endpoint>
Yup. This is it. I think it should be in documentation
No, I canโt find it there
Or is the first one
https://api.streamelements.com/kappa/v2/giveaways?channel=CHANNEL ?
Nah, canโt be it. I donโt get it
Found this
https://github.com/StreamElements/api-docs/issues/1
Does not help a lot tho
Something like this then.
https://api.streamelements.com/kappa/v2/giveaways/CHANNEL/<sub-endpoint>
But the โ<sub-endpoint>โ does not seem to be documented in the StreamElements docs
https://api.streamelements.com/kappa/v2/points/CHANNEL/TARGET/200 should add 200 points. I think that I get it now... ... ... Odd documentation ๐ Not my average API
Channel is channel ID not a channel name
And for that endpoint you need to use authorization header
Yeah
Guys there's any method to do a custom merch alert? Can't find D:
I think you could probably do one using a custom widget, but mobile wonโt let me click or view the reference link in the channel description so I canโt easily check 
Hm, i got the code that is on SL, maybe need some adjust to work on SE?
Oh yeah if youโre just copy pasting youโll want to go through and figure out what needs to get updated
Oh i don't know that much to update the code, but thank you anne, gonna see if someone can help me later
Maybe the timezone isn't good right now
Yeah and right now is TwitchCon EU so a lot of the team is very busy with that ๐
Oh I see, no problem I can wait :D
Hi. Is there anyone to set a sub goal counter for each day? When I look at the widgets, it only gives me a total subs for my channel where I want to it to be for a 24 hour and like 5 for the day so would look like Sub Goal today : 1/5 with the one incrementing every time someone subscribes!
You can reset your goal data before starting stream under Data > Goals @mellow sparrow
Also there's custom widget where you can set goals over periods (like session, week, month)
@narrow belfry And about single giveaway - there's a doc for that: https://docs.streamelements.com/reference#single-giveaway
@muted dagger Unfortunately only automated conversion from SL is available ATM. I haven't seen Chat widget from that package, so I don't know how long can it take to convert it to SE.
@viral patrol Oh if you need anything i'll be glad to sent you anything that you want, there's some things that can be really useful, the Chatbox and Goal Widgets that are pretty nice and beautiful, so just if you have some time and wanna convert, I'm here to send you anything that you need :)
oh well... The documentation looks 1 million times better on desktop, was on my phone before...
is there way to state a quote, then delete that same quote?
you can use !quote <nr> to state the quote and !quote remove <nr> to delete the quote
so, i need to be able to get a random quote, and remove that random quote at the same time.
you can type in !quote to get a random quote and then use !quote remove <nr> to remove the quote. Both in one command is not possible atm.
damn
is there way to set a variable to a string? like: var A = ${customapi.http://twitch.center/customapi/quote?token=DISPLAYTOKEN&no_id=1} ?
im assuming i need to edit "DISPLAYTOKEN" to something?
I think you can't set this in the command response. You can get the display token from the link described at the very beginning of the guide.
@rugged rapids thanks, didnt read
so i bought theses custom alerts and there from movegraph there not working at all on my obs.live how can i get my custom stuff to work
?
As soon as someone has time, he/she'll answer you.
yup well i hope a pm will be sent
Most likely you will get a ping here in this channel.
^user left the server.
Guys anyone could help me to remove this message on my alerts?
It's a custom CSS
I really don't know where to look, tried to found something in the code about 'text' or 'message' but no success
Hey boys, is oauth via API still wip? Wondering if there's any eta for it, I'd love to have automated way to get users' JWT tokens ๐ฆ
It's in testing at the moment. @static wigeon may be able to give you early access
Oh I would love to give it a spin!
Any good soul to help me remove that text or just move it a little bit?
It's a CSS code btw
I can try to have a look, but can't promise you to solve the issue.
Lol sorry for the late answer, gonna check this <3
@viral patrol .... man.... hoooooooooly
@rugged rapids lx always being a god helping me, but thank you so much for your kindness too <3
lx is just the best!
you are welcome.
Hi! I'm having problems setting up my custom alerts! I've setup the .html file putting in it a webm video but the text is not displayed.. what am I doing wrong?
@pulsar willow Can you paste your HTML code please?
I think that your text is appearing, but below video. And video is 100% of container height, so text is displayed, but out of a container
You can take a look at this: https://discordapp.com/channels/141203863863558144/259680142459142144/565915812322476062
Yes the video is up the text 100% but the video duration is 5 secs and the alert durations is 7 secs so, when the video get hide I should see the text..
Seems like added the css for "video" following the link you sent, the text appear correctly
Is it possible to add gradient as color fo the text and also a stroke to the text too? I know that is possible using in css.. Wondering if your stuff support this.
Custom CSS Editor is working with all CSS directives, so you can add gradient, text stroke and so on
@torn kiln send me a DM and weโll sort it out later today.
Iโm currently traveling home from twitchcon.
HTML
<div class="text-container">
<video id="video" width=100% height=100% autoplay volume="{{videoVolume}}">
<source src="{{video}}" type="video/webm">
</video>
<div class="awsome-text-container">
<span id="username-container"></span>
</div>
</div>
CSS
@keyframes fadeInOut {
0% {
opacity: 0;
}
71.40% {
opacity: 0;
}
74.00% {
opacity: 1;
}
97.61% {
opacity: 1;
}
99% {
opacity: 0;
}
100% {
opacity: 0;
}
}
.image-container {
margin: auto;
display: table;
position: static;
}
.text-container{
text-align: center;
margin: auto;
position: absolute;
}
.awsome-text-container {
text-align: center;
position: absolute;
animation-name: fadeInOut;
animation-delay: 0s;
animation-duration: 7.00s;
top: 20%;
left: 50%;
z-index: 3;
transform: translateX(-50%);
}
.awsome-text-container span{
text-transform: uppercase;
/*gradient*/
background: linear-gradient(180deg, #0685ff 0%, #022fa2 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
/*outline*/
-webkit-text-stroke-width: 2.5px;
-webkit-text-stroke-color: white;
/*font desc*/
font-size: 100px;
font-family: 'Funhouse', sans-serif;
}
JS
const name = '{{name}}';
const userNameContainer = document.querySelector('#username-container');
userNameContainer.innerHTML = name
is someone able to tell me why the follower name is not showing up?
please?
It is displayed but like I said before - out of view.
This is your code
And as you can see, there is div with proper name, but you need to position it correctly
@viral patrol
.text-container{
text-align: center;
margin: auto;
position: static;
}
isn't this enough? obv not but why?
Youโll want position absolute and look up how to center those kinds of elements, if this was about centering on top of the other thing
Position static places text under video
And video is set to 100%
So it is out of the box
Use snippet I have you earlier and adjust it to your needs
Hello, i've got some problems with my custom widget for the last follower. Custom widgt because i wanted to add custom css to the last follower name. My problem is that it shows the correct last follower name in the web but not in my OBS when import the overlay as Browser source. It displays another pseudo. Why is that ? Can somebody help me please. I'm running out of ideas to fix it
Have you made sure to save the changes?
Yes. I can see the overlay reseting on my OBS when i'm saving it but still.. it shows a value different from what I see on streamelements.com
Hi! I'm here again.. there is an odd occurrence while displaying the last follower name..
https://discordapp.com/channels/141203863863558144/259680142459142144/567367717783470086
using this code ( is the same i've posted a few hours ago) the text do a strange flash/flick during its 100% opacity.
here is a video dimostration: https://imgur.com/ZwIjfCE
Anyone is able to help me?
anybody?
please?
Hello, any good soul can tell me if this would be the path to change the color of my alerts message?
#alert-user-message {
width: 600px;
position: absolute;
bottom: -80px;
text-align: center;
left: 50%;
transform: translateX(-50%);
text-shadow: 0px 0px 1px #000, 0px 0px 2px #000, 0px 0px 3px #000, 0px 0px 4px #000, 0px 0px 5px #000;
}```
i don't see css color: red;
Oh should have something like this that you sent on the code? Maybe i'm lost haha
well unless there is a global ID that handles the color of the text
i onlysee the text-shadow being adjusted
Ohh gonna se if there's some global ID too i forgot that
:root {
--accentColor: #E39D3D;
--shapeMainColor: #FFFFFF;
--introTextColor: #FFFFFF;
--introTopSize: 50px;
--introBotSize: 50px;
--nameBarBg: #2e302d;
--nameBarHighlight: #40433e;
--nameBarTextColor: #FFF;
--nameBarFontSize: 50px;
--shiftText: -2px;
--shapeScale: calc(100 * .01);
--floatingOffset: -100px;
}```
Maybe here Hm
there are some global color variables like --nameBarTextColor: #FFF
but I think no color is set for the root element,
Yeah my background is black, and the message is black too, that's why i'm having a little conflict to find on the code haha
can you send me the whole CSS code via PM please, so I can try to take a look.
Sure
@indigo flume we already fixed the problem, was really about that what you told about the color: #XXX; thank you so much <3

@rocky herald https://github.com/TheLimeGlass/StreamElements-Java-API
Has the way tips are pulled from the system changed recently (not sure how long my widgets been broke) but its updating subs but not tips ?
@mortal wagon Haven't noticed any change.
hmmm well iv not touched anything and the "tip" side of things broke ๐ฆ
it ok its KeiZars widget he coded for me so ill let him look just wanted to know if anything was recently changed, Iv let him know its broken anyway ๐
nooo my font isnt working still
hi, im using the marathon timer from the widget share and while testing ive noticed when a community sub comes in its adding time for the gifter aswell as the amount of subs gifted. is there a way to determine if the sub is a community sub? thanks
@strong orchid It should be fixed here: https://github.com/StreamElements/widgets/tree/master/StreamMarathon
nice thanks
So does the overlay editor not take bitmap style custom fonts?
May I add a comment on StreamElements and OBS
im trying to stream with stream elements obs and i want it to stream the game on my xbox HELP
Let's talk in #helpdesk-twitch @raven orchid
Is there a way to transfer my Muxy alerts to StreamElements?
@final zinc
this is what I see in the dev console
With this error attached to it
So I think its actually breaking when trying to process the {{message}} as it provides the cheer emotes
Yeah
Exactly
Because it would work in Muxy via their internal {bit_image} iirc
So if I can find something similar for SE, or perhaps bypass it, it'd be cool
So far it seems that the {{rawMessage}} allows the alert to show, but not the text it self.
Right
Now, the emotes showing up in the text, since it's now a plain raw text
Yea, it means something isn't proper
There is an extra " somewhere with the {{message}} that is breaking the string
Remember to provide proper styling for .alertbox-message-emote class
I think this is very important and that might be actually breaking the message
Seems plausible to me
Any changes I've made to the code I've not saved.
So for now, good luck 
I don't want to bust your code to be honest
Oh, feel free to save em
I have them backed up
That way I can just work off what you made
I just made test change to the string: ["{{message}}"] and tried to add an additional quote or escape characters
but it didn't help much, so in the end I think you need to try and style the .alertbox-message-emote 
maybe force show it with visibilty: show or how ever was that thing
Yeah, I'll have to see if I can deal with it later. My tired brain is making it hard to focus lol. Thanks again for the help @indigo flume
Sure
Just coming here to say thank you very much to @rugged rapids for all the help and the patience to help me with a lot of things, you're amazing man, hope that you have great things on your life because do this quality of support that you did for me, is the least that i can wish to you, would like to tag @viral patrol too, two great guys that i want to highlight here, thank you <3
And sorry if i wrote something wrong, trying to get better on my english <3
No worries Pain, I ensure you that you were not a pain for us ๐
Haha <3

Wonder: Is it possible to get watchtime via the "API" instead? : )
@elder wolf https://docs.streamelements.com/v2.0/reference#pointswatchtimebychannelget
https://api.streamelements.com/kappa/v2/points/:channel/watchtime
Which returns something like:
{
"_total": 263,
"users": [
{"username": "thefyrewire", "minutes": 21720},
{"username": "streamelements", "minutes": 19830},
{"username": "thefyre_bot", "minutes": 14810}
]
}
Oh... the doc page has been moved...
That explain a lot
So.. I am guess it is not possible to go by a userid to select their specific as the command does huh? Cheers btw :)
Haha yeah if something looks like it went missing or moved, check the channel header in case the link changed again
Also I don't think that's a thing sadly. But I don't think there's a limit to the limit parameter, so you could technically return every user, cache and lookup in that
Hmm.. so technically I guess I could just get the cached "sub amount" and then use it as the limit to grab all the watchtime of all subs, because that is the only thing I am really interested of ๐ Yeah I guess that might be working! Cheers @mild cipher
Or wait... hmm... that wont really work.. since it would return anyone and not only subs 
Okay nope... it would be way too many users to try cache then since the channel is a few million viewers in total I believe
Yeah, unfortunately that would be a problem
For a channel that large it could be worth looking at making your own sub watchtime tracker I guess
So whatever custom eventlist i create, there is always a empty "Follower" that i can't manage to get rid of. For example, my latest follower "MysteryRat65" should be on top but everytime i reload the source it resets back to that empty one.
Anyone have a idea what could be causing this? Thank you.
Wait did i post this in the wrong Channel?
Sorry for late response @simple jay, but empty Follower is a known issue when your history contains empty row. I am not sure where does it come from, but I am pretty confident it is Latest Follower here https://streamelements.com/dashboard/session
That's the thing, my Latest Follower is not Empty
Is there an empty entry in the followers data list?
Where is the data list?
Can you try to delete the name of the latest follower in the latest follower line. Save the changes. reload the page, put the name back in > save changes and open overlay with the event list.
Please do not delete the bubble in recent followers.
Yeah...ok
that was the issue
i cant believe it was rightz in front of me lol
Thank you Benno
Also lx ๐
What fonts are not working? I think every font that can be used within chrome should be able to be used without any issues
so @rugged rapids sent me this link https://github.com/StreamElements/widgets/tree/master/UserQueue and directed me to this channel if i had questions. So I understand the code somewhat . I have never added custom code into stream elements. How would I go about this if I wanted to attempt the user queue code in the link? I mod for a streamer and we currently have a queue command through nightbot but we really like stream elements and want to incorporate everything through streamelements so we can just rely on 1 bot instead of multiples
Add a custom widget to your overlay, add the html to the html tab and the .json in the fields. Then reload your overlay and see if it is working.
Okay will do @rugged rapids thanks!!!!
Hello! @mild cipher are you around by chance?
I guess maybe anyone can answer.. when you make a command that uses a name, is it possible to make the command work by just the spelling of the name and not so much name + character, and or @ added?
@chrome violet try using $(channel $(1))
You're too dang awesome..... thank you so much!
Your command works like a champ!~ ๐ @mild cipher
Thank you again for all of your help with it, I 100% appreciate it.
I was wondering if someone could help me I just made an alert using css and js it works fine on the website when testing but as a brower source it only plays the first alert then stops Thank you in advanced
@viral patrol it was my Custom Fonts that werent working... Turns out I had to do type in the font I wanted to use THEN use CSS edit to change the font to that.... It's weird.
If you are using custom code box - you have to set font within it.
@viral patrol except that the font i use doesnt work
Huh. What font are you trying to use and what widget?
@viral patrol https://www.dafont.com/megaten-20xx.font
Megaten 20XX Font | dafont.com
QUOTATION??! what wizardry is this @viral patrol i will try it out
Also you need to install that font on your computer
of course. I already had it on my computer ๐
IT WORKS!! THANK YOU @viral patrol
The reason is that in CSS, the font family property requires font names to be either one word, or surrounded in quotation marks. That's so you can do multiple fonts with fallback (font-family: "megaten 20xx", sans-serif;)
The custom font property is just an override to the font-family property

Quick question. Is there a way to add image containers to custom widgets? Say I design a custom icon for bits and subs, would that be easy to add?
You can add it via html and css I think.
Essentially I want to have a last events rotator, that just fades between the last follow, sub, cheer and tip events, with the x{amount}, and a small icon next to each one that I've designed
You can add an image container to the html and fill it within the CSS.
There is an example of a rotator in #widget-share
Yeah I'm after something a lot simpler
You can use variations and create different image for each amount you want to use.
I'm looking to create something similar to the last events rotator. I designed this in mind.
I simply want each event to either pop up/fade/rotate in - display the latest user with the variables (either latest follower, donator, cheerer etc) with an icon and the amount of months, tip size, bits number etc.
How difficult would it be to create something like that inside of the custom widget inside of Stream Elements?
I'd love to be able to speak to someone who can either guide me to the correct resources, or who can make it themselves as an example. I'm reaching out here, and I apologise if it's not the correct place or is out of place in general on the Discord
Looking at the Last Events rotator, it seems to be going in the right direction, but I have no clue how I'd be able to modify the CSS/HTML to work in my favour
You can check this code as base https://github.com/StreamElements/widgets/tree/master/TopEventsRotator
Hi, how can i share a widget i made from custom widgets to my friends without sending them copy/pasted code please ? And also to allow me to update the inital code from the "main source"
You cannot autopopulate code to users that are using your widget as they can alter code. You can ask them to add you Editor privileges, so you will be able to edit overlays on their account.
Ok i see, thanks @viral patrol
Hi, does the event listener (from custom widgets) covers stream info changes (title or game) by any chance even if it's delayed ?
It does not @woven field
Gonna place it here due to being relevant for devs: boys, verify Ideas Login Page Twitter api, i have tried and it says that the token is too old
Anyone here to help?
I was wondering if someone could help me. Is there a way to hide an image when an alert starts then show it when itโs finished?
You can put that image in custom code and onEventReceived with type you specify just set opacity to 0
Iโm not sure if I follow. So I have an animation using css and I want it over an existing image. But the separate image still shows and I want that image to hide.
Thank you for your fast response
Oh. You need to use custom widget instead of raw image in case you want to bind any events to it (such as hiding on events)
So then you can write a code that will react to events.
How do I add the image within the custom widget? Through url?
I think so.
<img src="url"> But if you are not into coding, this can be overwhelming
Then you need to do something within JS for example something like that:
window.addEventListener('onEventReceived', function (obj) {
if (typeof obj.detail.event.itemId !== "undefined") {
obj.detail.listener = "redemption-latest"
}
const listener = obj.detail.listener.split("-")[0];
if (listener==='subscriber'){
$("img").hide().delay(12000).show();
}
});
}
This should hide image on new subscriber event for 12 seconds.
Thank you for your help I really appreciate it
i'm trying to import my streamlabs event list into streamelements, what do i have to do in order to make it work?
i've tried copying the html/css/js/cutsom fields to no avail
Unfortunately conversion of eventlist/chat is more than copy paste of code. You will have to merge it with code we currently provide for eventlist (either version of code that is automatically provided upon creating custom widget or custom event list from our github repository https://github.com/StreamElements/widgets )
So for the TTS api there is only voice and text that can be sent to the GET request?
Where's the SSML option :)
also how did the tts api get developed for tts I only know that AWS provides that but the StreamElements API is even more friendly, there is no AWS auth, you can modify it, but there is only text and voice and no other options available :(
hi, am I able to tell the API to send a message in chat?
thanks.
This one is not relevant then? Not included here
https://developers.streamelements.com/endpoints/bot
The one I linked is an updated version I think.
"https://api.streamelements.com/kappa/v2/bot/" + account + "/say?message=hi"
This seem to be how it should be done but no success
It is not the accout name, it is the account id and the header has to include the bearer token. And the content of this request it an Json object with {"message":"<your message>"}
yeah I sent that
okay
def sendMessage(message):
res = requests.post("https://api.streamelements.com/kappa/v2/bot/" + account + "/say?message=hi", headers={"Content-Type":"json", "Authorization": "Bearer " + auth})
return res.text
other endpoints works so the variable account is right
is there a body={"message":"hi"}
json={"message":"hi"}
Okayy O_o
Looking for some assistance on HTML/CSS importing through the custom widget. I want to import a font I have via the head of the HTML and make a <p> text string utilise that font.
It's an icon based font I want to use in conjunction with some normal text. For example {heart icon} {recent follower} -- the recent follower would be in the normal font and the heart icon would be the custom font I would be importing.
I just need some assistance on making sure i'm doing it right
How are you doing it atm? 
Is it possible to chat outside of SE?
It's a little convoluted, but essentially I have a link from a website that's hosting the font directly, and it's saying I need to import that into the HTML and give it a class in the HTML referencing the font @mild cipher
Never mind I think I did it...
But bear with me
Nope. As soon as I add another font to the CSS it breaks which is where I'm going wrong
(also yes we go to DMs if you prefer)
I'll throw you a message
Hi... ...
Do anyone know what to use the socket connection for?
https://developers.streamelements.com/websockets
From the old documentation, so it is still in use?
new follower, new sub, new host, new cheer, new donation events?
@narrow belfry check pinned message for some details
Yup. I didn't include it in this post, but added reference to manual file
Hello all, I was having a look through the docs and through the pinned items in this channel, and couldn't figured out the best way to interact with the song request API, is there a way to do this via a web socket? if not is this something I would have to poll?
I'm specifically trying to get the current song.
This is not accessible via websocket but you can get it from our REST API: https://docs.streamelements.com/reference#songrequestplayingbychannelget
@viral patrol Thank you, is there docs on how to generate the JWT? I'm assuming I shouldn' t be using the one assigned to my user.
I'm currently making an extension and would like to interface with the song-request api, so wouldn't want to the token to be assigned to myself, maybe my application.
oauth2 is currently in beta, and songrequest is one of the available scopes. If you would like to request access, I think you can get in touch with @static wigeon
Oww that sounds awesome.
in the widget data, tip is as 1 decimal place is there a way to change that? as atm a 4.20 donation shows as 4.2
data.amount.toFixed(2).replace(/[.,]00$/, "").toLocaleString()
// 4 -> "4"
// 4.2 -> "4.20"
Another approach if you want to display it with separators or other locale stuff:
data.amount.toLocaleString("en-US",{style: 'currency',currency:"USD",minimumFractionDigits:data.amount===Math.round(data.amount)?0:2});
// 4 -> "$4"
// 4.2 -> "$4.20"
// 5000 -> "$5,000"
You also replace en-US with your locale, for example Arabic Egypt ar-eg, then 5000=>"ูฅูฌู ู ู ย US$"
Hi ! Iโm looking to do a custom command with loyalty points like a ยซย taxย ยป. What variable can I use or where I can found variables for loyalty points ?
You can find variables in bot commands section of SE Dashboard
Afternoon! I recently imported my alerts from streamlabs into streamelements. Every alert is working except my tip alert. I installed the extension through chrome and followed the steps correctly. I tried testing it in the overlay editor as well but nothing is happening. The tip alert does work in the streamlabs program so I have eliminated whether it is the alert itself. Any help would be appreciated.
is it possible to remove the badges from the twitch chat? or am i missing something?
@clear mesa I could take a peek there
@cobalt laurel If you are referring to chat widget - I think it is not possible there, but you can achieve that with custom chat widget from our github
@viral patrol sorry wasn't on discord on the time of your message. I should be on all day, let me know if you can help me.
thanks\
Hi. Sure thing. People need sleep and timezones are tricky for us.
If you want me to take a look there, create editor link to your channel and DM me it. You can create it here: https://streamelements.com/dashboard/account/channels
Just checking to see if there is a !queue command at all? To play with viewers where they enter a queue?
I'm interested in learning more about custom apis and using them in commands. I've done some searches and I did come across https://docs.decapi.me/ but I was hoping someone could point me in the right direction of more reading materials.
@mellow sparrow check our github linked in the channel description. Theres a queueu command in the main widgets folder
The specific use case that led me to this interest was trying to work out the variable used to pull the current song playing from a media request (default !song command) - I eventually ended up looking at the documentation linked here which led me to https://docs.streamelements.com/reference#songrequestplayingbychannelget - I'm now trying to work out if there's any way to get something meaningful out of the response, all I've managed so far is https://i.imgur.com/V68KuBM.png
@little rain imo that is the best custom api for twitch chat
Our API is not really meant to be used as chat commands. Unless you are building your own chat bot that proccesses the json and says in chat what is needed and properly formatted
yeah, that's the conclusion I came to, just wasn't sure if I'd missed something in terms of like parameters
so what exactly is the !song command calling in this case?
Current song
Ok so not a variable available for use in custom commands?
There is this end point: https://docs.streamelements.com/reference#get-playing-song
hmm I've looked around but can't seem to figure out the values for the query 'provider' - any hints?
Asking, hold on.
ty!
I think thats the wrong endpoint i gave you. I was sleepy when i looked at the end points.
I think you used the proper end point https://docs.streamelements.com/reference#songrequestplayingbychannelget as that gave you the json with the current MR song right? but you tried it with the bot and it returned a json string. Just process that.
if you are building your own bot for this.
Or you can use some MITM script that will get this value, parse it and return a string. for example (sr.php file):
<?php
$channel=$_GET['channel'];
$data=json_decode(file_get_contents('https://api.streamelements.com/kappa/v2/songrequest/'.$channel.'/playing'));
echo $data->title;
Then call this script via ${customapi.http://url.to.script/sr.php?channel=YourChannelId}
I think that there are some free php hostings you could use for that
ah lovely, thank you for all your help, this gives me a starting point ๐
@zenith folio 
https://i.nuuls.com/K3HLt.png
where is that?
hhey guyz whats this api need for and what it does??? please โค
The API is an interface you can use to access data from the StreamElements system. For the API documentation: https://docs.streamelements.com/v2.0/reference
Hi all, I cant get the queue command to work with the what github code is? Is there something i need to change in the code its self to get it to work?
So... anybody want to help me test something with the Hype Cup?
I would if I was home @sharp island
Hello. Why don't !watchtime command work for one of the channels i moderate for, it just says 0 secs watched.
are the loaylty points enabled?
The loyalty system has to be enabled, to be able to use the !watchtime.
it's on
but when i do the command it says 0 secs watched
what is the lotalty system
https://streamelements.com/dashboard/loyalty it is the system to provide the points.
The loyalty has to be enabled to see the watchtime.
cant find the thing I am searching for. Was there a way to get emotes to show up in alerts in customwidget? like the data.message on tips and cheers?
@quartz gull There is a variable {{message}} which will catch the HTML user message attached to event (sub, cheer, tip)
even in a custom-widget?
I have just tested it in an custom CSS option of an alert box. I am sorry, I can't provide any info on a custom widget. Maybe another supporter has any ideas.
ahh, np. I know someone had some parser for the bits message, but cannot seem to find it when I search ๐
I think I found something maybe related to your question (linked the start of the conversation): https://discordapp.com/channels/141203863863558144/259680142459142144/486516558647263232
But I think the outcome was, that there was no way to parse these emotes.
Sorry, emote parsing is not done automatically in custom-widgets, only in custom alert boxes.
Now that we have an SE_API, it's something we can add and is somewhere in our backlog.
nice nice
@quartz gull Is the parser thing maybe the third message down in the pinned messages? ๐
Link to the pinned post: https://discordapp.com/channels/141203863863558144/259680142459142144/539581760623607818
Is there a similar toggle like in Streamlabs to Flip the X / Y Axis. For Example in Eventlists?
There's a rotation feature (which pretty much all widgets can use), and some specific widgets have the ability to control the orientation of the elements.
I am trying to implement audio commands into my stream. Is there a way to make it work without entering the word !redeem before an actual item name?
You can create a custom command with the variable ${redeem <itemname>}
@rugged rapids got ya, and is there a way to prevent redemption message from appearing in the chat?
no, there is not.
Ok, thanks for the help!
Anyone know how to get the custom user queue working? Do I need to add a Key or anything?
hey how do i stop the stream elements bot posting in my chat whenever they tweet?
Hey @hallow rampart don't forget you have the super special #dreamteam channel to ask for assistance in. ๐
But that's the Twitter module in the Modules section of your account. We can disable or edit it if you'd like, or show you how.

