#dev-chat

1 messages ยท Page 36 of 1

mild cipher
#

When you're waiting for real alerts?

silent bay
#

yeah

#

I'm about to test it by sending a donation to myself

#

so that I don't have to fiddle with it on stream

mild cipher
#

Have you added the param to your OBS shortcut?

silent bay
#

do I need to do that if I'm testing it off-stream by having the editor open?

mild cipher
#

Oh I gotcha now. In that case no, the editor is fine. If you haven't already I'd recommend console logging the object response so you can what it looks like for future reference

silent bay
#

so cross-checking between the test alerts and actual alerts?

thick mantle
mild cipher
#

@silent bay yup!

#

@thick mantle you're missing a "> for the img src and the css parts goes in the css tab ๐Ÿ˜„

silent bay
#

Bad Request, malformed URI: https://streamelements.com/%7B%7Bvm.fieldData[option.$$key]%7D%7D

#

that's what I received

#

well, more technically, I received Failed to load resource: the server responded with a status of 400 ()

#

any clue on that @mild cipher ?

mild cipher
#

I think I see those sometimes too, I don't think they're related to the widget. Can you post a snippet of the tip event handling code in a jsfiddle or DM me an editor invite link so I can see?

silent bay
#

sure, gimme a sec

thick mantle
#

Hasn't worked yet; am I getting something wrong here??

mild cipher
#

The class needs to be attached to the image (like the snippet I posted) (atm you have it as its own invalid element)

thick mantle
#

I see, it works now; thanks.

viral patrol
#

Replace <img src="https://cdn.streamelements.com/uploads/7156bed7-056b-4d65-bfce-04542474cf10.png" class="image"> with <img src="{image}" class="image"> and then boom, you will never have to check image url to paste there

#

It will be an image you have set as alert img.

thick mantle
#

Would you happen to know how to align/ move text in custom CSS??
I want it to be centered on my image.....

So and so
Just followed!

nimble musk
#

Is there a way to receive events through the websocket in-sync with the alert box?
I'm hoping to synchronize some code with alerts and right now all events are sent as soon as they are triggered.

viral patrol
#

@thick mantle

<span id="username-container"></span><br/>
is now following!

should do the trick

thick mantle
#

Thank you!! โค๏ธ

#

For the next thing to do!
How do I move the text??

I need to move it vertically.

simple wraith
#

Can you elaborate on your question a little? @simple wraith

Do you mean "Why don't you use custom CSS fields with your main alert widgets??"

(If that is the question; here be my answer.)

If you use custom gifs/png's/jpg's etc. with your alerts and also use custom CSS fields, it will replace your custom gifs/png/jpg's etc. with the default 'dancing shark' animation.
@thick mantle

That makes sense. However I meant especially for like the bit boss, chat box, bit cup ones, unless a custom css field would overwrite all of them, including existing alerts etc.

#

Having to tell friends or clients who have 0 understanding how to paste/work with css to add it in browser sources.. is a p.i.t.a

#

๐Ÿ˜‚

nimble musk
#

There are so many events in the websocket. Geez. Guess this is why we have if statements.

fringe path
#

How long response time do you have on registering new applications?

velvet cave
#

What do you mean with that exactly Okki?

#

our Code Guru's here for custom widgets and code etc are voluntary

fringe path
velvet cave
#

Ah the o2auth form, I'll ask around for you what the response time is

viral patrol
#

Access to OAuth2 is granted in batches from what I know, so it can take between few minutes and 2 weeks (it depends when previous batch was granted access).

fringe path
#

Oh, thanks. please hurry ๐Ÿ™‚

timid cedar
#

Can someone clarify interacting with the ${customapi} variable

#

I think there's something I'm missing uhh so am I able to make the bot speak multiple times from one command from the scripts

#

or will it just run the entire script and then vomit everything printed onto the chat?

rugged rapids
#

with customapi you can enter an url after that and the bot will post in chat what it gets when doing a GET request to that site.

timid cedar
#

haha sorry I'm confused

nimble belfry
#

hello, i'm working for a friend trying to make him a panel program where I can show his songrequest list... I just tried to curl the api with ```
curl --request GET
--header 'Authorization: Bearer XXX'
--url https://api.streamelements.com/kappa/v2/songrequest/49638867/queue

{"statusCode":403,"error":"Forbidden","message":"No channel authorization found"}

I replaced XXX with my key ofc
timid cedar
#

so like i have to call scripts inside scripts?

#

and have multiple commands for it?

nimble belfry
#

if somebody knows, plz tag me ๐Ÿ˜„

static wigeon
#

@nimble belfry Your channelID looks invalid

#

That should be the StreamElements ID and not the Twitch ID.

nimble belfry
#

isn't it twitch uid ?

#

oups

#

how can I get it ?

static wigeon
#

That's username to channel

#

Here's via the website

nimble belfry
#

okay soo it's proveiderID or _id ? :p

#

_id I think

static wigeon
#

_id = SE ID
providerId is whatever provider is connected (youtube, twitch etc)

#

You want to use the SE ID

nimble belfry
#

okay, thank's a lot ! I'll try this rn :p

static wigeon
#

YEP๐Ÿ‘

nimble belfry
#

I must have the jwt token of his channel then ?

#

@static wigeon

static wigeon
#

For that API Yes.

nimble belfry
#

okay :p i'll ask him

static wigeon
nimble belfry
#

ho nice, I didn't found that on the api ref :p

#

it works ! :p

static wigeon
#

Yeah I'm gonna improve that OkayChamp

nimble belfry
#

๐Ÿ˜‹

#

great help !

nimble musk
#

Is there a way to receive events through the websocket in-sync with the alert box?
(double post since I haven't heard anything. I'll stop after this ๐Ÿ˜‚)

static wigeon
#

Ehm

#

Not really, the alertbox receives all the events and pushes it into an internal queue.
The play time depends on a bunch of things ๐Ÿ˜„

#

You could obviously write a custom alertbox to notify you when something is playing.'

#

But that's a bit out of scope

nimble musk
#

Hm, is it possible to know the timings of the 'internal queue'? Guess I'd have to know the duration of each alert + whatever is used as the delay between them. That's probably too long winded

#

Unfortunate but I can live. I'll just have to leave a note for folks using it to be aware of it. Thanks for the help!

timid cedar
#

Hi is there a way to let the bot check the chat for converting their twitch channel points into streamelements points?

#

right now mods have to manually catch when someone claims that specific reward and then use !bonus to give them the points

atomic moth
#

Hi, would i be right here for an overlay custom css question?

velvet cave
#

Hey @atomic moth this is the place indeed! A Code Guru will be checking this channel out and will try to help you as good as they can ๐Ÿ˜„

#

@timid cedar twitch points API is closed sadly, so we can't access that with StreamElements loyalty points at the moment

atomic moth
#

Thank you @velvet cave, my question would be the following: i don't know how i would get a flexible container which adapts to the length of the username. I only get fixed widths and 100 % to work, but i would love to get around cutting the names or letting them break the design.

#

A tutorial would be appreciated as well, since i think the problem is rather simple for you pros. ๐Ÿ˜„

#

It seems like, with positioning the divs with position: absolute the width will adapt to the size of the name. Looks like it is working for now. Should i delete my question again?

atomic moth
#

Another thing i would be interested in: there must be an easier way to access images i uploaded to the library than to look up the url in the source code of the website. Where do i find the path to the source to add them for example as an <img> in the HTML area?

twin condor
#

Is there a way to use a template of like, the "Quotes" system of the chatbot to create a new command source that brings up a different set of quotes or jokes, and then have a moderator be able to add those as well? I hope that makes sense ๐Ÿคฃ

tight comet
#

Hey @static wigeon can I DM you?

static wigeon
#

sure

spice flame
#

So i wanna send a custom activity into the activity feed what is the best way about this

What i wanna achieve is a custom alert for then somebody buys an item on a (for now) woo commerce store. like merch or something
and just like a sub shows that hey that person bought an item.

fleet inlet
#

Hi all. First time here. I've been tirelessly looking for a professional.. and I mean PROfessional stream designer. Someone that would do Ninja's design or Shrouds. From logo, to panels, to transitions and animations. I want my own brand design. I searched the internet to find some of the Pro's designer and they are very difficult to track. I saw that Ninja tweeted out in 2018 looking for a pro designer and Stream elements flooded his responses and alas, here I am

#

Does anyone have any pointers?

honest yoke
#

Hello guys, can someone please help me convert nightbot custom command to streamelements? It uses JSON parsing and for loop. I don't know how can it be implemented in streamelements custom commands

try{
    lbData = JSON.parse(lbString);
    result = "N/A";
    for (i = 0; i < lbData.leaderboard.rows.length; i++) {
        row = lbData.leaderboard.rows[i];
        if (row.accountid == "GNplayer") {
            result = `Player: ${row.accountid} Rank: ${row.rank} Rating: ${row.rating}`;
        }
    }
    `${result}`
}catch(e){
    `Error: ${e.message}`.substr(0,400)
}) ```
upper bough
#

@spice flame y @honest yoke custom widget is the way to go

#

and Rowest if you want to show the $result in screen is pretty easy but if you want to the bot to send a message in chat is a little more complex but doable

viral patrol
#

@honest yoke You can't parse JSON nor write logic within custom command. It gives you plain text response it got from remote URL. If you want to have logic, it should be included in requested url's script

thick mantle
#

Hey @mild cipher
I'm using the "AlphaGaming" Rotating Widget that you Harris Heller & Sam Woodhall made.

And

  1. The "Latest Cheer" keeps resetting to Total: 0 but, keeps showing the Latest Cheer user.

  2. Would I be correct in changing the "let tipLocale" & "let tipCurrency"

to this? (To display $AUD);
let slideTime = timeIn + timeDisplay + timeOut;
let tipLocale = 'en-AUS';
let tipCurrency = 'AUD';

fringe path
#

Any news on the oauth form submission @velvet cave ? Lots of people wants to use streamelements with our platform, but they cant before this submission goes through

velvet cave
#

answer was provided above

fringe path
#

Seriously? Up to two weeks? I

viral patrol
#

For development testing you can use Bearer JWT authorization hardcoded, then just switch to OAuth token

fringe path
#

Yeah, I know, but I want this into production today ๐Ÿ˜„

viral patrol
#

Oooh.

fringe path
#

We already have a streamlabs integration, but they dont support Facebook Live Streaming. You do, and that's why we want to support you as well

#

We are https://spleis.no, the largest crowdfunding platform in Norway that are seeing a lot of requests from artists streaming concerts on Facebook

static wigeon
#

@fringe path I'll take a look ๐Ÿ˜‰

fringe path
#

Great @static wigeon !

spice flame
#

@upper bough thank you but how would I send data to the feed as I looked at the api I can't seem to find it - I can only seemnto replay or get data from the activity feed

upper bough
#

you can't the activy feed.

i point the custom widget for the custom alert but it dependa if you other site have some sort of broadcast handler you can add a listener in a custom widget and then add a custom alert or event list

spice flame
#

ye okay i get it should be simple enough tho since it who commerce

honest yoke
#

@upper bough @viral patrol thanks a lot

pulsar willow
#

Hi I was wondering if I can make widgets go in a sequence

#

I have 2 alerts on top of each other and I want 1 of the go first then the 2nd plays after the 1st widget has played

#

just wondering if its possible

twin ore
#

@mortal wagon API questions are to be fielded here, not in DMs.

mortal wagon
#

its not the API thats broken its OBS.live

#

Also if i was to chose where to put this id prob of placed it in the OBS.live catagory

twin ore
#

The activity feed is case sensitive, so if bits were sent as ShadowCrotch and shadowcrotch then they will be applied to different lines. This is a known issue that is being looked into.

mortal wagon
#

okays its weird though as the "panel" picks it up correct.

twin ore
#

The panel works differently. Aggregation isn't consistent over a few things. It's part of what is being addressed.

mortal wagon
#

okays

#

Thanks @twin ore

honest yoke
#

Hi guys, sorry for a dumb question, but can someone please tell me if I can view console.log("some text"); log from a custom widget JS tab? If yes - where can I see that text and should my stream be online for it? I'm completely new with OBS and widgets stuff, just learning how to create some usefull stuff for my friend who's streaming

upper bough
#

@honest yoke on the web editor of the overlay with the custom widget press F12

honest yoke
#

@upper bough sorry, I think I don't get it. Do you mean via web inspector of the browser? But what if need interaction with twitch chat to show some text in the logs, how can I view it in this case? If I just launch widget in browser I will not be able to interact with the chat

upper bough
#

@honest yoke yes just open the web editor and type on chat

#

you'll see ๐Ÿ˜

honest yoke
#

another question, guys (sorry). In case I use await fetch(`https://api.streamelements.com/kappa/v2/bot/${channelId}/say` with auth token to post a message from bot in twitch chat or const channel = await fetch(`https://api.streamelements.com/kappa/v2/channels/${obj.detail.channel.username}`).then(d => d.json()); to get the channel ID everything works fine, but when I try to make a request on external site (for example https://example.com/profile) I get an error in logs Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://example.com/profile%7D. (Reason: CORS header โ€˜Access-Control-Allow-Originโ€™ missing).

#

what can I do to fix this? (already tried to add Access-Control-Allow-Origin header with no luck)

viral patrol
#

You can use corse anywhere

#

But adding proper header should definitely work

honest yoke
#

@viral patrol thanks ๐Ÿ™‚

high pollen
#

Is there something i'm doing wrong? I'm using the streamer's JWT token but still get Unauthorized Error when trying to modify user points

#

I have the same setup for getting user points and it successfully pulls that with no issue.

mild cipher
#

It's Authorization: Bearer <JWT> (not Authentication)

high pollen
#

Oh wow, I have Authorization on the other code, I mindlessly switched it to Authentication. Thanks.. lol

junior terrace
#
#

Any idรฉa who get last event order by date ?

#

Thx

random warren
#

@junior terrace what do you need? I don't exactly follow.

#

Also I have a question.
Is there a way to programmatically trigger !join command without user interaction in chat? Thanks.

junior terrace
#

I want to initialise widget with last 5 events (Subcribe / follow / cheer only)

random warren
#

Oh I see

junior terrace
#
window.addEventListener('onWidgetLoad', function (obj) {
  let recents = obj.detail.recents
  recents.sort(function (a, b) {
      // no fiels createAt /!\
      return Date.parse(a.createdAt) - Date.parse(b.createdAt)
  })
viral patrol
#

This seems like a bug to me

#

on Twitch

junior terrace
#

maybe no field on emulate event

random warren
#

Yeah, that's weird

heady nest
#

Hello, i use this API : https://api.streamelements.com/kappa/v2/activities/

I want to get the last gifted subscribtion with amount, ex : JohnDoe gifted x50 subs

I have all checked but there is no activityId associated to Gifted subs

Can you help me to grab this data pls ?

heady nest
#

Nobody can help me to get this data ?

velvet cave
#

Hey Ceeb, we work with volunteers on this server, when someone can get to you, they will ping you in here! ๐Ÿ˜„

viral patrol
#

@heady nest Hello! The only way to get that is to get all subscribers and filter them by bulkGifted

heady nest
#

@viral patrol but there is a problem, when I apply filter for subscribers only, I dont have entire datas, thรฉ API return me only 2 entries, same on my activity feed, but when i didnt apply filter i can see all the sub events

viral patrol
#

https://api.streamelements.com/kappa/v2/activities/:channelId?limit=16&types=subscriber&minsub=0&before=2020-03-20T10:57:28.140Z&after=2020-02-19T10:57:28.141Z

#

Try adjusting before/after parameters

heady nest
#

Same, it's returning only 2 subs

#

Ok my bad i didnt change dates

#

But i can't get the total subs gifted on the last gift right ?

#

bcs i think the data.amount is the total month subscribed for this user no ?

#

I can have only the sender name

viral patrol
#

if bulkGifted is set to true, amount should display of subs gifted

heady nest
#

bulkGifted or data.gifted ?

viral patrol
#

bulkGifted

#

gifted will be also for direct gifts

heady nest
#

Ok ty

real dune
viral patrol
real dune
#

does it do per session?

viral patrol
#

It would be possible to limit it dynamically to session, but at this moment it has X recent events

grim crow
#

I've asked AttackHunter but i'll ask in here as well; is there a chatbot integration for Tiltify for when people donate to a charity? I have already set up alerts for on screen but having it show in chat too would be cool

pulsar willow
#

Hey guys I have a question

#

Can I bulk update channel points for multiple users?

#

because if I put array of user ids into https://api.streamelements.com/kappa/v2/points/channel/users_array/1 I get 404s

untold light
#

hi this might be the wrong channel sorry but another chatbot offers a variable called $game which displays the TARGET's current game, which i used for shoutouts like "check out kappas channel, he was last seen playing chess" where chess is the $game variable. is there a way to do this with streamelements?

pseudo siren
#

You can use for example ${game ninja}

#

@untold light You mean this?

untold light
#

Thank you!! Exactly that! I did not know it takes an argument like that

pseudo siren
#

Or you can use ${game '${1}'}for example for shoutout command.

untold light
#

I did, thank you!

pseudo siren
plain dirge
#

Hey. Is there a way to make the chatbot increment a counter in an overlay?

#

So every time a viewer writes a command, a counter in the overlay is increased

spare knot
#

Hello, tried to get participants from active giveaway with python, what am i doing wrong?

viral patrol
#

@plain dirge Try to use "bot counter" widget

#

@spare knot I am not python user, but maybe try to do same payload with Advanced Rest Client or Postman.

nova hedge
#

We have many users on Lumia Stream everyday coming to us telling us that SE doesnโ€™t work when testing. Even though we have it posted in our faqs and on our app, they ignore it and expect it to work the same as Streamlabs. How much work would it be to just send the test alert box on SE to the Api as well as when a user replays an alert. Right now the only way users can actually test SE is through our app, but they want to test using the alert box like how they test their overlays.

This has caused many users to be forced to switch to Streamlabs because they want to test before they go live throughly.

plain dirge
#

How do you allow custom fonts in a custom widget?

viral patrol
plain dirge
#

@viral patrol But that is only Google Fonts, correct?

#

I want a custom font I have downloaded eksekvere

#

Elsewhere

viral patrol
#

So just use font-family:'Your Font Name', sans-serif; in CSS

plain dirge
#

That will still import from Googleโ€™s database of limited fonts

viral patrol
#

There is no font selector for locally installed fonts

plain dirge
#

There is for SEโ€™s own widgets

#

โ€œUse Custom Fontโ€

#

So I was wondering if it could be coded in somehow

#

Like they have

#

The โ€œUse Custom Fontโ€ slider allow fonts stored locally on your PC

pulsar willow
#

Hello. Can I trigger a command with bot saying the command in chat?

native trellis
#

you can not trigger a command with a command

viral patrol
#

No. Bot cannot trigger itself.

native trellis
#

it's to prevent an everlasting loop of events

pulsar willow
#

Okay. Can I somehow trigger the command from the API then?

viral patrol
#

You can use /bot/say endpoint to send a message to chat via API call.

pulsar willow
#

Yeah, well. That won't trigger the command tho

thick mantle
#

I need a little help here........ anyone familiar with Smart RGB lights and ifttt.com??

I'm trying to make it so that my viewers can blink the light in my background a different (of their choosing)

This is what I have thus far.
(It used to work but, it doesn't anymore.)

Command:
!colour // !color

Response:
$(customapi.https://maker.ifttt.com/trigger/lifx_color/with/key/mykey?value1= ${1} )

thick mantle
#

Anyone??

#

Do I have the correct script to make it work??

#

Nvm, got it working; had to make a different 'event' in ifttt.

lusty portal
#

Is there a way to put an upper limit on the health of the Hype boss?

#

Like.. Some javascript that if it goes above X amount, set it to X amount?

#

@pulsar willow A workaround is to have another bot (Streamlabs perhaps) say the command in the chat which then triggers your Stream Elements action.

#

I do that, but the other way. StreamElements bot does a !FollowAlert that my Streamlabs bot picks up on and does the command for it.

viral patrol
#

Twitch is against bot triggering other bot's actions.

pulsar willow
#

Unlucky for me then FeelsBadMan

#

Regarding that /api/kappa/v2/points/:channel endpoint, is it possible to bulk update multiple users? Cannot find anything about it in the docs.

viral patrol
#

I have it like:

<?php
 public function addPointsBulk($users)
    {
        $url = 'points/' . $this->channelId;
        $params = array('mode' => 'add', 'users' => []);
        foreach ($users as $row => $value) {
            $params['users'][] = [
                'username' => $value['username'],
                'current' => $value['points'],
                'alltime' => $value['points']
            ];
        }
        $res = $this->sendRequest('PUT', $url, $params);
        return $res;
    }
pulsar willow
#

@viral patrol Thank you very much, atleast this is possible.

dire bough
#

Hello how do I adjust my variables in my mr boost goal widget.

#

want the to reset to zero so i can start fresh new goals

velvet cave
#

@broken coyote

broken coyote
#

what do you have the time period set to?

#

@dire bough are you using "amount from goal data"?

hardy walrus
#

@mild cipher Does any of your stuff have twitch channel points integration? Could've sworn triggerfyre did but wanna double check.

pseudo siren
#

Yes, Triggerfyre have this.

strong hollow
#

Does anyone have a "where we landing" command for Warzone? ( not sure fi this is the right place to put the message )

hardy walrus
#

Depends on what kind of response you want.

strong hollow
#

TerraBuck13/05/2018
' Where are we dropping? (PUBG - Erangel) '

Credit: @distant galleon

Add from Chat
!cmd add !drop ${sender} suggests dropping at: ${random.pick 'Pochinki' 'Gatka' 'Quarry' 'Primorsk' 'Ferry Pier' 'Military Base' 'Novorepnoye' 'Mylta' 'Mylta Power' 'Farm' 'School' 'Ruins' 'Hospital' 'Georgopol' 'Shelter' 'Rozhok' 'Yasnaya Polyana' 'Mansion' 'Prison' 'Lipovka' 'Zharki' 'Severny' 'Shooting Range' 'Stalber' 'Kameshki' 'Water Town' 'Factory'}

One like this that is posted in the command share

pseudo siren
#

You can change this options for Warzone

#

@strong hollow you have any list of locations?

strong hollow
#

I can put a list together soon?

pseudo siren
#

I dont know cod

strong hollow
#

Dam
Military Base
Airport
TV Station
Quarry
Farmland
Lumber
Prison
Port
Downtown
Stadium
Hills
Storage Town
Boneyard
Train Station
Superstore
Hospital
Promenade East
Promenade West

pseudo siren
#
!cmd add !drop ${sender} suggests dropping at: ${random.pick 'Promenade West' 'Promenade East' 'Hospital' 'Superstore' 'Train Station' 'Boneyard' 'Storage Town' 'Hills' 'Stadium' 'Downtown' 'Port' 'Prison' 'Lumber' 'Farmland' 'Quarry' 'TV Station' 'Airport' 'Military Base' 'Dam'}
#

@strong hollow ^ :)

strong hollow
#

Legend dude โค๏ธ

pseudo siren
#

@strong hollow BTW, what is name of the map?

strong hollow
#

ermmm, not sure tbf bud

pliant summit
#

The map is named Verdansk

pseudo siren
#

Thanks SEheart

pliant summit
pseudo siren
#

Above are all of locations?

pliant summit
#

Looks correct, yup

pseudo siren
covert oasis
#

Any ideas as to why the overlay editor won't let me save when adding an alert variation? If I reload and just add an image, it lets me save. As soon as I try to add an alert variation to anything (tip, sub, cheer, host), it doesn't do anything when I press save.

#

The variation itself saves, and I get that notification but when I try to save the overlay nothing happens and if I refresh I get the error

#

and obviously doesn't save

covert oasis
#

Tried on a different browser, different pc, no dice

covert oasis
#

A video showing my issue

covert oasis
upper bough
#

@covert oasis Hi, is that Chrome?

viral patrol
#

Probably your alerts have a lot of code and you already have plenty of variations. Size of overlay (just config, and custom code for each variation) can be up to 1M.

pseudo siren
fringe path
#

Do you have an example of an request using the oauth access token? Getting jwt malformed

mild cipher
#

@fringe path what does your auth header look like? It should be Authorization: OAuth <token>

fringe path
#

Yeah, thanks, that worked ๐Ÿ™‚

pseudo siren
#

@viral patrol Sorry for the ping. You can check my question above?

viral patrol
#

Thanks for that ping!

#

We can provide up to 100 latest events, so there was a limit, to display those that happened during stream only. It is easy to remove this limitation from said widget

#

Just replace all occurences in JS code:
follower-session => follower-week
subscriber-session => subscriber-week
cheer-sesion => cheer-week

For tips replace:

if (typeof session['tip-count'] === "undefined") session['tip-count'] = {count: 0};

With:

if (typeof session['tip-week'] === "undefined") session['tip-week'] = {amount: 0};

and

            if (tSum < session['tip-count']['count']) {
                addEvent('tip', event.name + " - " + event.amount + '' + userCurrency.symbol);
                tSum += 1;
            }

With:

            if (tSum < session['tip-week']['amount']) {
                addEvent('tip', event.name + " - " + event.amount + '' + userCurrency.symbol);
                tSum += event.amount;
            }
pseudo siren
#

Ah, 100 limit ๐Ÿ˜† Thanks for the info SEheart
My problem was mainly in tips

pseudo siren
#

@viral patrol I getting maximally 20 events :/

Link was removed
viral patrol
#

Remove that link ๐Ÿ˜‰

#

@pseudo siren

#

OK. So 100 events are total number of events that can be displayed

#

And if you want to display tippers I would do something else

#

I would use"top tippers list"

#

Visible items: 100
Offset: 0
Text settings:

  • Enable scrolling
  • Scrolling direction: up
pseudo siren
#

I need tips + subs + cheerers :/

viral patrol
#

Huh...

pseudo siren
#

So.. That is not possible? monkaS

viral patrol
#

Subscriber list has max 25 events.

native trellis
#

yeah i need tips, subs and cheerers too

viral patrol
#

It is not possible without a proxy service

pseudo siren
#

Maybe with three overlays?
One for subs
One for tips
One for cheerers

But... It is uncomfortable...

viral patrol
#

Nah.... I am thinking about something to override this 25 events limit

tepid ocean
#

Hi, we would like to add command that will show my rank in tft
any ideas on how to do it?

lusty portal
#

Is there any backend code that can be done to limit the max HP the hype boss can get up to?

covert oasis
#

@upper bough yes,but I tried on Firefox as well.

#

And @viral patrol i thought streamelements mentions that you have limitless variations? Would the only solution be to split them into 2 overlays and just use them together?

viral patrol
#

I think so. You can have almost unlimited variations, but, if code is really complex it might hit 1M limit

covert oasis
#

My alerts do have a bunch of custom code though as they're a custom alert that was made

viral patrol
#

You may also think about exporting JS/CSS somewhere external

covert oasis
#

Is it the overlay that had the limit, or the widget?

#

Has*

viral patrol
#

So you just use <script src="https://your_domain/script.js"></script

#

Overlay config (texts) cannot be above 1M

covert oasis
#

Okay. Thanks.

#

@viral patrol dont mind my stupidity but is there an easy way to export it all? I'm using an overlay pack from NerdOrDie.

viral patrol
#

No worries. I wonder where can it be hosted. And due to templating variables, this might be really hard...

covert oasis
#

Yeah, I think just stacking multiple overlays will be my solution for right now

viral patrol
#

I think so

covert oasis
#

I'll see if I can get it working. Kind of unfortunate that I had to go through all of this to figure out that this is the issue ๐Ÿ˜…

#

But I appreciate the help

viral patrol
#

I think you should blame those lame timezones as I had to wake up to assist you ๐Ÿ™‚

tepid ocean
#

So can anybody help me ๐Ÿ˜„

covert oasis
#

I appreciate you rising from your beauty rest to assist me haha

viral patrol
#

Nah. I am EU located, so I couldn't do that during night when you asked in first place

#

Jace: I am not aware of any command that could do that besides writing is as regular bot command. I don't know any direct calls that could automate fetching data.

tepid ocean
#

$(leagueoflegends summoner region) we use this for lol, so i would like stg similar to this for tft

viral patrol
#

Try to use tft as region

#

But I am not sure

tepid ocean
#

doesn't work :/

wind meadow
#

Hey, is this the place to ask queris about streamelements api?

pseudo siren
#

Yes

#

What is your problem?

wind meadow
#

I have a doubt.....is there any api to get the chat count of a given user in a channel...?

pseudo siren
#

Chat count?

wind meadow
#

yes..

pseudo siren
#

What do you mean?

opaque hull
#

I think he means how many times a certain user has chatted

wind meadow
#

yaya....exactly

pseudo siren
#

count of messages by user?

wind meadow
pseudo siren
#

Yes, it is this

wind meadow
#

but it gives only top 100 chatters in a channel

pseudo siren
#

?limit=1000 is not working?

wind meadow
#

no.. its not working

#

the api returns same results for limit param values 0 and for 1000

wind meadow
#

Hey @pseudo siren you have any idea about this..???

pseudo siren
#

I am not... Maybe limit is maximally 100,idk

wind meadow
#

Is there any other API for fetching number of chats received to our channel from a particular user

viral patrol
#

I don't see any. I think the best way is to post this idea to https://strms.net/ideas so maybe in future there will be https://api.streamelements.com/kappa/v2/chatstats/:channel/chatter/:user added.

#

@tepid ocean in that case I think that the easiest way to add that is just to add a plain text box response with your current rank and maintain it by mods via !editcommand

maiden dragon
#

Are you able to import data with widgets from another source on the internet?

pseudo siren
#

@maiden dragon what source?

maiden dragon
#

Well I'm working on a program that pulls live data from a users CSGO match. I want to display the number of wins the user has in a stream elements layer (I know text file localy in OBS would work) but would be neat with having Stream Elements pull the data to be used directly in overlays there

#

I'm still looking into where to host the file etc for stream elements to get it. But it would just be a file somewhere, just not sure if Stream Elements allows for pulling data from other websites / google sheets document

noble star
#

I was redirected here and found the links in the header. Can anyone guid me to which directory I would need to look at for necessary coding for the following.

https://youtu.be/j0JCsBw-cGw?t=30

Currently trying to study how they did the custom goal, chat, and event list with the animation and alerts added to them.
I think it's pretty cool they can add the goal reached alert. Also love the added flair to list as well.

Lastly, is it possible to even make a custom boss widget since SE's is sort of limited to how one can style it?

Get this pack.....โ–บ https://nerdordie.com/product/pixelpop-widgets/

Pixelpop widgets are a unique, clean design for your stream to add a bit of โ€œpopโ€ for your audience. The alert, chat box, and event list widgets let you customize the colors, font, and language and more used ...

โ–ถ Play video
frozen hill
#

Im trying to get a video to play with the alert widget. When i activate custom css i cant get the video to play. Even when i add "<video id="video" playsinline autoplay muted style="width:100%; height:100%"><source id="webm" src="{{video}}" type="video/webm"></video>" to the html i cant see anything but a little tiny dot. ive changed the size with the css aswell. When i test it locally in a normal html file it works perfectly.
any ideas why? or what im doing wrong?

frozen hill
#

Okay i feel stupid now xD i forgot to add the video file xD

viral patrol
#

@noble star Our environment is totally open, so you can do a lot of stuff with it, but not with default widgets. If you are looking for custom ones, that can be altered, you might want to check: https://github.com/StreamElements/widgets - You can find custom chat, goal widgets there. Also about writing custom boss - it is also possible. Initial version of our boss was "just" a custom widget. You can prepare whole logic for it via listening to live events and store values (current boss, max hp, current hp) using SE_API.store

#

@maiden dragon Reading live data from web resources can be done totally from JavaScript (but it doesn't have access to your local files). You can use XHR calls to retrieve them, you can also embed websocket listener within custom widget.

maiden dragon
#

Ye, managed to do it woth xhr and get data localy

viral patrol
#

Take a look at Custom Widget, you should be able to reproduce everything via JS + XHR there.

lofty gale
#

Hi all. i've been told that this is the thread to post this>>> I'm trying to find a solution where I can have all my recent stream event on a simple (from left to right scroll) below my webcam. I want it to include every event including last follower, last sub, last bits, etc etc. I have only found templates and widgets where the latest sub or bits donation but no other options. Does anyone have any ideas?? Thanks in advance.

PS, I use OBS not SLOBS

For reference, this is almost perfect apart from the scrolling part: https://streamelements.com/dashboard/overlays/share/5cc9fbd0be35f88ec0726126

viral patrol
lofty gale
#

@viral patrol this great, you are great! PagChomp Thank you!

hybrid kite
#

Hey excuse me I need help :<

rain vapor
maiden dragon
#

has anyone here made a latest tip display that automaticly resize / scroll based on the text size?

viral patrol
#

You can use "Latest tipper" widget and enable "Dynamic font size" under text settings:

maiden dragon
#

doesnt really look that good if I go for that solution

thick mantle
#

I'm currently making a video; what should I keep private?
Obviously; my stream channel will be mentioned.
(This involves StreamElements & the Alerts)

Question is; can anyone mess with my channel if they know my channel name & Overlay names?

native trellis
#

names no, overlay URL's yes

thick mantle
#

Thank ya!

round obsidian
#

hey, can I talk to someone from StreamElements about a big project?
I need some statistics about the API requisitions

chrome saddle
#

I think something went wrong. My bot have problems with API connection and SE website isnยดt working properly too. :/

hardy walrus
#

Website is having issues atm. Please be patient.

chrome saddle
#

Ok I will wait, thanks ๐Ÿ™‚

left bolt
#

Hi, is there api for loyalty points system, that allows u to integrate it with external aplications? Like counting, adding and removing points

chrome saddle
left bolt
#

thanks!

round obsidian
#

hey, can I talk to someone from StreamElements about a big project?
I need some statistics about the API requisitions
@round obsidian someone online?

chrome saddle
#

@round obsidian Maybe try this e-mail: Info@streamelements.com If its a big project how you say, you should send them an e-mail about it.

round obsidian
#

ok, thank you

shy lava
#

It just took me forever to actually go live and start streaming. kept telling me ecoding error while live streaming. Finaggled with some stuff. Now OBS is taking up 60% of my CPU when it usually uses up 11%...Also the bottom left is saying encoding error overload. WTH is going on

high swallowBOT
plain dirge
mild cipher
#
const got = require('got');

const channel = '5944111ba933dd5116502dd4';
const token = '';
const message = 'WeirdChamp';

(async () => {
  try {
    const response = await got.post(`https://api.streamelements.com/kappa/v2/bot/${channel}/say`, {
      headers: { 'Authorization': `Bearer ${token}` }, // or OAuth <token>
      json: { message }
    }).json();
    console.log(response);

  } catch (e) {
    console.log(`Error: ${e.message}`);
  }
})();
sick jackal
#

PepeMLady hello how can I find the channel id

#

exactly trying to do what you just typed above

#

monkaBinocular missing the channel id?

mild cipher
#

https://api.streamelements.com/kappa/v2/channels/:CHANNELNAME or pass an auth header to https://api.streamelements.com/kappa/v2/channels/me

sick jackal
#

monkaHmm ok so https://api.streamelements.com/kappa/v2/channels/kavvson _id : 5ac0e2eefb8585a3cb7dfe19 right

mild cipher
sick jackal
#

peeporeWide step 2

#

https://api.streamelements.com/kappa/v2/bot/channel/5ac0e2eefb8585a3cb7dfe19/say my post url would be this right

plain dirge
#

Thank you so much, @mild cipher! I'll continue experimenting ๐Ÿ˜›

sick jackal
#

monkaHmm I added a header Authorization Bearer JWT

#

Cannot POST /kappa/v2/bot/channel/5ac0e2eefb8585a3cb7dfe19/say error

mild cipher
sick jackal
#

topkek ok my bad

#

monkaHmm ok so in curl the message is a header or body

mild cipher
#

and body

sick jackal
#

peeporeWide 1. does the jwt refreshes? 2. rate limit?

#
  1. body length max 500 characters - right?
mild cipher
#

JWT is effectively a user's combined username and password, so you should never ask for a user's JWT. If you want to integrate the SE API into your app properly, you can go through oauth2 which will give you the necessary refresh tokens https://strms.net/oauth2_request

#

Check the response headers for rate limit

sick jackal
#

its a personal tool only peepoPat

mild cipher
#

and not sure about body length, but probably spinning_think

#

Cool! In that case no

sick jackal
#

monkaHmm if you type it seems to be max 500 in twitch chat

#

anywya thank you for the quick tips peepoPat all working as intended peepoPat stay safe MonkaCoronaMaskHands

short mulch
#

Hey @mild cipher
Do you have an example with sending a bot message that doesn't use node.js, but just purely javascript? Is this even possible?

sick jackal
#

peeporeWide ofc use ajax axios or w/e

short mulch
#

It's because I'm trying to make the streamelement bot write a message back when one of the viewers do a command. So I'm currently having a custom widget in my overlay, that reacts to a twitch message. I then want the bot to reply back to that command.

#

I assume that I don't have access to node.js within a widget ๐Ÿ˜…

mild cipher
#

Yup! You can just use the regular Fetch API. But you should be careful if you have account editors who can access your overlays, because they'll be able to open your widget and see your JWT, which gives them control over your account (tips/loyalty, etc). Otherwise if you don't, and don't plan to, then you're good.

short mulch
#

@mild cipher Cool. So far I got this and it seems to work. But I'm not sure how I would send a message with this, seeing that Data is null. Do I need to append the message in a header or how am I understanding it?

var data = null;
var xhr = new XMLHttpRequest();

xhr.addEventListener("readystatechange", function () 
{
  if (this.readyState === this.DONE) 
  {
    console.log(this.responseText);
  }
});
xhr.open("POST", "https://api.streamelements.com/kappa/v2/bot/myChannelID/say");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("Authorization", "Bearer myAuthToken");

xhr.send(null);
#

Nvm got it โค๏ธ

upper blade
#

What language is chatbot written in

#

we were writing Nightbot commands and tried to carry them over to SE

#

but they are not working

upper bough
#

@upper blade which commands? its pseudo-code and probably you will need to change some variables

left frigate
#

Hello guys.I have an extensive question. So I watch this Brazilian streamer that have turned some how his loyalty points into a system in his own chat. So the points will not go straight to the SE store. Instead every point that you get can be check in chat with the command !points then the BOT will reply to you how many points you have at the moment. In order to send these points to SE store you use another command which is !<amount of points>. then a message in chat says "<number of points> have been added to <your twitch user>. Then only after this is that you see your points on SE store.
Remember the accidental resetting of loyalty points few time ago? So people that had points on his stream weren't affected, only if you had already sent the points to the store. He must use an API or something to do it?

Anyway, I have no idea. Does anyone?

rugged rapids
#

Take a look at the channel header for the API documentation.

rigid sapphire
upper blade
#

@upper bough | Hey man, is there a way for SE to give a user a message if they dont have enough points to execute a command?

#

It just leaves it blank and I don't like it

#

@leaden solsticeguru

#

Anyone @here knowledgeable?

pulsar willow
#

Hello everyone.
Is there someone that already has created a custom widget for local date & time (real time, 12h format)?
I've been trying to create one but somehow it doesn't work.
Reactions in DM please!

viral patrol
pulsar willow
#

@viral patrol I get an error code and it brings me to my own overlays?

#

Platform mismatch

#

Got it! Thank you!

graceful cloak
#

Hi everyone. i Am making a widget, and stumbled upon a problem. Id like to display the user who (cheered, subbed, followed) his avatar icon on an overlay. But im not sure how i can get that information. Right now im listening to OnEventReceived event. I cant find any user specific data (outside of info of the donation) like picture in the object that this event gives me

viral patrol
graceful cloak
#

Perfect!!! thank you so much!

#

but can i do get requests in the javascript of a widget?

#

@viral patrol

viral patrol
#

Sure. You can use something like:

let username = 'shakarule';
fetch(`https://decapi.me/twitch/avatar/${username}`).then(response=>response.text()).then((url)=>{
  $("#avatar").attr('src',url);
});
#

It should set <img id="avatar"> to show image

graceful cloak
#

i can do it without jquery right?

viral patrol
#

Sure thing!

graceful cloak
#

alright, thanks alot!

viral patrol
#

(also jQuery is automatically loaded into custom widgets)

graceful cloak
#

ah ok elektr8Lol

graceful cloak
#

@viral patrol Im sorry for bothering you again, the avatar thing works perfectly! Now im having another struggle tho. Im trying to get the amount of months subbed from a user. i can only find this in the object the event gives me , but only if the donation was a sub or gift sub... And i cant find an endpoint on that website you gave me to get that, (there is only subage, which gives amount of days/weeks subbed)

viral patrol
#

Oh. I am not aware of anything like that unfortunately

graceful cloak
#

ah too bad. thanks tho!

viral patrol
#

So for subgift - I am not sure if there's something like that, but I think that for other cases amountis the way to use it

hallow ginkgo
#

Could anyone help me with text wrapping on alerts?

terse anchor
#

hey hey, how does the $(1|${random.chatter}) function work again?

#

Im trying to get something like this to work:
Streamer is ${random.pick 12 22 18 36 48 87 98 28 }! Or is he?

But if someone types in !age @pallid spokeviewer

Anotherviewer is ${random.pick 12 22 18 36 48 87 98 28 }! Or is he?

#

is the $(1|${random.chatter}) sort of what I need in order for that to work?

#

$(1:| ${channel}) is ${random.pick 12 22 18 36 48 87 98 28 }! Or are they?

#

I believe thats how it should work....

#

okay I fixed my own issue haha

#

thanks to me and you guys โค๏ธ ๐Ÿ˜„

terse anchor
#

Is it possible to create a custom command that can add or remove points?

viral patrol
#

Hi. It is not possible unfortunately to manipulate points via command body. You can specify cost of command only

pulsar willow
#

Hi! RubenSaures told me to post here and give as much information as I can because maybe someone can make a custom widget.

Idea: Patreon pledge alert
I just thought it would be really cool if there was an alert whenever someone pledges on Patreon! And also have it show which tier/how much they pledge. Same thing when they upgrade their pledge/tier, an alert for that would be cool too. I've seen it on other streams but I think they used Streamlabs cahlaThink As for the alert sound/gif, it would be cool if that was customizable rukayaAWW So it would be best if this were to be integrated with the existing alert box rukayaHype

elfin arch
#

is this channel for built-in commands/abilities or 3rd party bots/sites that access the API... or both combined here?

indigo flume
#

Its mostly about our own API

#

if you have questions about using our API

#

(linked in the description of this channel)

#

@pulsar willow We do have an ideas post in our ideas board for this, but i've looked up their API endpoints and i believe its a bit hard-ish to make a widget for it :/

#

maybe someone else has done a starting point for it

elfin arch
#

thank you... i didn't know how to respond to the "Is it possible to create a custom command that can add or remove points?" because the answer is yes using the API.... but i donno if you can within the standard command structure

indigo flume
#

Can you elaborate on your usage case?

#

How and where do you want to manipulate the loyalty points?

elfin arch
#

that is a question for @terse anchor

#

if they were running a side bot i could help them. but i'm not familiar with built in commands for SE

pulsar willow
#

can anyone help me with adding an image in html code?

indigo flume
pulsar willow
#

@indigo flume maybe have a spy infiltrate Streamlabs and steal the widget code cahlaCult

elfin arch
#

@indigo flume ... back to the Patreon thing; sorry... but i'm new to SE ... do youtube subscribers show up during a Twitch stream?

indigo flume
#

No

elfin arch
#

๐Ÿคฃ sorry for the double ping there. i was mid sentence

#

if there is a better channel to discuss... i'd like to help. but basically the answer is "webhooks"

indigo flume
#

If its for patreon, sure here

#

if its for the events from Youtube to show up in the Twitch account activity feed

elfin arch
#

ya. and youTube too

indigo flume
#

then thats a different topic

#

So our system is not structured to show you events from a different platform

#

!mergeaccounts

high swallowBOT
#

Account Merging - Please note:

  • Merging accounts only allows faster ways to switch between accounts
  • Merging accounts does not allow data sharing between accounts - different streaming platforms, different type of events
  • Merging accounts allows duplicating/sharing overlays between the accounts
    If you understand the limitations of merging and want to proceed, please find the JWT tokens (!jwt) from both accounts you want to merge and you will be directed to DM them to a staff member.
indigo flume
#

Each account type/platform is its own separate entity and does not share events between them

elfin arch
#

The question is how to allow cross platform notifications. ... i.e... if you are streaming on Twitch have a notification for a Patreon add or a Youtube add

indigo flume
#

Answer: get a Google Developer license or idk what they give out and hook your self to their Youtube API. Build your own architecture most likely that receives the events from YT's API and then have Oauth2 with us, so that you can send those events towards us.

#

Patreon is something similar

#

But honestly, knowing how restrictive YT's API is(due to how much we have access), you'd better be off having the activity feed from your YT account open and the twitch account

#

and have an overlay loaded from both your twitch and youtube account

#

save your self some headache doing the above

elfin arch
#

My experience in the past with YT is similar... it sucks.

pulsar willow
#

Oh thank you! @elfin arch I've never made one but I'll look into it

elfin arch
#

^ NOT going to be easy or integrated with SE!!

robust garnet
#

hello! Trying to figure out how to offset/delay a latest sub/tip value change on SE. Ideally it would be have the sub alert cover the current latest sub, then revealing the value change after the alert is over

viral patrol
#

I think it works that way when they are on same overlay.

robust garnet
#

oh neat! I'll have to test it out, thank you!

muted dagger
#

Guys I don't know if it's here that I can ask this but, the extension to import things from SL to SE can import loyalty points?

rugged rapids
muted dagger
#

But just import tips and alerts overlays

#

I would like to import the loyalty points

#

I'm doing this setup for a brand, and they use this system

rugged rapids
muted dagger
#

OHHHH i saw just the other streamlabs

#

sorry for my mistake

austere cradle
#

Can i get a donation alert from streamelements on streamlabs obs

high swallowBOT
#

@austere cradle We're not able to troubleshoot issues with using our overlays in StreamLabs OBS (SLOBS) as we don't have the tools to support their software. We recommend using OBS Studio or OBS Studio with our plugin OBS.Live.

austere cradle
#

Ok thanks

glass cloud
#

Is it possible to get currently playing song on song request using the SE_API object (the one described on github)?

terse anchor
#

@indigo flume hey hey, I wanted to create a segement where if you guessed the right "hidden" word that i set in place, then the first person to guess it would get X amount of points added to their account

#

And it would have been something like "I like twitch alot"

#

First person to say twitch would then recieve - 100 points from the command

#

because they said that word

#

and no one else gets it after that

viral patrol
#

@glass cloud

let channelId=123123123;
fetch(`https://api.streamelements.com/kappa/v2/songrequest/${channelId}/playing`).then(response=>response.json()).then(obj=>{
    let currentSong=obj.title;
});
#

You can get channelId from onWidgetLoad.

glass cloud
#

Thanks @viral patrol

glass cloud
#

Why am I getting this message when I'm trying to use this API? Is something broken now or is it just for me?

viral patrol
#

Do you have proper channelId provided?

hardy walrus
#

Wouldn't that do a 4xx error though? I thought 5xx was server related.

viral patrol
#

Response codes may be mixed

hardy walrus
viral patrol
#

If the error is caught by something else before check.

glass cloud
#

I entered my channelid correctly and it was working for like 2 minutes or so

#

suddenly I got the 500 error

viral patrol
#

Strange. This endpoint works for me.

glass cloud
#

Maybe it's a temporary issue and it will be fixed on server side soon (since I don't think it's my fault)

hollow dune
viral patrol
#

Create a custom widget, paste contents of each file (open it with notepad) to tabs of Code editor of that widget

#

JSON file goes to FIELDS tab

hollow dune
#

thanks, working ๐Ÿ™‚

hollow dune
#

@viral patrol is there a way to display your wheel of furtune only if if type the command !spin?

viral patrol
compact osprey
#

Gg

#

Gg

hoary rose
#

Just checking with you guys in here; is it currently possible via API to have SE-layers/etc trigger with specific channel point redemptions?

glass cloud
#

Update on my problem: everything is working fine right now. Thanks again for the support ๐Ÿ™‚

viral patrol
#

@hoary rose you can toggle some sources via widget mentioned 2 messages above. You can change it to listen to StreamElements bot only and prepare a command that will trigger response, that triggers source visibility.

hoary rose
#

@viral patrol - I don't see how that widget works with the twitch built in channel point redemptions, only how it could potentially works with SE loyalty point systems

viral patrol
#

Oh. Right. For twitch channel redemptions I don't have anything ready to serve ATM

mild cipher
hoary rose
#

@mild cipher POGCHAMP thanks โค๏ธ

unborn tide
#

Hi I having a small problem I added media request to my stream I have the name of song and artists text on my stream I made it scroll but on OBSLive the text is not scrolling but in my overlay on the site it is scrolling

viral patrol
#

If you save overlay you need to reload it in OBS (you can click reload overlays above activity feed) in order to make scroll working.

#

(Saving overlay stops marquees)

sleek scarab
#

anything for the goal widgets?? something other than a bar?

velvet cave
pulsar willow
#

Is it possible for the Rainbow6 API to show the rank in the chat? monkaThink

pseudo siren
#

@pulsar willow what's your username?

pulsar willow
#

wait 4Head

#

teischEnte_o7

#

don't laugh about my Stats PepeLaughing

pseudo siren
#

And platform?

pulsar willow
#

PC

ember mantle
rugged rapids
#

This is not our api. Check the channel header for our API documentation.

ember mantle
#

Could you please let me know which API shall I use to get Loayalty points

rugged rapids
acoustic mesa
viral patrol
#

There is no per-users statistics endpoint.

acoustic mesa
#

Even in SEBot?

viral patrol
#

Unfortunately I am not aware of any command for that.

acoustic mesa
graceful cloak
#

heeey, srry for asking something again alreayd ๐Ÿ˜ฆ But i waswondering if there are any examples of using sounds with a custom widget in the javascript?

shut charm
#

Hi, I'm a developer of a streaming bot that interacts with the StreamElements API to grab donation data for our users. We noticed some errors popping up from the server over the last week; not sure if they're maybe related to server load or other things, but wanted to at least report them to see if there's any known issues. Doesn't seem to be 100% consistent, but does occur often enough to be noticed.

3/27/2020 1:27:55 PM -06:00 - Error - https://api.streamelements.com/kappa/v2/tips/5db9d610d4528d93354b3693?limit=25&sort=-createdAt
{"statusCode":500,"error":"Internal Server Error","message":"An internal server error occurred"}
StreamingClient.Base.Util.HttpRestRequestException: Internal Server Error 

One of our users reached out to your support and they mentioned that I should look for a channel called #beta_oauth2 , but I don't see it in here. I assume I'm probably missing a Discord role to be able to see it.

pseudo siren
#

@static wigeon Do you have a moment? ๐Ÿ‘† SEheart

terse anchor
#

@mild cipher love what you made man that looks amazing!

static wigeon
#

@shut charm Are you able to retrieve the token in question?

graceful cloak
#

thats in firefox, this i get in chrome:

#

this is the code:

#

{audio} is the audio field, i put an mp3 file in there

#

anyone see what im doing wrong?

elfin arch
#
<audio id="soundStandard">
    <source src="../assets/FILE.mp3" type="audio/mpeg">
</audio>
graceful cloak
#

oh ok, and then get the element in javascript and play it from there?

elfin arch
#

are you trying to play it through JS or HTML?

graceful cloak
#

js

#

oh my god

#

i got it working

#

the audio field wasnt called audio...

#

Thanks alot tho. I appreciate it alot

elfin arch
#

๐Ÿ‘ you solved that on your own.

cursive wind
#

Hello!
I'm not sure if I'm going to the right address, but maybe someone here can help me. I want to create a custom subscribe-notification via css, but i want to add a .gif file.
And my question is how can i add this file using SE library, if it possible. Default source looks like

        <img src="https://cdn.streamelements.com/static/alertbox/default.gif">```
viral patrol
#
<div class="image-container">
        <img src="{image}">
cursive wind
#

Oh, Thank you so much !

sturdy cloud
#

@hushed hazel Sorry if you get this a lot, I couldn't find anything in search. Is the credits widget still pulling all time cheers, or does it pull last stream's cheers now?

elfin arch
#

is it possible to "side-load" a bot module in? or do all API calls need to be self hosted?

#

^ Twitch ... i send people to Node TMI.js bot and use the API .... but wondering if it's built it to skip that step

#

(i know it has little to do with API, but i was sent here from #general-chat )

hushed hazel
#

@sturdy cloud pretty sure its the current session - havent worked with it in ages tho, so im saying that with 94.63% certainty

rugged parrot
#

hello, my streamelemnts obs have problem with white screen... what I should do?

rugged rapids
woven zinc
#

hi, is there an event to subscribe for when an alert is done playing?

#

The console log the following when testing alerts: "[QUEUE]: Removing widget:1 from playing"

covert finch
#

Hey, I want to make custom alert with JS code. Streamer is using OBS Studio if that matters. Do you know any resources where I can learn connecting to twitch?

viral patrol
#

Hi! You can create a new overlay within StreamElements, add alertbox to that overlay and then "Enable custom code"

#

You will be able to code all the stuff for it.

covert finch
#

@viral patrol I've created AlertBox but now I can't find "Enable custom code". I appreciate your help

viral patrol
#

Go to "Subscriber" for example

#

(as this widget has all variables)

pulsar willow
#

Hi everyone, probably shooting high with this one. I am wanting to create an API/ custom widget that allows a different image/ media source to be active indefinitely until an "update" (new follower, new sub, new tip) changes the image/ media file to a different one. Any tips on where to go find this information. Thank you in advance.

random agate
#

I've been doing some work with channel points redemption for the past few weeks yet I haven't seen any proper integration from any chatbot (feel free to correct me on this one). Made a bunch of scripts for chatbots or standalones to allow more script based channel points redeems.
I would like to know if it may be help to anyone, feel free to contact me as lockdown is still a thing ๐Ÿ‘

viral patrol
#

@random agate I am using something like:

window.addEventListener('onEventReceived', function (obj) {
    if (obj.detail.listener !== "message") return;
    let rewardname = "";
    if (customRewards[obj.detail.event.data.tags['custom-reward-id']]) {
        rewardname = customRewards[obj.detail.event.data.tags['custom-reward-id']].name;
    } else if (obj.detail.event.data.tags['msg-id'] === "highlighted-message") {
        rewardname = "Highlight my message"
    } else {
        return;
    }
    let event = obj.detail.event.data;

    if (rewardname === fieldData.itemName) {
        timeoutUser(event.text);
    }
});
#

@pulsar willow

let images={
'follower':['https://image1','https://image2','https://image13'],
'subscriber':['https://image1','https://image2','https://image13'],
'cheer':['https://image1','https://image2','https://image13'],
'host':['https://image1','https://image2','https://image13']
};
window.addEventListener('onEventReceived', function (obj) {
   if (obj.detail.listener.indexOf("-latest")===-1) return;
   const listenerImages=images[obj.detail.listener.split("-")[0]];
   
   randomImg = listenerImages[Math.floor(Math.random() * listenerImages.length)];
   
});

Something like that? You can use jQuery to update image src.

pulsar willow
#

@viral patrol legend

shut charm
#

@static wigeon Sorry for the delayed response. Do you mean just acquiring the OAuth token itself during authorization? Yes we've been getting that without issue for last few months and donations generally seem to be coming through. However started seeing this error intermittently over the last few weeks, so we just wanted to see if there was any knowledge of what might be causing it or if it was just a server load thing.

upper blade
#

Hey guys, I am trying to add custom CSS to a overlay in the editor

#

when I go into the HTML and try to import the uploaded video URL for the source , it wont load the image

#

any ideas?

#

what am I doing wrong here?

#

Im sure it has to be on the imagesrc string

rugged rapids
#

A webm is no img. You would need a video element.

upper blade
#

but i know no other way to pull the desintation

#

so what do I render the alert out to?

#

what format would even work?

rugged rapids
upper blade
#

?

rugged rapids
#

Make a video tag around the source.

upper blade
#

yeah sadly thats not what I am looking for

#

this is aimed to be a subscription alert

#

not a video window

#

is there a template I can follow? Sorry I am kinda new at this stuff

rugged rapids
upper blade
#

How do the basic stream alerts work? I made a custom alert animation and am just trying to get the text to pull from the subscription and stuff

#

that all seems cool, but this is just for a sub alert

rugged rapids
#

The basic stream alerts work, that you upload your video to the site and can change parameters in the alert box.
For custom coded widgets you will need to code this.

humble flint
#

Hi there, Im wanting to make a transparent Event list, with my own custom image next to it. Could someone possibly point me in the right direction of sorting this out please?

upper blade
#

I don't want to cut, but we are also trying to import some custom font into the CSS of our alert

#

how would we go about doing that?

muted dagger
#

Guys it's on the variable list any variable that can just crescent count? Like anytime that someone types !miss shows up 'This guy missed 3, 4, 5 shots!'

random agate
#

@viral patrol I just realized I dropped a critical line. updated it haha. ty anyways

proud crag
#

is there a way to use OBS hotkeys to trigger StreamElements chat commands? I have a win/loss counter and I want to be able to update it "in game" with hotkeys without having to tab out and write it in twitch chat ๐Ÿ™‚

viral patrol
#

There's a widget for bot counters too, to display your missed shots on overlay (not only in chat)

upper blade
#

Hey I am looking over the CSS for an alert and theres a default animation seeming to overide with "wobble"

#

with no variables defining wobble, is there an internal selection of animation types?

river grove
glad solar
#

is anyone working on a new spotify widget with the new spotify changes? ๐Ÿ™‚

rugged rapids
#

What new spotify changes are you referring to?

robust garnet
#

Does SE support custom JS for latest sub widget?

#

Trying to create a custom widget to intentionally delay the text change

broken coyote
#

What new Spotify changes? @glad solar

river grove
#

@broken coyote do you know how i can transfer a file from twitch to mixer found in the #widget-share chat

broken coyote
#

You would have to import it to your twitch, then go to your mixer profile. And click โ€œimport from other profilesโ€ in the top right. But depending what it is. It may or may not work

river grove
#

its in the link up above that i posted. i also like some of your files

broken coyote
#

Yea I canโ€™t confirm his command widget will work for mixer. Just gotta try

river grove
#

okay cool, also what happens if the widget says cheer instead of embers? i cant use it im assuming

broken coyote
#

Yea it wonโ€™t work. Atleast the ember part wonโ€™t.

river grove
#

thanks for conforming @broken coyote

broken coyote
#

No problem capโ€™n

river grove
#

@broken coyote so i transfered it and added it to obs and nothing happens. assuming i cant do anything else about it?

broken coyote
#

contact the maker. maybe he has it working for mixer

river grove
#

thanks will do, sorry for asking so many questions lol not used to all this @broken coyote

broken coyote
#

no problem at all bubby

glad solar
#

@broken coyote sorry i didnt answer before.. I misunderstood something, spotify TOS has not changed, and therefore the new API changes dont matter ๐Ÿ™‚

broken coyote
#

Ah ok. Was hoping I could do more stuff with my Spotify widget

glad solar
#

they added some queuing support and stuff,, but since the TOS has not changed we cannot use it in bots like these.. -.-

fringe tendon
#

Hey, I have a question regarding custom count. What's the syntax? Is there a way to make it work like !editcounter and accept a +<number> input? I want to make a custom count which gets incremented by the input value of the user. So I.E. !number 5 would set it to 5; and !number 7 would then set it to 12. I tried using ${args} to pass the input number but that didn't work.

torn vale
#

Tryin g to make it so that its "{name} {months}x" to show "zinqfps 15x" meaning they subbed for 15 months.

mild cipher
#

@fringe tendon You'll probably want something like $(count countername "+$(1)")

!number 5 -> 5
!number 7 -> 12
#

@torn vale {amount} for months

fringe tendon
#

Perfect! many thanks ๐Ÿ˜

celest heart
#

hi folks, good day, i was asking myself, can we use fonts from our computer on the SE editor? or its bound to the ones we have there?

viral patrol
#

You can use any font you want either with default widgets or with custom ones

#

Just type font name there and if it is installed on your computer it will be used in your overlay

celest heart
#

@viral patrol oh, i will try it out, thks for the info, had no idea

#

!

mild surge
#

Hey guys, I just recently asked a question about the TTS activation time in the Alert Box widget in #helpdesk-twitch in regards to having the TTS voice start reading the message in the middle of an alert rather than waiting until the alert visually disappears. I was told that there isn't really a way of having the TTS voice start earlier than when the alert is set to finish.

I was wondering if maybe there's a way to do it with custom CSS? My coding knowledge is pretty limited, but if someone happens to know whether or not the TTS activation point is a factor I can manipulate through CSS, that would be a huge help! If you need me clarify a bit more let me know!

torn vale
#

@mild cipher legend. thank you.

viral patrol
#

@mild surge TTS starts playing when alert sound is finished playing, you can additionally postpone it here:

gusty raven
#

Hi i have a question too, i want to create a !hosting command with Thanks to all the users currently hosting: $customapi(https://api.crunchprank.net/twitch/hosts/$%7Bchannel%7D?implode). but i only get this when i try it in my stream No user with the name "${channel}" found.

any idea what i did wrong, thanks for your help ๐Ÿ™‚

pseudo siren
#

Sure, one moment

#

@gusty raven try this
${customapi.https://api.crunchprank.net/twitch/hosts/'${channel}'?implode}

gusty raven
#

thank you i will ๐Ÿ‘

torn vale
#

Quick question. Was wondering if it would be possible to make my โ€œTop Donatorโ€ shared between Donos and bits. Example... person A donates $1 USD, they are current top donator. Person B comes and donates 500 bits, now they are current top donator. Would it be possible for the widget to recognize and distinguish both? ๐Ÿ™‚

gusty raven
#

Thanks to all the users currently hosting: No one is currently hosting meowzedong. looks like its working now, thank you very much, i spend my last days to get this running. ๐Ÿ‘

pseudo siren
muted dagger
#

Guys, I don't know if I need to ask here or on twitch chat but, I have my csv (loyalty points) exported, I made an alteration and saved, but when I try to import shows up the message 'Imported' and I imported from 'Import from CSV' option but didn't made any change on points, I'm doing something wrong? Should I reset before import the new csv?

sand igloo
#

I'm making an overlay on stream elements and I have a video-input field but it is only letting me select images and not videos even though it says set Video in the field.

viral patrol
#

@sand igloo Thank you for reporting that! We are on it โค๏ธ

sand igloo
#

I noticed it always go to images for every type of input (sound, etc) but didn't have files uploaded to check if its the same

muted dagger
#

Anyone? Just trying to get an answer because I'm working for a brand and they will be online in 2 hours

viral patrol
#

Do you have proper structure of file?

muted dagger
#

You mean the type of the file?

viral patrol
#

Nah, the contents of the file.

#

It should be comma separated csv (not the semicolon separated)

muted dagger
#

Yep, i just imported via 'streamelements-csv-windows64' edited, and saved

#

Hm, let me double check if is this right

#

Or should be blank to skip the twitchID?

viral patrol
#

Second column should be blank in that case

#

So username,,currentPoints,AllTimePoints,watchtime

#

Also - check that file in notepad, to be sure it is not converted to semicolon separated when saving

muted dagger
#

Oooh so username, blank, and currentPoints, AllTimePoints, watchtime I see

#

Gonna try here, see if works <3

viral patrol
#

Yes, this one

muted dagger
#

Okay

viral terrace
#

Hi there. I asked a question in the twitch helpdesk and they told me to come here. i heard that i could make it so an amazon echo could turn on LED lights when streamelements gets an alert. Could i do the same thing with a smart outlet so it could turn something on when i get an alert for a couple seconds?

muted dagger
#

I never did it before but I think it's all as you said, hm

#

Could you take a little look on my csv to be sure that it's all okay?

#

All good, tried to be sure and worked fine, thank god <3

#

Thank you so much @viral patrol you saved my life

viral patrol
#

โค๏ธ

#

@viral terrace at this moment we have ready to serve nanoleaf widget

#

With some adjustements I am sure it may work with other services too

viral terrace
#

is it possible for you to help me with those adjustments?

upper blade
#

yo guys

#

i buit an animation in muxy

#

and when I import the media and CSS and HTML into SE it just straight up wont work

#

any ideas?

#

it will just pop up with "new follower" but wont source the name, or load the uploaded media even with the HTML pulling the correct source link.web,m

viral patrol
upper blade
#

what the hell am I doing wrong:(((((

viral terrace
#

@viral patrol i have no idea how to code

upper blade
#

@viral patrol - You know how to do HTML? If I were to paypal you, would you be able to get this up and running for me? The notification works through muxy, but it is so laggy when SE has to pull from Muxy

#

Like it is 20 seconds delayed and at like 4fps

#

its weird as hell

viral patrol
#

Or maybe - what is the lighting system you are using?

#

@upper blade what alert you want to achieve? Pushing it from Muxy will definitely cause delays (as there are two separate services involved), but we cover a lot of alerts standalone.

upper blade
#

just a universal alert for sub,follow,cheer,etc etc

viral patrol
#

you don't need to use muxy when you are on muxy for it

#

But about custom animations - I am not sure if they are working on both services without problems

#

The one you pasted here - I think it should work

#

As it is using {name}

upper blade
#

you see youd imagine

#

but this is what happens when you trigger it

viral patrol
#

(But I can't tell for sure as I have no clue about CSS/JS animations)

viral terrace
#

@viral patrol itโ€™s not for a lighting system. Itโ€™s quite confusing lol. Could you please connect me with these coders?

upper blade
viral patrol
#

@viral terrace for sure, pinging them, I hope somebody will reach you soon

viral terrace
#

@viral patrol perfect. Thanks!

viral patrol
#

@upper blade Seems like second part (the one with username) is not displayed

mild surge
#

@viral patrol I know that I can delay the TTS if I want, but my goal to make it start sooner. I tested already with shorter audio clips while keeping the alert length for Cheering at 5 seconds, but no matter what the TTS always starts 1 second after that 5 second span.

If possible I want to have the TTS start at around 3 seconds in, because thatโ€™s when the audio portion of the alert has ended

paper drift
#

hi wonderful devs! Im trying to make my uploaded alart image delay to sync with a song but am trying to figure out how to code that?

#

*alert

upper bough
upper bough
#

@rain ore this is kinda the righ path โคด๏ธ

rain ore
#

Ok Ill go check it out

#

can I add a different chat to streamelements that easier to use?

#

cause I dont understand one word of that lol

upper bough
#

the key part of it is If you add a "Custom Widget" already have some code in it (event list) and but you will need some Javascript + CSS knowledge

torn vale
#

Is it possible to make "Top Donator" shared between bits and donations in usd?

#

meaning it can show either or instead of having to have a top bits and top donator?

#

would be cool imo.

viral patrol
#

I think that the easier way would be rotate between those values (top cheerer/top tipper) due to that:

knotty thorn
#

uh, i think the api reference website is missing its css file or something

#

doesn't look stylized right now heh

viral patrol
#

Seems OK to me. Maybe it is blocked by something?

knotty thorn
#

i got adblock on but it normally works through that

viral patrol
knotty thorn
#

yep that's what it is meant to look like - but coming up like my screenshot - even with adblock turned off

#

done ctrl + f5 repeatly

viral patrol
#

Can you take a look in dev tools => Network tab?

knotty thorn
hardy walrus
#

How about the console tab

knotty thorn
viral patrol
#

This is what I have with JS blocked:

#

But still, looks better

knotty thorn
#

normally works here, just not now i guess - haven't done anything different

viral patrol
knotty thorn
#

that loads

viral patrol
#

This is css used for API docs page

knotty thorn
#

kinda figured lol

#

ok now it loads up properly

viral patrol
#

And I wonder why does it work standalone, but not on page

knotty thorn
#

maybe cause i clicked on the css link?

viral patrol
#

Maybe it reloaded that resource

knotty thorn
#

probably

#

oh well, back to normal ๐Ÿ™‚

viral terrace
#

@viral patrol hi I was just wondering if anybody was able to reach out

viral patrol
#

Oh. I don't know unfortunately. I forwarded that info

thorny rover
#

Does anyone have an API that can correctly convert watchtime from one bot to another? In this case, I transferred all of my bot information from StreamLabs bot, to StreamElements bot, but it converted the watchtime incorrectly.

trail jay
#

Hi! How do I use the JSON Fields with Custom CSS?

rugged rapids
#

@trail jay {{fieldname}}

desert pebble
#

How do I switch the alert to image behind text on the CSS editor?

viral terrace
#

@viral patrol is there any way we could check up on if anybody can reach out?

next radish
#

who can I speak to about alerts triggering overlay changes?

next radish
#

^ will be willing to pay a coder to teach me, I have some coding knowledge, mainly html & css. I'm mainly a graphic & motion designer but would like to know some more refined stuff I can't seem to find anything on it online. -my DMs are open if anyone can help!!

viral terrace
#

@viral patrol ????

viral patrol
#

Sorry for no response yesterday. I pinged some of guys but seems that it is hard now to get response for me too. I think that one of the best ways to get custom code is to get a quote from our fiverr guys

austere axle
#

Hey guys, sorry for coming out of nowhere and immediatelly asking a question, but can anyone here tell me how can I get redemptions on the stream store? I got a list, but it only includes redemptions I already marked as completed/refunded and not the ones I'm interested in.

azure cipher
#

Is this where i go to get help with a command that was shared?

#

Renziito I am having a little bit of trouble with setting up the source on command widget

upper bough
#

DM @azure cipher ๐Ÿ˜‰

reef granite
#

I'm working on a python bot that needs to connect to streamelements websockets.. does your websockets server support wss:// or is https:// the only way to connect?

elfin arch
viral patrol
elfin arch
elfin arch
#
fetch(`https://api.streamelements.com/kappa/v2/store/${setup.SE_ACCOUNTID}/redemptions?pending=true`, {
    method: 'GET',
    headers: { 'Content-Type': 'application/json',
               'Authorization': `Bearer ${setup.SE_JWTTOKEN}`},
  })
  .then(response => response.json())
  .then(json => {
    console.log(json);
  })
  .catch(error => console.error(error))

that will give the redemptions not claimed

austere axle
#

Oh sorry, I forgot to come back here. Yes, I'm using exactly that and I found my problem, which was not using the pending parameter. I'm not sure if I was super tired at the moment or what, but I didn't see it had parameters in the documentation at all until a few hours of searching for the solution.

#

Thanks anyway, I was just dumb

elfin arch
#

not a problem. is that close to what you were looking for or something else? it helps more when code is posted here for people in the future that search

hexed ridge
#

hello!
i want to uses zanzers discord messaging widget. and it works so far. but i want to add "streamtitle and uptime" in front of the message (kinda want to use it like a streammarker)
how do i get this infos?

for the streamtitle i tried this but i assume the channelname is supposed to be give some other way:

function discordMessage(webHookURL, message) {

  var data = null;
  var channelData = null;
  var xhr = new XMLHttpRequest();
  xhr.addEventListener("readystatechange", function () {
    if (this.readyState === this.DONE) {
      channelData = this.responseText;

      var xhr2 = new XMLHttpRequest();
      xhr2.open("POST", webHookURL, true);
      xhr2.setRequestHeader('Content-Type', 'application/json');
      xhr2.send(JSON.stringify({
        'content': '**' + channelData.profile.title + '**' + message,
        'username':botName,
      }));
    }
  });
  xhr.open("GET", "https://api.streamelements.com/kappa/v2/channels/cloudcorleone");
  xhr.setRequestHeader("accept", "application/json");
  xhr.send(data);
}

getting "title of undefined"

austere axle
#

Yep, I was looking for the way to get a list of pending redemptions @pjonp

elfin arch
#

i'm not familiar with that widget @hexed ridge ... are either the streamtitle or uptime available in the channelData object?

#

.... guess what is the "this" in the event listener

hexed ridge
#

i added this one. its an call to the streamelements api.
the default function looks like this:

function discordMessage(webHookURL, message) {

      var xhr = new XMLHttpRequest();
      xhr.open("POST", webHookURL, true);
      xhr.setRequestHeader('Content-Type', 'application/json');
      xhr.send(JSON.stringify({
        'content': message,
        'username':botName,
      }));
}

but i just realised the streamtitle isnt in the channels request like i assumed ๐Ÿ˜…

#

actually all i want is to know how to get the current streamtitle and the current uptime. could figure out how to put it together then. just not finding the endpoints i need

elfin arch
#

i know... errr knew the Twitch end points for this put trying to find the SE endpoints

hexed ridge
elfin arch
#

.... ugh... Twitch API can grab both https://dev.twitch.tv/docs/v5/reference/streams#get-stream-by-user but .... it's gotta be there somewhere in the SE API

hexed ridge
#

hmm thought it would be something pretty easy FeelsBadMan

viral patrol
elfin arch
#

..but where is the stream title in the API? .... i can't find it.

viral patrol
#

This widget calls to external API to grab stream title

elfin arch
#

for future reference... is there a GET/PUT in the API to see/update the stream title?

viral patrol
#

It is, but it is Twitch API

elfin arch
#

ok. thanks. i was looking in all the SE API and thought i was missing something.

#

.... not sure pulling "up time" from the bot is best either, but that was the best i found in SE

hexed ridge
#

thx @viral patrol got it working with that :D
maybe not the best looking but it does what i wanted:

function sendMessage(webHookURL, message, title, timestamp){
      var xhr = new XMLHttpRequest();
      xhr.open("POST", webHookURL, true);
      xhr.setRequestHeader('Content-Type', 'application/json');
      xhr.send(JSON.stringify({
        'content': '**' + title + '**\n' + '['+timestamp+']\n' + message,
        'username':botName,
      }));
}

function grabTitle(webHookURL, message){
  var data = null;
  var xhr = new XMLHttpRequest();
  xhr.addEventListener("readystatechange", function () {
    if (this.readyState === this.DONE) {
        var title = this.responseText
        var data2 = null;
        var xhr2 = new XMLHttpRequest();
        xhr2.addEventListener("readystatechange", function () {
          if (this.readyState === this.DONE) {
            var timestamp = this.responseText
            sendMessage(webHookURL, message, title, timestamp);
          }
        });
        xhr2.open("GET", "https://decapi.me/twitch/uptime/cloudcorleone");
        xhr2.setRequestHeader("accept", "application/json");
        xhr2.send(data2);
    }
  });
  xhr.open("GET", "https://decapi.me/twitch/title/cloudcorleone");
  xhr.setRequestHeader("accept", "application/json");
  xhr.send(data);

}

function discordMessage(webHookURL, message) {
        var title = grabTitle(webHookURL, message);
}
#

sends:

โ˜๏ธ Vorm Schlafen noch etwas trรคumen in Dreamscaper โ˜๏ธ
[cloudcorleone is offline]
blablabla

to the chat

dawn light
#

Hi there, is there any more info on wich variables we are able to use in "Custom CSS Editor" f.e. how to get the Donation Message inside my custom css?

viral patrol
#

Also remember that message may contain images that are not going to be replaced with the stringToAnimatedHTML

inner wind
#

This is probably the wrong channel for this, but made the mistake of trying to use StreamElements to test a PHP script I was building for the Custom API variable. Well I got the script built but now my StreamElements command is referencing old code like its cache needs to be refreshed. Is there anything I can do other than wait?

viral patrol
#

Try to add ?username=${1} in customapi call, and then call it with param like !test 2wt43234

#

But I think that caching issue might be on your host, like CDN didn't propagate it yet

#

As usually phpscripts are not cached as code.

inner wind
#

but all i get from my command is the error cache from when i uploaded typo'd code n try to test it ^_^

Parsing error at position 11: Mismatched input list, missing end of inputs
#

oh i'll try recreating the command

#

ok so its not the command its how SE parses the data

#

with

${urlfetch https://api.sarimoko.com/chatbots/ttv.php?CAT1=${queryescape ${1:}}

I get

Parsing error at position 11: Mismatched input list, missing end of inputs
#

with

${customapi.https://api.sarimoko.com/chatbots/ttv.php?CAT1=${queryescape ${1:}}

I get

Parsing error at position 12: Mismatched input list, missing end of inputs
#

its a lil php scripts that takes the chat variable searches a lil xml datapase n spits out titles and URLs

pseudo siren
#
${customapi.https://api.sarimoko.com/chatbots/ttv.php?CAT1='${queryescape ''${1:}''}'} 
#

@inner wind ^

inner wind
#

much love works perfectly! @pseudo siren n thanx @viral patrol for looking into it

#

i'll work on building it but if you need URL's for Twitch TOS, i stream artwork so it come up from time to time feel free to use the script

pseudo siren
inner wind
#

mmm almost works does use the 1 text just outputs the php's for null

night cradle
#

Hello, Iโ€™m trying to have my text in 2 differents colors. How could I do that? Like I want the name to be a specific color and I want the dono (amount) to be a specific color as well. Any idea?

lethal osprey
#

๐Ÿ™‹ Hi! ๐Ÿ™‚ I have a question:
โ“ I'm started to use the "Media request" function in my lives but I would have a sound notification when someone propose a song with the appropriate command. This bell function was available before, as I can see in old videos about Media Request, but I cannot found it now.
Do you know how can I activate this? ๐Ÿ™‚ โ“

viral patrol
#

@night cradle The easiest way is to change text to {name} <font color="FF0000">{currency}{amount}</font>

night cradle
#

@viral patrol and where do I go to do that?

viral patrol
#

You can set it as message of top tipper/ top cheerer and other widgets

clear lily
#

hello. a friend of mine has klarna and other providers active for twitch donations, while i only have paypal. can anyone help me with this?

viral patrol
#

Hi. Other payment methods are possible when you have SE.Pay enabled. It has prerequisite of 100 followers on your channel.

novel agate
#

Hey, idk if I'm posting this in the right chat or not. I'm a mod in a Twitch chat and the streamer added me as an editor. I'm trying to use the $readapi to reference a leaderboard to get it working. Any suggestions?

pseudo siren
#

@novel agate what leaderboard you mean?

#

Here is only ${customapi.} variable

novel agate
#

Sorry, new to this. So I want it to display like the streamelements points leaderboard from the roulette command.

pseudo siren
#

For its an variable

#

Give me moment

novel agate
#

Thank you โค๏ธ

pseudo siren
#

${user.points_rank}

#

@novel agate ^

novel agate
#

Sweet, lemme try that!

#

So that references the individual user's rank in points. Is there any way to have it show like the top 5 users?

pseudo siren
#

Yes

#

!top points command

novel agate
#

You rock, thank you!

pseudo siren
hidden pumice
#

Hi there I want to create a widget for a death counter how does one do that on stream elements

viral patrol
silk zinc
#

I have a text in a rotating metric that I would like to have as a gradient. How would I go about that inside of a custom widget?

hidden pumice
#

@viral patrol Thank you for the update, what do I follow it up with ?

cobalt beacon
#

Hello, I would like to make a !makeitrain command that automatically gives my viewers 500 loyalty points. Is this possible?

flint mirage
#

to any and all SE devs, I would like to request (if possible) that OBS.Live have more flexibility for moving and resizing panels. I keep OBS.Live on a vertical monitor and it won't let me move the preview screen up or down to place Media Request in the space. This leads to a weird layout, but more importantly, a large waste of space

#

(this is a fullscreen screenshot btw)

hardy walrus
#

@flint mirage There should be an option for vertical mode in OBS. Gimme a sec to look.

#

Actually disregard. It appears to be a setting for studio mode and not in general.

flint mirage
#

could it be in multiview? it has settings for horizontal and vertical

hardy walrus
#

That's for sources. Not docks.

flint mirage
#

ahh

hardy walrus
#

Even then it definitely looks like your MR dock is bugged.

flint mirage
#

would adding vertical mode to obs.live be as simple as a dev basically copy and pasting the code from studio mode into obs.live (over simplified, but this kind of idea)

#

i took MR off the pre-assigned grid locations just to show where i want it, unless you see something else off about it?

hardy walrus
#

You should be able to drag the MR dock between the bottom of the preview and the default docks below it and fit it in there.

flint mirage
#

i can't move any docks in that space and to my knowledge i haven't set something to prevent preview from moving around

#

let me make a lil recording

hardy walrus
#

Preview will always move around when other docks around tap it.

flint mirage
#

gif showing my dock alignment options

hardy walrus
#

You never dragged it to where I mentioned.

#

But yeah. it takes a bit of wiggling to get it how you like.

#

You can also drag docks on top of each other to create tabs.

flint mirage
#

in the gif it should have shown that it could go above or below preview by moving and showing a "blue box" like the rest of the spots though?

#

i know about tabs, but don't really like them for my use case ๐Ÿ™‚

#

i tried having the dock i'm moving touch preview from the top or bottom and it wouldn't budge

hardy walrus
flint mirage
#

yeah even if i pull all the docks off from the side so preview has nothing on either side i can't place anything under or above it

#

that is a good layout though

hardy walrus
#

I think you'd have to get them all above the preview and then move them underneath.

flint mirage
#

this is the closest i've gotten but still no cigar

hardy walrus
#

I assume that's a 1080p monitor?

flint mirage
#

yes

hardy walrus
#

And it's set to 1080 x 1920 as the base?

#

I'd also say it might be because you have the taskbar on the monitor.

flint mirage
#

okay, so after fiddling around i came up with this

#

kind of cramped at the bottom, but i'll organize it some more tomorrow

#

is that the "twitchy" theme?

#

I saw EposVox show it in a video, but can't remember if that's exactly it

#

if not, I'd love to know the name, it looks clean ๐Ÿ™‚

hardy walrus
flint mirage
#

thanks for the link friend PogChamp

graceful cloak
#

Anyone here know if i can use a font file for my custom widget?

viral patrol
#

You can use any font for your widgets, but it either has to be published somewhere or installed on streaming computer.

#

like font-family:"MS Comic Sans";

feral eagle
#

Hi all just wondering if there anyone who can create this (unsure if easy or hard). I have a streamdeck and currently have a win/loss command which when i press a button edits a text file that just +1 to the number. What im trying to find/create is something that tracks a win streak.... eg 3 wins = 3 win streak but the second i input a loss it resets to 0. Is there anything like that i could create on streamelements as a widget. Thankyou

glass sandal
#

Hi, until recently, I used to be able to set bot commands that would call other commands - e.g. as a sub reward, each user could be given a !username command that, when called, would !sr <song chosen by that user when they subbed> and this song would enter the song queue. Now, the bot echoes the command but it doesnt execute it. same with trying to set up !deaths0 to call !editcounter Deaths 0 , the counter doesn't get reset ๐Ÿ˜ฆ did something change recently to no longer allow this?

pseudo siren
#

@glass sandal for the reset command !dealths0 you can use ${count dealths 0} in bot response .

#

And i don't understand first command

glass sandal
#

ah, neat, that did it. For the first one - say i like to request the crab rave song a lot. I can type !sr crab rave myself. For subs, we have a reward such that if I was a sub, I could type !Alucarda which calls the !sr crab rave command for me. This used to work. But now, while the bot responds with !sr crab rave , it doesnt count as a song request.

keen lily
#

Hello, I am connecting with Stream Elements API, but my donations are not visible.

pulsar willow
#

Somebody help me about instant replay?

#

Can somebody*

#

please

high swallowBOT
pseudo siren
#

@pulsar willow you mean widget for replay clips by thefyrewire?

pulsar willow
#

yes

#

the widget

pseudo siren
#

What's your problem?

pulsar willow
#

The widget makes the clip, but it isnt show in the scree

#

screen

#

@pseudo siren can u help me? ๐Ÿ™‚

slender tusk
#

@rugged rapids hi friend. I'm trying to utilize your socials rotator however when using in OBS the animations dont seem to work. All other widgets animate as expected. I have tried enable and disable hardware browser acceleration. It animates correctly in the overlay editor, just not in obs. Have any insight to my issue?

rugged rapids
slender tusk
#

@rugged rapids the advanced settings fixed it! thanks!

terse anchor
#

Hey is there a variable that we can use that allows us to say the total amount of bits a user has given a streamer?

#

Something like: $username just cheered with $bits, and has cheered a total of $totalbits! Thank you!

#

but with streamelements

timber lark
#

@broken coyote I just tested the Ultimate Chat Widget and I like it so far. But there is one issue I can't find a solution for. Chat messages are randomly cut at the end of the line inmidst of words and continued in the next line. Is there a way to just keep word together, because it's really hard to read.

pulsar willow
#

Can somebody help me?

velvet cave
#

@pulsar willow please be sure to post your question in here and a code guru or support hero will help you out

pulsar willow
#

I need some help about instant replay widget

#

It isn't displayed in my screen

velvet cave
#

@mild cipher, hey fyre, can you help this person out? ๐Ÿ˜„

pulsar willow
#

But the widget makes the clip

velvet cave
#

I'll ask the creator of the widget ^

pulsar willow
#

He is offline

#

๐Ÿ˜ฆ

velvet cave
#

you'll have to wait till he gets on then

pulsar willow
#

Okay:)

broken coyote
#

@timber lark On line 56 in CSS. change it to this

word-break: break-word;
timber lark
#

Awesome!!! It was line 50 though! Thanks, love it!!

broken coyote
#

ah. i must have made changes to mine lol

orchid marsh
#

@rugged rapids hey, I was wondering if you could help me out with editing your Custom text widget, to work and rotate between three different texts?

timber lark
#

Is it possible to keep chat messages after switching scenes in OBS and not hearing the video sound multiple times @broken coyote ? I want to use the widget in multiple scenes and have set it to not refresh when scene becomes active and not to shut down when not visible.

broken coyote
#

not really? what i do is i made a copy of it, then on one of them, i removed the triggers. so only one of mine will play the clips

orchid marsh
#

is there a way to make a command's input show in a widget?

#

because im trying to use 3 Custom text widgets for three different texts but upon restarting obs it resets them all to the last text's update

rugged rapids
#

@orchid marsh Hey, I am sorry, as I cannot offer you to make the widget rotate through all the events.
But to use three widgets, you would need to edit the value of the saved states, in the original widget CChidden, where it stores the state in the SE_API.

orchid marsh
#

@rugged rapids so I would have to change all aspects of "CCHidden" to a different name?

rugged rapids
#

Not all, only the names where it reads and sets the SE_API varaible.

#

Cause at the moment all widgets are saving to the same store in the SE_API and of course loading the same data on restart.

orchid marsh
#

its the one in the loadcchidden function correct?

rugged rapids
#

Everywhere it says exactly CChidden , this has to be different on every widget, but inside the widget the same name.

orchid marsh
#

ah sorry for misunderstanding >.<

#

๐Ÿค” unless im doing this completely wrong it still does the same affect

#

let userOptions = {};
let channels = [];
let cc = document.getElementById("CC");
let code = document.getElementById("code");

window.addEventListener('onWidgetLoad', function (obj) {
  userOptions = obj['detail']['fieldData'];
  userOptions['channelName'] = obj['detail']['channel']['username'];
  loadDDhidden();
  loadCode();  
});

window.addEventListener('onEventReceived', function (obj) {
  if (obj.detail.listener !== 'message') return;
  let data = obj.detail.event.data;
  let message = html_encode(data["text"]);
  let messageadd = "";
  if (message.indexOf(userOptions['command3']) === 0) {
    messageadd = message.substr(userOptions['command3'].length);
  } else if (message !== userOptions['command1'] && message !== userOptions['command2']) return;
  console.log("Got it! " + message);
  let user = data['nick'].toLowerCase();```
#
  let userState = {
    'mod': parseInt(data.tags.mod),
    'sub': parseInt(data.tags.subscriber),
    'vip': (data.tags.badges.indexOf("vip") !== -1),
    'broadcaster': (user === userOptions['channelName'])
  };

  if ((userState.mod && userOptions['managePermissions'] === 'mods') || userState.broadcaster) {
    if (message == userOptions['command1']) {    
      cc.classList.add("hidden");
      SE_API.store.set('DDhidden', { DDhidden: true });    
    } else if (message == userOptions['command2']) {
      cc.classList.remove("hidden");
      SE_API.store.set('DDhidden', { DDhidden: false });
    } else if (message.indexOf(userOptions['command3']) === 0) {
      code.innerHTML = messageadd;
      SE_API.store.set('code', { code: messageadd });
      cc.classList.remove("hidden");
      SE_API.store.set('DDhidden', { DDhidden: false });
    };
  };

  function html_encode(e) {
    return e.replace(/[\<\>\"\^]/g, function (e) {
      return "&#" + e.charCodeAt(0) + ";";
    });
  };
});

function loadDDhidden() {
  SE_API.store.get('DDhidden').then(obj => {
    if (obj == null) {
      cc.classList.add("hidden");
    } else if (obj.DDhidden == false) {
      cc.classList.remove("hidden");
    } else {
      cc.classList.add("hidden");
    }
  });
}

function loadCode() {
  SE_API.store.get('code').then(obj => {
    if (obj == null) {
      code.innerHTML = "";
    } else if (obj.code == "") {
      code.innerHTML = obj.code;
    } else {
      code.innerHTML = obj.code;
    }
  });
}
#

sorry in advanced if im being just completely dumb

#

@rugged rapids ^

rugged rapids
#

These two lines has to be changed the save position of the code, too.
SE_API.store.set('code', { code: messageadd });
SE_API.store.get('code').then(obj => {

Like they can look like this (in another widget you would need to use another name):

SE_API.store.set('CHANGEHERE', { code: messageadd });
SE_API.store.get('CHANGEHERE').then(obj => {

change the words CHANGEHERE to be the same in one widget, but different in all the widgets, too, besides the DDhidden, too.

orchid marsh
#

Thank you ๐Ÿ™

#

sorry again for being stupid with this XD

rugged rapids
#

You are welcome.

fringe notch
#

okay so i got redirected here and my question would be how to make streamelements count a dedicated word AND a command?

for example how often hi and !hi were used ?

next radish
#

is it possible to rotate labels outside of the 0 90 180 270?

dapper robin
#

Hello guys, any can tell me which is the command to shot the tft elo??

brisk stream
#

Question: Is it possible to make commands with regex to make personalized greetings to users? I've tried it but it doesn't work, only if your name is mentioned in the chat.

pseudo siren
#

@dapper robin we don't have this command

brisk stream
#

thanks @pseudo siren !

pseudo siren
dapper robin
#

@pseudo siren thx

next radish
#

@pseudo siren ive made some custom css to change opacity and text align. In the Overlay Editor it works fine, in obs Opacity just doesnt work?

high swallowBOT
#

@next radish To add your overlays to OBS, add a new browser source in your scene. Paste your overlay URL in the browser source properties, set the dimensions to 1920x1080 (unless you changed them on the website), and โ˜‘ โ€œShutdown source when not visibleโ€ https://youtu.be/KDvLynUqXI4

next radish
next radish
#

then in a chrome tab, the opacity works fine, but the alert animation doesnt trigger? I literally have no idea what to do lmao. Hopefully one of you guys can shed insight on this!

viral patrol
#

Chrome doesn't show that because you didn't interact with that frame and it has no "muted" attribute

#

And about opacity change... I would go lazy and put alertbox on the border, and initial position just outside it. I am not sure what could cause that as I had opacity changing alertboxes working without any issues

next radish
#

yeah its definitely weird as it works fine in the editor. Tried cache refreshing & resetting obs, no luck. I'll give it another go tomorrow, if not I'll find other options for the text.

viral patrol
#

Also you can add --remote-debugging-port:9222 to your OBS shortcut and then you will be able to inspect chrome console by going to chrome://inspect

next radish
#

well the obs one is just browser source, chrome doesnt really matter as I wont be using window to pull the alert

viral patrol
#

Of course. But you can debug browser sources in OBS when you go to that URI

next radish
#

well it seems to work fine in chrome now.

viral patrol
#

What is that? css animation/gsap/jquery or something else?

#

This is totally strange for me as you have initial state probably opacity:0; translate(whatever) in same step of animation

next radish
#

the text is just css and whatever base code comes with the editor

viral patrol
#

As initial/end.

next radish
#

just using @keyframes setting opacity and text indent